mirror of
https://github.com/xcat2/confluent.git
synced 2026-09-02 15:36:05 +00:00
Fix additional missing awaits in aiohmi
Await the channel access raw command, the TSMA remote media settings requests, and the XCC3 volume creation responses. These calls returned or unpacked coroutine objects, breaking set_channel_access, TSMA virtual media attach, and RAID volume creation at runtime.
This commit is contained in:
@@ -1581,7 +1581,7 @@ class Command(object):
|
||||
}
|
||||
b |= privilege_levels[privilege_level] & 0b00000111
|
||||
data.append(b)
|
||||
response = self.raw_command(netfn=0x06, command=0x40, data=data)
|
||||
response = await self.raw_command(netfn=0x06, command=0x40, data=data)
|
||||
if 'error' in response:
|
||||
raise Exception(response['error'])
|
||||
return True
|
||||
|
||||
@@ -731,7 +731,7 @@ class TsmHandler(generic.OEMHandler):
|
||||
hddslots += 1
|
||||
else:
|
||||
raise exc.UnsupportedFunctionality('Unknown slot type requested')
|
||||
gensettings = wc.grab_json_response('/api/settings/media/general')
|
||||
gensettings = await wc.grab_json_response('/api/settings/media/general')
|
||||
samesettings = gensettings['same_settings'] == 1
|
||||
if samesettings:
|
||||
hds = gensettings['cd_remote_server_address']
|
||||
@@ -772,10 +772,10 @@ class TsmHandler(generic.OEMHandler):
|
||||
gensettings['remote_media_support'] = 1
|
||||
gensettings['cd_remote_password'] = ''
|
||||
gensettings['hd_remote_password'] = ''
|
||||
wc.grab_json_response_with_status('/api/settings/media/general',
|
||||
await wc.grab_json_response_with_status('/api/settings/media/general',
|
||||
gensettings, method='PUT')
|
||||
# need to calibrate instances correctly
|
||||
currinfo, status = wc.grab_json_response_with_status(
|
||||
currinfo, status = await wc.grab_json_response_with_status(
|
||||
'/api/settings/media/instance')
|
||||
currinfo['num_cd'] = cdslots
|
||||
currinfo['num_hd'] = hddslots
|
||||
@@ -783,9 +783,9 @@ class TsmHandler(generic.OEMHandler):
|
||||
currinfo['kvm_num_cd'] = cdslots
|
||||
if currinfo['kvm_num_hd'] > hddslots:
|
||||
currinfo['kvm_num_hd'] = hddslots
|
||||
wc.grab_json_response_with_status(
|
||||
await wc.grab_json_response_with_status(
|
||||
'/api/settings/media/instance', currinfo, method='PUT')
|
||||
images = wc.grab_json_response('/api/settings/media/remote/images')
|
||||
images = await wc.grab_json_response('/api/settings/media/remote/images')
|
||||
tries = 20
|
||||
while tries and not images:
|
||||
tries -= 1
|
||||
|
||||
@@ -696,14 +696,14 @@ class OEMHandler(generic.OEMHandler):
|
||||
if write_policy:
|
||||
request_data["WriteCachePolicy"] = write_policy
|
||||
|
||||
msg, code=self.webclient.grab_json_response_with_status(
|
||||
msg, code = await self.webclient.grab_json_response_with_status(
|
||||
f'/redfish/v1/Systems/1/Storage/{cid}/Volumes',
|
||||
method='POST',
|
||||
data=request_data)
|
||||
if code == 500 and not stripsize:
|
||||
# Mystery error can be a mandatory strip size, default to 64k to match WebUI behavior
|
||||
request_data["StripSizeBytes"] = 65536
|
||||
msg, code=self.webclient.grab_json_response_with_status(
|
||||
msg, code = await self.webclient.grab_json_response_with_status(
|
||||
f'/redfish/v1/Systems/1/Storage/{cid}/Volumes',
|
||||
method='POST',
|
||||
data=request_data)
|
||||
|
||||
Reference in New Issue
Block a user