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
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)
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)