diff --git a/changelogs/fragments/fix_vyos_facts.yaml b/changelogs/fragments/fix_vyos_facts.yaml new file mode 100644 index 0000000000..0f9d944db4 --- /dev/null +++ b/changelogs/fragments/fix_vyos_facts.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - vyos_facts - fix vyos_facts not returning version number issue (https://github.com/ansible/ansible/pull/39115) diff --git a/lib/ansible/modules/network/vyos/vyos_facts.py b/lib/ansible/modules/network/vyos/vyos_facts.py index 1d50f415ea..88588557f9 100644 --- a/lib/ansible/modules/network/vyos/vyos_facts.py +++ b/lib/ansible/modules/network/vyos/vyos_facts.py @@ -135,7 +135,7 @@ class Default(FactsBase): self.facts['hostname'] = self.responses[1] def parse_version(self, data): - match = re.search(r'Version:\s*(\S+)', data) + match = re.search(r'Version:\s*(.*)', data) if match: return match.group(1) diff --git a/test/units/modules/network/vyos/test_vyos_facts.py b/test/units/modules/network/vyos/test_vyos_facts.py index 82a71fba31..4c421d80a3 100644 --- a/test/units/modules/network/vyos/test_vyos_facts.py +++ b/test/units/modules/network/vyos/test_vyos_facts.py @@ -63,7 +63,7 @@ class TestVyosFactsModule(TestVyosModule): facts = result.get('ansible_facts') self.assertEqual(len(facts), 5) self.assertEqual(facts['ansible_net_hostname'].strip(), 'vyos01') - self.assertEqual(facts['ansible_net_version'], 'VyOS') + self.assertEqual(facts['ansible_net_version'], 'VyOS 1.1.7') def test_vyos_facts_not_all(self): set_module_args(dict(gather_subset='!all')) @@ -71,7 +71,7 @@ class TestVyosFactsModule(TestVyosModule): facts = result.get('ansible_facts') self.assertEqual(len(facts), 5) self.assertEqual(facts['ansible_net_hostname'].strip(), 'vyos01') - self.assertEqual(facts['ansible_net_version'], 'VyOS') + self.assertEqual(facts['ansible_net_version'], 'VyOS 1.1.7') def test_vyos_facts_exclude_most(self): set_module_args(dict(gather_subset=['!neighbors', '!config'])) @@ -79,7 +79,7 @@ class TestVyosFactsModule(TestVyosModule): facts = result.get('ansible_facts') self.assertEqual(len(facts), 5) self.assertEqual(facts['ansible_net_hostname'].strip(), 'vyos01') - self.assertEqual(facts['ansible_net_version'], 'VyOS') + self.assertEqual(facts['ansible_net_version'], 'VyOS 1.1.7') def test_vyos_facts_invalid_subset(self): set_module_args(dict(gather_subset='cereal'))