summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changelogs/fragments/fix_ios_vlan.yaml2
-rw-r--r--lib/ansible/modules/network/ios/ios_vlan.py2
-rw-r--r--test/units/modules/network/ios/fixtures/ios_vlan_config.cfg3
-rw-r--r--test/units/modules/network/ios/test_ios_vlan.py14
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',