Skip to content

Commit

Permalink
Move resource pool login to a separate function and fix undefined var…
Browse files Browse the repository at this point in the history
… reference
  • Loading branch information
jctanner committed Sep 26, 2017
1 parent 0bb3c43 commit 932f62a
Showing 1 changed file with 17 additions and 8 deletions.
25 changes: 17 additions & 8 deletions lib/ansible/modules/cloud/vmware/vmware_guest.py
Original file line number Diff line number Diff line change
Expand Up @@ -1166,6 +1166,21 @@ def find_folder(self, searchpath):

return root

def get_resource_pool(self):

resource_pool = None

if self.params['esxi_hostname']:
host = self.select_host()
resource_pool = self.select_resource_pool_by_host(host)
else:
resource_pool = self.select_resource_pool_by_name(self.params['resource_pool'])

if resource_pool is None:
self.module.fail_json(msg='Unable to find resource pool "%(resource_pool)s"' % self.params)

return resource_pool

def deploy_vm(self):
# https://github.com/vmware/pyvmomi-community-samples/blob/master/samples/clone_vm.py
# https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.CloneSpec.html
Expand Down Expand Up @@ -1215,14 +1230,7 @@ def deploy_vm(self):

# need a resource pool if cloning from template
if self.params['resource_pool'] or self.params['template']:
if self.params['esxi_hostname']:
host = self.select_host()
resource_pool = self.select_resource_pool_by_host(host)
else:
resource_pool = self.select_resource_pool_by_name(self.params['resource_pool'])

if resource_pool is None:
self.module.fail_json(msg='Unable to find resource pool "%(resource_pool)s"' % self.params)
resource_pool = self.get_resource_pool()

# set the destination datastore for VM & disks
(datastore, datastore_name) = self.select_datastore(vm_obj)
Expand Down Expand Up @@ -1289,6 +1297,7 @@ def deploy_vm(self):
vmPathName="[" + datastore_name + "] " + self.params["name"])

clone_method = 'CreateVM_Task'
resource_pool = self.get_resource_pool()
task = destfolder.CreateVM_Task(config=self.configspec, pool=resource_pool)
self.change_detected = True
self.wait_for_task(task)
Expand Down

0 comments on commit 932f62a

Please sign in to comment.