fix: handle big list of hp disk

we cant use p.wait() if too much data.
This commit is contained in:
Cyril Levis 2022-12-13 17:26:45 +01:00
parent a9af96bba2
commit cedb6818a3
No known key found for this signature in database
GPG key ID: 6DB88737C11F5A48

View file

@ -18,14 +18,14 @@ def ssacli(sub_command):
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
p.wait()
stdout = p.stdout.read().decode("utf-8")
if p.returncode != 0 and 'does not have any physical' not in stdout:
stdout, stderr = p.communicate()
stdout = stdout.decode("utf-8")
if p.returncode != 0:
mesg = "Failed to execute command '{}':\n{}".format(
" ".join(command), stdout
)
raise HPRaidControllerError(mesg)
else:
if 'does not have any physical' in stdout:
return list()
else: