Commit ed79bc7a authored by Guillaume Abrioux's avatar Guillaume Abrioux
Browse files

ceph_volume: fix bug in `is_lv()`



This function makes the `ceph_volume` module be not idempotent in
containerized context because it tries to run a container and bindmount
directories that no longer exist.

In that case, the `lvs` command being executed returns something
different than `0` so we can't call `json.loads(out)['report'][0]['lv']`
since it might throw an python error.

The idea is to return `True` only if `rc` is equal to `0` and
`len(result)` is greater than `0`, which means the command matched an
LV.

Fixes: #6284
Signed-off-by: default avatarGuillaume Abrioux <gabrioux@redhat.com>
parent bf8cdad9
......@@ -446,11 +446,12 @@ def is_lv(module, vg, lv, container_image):
rc, cmd, out, err = exec_command(module, cmd)
result = json.loads(out)['report'][0]['lv']
if rc == 0 and len(result) > 0:
return True
else:
return False
if rc == 0:
result = json.loads(out)['report'][0]['lv']
if len(result) > 0:
return True
return False
def zap_devices(module, container_image):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment