Apply fix to allow the root resource pool of a cluster to be chosen (#31641)

Whitespace cleanup
This commit is contained in:
Tim Rightnour 2017-11-10 05:51:36 -07:00 committed by Dag Wieers
parent 639bac11d4
commit 4756b392ea
3 changed files with 271 additions and 4 deletions

View file

@ -1198,17 +1198,24 @@ class PyVmomiHelper(PyVmomi):
return root
def get_resource_pool(self):
resource_pool = None
if self.params['esxi_hostname']:
# highest priority, resource_pool given.
if self.params['resource_pool']:
resource_pool = self.select_resource_pool_by_name(self.params['resource_pool'])
# next priority, esxi hostname given.
elif self.params['esxi_hostname']:
host = self.select_host()
resource_pool = self.select_resource_pool_by_host(host)
# next priority, cluster given, take the root of the pool
elif self.params['cluster']:
cluster = self.cache.get_cluster(self.params['cluster'])
resource_pool = cluster.resourcePool
# fallback, pick any RP
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)
self.module.fail_json(msg='Unable to find resource pool, need esxi_hostname, resource_pool, or cluster')
return resource_pool

View file

@ -0,0 +1,259 @@
- name: Wait for Flask controller to come up online
wait_for:
host: "{{ vcsim }}"
port: 5000
state: started
- name: kill vcsim
uri:
url: http://{{ vcsim }}:5000/killall
- name: start vcsim with no folders
uri:
url: http://{{ vcsim }}:5000/spawn?datacenter=1&cluster=2&pool=2&folder=0
register: vcsim_instance
- name: Wait for Flask controller to come up online
wait_for:
host: "{{ vcsim }}"
port: 443
state: started
- name: get a list of VMS from vcsim
uri:
url: http://{{ vcsim }}:5000/govc_find?filter=VM
register: vmlist
- name: get a list of clusters from vcsim
uri:
url: http://{{ vcsim }}:5000/govc_find?filter=CCR
register: clusts
- name: get a list of resource pools from vcsim
uri:
url: http://{{ vcsim }}:5000/govc_find?filter=RP
register: res_pools
- name: get a list of hosts from vcsim
uri:
url: http://{{ vcsim }}:5000/govc_find?filter=H
register: hosts
- debug: var=vcsim_instance
- debug: var=vmlist
- debug: var=res_pools
- debug: var=clusts
- debug: var=hosts
# Create one with the defaults
- name: create new VM with default resource pool
vmware_guest:
validate_certs: False
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance['json']['username'] }}"
password: "{{ vcsim_instance['json']['password'] }}"
name: "{{ 'newvm_' + item|basename }}"
#template: "{{ item|basename }}"
guest_id: centos64Guest
datacenter: "{{ (item|basename).split('_')[0] }}"
hardware:
num_cpus: 1
memory_mb: 512
disk:
- size: 0gb
type: thin
autoselect_datastore: True
state: poweredoff
folder: "{{ item|dirname }}"
with_items: "{{ vmlist['json'][0] }}"
register: clone_rp_d1_c1_f0
- debug: var=clone_rp_d1_c1_f0
- name: assert that changes were made
assert:
that:
- "clone_rp_d1_c1_f0.results|map(attribute='changed')|unique|list == [true]"
- name: delete the new VMs
vmware_guest:
validate_certs: False
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance['json']['username'] }}"
password: "{{ vcsim_instance['json']['password'] }}"
name: "{{ 'newvm_' + item|basename }}"
#template: "{{ item|basename }}"
#guest_id: centos64Guest
datacenter: "{{ (item|basename).split('_')[0] }}"
state: absent
folder: "{{ item|dirname }}"
with_items: "{{ vmlist['json'][0] }}"
register: clone_rp_d1_c1_f0_delete
- debug: var=clone_rp_d1_c1_f0_delete
- name: assert that changes were made with deletion
assert:
that:
- "clone_rp_d1_c1_f0_delete.results|map(attribute='changed')|unique|list == [true]"
# now create with just a cluster
- name: create new VM with default resource pool in cluster
vmware_guest:
validate_certs: False
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance['json']['username'] }}"
password: "{{ vcsim_instance['json']['password'] }}"
name: "{{ 'newvm_' + item|basename }}"
#template: "{{ item|basename }}"
guest_id: centos64Guest
datacenter: "{{ (item|basename).split('_')[0] }}"
cluster: "{{ clusts['json'][0]|basename }}"
hardware:
num_cpus: 1
memory_mb: 512
disk:
- size: 0gb
type: thin
autoselect_datastore: True
state: poweredoff
folder: "{{ item|dirname }}"
with_items: "{{ vmlist['json'][0] }}"
register: clone_rpc_d1_c1_f0
- debug: var=clone_rpc_d1_c1_f0
- name: assert that changes were made
assert:
that:
- "clone_rpc_d1_c1_f0.results|map(attribute='changed')|unique|list == [true]"
- name: delete the new VMs
vmware_guest:
validate_certs: False
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance['json']['username'] }}"
password: "{{ vcsim_instance['json']['password'] }}"
name: "{{ 'newvm_' + item|basename }}"
#template: "{{ item|basename }}"
#guest_id: centos64Guest
datacenter: "{{ (item|basename).split('_')[0] }}"
cluster: "{{ clusts['json'][0]|basename }}"
state: absent
folder: "{{ item|dirname }}"
with_items: "{{ vmlist['json'][0] }}"
register: clone_rpc_d1_c1_f0_delete
- debug: var=clone_rpc_d1_c1_f0_delete
- name: assert that changes were made with deletion
assert:
that:
- "clone_rpc_d1_c1_f0_delete.results|map(attribute='changed')|unique|list == [true]"
# now create with a specific resource pool
- name: create new VM with specific resource pool in cluster
vmware_guest:
validate_certs: False
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance['json']['username'] }}"
password: "{{ vcsim_instance['json']['password'] }}"
name: "{{ 'newvm_' + item|basename }}"
#template: "{{ item|basename }}"
guest_id: centos64Guest
datacenter: "{{ (item|basename).split('_')[0] }}"
cluster: "{{ clusts['json'][0]|basename }}"
resource_pool: "{{ res_pools['json'][2]|basename }}"
hardware:
num_cpus: 1
memory_mb: 512
disk:
- size: 0gb
type: thin
autoselect_datastore: True
state: poweredoff
folder: "{{ item|dirname }}"
with_items: "{{ vmlist['json'][0] }}"
register: clone_rpcp_d1_c1_f0
- debug: var=clone_rpcp_d1_c1_f0
- name: assert that changes were made
assert:
that:
- "clone_rpcp_d1_c1_f0.results|map(attribute='changed')|unique|list == [true]"
- name: delete the new VMs
vmware_guest:
validate_certs: False
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance['json']['username'] }}"
password: "{{ vcsim_instance['json']['password'] }}"
name: "{{ 'newvm_' + item|basename }}"
#template: "{{ item|basename }}"
#guest_id: centos64Guest
datacenter: "{{ (item|basename).split('_')[0] }}"
cluster: "{{ clusts['json'][0]|basename }}"
state: absent
folder: "{{ item|dirname }}"
with_items: "{{ vmlist['json'][0] }}"
register: clone_rpcp_d1_c1_f0_delete
- debug: var=clone_rpcp_d1_c1_f0_delete
- name: assert that changes were made with deletion
assert:
that:
- "clone_rpcp_d1_c1_f0_delete.results|map(attribute='changed')|unique|list == [true]"
# now create with a specific host
- name: create new VM with specific host
vmware_guest:
validate_certs: False
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance['json']['username'] }}"
password: "{{ vcsim_instance['json']['password'] }}"
name: "{{ 'newvm_' + item|basename }}"
#template: "{{ item|basename }}"
guest_id: centos64Guest
datacenter: "{{ (item|basename).split('_')[0] }}"
esxi_hostname: "{{ hosts['json'][0]|basename }}"
hardware:
num_cpus: 1
memory_mb: 512
disk:
- size: 0gb
type: thin
autoselect_datastore: True
state: poweredoff
folder: "{{ item|dirname }}"
with_items: "{{ vmlist['json'][0] }}"
register: clone_rph_d1_c1_f0
- debug: var=clone_rph_d1_c1_f0
- name: assert that changes were made
assert:
that:
- "clone_rph_d1_c1_f0.results|map(attribute='changed')|unique|list == [true]"
- name: delete the new VMs
vmware_guest:
validate_certs: False
hostname: "{{ vcsim }}"
username: "{{ vcsim_instance['json']['username'] }}"
password: "{{ vcsim_instance['json']['password'] }}"
name: "{{ 'newvm_' + item|basename }}"
#template: "{{ item|basename }}"
#guest_id: centos64Guest
datacenter: "{{ (item|basename).split('_')[0] }}"
state: absent
folder: "{{ item|dirname }}"
with_items: "{{ vmlist['json'][0] }}"
register: clone_rph_d1_c1_f0_delete
- debug: var=clone_rph_d1_c1_f0_delete
- name: assert that changes were made with deletion
assert:
that:
- "clone_rph_d1_c1_f0_delete.results|map(attribute='changed')|unique|list == [true]"

View file

@ -18,3 +18,4 @@
- include: clone_d1_c1_f0.yml
- include: create_d1_c1_f0.yml
- include: cdrom_d1_c1_f0.yml
- include: create_rp_d1_c1_f0.yml