aboutsummaryrefslogtreecommitdiff
path: root/personal_infra/pseudo_resource_exporter.py
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2023-02-19 02:59:35 +0100
committeralex <alex@pdp7.net>2023-02-19 03:13:56 +0100
commitfe18b2fb5283ff46aa8b66d9ffb317e18523be36 (patch)
tree6e83cdbbffbec093420b36952e1f58d0264397b1 /personal_infra/pseudo_resource_exporter.py
parent9b3e07f3f5ace3ff339dc1f79734373f161b5620 (diff)
Add Talos support
Diffstat (limited to 'personal_infra/pseudo_resource_exporter.py')
-rwxr-xr-xpersonal_infra/pseudo_resource_exporter.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/personal_infra/pseudo_resource_exporter.py b/personal_infra/pseudo_resource_exporter.py
index 793f2b77..9ef498bb 100755
--- a/personal_infra/pseudo_resource_exporter.py
+++ b/personal_infra/pseudo_resource_exporter.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
import json
import pathlib
+import subprocess
"""
@@ -41,12 +42,17 @@ if nagios_catalog_file.exists():
assert len(nagios_contacts) == 1, f"found multiple nagios contacts {nagios_contacts}"
nagios_contact = nagios_contacts[0]
-total_hosts_in_inventory = len(list(pathlib.Path("host_vars").glob("*")))
+
+ail = subprocess.run(["ansible-inventory", "--list"], check=True, stdout=subprocess.PIPE)
+inventory = json.loads(ail.stdout)
+total_hosts_in_inventory = len(inventory["_meta"]["hostvars"].keys())
+k8s_hosts_in_inventory = len(inventory["k8s"]["hosts"])
+puppet_hosts_in_inventory = total_hosts_in_inventory - k8s_hosts_in_inventory
catalog_files = list(pathlib.Path("build/puppet/build/output/").glob("*/catalog.json"))
if nagios_catalog_file.exists():
- assert len(catalog_files) == total_hosts_in_inventory, f"catalogs {catalog_files} quantity different from total hosts in inventory {total_hosts_in_inventory}"
+ assert len(catalog_files) == puppet_hosts_in_inventory, f"catalogs {catalog_files} quantity different from total hosts in inventory {puppet_hosts_in_inventory}"
nagios_resources = []