Make nic_name as optional parameter (#25990)
Fix adds support for adding VMWare vSwitch without any physical NICs (uplinks). This makes nic_name as an optional parameter. Also, updated documentation and examples to reflect these changes. Fixes #25632 Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
parent
91c1d8d8e2
commit
d63cdcacc3
1 changed files with 21 additions and 13 deletions
|
@ -44,7 +44,7 @@ options:
|
||||||
nic_name:
|
nic_name:
|
||||||
description:
|
description:
|
||||||
- vmnic name to attach to vswitch
|
- vmnic name to attach to vswitch
|
||||||
required: True
|
required: False
|
||||||
number_of_ports:
|
number_of_ports:
|
||||||
description:
|
description:
|
||||||
- Number of port to configure on vswitch
|
- Number of port to configure on vswitch
|
||||||
|
@ -66,17 +66,24 @@ extends_documentation_fragment: vmware.documentation
|
||||||
'''
|
'''
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = '''
|
||||||
# Example from Ansible playbook
|
- name: Add a VMware vSwitch
|
||||||
|
local_action:
|
||||||
|
module: vmware_vswitch
|
||||||
|
hostname: esxi_hostname
|
||||||
|
username: esxi_username
|
||||||
|
password: esxi_password
|
||||||
|
switch_name: vswitch_name
|
||||||
|
nic_name: vmnic_name
|
||||||
|
mtu: 9000
|
||||||
|
|
||||||
|
- name: Add a VMWare vSwitch without any physical NIC attached
|
||||||
|
vmware_vswitch:
|
||||||
|
hostname: 192.168.10.1
|
||||||
|
username: admin
|
||||||
|
password: password123
|
||||||
|
switch_name: vswitch_0001
|
||||||
|
mtu: 9000
|
||||||
|
|
||||||
- name: Add a VMware vSwitch
|
|
||||||
local_action:
|
|
||||||
module: vmware_vswitch
|
|
||||||
hostname: esxi_hostname
|
|
||||||
username: esxi_username
|
|
||||||
password: esxi_password
|
|
||||||
switch_name: vswitch_name
|
|
||||||
nic_name: vmnic_name
|
|
||||||
mtu: 9000
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -138,7 +145,8 @@ class VMwareHostVirtualSwitch(object):
|
||||||
vss_spec = vim.host.VirtualSwitch.Specification()
|
vss_spec = vim.host.VirtualSwitch.Specification()
|
||||||
vss_spec.numPorts = self.number_of_ports
|
vss_spec.numPorts = self.number_of_ports
|
||||||
vss_spec.mtu = self.mtu
|
vss_spec.mtu = self.mtu
|
||||||
vss_spec.bridge = vim.host.VirtualSwitch.BondBridge(nicDevice=[self.nic_name])
|
if self.nic_name:
|
||||||
|
vss_spec.bridge = vim.host.VirtualSwitch.BondBridge(nicDevice=[self.nic_name])
|
||||||
self.host_system.configManager.networkSystem.AddVirtualSwitch(vswitchName=self.switch_name, spec=vss_spec)
|
self.host_system.configManager.networkSystem.AddVirtualSwitch(vswitchName=self.switch_name, spec=vss_spec)
|
||||||
self.module.exit_json(changed=True)
|
self.module.exit_json(changed=True)
|
||||||
|
|
||||||
|
@ -184,7 +192,7 @@ class VMwareHostVirtualSwitch(object):
|
||||||
def main():
|
def main():
|
||||||
argument_spec = vmware_argument_spec()
|
argument_spec = vmware_argument_spec()
|
||||||
argument_spec.update(dict(switch_name=dict(required=True, type='str'),
|
argument_spec.update(dict(switch_name=dict(required=True, type='str'),
|
||||||
nic_name=dict(required=True, type='str'),
|
nic_name=dict(required=False, type='str'),
|
||||||
number_of_ports=dict(required=False, type='int', default=128),
|
number_of_ports=dict(required=False, type='int', default=128),
|
||||||
mtu=dict(required=False, type='int', default=1500),
|
mtu=dict(required=False, type='int', default=1500),
|
||||||
state=dict(default='present', choices=['present', 'absent'], type='str')))
|
state=dict(default='present', choices=['present', 'absent'], type='str')))
|
||||||
|
|
Loading…
Reference in a new issue