diff --git a/zaza/openstack/charm_tests/ceph/tests.py b/zaza/openstack/charm_tests/ceph/tests.py index 379c330..1904c0b 100644 --- a/zaza/openstack/charm_tests/ceph/tests.py +++ b/zaza/openstack/charm_tests/ceph/tests.py @@ -186,6 +186,10 @@ class CephTest(test_utils.OpenStackBaseTest): def setUpClass(cls): """Run the ceph's common class setup.""" super(CephTest, cls).setUpClass() + cls.loop_devs = {} # Maps osd -> loop device + for osd in (x.entity_id for x in zaza_model.get_units('ceph-osd')): + loop_dev = zaza_utils.add_loop_device(osd, 10).get('Stdout') + cls.loop_devs[osd] = loop_dev def osd_out_in(self, services): """Run OSD out and OSD in tests. @@ -565,8 +569,7 @@ class CephTest(test_utils.OpenStackBaseTest): osds = [x.entity_id for x in zaza_model.get_units('ceph-osd')] params = [] for unit in osds: - zaza_model.add_storage(unit, 'cache-devices', 'cinder', 10) - loop_dev = zaza_utils.add_loop_device(unit, 10).get('Stdout') + loop_dev = self.loop_devs[unit] params.append({'unit': unit, 'device': loop_dev}) action_obj = zaza_model.run_action( unit_name=unit, @@ -591,6 +594,7 @@ class CephTest(test_utils.OpenStackBaseTest): results = json.loads(action_obj.data['results']['message']) results = results[next(iter(results))] self.assertEqual(results['osd-ids'], osd_id) + zaza_model.run_on_unit(param['unit'], 'partprobe') zaza_model.wait_for_application_states() logging.info('Recycling previously removed OSDs')