mirror of https://github.com/ceph/ceph-ansible.git
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: Guillaume Abrioux <gabrioux@redhat.com>pull/6367/head
parent
bf8cdad937
commit
ed79bc7a4e
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue