mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
nxos_vlan fix (#40822)
* nxos_vlan fix Signed-off-by: Trishna Guha <trishnaguha17@gmail.com> * uncomment mode test as nxapi now has get_capabilities Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
This commit is contained in:
parent
a7421e8611
commit
17b6ecf101
2 changed files with 63 additions and 46 deletions
|
@ -454,21 +454,31 @@ def parse_vni(module, vlan_id):
|
|||
return str(vni)
|
||||
|
||||
|
||||
def get_vlan_int(interfaces):
|
||||
vlan_int = []
|
||||
for i in interfaces.split(','):
|
||||
if 'eth' in i.lower() and '-' in i:
|
||||
int_range = i.split('-')
|
||||
stop = int((int_range)[1])
|
||||
start = int(int_range[0].split('/')[1])
|
||||
eth = int_range[0].split('/')[0]
|
||||
for r in range(start, stop + 1):
|
||||
vlan_int.append(eth + '/' + str(r))
|
||||
else:
|
||||
vlan_int.append(i)
|
||||
return vlan_int
|
||||
|
||||
|
||||
def parse_interfaces(module, vlan):
|
||||
vlan_int = []
|
||||
interfaces = vlan.get('vlanshowplist-ifidx')
|
||||
if interfaces:
|
||||
for i in interfaces.split(','):
|
||||
if 'eth' in i.lower() and '-' in i:
|
||||
int_range = i.split('-')
|
||||
stop = int((int_range)[1])
|
||||
start = int(int_range[0].split('/')[1])
|
||||
eth = int_range[0].split('/')[0]
|
||||
for r in range(start, stop + 1):
|
||||
vlan_int.append(eth + '/' + str(r))
|
||||
else:
|
||||
vlan_int.append(i)
|
||||
|
||||
if isinstance(interfaces, list):
|
||||
interfaces_list = [i.strip() for i in interfaces]
|
||||
interfaces_str = ','.join(interfaces_list)
|
||||
vlan_int = get_vlan_int(interfaces_str)
|
||||
else:
|
||||
vlan_int = get_vlan_int(interfaces)
|
||||
return vlan_int
|
||||
|
||||
|
||||
|
|
|
@ -7,6 +7,13 @@
|
|||
- set_fact: testint2="{{ nxos_int2 }}"
|
||||
|
||||
- block:
|
||||
- name: Install and Enable FabricPath feature set
|
||||
nxos_config:
|
||||
lines:
|
||||
- install feature-set fabricpath
|
||||
- feature-set fabricpath
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- name: "Enable feature vn segment"
|
||||
nxos_config:
|
||||
commands:
|
||||
|
@ -114,41 +121,41 @@
|
|||
when: platform is search('N3K|N7K')
|
||||
|
||||
# Uncomment this once the get_capabilities() work on nxapi as well
|
||||
# - name: Change mode
|
||||
# nxos_vlan: &mode1
|
||||
# vlan_id: 50
|
||||
# mode: fabricpath
|
||||
# register: result
|
||||
# when: platform is search('N5k|N7K')
|
||||
#
|
||||
# - assert: *true
|
||||
# when: platform is search('N5k|N7K')
|
||||
#
|
||||
# - name: "mode1 Idempotence"
|
||||
# nxos_vlan: *mode1
|
||||
# register: result
|
||||
# when: platform is search('N5k|N7K')
|
||||
#
|
||||
# - assert: *false
|
||||
# when: platform is search('N5k|N7K')
|
||||
#
|
||||
# - name: Change mode again
|
||||
# nxos_vlan: &mode2
|
||||
# vlan_id: 50
|
||||
# mode: ce
|
||||
# register: result
|
||||
# when: platform is search('N5k|N7K')
|
||||
#
|
||||
# - assert: *true
|
||||
# when: platform is search('N5k|N7K')
|
||||
#
|
||||
# - name: "mode2 Idempotence"
|
||||
# nxos_vlan: *mode2
|
||||
# register: result
|
||||
# when: platform is search('N5k|N7K')
|
||||
#
|
||||
# - assert: *false
|
||||
# when: platform is search('N5k|N7K')
|
||||
- name: Change mode
|
||||
nxos_vlan: &mode1
|
||||
vlan_id: 50
|
||||
mode: fabricpath
|
||||
register: result
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- assert: *true
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- name: "mode1 Idempotence"
|
||||
nxos_vlan: *mode1
|
||||
register: result
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- assert: *false
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- name: Change mode again
|
||||
nxos_vlan: &mode2
|
||||
vlan_id: 50
|
||||
mode: ce
|
||||
register: result
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- assert: *true
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- name: "mode2 Idempotence"
|
||||
nxos_vlan: *mode2
|
||||
register: result
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- assert: *false
|
||||
when: platform is search('N5K|N7K')
|
||||
|
||||
- name: Ensure VLAN is NOT on the device
|
||||
nxos_vlan: &no_vlan
|
||||
|
|
Loading…
Reference in a new issue