scripts: remove unused gen_pimrules.py
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ib6fccba3d892c49818161077437542559f1220ae
diff --git a/scripts/gen_pimrules.py b/scripts/gen_pimrules.py
deleted file mode 100755
index 7099b46..0000000
--- a/scripts/gen_pimrules.py
+++ /dev/null
@@ -1,193 +0,0 @@
-#!/usr/bin/env python3
-
-"""Generate PIM rules for ipmi-fru-parser.
-"""
-
-import argparse
-import os
-
-import yaml
-from mako.template import Template
-
-tmpl = """
-description: >
- PIM rules for ipmi-fru-parser inventory objects.
-events:
-
- - name: Host off at startup
- description: >
- Mark ipmi-fru-parser inventory items as cached when
- the host is off at startup.
- type: startup
- actions:
- - name: setProperty
- interface: ${cacheable_iface}
- property: ${cacheable_property}
- paths:
-%for i in cacheable:
- - ${i}
-%endfor
- value:
- type: ${cacheable_type}
- value: ${cacheable_cached}
-
- - name: Host off event
- description: >
- Mark ipmi-fru-parser inventory items as cached when
- the host goes away.
- type: match
- signatures:
- - type: signal
- interface: org.freedesktop.DBus.Properties
- path: ${off_path}
- member: PropertiesChanged
- filters:
- - name: propertyChangedTo
- interface: ${off_iface}
- property: ${off_property}
- value:
- value: ${off_value}
- type: ${off_type}
- actions:
- - name: setProperty
- interface: ${cacheable_iface}
- property: ${cacheable_property}
- paths:
-%for i in cacheable:
- - ${i}
-%endfor
- value:
- type: ${cacheable_type}
- value: ${cacheable_cached}
-
- - name: Host on at startup
- description: >
- Remove ipmi-fru-parser inventory items when the host is finished
- sending inventory items and the item is still marked as cached.
- type: startup
- filters:
- - name: propertyIs
- path: ${on_path}
- interface: ${on_iface}
- property: ${on_property}
- value:
- value: ${on_value}
- type: ${on_type}
- actions:
- - name: destroyObjects
- paths:
-%for i in cacheable:
- - ${i}
-%endfor
- conditions:
- - name: propertyIs
- interface: ${cacheable_iface}
- property: ${cacheable_property}
- value:
- type: ${cacheable_type}
- value: ${cacheable_cached}
-
- - name: Host on event
- description: >
- Remove ipmi-fru-parser inventory items when the host is finished
- sending inventory items and the item is still marked as cached.
- type: match
- signatures:
- - type: signal
- interface: org.freedesktop.DBus.Properties
- path: ${on_path}
- member: PropertiesChanged
- filters:
- - name: propertyChangedTo
- interface: ${on_iface}
- property: ${on_property}
- value:
- value: ${on_value}
- type: ${on_type}
- actions:
- - name: destroyObjects
- paths:
-%for i in cacheable:
- - ${i}
-%endfor
- conditions:
- - name: propertyIs
- interface: ${cacheable_iface}
- property: ${cacheable_property}
- value:
- type: ${cacheable_type}
- value: ${cacheable_cached}
-"""
-
-
-def get_cacheable_objs(yaml):
- cacheable = []
-
- for objdata in data.values():
- if not isinstance(objdata, dict):
- continue
- for path, ifaces in objdata.items():
- if not isinstance(ifaces, dict):
- continue
-
- if cacheable_iface_name in ifaces.keys():
- cacheable.append(path)
-
- return cacheable
-
-
-if __name__ == "__main__":
- script_dir = os.path.dirname(os.path.realpath(__file__))
-
- parser = argparse.ArgumentParser(
- description="ipmi-fru-parser PIM rule generator."
- )
- parser.add_argument(
- "-o",
- "--output-dir",
- dest="outputdir",
- default=".",
- help="Output directory.",
- )
- parser.add_argument(
- "inventory",
- metavar="INVENTORY",
- type=str,
- help="Path to inventory YAML.",
- )
-
- args = parser.parse_args()
-
- with open(args.inventory, "r") as fd:
- data = yaml.safe_load(fd.read())
-
- cacheable_iface_name = "xyz.openbmc_project.Inventory.Decorator.Cacheable"
- target_file = os.path.join(args.outputdir, "ipmi-fru-rules.yaml")
- cacheable = []
-
- if isinstance(data, dict):
- cacheable = get_cacheable_objs(data)
- if cacheable:
- with open(target_file, "w") as out:
- out.write(
- Template(tmpl).render(
- cacheable_iface=cacheable_iface_name,
- cacheable_property="Cached",
- cacheable_cached="true",
- cacheable_type="boolean",
- on_path="/xyz/openbmc_project/state/host0",
- on_iface="xyz.openbmc_project.State.Boot.Progress",
- on_property="BootProgress",
- on_value="xyz.openbmc_project.State.Boot.Progress.ProgressStages.OSStart",
- on_type="string",
- off_path="/xyz/openbmc_project/state/host0",
- off_iface="xyz.openbmc_project.State.Host",
- off_property="CurrentHostState",
- off_value="xyz.openbmc_project.State.Host.Off",
- off_type="string",
- cacheable=cacheable,
- )
- )
-
-
-# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4