# Test code for the vmware_vmkernel module.
# Copyright: (c) 2018, Christian Kotte <christian.kotte@gmx.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
- when: vcsim is not defined
  block:
# TODO: vcsim does not support HostVirtualNicManager-related operations
    - import_role:
        name: prepare_vmware_tests
      vars:
        setup_attach_host: true
        setup_switch: true

    - name: create basic portgroup
      vmware_portgroup:
        validate_certs: false
        hostname: "{{ vcenter_hostname }}"
        username: "{{ vcenter_username }}"
        password: "{{ vcenter_password }}"
        switch_name: "{{ switch1 }}"
        cluster_name: "{{ ccr1 }}"
        portgroup_name: vMotion
        vlan_id: 0
        state: present
      register: dvs_pg_result_0001

    - debug: var=dvs_pg_result_0001
    - name: Create VMkernel adapter with vMotion TCP/IP stack
      vmware_vmkernel: &new_vmkernel
        hostname: "{{ vcenter_hostname }}"
        username: "{{ vcenter_username }}"
        password: "{{ vcenter_password }}"
        esxi_hostname: '{{ esxi1 }}'
        vswitch: "{{ switch1 }}"
        portgroup: vMotion
        mtu: 9000
        network:
          type: static
          ip_address: 192.168.100.100
          subnet_mask: 255.255.255.0
          tcpip_stack: vmotion
        state: present
        validate_certs: false
      register: host_vmkernel
    - debug: var=host_vmkernel

    - name: Create VMkernel adapter in check mode
      vmware_vmkernel:
        <<: *new_vmkernel
      register: host_vmkernel
      check_mode: true
    - debug: var=host_vmkernel

    - name: Delete VMkernel adapter
      vmware_vmkernel:
        hostname: "{{ vcenter_hostname }}"
        username: "{{ vcenter_username }}"
        password: "{{ vcenter_password }}"
        esxi_hostname: '{{ esxi1 }}'
        vswitch: "{{ switch1 }}"
        device: '{{ host_vmkernel.device }}'
        portgroup: vMotion
        state: absent
        validate_certs: false
      register: host_vmkernel
    - debug: var=host_vmkernel
