mirror of
https://github.com/xcat2/confluent.git
synced 2026-01-12 02:52:30 +00:00
Provide API to query update readyness
This commit is contained in:
@@ -490,6 +490,10 @@ def _init_core():
|
||||
'pluginattrs': ['hardwaremanagement.method'],
|
||||
'default': 'ipmi',
|
||||
}),
|
||||
'updatestatus': PluginCollection({
|
||||
'pluginattrs': ['hardwaremanagement.method'],
|
||||
'default': 'ipmi',
|
||||
}),
|
||||
'updates': {
|
||||
'active': PluginCollection({
|
||||
'pluginattrs': ['hardwaremanagement.method'],
|
||||
|
||||
@@ -572,6 +572,8 @@ class IpmiHandler(object):
|
||||
self.handle_configuration()
|
||||
elif self.element[:3] == ['inventory', 'firmware', 'updates']:
|
||||
self.handle_update()
|
||||
elif self.element[:3] == ['inventory', 'firmware', 'updatestatus']:
|
||||
self.handle_update_status()
|
||||
elif self.element[0] == 'inventory':
|
||||
self.handle_inventory()
|
||||
elif self.element == ['media', 'attach']:
|
||||
@@ -978,6 +980,14 @@ class IpmiHandler(object):
|
||||
if errorneeded:
|
||||
self.output.put(errorneeded)
|
||||
|
||||
def handle_update_status(self):
|
||||
activeupdates = firmwaremanager.list_updates([self.node], None, [])
|
||||
if activeupdates:
|
||||
self.output.put(msg.KeyValueData({'status': 'active'}, self.node))
|
||||
else:
|
||||
status = self.ipmicmd.get_update_status()
|
||||
self.output.put(msg.KeyValueData({'status': status}, self.node))
|
||||
|
||||
def handle_inventory(self):
|
||||
if self.element[1] == 'firmware':
|
||||
if len(self.element) == 3:
|
||||
|
||||
@@ -431,6 +431,8 @@ class IpmiHandler(object):
|
||||
self.handle_configuration()
|
||||
elif self.element[:3] == ['inventory', 'firmware', 'updates']:
|
||||
self.handle_update()
|
||||
elif self.element[:3] == ['inventory', 'firmware', 'updatestatus']:
|
||||
self.handle_update_status()
|
||||
elif self.element[0] == 'inventory':
|
||||
self.handle_inventory()
|
||||
elif self.element == ['media', 'attach']:
|
||||
@@ -835,6 +837,14 @@ class IpmiHandler(object):
|
||||
if errorneeded:
|
||||
self.output.put(errorneeded)
|
||||
|
||||
def handle_update_status(self):
|
||||
activeupdates = firmwaremanager.list_updates([self.node], None, [])
|
||||
if activeupdates:
|
||||
self.output.put(msg.KeyValueData({'status': 'active'}, self.node))
|
||||
else:
|
||||
status = self.ipmicmd.get_update_status()
|
||||
self.output.put(msg.KeyValueData({'status': status}, self.node))
|
||||
|
||||
def handle_inventory(self):
|
||||
if self.element[1] == 'firmware':
|
||||
if len(self.element) == 3:
|
||||
|
||||
Reference in New Issue
Block a user