# Test code for the vmware_guest_network module # Copyright: (c) 2019, Diane Wang (Tomorrow9) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - when: vcsim is not defined block: - import_role: name: prepare_vmware_tests vars: setup_attach_host: true setup_datastore: true setup_virtualmachines: true - name: gather network adapters' facts of the virtual machine vmware_guest_network: validate_certs: False hostname: "{{ vcenter_hostname }}" username: "{{ vcenter_username }}" password: "{{ vcenter_password }}" name: "{{ infra.vm_list[0] }}" gather_network_facts: true register: netadapter_facts - debug: var=netadapter_facts - name: get number of existing netowrk adapters set_fact: netadapter_num: "{{ netadapter_facts.network_data | length }}" - name: add new network adapters to virtual machine vmware_guest_network: validate_certs: False hostname: "{{ vcenter_hostname }}" username: "{{ vcenter_username }}" password: "{{ vcenter_password }}" name: "{{ infra.vm_list[0] }}" networks: - name: "VM Network" state: new device_type: e1000e manual_mac: "00:50:56:58:59:60" - name: "VM Network" state: new device_type: vmxnet3 manual_mac: "00:50:56:58:59:61" register: add_netadapter - debug: var=add_netadapter - name: assert the new netowrk adapters were added to VM assert: that: - "add_netadapter.changed == true" - "{{ add_netadapter.network_data | length | int }} == {{ netadapter_num | int + 2 }}" - name: delete one specified network adapter vmware_guest_network: validate_certs: False hostname: "{{ vcenter_hostname }}" username: "{{ vcenter_username }}" password: "{{ vcenter_password }}" name: "{{ infra.vm_list[0] }}" networks: - state: absent mac: "00:50:56:58:59:60" register: del_netadapter - debug: var=del_netadapter - name: assert the network adapter was removed assert: that: - "del_netadapter.changed == true" - "{{ del_netadapter.network_data | length | int }} == {{ netadapter_num | int + 1 }}" - name: disconnect one specified network adapter vmware_guest_network: validate_certs: False hostname: "{{ vcenter_hostname }}" username: "{{ vcenter_username }}" password: "{{ vcenter_password }}" name: "{{ infra.vm_list[0] }}" networks: - state: present mac: "00:50:56:58:59:61" connected: false register: disc_netadapter - debug: var=disc_netadapter - name: assert the network adapter was disconnected assert: that: - "disc_netadapter.changed == true" - "{{ disc_netadapter.network_data[netadapter_num]['connected'] }} == false"