def test_get_profile_id_by_name_with_invalid_profile(self, get_all_profiles): profiles = [self._create_profile(str(i), 'profile-%d' % i) for i in range(0, 10)] get_all_profiles.return_value = profiles session = mock.Mock() profile_id = pbm.get_profile_id_by_name(session, 'profile-%s' % (i + 1)) self.assertFalse(profile_id) get_all_profiles.assert_called_once_with(session)
def test_get_profile_id_by_name_with_invalid_profile(self, get_all_profiles): profiles = [self._create_profile(str(i), 'profile-%d' % i) for i in range(0, 10)] get_all_profiles.return_value = profiles session = mock.Mock() profile_id = pbm.get_profile_id_by_name(session, ('profile-%s' % 11)) self.assertFalse(profile_id) get_all_profiles.assert_called_once_with(session)
def test_get_profile_id_by_name(self, get_all_profiles): profiles = [self._create_profile(str(i), 'profile-%d' % i) for i in range(0, 10)] get_all_profiles.return_value = profiles session = mock.Mock() exp_profile_id = '5' profile_id = pbm.get_profile_id_by_name(session, 'profile-%s' % exp_profile_id) self.assertEqual(exp_profile_id, profile_id) get_all_profiles.assert_called_once_with(session)
def _validate_configuration(self): if CONF.vmware.use_linked_clone is None: raise vexc.UseLinkedCloneConfigurationFault() if CONF.vmware.pbm_enabled: if not CONF.vmware.pbm_default_policy: raise error_util.PbmDefaultPolicyUnspecified() if not pbm.get_profile_id_by_name(self._session, CONF.vmware.pbm_default_policy): raise error_util.PbmDefaultPolicyDoesNotExist() if CONF.vmware.datastore_regex: LOG.warning(_LW("datastore_regex is ignored when PBM is enabled")) self._datastore_regex = None
def _validate_configuration(self): if CONF.vmware.use_linked_clone is None: raise vexc.UseLinkedCloneConfigurationFault() if CONF.vmware.pbm_enabled: if not CONF.vmware.pbm_default_policy: raise error_util.PbmDefaultPolicyUnspecified() if not pbm.get_profile_id_by_name(self._session, CONF.vmware.pbm_default_policy): raise error_util.PbmDefaultPolicyDoesNotExist() if CONF.vmware.datastore_regex: LOG.warning( _LW("datastore_regex is ignored when PBM is enabled")) self._datastore_regex = None
def _filter_datastores_matching_storage_policy(session, data_stores, storage_policy): """Get datastores matching the given storage policy. :param data_stores: the list of retrieve result wrapped datastore objects :param storage_policy: the storage policy name :return the list of datastores conforming to the given storage policy """ profile_id = pbm.get_profile_id_by_name(session, storage_policy) if profile_id: factory = session.pbm.client.factory ds_mors = [oc.obj for oc in data_stores.objects] hubs = pbm.convert_datastores_to_hubs(factory, ds_mors) matching_hubs = pbm.filter_hubs_by_profile(session, hubs, profile_id) if matching_hubs: matching_ds = pbm.filter_datastores_by_hubs(matching_hubs, ds_mors) object_contents = [ oc for oc in data_stores.objects if oc.obj in matching_ds ] data_stores.objects = object_contents return data_stores LOG.error(_LE("Unable to retrieve storage policy with name %s"), storage_policy)
def _filter_datastores_matching_storage_policy(session, data_stores, storage_policy): """Get datastores matching the given storage policy. :param data_stores: the list of retrieve result wrapped datastore objects :param storage_policy: the storage policy name :return the list of datastores conforming to the given storage policy """ profile_id = pbm.get_profile_id_by_name(session, storage_policy) if profile_id: factory = session.pbm.client.factory ds_mors = [oc.obj for oc in data_stores.objects] hubs = pbm.convert_datastores_to_hubs(factory, ds_mors) matching_hubs = pbm.filter_hubs_by_profile(session, hubs, profile_id) if matching_hubs: matching_ds = pbm.filter_datastores_by_hubs(matching_hubs, ds_mors) object_contents = [oc for oc in data_stores.objects if oc.obj in matching_ds] data_stores.objects = object_contents return data_stores LOG.error(_LE("Unable to retrieve storage policy with name %s"), storage_policy)
def test_get_profile_id_by_name_with_invalid_profile(self): profile_name = "THISISATEST" profile_id = pbm.get_profile_id_by_name(self.session, profile_name) self.assertFalse(profile_id)
def test_get_profile_id_by_name(self): test_spec = self.spec.get("test_get_profile_id_by_name") profile_name = test_spec.get("profile_name") profile_id = pbm.get_profile_id_by_name(self.session, profile_name) expected_profile_id = test_spec.get("profile_id") self.assertEqual(profile_id.uniqueId, expected_profile_id)