示例#1
0
 def ftsSites( self ):
   """ get fts site list """
   sites = getSites()
   if not sites["OK"]:
     return sites
   sites = sites["Value"]
   ftsServers = getFTSServersForSites( sites )
   if not ftsServers["OK"]:
     return ftsServers
   ftsServers = ftsServers["Value"]
   ftsSites = []
   for site, ftsServerURL in ftsServers.items():
     ftsSite = FTSSite()
     ftsSite.Name = site
     ftsSite.FTSServer = ftsServerURL
     # # should be read from CS as well
     ftsSite.MaxActiveJobs = self.maxActiveJobs
     ftsSites.append( ftsSite )
   return S_OK( ftsSites )
示例#2
0
  if not getSites["OK"]:
    gLogger.error( "unable to read sites defined in CS!!!" )
    DIRAC.exit( -1 )
  getSites = getSites["Value"]

  if "LCG." + ftsSite not in getSites:
    gLogger.error( "Site '%s' is not defined in CS Resources/Sites section !!!" % ( "LCG.%s" % ftsSite ) )
    DIRAC.exit( -1 )

  SEs = gConfig.getOption( "/Resources/Sites/LCG/LCG.%s/SE" % ftsSite , [] )
  if not SEs["OK"]:
    gLogger.error( "unable to read SEs attached to site LCG.%s: %s" % ftsSite )
    DIRAC.exit( -1 )
  SEs = SEs["Value"]

  newSite = FTSSite()
  newSite.Name = ftsSite
  newSite.FTSServer = ftsServer
  newSite.MaxActiveJobs = maxActiveJobs

  putSite = ftsClient.putFTSSite( newSite )
  if not putSite["OK"]:
    gLogger.error( "unable to put new FTSSite: %s" % putSite["Message"] )
    DIRAC.exit( -1 )

  gLogger.always( "FTSSite '%s' using FTS server %s and serving %s SEs created" % ( newSite.Name,
                                                                                    newSite.FTSServer,
                                                                                    SEs ) )
  DIRAC.exit( 0 )