Improve vmware_vmkernel module (#47270)

* update description and examples
* show updated settings
* add check mode support
* Remove unused option `vlan_id`
* add vDS support
* add TCP/IP stack support
This commit is contained in:
Christian Kotte 2019-02-20 16:57:35 +01:00 committed by Abhijeet Kasurde
parent 5abeb9659b
commit bd0cad6ed7
3 changed files with 867 additions and 265 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
cloud/vcenter
unsupported

View file

@ -0,0 +1,144 @@
# 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)
# TODO: vcsim does not support HostVirtualNicManager-related operations
- name: store the vcenter container ip
set_fact:
vcsim: "{{ lookup('env', 'vcenter_host') }}"
- debug: var=vcsim
- name: Wait for Flask controller to come up online
wait_for:
host: "{{ vcsim }}"
port: 5000
state: started
- name: kill vcsim
uri:
url: http://{{ vcsim }}:5000/killall
- name: start vcsim
uri:
url: http://{{ vcsim }}:5000/spawn?cluster=2
register: vcsim_instance
- debug:
var: vcsim_instance
- name: Wait for vcsim server to come up online
wait_for:
host: "{{ vcsim }}"
port: 443
state: started
- name: get a list of hosts from vcsim
uri:
url: http://{{ vcsim }}:5000/govc_find?filter=H
register: hosts
- name: get a host
set_fact:
host1: "{{ hosts.json[0] | basename }}"
- debug: var=host1
- name: Create VMkernel adapter
vmware_vmkernel:
hostname: "{{ vcsim }}"
username: "{{ user }}"
password: "{{ passwd }}"
esxi_hostname: "{{ host1 }}"
vswitch: vSwitch1
portgroup: vMotion
mtu: 1500
enable_vmotion: True
state: present
validate_certs: no
register: host_vmkernel
- debug: var=host_vmkernel
- name: Create VMkernel adapter in check mode
vmware_vmkernel:
hostname: "{{ vcsim }}"
username: "{{ user }}"
password: "{{ passwd }}"
esxi_hostname: "{{ host1 }}"
vswitch: vSwitch1
portgroup: vMotion
mtu: 1500
enable_vmotion: True
state: present
validate_certs: no
register: host_vmkernel
check_mode: yes
- debug: var=host_vmkernel
- name: Delete VMkernel adapter
vmware_vmkernel:
hostname: "{{ vcsim }}"
username: "{{ user }}"
password: "{{ passwd }}"
esxi_hostname: "{{ host1 }}"
vswitch: vSwitch1
portgroup: vMotion
state: absent
validate_certs: no
register: host_vmkernel
- debug: var=host_vmkernel
- name: Create VMkernel adapter with vMotion TCP/IP stack
vmware_vmkernel:
hostname: "{{ vcsim }}"
username: "{{ user }}"
password: "{{ passwd }}"
esxi_hostname: "{{ host1 }}"
vswitch: vSwitch1
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: no
register: host_vmkernel
- debug: var=host_vmkernel
- name: Delete VMkernel adapter
vmware_vmkernel:
hostname: "{{ vcsim }}"
username: "{{ user }}"
password: "{{ passwd }}"
esxi_hostname: "{{ host1 }}"
vswitch: vSwitch1
portgroup: vMotion
state: absent
validate_certs: no
register: host_vmkernel
- debug: var=host_vmkernel
- name: Create VMkernel adapter with DHCP
vmware_vmkernel:
hostname: "{{ vcsim }}"
username: "{{ user }}"
password: "{{ passwd }}"
esxi_hostname: "{{ host1 }}"
vswitch: vSwitch1
portgroup: vMotion
mtu: 9000
network:
type: dhcp
state: present
validate_certs: no
register: host_vmkernel
- debug: var=host_vmkernel