diff --git a/confluent_server/confluent/firmwaremanager.py b/confluent_server/confluent/firmwaremanager.py index 6fc5c91a..f98ae7b3 100644 --- a/confluent_server/confluent/firmwaremanager.py +++ b/confluent_server/confluent/firmwaremanager.py @@ -26,7 +26,8 @@ updatesbytarget = {} def execupdate(handler, filename, updateobj): try: - completion = handler(filename, progress=updateobj.handle_progress) + completion = handler(filename, progress=updateobj.handle_progress, + bank=updateobj.bank) if completion is None: completion = 'complete' updateobj.handle_progress({'phase': completion, 'progress': 100.0}) @@ -35,7 +36,9 @@ def execupdate(handler, filename, updateobj): 'detail': str(e)}) class Updater(object): - def __init__(self, node, handler, filename, tenant=None, name=None): + def __init__(self, node, handler, filename, tenant=None, name=None, + bank=None): + self.bank = bank self.node = node self.phase = 'initializing' self.detail = '' diff --git a/confluent_server/confluent/messages.py b/confluent_server/confluent/messages.py index a4c14144..7d5795bd 100644 --- a/confluent_server/confluent/messages.py +++ b/confluent_server/confluent/messages.py @@ -399,6 +399,7 @@ class InputFirmwareUpdate(ConfluentMessage): def __init__(self, path, nodes, inputdata): self.filename = inputdata['filename'] + self.bank = inputdata.get('bank', None) self.nodes = nodes diff --git a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py index 7674f6d4..0e4fbd11 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py @@ -455,7 +455,8 @@ class IpmiHandler(object): def handle_update(self): u = firmwaremanager.Updater(self.node, self.ipmicmd.update_firmware, - self.inputdata.filename, self.tenant) + self.inputdata.filename, self.tenant, + bank=self.inputdata.bank) self.output.put( msg.CreatedResource( 'nodes/{0}/inventory/firmware/updates/active/{1}'.format(