Commit Graph

212 Commits

Author SHA1 Message Date
Dag Wieers
ecaa0202b9 vmware_guest: assorted fixes and improvements (#19842)
A small collection of fixes and improvements:
- Simplify should_deploy_from_template()
- Bugfix for x.config that can be None
- Bugfix for mandatory guest_id (not when using templates)
- Simplify key testing and defaults
- Fix an incorrect reference to the last network
- Duplicate alias 'folder' removed
2017-01-04 17:25:09 -05:00
Dag Wieers
fbec2ecaa8 vmware_guest: Do not match simply by folder (#19823)
This fixes #19077
2017-01-04 09:26:29 +00:00
Dag Wieers
0d9392a3bc vmware_guest: import iteritems (#19821)
Without this change you get this on Python 2.7.5:

    NameError: global name 'iteritems' is not defined
2017-01-04 09:12:29 +00:00
Ner'zhul
2c17f9becd 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
2017-01-03 09:48:07 -05:00
Carlos E. Garcia
0b8011436d minor spelling changes 2016-12-13 13:51:13 -05:00
Andrea Tartaglia
ef391a11ec Removed dict.iteritems() in modules. (#18859)
This is for py3 compatibility, addressed in #18506
2016-12-12 15:16:23 -08:00
Matt Clay
c709b22e5c Fix differences with devel. 2016-12-08 11:35:21 -05:00
James Cammarata
011ea55a8f Relocating extras into lib/ansible/modules/ after merge 2016-12-08 11:35:18 -05:00
James Cammarata
8afa090417 Resolving differences in core modules post-merge 2016-12-08 11:25:36 -05:00
Toshio Kuratomi
7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Andrea Tartaglia
48d47a57d5 ported iterkeys to py3 syntax (#5657)
* ported iterkeys to py3 syntax

Addresses ansible/ansible#18507

* Use ansible.module_utils.six.moves iterkeys instead of dict.keys()

* Removed 'iterkeys'
2016-12-08 11:25:33 -05:00
Jason Cormie
9baca6ef3d Addition of InstanceUUID to facts (#4424)
The Instance UUID(refered to as PersistenceUUID in the API) is a the ID
vcenter uses to idenify VMs.
My use case for this is that I configure Zabbix using ansible and its
vmware module relies on using these to identify VMs.
2016-12-08 11:25:27 -05:00
Davis Phillips
37008e1da1 vsphere_guest: Set extra config and powerstate after template deploy (#4266)
* Fixes #1381
* Fixes #2971
* Fixes #3056
2016-12-08 11:25:20 -05:00
John R Barker
25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
Michael Scherer
d519fca04b Port vsphere_guest to py3/py2.4 syntax (#3721) 2016-12-08 11:24:30 -05:00
Cheuk Lam
a2ff7fc7ea Added support for accepting extra config options in vm reconfiguration. (#3327) 2016-12-08 11:24:29 -05:00
Michael Fenn
add1a342fe Support altering the virtual cdrom when state == reconfigured (#2394)
This allows a user to modify the state of the virtual cdrom in a VM
by using the state == reconfigured action.  This is useful for
provisioning VMs from templates which do not have ISO images connected.
2016-12-08 11:24:18 -05:00
Brian Coca
7a804fd17c tolerate environment not being set
default will be the same as before, None/null
2016-12-08 11:24:07 -05:00
Matt Martz
aaf762573e Various simple linting type cleanups on modules 2016-12-08 11:24:06 -05:00
Jason Kohles
bc834ff564 Enable env vars for vsphere_guest
This commit allows the connection information for
the vsphere_guest module to be provided as environment
variables, which makes it possible to use Cloud
Credentials from Ansible Tower in playbooks that utilize
vsphere_guest.

| ENV VAR         | vsphere_guest param    |
| --------------- | ---------------------- |
| VMWARE_HOST     | vcenter_hostname       |
| VMWARE_USER     | username               |
| VMWARE_PASSWORD | password               |
2016-12-08 11:24:05 -05:00
Toshio Kuratomi
a21ce559e5 Make validate_certs for vsphere_guest work with older python2 2016-12-08 11:24:03 -05:00
Sebastien Couture
5674e77d7e moved code that gets the vm's current hard drive profile and checks if vm_disk definition count is higher than actual vm drive count out of for loop for efficiency 2016-12-08 11:24:02 -05:00
Sebastien Couture
e5decc3e51 Added support for resizing disks when state is 'reconfigured' 2016-12-08 11:24:02 -05:00
Stewart Rutledge
79b8a42354 Changed insecure to validate_certs, with a default to true from false (reversing behavior) 2016-12-08 11:24:02 -05:00
Stewart Rutledge
2f79e2c01c Added support for insecure parameter 2016-12-08 11:24:01 -05:00
Charles Paul
980691338a adding no_log to password 2016-12-08 11:23:55 -05:00
luto
610de975e6 vsphere_guest: when creating a guest, gather facts about it *before* disconnect 2016-12-08 11:23:55 -05:00
luto
d20c4368d2 vsphere_guest: add power status to facts 2016-12-08 11:23:55 -05:00
luto
d48dffc298 vsphere_guest: support putting a guest into a nested folder 2016-12-08 11:23:53 -05:00
Tobias Smolka
cf5403afa3 Making cluster parameter optional 2016-12-08 11:23:53 -05:00
Stewart Rutledge
b71740125d Added support for reconfiguring network (moving to another switch, for example) 2016-12-08 11:23:47 -05:00
Michael Fenn
89eec3e4cf Support cloning VMs into a specific VM folder
The pysphere VIVirtualMachine.clone() method supports specifying a VM
folder to place the VM in after the clone has completed.  This exposes
that functionality to playbooks.

Also documents that creating VMs could always place VMs in a specific
folder.
2016-12-08 11:23:46 -05:00
Mike
922cf9d96b update_disks(): added origins of the code. 2016-12-08 11:23:46 -05:00
Mike Christofilopoulos
0e1ff271c9 add new disks automatically when the 'vm_disk' section changes 2016-12-08 11:23:46 -05:00
Charles Paul
6011381bf0 vm_floppy 2.0 support 2016-12-08 11:23:34 -05:00
Chrrrles Paul
1ae0427d4e Revert "Add 2.0 docs - Revert "add virtual floppy to VMware guest"" 2016-12-08 11:23:34 -05:00
Chrrrles Paul
e8aaed3bbb Revert "add virtual floppy to VMware guest" 2016-12-08 11:23:34 -05:00
brannon
8691d56f3c Support creating new VMs by cloning an existing VM. Support setting power state of cloned VMs. 2016-12-08 11:23:31 -05:00
Guto Andreollo
81a1579e20 Added the 'hw_interfaces' array, listing the names of all interfaces present on the VM as 'ansible_interfaces' lists the ones seen by the operating system 2016-12-08 11:23:31 -05:00
Nikolay Ivanko
33f1da6452 add virtual floppy to VMware guest 2016-12-08 11:23:31 -05:00
Mike Putnam
9623cd570c Add missing GPLv3 License header
Fixes #1643
2016-12-08 11:23:25 -05:00
otdw
8740b44205 removed required together for resource pools, clusters, and template deployments. fixes inability to deploy from template on vsphere clusters without resource pools. Also, resource pools and cluster should not be required together as they are independant in vsphere 2016-12-08 11:23:21 -05:00
Brian Coca
9e54efd3fd fixed version added, reworded description a bit 2016-12-08 11:23:21 -05:00
Toshio Kuratomi
a655241488 Minor touch ups of vsphere_guest code. 2016-12-08 11:23:20 -05:00
Nicholas O'Connor
b95cb3f4e9 Created option snapshot_to_clone. When specified, snapshot_to_clone will create a linked clone copy of the VM. 2016-12-08 11:23:20 -05:00
Tom Paine
e97124d609 Update vsphere_guest.py 2016-12-08 11:23:20 -05:00
Nic O'Connor
c68d1ffa60 Added the ability to Linked_clone from snapshot 2016-12-08 11:23:19 -05:00
Vyronas Tsingaras
654d2d3f60 This enable one to find a datastore with no config_target supplied
Signed-off-by: Vyronas Tsingaras <vtsingaras@it.auth.gr>
2016-12-08 11:23:10 -05:00
Vyronas Tsingaras
56957ca45e Remember power state when starting vm reconfigure
This commit fixes #1391

Signed-off-by: Vyronas Tsingaras <vtsingaras@it.auth.gr>
2016-12-08 11:23:10 -05:00
Vyronas Tsingaras
bdb33b5756 Properly check if vm_hardware contains keys
This commit fixes #1475

Signed-off-by: Vyronas Tsingaras <vtsingaras@it.auth.gr>
2016-12-08 11:23:09 -05:00