예제 #1
0
    def get_site(self, name): #override
        try:
            site_config = self.config[name]
        except KeyError:
            raise RuntimeError('Site %s not in configuration')

        storage_type = Site.storage_type_val(site_config.storage_type)
        backend = site_config.backend

        return Site(name, host = site_config.host, storage_type = storage_type, backend = backend)
예제 #2
0
    def get_site(self, name, inventory): #override
        try:
            site_config = self.config[name]
        except KeyError:
            raise RuntimeError('Site %s not in configuration')

        storage_type = Site.storage_type_val(site_config.storage_type)
        backend = site_config.backend

        site_obj = Site(name, host = site_config.host, storage_type = storage_type, backend = backend)
        if name in inventory.sites:
            old_site_obj = inventory.sites[name]
            site_obj.x509proxy = old_site_obj.x509proxy

        return site_obj
예제 #3
0
    def get_site(self, name):  #override
        if not self.check_allowed_site(name):
            LOG.info('get_site(%s)  %s is excluded by configuration.', name,
                     name)
            return None

        LOG.info('get_site(%s)  Fetching information of %s from PhEDEx', name,
                 name)

        # General site info
        result = self._phedex.make_request('nodes', ['node=' + name])
        if len(result) == 0:
            return None

        entry = result[0]

        host = entry['se']
        storage_type = Site.storage_type_val(entry['kind'])

        return Site(name, host=host, storage_type=storage_type)
예제 #4
0
    def get_site_list(self, inventory):  #override
        LOG.info('get_site_list  Fetching the list of nodes from PhEDEx')

        site_list = []

        for entry in self._phedex.make_request('nodes'):
            site_name = entry['name']
            if not self.check_allowed_site(site_name):
                continue

            siteObj_new = Site(site_name,
                               host=entry['se'],
                               storage_type=Site.storage_type_val(
                                   entry['kind']))
            if site_name in inventory.sites:
                siteObj_old = inventory.sites[site_name]
                siteObj_new.backend = siteObj_old.backend
                siteObj_new.x509proxy = siteObj_old.x509proxy

            site_list.append(siteObj_new)

        return site_list