From 2a93efff9d58ec701a864618926dfd288d466dad Mon Sep 17 00:00:00 2001 From: RoosO Date: Tue, 30 Jul 2024 13:30:50 +0200 Subject: [PATCH 1/3] added primary_ip4_netmask to output --- plugins/inventory/nb_inventory.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/plugins/inventory/nb_inventory.py b/plugins/inventory/nb_inventory.py index 03444b6b4..1ced23474 100644 --- a/plugins/inventory/nb_inventory.py +++ b/plugins/inventory/nb_inventory.py @@ -840,6 +840,13 @@ def extract_primary_ip4(self, host): except Exception: return + def extract_primary_ip4_netmask(self, host): + try: + address = host["primary_ip4"]["address"] + return str(ip_interface(address).netmask) + except Exception: + return + def extract_primary_ip6(self, host): try: address = host["primary_ip6"]["address"] @@ -1938,6 +1945,10 @@ def _fill_host_variables(self, host, hostname): if extracted_primary_ip4: self._set_variable(hostname, "primary_ip4", extracted_primary_ip4) + extracted_primary_ip4_netmask = self.extract_primary_ip4_netmask(host=host) + if extracted_primary_ip4_netmask: + self._set_variable(hostname, "primary_ip4_netmask", extracted_primary_ip4_netmask) + extracted_primary_ip6 = self.extract_primary_ip6(host=host) if extracted_primary_ip6: self._set_variable(hostname, "primary_ip6", extracted_primary_ip6) From 7b222a25dce285ef7baba41d0de6bc4c82274ac2 Mon Sep 17 00:00:00 2001 From: RoosO Date: Wed, 31 Jul 2024 08:44:04 +0200 Subject: [PATCH 2/3] add changelog --- .../fragments/1293-added-primary-ip4-netmask-to-output.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100755 changelogs/fragments/1293-added-primary-ip4-netmask-to-output.yml diff --git a/changelogs/fragments/1293-added-primary-ip4-netmask-to-output.yml b/changelogs/fragments/1293-added-primary-ip4-netmask-to-output.yml new file mode 100755 index 000000000..97db13277 --- /dev/null +++ b/changelogs/fragments/1293-added-primary-ip4-netmask-to-output.yml @@ -0,0 +1,2 @@ +minor_changes: + - Adds the ability to return ``primary_ip4_netmask`` for virtual machines in nb_inventory plugin. From a75e0e0334cecf8e7884e2191dfa0151846642ea Mon Sep 17 00:00:00 2001 From: RoosO Date: Wed, 31 Jul 2024 08:44:19 +0200 Subject: [PATCH 3/3] reformat code --- plugins/inventory/nb_inventory.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/inventory/nb_inventory.py b/plugins/inventory/nb_inventory.py index 1ced23474..b4a29ab7f 100644 --- a/plugins/inventory/nb_inventory.py +++ b/plugins/inventory/nb_inventory.py @@ -1947,7 +1947,9 @@ def _fill_host_variables(self, host, hostname): extracted_primary_ip4_netmask = self.extract_primary_ip4_netmask(host=host) if extracted_primary_ip4_netmask: - self._set_variable(hostname, "primary_ip4_netmask", extracted_primary_ip4_netmask) + self._set_variable( + hostname, "primary_ip4_netmask", extracted_primary_ip4_netmask + ) extracted_primary_ip6 = self.extract_primary_ip6(host=host) if extracted_primary_ip6: