mirror of
https://opendev.org/x/pyghmi
synced 2026-08-29 01:56:49 +00:00
Update to newer XCC storage syntax
Two new variants of XCC storage cfg have occurred, detect and handle them. Change-Id: Ie53f53093b5737a4930ecb420b087a15d8149796
This commit is contained in:
@@ -1437,6 +1437,9 @@ class XCCClient(IMMClient):
|
||||
url = '/api/function/raid_conf?params=raidlink_GetDefaultVolProp'
|
||||
args = (url, cid, 0, params['drives'])
|
||||
props = self.wc.grab_json_response(','.join([str(x) for x in args]))
|
||||
if not props: # newer firmwarerequires raidlevel too
|
||||
args = (url, cid, params['raidlevel'], 0, params['drives'])
|
||||
props = self.wc.grab_json_response(','.join([str(x) for x in args]))
|
||||
props = props['items'][0]
|
||||
volumes = pool.volumes
|
||||
remainingcap = params['capacity']
|
||||
@@ -1507,14 +1510,21 @@ class XCCClient(IMMClient):
|
||||
parms = {'raidlink_AddNewVolWithNaAsync': arglist}
|
||||
rsp = self.wc.grab_json_response(url, parms)
|
||||
if rsp['return'] == 14: # newer firmware
|
||||
if cid[2] == 2:
|
||||
cnum = cid[1]
|
||||
arglist = '{0},{1},{2},{3},{4},{5},'.format(
|
||||
arglist = '{0},{1},{2},{3},{4},{5},{6},'.format(
|
||||
cnum, params['raidlevel'], params['spans'],
|
||||
params['perspan'], params['drives'], params['hotspares'])
|
||||
arglist += ''.join(vols) + ',{0}'.format(cid[2])
|
||||
params['perspan'], 0, params['drives'], params['hotspares'])
|
||||
arglist += ''.join(vols)
|
||||
parms = {'raidlink_AddNewVolWithNaAsync': arglist}
|
||||
rsp = self.wc.grab_json_response(url, parms)
|
||||
if not rsp: # Purley
|
||||
if cid[2] == 2:
|
||||
cnum = cid[1]
|
||||
arglist = '{0},{1},{2},{3},{4},{5},'.format(
|
||||
cnum, params['raidlevel'], params['spans'],
|
||||
params['perspan'], params['drives'], params['hotspares'])
|
||||
arglist += ''.join(vols) + ',{0}'.format(cid[2])
|
||||
parms = {'raidlink_AddNewVolWithNaAsync': arglist}
|
||||
rsp = self.wc.grab_json_response(url, parms)
|
||||
if rsp['return'] != 0:
|
||||
raise Exception(
|
||||
'Unexpected response to add volume command: ' + repr(rsp))
|
||||
|
||||
@@ -567,6 +567,9 @@ class OEMHandler(generic.OEMHandler):
|
||||
url = '/api/function/raid_conf?params=raidlink_GetDefaultVolProp'
|
||||
args = (url, cid, 0, params['drives'])
|
||||
props = self.wc.grab_json_response(','.join([str(x) for x in args]))
|
||||
if not props: # newer firmwarerequires raidlevel too
|
||||
args = (url, cid, params['raidlevel'], 0, params['drives'])
|
||||
props = self.wc.grab_json_response(','.join([str(x) for x in args]))
|
||||
props = props['items'][0]
|
||||
volumes = pool.volumes
|
||||
remainingcap = params['capacity']
|
||||
@@ -638,14 +641,21 @@ class OEMHandler(generic.OEMHandler):
|
||||
parms = {'raidlink_AddNewVolWithNaAsync': arglist}
|
||||
rsp = self.wc.grab_json_response(url, parms)
|
||||
if rsp['return'] == 14: # newer firmware
|
||||
if cid[2] == 2:
|
||||
cnum = cid[1]
|
||||
arglist = '{0},{1},{2},{3},{4},{5},'.format(
|
||||
arglist = '{0},{1},{2},{3},{4},{5},{6},'.format(
|
||||
cnum, params['raidlevel'], params['spans'],
|
||||
params['perspan'], params['drives'], params['hotspares'])
|
||||
arglist += ''.join(vols) + ',{0}'.format(cid[2])
|
||||
params['perspan'], 0, params['drives'], params['hotspares'])
|
||||
arglist += ''.join(vols)
|
||||
parms = {'raidlink_AddNewVolWithNaAsync': arglist}
|
||||
rsp = self.wc.grab_json_response(url, parms)
|
||||
if not rsp: # Purley
|
||||
if cid[2] == 2:
|
||||
cnum = cid[1]
|
||||
arglist = '{0},{1},{2},{3},{4},{5},'.format(
|
||||
cnum, params['raidlevel'], params['spans'],
|
||||
params['perspan'], params['drives'], params['hotspares'])
|
||||
arglist += ''.join(vols) + ',{0}'.format(cid[2])
|
||||
parms = {'raidlink_AddNewVolWithNaAsync': arglist}
|
||||
rsp = self.wc.grab_json_response(url, parms)
|
||||
if rsp['return'] != 0:
|
||||
raise Exception(
|
||||
'Unexpected response to add volume command: ' + repr(rsp))
|
||||
|
||||
Reference in New Issue
Block a user