From 55c5bff0f9d16b4ccc2d5e811596da445fa2920b Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Mon, 14 Jan 2019 15:09:49 -0500 Subject: [PATCH] Add support for uploading a license key This provides the most important piece of license key management. --- confluent_server/confluent/messages.py | 6 ++++++ .../confluent/plugins/hardwaremanagement/ipmi.py | 2 ++ 2 files changed, 8 insertions(+) diff --git a/confluent_server/confluent/messages.py b/confluent_server/confluent/messages.py index 90126f83..c5469759 100644 --- a/confluent_server/confluent/messages.py +++ b/confluent_server/confluent/messages.py @@ -438,6 +438,9 @@ def get_input_message(path, operation, inputdata, nodes=None, multinode=False, return InputMedia(path, nodes, inputdata) elif '/'.join(path).startswith('support/servicedata') and inputdata: return InputMedia(path, nodes, inputdata) + elif '/'.join(path).startswith( + 'configuration/management_controller/licenses') and inputdata: + return InputLicense(path, nodes, inputdata) elif inputdata: raise exc.InvalidArgumentException( 'No known input handler for request') @@ -453,6 +456,9 @@ class InputMedia(InputFirmwareUpdate): # Use InputFirmwareUpdate pass +class InputLicense(InputFirmwareUpdate): + pass + class DetachMedia(ConfluentMessage): def __init__(self, path, nodes, inputdata): diff --git a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py index 3a1ad68a..70ec4eb5 100644 --- a/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py +++ b/confluent_server/confluent/plugins/hardwaremanagement/ipmi.py @@ -1402,6 +1402,8 @@ class IpmiHandler(object): def handle_licenses(self): if self.element[-1] == '': self.element = self.element[:-1] + if self.op in ('create', 'update'): + self.ipmicmd.apply_license(self.inputdata.filename) if len(self.element) == 3: self.output.put(msg.ChildCollection('all')) i = 1