Ejemplo n.º 1
0
    def validate_names(self):
        # glidein name does not have a reasonable default
        if self.frontend_name is None:
            raise RuntimeError, "Missing frontend name"
        if self.frontend_name.find(' ')!=-1:
            raise RuntimeError, "Invalid frontend name '%s', contains a space."%self.frontend_name
        if not cWParams.is_valid_name(self.frontend_name):
            raise RuntimeError, "Invalid frontend name '%s', contains invalid characters."%self.frontend_name
        if self.frontend_name.find('.')!=-1:
            raise RuntimeError, "Invalid frontend name '%s', contains a point."%self.frontend_name

        group_names=self.groups.keys()
        for group_name in group_names:
            if group_name.find(' ')!=-1:
                raise RuntimeError, "Invalid group name '%s', contains a space."%group_name
            if not cWParams.is_valid_name(group_name):
                raise RuntimeError, "Invalid group name '%s', contains invalid characters."%group_name
            if group_name[:4]=='XPVO':
                raise RuntimeError, "Invalid group name '%s', starts with reserved sequence 'XPVO'."%group_name
            if group_name.find('.')!=-1:
                raise RuntimeError, "Invalid group name '%s', contains a point."%group_name

        attr_names=self.attrs.keys()
        for attr_name in attr_names:
            if not cWParams.is_valid_name(attr_name):
                raise RuntimeError, "Invalid global attribute name '%s'."%attr_name
        for group_name in group_names:
            attr_names=self.groups[group_name].attrs.keys()
            for attr_name in attr_names:
                if not cWParams.is_valid_name(attr_name):
                    raise RuntimeError, "Invalid group '%s' attribute name '%s'."%(group_name,attr_name)
        return
Ejemplo n.º 2
0
    def derive(self):
        # glidein name does not have a reasonable default
        if self.glidein_name==None:
            raise RuntimeError, "Missing glidein name"
        if not cWParams.is_valid_name(self.glidein_name):
            raise RuntimeError, "Invalid glidein name '%s'"%self.glidein_name

        factoryVersioning = False
        if self.data.has_key('factory_versioning') and \
               self.data['factory_versioning'].lower() == 'true':
            factoryVersioning = True

        self.stage_dir=self.buildDir(factoryVersioning, self.stage.base_dir)
        self.monitor_dir=self.buildDir(factoryVersioning, self.monitor.base_dir)
        self.submit_dir=self.buildDir(factoryVersioning, self.submit.base_dir)
        self.log_dir=self.buildDir(factoryVersioning, self.submit.base_log_dir)
        self.web_url=self.buildDir(factoryVersioning, self.stage.web_base_url)

        self.client_log_dirs={}
        self.client_proxies_dirs={}
        for fename in self.security.frontends.keys():
            for scname in self.security.frontends[fename].security_classes.keys():
                username=self.security.frontends[fename].security_classes[scname].username
                self.client_log_dirs[username]=self.buildDir(True, os.path.join(self.submit.base_client_log_dir,"user_%s"%username))
                self.client_proxies_dirs[username]=self.buildDir(True, os.path.join(self.submit.base_client_proxies_dir,"user_%s"%username))

        if not cWParams.is_valid_name(self.factory_name):
            raise RuntimeError, "Invalid factory name '%s'"%self.factory_name

        entry_names=self.entries.keys()
        for entry_name in entry_names:
            if not cWParams.is_valid_name(entry_name):
                raise RuntimeError, "Invalid entry name '%s'"%entry_name

        attr_names=self.attrs.keys()
        for attr_name in attr_names:
            if not cWParams.is_valid_name(attr_name):
                raise RuntimeError, "Invalid global attribute name '%s'."%attr_name
        for entry_name in entry_names:
            attr_names=self.entries[entry_name].attrs.keys()
            for attr_name in attr_names:
                if not cWParams.is_valid_name(attr_name):
                    raise RuntimeError, "Invalid entry '%s' attribute name '%s'."%(entry_name,attr_name)
Ejemplo n.º 3
0
    def derive(self):
        # glidein name does not have a reasonable default
        if self.glidein_name==None:
            raise RuntimeError, "Missing glidein name"
        if not cWParams.is_valid_name(self.glidein_name):
            raise RuntimeError, "Invalid glidein name '%s'"%self.glidein_name

        glidein_subdir="glidein_%s"%self.glidein_name
        self.stage_dir=os.path.join(self.stage.base_dir,glidein_subdir)
        self.monitor_dir=os.path.join(self.monitor.base_dir,glidein_subdir)
        self.submit_dir=os.path.join(self.submit.base_dir,glidein_subdir)
        self.log_dir=os.path.join(self.submit.base_log_dir,glidein_subdir)
        self.web_url=os.path.join(self.stage.web_base_url,glidein_subdir)

        self.client_log_dirs={}
        self.client_proxies_dirs={}
        for fename in self.security.frontends.keys():
            for scname in self.security.frontends[fename].security_classes.keys():
                username=self.security.frontends[fename].security_classes[scname].username
                self.client_log_dirs[username]=os.path.join(os.path.join(self.submit.base_client_log_dir,"user_%s"%username),glidein_subdir)
                self.client_proxies_dirs[username]=os.path.join(os.path.join(self.submit.base_client_proxies_dir,"user_%s"%username),glidein_subdir)

        if not cWParams.is_valid_name(self.factory_name):
            raise RuntimeError, "Invalid factory name '%s'"%self.factory_name

        entry_names=self.entries.keys()
        for entry_name in entry_names:
            if not cWParams.is_valid_name(entry_name):
                raise RuntimeError, "Invalid entry name '%s'"%entry_name

        attr_names=self.attrs.keys()
        for attr_name in attr_names:
            if not cWParams.is_valid_name(attr_name):
                raise RuntimeError, "Invalid global attribute name '%s'."%attr_name
        for entry_name in entry_names:
            attr_names=self.entries[entry_name].attrs.keys()
            for attr_name in attr_names:
                if not cWParams.is_valid_name(attr_name):
                    raise RuntimeError, "Invalid entry '%s' attribute name '%s'."%(entry_name,attr_name)