reqmgr2ms-monitor 2.3.8rc6__tar.gz → 2.3.8rc9__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {reqmgr2ms-monitor-2.3.8rc6/src/python/reqmgr2ms_monitor.egg-info → reqmgr2ms-monitor-2.3.8rc9}/PKG-INFO +1 -1
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/Patterns.py +12 -1
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/MSCore/MSManager.py +6 -3
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/RequestDB/RequestDBWriter.py +1 -8
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/Rucio/Rucio.py +25 -1
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WorkQueue/WorkQueue.py +29 -3
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/__init__.py +1 -1
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9/src/python/reqmgr2ms_monitor.egg-info}/PKG-INFO +1 -1
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/LICENSE +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/MANIFEST.in +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/NOTICE +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/README.md +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/HWMon/wmcore-SysStat +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/acdcserver-tools +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/ParseSpecCmsswdist.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/adjustMongoDocs.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/checkDsetFileCount.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/checkStuckLQE.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/createPileupObjects.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/drainAgent.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/fixWorkflowParentage.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/getWQStatusByWorkflow.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/injectUnified.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/mongoInit.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/parseUnifiedCampaigns.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/setrequeststatus.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/summaryWMStatsFailures.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/updatePileupObjects.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/updateTotalStats.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/workflowCompletion.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/attempt-to-patch.sh +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/buildrelease.sh +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/check-ACDC-parentage +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/check-phedex-dbs-status +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/check-request-wq-status +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/clean-oracle +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/combineMinifyWMStats.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/couch-thrash.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/couch_archiver.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/create-iam-token.sh +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/createStoreResults.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/dbsbuffer-file-fix.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/deploy-rpm-to-jenkins.sh +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/docker.sh +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/fix-dbs-parentage +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/inject-to-config-cache +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/kill-workflow-in-agent +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/kill-workflow-in-global +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/make-local-clones.sh +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/outputmodules-from-config +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/patchComponent.sh +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/paused-jobs +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/purgeDeletedCouchDoc.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/reqmgr-put-default-config +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/reqmgr-sw-update +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/vaildateCMSSWMergeVersion +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-component-standalone +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-couchapp-init +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-delete-couchdb-workflow +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-mod-config +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-resource-control +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-unregister-wmstats +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-upload-config +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-workqueue +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmc-dist-patch +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmc-dist-unpatch +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmc-httpd +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmcore-db-init +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmcore-new-config +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmcore-new-flow +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmcoreD +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/requirements.txt +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/setup.cfg +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/setup.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/setup_build.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/setup_dependencies.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/CPMetrics.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/CertTools.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/EmailAlert.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/ExtendedUnitTestCase.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/FileTools.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/IteratorTools.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/MathUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/MemoryCache.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/Pipeline.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/PortForward.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/ProcessStats.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/PythonVersion.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/Signals.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/TemporaryEnvironment.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/Throttled.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/Timers.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/Timestamps.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/TokenManager.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/Tracing.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/TwPrint.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/Utilities.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/Alarm.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/MathAlgos.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/MiscAlgos.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/ParseXMLFile.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/Permissions.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/Singleton.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/SubprocessAlgos.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Cache/GenericDataCache.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Cache/WMConfigCache.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Cache/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Configuration.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DAOFactory.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/File.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Fileset.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Job.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/JobGroup.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/JobPackage.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/LumiList.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Mask.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/MathStructs/ContinuousSummaryHistogram.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/MathStructs/DiscreteSummaryHistogram.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/MathStructs/SummaryHistogram.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/MathStructs/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Pickleable.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Run.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Subscription.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/WMObject.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/WorkUnit.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Workflow.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/CMSCouch.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/ConfigDBMap.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/CouchUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBCore.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBCreator.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBExceptionHandler.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBFactory.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBFormatter.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/Dialects.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/ExecuteDAO.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/MongoDB.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/MySQL/Destroy.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/MySQL/ListUserContent.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/MySQL/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/MySQLCore.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/Oracle/Destroy.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/Oracle/ListUserContent.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/Oracle/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/ResultSet.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/Transaction.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/ipy_profile_couch.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/CouchObject.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/Decorators.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/Group.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/Interface.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/User.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Lexicon.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/CherryPyThreads/HeartbeatMonitor.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/CherryPyThreads/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/DataStructs/DefaultStructs.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/DataStructs/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/MSCore/MSAuth.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/MSCore/MSCore.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/MSCore/TaskManager.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/MSCore/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/MSMonitor/MSMonitor.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/MSMonitor/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/Service/Data.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/Service/RestApiHub.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/Service/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/Tools/Common.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/Tools/PycurlRucio.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/Tools/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/WebGui/FrontPage.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/MicroService/WebGui/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Auth.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/CherryPyPeriodicTask.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Error.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Format.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/HeartbeatMonitorBase.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Main.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Server.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Services.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Test.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Tools.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/Validation.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/REST/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/ReqMgr/DataStructs/RequestStatus.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/ReqMgr/DataStructs/RequestType.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/ReqMgr/DataStructs/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/ReqMgr/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/AlertManager/AlertManagerAPI.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/AlertManager/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/CRIC/CRIC.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/CRIC/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/DBS/DBS3Reader.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/DBS/DBSConcurrency.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/DBS/DBSErrors.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/DBS/DBSReader.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/DBS/DBSUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/DBS/DBSWriterObjects.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/DBS/ProdException.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/DBS/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/FWJRDB/FWJRDBAPI.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/FWJRDB/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/HTTPS/HTTPSAuthHandler.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/HTTPS/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/LogDB/LogDB.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/LogDB/LogDBBackend.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/LogDB/LogDBExceptions.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/LogDB/LogDBReport.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/LogDB/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/MSPileup/MSPileupUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/MSPileup/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/McM/McM.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/McM/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/MonIT/Grafana.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/MonIT/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/PyCondor/PyCondorAPI.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/PyCondor/PyCondorUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/PyCondor/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/ReqMgr/ReqMgr.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/ReqMgr/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/ReqMgrAux/ReqMgrAux.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/ReqMgrAux/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/RequestDB/RequestDBReader.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/RequestDB/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/Requests.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/Rucio/RucioUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/Rucio/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/RucioConMon/RucioConMon.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/RucioConMon/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/Service.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/StompAMQ/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/TagCollector/TagCollector.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/TagCollector/XMLUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/TagCollector/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/UUIDLib.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/UserFileCache/UserFileCache.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/UserFileCache/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMAgent/WMAgent.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMAgent/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMArchive/CMSSWMetrics.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMArchive/DataMap.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMArchive/WMArchive.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMArchive/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMBS/WMBS.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMBS/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMStats/DataStruct/RequestInfoCollection.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMStats/DataStruct/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMStats/WMStatsPycurl.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMStats/WMStatsReader.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMStats/WMStatsWriter.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMStats/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMStatsServer/WMStatsServer.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WMStatsServer/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/WorkQueue/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/pycurl_manager.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/WMBase.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/WMConnectionBase.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/WMException.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/WMExceptions.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/WMFactory.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/WMInit.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/WMLogging.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Wrappers/JsonWrapper/JSONThunker.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Wrappers/JsonWrapper/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Wrappers/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/reqmgr2ms_monitor.egg-info/SOURCES.txt +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/reqmgr2ms_monitor.egg-info/dependency_links.txt +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/reqmgr2ms_monitor.egg-info/requires.txt +0 -0
- {reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/reqmgr2ms_monitor.egg-info/top_level.txt +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
"""
|
2
2
|
Patterns module provides set of CS patterns
|
3
3
|
"""
|
4
|
-
|
4
|
+
import re
|
5
5
|
|
6
6
|
class Singleton(type):
|
7
7
|
"""Implementation of Singleton class"""
|
@@ -11,3 +11,14 @@ class Singleton(type):
|
|
11
11
|
cls._instances[cls] = \
|
12
12
|
super(Singleton, cls).__call__(*args, **kwargs)
|
13
13
|
return cls._instances[cls]
|
14
|
+
|
15
|
+
|
16
|
+
def getDomainName(urlStr):
|
17
|
+
"""
|
18
|
+
Given a URL string, return the domain name.
|
19
|
+
:param urlStr: URL string
|
20
|
+
:return: a string with the domain name (e.g. "cmsweb-prod")
|
21
|
+
"""
|
22
|
+
domainPattern = re.compile(r'https?://([^/]+)\.cern\.ch')
|
23
|
+
match = domainPattern.search(urlStr)
|
24
|
+
return match.group(1) if match else ""
|
@@ -34,6 +34,7 @@ from WMCore.MicroService.Tools.Common import getMSLogger
|
|
34
34
|
from WMCore.MicroService.MSCore.TaskManager import start_new_thread
|
35
35
|
from Utils.Utilities import strToBool
|
36
36
|
|
37
|
+
|
37
38
|
def daemon(func, reqStatus, interval, logger):
|
38
39
|
"Daemon to perform given function action for all request in our store"
|
39
40
|
while True:
|
@@ -398,16 +399,18 @@ class MSManager(object):
|
|
398
399
|
:param doc: input JSON doc for HTTP POST request
|
399
400
|
:return: list of results
|
400
401
|
"""
|
402
|
+
res = []
|
401
403
|
if 'pileup' in self.services:
|
402
|
-
res = []
|
403
404
|
if 'pileupName' in doc:
|
404
405
|
# this is create POST request
|
405
406
|
res = self.msPileup.createPileup(doc)
|
406
407
|
if 'query' in doc:
|
407
408
|
# this is POST request to get data for a given JSON query
|
408
409
|
res = self.msPileup.queryDatabase(doc)
|
409
|
-
|
410
|
-
|
410
|
+
elif 'transferor' in self.services:
|
411
|
+
if 'workflow' in doc:
|
412
|
+
res = self.msTransferor.updateSites(doc)
|
413
|
+
return res
|
411
414
|
|
412
415
|
def update(self, doc):
|
413
416
|
"""
|
@@ -7,13 +7,6 @@ class RequestDBWriter(RequestDBReader):
|
|
7
7
|
# set the connection for local couchDB call
|
8
8
|
# inherited from WMStatsReader
|
9
9
|
self._commonInit(couchURL, couchapp)
|
10
|
-
self._propertyNeedToBeEncoded = ["RequestTransition",
|
11
|
-
"PriorityTransition",
|
12
|
-
"SiteWhitelist",
|
13
|
-
"SiteBlacklist",
|
14
|
-
"BlockWhitelist",
|
15
|
-
"InputDatasetTypes",
|
16
|
-
"OutputDatasets"]
|
17
10
|
|
18
11
|
def insertGenericRequest(self, doc):
|
19
12
|
|
@@ -31,7 +24,7 @@ class RequestDBWriter(RequestDBReader):
|
|
31
24
|
|
32
25
|
def updateRequestStats(self, request, stats):
|
33
26
|
"""
|
34
|
-
This
|
27
|
+
This function is only available ReqMgr couch app currently (not T0)
|
35
28
|
WQ specific function
|
36
29
|
param: stats: dict of {'total_jobs': 0, 'input_lumis': 0,
|
37
30
|
'input_events': 0, 'input_num_files': 0}
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Services/Rucio/Rucio.py
RENAMED
@@ -16,7 +16,7 @@ from copy import deepcopy
|
|
16
16
|
from rucio.client import Client
|
17
17
|
from rucio.common.exception import (AccountNotFound, DataIdentifierNotFound, AccessDenied, DuplicateRule,
|
18
18
|
DataIdentifierAlreadyExists, DuplicateContent, InvalidRSEExpression,
|
19
|
-
UnsupportedOperation, FileAlreadyExists, RuleNotFound, RSENotFound)
|
19
|
+
UnsupportedOperation, FileAlreadyExists, RuleNotFound, RSENotFound, RuleReplaceFailed)
|
20
20
|
from Utils.MemoryCache import MemoryCache
|
21
21
|
from Utils.IteratorTools import grouper
|
22
22
|
from WMCore.Services.Rucio.RucioUtils import (validateMetaData, weightedChoice,
|
@@ -454,6 +454,30 @@ class Rucio(object):
|
|
454
454
|
self.logger.error("Exception closing container/block: %s. Error: %s", name, str(ex))
|
455
455
|
return response
|
456
456
|
|
457
|
+
def moveReplicationRule(self, ruleId, rseExpression, account):
|
458
|
+
"""
|
459
|
+
Perform move operation for provided rule id and rse expression
|
460
|
+
:param ruleId: rule id
|
461
|
+
:param rseExpression: rse expression
|
462
|
+
:param account: rucio quota account
|
463
|
+
:return: it returns either an empty list or a list with a string id for the rule created
|
464
|
+
Please note, we made return type from this wrapper compatible with createReplicateRule
|
465
|
+
"""
|
466
|
+
ruleIds = []
|
467
|
+
try:
|
468
|
+
rid = self.cli.move_replication_rule(ruleId, rseExpression, account)
|
469
|
+
ruleIds.append(rid)
|
470
|
+
except RuleNotFound as ex:
|
471
|
+
msg = "RuleNotFound move DID replication rule. Error: %s" % str(ex)
|
472
|
+
raise WMRucioException(msg) from ex
|
473
|
+
except RuleReplaceFailed as ex:
|
474
|
+
msg = "RuleReplaceFailed move DID replication rule. Error: %s" % str(ex)
|
475
|
+
raise WMRucioException(msg) from ex
|
476
|
+
except Exception as ex:
|
477
|
+
msg = "Unsupported exception from Rucio API. Error: %s" % str(ex)
|
478
|
+
raise WMRucioException(msg) from ex
|
479
|
+
return ruleIds
|
480
|
+
|
457
481
|
def createReplicationRule(self, names, rseExpression, scope='cms', copies=1, **kwargs):
|
458
482
|
"""
|
459
483
|
_createReplicationRule_
|
@@ -203,7 +203,7 @@ class WorkQueue(object):
|
|
203
203
|
eleParams[self.eleKey] = updatedParams
|
204
204
|
conflictIDs = self.db.updateBulkDocumentsWithConflictHandle(elementIds, eleParams, maxConflictLimit=20)
|
205
205
|
if conflictIDs:
|
206
|
-
raise CouchConflictError("WQ update failed with conflict", data=updatedParams, result=conflictIDs)
|
206
|
+
raise CouchConflictError("WQ update failed with conflict", data=updatedParams, result=conflictIDs, status=409)
|
207
207
|
return
|
208
208
|
|
209
209
|
def getAvailableWorkflows(self):
|
@@ -237,6 +237,34 @@ class WorkQueue(object):
|
|
237
237
|
elements = [x['id'] for x in data.get('rows', []) if x['key'][1] not in nonCancelableElements]
|
238
238
|
return self.updateElements(*elements, Status='CancelRequested')
|
239
239
|
|
240
|
+
def updateSiteLists(self, wf, siteWhiteList=None, siteBlackList=None):
|
241
|
+
"""
|
242
|
+
Update site list parameters in elements matching a given workflow and a list of element statuse
|
243
|
+
|
244
|
+
:param wf: workflow name
|
245
|
+
:param siteWhiteList: optional list of strings, new site white list
|
246
|
+
:param siteBlackList: optional list of strings, new site black list
|
247
|
+
:return: None
|
248
|
+
"""
|
249
|
+
# Update elements in Available status
|
250
|
+
data = self.db.loadView('WorkQueue', 'jobStatusByRequest',
|
251
|
+
{'reduce': False})
|
252
|
+
states = ['Available']
|
253
|
+
elementsToUpdate = [x['id'] for x in data.get('rows', []) if x['key'][-1] in states and wf in x['key']]
|
254
|
+
if elementsToUpdate:
|
255
|
+
self.logger.info("Updating %d elements in status %s for workflow %s", len(elementsToUpdate), states, wf)
|
256
|
+
self.updateElements(*elementsToUpdate, SiteWhiteList=siteWhiteList, SiteBlackList=siteBlackList)
|
257
|
+
# Update the spec, if it exists
|
258
|
+
if self.db.documentExists(wf):
|
259
|
+
wmspec = WMWorkloadHelper()
|
260
|
+
# update local workqueue couchDB
|
261
|
+
wmspec.load(self.hostWithAuth + "/%s/%s/spec" % (self.db.name, wf))
|
262
|
+
wmspec.setSiteWhiteList(siteWhiteList)
|
263
|
+
wmspec.setSiteBlackList(siteBlackList)
|
264
|
+
dummy_values = {'name': wmspec.name()}
|
265
|
+
wmspec.saveCouch(self.hostWithAuth, self.db.name, dummy_values)
|
266
|
+
return
|
267
|
+
|
240
268
|
def updatePriority(self, wf, priority):
|
241
269
|
"""Update priority of a workflow, this implies
|
242
270
|
updating the spec and the priority of the Available elements"""
|
@@ -307,7 +335,6 @@ class WorkQueue(object):
|
|
307
335
|
'Jobs': x['value']['sum']}
|
308
336
|
return result
|
309
337
|
|
310
|
-
|
311
338
|
def _retrieveWorkflowStatus(self, data):
|
312
339
|
workflowsStatus = {}
|
313
340
|
|
@@ -318,7 +345,6 @@ class WorkQueue(object):
|
|
318
345
|
workflowsStatus[workflow] = status
|
319
346
|
return workflowsStatus
|
320
347
|
|
321
|
-
|
322
348
|
def getWorkflowStatusFromWQE(self, stale=True):
|
323
349
|
"""
|
324
350
|
only checks workqueue db not inbox db.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/ParseSpecCmsswdist.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/adjustMongoDocs.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/checkDsetFileCount.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/checkStuckLQE.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/createPileupObjects.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/fixWorkflowParentage.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/getWQStatusByWorkflow.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/injectUnified.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/parseUnifiedCampaigns.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/setrequeststatus.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/updatePileupObjects.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/updateTotalStats.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/adhoc-scripts/workflowCompletion.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/bin/wmagent-delete-couchdb-workflow
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/ExtendedUnitTestCase.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/Utils/TemporaryEnvironment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/Alarm.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/MathAlgos.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/MiscAlgos.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/Singleton.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Algorithms/__init__.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Cache/WMConfigCache.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Cache/__init__.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Configuration.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/File.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Fileset.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Job.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/JobGroup.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/LumiList.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Mask.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Run.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/WMObject.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/WorkUnit.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/Workflow.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/DataStructs/__init__.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/CMSCouch.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/ConfigDBMap.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/CouchUtils.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBCore.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBCreator.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBFactory.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/DBFormatter.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/Dialects.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/ExecuteDAO.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/MongoDB.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/MySQLCore.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/ResultSet.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/Transaction.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/Database/__init__.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/CouchObject.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/Decorators.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/Group.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/Interface.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/User.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.8rc6 → reqmgr2ms-monitor-2.3.8rc9}/src/python/WMCore/GroupUser/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|