diff options
Diffstat (limited to 'cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py')
-rw-r--r-- | cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py | 75 |
1 files changed, 62 insertions, 13 deletions
diff --git a/cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py b/cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py index 79d69cd0c..0b16810d3 100644 --- a/cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py +++ b/cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py @@ -4321,7 +4321,6 @@ class StorwizeSVCFcDriverTestCase(test.TestCase): self.assertIsNotNone(host_name) def test_storwize_get_host_from_connector_with_lshost_failure(self): - self.skipTest('Bug 1640205') self._connector.pop('initiator') helper = self.fc_driver._helpers # Create two hosts. The first is not related to the connector and @@ -4341,12 +4340,6 @@ class StorwizeSVCFcDriverTestCase(test.TestCase): host_name = helper.get_host_from_connector(self._connector) self.assertIsNotNone(host_name) - # Need to assert that lshost was actually called. The way - # we do that is check that the next simulator error for lshost - # has been reset. - self.assertEqual(self.sim._next_cmd_error['lshost'], '', - "lshost was not called in the simulator. The " - "queued error still remains.") def test_storwize_get_host_from_connector_with_lshost_failure2(self): self._connector.pop('initiator') @@ -6527,8 +6520,6 @@ class StorwizeSVCCommonDriverTestCase(test.TestCase): self.assertTrue(each_pool['multiattach']) self.assertLessEqual(each_pool['free_capacity_gb'], each_pool['total_capacity_gb']) - self.assertLessEqual(each_pool['allocated_capacity_gb'], - each_pool['total_capacity_gb']) self.assertEqual(25, each_pool['reserved_percentage']) self.assertEqual(is_thin_provisioning_enabled, each_pool['thin_provisioning_support']) @@ -6543,8 +6534,6 @@ class StorwizeSVCCommonDriverTestCase(test.TestCase): self._def_flags['storwize_svc_volpool_name']) self.assertAlmostEqual(3328.0, each_pool['total_capacity_gb']) self.assertAlmostEqual(3287.5, each_pool['free_capacity_gb']) - self.assertAlmostEqual(25.0, - each_pool['allocated_capacity_gb']) if is_thin_provisioning_enabled: self.assertAlmostEqual( 1576.96, each_pool['provisioned_capacity_gb']) @@ -7257,7 +7246,7 @@ class StorwizeSVCCommonDriverTestCase(test.TestCase): self.assertEqual(fields.GroupStatus.AVAILABLE, model_update['status']) # Delete Volume Group - model_update = self.driver.delete_group(self.ctxt, volumegroup, None) + model_update = self.driver.delete_group(self.ctxt, volumegroup, []) self.assertTrue(delete_volumegroup.called) self.assertEqual(fields.GroupStatus.DELETED, model_update[0]['status']) @@ -7374,7 +7363,7 @@ class StorwizeSVCCommonDriverTestCase(test.TestCase): # Delete Volume Group model_update = self.driver.delete_group(self.ctxt, volumegroup, - None) + []) self.assertTrue(delete_volumegroup.called) self.assertEqual(fields.GroupStatus.DELETED, model_update[0]['status']) @@ -7463,6 +7452,66 @@ class StorwizeSVCCommonDriverTestCase(test.TestCase): @mock.patch.object(storwize_svc_common.StorwizeHelpers, 'get_system_info') + def test_storwize_delete_volumegroup_with_delete_volumes(self, + get_system_info): + """Test volume group creation and deletion""" + + fake_system_info = {'code_level': (8, 5, 1, 0), + 'system_name': 'storwize-svc-sim', + 'system_id': '0123456789ABCDEF'} + get_system_info.return_value = fake_system_info + self.driver.do_setup(None) + + # Seting the storwize_volume_group to True + self._set_flag('storwize_volume_group', True) + + # Create volumegroup type + volumegroup_spec = {'volume_group_enabled': '<is> True'} + volumegroup_type_ref = group_types.create(self.ctxt, + 'volumegroup_type', + volumegroup_spec) + volumegroup_type = objects.GroupType.get_by_id( + self.ctxt, volumegroup_type_ref['id']) + + # Create source volume + vol_type_ref = volume_types.create(self.ctxt, 'non_rep_type', {}) + vol_type = objects.VolumeType.get_by_id(self.ctxt, + vol_type_ref['id']) + source_vol = self._generate_vol_info(vol_type) + self.driver.create_volume(source_vol) + + # Create source volumegroup + source_volumegroup = testutils.create_group( + self.ctxt, group_type_id=volumegroup_type.id, + volume_type_ids=[vol_type_ref['id']]) + + model_update = self.driver.create_group(self.ctxt, source_volumegroup) + self.assertEqual(fields.GroupStatus.AVAILABLE, + model_update['status']) + + # Add source volumes to source volumegroup + (model_update, add_volumes_update, remove_volumes_update) = ( + self.driver.update_group(self.ctxt, source_volumegroup, + [source_vol], [])) + + self.assertEqual(fields.GroupStatus.AVAILABLE, + model_update['status']) + source_volumegroup_name = self.driver._get_volumegroup_name( + source_volumegroup) + self.assertEqual(source_volumegroup_name, + source_vol.metadata['Volume Group Name']) + + # Delete Volume Group + model_update = self.driver.delete_group(self.ctxt, + source_volumegroup, + [source_vol]) + self.assertEqual(fields.GroupStatus.DELETED, + model_update[0]['status']) + for volume in model_update[1]: + self.assertEqual('deleted', volume['status']) + + @mock.patch.object(storwize_svc_common.StorwizeHelpers, + 'get_system_info') @mock.patch.object(cinder.volume.volume_utils, 'is_group_a_type') @mock.patch('cinder.volume.volume_utils.is_group_a_cg_snapshot_type') |