reqmgr2ms-monitor 2.3.2rc2__tar.gz → 2.3.2rc4__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {reqmgr2ms-monitor-2.3.2rc2/src/python/reqmgr2ms_monitor.egg-info → reqmgr2ms-monitor-2.3.2rc4}/PKG-INFO +1 -1
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/setup_dependencies.py +2 -1
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Lexicon.py +3 -3
- reqmgr2ms-monitor-2.3.2rc4/src/python/WMCore/Services/WMStats/WMStatsPycurl.py +145 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMStats/WMStatsReader.py +34 -17
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/__init__.py +1 -1
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4/src/python/reqmgr2ms_monitor.egg-info}/PKG-INFO +1 -1
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/reqmgr2ms_monitor.egg-info/SOURCES.txt +1 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/LICENSE +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/MANIFEST.in +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/NOTICE +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/README.md +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/HWMon/wmcore-SysStat +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/acdcserver-tools +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/ParseSpecCmsswdist.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/adjustMongoDocs.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/checkDsetFileCount.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/checkStuckLQE.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/createPileupObjects.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/drainAgent.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/fixWorkflowParentage.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/getWQStatusByWorkflow.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/injectUnified.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/mongoInit.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/parseUnifiedCampaigns.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/setrequeststatus.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/summaryWMStatsFailures.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/updatePileupObjects.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/updateTotalStats.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/workflowCompletion.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/attempt-to-patch.sh +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/buildrelease.sh +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/check-ACDC-parentage +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/check-phedex-dbs-status +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/check-request-wq-status +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/clean-oracle +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/combineMinifyWMStats.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/couch-thrash.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/couch_archiver.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/create-iam-token.sh +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/createStoreResults.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/dbsbuffer-file-fix.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/deploy-rpm-to-jenkins.sh +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/fix-dbs-parentage +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/inject-to-config-cache +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/kill-workflow-in-agent +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/kill-workflow-in-global +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/make-local-clones.sh +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/outputmodules-from-config +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/patchComponent.sh +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/paused-jobs +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/purgeDeletedCouchDoc.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/reqmgr-put-default-config +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/reqmgr-sw-update +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/vaildateCMSSWMergeVersion +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmagent-couchapp-init +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmagent-delete-couchdb-workflow +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmagent-mod-config +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmagent-resource-control +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmagent-unregister-wmstats +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmagent-upload-config +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmagent-workqueue +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmc-dist-patch +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmc-dist-unpatch +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmc-httpd +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmcore-db-init +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmcore-new-config +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmcore-new-flow +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/wmcoreD +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/requirements.txt +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/setup.cfg +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/setup.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/setup_build.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/CPMetrics.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/CertTools.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/EmailAlert.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/ExtendedUnitTestCase.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/FileTools.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/IteratorTools.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/MathUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/MemoryCache.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/Patterns.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/Pipeline.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/PortForward.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/ProcessStats.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/PythonVersion.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/Signals.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/TemporaryEnvironment.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/Throttled.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/Timers.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/Timestamps.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/TokenManager.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/Tracing.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/TwPrint.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/Utilities.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/Utils/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/Alarm.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/MathAlgos.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/MiscAlgos.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/ParseXMLFile.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/Permissions.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/Singleton.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/SubprocessAlgos.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Cache/GenericDataCache.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Cache/WMConfigCache.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Cache/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Configuration.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DAOFactory.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/File.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Fileset.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Job.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/JobGroup.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/JobPackage.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/LumiList.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Mask.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/MathStructs/ContinuousSummaryHistogram.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/MathStructs/DiscreteSummaryHistogram.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/MathStructs/SummaryHistogram.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/MathStructs/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Pickleable.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Run.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Subscription.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/WMObject.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/WorkUnit.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Workflow.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/CMSCouch.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/ConfigDBMap.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/CouchUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/DBCore.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/DBCreator.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/DBExceptionHandler.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/DBFactory.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/DBFormatter.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/Dialects.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/ExecuteDAO.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/MongoDB.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/MySQL/Destroy.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/MySQL/ListUserContent.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/MySQL/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/MySQLCore.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/Oracle/Destroy.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/Oracle/ListUserContent.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/Oracle/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/ResultSet.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/Transaction.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Database/ipy_profile_couch.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/GroupUser/CouchObject.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/GroupUser/Decorators.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/GroupUser/Group.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/GroupUser/Interface.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/GroupUser/User.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/GroupUser/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/CherryPyThreads/HeartbeatMonitor.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/CherryPyThreads/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/DataStructs/DefaultStructs.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/DataStructs/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/MSCore/MSAuth.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/MSCore/MSCore.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/MSCore/MSManager.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/MSCore/TaskManager.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/MSCore/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/MSMonitor/MSMonitor.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/MSMonitor/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/Service/Data.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/Service/RestApiHub.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/Service/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/Tools/Common.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/Tools/PycurlRucio.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/Tools/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/WebGui/FrontPage.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/MicroService/WebGui/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Auth.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/CherryPyPeriodicTask.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Error.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Format.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/HeartbeatMonitorBase.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Main.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Server.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Services.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Test.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Tools.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/Validation.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/REST/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/ReqMgr/DataStructs/RequestStatus.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/ReqMgr/DataStructs/RequestType.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/ReqMgr/DataStructs/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/ReqMgr/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/AlertManager/AlertManagerAPI.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/AlertManager/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/CRIC/CRIC.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/CRIC/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/DBS/DBS3Reader.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/DBS/DBSConcurrency.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/DBS/DBSErrors.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/DBS/DBSReader.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/DBS/DBSUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/DBS/DBSWriterObjects.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/DBS/ProdException.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/DBS/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/FWJRDB/FWJRDBAPI.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/FWJRDB/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/HTTPS/HTTPSAuthHandler.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/HTTPS/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/LogDB/LogDB.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/LogDB/LogDBBackend.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/LogDB/LogDBExceptions.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/LogDB/LogDBReport.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/LogDB/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/MSPileup/MSPileupUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/MSPileup/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/McM/McM.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/McM/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/MonIT/Grafana.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/MonIT/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/PyCondor/PyCondorAPI.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/PyCondor/PyCondorUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/PyCondor/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/ReqMgr/ReqMgr.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/ReqMgr/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/ReqMgrAux/ReqMgrAux.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/ReqMgrAux/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/RequestDB/RequestDBReader.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/RequestDB/RequestDBWriter.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/RequestDB/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/Requests.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/Rucio/Rucio.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/Rucio/RucioUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/Rucio/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/RucioConMon/RucioConMon.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/RucioConMon/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/Service.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/StompAMQ/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/TagCollector/TagCollector.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/TagCollector/XMLUtils.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/TagCollector/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/UUIDLib.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/UserFileCache/UserFileCache.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/UserFileCache/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMAgent/WMAgent.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMAgent/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMArchive/CMSSWMetrics.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMArchive/DataMap.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMArchive/WMArchive.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMArchive/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMBS/WMBS.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMBS/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMStats/DataStruct/RequestInfoCollection.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMStats/DataStruct/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMStats/WMStatsWriter.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMStats/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMStatsServer/WMStatsServer.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WMStatsServer/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WorkQueue/WorkQueue.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/WorkQueue/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Services/pycurl_manager.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/WMBase.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/WMConnectionBase.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/WMException.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/WMExceptions.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/WMFactory.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/WMInit.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/WMLogging.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Wrappers/JsonWrapper/JSONThunker.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Wrappers/JsonWrapper/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Wrappers/__init__.py +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/reqmgr2ms_monitor.egg-info/dependency_links.txt +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/reqmgr2ms_monitor.egg-info/requires.txt +0 -0
- {reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/reqmgr2ms_monitor.egg-info/top_level.txt +0 -0
@@ -223,7 +223,8 @@ dependencies = {
|
|
223
223
|
'packages': ['WMCore.Credential', 'WMCore.Algorithms+', 'WMCore.WMSpec+',
|
224
224
|
'WMCore.JobSplitting', 'WMCore.Services+', 'Utils+'],
|
225
225
|
'systems': ['wmc-database', 'wmc-runtime'],
|
226
|
-
'modules': ['WMCore.WMBS.File', 'WMCore.WMBS.WMBSBase', 'WMCore.WMBS.__init__'
|
226
|
+
'modules': ['WMCore.WMBS.File', 'WMCore.WMBS.WMBSBase', 'WMCore.WMBS.__init__',
|
227
|
+
'WMCore.BossAir.Plugins.BasePlugin', 'WMCore.BossAir.Plugins.__init__'],
|
227
228
|
},
|
228
229
|
'wmclient': {
|
229
230
|
'systems': ['wmc-runtime', 'wmc-database']
|
@@ -26,7 +26,7 @@ from WMCore.WMException import WMException, WMEXCEPTION_START_STR, WMEXCEPTION_E
|
|
26
26
|
# i.e production should end with v[number]
|
27
27
|
PRIMARY_DS = {'re': '^[a-zA-Z][a-zA-Z0-9\-_]*$', 'maxLength': 99}
|
28
28
|
PROCESSED_DS = {'re': '[a-zA-Z0-9\.\-_]+', 'maxLength': 199}
|
29
|
-
TIER = {'re': '[A-
|
29
|
+
TIER = {'re': '[A-Z0-9\-_]+', 'maxLength': 99}
|
30
30
|
BLOCK_STR = {'re': '#[a-zA-Z0-9\.\-_]+', 'maxLength': 100}
|
31
31
|
|
32
32
|
lfnParts = {
|
@@ -103,7 +103,7 @@ def searchblock(candidate):
|
|
103
103
|
return check(regexp, candidate)
|
104
104
|
|
105
105
|
|
106
|
-
SEARCHDATASET_RE = r'^/(\*|[a-zA-Z\*][a-zA-Z0-9_\*\-]{0,100})(/(\*|[a-zA-Z0-9_\.\-\*]{1,199})){0,1}(/(\*|[A-
|
106
|
+
SEARCHDATASET_RE = r'^/(\*|[a-zA-Z\*][a-zA-Z0-9_\*\-]{0,100})(/(\*|[a-zA-Z0-9_\.\-\*]{1,199})){0,1}(/(\*|[A-Z0-9\-\*]{1,99})){0,1}$'
|
107
107
|
|
108
108
|
|
109
109
|
def searchdataset(candidate):
|
@@ -202,7 +202,7 @@ def globalTag(candidate):
|
|
202
202
|
return check(r'[a-zA-Z0-9\s\.\-_:]{1,100}$', candidate)
|
203
203
|
|
204
204
|
|
205
|
-
DATASET_RE = r'^/[a-zA-Z0-9\-_]{1,99}/[a-zA-Z0-9\.\-_]{1,199}/[A-
|
205
|
+
DATASET_RE = r'^/[a-zA-Z0-9\-_]{1,99}/[a-zA-Z0-9\.\-_]{1,199}/[A-Z0-9\-]{1,99}$'
|
206
206
|
|
207
207
|
|
208
208
|
def dataset(candidate):
|
@@ -0,0 +1,145 @@
|
|
1
|
+
"""
|
2
|
+
This module provides some functions to create concurrent HTTP requests
|
3
|
+
for CouchDB, as an alternative to the sequential modules available under:
|
4
|
+
* WMCore/Services/WMStats/WMStatsReader.getTaskJobSummaryByRequest
|
5
|
+
* WMCore/Services/WMStats/WMStatsReader.jobDetailByTasks
|
6
|
+
|
7
|
+
Documentation for the parameters supported in views query can be found at:
|
8
|
+
https://docs.couchdb.org/en/stable/api/ddoc/views.html#get--db-_design-ddoc-_view-view
|
9
|
+
"""
|
10
|
+
import json
|
11
|
+
|
12
|
+
from urllib.parse import urljoin, urlencode
|
13
|
+
from Utils.CertTools import ckey, cert
|
14
|
+
from WMCore.Services.pycurl_manager import getdata as multi_getdata
|
15
|
+
|
16
|
+
|
17
|
+
def getTaskJobSummaryByRequestPycurl(rowsSummary, sampleSize, serviceOpts):
|
18
|
+
"""
|
19
|
+
Pycurl-based implementation of WMStatsReader.getTaskJobSummaryByRequest
|
20
|
+
:param rowsSummary: a dictionary with rows from CouchDB
|
21
|
+
:param sampleSize: integer with number of documents to retrieve
|
22
|
+
:param serviceOpts: dictionary with CouchDB options (url, db name and couchapp name)
|
23
|
+
:return: a dictionary with job detail
|
24
|
+
"""
|
25
|
+
paramQueries = []
|
26
|
+
for row in rowsSummary['rows']:
|
27
|
+
thisQuery = {"startkey": [], "endkey": [], "numOfError": 0}
|
28
|
+
# row["key"] = ['workflow', 'task', 'jobstatus', 'exitCode', 'site']
|
29
|
+
thisQuery["startkey"] = row["key"][:4]
|
30
|
+
if row["key"][4]:
|
31
|
+
thisQuery["startkey"].append(row["key"][4]) # site
|
32
|
+
|
33
|
+
thisQuery["endkey"] = []
|
34
|
+
thisQuery["endkey"].extend(thisQuery["startkey"])
|
35
|
+
thisQuery["endkey"].append({})
|
36
|
+
# append amount of errors matching the 5 keys above
|
37
|
+
thisQuery["numOfError"] = row["value"]
|
38
|
+
# add query to the pool
|
39
|
+
paramQueries.append(thisQuery)
|
40
|
+
|
41
|
+
return jobDetailByTasksPycurl(paramQueries, sampleSize, serviceOpts)
|
42
|
+
|
43
|
+
|
44
|
+
def jobDetailByTasksPycurl(queries, limit, serviceOpts):
|
45
|
+
"""
|
46
|
+
Pycurl-based implementation of WMStatsReader.jobDetailByTasks.
|
47
|
+
In short, for each tuple of errors, it returns "limit" number of documents.
|
48
|
+
:param queries: list of CouchDB query parameters
|
49
|
+
:param limit: number of documents to retrieve from CouchDB
|
50
|
+
:param serviceOpts: dictionary with CouchDB options (url, db name and couchapp name)
|
51
|
+
:return: dictionary with job detail information, in a format like:
|
52
|
+
{"WORKFLOW_NAME":
|
53
|
+
{"/WORKFLOW_NAME/TASK_NAME":
|
54
|
+
{"JOB_STATE":
|
55
|
+
{"EXIT_CODE":
|
56
|
+
{"SITE_NAME":
|
57
|
+
"samples": [
|
58
|
+
{"_id": "123abc",
|
59
|
+
"_rev": "12-abc",
|
60
|
+
"wmbsid": 2006208,
|
61
|
+
"type": "jobsummary",
|
62
|
+
"retrycount": 3,
|
63
|
+
"errors": {"JobSubmit": [{
|
64
|
+
"type": "SubmitFailed",
|
65
|
+
"details": "The job can blah blah",
|
66
|
+
"exitCode": 71103}]
|
67
|
+
},
|
68
|
+
"timestamp": 1698749157,
|
69
|
+
... etc etc}],
|
70
|
+
"errorCount": 1}
|
71
|
+
}
|
72
|
+
}
|
73
|
+
},
|
74
|
+
{"/WORKFLOW_NAME/TASK_NAME-2":
|
75
|
+
{"JOB_STATE": {... etc etc
|
76
|
+
|
77
|
+
A decoded example of this query would be:
|
78
|
+
scurl "https://cmsweb-test9.cern.ch/couchdb/wmstats/_design/WMStatsErl3/_view/jobsByStatusWorkflow?reduce=false&include_docs=true&startkey=["WORKFLOW_NAME","/WORKFLOW_NAME/TASK_NAME","JOB_STATE",EXIT_CODE,"SITE_NAME"]&endkey=["WORKFLOW_NAME","/WORKFLOW_NAME/TASK_NAME","JOB_STATE",EXIT_CODE,"SITE_NAME",{}]&limit=1&stale=update_after"
|
79
|
+
while encoding the url would result in:
|
80
|
+
scurl "https://****.cern.ch/couchdb/wmstats/_design/WMStatsErl3/_view/jobsByStatusWorkflow?reduce=false&include_docs=true&startkey=%5B%22WORKFLOW_NAME%22%2C+%22%2FWORKFLOW_NAME%2FTASK_NAME%22%2C+%22JOB_STATE%22%2C+EXIT_CODE%2C+%22SITE_NAME%22%5D&endkey=%5B%22WORKFLOW_NAME%22%2C+%22%2FWORKFLOW_NAME%2FTASK_NAME%22%2C+%22JOB_STATE%22%2C+EXIT_CODE%2C+%22SITE_NAME%22%2C+%7B%7D%5D&limit=1&stale=update_after"
|
81
|
+
|
82
|
+
Example of output is:
|
83
|
+
{"total_rows":4764135,"offset":4056263,"rows":[
|
84
|
+
{"id":"12703ce5-xxx","key":["WORKFLOW_NAME","/WORKFLOW_NAME/TASK_NAME","jobfailed",8006,"SITE_NAME","https://xxx.cern.ch/couchdb/acdcserver","vocms0255.cern.ch",["Fatal Exception"]],
|
85
|
+
"value":{"id":"12703ce5-xxx","rev":"4-xxx"},
|
86
|
+
"doc":{"_id":"12703ce5-xx","_rev":"4-xxx","wmbsid":2709786,"type":"jobsummary", ...
|
87
|
+
|
88
|
+
where (for the examples above):
|
89
|
+
WORKFLOW_NAME is, e.g.: pdmvserv_Run2017G_DoubleMuon_UL2017_MiniAODv2_BParking_230917_124108_9876
|
90
|
+
TASK_NAME is, e.g.: DataProcessing
|
91
|
+
SITE_NAME is, e.g.: T2_US_Wisconsin
|
92
|
+
JOB_STATE is, e.g.: jobfailed
|
93
|
+
EXIT_CODE is, e.g.: 8006
|
94
|
+
"""
|
95
|
+
uri = f"couchdb/{serviceOpts['dbName']}/_design/{serviceOpts['couchapp']}/_view/jobsByStatusWorkflow"
|
96
|
+
baseUrl = urljoin(serviceOpts['couchURL'], uri)
|
97
|
+
|
98
|
+
encoder = json.JSONEncoder()
|
99
|
+
urlsPool = []
|
100
|
+
for query in queries:
|
101
|
+
options = {'include_docs': encoder.encode(True),
|
102
|
+
'reduce': encoder.encode(False),
|
103
|
+
'startkey': encoder.encode(query["startkey"]),
|
104
|
+
'endkey': encoder.encode(query["endkey"]),
|
105
|
+
'limit': encoder.encode(limit)}
|
106
|
+
# we cannot encode the 'stale' parameter
|
107
|
+
options.setdefault("stale", "update_after")
|
108
|
+
# encode url data for the GET request
|
109
|
+
thisUrl = f"{baseUrl}?{urlencode(options, doseq=True)}"
|
110
|
+
urlsPool.append(thisUrl)
|
111
|
+
|
112
|
+
jobInfoDoc = {}
|
113
|
+
# now run all of these calls in parallel
|
114
|
+
for response in multi_getdata(urlsPool, ckey(), cert()):
|
115
|
+
if 'error' in response:
|
116
|
+
raise RuntimeError(f"Unexpected error in HTTP call. Details: {response}")
|
117
|
+
data = json.loads(response.get('data', ''))
|
118
|
+
if 'error' in data:
|
119
|
+
raise RuntimeError(f"CouchDB query failed. Details: {data}")
|
120
|
+
|
121
|
+
for row in data.get('rows', []):
|
122
|
+
keys = row['key']
|
123
|
+
workflow = keys[0]
|
124
|
+
task = keys[1]
|
125
|
+
jobStatus = keys[2]
|
126
|
+
exitCode = keys[3]
|
127
|
+
site = keys[4]
|
128
|
+
|
129
|
+
jobInfoDoc.setdefault(workflow, {})
|
130
|
+
jobInfoDoc[workflow].setdefault(task, {})
|
131
|
+
jobInfoDoc[workflow][task].setdefault(jobStatus, {})
|
132
|
+
jobInfoDoc[workflow][task][jobStatus].setdefault(exitCode, {})
|
133
|
+
jobInfoDoc[workflow][task][jobStatus][exitCode].setdefault(site, {})
|
134
|
+
finalStruct = jobInfoDoc[workflow][task][jobStatus][exitCode][site]
|
135
|
+
finalStruct.setdefault("samples", [])
|
136
|
+
finalStruct["samples"].append(row["doc"])
|
137
|
+
# now painfully find out the number of errors based on the original query
|
138
|
+
finalStruct.setdefault("errorCount", 0)
|
139
|
+
keysJson = json.dumps(keys[:5])
|
140
|
+
for query in queries:
|
141
|
+
if json.dumps(query["startkey"]) in keysJson:
|
142
|
+
finalStruct["errorCount"] = query["numOfError"]
|
143
|
+
break
|
144
|
+
|
145
|
+
return jobInfoDoc
|
@@ -1,15 +1,20 @@
|
|
1
1
|
from __future__ import division, print_function
|
2
2
|
|
3
|
+
import time
|
4
|
+
|
3
5
|
from builtins import object
|
4
6
|
from future.utils import viewitems
|
5
7
|
|
6
8
|
import logging
|
9
|
+
|
7
10
|
from Utils.IteratorTools import nestedDictUpdate, grouper
|
8
11
|
from WMCore.Database.CMSCouch import CouchServer
|
9
12
|
from WMCore.Lexicon import splitCouchServiceURL, sanitizeURL
|
10
13
|
from WMCore.Services.RequestDB.RequestDBReader import RequestDBReader
|
11
14
|
from WMCore.Services.WMStats.DataStruct.RequestInfoCollection import RequestInfo
|
12
|
-
from WMCore.ReqMgr.DataStructs.RequestStatus import T0_ACTIVE_STATUS
|
15
|
+
from WMCore.ReqMgr.DataStructs.RequestStatus import T0_ACTIVE_STATUS
|
16
|
+
from WMCore.Services.WMStats.WMStatsPycurl import getTaskJobSummaryByRequestPycurl
|
17
|
+
|
13
18
|
|
14
19
|
REQUEST_PROPERTY_MAP = {
|
15
20
|
"_id": "_id",
|
@@ -70,6 +75,9 @@ class WMStatsReader(object):
|
|
70
75
|
else:
|
71
76
|
self.reqDB = None
|
72
77
|
self.logger = logger if logger else logging.getLogger()
|
78
|
+
self.serviceOpts = {"couchURL": self.couchURL,
|
79
|
+
"dbName": self.dbName,
|
80
|
+
"couchapp": self.couchapp}
|
73
81
|
|
74
82
|
def _sanitizeURL(self, couchURL):
|
75
83
|
return sanitizeURL(couchURL)['url']
|
@@ -370,26 +378,35 @@ class WMStatsReader(object):
|
|
370
378
|
reqInfoInstance = RequestInfo(requestInfo[requestName])
|
371
379
|
return reqInfoInstance.isWorkflowFinished()
|
372
380
|
|
373
|
-
def getTaskJobSummaryByRequest(self, requestName, sampleSize=1):
|
374
|
-
|
381
|
+
def getTaskJobSummaryByRequest(self, requestName, sampleSize=1, usePycurl=True):
|
382
|
+
reqStart = time.time()
|
375
383
|
options = {'reduce': True, 'group_level': 5, 'startkey': [requestName],
|
376
384
|
'endkey': [requestName, {}]}
|
377
385
|
results = self._getCouchView("jobsByStatusWorkflow", options)
|
386
|
+
|
378
387
|
jobDetails = {}
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
startKey
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
388
|
+
if usePycurl is True:
|
389
|
+
jobDetails = getTaskJobSummaryByRequestPycurl(results, sampleSize, self.serviceOpts)
|
390
|
+
else:
|
391
|
+
# then it is sequential
|
392
|
+
for row in results['rows']:
|
393
|
+
# row["key"] = ['workflow', 'task', 'jobstatus', 'exitCode', 'site']
|
394
|
+
startKey = row["key"][:4]
|
395
|
+
endKey = []
|
396
|
+
site = row["key"][4]
|
397
|
+
if site:
|
398
|
+
startKey.append(site)
|
399
|
+
|
400
|
+
endKey.extend(startKey)
|
401
|
+
endKey.append({})
|
402
|
+
numOfError = row["value"]
|
403
|
+
|
404
|
+
jobInfo = self.jobDetailByTasks(startKey, endKey, numOfError, sampleSize)
|
405
|
+
jobDetails = nestedDictUpdate(jobDetails, jobInfo)
|
406
|
+
callRuntime = round((time.time() - reqStart), 3)
|
407
|
+
msg = f"Retrieved job details (pycurl mode: {usePycurl}) for {requestName} in "
|
408
|
+
msg += f"{callRuntime} seconds, with a total of {len(results['rows']) + 1} CouchDB calls"
|
409
|
+
print(msg)
|
393
410
|
return jobDetails
|
394
411
|
|
395
412
|
def jobDetailByTasks(self, startKey, endKey, numOfError, limit=1):
|
@@ -251,6 +251,7 @@ src/python/WMCore/Services/WMArchive/WMArchive.py
|
|
251
251
|
src/python/WMCore/Services/WMArchive/__init__.py
|
252
252
|
src/python/WMCore/Services/WMBS/WMBS.py
|
253
253
|
src/python/WMCore/Services/WMBS/__init__.py
|
254
|
+
src/python/WMCore/Services/WMStats/WMStatsPycurl.py
|
254
255
|
src/python/WMCore/Services/WMStats/WMStatsReader.py
|
255
256
|
src/python/WMCore/Services/WMStats/WMStatsWriter.py
|
256
257
|
src/python/WMCore/Services/WMStats/__init__.py
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/ParseSpecCmsswdist.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/adjustMongoDocs.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/checkDsetFileCount.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/checkStuckLQE.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/createPileupObjects.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/fixWorkflowParentage.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/getWQStatusByWorkflow.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/injectUnified.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/parseUnifiedCampaigns.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/setrequeststatus.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/updatePileupObjects.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/bin/adhoc-scripts/updateTotalStats.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/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
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/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
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/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
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/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.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/Alarm.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/MathAlgos.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/MiscAlgos.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/Singleton.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Algorithms/__init__.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Cache/WMConfigCache.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Cache/__init__.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/Configuration.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/File.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Fileset.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Job.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/JobGroup.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/LumiList.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/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.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Run.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/WMObject.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/WorkUnit.py
RENAMED
File without changes
|
{reqmgr2ms-monitor-2.3.2rc2 → reqmgr2ms-monitor-2.3.2rc4}/src/python/WMCore/DataStructs/Workflow.py
RENAMED
File without changes
|