本文整理汇总了Python中WMCore.BossAir.Plugins.BasePlugin.BasePlugin类的典型用法代码示例。如果您正苦于以下问题:Python BasePlugin类的具体用法?Python BasePlugin怎么用?Python BasePlugin使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BasePlugin类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, config):
BasePlugin.__init__(self, config)
self.locationDict = {}
myThread = threading.currentThread()
daoFactory = DAOFactory(package="WMCore.WMBS", logger=myThread.logger,
dbinterface=myThread.dbi)
self.locationAction = daoFactory(classname="Locations.GetSiteInfo")
self.packageDir = None
if os.path.exists(os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')):
self.unpacker = os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')
else:
self.unpacker = os.path.join(getWMBASE(),
'WMCore/WMRuntime/Unpacker.py')
self.agent = getattr(config.Agent, 'agentName', 'WMAgent')
self.sandbox = None
self.scriptFile = config.JobSubmitter.submitScript
self.defaultTaskPriority = getattr(config.BossAir, 'defaultTaskPriority', 0)
self.maxTaskPriority = getattr(config.BossAir, 'maxTaskPriority', 1e7)
self.jobsPerSubmit = getattr(config.JobSubmitter, 'jobsPerSubmit', 200)
self.extraMem = getattr(config.JobSubmitter, 'extraMemoryPerCore', 500)
# Required for global pool accounting
self.acctGroup = getattr(config.BossAir, 'acctGroup', "production")
self.acctGroupUser = getattr(config.BossAir, 'acctGroupUser', "cmsdataops")
# Build a requirement string. All CMS resources match DESIRED_Sites on the START
# expression side; however, there are currently some resources (T2_CH_CERN_HLT)
# that are missing the REQUIRED_OS logic. Hence, we duplicate it here.
# TODO(bbockelm): Remove reqStr once HLT has upgraded.
self.reqStr = ('((REQUIRED_OS=?="any") || '
'(GLIDEIN_REQUIRED_OS =?= "any") || '
'stringListMember(GLIDEIN_REQUIRED_OS, REQUIRED_OS)) && '
'(AuthenticatedIdentity =!= "[email protected]")')
if hasattr(config.BossAir, 'condorRequirementsString'):
self.reqStr = config.BossAir.condorRequirementsString
# x509 proxy handling
proxy = Proxy({'logger': myThread.logger})
self.x509userproxy = proxy.getProxyFilename()
self.x509userproxysubject = proxy.getSubject()
self.x509userproxyfqan = proxy.getAttributeFromProxy(self.x509userproxy)
# Remove the x509 ads if the job is matching a volunteer resource
self.x509Expr = 'ifThenElse("$$(GLIDEIN_CMSSite)" =?= "T3_CH_Volunteer",undefined,"%s")'
return
示例2: stateMap
def stateMap():
"""
For a given name, return a global state
"""
stateDict = {'New': 'Pending',
'Gone': 'Error',
'Dead': 'Error'}
# This call is optional but needs to for testing
BasePlugin.verifyState(stateDict)
return stateDict
示例3: __init__
def __init__(self, config):
BasePlugin.__init__(self, config)
self.locationDict = {}
myThread = threading.currentThread()
daoFactory = DAOFactory(package="WMCore.WMBS", logger=myThread.logger,
dbinterface=myThread.dbi)
self.locationAction = daoFactory(classname="Locations.GetSiteInfo")
self.packageDir = None
if os.path.exists(os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')):
self.unpacker = os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')
else:
self.unpacker = os.path.join(getWMBASE(),
'WMCore/WMRuntime/Unpacker.py')
self.agent = getattr(config.Agent, 'agentName', 'WMAgent')
self.sandbox = None
self.scriptFile = config.JobSubmitter.submitScript
self.defaultTaskPriority = getattr(config.BossAir, 'defaultTaskPriority', 0)
self.maxTaskPriority = getattr(config.BossAir, 'maxTaskPriority', 1e7)
self.jobsPerSubmit = getattr(config.JobSubmitter, 'jobsPerSubmit', 200)
self.extraMem = getattr(config.JobSubmitter, 'extraMemoryPerCore', 500)
# Required for global pool accounting
self.acctGroup = getattr(config.BossAir, 'acctGroup', "production")
self.acctGroupUser = getattr(config.BossAir, 'acctGroupUser', "cmsdataops")
# Build a requirement string
self.reqStr = ('stringListMember(GLIDEIN_CMSSite, DESIRED_Sites) '
'&& ((REQUIRED_OS=?="any") || stringListMember(GLIDEIN_REQUIRED_OS, REQUIRED_OS))'
'&& (TARGET.Cpus >= RequestCpus)')
if hasattr(config.BossAir, 'condorRequirementsString'):
self.reqStr = config.BossAir.condorRequirementsString
# x509 proxy handling
proxy = Proxy({'logger': myThread.logger})
self.x509userproxy = proxy.getProxyFilename()
self.x509userproxysubject = proxy.getSubject()
return
示例4: __init__
def __init__(self, config):
self.config = config
BasePlugin.__init__(self, config)
self.packageDir = None
self.unpacker = os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')
self.agent = config.Agent.agentName
self.sandbox = None
self.scriptFile = None
self.queue = None
self.resourceReq = None
self.jobGroup = None
return
示例5: testScramArchToOS
def testScramArchToOS(self):
"""
_testScramArchToOS_
Test the conversion of the ScramArch string to requiredOS
"""
bp = BasePlugin(config=None)
self.assertEqual(bp.scramArchtoRequiredOS('slc5_blah_blah'), 'rhel6')
self.assertEqual(bp.scramArchtoRequiredOS('slc6_blah_blah'), 'rhel6')
self.assertEqual(bp.scramArchtoRequiredOS('slc7_blah_blah'), 'rhel7')
self.assertEqual(bp.scramArchtoRequiredOS(None), 'any')
self.assertEqual(bp.scramArchtoRequiredOS(['slc6_blah_blah', 'slc7_blah_blah']), 'rhel6,rhel7')
return
示例6: __init__
def __init__(self, config):
self.config = config
BasePlugin.__init__(self, config)
self.packageDir = None
self.unpacker = os.path.join(getWMBASE(),
'WMCore/WMRuntime/Unpacker.py')
self.agent = config.Agent.agentName
self.sandbox = None
self.scriptFile = None
self.queue = None
self.resourceReq = None
self.jobGroup = None
self.basePrio = getattr(config.BossAir, 'LsfBasePrio', 50)
return
示例7: __init__
def __init__(self, config):
self.config = config
BasePlugin.__init__(self, config)
self.locationDict = {}
myThread = threading.currentThread()
daoFactory = DAOFactory(package="WMCore.WMBS", logger = myThread.logger,
dbinterface = myThread.dbi)
self.locationAction = daoFactory(classname = "Locations.GetSiteInfo")
self.packageDir = None
if os.path.exists(os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')):
self.unpacker = os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')
else:
self.unpacker = os.path.join(getWMBASE(),
'WMCore/WMRuntime/Unpacker.py')
self.agent = getattr(config.Agent, 'agentName', 'WMAgent')
self.sandbox = None
self.scriptFile = None
self.submitDir = None
self.removeTime = getattr(config.BossAir, 'removeTime', 60)
self.useGSite = getattr(config.BossAir, 'useGLIDEINSites', False)
self.submitWMSMode = getattr(config.BossAir, 'submitWMSMode', False)
self.errorThreshold= getattr(config.BossAir, 'submitErrorThreshold', 10)
self.errorCount = 0
self.defaultTaskPriority = getattr(config.BossAir, 'defaultTaskPriority', 0)
self.maxTaskPriority = getattr(config.BossAir, 'maxTaskPriority', 1e7)
# Required for global pool accounting
self.acctGroup = getattr(config.BossAir, 'acctGroup', "production")
self.acctGroupUser = getattr(config.BossAir, 'acctGroupUser', "cmsdataops")
# Build ourselves a pool
self.pool = []
self.input = None
self.result = None
self.nProcess = getattr(self.config.BossAir, 'nCondorProcesses', 4)
# Set up my proxy and glexec stuff
self.setupScript = getattr(config.BossAir, 'UISetupScript', None)
self.proxy = None
self.serverCert = getattr(config.BossAir, 'delegatedServerCert', None)
self.serverKey = getattr(config.BossAir, 'delegatedServerKey', None)
self.myproxySrv = getattr(config.BossAir, 'myproxyServer', None)
self.proxyDir = getattr(config.BossAir, 'proxyDir', '/tmp/')
self.serverHash = getattr(config.BossAir, 'delegatedServerHash', None)
self.glexecPath = getattr(config.BossAir, 'glexecPath', None)
self.glexecWrapScript = getattr(config.BossAir, 'glexecWrapScript', None)
self.glexecUnwrapScript = getattr(config.BossAir, 'glexecUnwrapScript', None)
self.jdlProxyFile = None # Proxy name to put in JDL (owned by submit user)
self.glexecProxyFile = None # Copy of same file owned by submit user
if self.glexecPath:
if not (self.myproxySrv and self.proxyDir):
raise WMException('glexec requires myproxyServer and proxyDir to be set.')
if self.myproxySrv:
if not (self.serverCert and self.serverKey):
raise WMException('MyProxy server requires serverCert and serverKey to be set.')
# Make the directory for the proxies
if self.proxyDir and not os.path.exists(self.proxyDir):
logging.debug("proxyDir not found: creating it.")
try:
os.makedirs(self.proxyDir, 0o1777)
except Exception as ex:
msg = "Error: problem when creating proxyDir directory - '%s'" % str(ex)
raise BossAirPluginException(msg)
elif not os.path.isdir(self.proxyDir):
msg = "Error: proxyDir '%s' is not a directory" % self.proxyDir
raise BossAirPluginException(msg)
if self.serverCert and self.serverKey and self.myproxySrv:
self.proxy = self.setupMyProxy()
# Build a request string
self.reqStr = "(Memory >= 1 && OpSys == \"LINUX\" ) && (Arch == \"INTEL\" || Arch == \"X86_64\") && stringListMember(GLIDEIN_CMSSite, DESIRED_Sites) && ((REQUIRED_OS==\"any\") || (GLIDEIN_REQUIRED_OS==REQUIRED_OS))"
if hasattr(config.BossAir, 'condorRequirementsString'):
self.reqStr = config.BossAir.condorRequirementsString
return
示例8: __init__
def __init__(self, config):
self.config = config
BasePlugin.__init__(self, config)
self.locationDict = {}
myThread = threading.currentThread()
daoFactory = DAOFactory(package="WMCore.WMBS", logger = myThread.logger,
dbinterface = myThread.dbi)
self.locationAction = daoFactory(classname = "Locations.GetSiteInfo")
self.packageDir = None
if os.path.exists(os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')):
self.unpacker = os.path.join(getWMBASE(),
'src/python/WMCore/WMRuntime/Unpacker.py')
else:
self.unpacker = os.path.join(getWMBASE(),
'WMCore/WMRuntime/Unpacker.py')
self.agent = getattr(config.Agent, 'agentName', 'WMAgent')
self.sandbox = None
self.scriptFile = None
self.submitDir = None
self.removeTime = getattr(config.BossAir, 'removeTime', 60)
self.multiTasks = getattr(config.BossAir, 'multicoreTaskTypes', [])
self.useGSite = getattr(config.BossAir, 'useGLIDEINSites', False)
self.submitWMSMode = getattr(config.BossAir, 'submitWMSMode', False)
self.errorThreshold= getattr(config.BossAir, 'submitErrorThreshold', 10)
self.errorCount = 0
self.defaultTaskPriority = getattr(config.BossAir, 'defaultTaskPriority', 0)
self.maxTaskPriority = getattr(config.BossAir, 'maxTaskPriority', 1e7)
# Build ourselves a pool
self.pool = []
self.input = None
self.result = None
self.nProcess = getattr(self.config.BossAir, 'nCondorProcesses', 4)
# Set up my proxy and glexec stuff
self.setupScript = getattr(config.BossAir, 'UISetupScript', None)
self.proxy = None
self.serverCert = getattr(config.BossAir, 'delegatedServerCert', None)
self.serverKey = getattr(config.BossAir, 'delegatedServerKey', None)
self.myproxySrv = getattr(config.BossAir, 'myproxyServer', None)
self.proxyDir = getattr(config.BossAir, 'proxyDir', '/tmp/')
self.serverHash = getattr(config.BossAir, 'delegatedServerHash', None)
self.glexecPath = getattr(config.BossAir, 'glexecPath', None)
self.glexecWrapScript = getattr(config.BossAir, 'glexecWrapScript', None)
self.glexecUnwrapScript = getattr(config.BossAir, 'glexecUnwrapScript', None)
self.jdlProxyFile = None # Proxy name to put in JDL (owned by submit user)
self.glexecProxyFile = None # Copy of same file owned by submit user
if self.glexecPath:
if not (self.myproxySrv and self.proxyDir):
raise WMException('glexec requires myproxyServer and proxyDir to be set.')
if self.myproxySrv:
if not (self.serverCert and self.serverKey):
raise WMException('MyProxy server requires serverCert and serverKey to be set.')
# Make the directory for the proxies
if self.proxyDir and not os.path.exists(self.proxyDir):
logging.debug("proxyDir not found: creating it.")
try:
os.makedirs(self.proxyDir, 01777)
except Exception, ex:
msg = "Error: problem when creating proxyDir directory - '%s'" % str(ex)
raise BossAirPluginException(msg)
示例9: __init__
def __init__(self, config):
BasePlugin.__init__(self, config)
self.states = ['New', 'Dead', 'Gone']