Commit graph

82 commits

Author SHA1 Message Date
Gonéri Le Bouder
66550cd3c2 vmware_guest/test: create test vm in correct directory
Ensure we already create the `test_vm3` VM in the `{{ f0 }}` directory.
This to be sure the teardown playbook will be able to clean it up at the
end. This to avoid problem like this one:

```
Multiple virtual machines with same name [test_vm3] found, Folder value is a required parameter to find uniqueness of the virtual machine
```
2020-01-08 13:20:47 -05:00
Gonéri Le Bouder
8d6b9cf6e0 prepare_vmware_tests: add scenario with one ESXi
Add the ability to test with just one vcenter instance and a single
ESXi. This allow us to cover 90 modules.
2019-12-19 11:30:00 -05:00
Jiri Tyr
a8ef5d5034 VMware: Autoselect datastore only from the given cluster/ESXi (#43435)
* Autoselect DS only from the given cluster/esxi
* Run tests only on real vCenter
2019-12-02 21:53:08 +05:30
Gonéri Le Bouder
8f1af61851
vmware_guest: relax the requirements of the tests (#65192)
- 128MB or RAM is enough for most of the cases
- 1VCPU is also enough
2019-11-25 12:58:22 -05:00
Gonéri Le Bouder
239213baee
vmware_guest: do not use autoselect_datastore in test (#65191)
Disable the use of `autoselect_datastore` until https://github.com/ansible/ansible/issues/58541
is fixed.
2019-11-22 21:17:05 -05:00
Gonéri Le Bouder
0aa59ce9ab vmware/test: use better name for datastores
In the VMware tests, we call the datastores `ds1` and `ds2`. The first
one is read-only, the second is read-write and can be used to deploy
VMs. The naming convention was not clear enough and source of a lot
confusion and mistake.

We now have two better names:

- ro_datastore, which is ... read-only
- rw_datastore, the one that we can use to deploy new VM.
2019-11-14 16:55:05 -05:00
Gonéri Le Bouder
93d1a57d9a vmware_guest: fix the name of the test VMs
The test VM names must be deterministic, this way, the teardown playbook
can clean up the resources after the test execution.

See: https://docs.ansible.com/ansible/latest/dev_guide/platforms/vmware_guidelines.html#vm-names-should-be-predictable
2019-11-13 11:52:57 -05:00
Abhijeet Kasurde
47f9873eab
VMware: Handle slash in network name in vmware_guest module (#64494)
Encode slash in network name to work with vSphere API.

Fixes: #64399

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-11-12 17:13:57 +05:30
Pavan Bidkar
9a54070fa2 VMware: Added check for temp_version type in vmware_guest(#64376)
Fixes: #64374

* Adding tests for create VM with interger version and latest version
2019-11-07 12:43:30 +05:30
Pavan Bidkar
904e8434db VMware: Add support to delete vm from inventory (#62903)
Fixes: #55572
2019-10-10 17:07:23 +05:30
Pavan Bidkar
314f9fbd5c Support latest version while upgrading VM hardware. (#62188)
Support for the `latest` version during an VM hardware upgrade.
2019-10-07 16:41:57 -04:00
Diane Wang
54b108175b VMware: add support for multiple CD-ROMs (#51120)
Add support for create or re-configure VM with multiple CD-ROMs attaching to IDE controller now, will implement SATA controller support later.
parameters can be set as below:

    cdrom:
    - controller_type: ide
      controller_number: 0
      unit_number: 0
      type: client
2019-08-29 10:56:33 -04:00
Abhijeet Kasurde
d3624cf4a4
VMware: test - add missing datacenter parameter (#60273)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-08-09 11:17:44 +05:30
Gonéri Le Bouder
1ec155e773 vmware_guest: clone VM with attached CDROM
If a VM has an attached CDROM, `backing` attribute of the CDROM will
be defined.
As a result, we cannot just loop `vm_obj.config.hardware.device` and check
for the existance of the attribute to decide if the entry is a
harddrive.

Instead, we check the type of the device, and only keep the
`vim.vm.device.VirtualDisk` disk.

This issue is actually breaking our test-suite with regular environment
because we keep a Fedora ISO attached to the VM.
2019-07-30 14:09:07 +02:00
Gonéri Le Bouder
93ea961205 vmware_guest: enable 3 extra tests
- network_with_dvpg
- network_with_portgroup.yml
- template_d1_c1_f0.yml
2019-07-29 15:28:52 +02:00
Gonéri Le Bouder
964783fbd2 vmware_guest: speed up vmware_guest tests
- Use predictable VM name during the tests (test_vm1, test_vm2 and
  test_vm2). This to simplify the teardown of the newly created resource
  before the next test.
- Update the documentation to explain the new requirement
- Avoid VM creation with `with_items` when it's not mandatory. This to:
    - speed up the test execution, our hypervisors have limited resources
    - simplify the teardown
- Remove `create_d1_c1_f0_env.yml`, the test was just testing how Ansible
  pass environment variables.
- Correct the name for the `f0` variable (`f1`)
- Fix the DVS tests, the hosts can now reach the dvswitch1 vswitch
- Provision the VM with a poweroff status, this to improve the
  idempotency and sleep up the tests
- Avoid the use of `prepare_vmware_tests` to prepare virtual machines
  when we just need one machine
2019-07-26 14:07:01 +02:00
Evert Mulder
66d12f6f1e Only convert VirtualDiskFix for #57653 clone_with_convert is failing 2019-07-22 12:52:48 +02:00
Abhijeet Kasurde
791e565802
VMware: Additional testcase for mem_reservation (#59365)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-07-22 10:44:19 +05:30
Abhijeet Kasurde
1f49abb51c
VMware: Accept 0 as valid value for memory reservation (#59230)
vmware_guest accepts 0MB as valid value for memory reservation in
virtual machine hardware configuration. This fixes the regression
introduced via 193f69064f.

Fixes: #59190

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-07-22 09:03:25 +05:30
Noe Gonzalez
3a5d13b0d7 VMware: Fix vmware_guest cloning bug (#58737)
* fix vmware_guest cloning bug
* added tests for resizing disks during clone
2019-07-15 10:09:54 +05:30
Gonéri Le Bouder
140a8e53f3 vmware_guest: do not use infra.vm_list
Update the functional tests of `vmware_guest` to use the
`virtual_machines` data structure.
2019-07-09 11:55:12 +02:00
lijok
63bdd0d6cd VMware: looking up maxMksConnections in incorrect location (#58061)
maxMksConnections is contained in vim.vm.ConfigInfo not vim.vm.VirtualHardware

Fixes: #58060

Signed-off-by: lijok <28689084+lijok@users.noreply.github.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-07-02 11:49:00 -07:00
Abhijeet Kasurde
760dc19284
VMware: Set vapp settings while creating VM (#58156)
vApp Settings can be set while creating VM.

Fixes: #50617

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-06-28 11:57:26 +05:30
Gonéri Le Bouder
7d85cbcc6c vmware: test-suite fixes
Minor fixes for the test-suite found during the integration with the CI.
2019-06-13 20:23:33 -04:00
Gonéri Le Bouder
6bb21c3db0 vmware: test-refactoring
- In order to keep the integration with `ansible-test`, we prefer to avoid any
  interaction with the Ansible inventory file.
- split up the prepare_vmware_tests/defaults/main.yml in two
  configuration files: one for vcsim and one for a real environment
- remove all the access to hostvars
- directly interact with the ESXi to mount/umount the datastore
  https://github.com/ansible/ansible/pull/56516
- record the virtual machine folder in the environment configuration
- vmware_guest_move: Use https://github.com/ansible/ansible/pull/55237
2019-05-23 17:40:19 -04:00
Gonéri Le Bouder
4b99a2ac50 vmware: use hostname in esxi_hostname
The use of the `hostvars[esxi1].ansible_host` was attempt to use
different hostname and IP address. But it's actually the source of
more problems.

VMware expects to be able to resolvable the host name. This means, that
if someone wants to run the test-suite, s/he needs to use a DNS or
update the `/etc/hosts` files on the different hosts.
2019-05-13 17:04:17 -04:00
Gonéri Le Bouder
e4cca4e40a vmware: refactoring of vmware test roles -- part4
Refactoring of the following roles to make use of the new
`prepare_vmware_tests` role.

- `vmware_guest`
- `vmware_guest_boot_facts`
- `vmware_guest_custom_attribute_defs`
- `vmware_guest_customization_facts`
- `vmware_guest_disk_facts`
- `vmware_guest_facts`
- `vmware_guest_find`
- `vmware_guest_move`
- `vmware_guest_powerstate`
- `vmware_guest_snapshot`
- `vmware_guest_snapshot_facts`
- `vmware_guest_tools_wait`

This patch depends on: https://github.com/ansible/ansible/pull/55719

Original PR: https://github.com/ansible/ansible/pull/54882
2019-05-01 11:22:14 -04:00
Abhijeet Kasurde
dcbfa60413
Change to fix issue found while cloning template with opaque network (#55375)
Fixing Format issues in yml files. Check have failed

Signed-off-by: pgbidkar <pbidkar@vmware.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-04-17 11:18:17 +05:30
Matt Clay
b713246f57 Reduce vcenter integration test boilerplate. 2019-02-26 11:29:21 -08:00
Abhijeet Kasurde
928c4f08ca
Fix test case in vmware_guest (#52142)
Due to changes in https://github.com/ansible/ansible/pull/45412
vmware_guest testcase delete_vm failed. This patch will fix that testcase.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-13 10:28:03 +05:30
Diane Wang
ebaeb1d8b4 VMware: add VBS configuration support for Windows 10 (#48595)
* Fix space issue
* fix whitespaces issue
2018-12-21 14:47:35 +05:30
chris93111
7c8b5a407d VMware: Add option to modify disk type while cloning template (#47859)
* Add parameters to module vmware_guest for conversion of disk to thin or thick when vm is cloned or deployed with template

* unit test for convert clone vm

Co-Authored-By: chris93111 <christopheferreira@ymail.com>
2018-12-05 15:50:23 +05:30
jctanner
ab133def0b vmware_guest test - Use the cluster name instead of the path (#45368) 2018-09-08 04:06:16 +05:30
Pieter Avonts
1a810f8f11 VMware: Rewrite get_resource_pool method for correct resource_pool selection (#39792)
* rewrite get_resource_pool method for correct resource_pool selection
* only keep name if path is given for cluster, esxi_hostname or resource_pool
* Revert "only keep name if path is given for cluster, esxi_hostname or resource_pool"
* This reverts commit 50293ec763c024b0eaceac5d775ccc0ad3ff8bd7.
* if the name argument contains a path, only use the last part for matching
* remove path from cluster argument in tests
* remove find_objs in favour of reusing find_obj with an extra folder argument
* fix find_obj ignoring first if name is not given
2018-09-07 18:23:26 +05:30
Abhijeet Kasurde
fd985db72d
VMware: Refactor disc logic (#39285)
* Refactoring related to network device
* Assign unique random temporary key while creating SCSI or/and IDE controller devices
* Add testcase for this change

Fixes: #38679

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-09-07 17:04:02 +05:30
Abhijeet Kasurde
604fcb55ae
VMware: add support for boot option firmware (#42730)
This fix adds support for the boot option 'firmware'

Fixes: #42541

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-27 09:18:04 +05:30
Matt Clay
4e489d1be8
Update Shippable integration test groups. (#43118)
* Update Shippable integration test groups.
* Update integration test group aliases.
* Rebalance AWS and Azure tests with extra group.
* Rebalance Windows tests with another group.
2018-07-23 20:46:22 -07:00
Abhijeet Kasurde
cadbd6ea9c
VMWare: update documentation for linked_clone (#42881)
linked_clone requires snapshot_src parameter. This fix makes them required_together
and update documentation. Also, testcase is added.

Fixes: #42349

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-20 10:34:26 +05:30
Abhijeet Kasurde
c021fd8e84 VMware: Allow user to select disk_mode (#38951)
* VMware: Allow user to select disk_mode

This fix allows user to select disk modes for given disk configuration
in the given VM.

Fixes: #37749

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-06-10 22:37:30 -04:00
Deric Crago
ba848e018c bump version of 'vcenter-test-container' to '1.3.0' (govmomi v0.18.0) (#41151)
* leave vmware_guest_powerstate tests enabled, but revert changes from: 66743f33
* leave VM poweroff tests enabled, but revert changes from: 87d6bdaf
* bumped 'vcenter-test-container' version to '1.3.0'
* updated test task names based on PR feedback
2018-06-06 08:24:21 -07:00
Abhijeet Kasurde
79c7d462c1
VMware: Check device type explicitly (#38729)
Check datatype of device instead of comparing them directly in
vmware_guest. Also, added testcases to check this behavior.

DPVG is not supported in current version vcsim

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-05-14 16:12:31 +05:30
Matt Clay
6a1cb25c99 Remove unnecessary destructive aliases. 2018-05-09 07:29:31 -07:00
Matt Clay
a5b8085113 Move pyvmomi install into cloud test plugin. 2018-05-08 10:09:35 -07:00
Tim Steinbach
f61172e6c7 vmware: Add portgroup_portkey and portgroup_key (#38958)
* VMware: apply correct value for datacenter in TC

Signed-off-by: Tim Steinbach <tim@nequissimus.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-04-23 14:04:35 +05:30
Abhijeet Kasurde
9b139baacb
VMware: Set default network type as 'dhcp' (#38518)
If user does not specify any network type then set network type
to dhcp. There are additional checks around 'ip', 'netmask' and
'type' in network spec.

Fixes: #38466

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-04-13 23:21:39 +05:30
Abhijeet Kasurde
4edcbeb62d
VMware: Gather facts when powerstate is specified (#37908)
This fix adds additional facts after VM powerstate management.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-03-28 00:19:33 +05:30
Abhijeet Kasurde
0ae7a0e88c
VMware: Use environment variable for connection (#37726)
This fix adds environment variables for connection in vmware_*
modules.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-03-21 13:31:24 -04:00
Sebastian Gumprich
16c564c4b4 fix spelling mistakes in several modules (#36296)
* fix more spelling mistakes

* fix spelling mistakes
2018-03-12 11:00:19 +01:00
Abhijeet Kasurde
0694aca2a0
VMware: refactor configure disk logic (#36617)
This fix corrects logic related to disk parameters.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-03-01 09:36:54 +05:30
Abhijeet Kasurde
87d6bdaf98
VMware: Re-enable VM poweroff testcases (#36734)
This testcases were failing due to vcsim version.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-27 09:04:42 +05:30