def setServer( optionValue ): global configurationServer configurationServer = optionValue DIRAC.gLogger.debug( '/DIRAC/Configuration/Servers =', configurationServer ) Script.localCfg.addDefaultEntry( '/DIRAC/Configuration/Servers', configurationServer ) DIRAC.gConfig.setOptionValue( cfgInstallPath( 'ConfigurationServer' ), configurationServer ) return DIRAC.S_OK()
def setSiteName( optionValue ): global siteName siteName = optionValue Script.localCfg.addDefaultEntry( '/LocalSite/Site', siteName ) DIRAC.__siteName = False DIRAC.gConfig.setOptionValue( cfgInstallPath( 'SiteName' ), siteName ) return DIRAC.S_OK()
def setSetup( optionValue ): global setup setup = optionValue DIRAC.gLogger.debug( '/DIRAC/Setup =', setup ) Script.localCfg.addDefaultEntry( '/DIRAC/Setup', setup ) DIRAC.gConfig.setOptionValue( cfgInstallPath( 'Setup' ), setup ) return DIRAC.S_OK()
def setLocalSE( optionValue ): global localSE localSE = optionValue DIRAC.gLogger.debug( '/LocalSite/localSE =', localSE ) Script.localCfg.addDefaultEntry( '/LocalSite/localSE', localSE ) DIRAC.gConfig.setOptionValue( cfgInstallPath( 'LocalSE' ), localSE ) return DIRAC.S_OK()
def setArchitecture( optionValue ): global architecture architecture = optionValue DIRAC.gLogger.debug( '/LocalSite/Architecture =', architecture ) Script.localCfg.addDefaultEntry( '/LocalSite/Architecture', architecture ) DIRAC.gConfig.setOptionValue( cfgInstallPath( 'Architecture' ), architecture ) return DIRAC.S_OK()
def setVO( optionValue ): global vo vo = optionValue DIRAC.gLogger.debug( '/DIRAC/VirtualOrganization =', vo ) Script.localCfg.addDefaultEntry( '/DIRAC/VirtualOrganization', vo ) DIRAC.gConfig.setOptionValue( cfgInstallPath( 'VirtualOrganization' ), vo ) return DIRAC.S_OK()
def setCEName( optionValue ): global ceName ceName = optionValue DIRAC.gConfig.setOptionValue( cfgInstallPath( 'CEName' ), ceName ) return DIRAC.S_OK()
def setSkipCAChecks( optionValue ): global skipCAChecks skipCAChecks = True DIRAC.gConfig.setOptionValue( cfgInstallPath( 'SkipCAChecks' ), skipCAChecks ) return DIRAC.S_OK()
def setVO(optionValue): global vo vo = optionValue Script.localCfg.addDefaultEntry("/DIRAC/VirtualOrganization", vo) DIRAC.gConfig.setOptionValue(cfgInstallPath("VirtualOrganization"), vo) return DIRAC.S_OK()
def setSetup( optionValue ): global setup setup = optionValue DIRAC.gConfig.setOptionValue( '/DIRAC/Setup', setup ) DIRAC.gConfig.setOptionValue( cfgInstallPath( 'Setup' ), setup ) return DIRAC.S_OK()
def setServerCert(self, optionValue): self.useServerCert = True DIRAC.gConfig.setOptionValue(cfgInstallPath("UseServerCertificate"), self.useServerCert) return DIRAC.S_OK()
def setArchitecture(optionValue): global architecture architecture = optionValue Script.localCfg.addDefaultEntry("/LocalSite/Architecture", architecture) DIRAC.gConfig.setOptionValue(cfgInstallPath("Architecture"), architecture) return DIRAC.S_OK()
def setSetup(optionValue): global setup setup = optionValue DIRAC.gConfig.setOptionValue('/DIRAC/Setup', setup) DIRAC.gConfig.setOptionValue(cfgInstallPath('Setup'), setup) return DIRAC.S_OK()
def setVO(self, optionValue): self.vo = optionValue Script.localCfg.addDefaultEntry("/DIRAC/VirtualOrganization", self.vo) DIRAC.gConfig.setOptionValue(cfgInstallPath("VirtualOrganization"), self.vo) return DIRAC.S_OK()
def setSetup(self, optionValue): self.setup = optionValue DIRAC.gConfig.setOptionValue("/DIRAC/Setup", self.setup) DIRAC.gConfig.setOptionValue(cfgInstallPath("Setup"), self.setup) return DIRAC.S_OK()
def setCEName(optionValue): global ceName ceName = optionValue DIRAC.gConfig.setOptionValue(cfgInstallPath('CEName'), ceName) return DIRAC.S_OK()
def setGateway(self, optionValue): self.gatewayServer = optionValue self.setServer(self.gatewayServer + "/Configuration/Server") DIRAC.gConfig.setOptionValue(cfgInstallPath("Gateway"), self.gatewayServer) return DIRAC.S_OK()
def runDiracConfigure(params): Script.registerSwitch("", "login="******"Set DIRAC authorization endpoint", params.setIssuer) Script.registerSwitch("S:", "Setup=", "Set <setup> as DIRAC setup", params.setSetup) Script.registerSwitch("e:", "Extensions=", "Set <extensions> as DIRAC extensions", params.setExtensions) Script.registerSwitch("C:", "ConfigurationServer=", "Set <server> as DIRAC configuration server", params.setServer) Script.registerSwitch("I", "IncludeAllServers", "include all Configuration Servers", params.setAllServers) Script.registerSwitch("n:", "SiteName=", "Set <sitename> as DIRAC Site Name", params.setSiteName) Script.registerSwitch("N:", "CEName=", "Determiner <sitename> from <cename>", params.setCEName) Script.registerSwitch("V:", "VO=", "Set the VO name", params.setVO) Script.registerSwitch("W:", "gateway=", "Configure <gateway> as DIRAC Gateway for the site", params.setGateway) Script.registerSwitch("U", "UseServerCertificate", "Configure to use Server Certificate", params.setServerCert) Script.registerSwitch("H", "SkipCAChecks", "Configure to skip check of CAs", params.setSkipCAChecks) Script.registerSwitch("D", "SkipCADownload", "Configure to skip download of CAs", params.setSkipCADownload) Script.registerSwitch("M", "SkipVOMSDownload", "Configure to skip download of VOMS info", params.setSkipVOMSDownload) Script.registerSwitch("A:", "Architecture=", "Configure /Architecture=<architecture>", params.setArchitecture) Script.registerSwitch("L:", "LocalSE=", "Configure LocalSite/LocalSE=<localse>", params.setLocalSE) Script.registerSwitch( "F", "ForceUpdate", "Force Update of cfg file (i.e. dirac.cfg) (otherwise nothing happens if dirac.cfg already exists)", params.forceUpdate, ) Script.registerSwitch("O:", "output=", "output configuration file", params.setOutput) Script.parseCommandLine(ignoreErrors=True) # Use token auth if params.issuer: result = login(params) if not result["OK"]: DIRAC.gLogger.error("Authorization failed: %s" % result["Message"]) DIRAC.exit(1) useTokens = result["Value"] if useTokens: DIRAC.gConfig.setOptionValue("/DIRAC/Security/UseTokens", useTokens) else: DIRAC.gLogger.notice( 'To use tokens, please, set "/DIRAC/Security/UseTokens=yes".') if not params.logLevel: params.logLevel = DIRAC.gConfig.getValue(cfgInstallPath("LogLevel"), "") if params.logLevel: DIRAC.gLogger.setLevel(params.logLevel) else: DIRAC.gConfig.setOptionValue(cfgInstallPath("LogLevel"), params.logLevel) if not params.gatewayServer: newGatewayServer = DIRAC.gConfig.getValue(cfgInstallPath("Gateway"), "") if newGatewayServer: params.setGateway(newGatewayServer) if not params.configurationServer: newConfigurationServer = DIRAC.gConfig.getValue( cfgInstallPath("ConfigurationServer"), "") if newConfigurationServer: params.setServer(newConfigurationServer) if not params.includeAllServers: newIncludeAllServer = DIRAC.gConfig.getValue( cfgInstallPath("IncludeAllServers"), False) if newIncludeAllServer: params.setAllServers(True) if not params.setup: newSetup = DIRAC.gConfig.getValue(cfgInstallPath("Setup"), "") if newSetup: params.setSetup(newSetup) if not params.siteName: newSiteName = DIRAC.gConfig.getValue(cfgInstallPath("SiteName"), "") if newSiteName: params.setSiteName(newSiteName) if not params.ceName: newCEName = DIRAC.gConfig.getValue(cfgInstallPath("CEName"), "") if newCEName: params.setCEName(newCEName) if not params.useServerCert: newUserServerCert = DIRAC.gConfig.getValue( cfgInstallPath("UseServerCertificate"), False) if newUserServerCert: params.setServerCert(newUserServerCert) if not params.skipCAChecks: newSkipCAChecks = DIRAC.gConfig.getValue( cfgInstallPath("SkipCAChecks"), False) if newSkipCAChecks: params.setSkipCAChecks(newSkipCAChecks) if not params.skipCADownload: newSkipCADownload = DIRAC.gConfig.getValue( cfgInstallPath("SkipCADownload"), False) if newSkipCADownload: params.setSkipCADownload(newSkipCADownload) if not params.architecture: newArchitecture = DIRAC.gConfig.getValue( cfgInstallPath("Architecture"), "") if newArchitecture: params.setArchitecture(newArchitecture) if not params.vo: newVO = DIRAC.gConfig.getValue(cfgInstallPath("VirtualOrganization"), "") if newVO: params.setVO(newVO) if not params.extensions: newExtensions = DIRAC.gConfig.getValue(cfgInstallPath("Extensions"), "") if newExtensions: params.setExtensions(newExtensions) DIRAC.gLogger.notice("Executing: %s " % (" ".join(sys.argv))) DIRAC.gLogger.notice('Checking DIRAC installation at "%s"' % DIRAC.rootPath) if params.update: if params.outputFile: DIRAC.gLogger.notice("Will update the output file %s" % params.outputFile) else: DIRAC.gLogger.notice("Will update %s" % DIRAC.gConfig.diracConfigFilePath) if params.setup: DIRAC.gLogger.verbose("/DIRAC/Setup =", params.setup) if params.vo: DIRAC.gLogger.verbose("/DIRAC/VirtualOrganization =", params.vo) if params.configurationServer: DIRAC.gLogger.verbose("/DIRAC/Configuration/Servers =", params.configurationServer) if params.siteName: DIRAC.gLogger.verbose("/LocalSite/Site =", params.siteName) if params.architecture: DIRAC.gLogger.verbose("/LocalSite/Architecture =", params.architecture) if params.localSE: DIRAC.gLogger.verbose("/LocalSite/localSE =", params.localSE) if not params.useServerCert: DIRAC.gLogger.verbose("/DIRAC/Security/UseServerCertificate =", "no") # Being sure it was not there before Script.localCfg.deleteOption("/DIRAC/Security/UseServerCertificate") Script.localCfg.addDefaultEntry("/DIRAC/Security/UseServerCertificate", "no") else: DIRAC.gLogger.verbose("/DIRAC/Security/UseServerCertificate =", "yes") # Being sure it was not there before Script.localCfg.deleteOption("/DIRAC/Security/UseServerCertificate") Script.localCfg.addDefaultEntry("/DIRAC/Security/UseServerCertificate", "yes") host = DIRAC.gConfig.getValue(cfgInstallPath("Host"), "") if host: DIRAC.gConfig.setOptionValue(cfgPath("DIRAC", "Hostname"), host) if params.skipCAChecks: DIRAC.gLogger.verbose("/DIRAC/Security/SkipCAChecks =", "yes") # Being sure it was not there before Script.localCfg.deleteOption("/DIRAC/Security/SkipCAChecks") Script.localCfg.addDefaultEntry("/DIRAC/Security/SkipCAChecks", "yes") else: # Necessary to allow initial download of CA's if not params.skipCADownload: DIRAC.gConfig.setOptionValue("/DIRAC/Security/SkipCAChecks", "yes") if not params.skipCADownload: Script.enableCS() try: dirName = os.path.join(DIRAC.rootPath, "etc", "grid-security", "certificates") mkDir(dirName) except Exception: DIRAC.gLogger.exception() DIRAC.gLogger.fatal("Fail to create directory:", dirName) DIRAC.exit(-1) try: bdc = BundleDeliveryClient() result = bdc.syncCAs() if result["OK"]: result = bdc.syncCRLs() except Exception as e: DIRAC.gLogger.error("Failed to sync CAs and CRLs: %s" % str(e)) Script.localCfg.deleteOption("/DIRAC/Security/SkipCAChecks") if params.ceName or params.siteName: # This is used in the pilot context, we should have a proxy, or a certificate, and access to CS if params.useServerCert: # Being sure it was not there before Script.localCfg.deleteOption( "/DIRAC/Security/UseServerCertificate") Script.localCfg.addDefaultEntry( "/DIRAC/Security/UseServerCertificate", "yes") Script.enableCS() # Get the site resource section gridSections = DIRAC.gConfig.getSections("/Resources/Sites/") if not gridSections["OK"]: DIRAC.gLogger.warn("Could not get grid sections list") grids = [] else: grids = gridSections["Value"] # try to get siteName from ceName or Local SE from siteName using Remote Configuration for grid in grids: siteSections = DIRAC.gConfig.getSections("/Resources/Sites/%s/" % grid) if not siteSections["OK"]: DIRAC.gLogger.warn("Could not get %s site list" % grid) sites = [] else: sites = siteSections["Value"] if not params.siteName: if params.ceName: for site in sites: res = DIRAC.gConfig.getSections( "/Resources/Sites/%s/%s/CEs/" % (grid, site), []) if not res["OK"]: DIRAC.gLogger.warn("Could not get %s CEs list" % site) if params.ceName in res["Value"]: params.siteName = site break if params.siteName: DIRAC.gLogger.notice("Setting /LocalSite/Site = %s" % params.siteName) Script.localCfg.addDefaultEntry("/LocalSite/Site", params.siteName) DIRAC.__siteName = False if params.ceName: DIRAC.gLogger.notice("Setting /LocalSite/GridCE = %s" % params.ceName) Script.localCfg.addDefaultEntry("/LocalSite/GridCE", params.ceName) if not params.localSE and params.siteName in sites: params.localSE = getSEsForSite(params.siteName) if params.localSE["OK"] and params.localSE["Value"]: params.localSE = ",".join(params.localSE["Value"]) DIRAC.gLogger.notice("Setting /LocalSite/LocalSE =", params.localSE) Script.localCfg.addDefaultEntry( "/LocalSite/LocalSE", params.localSE) break if params.gatewayServer: DIRAC.gLogger.verbose("/DIRAC/Gateways/%s =" % DIRAC.siteName(), params.gatewayServer) Script.localCfg.addDefaultEntry( "/DIRAC/Gateways/%s" % DIRAC.siteName(), params.gatewayServer) # Create the local cfg if it is not yet there if not params.outputFile: params.outputFile = DIRAC.gConfig.diracConfigFilePath params.outputFile = os.path.abspath(params.outputFile) if not os.path.exists(params.outputFile): configDir = os.path.dirname(params.outputFile) mkDir(configDir) params.update = True DIRAC.gConfig.dumpLocalCFGToFile(params.outputFile) if params.includeAllServers: # We need user proxy or server certificate to continue in order to get all the CS URLs if not params.useServerCert: Script.enableCS() result = getProxyInfo() if not result["OK"]: DIRAC.gLogger.notice( "Configuration is not completed because no user proxy is available" ) DIRAC.gLogger.notice( "Create one using dirac-proxy-init and execute again with -F option" ) return 1 else: Script.localCfg.deleteOption( "/DIRAC/Security/UseServerCertificate") # When using Server Certs CA's will be checked, the flag only disables initial download # this will be replaced by the use of SkipCADownload Script.localCfg.addDefaultEntry( "/DIRAC/Security/UseServerCertificate", "yes") Script.enableCS() DIRAC.gConfig.setOptionValue("/DIRAC/Configuration/Servers", ",".join(DIRAC.gConfig.getServersList())) DIRAC.gLogger.verbose("/DIRAC/Configuration/Servers =", ",".join(DIRAC.gConfig.getServersList())) if params.useServerCert: # always removing before dumping Script.localCfg.deleteOption("/DIRAC/Security/UseServerCertificate") Script.localCfg.deleteOption("/DIRAC/Security/SkipCAChecks") Script.localCfg.deleteOption("/DIRAC/Security/SkipVOMSDownload") if params.update: DIRAC.gConfig.dumpLocalCFGToFile(params.outputFile) # ## LAST PART: do the vomsdir/vomses magic # This has to be done for all VOs in the installation if params.skipVOMSDownload: return 0 result = Registry.getVOMSServerInfo() if not result["OK"]: return 1 error = "" vomsDict = result["Value"] for vo in vomsDict: voName = vomsDict[vo]["VOMSName"] vomsDirPath = os.path.join(DIRAC.rootPath, "etc", "grid-security", "vomsdir", voName) vomsesDirPath = os.path.join(DIRAC.rootPath, "etc", "grid-security", "vomses") for path in (vomsDirPath, vomsesDirPath): mkDir(path) vomsesLines = [] for vomsHost in vomsDict[vo].get("Servers", {}): hostFilePath = os.path.join(vomsDirPath, "%s.lsc" % vomsHost) try: DN = vomsDict[vo]["Servers"][vomsHost]["DN"] CA = vomsDict[vo]["Servers"][vomsHost]["CA"] port = vomsDict[vo]["Servers"][vomsHost]["Port"] if not DN or not CA or not port: DIRAC.gLogger.error("DN = %s" % DN) DIRAC.gLogger.error("CA = %s" % CA) DIRAC.gLogger.error("Port = %s" % port) DIRAC.gLogger.error("Missing Parameter for %s" % vomsHost) continue with open(hostFilePath, "wt") as fd: fd.write("%s\n%s\n" % (DN, CA)) vomsesLines.append('"%s" "%s" "%s" "%s" "%s" "24"' % (voName, vomsHost, port, DN, voName)) DIRAC.gLogger.notice("Created vomsdir file %s" % hostFilePath) except Exception: DIRAC.gLogger.exception( "Could not generate vomsdir file for host", vomsHost) error = "Could not generate vomsdir file for VO %s, host %s" % ( voName, vomsHost) try: vomsesFilePath = os.path.join(vomsesDirPath, voName) with open(vomsesFilePath, "wt") as fd: fd.write("%s\n" % "\n".join(vomsesLines)) DIRAC.gLogger.notice("Created vomses file %s" % vomsesFilePath) except Exception: DIRAC.gLogger.exception("Could not generate vomses file") error = "Could not generate vomses file for VO %s" % voName if params.useServerCert: Script.localCfg.deleteOption("/DIRAC/Security/UseServerCertificate") # When using Server Certs CA's will be checked, the flag only disables initial download # this will be replaced by the use of SkipCADownload Script.localCfg.deleteOption("/DIRAC/Security/SkipCAChecks") if error: return 1 return 0
def setExtensions(self, optionValue): self.extensions = optionValue DIRAC.gConfig.setOptionValue("/DIRAC/Extensions", self.extensions) DIRAC.gConfig.setOptionValue(cfgInstallPath("Extensions"), self.extensions) return DIRAC.S_OK()
def setUseVersionsDir( optionValue ): global useVersionsDir useVersionsDir = True DIRAC.gConfig.setOptionValue( cfgInstallPath( 'UseVersionsDir' ), useVersionsDir ) return DIRAC.S_OK()
def setSkipVOMSDownload(self, optionValue): self.skipVOMSDownload = True DIRAC.gConfig.setOptionValue(cfgInstallPath("SkipVOMSDownload"), self.skipVOMSDownload) return DIRAC.S_OK()
def setSiteName(self, optionValue): self.siteName = optionValue Script.localCfg.addDefaultEntry("/LocalSite/Site", self.siteName) DIRAC.__siteName = False DIRAC.gConfig.setOptionValue(cfgInstallPath("SiteName"), self.siteName) return DIRAC.S_OK()
def setLocalSE(self, optionValue): self.localSE = optionValue Script.localCfg.addDefaultEntry("/LocalSite/LocalSE", self.localSE) DIRAC.gConfig.setOptionValue(cfgInstallPath("LocalSE"), self.localSE) return DIRAC.S_OK()
def setServerCert(optionValue): global useServerCert useServerCert = True DIRAC.gConfig.setOptionValue(cfgInstallPath('UseServerCertificate'), useServerCert) return DIRAC.S_OK()
def setSkipCAChecks(self, optionValue): self.skipCAChecks = True DIRAC.gConfig.setOptionValue(cfgInstallPath("SkipCAChecks"), self.skipCAChecks) return DIRAC.S_OK()
def setServer(optionValue): global configurationServer configurationServer = optionValue DIRAC.gConfig.setOptionValue('/DIRAC/Configuration/Servers', configurationServer) DIRAC.gConfig.setOptionValue(cfgInstallPath('ConfigurationServer'), configurationServer) return DIRAC.S_OK()
"ForceUpdate", "Force Update of cfg file (i.e. dirac.cfg) (otherwise nothing happens if dirac.cfg already exists)", forceUpdate, ) Script.registerSwitch("O:", "output=", "output configuration file", setOutput) Script.setUsageMessage( "\n".join([__doc__.split("\n")[1], "\nUsage:", " %s [option|cfgfile] ...\n" % Script.scriptName]) ) Script.parseCommandLine(ignoreErrors=True) args = Script.getExtraCLICFGFiles() if not logLevel: logLevel = DIRAC.gConfig.getValue(cfgInstallPath("LogLevel"), "") if logLevel: DIRAC.gLogger.setLevel(logLevel) else: DIRAC.gConfig.setOptionValue(cfgInstallPath("LogLevel"), logLevel) if not gatewayServer: newGatewayServer = DIRAC.gConfig.getValue(cfgInstallPath("Gateway"), "") if newGatewayServer: setGateway(newGatewayServer) if not configurationServer: newConfigurationServer = DIRAC.gConfig.getValue(cfgInstallPath("ConfigurationServer"), "") if newConfigurationServer: setServer(newConfigurationServer)
def setSkipCAChecks(optionValue): global skipCAChecks skipCAChecks = True DIRAC.gConfig.setOptionValue(cfgInstallPath('SkipCAChecks'), skipCAChecks) return DIRAC.S_OK()
def setCEName(self, optionValue): self.ceName = optionValue DIRAC.gConfig.setOptionValue(cfgInstallPath("CEName"), self.ceName) return DIRAC.S_OK()
def setExtensions(optionValue): global extensions extensions = optionValue DIRAC.gConfig.setOptionValue('/DIRAC/Extensions', extensions) DIRAC.gConfig.setOptionValue(cfgInstallPath('Extensions'), extensions) return DIRAC.S_OK()
def setSkipVOMSDownload(optionValue): global skipVOMSDownload skipVOMSDownload = True DIRAC.gConfig.setOptionValue(cfgInstallPath('SkipVOMSDownload'), skipVOMSDownload) return DIRAC.S_OK()
def setServer(optionValue): global configurationServer configurationServer = optionValue Script.localCfg.addDefaultEntry("/DIRAC/Configuration/Servers", configurationServer) DIRAC.gConfig.setOptionValue(cfgInstallPath("ConfigurationServer"), configurationServer) return DIRAC.S_OK()
def setUseVersionsDir(optionValue): global useVersionsDir useVersionsDir = True DIRAC.gConfig.setOptionValue(cfgInstallPath('UseVersionsDir'), useVersionsDir) return DIRAC.S_OK()
def setLocalSE(optionValue): global localSE localSE = optionValue Script.localCfg.addDefaultEntry("/LocalSite/LocalSE", localSE) DIRAC.gConfig.setOptionValue(cfgInstallPath("LocalSE"), localSE) return DIRAC.S_OK()
def setArchitecture(optionValue): global architecture architecture = optionValue Script.localCfg.addDefaultEntry('/LocalSite/Architecture', architecture) DIRAC.gConfig.setOptionValue(cfgInstallPath('Architecture'), architecture) return DIRAC.S_OK()
Script.registerSwitch( "A:", "Architecture=", "Configure /Architecture=<architecture>", setArchitecture ) Script.registerSwitch( "L:", "LocalSE=", "Configure LocalSite/LocalSE=<localse>", setLocalSE ) Script.registerSwitch( "F", "ForceUpdate", "Force Update of cfg file (i.e. dirac.cfg) (otherwise nothing happens if dirac.cfg already exists)", forceUpdate ) Script.registerSwitch ( "O:", "output=", "output configuration file", setOutput ) Script.setUsageMessage( '\n'.join( [ __doc__.split( '\n' )[1], '\nUsage:', ' %s [option|cfgfile] ...\n' % Script.scriptName ] ) ) Script.parseCommandLine( ignoreErrors = True ) args = Script.getExtraCLICFGFiles() if not logLevel: logLevel = DIRAC.gConfig.getValue( cfgInstallPath( 'LogLevel' ), '' ) if logLevel: DIRAC.gLogger.setLevel( logLevel ) else: DIRAC.gConfig.setOptionValue( cfgInstallPath( 'LogLevel' ), logLevel ) if not gatewayServer: newGatewayServer = DIRAC.gConfig.getValue( cfgInstallPath( 'Gateway' ), '' ) if newGatewayServer: setGateway( newGatewayServer ) if not configurationServer: newConfigurationServer = DIRAC.gConfig.getValue( cfgInstallPath( 'ConfigurationServer' ), '' ) if newConfigurationServer: setServer( newConfigurationServer )
def setLocalSE(optionValue): global localSE localSE = optionValue Script.localCfg.addDefaultEntry('/LocalSite/LocalSE', localSE) DIRAC.gConfig.setOptionValue(cfgInstallPath('LocalSE'), localSE) return DIRAC.S_OK()
def setVO(optionValue): global vo vo = optionValue Script.localCfg.addDefaultEntry('/DIRAC/VirtualOrganization', vo) DIRAC.gConfig.setOptionValue(cfgInstallPath('VirtualOrganization'), vo) return DIRAC.S_OK()
def setExtensions(optionValue): global extensions extensions = optionValue DIRAC.gConfig.setOptionValue('/DIRAC/Extensions', extensions) DIRAC.gConfig.setOptionValue(cfgInstallPath('Extensions'), extensions) return DIRAC.S_OK()
def setServerCert( optionValue ): global useServerCert useServerCert = True DIRAC.gConfig.setOptionValue( cfgInstallPath( 'UseServerCertificate' ), useServerCert ) return DIRAC.S_OK()
"F", "ForceUpdate", "Force Update of cfg file (i.e. dirac.cfg) (otherwise nothing happens if dirac.cfg already exists)", forceUpdate) Script.registerSwitch("O:", "output=", "output configuration file", setOutput) Script.setUsageMessage('\n'.join([ __doc__.split('\n')[1], '\nUsage:', ' %s [option|cfgfile] ...\n' % Script.scriptName ])) Script.parseCommandLine(ignoreErrors=True) args = Script.getExtraCLICFGFiles() if not logLevel: logLevel = DIRAC.gConfig.getValue(cfgInstallPath('LogLevel'), '') if logLevel: DIRAC.gLogger.setLevel(logLevel) else: DIRAC.gConfig.setOptionValue(cfgInstallPath('LogLevel'), logLevel) if not gatewayServer: newGatewayServer = DIRAC.gConfig.getValue(cfgInstallPath('Gateway'), '') if newGatewayServer: setGateway(newGatewayServer) if not configurationServer: newConfigurationServer = DIRAC.gConfig.getValue( cfgInstallPath('ConfigurationServer'), '') if newConfigurationServer: setServer(newConfigurationServer)
def setSkipVOMSDownload( optionValue ): global skipVOMSDownload skipVOMSDownload = True DIRAC.gConfig.setOptionValue( cfgInstallPath( 'SkipVOMSDownload' ), skipVOMSDownload ) return DIRAC.S_OK()
def setGateway(optionValue): global gatewayServer gatewayServer = optionValue setServer(gatewayServer + '/Configuration/Server') DIRAC.gConfig.setOptionValue(cfgInstallPath('Gateway'), gatewayServer) return DIRAC.S_OK()
def setGateway( optionValue ): global gatewayServer gatewayServer = optionValue setServer( gatewayServer + '/Configuration/Server' ) DIRAC.gConfig.setOptionValue( cfgInstallPath( 'Gateway' ), gatewayServer ) return DIRAC.S_OK()
def setServer(optionValue): global configurationServer configurationServer = optionValue DIRAC.gConfig.setOptionValue('/DIRAC/Configuration/Servers', configurationServer) DIRAC.gConfig.setOptionValue(cfgInstallPath('ConfigurationServer'), configurationServer) return DIRAC.S_OK()