diff options
-rw-r--r-- | changelogs/fragments/fix_ios_vlan.yaml | 2 | ||||
-rw-r--r-- | lib/ansible/modules/network/ios/ios_vlan.py | 2 | ||||
-rw-r--r-- | test/units/modules/network/ios/fixtures/ios_vlan_config.cfg | 3 | ||||
-rw-r--r-- | test/units/modules/network/ios/test_ios_vlan.py | 14 |
4 files changed, 19 insertions, 2 deletions
diff --git a/changelogs/fragments/fix_ios_vlan.yaml b/changelogs/fragments/fix_ios_vlan.yaml new file mode 100644 index 0000000000..1672125802 --- /dev/null +++ b/changelogs/fragments/fix_ios_vlan.yaml @@ -0,0 +1,2 @@ +- bugfixes: + - ios_vlan - fix unable to identify correct vlan issue (https://github.com/ansible/ansible/pull/42247) diff --git a/lib/ansible/modules/network/ios/ios_vlan.py b/lib/ansible/modules/network/ios/ios_vlan.py index fece8876f4..7a186777c7 100644 --- a/lib/ansible/modules/network/ios/ios_vlan.py +++ b/lib/ansible/modules/network/ios/ios_vlan.py @@ -218,7 +218,7 @@ def parse_to_logical_rows(out): if not l: """Skip empty lines.""" continue - if '0' < l[0] < '9': + if '0' < l[0] <= '9': """Line starting with a number.""" if started_yielding: yield cur_row diff --git a/test/units/modules/network/ios/fixtures/ios_vlan_config.cfg b/test/units/modules/network/ios/fixtures/ios_vlan_config.cfg index 945b8b4aa2..69ac0b5e55 100644 --- a/test/units/modules/network/ios/fixtures/ios_vlan_config.cfg +++ b/test/units/modules/network/ios/fixtures/ios_vlan_config.cfg @@ -4,5 +4,6 @@ VLAN Name Status Ports Gi1/0/52 Gi1/0/54 2 vlan2 active Gi1/0/6, Gi1/0/7 +9 vlan9 active Gi1/0/6 1002 fddi-default act/unsup -1003 fddo-default act/unsup
\ No newline at end of file +1003 fddo-default act/unsup diff --git a/test/units/modules/network/ios/test_ios_vlan.py b/test/units/modules/network/ios/test_ios_vlan.py index 8315e8343e..6c8926fb09 100644 --- a/test/units/modules/network/ios/test_ios_vlan.py +++ b/test/units/modules/network/ios/test_ios_vlan.py @@ -59,6 +59,12 @@ class TestIosVlanModule(TestIosModule): ] self.assertEqual(result['commands'], expected_commands) + def test_ios_vlan_id_startwith_9(self): + set_module_args({'vlan_id': '9', 'name': 'vlan9', 'state': 'present'}) + result = self.execute_module(changed=False) + expected_commands = [] + self.assertEqual(result['commands'], expected_commands) + def test_ios_vlan_rename(self): set_module_args({'vlan_id': '2', 'name': 'test', 'state': 'present'}) result = self.execute_module(changed=True) @@ -122,6 +128,14 @@ class TestIosVlanModule(TestIosModule): 'vlan_id': '2', }, { + 'name': 'vlan9', + 'interfaces': [ + 'GigabitEthernet1/0/6', + ], + 'state': 'active', + 'vlan_id': '9', + }, + { 'name': 'fddi-default', 'interfaces': [], 'state': 'act/unsup', |