2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-11-25 19:10:10 +00:00

Enable IPMI for user if IPMI has been enabled globally elsewhere

Scenarios have come up with trying to repair partially
configured configuration, break
the global and per-account check
into separate concerns.
This commit is contained in:
Jarrod Johnson 2022-08-24 10:13:53 -04:00
parent 31b3d6ea06
commit 93b7547c58

View File

@ -558,20 +558,20 @@ class NodeHandler(immhandler.NodeHandler):
_, _ = nwc.grab_json_response_with_status(
'/redfish/v1/Managers/1/NetworkProtocol',
{'IPMI': {'ProtocolEnabled': True}}, method='PATCH')
rsp, status = nwc.grab_json_response_with_status(
'/redfish/v1/AccountService/Accounts/1')
if status == 200:
allowable = rsp.get('AccountTypes@Redfish.AllowableValues', [])
current = rsp.get('AccountTypes', [])
if 'IPMI' in allowable and 'IPMI' not in current:
current.append('IPMI')
updateinf = {
'AccountTypes': current,
'Password': self._currcreds[1]
}
rsp, status = nwc.grab_json_response_with_status(
'/redfish/v1/AccountService/Accounts/1',
updateinf, method='PATCH')
rsp, status = nwc.grab_json_response_with_status(
'/redfish/v1/AccountService/Accounts/1')
if status == 200:
allowable = rsp.get('AccountTypes@Redfish.AllowableValues', [])
current = rsp.get('AccountTypes', [])
if 'IPMI' in allowable and 'IPMI' not in current:
current.append('IPMI')
updateinf = {
'AccountTypes': current,
'Password': self._currcreds[1]
}
rsp, status = nwc.grab_json_response_with_status(
'/redfish/v1/AccountService/Accounts/1',
updateinf, method='PATCH')
if ('hardwaremanagement.manager' in cd and
cd['hardwaremanagement.manager']['value'] and
not cd['hardwaremanagement.manager']['value'].startswith(