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') } self.vo_header = {'X-Rucio-VO': self.vo['vo']} else: self.vo = {} self.vo_header = {} self.rc = ReplicaClient() self.client_location_without_proxy = { 'ip': '192.168.0.1', 'fqdn': 'anomalous-materials.blackmesa.com', 'site': 'BLACKMESA1' } self.rse_without_proxy = rse_name_generator() self.rse_without_proxy_id = add_rse(self.rse_without_proxy, **self.vo) add_rse_attribute(rse_id=self.rse_without_proxy_id, key='site', value='BLACKMESA1') self.client_location_with_proxy = { 'ip': '10.0.1.1', 'fqdn': 'test-chamber.aperture.com', 'site': 'APERTURE1' } self.rse_with_proxy = rse_name_generator() self.rse_with_proxy_id = add_rse(self.rse_with_proxy, **self.vo) add_rse_attribute(rse_id=self.rse_with_proxy_id, key='site', value='APERTURE1') # APERTURE1 site has an internal proxy config_set('root-proxy-internal', 'APERTURE1', 'proxy.aperture.com:1094') self.files = [{ 'scope': InternalScope('mock', **self.vo), 'name': 'half-life_%s' % i, 'bytes': 1234, 'adler32': 'deadbeef', 'meta': { 'events': 666 } } for i in range(1, 4)] for rse_id in [self.rse_with_proxy_id, self.rse_without_proxy_id]: add_replicas(rse_id=rse_id, files=self.files, account=InternalAccount('root', **self.vo), ignore_availability=True) add_protocol( self.rse_without_proxy_id, { 'scheme': 'root', 'hostname': 'root.blackmesa.com', 'port': 1409, 'prefix': '//training/facility/', 'impl': 'rucio.rse.protocols.xrootd.Default', 'domains': { 'lan': { 'read': 1, 'write': 1, 'delete': 1 }, 'wan': { 'read': 1, 'write': 1, 'delete': 1 } } }) add_protocol( self.rse_with_proxy_id, { 'scheme': 'root', 'hostname': 'root.aperture.com', 'port': 1409, 'prefix': '//test/chamber/', 'impl': 'rucio.rse.protocols.xrootd.Default', 'domains': { 'lan': { 'read': 1, 'write': 1, 'delete': 1 }, 'wan': { 'read': 1, 'write': 1, 'delete': 1 } } })
def root_proxy_example_data(vo): rse_without_proxy = rse_name_generator() rse_without_proxy_id = add_rse(rse_without_proxy, vo=vo) add_rse_attribute(rse_id=rse_without_proxy_id, key='site', value='BLACKMESA1') rse_with_proxy = rse_name_generator() rse_with_proxy_id = add_rse(rse_with_proxy, vo=vo) add_rse_attribute(rse_id=rse_with_proxy_id, key='site', value='APERTURE1') # APERTURE1 site has an internal proxy config_set('root-proxy-internal', 'APERTURE1', 'proxy.aperture.com:1094') files = [{ 'scope': InternalScope('mock', vo=vo), 'name': 'half-life_%s' % i, 'bytes': 1234, 'adler32': 'deadbeef', 'meta': { 'events': 666 } } for i in range(1, 4)] for rse_id in [rse_with_proxy_id, rse_without_proxy_id]: add_replicas(rse_id=rse_id, files=files, account=InternalAccount('root', vo=vo), ignore_availability=True) add_protocol( rse_without_proxy_id, { 'scheme': 'root', 'hostname': 'root.blackmesa.com', 'port': 1409, 'prefix': '//training/facility/', 'impl': 'rucio.rse.protocols.xrootd.Default', 'domains': { 'lan': { 'read': 1, 'write': 1, 'delete': 1 }, 'wan': { 'read': 1, 'write': 1, 'delete': 1 } } }) add_protocol( rse_with_proxy_id, { 'scheme': 'root', 'hostname': 'root.aperture.com', 'port': 1409, 'prefix': '//test/chamber/', 'impl': 'rucio.rse.protocols.xrootd.Default', 'domains': { 'lan': { 'read': 1, 'write': 1, 'delete': 1 }, 'wan': { 'read': 1, 'write': 1, 'delete': 1 } } }) yield { 'files': files, 'rse_without_proxy': rse_without_proxy, 'rse_with_proxy': rse_with_proxy } for rse_id in [rse_with_proxy_id, rse_without_proxy_id]: delete_replicas(rse_id=rse_id, files=files) del_rse(rse_with_proxy_id) del_rse(rse_without_proxy_id)
def setup(self): self.rc = ReplicaClient() self.client_location_without_proxy = { 'ip': '192.168.0.1', 'fqdn': 'anomalous-materials.blackmesa.com', 'site': 'BLACKMESA1' } self.rse_without_proxy = rse_name_generator() add_rse(self.rse_without_proxy) add_rse_attribute(rse=self.rse_without_proxy, key='site', value='BLACKMESA1') self.client_location_with_proxy = { 'ip': '10.0.1.1', 'fqdn': 'test-chamber.aperture.com', 'site': 'APERTURE1' } self.rse_with_proxy = rse_name_generator() add_rse(self.rse_with_proxy) add_rse_attribute(rse=self.rse_with_proxy, key='site', value='APERTURE1') # APERTURE1 site has an internal proxy config_set('root-proxy-internal', 'APERTURE1', 'proxy.aperture.com:1094') self.files = [{ 'scope': 'mock', 'name': 'half-life_%s' % i, 'bytes': 1234, 'adler32': 'deadbeef', 'meta': { 'events': 666 } } for i in range(1, 4)] for rse in [self.rse_with_proxy, self.rse_without_proxy]: add_replicas(rse=rse, files=self.files, account='root', ignore_availability=True) add_protocol( self.rse_without_proxy, { 'scheme': 'root', 'hostname': 'root.blackmesa.com', 'port': 1409, 'prefix': '//training/facility/', 'impl': 'rucio.rse.protocols.xrootd.Default', 'domains': { 'lan': { 'read': 1, 'write': 1, 'delete': 1 }, 'wan': { 'read': 1, 'write': 1, 'delete': 1 } } }) add_protocol( self.rse_with_proxy, { 'scheme': 'root', 'hostname': 'root.aperture.com', 'port': 1409, 'prefix': '//test/chamber/', 'impl': 'rucio.rse.protocols.xrootd.Default', 'domains': { 'lan': { 'read': 1, 'write': 1, 'delete': 1 }, 'wan': { 'read': 1, 'write': 1, 'delete': 1 } } })