VMware: Return Disk UUID information (#45157)
This fix adds feature of disk uuid for given virtual machine disk. Fixes: #45149 Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
parent
65c9090714
commit
9c1ba18607
2 changed files with 32 additions and 6 deletions
|
@ -25,7 +25,8 @@ version_added: 2.6
|
||||||
author:
|
author:
|
||||||
- Abhijeet Kasurde (@Akasurde) <akasurde@redhat.com>
|
- Abhijeet Kasurde (@Akasurde) <akasurde@redhat.com>
|
||||||
notes:
|
notes:
|
||||||
- Tested on vSphere 6.0 and 6.5
|
- Tested on vSphere 6.0 and 6.5.
|
||||||
|
- Disk UUID information is added in version 2.8.
|
||||||
requirements:
|
requirements:
|
||||||
- "python >= 2.6"
|
- "python >= 2.6"
|
||||||
- PyVmomi
|
- PyVmomi
|
||||||
|
@ -149,6 +150,7 @@ class PyVmomiHelper(PyVmomi):
|
||||||
backing_disk_mode=disk.backing.diskMode,
|
backing_disk_mode=disk.backing.diskMode,
|
||||||
backing_writethrough=disk.backing.writeThrough,
|
backing_writethrough=disk.backing.writeThrough,
|
||||||
backing_thinprovisioned=disk.backing.thinProvisioned,
|
backing_thinprovisioned=disk.backing.thinProvisioned,
|
||||||
|
backing_uuid=disk.backing.uuid,
|
||||||
backing_eagerlyscrub=bool(disk.backing.eagerlyScrub),
|
backing_eagerlyscrub=bool(disk.backing.eagerlyScrub),
|
||||||
controller_key=disk.controllerKey,
|
controller_key=disk.controllerKey,
|
||||||
unit_number=disk.unitNumber,
|
unit_number=disk.unitNumber,
|
||||||
|
@ -167,8 +169,11 @@ def main():
|
||||||
folder=dict(type='str'),
|
folder=dict(type='str'),
|
||||||
datacenter=dict(type='str', required=True),
|
datacenter=dict(type='str', required=True),
|
||||||
)
|
)
|
||||||
module = AnsibleModule(argument_spec=argument_spec,
|
module = AnsibleModule(
|
||||||
required_one_of=[['name', 'uuid']])
|
argument_spec=argument_spec,
|
||||||
|
required_one_of=[['name', 'uuid']],
|
||||||
|
supports_check_mode=True,
|
||||||
|
)
|
||||||
|
|
||||||
if module.params['folder']:
|
if module.params['folder']:
|
||||||
# FindByInventoryPath() does not require an absolute path
|
# FindByInventoryPath() does not require an absolute path
|
||||||
|
|
|
@ -37,16 +37,37 @@
|
||||||
|
|
||||||
- debug: var=vm1
|
- debug: var=vm1
|
||||||
|
|
||||||
- name: create new VMs with non-existent network
|
- name: Gather facts about virtual machine disks
|
||||||
vmware_guest_disk_facts:
|
vmware_guest_disk_facts:
|
||||||
validate_certs: False
|
validate_certs: no
|
||||||
hostname: "{{ vcsim }}"
|
hostname: "{{ vcsim }}"
|
||||||
username: "{{ vcsim_instance['json']['username'] }}"
|
username: "{{ vcsim_instance['json']['username'] }}"
|
||||||
password: "{{ vcsim_instance['json']['password'] }}"
|
password: "{{ vcsim_instance['json']['password'] }}"
|
||||||
name: "{{ vm1 }}"
|
name: "{{ vm1 }}"
|
||||||
datacenter: "{{ (vm1 | basename).split('_')[0] }}"
|
datacenter: "{{ (vm1 | basename).split('_')[0] }}"
|
||||||
register: disk_facts
|
register: disk_facts
|
||||||
- debug: var=disk_facts
|
|
||||||
|
- debug:
|
||||||
|
msg: '{{ disk_facts }}'
|
||||||
|
|
||||||
|
- name: assert that no changes were made
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "not disk_facts.changed"
|
||||||
|
|
||||||
|
- name: Gather facts about virtual machine disks in check mode
|
||||||
|
vmware_guest_disk_facts:
|
||||||
|
validate_certs: no
|
||||||
|
hostname: "{{ vcsim }}"
|
||||||
|
username: "{{ vcsim_instance['json']['username'] }}"
|
||||||
|
password: "{{ vcsim_instance['json']['password'] }}"
|
||||||
|
name: "{{ vm1 }}"
|
||||||
|
datacenter: "{{ (vm1 | basename).split('_')[0] }}"
|
||||||
|
register: disk_facts
|
||||||
|
check_mode: yes
|
||||||
|
|
||||||
|
- debug:
|
||||||
|
msg: '{{ disk_facts }}'
|
||||||
|
|
||||||
- name: assert that no changes were made
|
- name: assert that no changes were made
|
||||||
assert:
|
assert:
|
||||||
|
|
Loading…
Reference in a new issue