From 1b7a898c7a336778c0e43ce6e26a36e43cf1080b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 21 Jun 2023 21:45:18 +0200 Subject: Remove everything. Remove everything in the module, to make room for a new module in its place (but keeping the history, just in case). The problem with this module was that it tried way to hard to handle the machines by itself, while that should be done outside puppet. The new module will have a much simpler idea of how to provission, not attempt to build machines from scratch, and especially not do anything expensive. --- facts.d/nspawn_machines.py | 71 ---------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100755 facts.d/nspawn_machines.py (limited to 'facts.d') diff --git a/facts.d/nspawn_machines.py b/facts.d/nspawn_machines.py deleted file mode 100755 index f8fc9a5..0000000 --- a/facts.d/nspawn_machines.py +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env python3 - -import sys - -try: - import dbus - import yaml -except ImportError: - sys.exit(0) - -bus = dbus.SystemBus() -bus_name = 'org.freedesktop.machine1' # dest -object_path = '/org/freedesktop/machine1' -try: - machined_proxy = bus.get_object(bus_name=bus_name, object_path=object_path) -except: - sys.exit(1) -iface = dbus.Interface(machined_proxy, dbus_interface='org.freedesktop.machine1.Manager') - - -machines = iface.ListMachines() -machine_names = [] -machines_info = {} -for (machine_name, *_) in machines: - machine = iface.GetMachine(machine_name) - pp = bus.get_object(bus_name='org.freedesktop.machine1', object_path=machine) - ii = dbus.Interface(pp, dbus_interface='org.freedesktop.DBus.Properties') - out_dict = {} - for key, value in ii.GetAll('org.freedesktop.machine1.Machine').items(): - # see help(dbus.types) - t = type(value) - if t == dbus.ByteArray: - raise NotImplementedError('Byte array') - elif t == dbus.Double: - v = float(value) - elif t == dbus.Boolean: - v = bool(value) - elif t in [ dbus.Byte, dbus.Int16, dbus.Int32, dbus.Int64, dbus.UInt16, dbus.UInt32, dbus.UInt64 ]: - v = int(value) - elif t in [ dbus.ObjectPath, dbus.Signature ]: - # string likes - v = str(value) - elif t == dbus.Dictionary: - # dict like - raise NotImplementedError('Dictionary') - elif t == dbus.Array: - if value.signature == dbus.Signature('y'): - v = bytes(int(x) for x in value) - elif value.signature == dbus.Signature('i'): - v = [int(x) for x in value] - else: - print(repr(value)) - print(repr(value.signature)) - raise NotImplementedError('Array') - # case dbus.UnixFd: - # raise NotImplementedError() - elif t == dbus.String: - v = str(value) - elif t == dbus.Struct: - # tuple like - raise NotImplementedError('Struct') - out_dict[str(key)] = v - machine_names.append(str(machine_name)) - machines_info[str(machine_name)] = out_dict - -out = { - 'machined-machines': machine_names, - 'machined-info': machines_info, -} - -print(yaml.dump(out)) -- cgit v1.2.3