Commit Graph

148 Commits (899e5645ede0deab9b9dc80480a40577c923f8cf)

Author SHA1 Message Date
Abhijeet Kasurde a377302d6b
VMware: Fix DVPG idempotency issue (#35837)
This fixes, cloning operation where template or existing VM
does not have network or DVPG. Also, adds some strict type checking in
network parameters.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-16 10:32:27 +05:30
Abhijeet Kasurde 4ac92c97a3 VMware: Detect SDRS for datastore cluster (#35644)
This fix adds a fallback mechanism where Storage Datacluster
is not enabled with SDRS. If user has Storage Datacluster without SDRS
then we will not get any datastore recommendation. This will fallback to
normal datastore selection method.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-06 06:34:53 -05:00
Abhijeet Kasurde c070d74080
VMware: Documentation cleanup - vmware_guest (#35548)
Partially fixes: #35295

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-05 14:34:00 +05:30
Abhijeet Kasurde 367258507a
VMware: Provide verbose message about non-existent VM (#35682)
This fix adds a verbose message about non-existent VM when specified
with operation, due to idempotency we can not detect correct state.

Fixes: #27384

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-04 05:23:24 +05:30
balonik 25a83a4ac8 Make vmware_guest always get a resource pool (#34995) 2018-02-02 14:44:15 +05:30
Abhijeet Kasurde 8606bfde4f
VMware: vmware_guest template find (#35088)
This fix adds logic to find unique virtual machine template using name.

Fixes: #26669

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-29 21:39:50 +05:30
Abhijeet Kasurde c96bad461f VMware: Fix dvs idempotency issue (#35389)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-26 16:23:47 -05:00
Abhijeet Kasurde 013190c27b VMware: Add support for datastore cluster (#35230)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-23 10:25:38 -05:00
Abhijeet Kasurde c65842b9d8
Add check mode support in vmware_guest (#32858)
This fix adds check mode support in vmware_guest

Fixes: #32439

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-22 21:16:19 +05:30
Abhijeet Kasurde 912729b6a7
VMware: Check if VM is poweredoff before destroy (#35151)
This fix checks if VM is poweredoff before it can be destroyed.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-22 20:17:11 +05:30
Abhijeet Kasurde 04bee050ac
VMware: minor correction in documentation. (#35124)
Fixes: #27176

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-20 16:39:55 +05:30
Abhijeet Kasurde 87f2893481
VMware: Get virtual machine object using property (#33525)
This fixes get_vm method to use propertyCollector which
can efficiently find the virtual machine from given VMware
infrastructure using only name.

* VMware: Refactor vmware_guest module
* Add nested paths of datacenter
* Add tchernomax suggestions

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-19 09:50:20 +05:30
reversecipher 7fbe19c047 vmware_guest: fix dvs idempotency issue (#34208)
* vmware_guest: fix dvs idempotency issue

* Rewrite VDS section

* Fix PEP 8 error
2018-01-10 17:57:08 -05:00
Abhijeet Kasurde 9879aa0382
VMware: Add support for resource allocation info (#33990)
This fix adds support for Virtual Machine resource allocation
information. This information is related to limit and reserve CPU and Memory
of virtual machine.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-03 21:13:56 +05:30
Abhijeet Kasurde 8d5c8b252d
VMware: Add support for cpuHotRemoveEnabled (#33962)
This fix adds support for cpuHotRemoveEnabled in vmware_guest module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-20 19:15:55 +05:30
Abhijeet Kasurde b5318e2c34
VMware: Add NIC configuration option (#33851)
This fix adds following configurable parameters to virtual network card
of virtual machine.
* WakeOnLanEnabled
* StartConnected
* AllowGuestControl

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-15 17:54:52 +05:30
Abhijeet Kasurde 29d3505cb4
VMware: check for ESXi server while creating user (#33061)
This fix check for ESXi server instance before proceeding
with managing local user. Also, adds integration tests for
this change.

Fixes: #32465

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-15 16:26:19 +05:30
Abhijeet Kasurde 4391f5c094
VMware: Handle No Permission exception while clone (#33806)
This fix adds exception handling for No Permission exception
raised while clone operation.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-14 19:13:23 +05:30
tchernomax a09fd80bba VMware: fix vmPathName on VM creation (#33315)
* VMware: fix vmPathName on VM creation
* vmware_guest: enable unit tests disk_type_d1_c1_f0
2017-12-14 18:41:09 +05:30
Abhijeet Kasurde 70f5e091f1
VMware: Handle version restriction error (#33805)
This fix handles RestrictedVersion error raised by server
due to restricted license.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-13 11:47:48 +05:30
jglf 74a7cc7130 vmware_guest: option to enable nested virtualization (#28149)
Signed-off-by: Julien Le Foll <jlefoll@percallgroup.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 11:02:56 +05:30
Abhijeet Kasurde 80fb836ce5 VMware: set extra configs for virtual machine (#33454)
This fixes implementation of extra config for virtual machine.

Fixes: #32004

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 00:19:04 -05:00
Abhijeet Kasurde 8d61583c02
VMware: add trailing / in case of nested folders (#33479)
This fix adds a trailing / in case of nested folders.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-12 07:57:34 +05:30
John Barker c57a7f05e1 Bulk autopep8 (modules)
As agreed in 2017-12-07 Core meeting bulk fix pep8 issues

Generated using:
autopep8 1.3.3 (pycodestyle: 2.3.1)
autopep8 -r  --max-line-length 160 --in-place --ignore E305,E402,E722,E741 lib/ansible/modules

Manually fix issues that autopep8 has introduced
2017-12-07 20:25:55 +00:00
Abhijeet Kasurde 09b3b5305a
VMware: Add vmware guest param - maxMkConnections (#33220)
This fix adds functionality to configure vmware guest parameter called
'maxMkconnections'. Also, added integration test for this change.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-05 22:33:50 +05:30
Abhijeet Kasurde 94019e7050
VMware: add support for memory_reservation (#33080)
This fix adds functionality to support memory_reservation and
memory_reservation_lock while managing Virtual Machine.

Fixes: #20407

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-05 21:07:36 +05:30
Abhijeet Kasurde 1ca7929f96 VMware: Add support for numCoresPerSocket (#33149)
This fix adds support for hardware parameter 'numCoresPerSocket'
in vmware_guest module. Also, adds integration tests for this change.

Fixes: #20406

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-11-30 08:44:31 -05:00
Abhijeet Kasurde bb3991218e
VMware: Add debug details for error (#33337)
This fix adds debugging details for 'no folder found' error.
This will allow to debug the user's setup easily.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-11-28 17:58:12 +05:30
Jonas Boesch 88a14465b7 VMware: clarified vmware_guest UUID usage (#33125) 2017-11-21 10:44:21 +00:00
Abhijeet Kasurde fbe946719e
VMware: Add fix for setting manual MAC address (#32885)
This fix adds ability to set MAC address maunally. Before adding
any MAC address, the value is validated. If value is not valid, then
MAC address is set to vCenter generated MAC address.
Also, added integration tests for this change.

Fixes: #21161

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-11-21 09:47:05 +00:00
Steve Jacobs 400d821fdb Added eagerzeroedthick disk option to disk spec for vmware_guest (#28121)
* Added eagerzeroedthick disk option to disk spec
* Updated docstrings for vmware_guest disk
* VMware: Integration test for disk type

Signed-off-by: Steve Jacobs <sjacobs@brokencrew.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-11-21 03:11:28 +00:00
strattner 0334b3fd99 check if existing network is VDS and has port attribute (#31322) 2017-11-19 13:47:57 +00:00
Abhijeet Kasurde 90e9969fb5
VMware: handle error for MarkAsTemplate API (#32968)
This fix adds exception handling for 'MarkAsTemplate' API
in vmware_guest module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-11-17 01:09:52 +00:00
Abhijeet Kasurde e61bcc3438
Provide clear error message after failure (#32928) 2017-11-16 06:42:27 +00:00
Matt Martz 99d4f5bab4 Remove uses of assert in production code (#32079)
* Remove uses of assert in production code

* Fix assertion

* Add code smell test for assertions, currently limited to lib/ansible

* Fix assertion

* Add docs for no-assert

* Remove new assert from enos

* Fix assert in module_utils.connection
2017-11-13 11:51:18 -05:00
Dario Zanzico 8a21fa2c07 remove cpuHotAddEnabled, memoryHotAddEnabled defaults from configSpec (#25202)
* add hardware.hotadd_cpu, hardware.hotadd_memory parameters
* use hotadd_{cpu,memory} paramters on create integration tests
2017-11-10 13:09:30 +00:00
Tim Rightnour 4756b392ea Apply fix to allow the root resource pool of a cluster to be chosen (#31641)
Whitespace cleanup
2017-11-10 13:51:36 +01:00
Jim Gu d23da2e494 add support to vmware_guest for template => vm conversion (#31607)
* add support to vmware_guest for template => vm conversion

While the vmware_guest currently supports conversion of VMs to templates
using the is_template argument, it does not support the inverse:
converting templates back into VMs.  This change adds that
functionality.

When converting a template back into a VM, the extra config option
"uuid.action" is also set so that VMware will automatically create a new
UUID for the converted VM.  If the "uuid.action" setting is already
configured, it will not be modified.  Setting this prevents an
interactive question from being raised when attempting to boot the VM.

* Add integration tests for vmware_guest is_template

* Add additional idempotency test for vmware_guest is_template
2017-10-31 09:12:40 -04:00
Philippe Dellaert 9580a6569e Fix #21112 : Adding support for configuring a CD-rom iso image (#28155)
* Initial CD-ROM support

* create cdrom bugfix

* Improving CDROM change detection and fixing template creation bug
Running MarkAsTemplate on an existing template will fail with an error

* Better change detection for guest ID
Should only mark a change in case it actually changes

* Adding integration tests

* Pep8 compliance fixes

* Adding CDROM support, including iso, client and none types

* Updating added release version for CDROM option
2017-10-11 14:29:13 +02:00
Mike Klebolt ada6159ece first path check missing forward slash between dcpath and datacenter (#31481)
* fixed folder path logic

* fixed folder path logic

* fixed folder path logic
2017-10-10 03:14:12 -04:00
Abhijeet Kasurde 02b5c7a8a3 New module - vmware_guest_powerstate
Fix adds a new module 'vmware_guest_powerstate' to manage
power states of virtual machine.

Fixes: #30371

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-10-02 18:57:44 +02:00
James Tanner 8c368b25cd Implement second change from #30826 2017-10-02 12:31:51 -04:00
bbomgardner c2af15ce74 Remove extra space in string comp
Fixes [30983](https://github.com/ansible/ansible/issues/30983)
2017-09-27 20:27:42 +02:00
James Tanner 932f62ab57 Move resource pool login to a separate function and fix undefined var reference 2017-09-26 14:41:33 -04:00
Andrew Makousky 9190598096 Set task status correctly for vmware_guest shutdown and reboot. (#26515) 2017-08-25 10:21:02 -04:00
Toshio Kuratomi f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Toshio Kuratomi 4109a82d0a remove wildcards and add boilerplate
* cloud/centurylink
* source_control
* cloud/google
* notification
* cloud/rackspace
* cloud/vmware
2017-07-29 14:13:30 -07:00
Abhijeet Kasurde 9649195c26 Refactor getvm method (#27188)
Fix refactors getvm method and modules which are using it.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-07-24 12:51:26 -04:00
Abhijeet Kasurde ede82e2130 Implement vmware_argument_spec for required params (#25731)
Without the fix hostname, username and password params
used to skip required check.

Fixes #25696

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-07-21 12:12:43 -04:00
Jimmy Conner fbf68b5725 vmware_guest relative paths for folder (#26927)
* Re-introduce relative paths to vmware_guest folder:

Move compile_folder_path_for_object function from vmware_guest_find to
utilities
Allow full path or relative path to be specified for the folder
parameter.  We will build the full path to the new VM.

* Remove duplicate check

* PEP8 Fixes
2017-07-17 22:18:20 -04:00
jctanner 245a4d30b9 vmware_guest: fix datastore selection on equal sized disks and add tests (#26774)
* Fix datastore selection on equal sized disks and add tests
2017-07-13 22:02:33 -04:00
jctanner df507ca9c4 vmware_guest: fixes for cache objects and datacenter association (#26719)
* vmware_guest: fixes for cache objects and datacenter association
* find_all_objs was only looking for datastores
* Clear the result if it's datacenter is not correct.
* Re-enable pyvmomi installation

Addresses #25011
Addresses #26511
2017-07-12 17:10:48 -04:00
jctanner 10fc4417f7 vmware_guest: use the datacenter as a context for clone specs (#26511)
* Slight refactor on vmware_guest to fix path searching and vcsim compatibility.
* Clean up pep8 errors
* Fix more pep8 issues
* Add assertions
* Remove debug failure
* Update docsting for folder with examples
* Revise _get_vm_prop based on suggestions
* Implement folder walker to find a folder path
* More enhancements for datacenter->datacenter cloning
* Fix a few pep8 issues
* Remove useless check for subclass of None
* Fix a few suggestions
* Move serialize_spec to a util function
* Group exceptions together

Fixes #25011
2017-07-11 23:07:00 -04:00
Dag Wieers cf30b162a9 vmware_guest: Various fixes to VM customizations (from template) (#24768)
* Various fixes to VM customizations (from template)

This patch implements:
- New find_obj() function from vmware.py replacing get_obj()
- Implement proper resource_pool selection
- Fix productId implementation (was not working)
- Ensure that we are not changing anything that is not mandatory (hostName, orgName, fullName)


This is an alternative proposal to #24283
This does not fix #19860 yet though.

For our use-case, we do not want to customize the network information (or any information in fact).
What is used in the template should remain intact.

* Added find_obj() function

* Fix the returned object-list (unused yet)

* Small improvement

* Support DHCP type and fix customizations

* Small fix

* Support resource_pool also for reconfiguring VM

* Remove redundant

* Fix short hostname, specific resource_pool, PEP8

* Improve docs and examples

* Fix missing hostsystem

* Make folder absolute path

* Improve docs, add missing 'mac'
2017-06-13 17:50:55 -04:00
Lemar Carthens ef13f0f389 vmware_guest: Fix VM creation when adding a network device without a MAC address (#24138)
* vmware_guest: Fix VM creation when adding a network device without a MAC address

* Provide python2.4 compatibility
2017-05-16 08:47:49 -07:00
Jimmy Conner 2380e50408 vmware_guest: Add support for Linked Clones (#23284)
* vmware_guest: Add support for Linked Clones

* Resolve PEP8 Issues

* Change snapshot_name to snapshot_src

* Add additional option 'snapshot_linked' to specify whether to use a linked clone or not

* Changed snapshot_linked parameter to "linked_clone"

* Remove unnecessary conditional
2017-05-16 09:26:51 -04:00
Dag Wieers 58c1a9dd94 vmware_guest: Don't force onto specific host (#22777)
Unless we provided a specific esxi_hostname, don't force new VMs onto the first host in the cluster.
2017-05-05 05:27:04 -04:00
Cody Boggs 1c11a35f70 Fix orphan resource pool crash (Issue #24078) (#24079)
Fixes issue [#24078](https://github.com/ansible/ansible/issues/24078)

Resource pools are retrieved from VSphere regardless of the state of the `resource_pool` parameter. During this process, each retrieved Resource Pool is checked for the `parent` attribute, and if it exists, the currently-scoped parent object is compared against the Resource Pool's parent object. The method doing the check, however, `assert`s that the parent object is not `None`. In some cases, a Resource Pool will have the `parent` attr, but that `parent` object will be `None`, causing the `assert` to fail.

This should avoid that. :-)
2017-04-28 15:14:05 -04:00
Andrea Tartaglia 1d0a629dcc Fixed docs for cloud modules (#23745)
* Fixed docs for cloud modules

* removed blank line in ec2_snapshot_facts
2017-04-27 12:01:11 +01:00
Dag Wieers 3648e6fd2b vmware_guest: Add delegate_to directive to examples (#22932)
Without this it is likely not going to do what people expect.
2017-04-07 18:17:18 +01:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Dag Wieers 895664f539 vmware_guest: Fix "KeyError: 'changed'" (#22564)
Due to how the result-dictionary is being used, in some codepaths it would have an empty dictionary.
This then is problematic if the code expects the 'changed' key later on.

I also improved the docs a bit, by clearly marking the parameter names and URL in the documentation.
2017-03-16 10:55:07 -04:00
Toshio Kuratomi eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
rollerwhrtn e8ef826976 Changed datacenter Required to False since default is set. Fixes 'required and default are mutually exclusive for datacenter' error. Fixes 21076 (#21492) 2017-02-27 09:15:06 -05:00
aperigault 98d841b324 vmware_guest: Fix undefine variable in rename feature (#20855)
* vmware_guest: Fix undefine variable in rename feature

* vmare_guest: We can't wait_for_task because MarkAsTemplate return None
2017-02-11 22:46:58 -05:00
Davis Phillips 239c6aee35 added default datacenter ha-datacenter and set wait_for_ip_address to… (#21076)
* added default datacenter ha-datacenter and set wait_for_ip_address to default False - closes 21074

* Updated docs to reflect changes
2017-02-09 22:43:31 -05:00
Abdul Anshad A b30942787b Add guest shutdown/reboot (#20564) 2017-02-07 10:33:13 -05:00
Davis Phillips 65e55d47b1 fixes 20904 (#21068) 2017-02-06 14:37:42 -05:00
Loïc Blot b55d039f67 New modules: vmware_guest_facts & vmware_guest_snapshot (#20971)
* Move gather_facts action outside of vmware_guest module
* Move facts gathering method to vmware.py library
* vmware_guest use some vmware.py library methods
* vmware.py lib: fix some PEP 8 issues
* Move snapshot actions to vmware_guest_snapshot
* Move common snapshot facts to vmware.py library
2017-02-06 11:52:17 -05:00
Davis Phillips 00fdec1d60 closes #21011 (#21015) 2017-02-03 13:57:19 -05:00
Matt Clay 10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Antony PERIGAULT 0bc2ccdebf vmware_guest: Fix a bug when deploy a VM is not always considered as a change 2017-01-26 13:40:55 -05:00
Dag Wieers e06227ce16 Small cosmetic changes and documentation updates (#20632)
After merging the latest update, these were the few remaining
differences with upstream.

(Plus the previous proposed fast match based on unique VM name which is
not longer needed)
2017-01-26 10:26:07 -05:00
aperigault 614390a310 vmware_guest: Fix nic configuration with already present nics (#20640) 2017-01-26 12:42:08 +00:00
aperigault add06b505a vmware_guest: Amazing speed up module (#19937)
* vmware_guest: Amazing speed up module
* vmware_guest: Change variables name to do PEP compliant
2017-01-24 11:42:37 -05:00
aperigault e9704b389b vmware_guest: Fix windows joindomain customization (#20303) 2017-01-18 10:52:51 +00:00
nerzhul 90d94bd6db vmware_guest: doc fix 2017-01-16 10:09:52 -05:00
Dag Wieers 439ef46898 vmware_guest: networks definition as a list (#19857)
* vmware_guest: networks definition as a list

Currently the networks definition is a dict, with the network range as
key. This is problematic if the network information is coming from other
sources.

This patch turns the networks definition into a list.

This fixes #19222.

* Remove the option to provide either netmask or network

It is more concise if there's only one way to configure it.
So provide both `ip` and `network`.

(I also re-indented a section due to a useless check)

* Fix bugs reported by @dav1x

Thanks !
2017-01-16 09:30:37 -05:00
Dag Wieers 20df62ab31 vmware_guest: Various fixes and changes
Changes missing from a poor merge probably, but also a few new things.
- Reordered the examples from important (often used) to less important
  (fewer used)
- Remove the new_name: option and replace it with the uuid/name
  combination for renaming + added example
- Added an example using the VM uuid instead of the VM name
- Also check whether the password is non-empty (rogue merge)
- Wait for all tasks to finish (to be sure the new facts reflect the
  state)
- Ensure that on failure we still set the change-bit
- Moved a set of functions that are unused (related to transfering
  files to guest, or running commands) to module_utils
2017-01-16 09:26:17 -05:00
Toshio Kuratomi 8ae29a5a80 Remove the redundant get_exception import 2017-01-10 08:19:54 -08:00
Dag Wieers 560831752e Defined get_exception() (#20087)
This fixes #20080
2017-01-10 08:18:51 -08:00
Ner'zhul 16a1585ffc vmware_guest: Fix customvalues when VM doesn't exists (#20094) 2017-01-10 11:07:42 -05:00
Brian Coca 3ceff2f9b3 added missing import 2017-01-10 10:37:55 -05:00
Ner'zhul 7603ae33b5 vmware_guest improvements: annotations & customvalues (#20052)
* Idempotency fix on annotations permitting to change them on reconfiguration
* Permit to set VMware customvalues attributes on VM
* Gather annotation & customvalues and report it into module facts
2017-01-10 09:10:48 -05:00
Dag Wieers aca60f1776 vmware_guest: various customizations changes and fixes (#19975)
* vmware_guest: various changes and fixes

Most of my queued changes were already implemented by @aperigault !

This was still open
- Typos
- Various fixes to dict.get() without quotes
- Defaults to fullname and orgname (so they are no longer mandatory)
- Add missing timezone implementation
- Remove the customize flag from the options
- Rename 'customizations' to 'customization' (cfr VMware docs and fora)

* Important fixes for idempotency and customization

- A password is mandatory for customization to work on Windows !
- An important fix for idempotency related to guestId
- Support all types of Windows guestId entries

* Suggestion by @aperigault

* Small documentation fixes
2017-01-10 08:34:38 -05:00
Ner'zhul e87d6d8a70 Unbreak vmware_guest module which was break by 818ef493ad (#20036) 2017-01-09 11:29:18 +00:00
aperigault 8241675095 vmware_guest: Rename existing VM, or mark as template (#20018)
* vmware_guest: Add rename feature

* vmware_guest: Add feature to mark an existing VM as template
2017-01-09 09:37:36 +00:00
aperigault 818ef493ad vmware_guest: Add windows customization support (#19866)
* vmware_guest: Add windows customization support

* vmware_guest: Move customizations inside separate function
2017-01-06 10:27:48 -05:00
Dag Wieers 00031e454e Sanitize folder path from the very start (#19929)
- If an absolute path is provided, ensure it starts with /vm
- Also ensure there are no trailing slashes

This gets rid of a few locations where the same was being done.
It also fixes the cases of multiple trailing slashes, or ending up with
/vm/ instead of /vm.
2017-01-06 09:05:10 -05:00
Dag Wieers 9ddcf16b4b vmware_guest: add support for more virtual NICs (#19932)
This patch adds support for all other virtual NICs, including:

 - pcnet32
 - vmxnet2
 - e1000e
 - sriov

Without this change, VMs with one of these NICs will fail with a
fault.NicSettingMismatch.summary error as it will only add interfaces,
not edit these.

This fixes #19860
2017-01-05 18:16:21 +01:00
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