2
0
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:
Markus Hilger
2026-07-11 22:28:40 +02:00
parent 2117d120d8
commit 2c41841efc
3 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -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)