Fix eos_vlan associated interface check (#39661) (#39738)

* Fix eos_vlan associated interface check

Fix eos_vlan associated interface check by comparing
the interface in want and have without converting the
interface name to lower

* Update eos_vlan docs

* Update changelog
(cherry picked from commit afdc2364f2)
pull/39763/head
Ganesh Nalawade 7 years ago committed by GitHub
parent cf374ca9d4
commit 8d570e67db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,2 @@
bugfixes:
- eos_vlan - Fix eos_vlan associated interface name check (https://github.com/ansible/ansible/pull/39661)

@ -45,14 +45,14 @@ options:
required: true required: true
interfaces: interfaces:
description: description:
- List of interfaces that should be associated to the VLAN. The name of interface - List of interfaces that should be associated to the VLAN. The name of interface is
should be in expanded format and not abbreviated. case sensitive and should be in expanded format and not abbreviated.
associated_interfaces: associated_interfaces:
description: description:
- This is a intent option and checks the operational state of the for given vlan C(name) - This is a intent option and checks the operational state of the for given vlan C(name)
for associated interfaces. The name of interface should be in expanded format and not abbreviated. for associated interfaces. The name of interface is case sensitive and should be in
If the value in the C(associated_interfaces) does not match with the operational state of vlan expanded format and not abbreviated. If the value in the C(associated_interfaces)
interfaces on device it will result in failure. does not match with the operational state of vlan interfaces on device it will result in failure.
version_added: "2.5" version_added: "2.5"
delay: delay:
description: description:
@ -245,10 +245,10 @@ def map_params_to_obj(module):
item[key] = module.params[key] item[key] = module.params[key]
if item.get('interfaces'): if item.get('interfaces'):
item['interfaces'] = [intf.replace(" ", "").lower() for intf in item.get('interfaces') if intf] item['interfaces'] = [intf.replace(" ", "") for intf in item.get('interfaces') if intf]
if item.get('associated_interfaces'): if item.get('associated_interfaces'):
item['associated_interfaces'] = [intf.replace(" ", "").lower() for intf in item.get('associated_interfaces') if intf] item['associated_interfaces'] = [intf.replace(" ", "") for intf in item.get('associated_interfaces') if intf]
d = item.copy() d = item.copy()
d['vlan_id'] = str(d['vlan_id']) d['vlan_id'] = str(d['vlan_id'])
@ -259,8 +259,8 @@ def map_params_to_obj(module):
'vlan_id': str(module.params['vlan_id']), 'vlan_id': str(module.params['vlan_id']),
'name': module.params['name'], 'name': module.params['name'],
'state': module.params['state'], 'state': module.params['state'],
'interfaces': [intf.replace(" ", "").lower() for intf in module.params['interfaces']] if module.params['interfaces'] else [], 'interfaces': [intf.replace(" ", "") for intf in module.params['interfaces']] if module.params['interfaces'] else [],
'associated_interfaces': [intf.replace(" ", "").lower() for intf in 'associated_interfaces': [intf.replace(" ", "") for intf in
module.params['associated_interfaces']] if module.params['associated_interfaces'] else [] module.params['associated_interfaces']] if module.params['associated_interfaces'] else []
}) })

@ -137,9 +137,9 @@
that: that:
- "result.changed == true" - "result.changed == true"
- "'vlan 4000' in result.commands" - "'vlan 4000' in result.commands"
- "'interface ethernet1' in result.commands" - "'interface Ethernet1' in result.commands"
- "'switchport access vlan 4000' in result.commands" - "'switchport access vlan 4000' in result.commands"
- "'interface ethernet2' in result.commands" - "'interface Ethernet2' in result.commands"
- "'switchport access vlan 4000' in result.commands" - "'switchport access vlan 4000' in result.commands"
# Ensure sessions contains epoc. Will fail after 18th May 2033 # Ensure sessions contains epoc. Will fail after 18th May 2033
- "'ansible_1' in result.session_name" - "'ansible_1' in result.session_name"
@ -149,8 +149,8 @@
vlan_id: 4000 vlan_id: 4000
state: present state: present
interfaces: interfaces:
- ethernet 1 # interface name modified to test case insensitive and space scenario - Ethernet 1 # interface name space scenario
- ethernet 2 # interface name modified to test case insensitive and space scenario - Ethernet 2 # interface name space scenario
authorize: yes authorize: yes
provider: "{{ cli }}" provider: "{{ cli }}"
become: yes become: yes
@ -194,7 +194,7 @@
that: that:
- "result.changed == true" - "result.changed == true"
- "'vlan 4000' in result.commands" - "'vlan 4000' in result.commands"
- "'interface ethernet2' in result.commands" - "'interface Ethernet2' in result.commands"
- "'no switchport access vlan 4000' in result.commands" - "'no switchport access vlan 4000' in result.commands"
# Ensure sessions contains epoc. Will fail after 18th May 2033 # Ensure sessions contains epoc. Will fail after 18th May 2033
- "'ansible_1' in result.session_name" - "'ansible_1' in result.session_name"
@ -204,7 +204,7 @@
vlan_id: 4000 vlan_id: 4000
state: present state: present
interfaces: interfaces:
- ethernet 1 # interface name modified to handle case insensitive and space scenario - Ethernet 1 # space scenario
authorize: yes authorize: yes
provider: "{{ cli }}" provider: "{{ cli }}"
become: yes become: yes

Loading…
Cancel
Save