From 52f79fa5a42ff97fd7b509a68dd83204149c5f14 Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Sat, 10 Feb 2018 21:11:11 +0530 Subject: [PATCH] VMware: Additional check for RootSnapshot (#36001) This fix adds an additional check if there is no snapshot available in VM. `rootSnapshotList` is None, if no snapshot is taken. Signed-off-by: Abhijeet Kasurde --- .../modules/cloud/vmware/vmware_guest_snapshot.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/ansible/modules/cloud/vmware/vmware_guest_snapshot.py b/lib/ansible/modules/cloud/vmware/vmware_guest_snapshot.py index eaac3c5d436..126e028faf9 100644 --- a/lib/ansible/modules/cloud/vmware/vmware_guest_snapshot.py +++ b/lib/ansible/modules/cloud/vmware/vmware_guest_snapshot.py @@ -241,11 +241,13 @@ class PyVmomiHelper(PyVmomi): memory_dump = False quiesce = False # Check if there is a latest snapshot already present as specified by user - snap_obj = self.get_snapshots_by_name_recursively(vm.snapshot.rootSnapshotList, - self.module.params["snapshot_name"]) - if snap_obj: - # Snapshot already exists, do not anything. - self.module.exit_json(changed=False, msg="Snapshot named [%(snapshot_name)s] already exists." % self.module.params) + if vm.snapshot is not None: + snap_obj = self.get_snapshots_by_name_recursively(vm.snapshot.rootSnapshotList, + self.module.params["snapshot_name"]) + if snap_obj: + # Snapshot already exists, do not anything. + self.module.exit_json(changed=False, + msg="Snapshot named [%(snapshot_name)s] already exists and is current." % self.module.params) # Check if Virtual Machine provides capabilities for Quiesce and Memory Snapshots if vm.capability.quiescedSnapshotsSupported: quiesce = self.module.params['quiesce']