vmware_guest: module rewrite to add many features & fixes (#19228)
* vmware_guest: various fixes, improvements & additions * Add template_flag attribute to define if the destination machine is a template * Add helper class to create: * SCSI controller * Disks * Network devices * New feature: create VM without using templates * New feature: multiple NIC * New feature: multiple disks * New feature: custom SCSI controller types (default: paravirtual) * New feature: NIC can now be E1000 or VMXNet3 (default) * New feature: customize NIC mac address * New feature: new disk option autoselect_datastore permit to select the less used datastore. If datastore field is provided, filter the datastore list before selection * New feature: Implement disk resizing + addition when state=present and VM exists * New feature: when state=present and vm exists, modify the current CPU, Memory and disk space * New feature: add guest_id support permitting to customize & change current VM guest ID in VMWare * New feature: resource pool support * New feature: change VM configuration without recreating it (CPU, memory, disks, network, guest ID, resource pool) * Add 'gatherfacts' state to gather facts on a VM instead of previous 'present' state ('present' ensure the VM configuration) * Add PyVmomiCache class to cache read only object * Various python code fixes * Various documentation fixes * esxi_hostname & cluster are now exclusive * Drop ips attribute & set ip directly into networks * Little performance fixes by removing some duplicate calls to VMWare API * Python 3 portability fixes * Create many functions to make the code maintainable * Cleanup some useless attributes * Add 'suspended' as desired state for VM * Make guest_id, memory & CPU number optional in reconfiguration mode * Note: guest_id is now mandatory to create a VM from scratch (not templating) * Bux fixes + Do network IP optinal + Add network vlan option
This commit is contained in:
parent
b0b7a636d8
commit
2c17f9becd
1 changed files with 815 additions and 441 deletions
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue