From ee3b82487054fd244ea2c1f02767f7a92b64ed5a Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Thu, 23 Aug 2018 08:44:41 -0400 Subject: [PATCH] Add /description to nodes api --- confluent_server/confluent/core.py | 6 ++++++ .../confluent/plugins/hardwaremanagement/ipmi.py | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/confluent_server/confluent/core.py b/confluent_server/confluent/core.py index 11e791db..9f8bae07 100644 --- a/confluent_server/confluent/core.py +++ b/confluent_server/confluent/core.py @@ -263,6 +263,10 @@ def _init_core(): 'pluginattrs': ['hardwaremanagement.method'], 'default': 'ipmi', }), + 'description': PluginRoute({ + 'pluginattrs': ['hardwaremanagement.method'], + 'default': 'ipmi', + }), 'inventory': { 'hardware': { 'all': PluginCollection({ @@ -826,6 +830,8 @@ def addtoqueue(theq, fun, kwargs): else: for pv in result: theq.put(pv) + except Exception as e: + theq.put(e) finally: theq.put('theend') diff --git a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py index beb2a9cc..abe4d87d 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py @@ -482,6 +482,8 @@ class IpmiHandler(object): self.decode_alert() elif self.element == ['console', 'license']: self.handle_license() + elif self.element == ['description']: + self.handle_description() else: raise Exception('Not Implemented') @@ -1086,6 +1088,11 @@ class IpmiHandler(object): self.output.put(msg.License(self.node, available)) return + def handle_description(self): + dsc = self.ipmicmd.get_description() + self.output.put(msg.KeyValueData(dsc, self.node)) + + def _str_health(health): if isinstance(health, str): return health