def get_rse_client(rse, vo='def', **kwarg): ''' get_rse_client ''' from rucio.client.rseclient import RSEClient client = RSEClient(vo=vo) return client.get_rse(rse)
class TestQoS(object): @classmethod def setupClass(self): if config_get_bool('common', 'multi_vo', raise_exception=False, default=False): self.vo = { 'vo': config_get('client', 'vo', raise_exception=False, default='tst') } else: self.vo = {} self.rse_client = RSEClient() self.tmp_rse_name = rse_name_generator() self.rse_client.add_rse(self.tmp_rse_name, vo=self.vo) self.tmp_rse = self.rse_client.get_rse(self.tmp_rse_name)['id'] @classmethod def teardownClass(self): self.rse_client.delete_rse(self.tmp_rse_name) def test_update_and_remove_rse_qos_class(self): """ QoS (CORE): Update and remove QoS class for RSE """ update_rse(self.tmp_rse, {'qos_class': 'fast_and_expensive'}) rse = get_rse(self.tmp_rse) assert_equal(rse['qos_class'], 'fast_and_expensive') update_rse(self.tmp_rse, {'qos_class': 'slow_but_cheap'}) rse = get_rse(self.tmp_rse) assert_equal(rse['qos_class'], 'slow_but_cheap') update_rse(self.tmp_rse, {'qos_class': None}) rse = get_rse(self.tmp_rse) assert_equal(rse['qos_class'], None) def test_update_and_remove_rse_qos_class_client(self): """ QoS (CLIENT): Update and remove QoS class for RSE """ self.rse_client.update_rse(self.tmp_rse_name, {'qos_class': 'fast_and_expensive'}) rse = self.rse_client.get_rse(self.tmp_rse_name) assert_equal(rse['qos_class'], 'fast_and_expensive') self.rse_client.update_rse(self.tmp_rse_name, {'qos_class': 'slow_but_cheap'}) rse = self.rse_client.get_rse(self.tmp_rse_name) assert_equal(rse['qos_class'], 'slow_but_cheap') self.rse_client.update_rse(self.tmp_rse_name, {'qos_class': None}) rse = self.rse_client.get_rse(self.tmp_rse_name) assert_equal(rse['qos_class'], None) def test_qos_policies(self): """ QoS (CLIENT): Add QoS policy for RSE """ self.rse_client.add_qos_policy(self.tmp_rse_name, 'FOO') policies = self.rse_client.list_qos_policies(self.tmp_rse_name) assert_equal(policies, ['FOO']) self.rse_client.add_qos_policy(self.tmp_rse_name, 'BAR') policies = sorted(self.rse_client.list_qos_policies(self.tmp_rse_name)) assert_equal(policies, ['BAR', 'FOO']) self.rse_client.delete_qos_policy(self.tmp_rse_name, 'BAR') policies = self.rse_client.list_qos_policies(self.tmp_rse_name) assert_equal(policies, ['FOO']) self.rse_client.delete_qos_policy(self.tmp_rse_name, 'FOO') policies = self.rse_client.list_qos_policies(self.tmp_rse_name) assert_equal(policies, [])