From 04e0f9d4ea849bdd55de99a70da99a4f12595fe1 Mon Sep 17 00:00:00 2001 From: Bojan Vitnik Date: Wed, 21 Aug 2019 07:20:14 +0200 Subject: [PATCH] XenServer: When VM is in powered on state, plug newly added disks Fixes: #60693 --- changelogs/fragments/60737-xenserver_guest-vbd-plug-fix.yml | 2 ++ lib/ansible/modules/cloud/xenserver/xenserver_guest.py | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/60737-xenserver_guest-vbd-plug-fix.yml diff --git a/changelogs/fragments/60737-xenserver_guest-vbd-plug-fix.yml b/changelogs/fragments/60737-xenserver_guest-vbd-plug-fix.yml new file mode 100644 index 00000000000..cc50b166782 --- /dev/null +++ b/changelogs/fragments/60737-xenserver_guest-vbd-plug-fix.yml @@ -0,0 +1,2 @@ +bugfixes: +- xenserver_guest - when adding disks to a VM in powered on state, disks are now properly plugged/activated (https://github.com/ansible/ansible/issues/60693). diff --git a/lib/ansible/modules/cloud/xenserver/xenserver_guest.py b/lib/ansible/modules/cloud/xenserver/xenserver_guest.py index 4f3be77d73d..a92cfda5961 100644 --- a/lib/ansible/modules/cloud/xenserver/xenserver_guest.py +++ b/lib/ansible/modules/cloud/xenserver/xenserver_guest.py @@ -708,7 +708,11 @@ class XenServerVM(XenServerObject): } new_disk_vbd['VDI'] = self.xapi_session.xenapi.VDI.create(new_disk_vdi) - self.xapi_session.xenapi.VBD.create(new_disk_vbd) + vbd_ref_new = self.xapi_session.xenapi.VBD.create(new_disk_vbd) + + if self.vm_params['power_state'].lower() == "running": + self.xapi_session.xenapi.VBD.plug(vbd_ref_new) + elif change.get('cdrom'): vm_cdrom_params_list = [cdrom_params for cdrom_params in self.vm_params['VBDs'] if cdrom_params['type'] == "CD"]