]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
tests: fix `_get_osd_id_from_host()` in TestOSDs()
authorGuillaume Abrioux <gabrioux@redhat.com>
Mon, 9 Jul 2018 09:51:24 +0000 (11:51 +0200)
committermergify[bot] <mergify[bot]@users.noreply.github.com>
Tue, 10 Jul 2018 13:06:23 +0000 (13:06 +0000)
We must initialize `children` variable in `_get_osd_id_from_host()`,
otherwise, if for any reason the deployment has failed and result with
an osd host with no OSD registered, we won't enter in the condition,
therefore, `children` is never set and the function tries to return
something undefined.

Typical error:
```
E       UnboundLocalError: local variable 'children' referenced before assignment
```

Fixes: #2860
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
tests/functional/tests/osd/test_osds.py

index 8dbee2e8679069389b981bc02c180e03f48f7ae4..e87f6e1b017770e94c994b0118a57fd242b3030f 100644 (file)
@@ -49,6 +49,7 @@ class TestOSDs(object):
         host.exists('ceph-volume-systemd')
 
     def _get_osd_id_from_host(self, node, osd_tree):
+        children = []
         for n in osd_tree['nodes']:
             if n['name'] == node['vars']['inventory_hostname'] and n['type'] == 'host':
                 children = n['children']