reqmgr2ms-output 2.3.2rc9__tar.gz → 2.3.4__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {reqmgr2ms-output-2.3.2rc9/src/python/reqmgr2ms_output.egg-info → reqmgr2ms-output-2.3.4}/PKG-INFO +1 -1
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/checkStuckLQE.py +2 -4
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/drainAgent.py +1 -2
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/getWQStatusByWorkflow.py +1 -3
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/dbsbuffer-file-fix.py +1 -1
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/kill-workflow-in-agent +2 -6
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/kill-workflow-in-global +2 -6
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmagent-couchapp-init +41 -8
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/setup_dependencies.py +5 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/IteratorTools.py +12 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/Rucio/Rucio.py +27 -16
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/TagCollector/XMLUtils.py +2 -2
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/__init__.py +1 -1
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4/src/python/reqmgr2ms_output.egg-info}/PKG-INFO +1 -1
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/LICENSE +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/MANIFEST.in +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/NOTICE +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/README.md +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/HWMon/wmcore-SysStat +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/acdcserver-tools +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/ParseSpecCmsswdist.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/adjustMongoDocs.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/checkDsetFileCount.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/createPileupObjects.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/fixWorkflowParentage.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/injectUnified.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/mongoInit.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/parseUnifiedCampaigns.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/setrequeststatus.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/summaryWMStatsFailures.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/updatePileupObjects.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/updateTotalStats.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/workflowCompletion.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/attempt-to-patch.sh +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/buildrelease.sh +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/check-ACDC-parentage +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/check-phedex-dbs-status +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/check-request-wq-status +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/clean-oracle +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/combineMinifyWMStats.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/couch-thrash.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/couch_archiver.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/create-iam-token.sh +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/createStoreResults.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/deploy-rpm-to-jenkins.sh +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/fix-dbs-parentage +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/inject-to-config-cache +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/make-local-clones.sh +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/outputmodules-from-config +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/patchComponent.sh +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/paused-jobs +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/purgeDeletedCouchDoc.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/reqmgr-put-default-config +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/reqmgr-sw-update +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/vaildateCMSSWMergeVersion +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmagent-delete-couchdb-workflow +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmagent-mod-config +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmagent-resource-control +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmagent-unregister-wmstats +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmagent-upload-config +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmagent-workqueue +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmc-dist-patch +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmc-dist-unpatch +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmc-httpd +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmcore-db-init +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmcore-new-config +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmcore-new-flow +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/wmcoreD +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/requirements.txt +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/setup.cfg +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/setup.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/setup_build.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/CPMetrics.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/CertTools.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/EmailAlert.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/ExtendedUnitTestCase.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/FileTools.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/MathUtils.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/MemoryCache.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/Patterns.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/Pipeline.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/PortForward.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/ProcessStats.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/PythonVersion.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/Signals.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/TemporaryEnvironment.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/Throttled.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/Timers.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/Timestamps.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/TokenManager.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/Tracing.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/TwPrint.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/Utilities.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/Utils/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/Alarm.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/MathAlgos.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/MiscAlgos.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/ParseXMLFile.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/Permissions.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/Singleton.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/SubprocessAlgos.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Cache/GenericDataCache.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Cache/WMConfigCache.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Cache/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Configuration.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DAOFactory.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/File.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Fileset.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Job.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/JobGroup.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/JobPackage.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/LumiList.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Mask.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/MathStructs/ContinuousSummaryHistogram.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/MathStructs/DiscreteSummaryHistogram.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/MathStructs/SummaryHistogram.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/MathStructs/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Pickleable.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Run.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Subscription.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/WMObject.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/WorkUnit.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Workflow.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/CMSCouch.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/ConfigDBMap.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/CouchUtils.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/DBCore.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/DBCreator.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/DBExceptionHandler.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/DBFactory.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/DBFormatter.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/Dialects.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/ExecuteDAO.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/MongoDB.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/MySQL/Destroy.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/MySQL/ListUserContent.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/MySQL/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/MySQLCore.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/Oracle/Destroy.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/Oracle/ListUserContent.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/Oracle/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/ResultSet.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/Transaction.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Database/ipy_profile_couch.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/GroupUser/CouchObject.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/GroupUser/Decorators.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/GroupUser/Group.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/GroupUser/Interface.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/GroupUser/User.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/GroupUser/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Lexicon.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/CherryPyThreads/HeartbeatMonitor.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/CherryPyThreads/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/DataStructs/DefaultStructs.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/DataStructs/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSCore/MSAuth.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSCore/MSCore.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSCore/MSManager.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSCore/TaskManager.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSCore/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSOutput/MSOutput.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSOutput/MSOutputStreamer.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSOutput/MSOutputTemplate.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSOutput/RelValPolicy.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/MSOutput/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/Service/Data.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/Service/RestApiHub.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/Service/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/Tools/Common.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/Tools/PycurlRucio.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/Tools/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/WebGui/FrontPage.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/MicroService/WebGui/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Auth.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/CherryPyPeriodicTask.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Error.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Format.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/HeartbeatMonitorBase.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Main.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Server.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Services.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Test.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Tools.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/Validation.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/REST/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/ReqMgr/DataStructs/RequestStatus.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/ReqMgr/DataStructs/RequestType.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/ReqMgr/DataStructs/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/ReqMgr/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/AlertManager/AlertManagerAPI.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/AlertManager/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/CRIC/CRIC.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/CRIC/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/DBS/DBS3Reader.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/DBS/DBSConcurrency.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/DBS/DBSErrors.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/DBS/DBSReader.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/DBS/DBSUtils.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/DBS/DBSWriterObjects.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/DBS/ProdException.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/DBS/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/FWJRDB/FWJRDBAPI.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/FWJRDB/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/HTTPS/HTTPSAuthHandler.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/HTTPS/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/LogDB/LogDB.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/LogDB/LogDBBackend.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/LogDB/LogDBExceptions.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/LogDB/LogDBReport.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/LogDB/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/MSPileup/MSPileupUtils.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/MSPileup/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/McM/McM.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/McM/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/MonIT/Grafana.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/MonIT/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/PyCondor/PyCondorAPI.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/PyCondor/PyCondorUtils.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/PyCondor/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/ReqMgr/ReqMgr.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/ReqMgr/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/ReqMgrAux/ReqMgrAux.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/ReqMgrAux/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/RequestDB/RequestDBReader.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/RequestDB/RequestDBWriter.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/RequestDB/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/Requests.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/Rucio/RucioUtils.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/Rucio/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/RucioConMon/RucioConMon.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/RucioConMon/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/Service.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/StompAMQ/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/TagCollector/TagCollector.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/TagCollector/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/UUIDLib.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/UserFileCache/UserFileCache.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/UserFileCache/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMAgent/WMAgent.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMAgent/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMArchive/CMSSWMetrics.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMArchive/DataMap.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMArchive/WMArchive.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMArchive/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMBS/WMBS.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMBS/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMStats/DataStruct/RequestInfoCollection.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMStats/DataStruct/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMStats/WMStatsPycurl.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMStats/WMStatsReader.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMStats/WMStatsWriter.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMStats/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMStatsServer/WMStatsServer.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WMStatsServer/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WorkQueue/WorkQueue.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/WorkQueue/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/pycurl_manager.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/WMBase.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/WMConnectionBase.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/WMException.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/WMExceptions.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/WMFactory.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/WMInit.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/WMLogging.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Wrappers/JsonWrapper/JSONThunker.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Wrappers/JsonWrapper/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Wrappers/__init__.py +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/reqmgr2ms_output.egg-info/SOURCES.txt +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/reqmgr2ms_output.egg-info/dependency_links.txt +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/reqmgr2ms_output.egg-info/requires.txt +0 -0
- {reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/reqmgr2ms_output.egg-info/top_level.txt +0 -0
@@ -72,10 +72,8 @@ def commonDataLocation(element):
|
|
72
72
|
return commonLoc
|
73
73
|
|
74
74
|
def main():
|
75
|
-
|
76
|
-
|
77
|
-
config = loadConfigurationFile(os.environ["WMAGENT_CONFIG"])
|
78
|
-
|
75
|
+
config = loadConfigurationFile(os.environ.get('WMA_CONFIG_FILE', '/data/srv/wmagent/current/config/config.py'))
|
76
|
+
|
79
77
|
if len(sys.argv) != 2:
|
80
78
|
print("You must provide a request name")
|
81
79
|
sys.exit(1)
|
@@ -366,8 +366,7 @@ def main():
|
|
366
366
|
twiki = ('<pre>', '</pre>') if args.twiki else ('', '')
|
367
367
|
print(twiki[0])
|
368
368
|
|
369
|
-
os.environ
|
370
|
-
config = loadConfigurationFile(os.environ["WMAGENT_CONFIG"])
|
369
|
+
config = loadConfigurationFile(os.environ.get('WMA_CONFIG_FILE', '/data/srv/wmagent/current/config/config.py'))
|
371
370
|
|
372
371
|
gmtTimeNow = strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
|
373
372
|
print("Drain check time: %s\n" % gmtTimeNow)
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/getWQStatusByWorkflow.py
RENAMED
@@ -37,9 +37,7 @@ def createElementsSummary(reqName, elements, queueUrl):
|
|
37
37
|
|
38
38
|
|
39
39
|
def main():
|
40
|
-
|
41
|
-
os.environ['WMAGENT_CONFIG'] = '/data/srv/wmagent/current/config/wmagent/config.py'
|
42
|
-
config = loadConfigurationFile(os.environ["WMAGENT_CONFIG"])
|
40
|
+
config = loadConfigurationFile(os.environ.get('WMA_CONFIG_FILE', '/data/srv/wmagent/current/config/config.py'))
|
43
41
|
|
44
42
|
if len(sys.argv) != 2:
|
45
43
|
print("You must provide a request name")
|
@@ -9,7 +9,7 @@ from WMCore.Database.DBFormatter import DBFormatter
|
|
9
9
|
from WMCore.WMInit import connectToDB
|
10
10
|
|
11
11
|
def fixDBSmissingFileAssoc():
|
12
|
-
os.environ['
|
12
|
+
os.environ['WMA_CONFIG_FILE'] = '/data/srv/wmagent/current/config/config.py'
|
13
13
|
connectToDB()
|
14
14
|
myThread = threading.currentThread()
|
15
15
|
formatter = DBFormatter(logging, myThread.dbi)
|
@@ -16,12 +16,8 @@ def killWorkflowAgent(WorkflowName):
|
|
16
16
|
"""
|
17
17
|
Cancel work for a given workflow - delete in wmbs, delete from workqueue db, set canceled in inbox
|
18
18
|
"""
|
19
|
-
# get configuration file path
|
20
|
-
|
21
|
-
os.environ['WMAGENT_CONFIG'] = '/data/srv/wmagent/current/config/wmagent/config.py'
|
22
|
-
|
23
|
-
# load config
|
24
|
-
wmConfig = loadConfigurationFile(os.environ['WMAGENT_CONFIG'])
|
19
|
+
# get configuration file path and load it
|
20
|
+
wmConfig = loadConfigurationFile(os.environ.get('WMA_CONFIG_FILE', '/data/srv/wmagent/current/config/config.py'))
|
25
21
|
wqManager = wmConfig.section_('WorkQueueManager')
|
26
22
|
|
27
23
|
couchUrl = wqManager.couchurl
|
@@ -25,12 +25,8 @@ def main():
|
|
25
25
|
sys.exit(0)
|
26
26
|
wflowName = args[0]
|
27
27
|
|
28
|
-
# get configuration file path
|
29
|
-
|
30
|
-
os.environ['WMAGENT_CONFIG'] = '/data/srv/wmagent/current/config/wmagent/config.py'
|
31
|
-
|
32
|
-
# load config
|
33
|
-
wmConfig = loadConfigurationFile(os.environ['WMAGENT_CONFIG'])
|
28
|
+
# get configuration file path and load it
|
29
|
+
wmConfig = loadConfigurationFile(os.environ.get('WMA_CONFIG_FILE', '/data/srv/wmagent/current/config/config.py'))
|
34
30
|
|
35
31
|
gqService = WorkQueue(wmConfig.WorkloadSummary.couchurl,
|
36
32
|
wmConfig.WorkQueueManager.dbname)
|
@@ -18,6 +18,19 @@ from WMCore.Configuration import loadConfigurationFile
|
|
18
18
|
from WMCore.Lexicon import splitCouchServiceURL
|
19
19
|
from WMCore.WMBase import getWMBASE
|
20
20
|
|
21
|
+
parser = argparse.ArgumentParser()
|
22
|
+
parser.add_argument("--skip-cron", dest = "cron",
|
23
|
+
default = True, action = "store_false",
|
24
|
+
help = "Do not install maintenance cron jobs")
|
25
|
+
parser.add_argument("--only-cron", dest = "pushApps",
|
26
|
+
default = True, action = "store_false",
|
27
|
+
help = "Install only maintenance cron jobs")
|
28
|
+
options = parser.parse_args()
|
29
|
+
|
30
|
+
if not options.cron and not options.pushApps:
|
31
|
+
print("Mutually excluding options: --skip-cron && --only-cron")
|
32
|
+
print("Chose only one of them.")
|
33
|
+
sys.exit(1)
|
21
34
|
|
22
35
|
def couchAppRoot(couchapp):
|
23
36
|
"""Return parent path containing couchapp"""
|
@@ -31,7 +44,32 @@ def couchAppRoot(couchapp):
|
|
31
44
|
return os.path.join(wmcoreroot, 'data', 'couchapps')
|
32
45
|
raise OSError('Cannot find couchapp: %s' % couchapp)
|
33
46
|
|
34
|
-
|
47
|
+
# Defining a minimal decorator with parameter
|
48
|
+
def pushApps(pushAppsFlag):
|
49
|
+
"""
|
50
|
+
Decorator with a single Bool parameter
|
51
|
+
:param pushApps: Bool parameter to check if the callFunc is to be executed or not
|
52
|
+
:return: The decorated function with call arguments if pushApps=True
|
53
|
+
"""
|
54
|
+
def pushAppsDecorator(callFunc):
|
55
|
+
"""
|
56
|
+
An Auxiliary simple decorator
|
57
|
+
"""
|
58
|
+
def installCouchAppWrapper(*args, **kwargs):
|
59
|
+
"""
|
60
|
+
The callFunc wrapper. To decide whether to return the call to the
|
61
|
+
wrapped function or not based on the decorator's pushAppsFlag
|
62
|
+
:*args: All parameters passed to the wrapped function call
|
63
|
+
:**kwargs: All keyword arguments passed to the wrapped function call
|
64
|
+
"""
|
65
|
+
if pushAppsFlag:
|
66
|
+
return callFunc(*args, **kwargs)
|
67
|
+
else:
|
68
|
+
return
|
69
|
+
return installCouchAppWrapper
|
70
|
+
return pushAppsDecorator
|
71
|
+
|
72
|
+
@pushApps(options.pushApps)
|
35
73
|
def installCouchApp(couchUrl, couchDBName, couchAppName, basePath=None):
|
36
74
|
"""
|
37
75
|
_installCouchApp_
|
@@ -273,11 +311,6 @@ files_needed_from_yui = [
|
|
273
311
|
|
274
312
|
|
275
313
|
if __name__ == "__main__":
|
276
|
-
parser = argparse.ArgumentParser()
|
277
|
-
parser.add_argument("--skip-cron", dest = "cron",
|
278
|
-
default = True, action = "store_false",
|
279
|
-
help = "Do not install maintenance cron jobs")
|
280
|
-
options = parser.parse_args()
|
281
314
|
|
282
315
|
if "WMAGENT_CONFIG" not in os.environ:
|
283
316
|
print("The WMAGENT_CONFIG environment variable needs to be set before")
|
@@ -285,7 +318,7 @@ if __name__ == "__main__":
|
|
285
318
|
sys.exit(1)
|
286
319
|
|
287
320
|
wmagentConfig = loadConfigurationFile(os.environ["WMAGENT_CONFIG"])
|
288
|
-
|
321
|
+
|
289
322
|
if hasattr(wmagentConfig, "JobStateMachine") and hasattr(wmagentConfig.JobStateMachine, "couchDBName"):
|
290
323
|
fwjrDumpName = urllib.parse.quote_plus("%s/fwjrs" % wmagentConfig.JobStateMachine.couchDBName)
|
291
324
|
jobDumpName = urllib.parse.quote_plus("%s/jobs" % wmagentConfig.JobStateMachine.couchDBName)
|
@@ -355,7 +388,7 @@ if __name__ == "__main__":
|
|
355
388
|
urlsplit(wmagentConfig.WorkloadSummary.couchurl).scheme == 'http':
|
356
389
|
installCouchApp(wmagentConfig.ACDC.couchurl, wmagentConfig.ACDC.database, "ACDC")
|
357
390
|
installCouchApp(wmagentConfig.ACDC.couchurl, wmagentConfig.ACDC.database, "GroupUser")
|
358
|
-
|
391
|
+
|
359
392
|
if hasattr(wmagentConfig, "Tier0Feeder"):
|
360
393
|
installCouchApp(wmagentConfig.JobStateMachine.couchurl, wmagentConfig.Tier0Feeder.requestDBName, "T0Request")
|
361
394
|
centralWMStatsURL = wmagentConfig.General.centralWMStatsURL
|
@@ -186,6 +186,7 @@ dependencies = {
|
|
186
186
|
'WMCore.BossAir+', 'WMCore.Credential',
|
187
187
|
'WMCore.JobSplitting+', 'WMCore.ProcessPool',
|
188
188
|
'WMCore.Services+', 'WMCore.WMSpec+',
|
189
|
+
'WMCore.ReqMgr.DataStructs+', 'WMCore.ReqMgr.Tools+',
|
189
190
|
'WMCore.WMBS+', 'WMCore.ResourceControl+'],
|
190
191
|
'systems': ['wmc-web', 'wmc-database', 'global-workqueue', 'wmc-runtime'],
|
191
192
|
'statics': ['bin+',
|
@@ -196,6 +197,10 @@ dependencies = {
|
|
196
197
|
'src/couchapps/JobDump+',
|
197
198
|
'src/couchapps/WMStatsAgent+',
|
198
199
|
'src/couchapps/WorkQueue+',
|
200
|
+
'src/couchapps/T0Request+',
|
201
|
+
'src/couchapps/WMStats+',
|
202
|
+
'src/couchapps/LogDB+',
|
203
|
+
'src/couchapps/UserMonitoring+',
|
199
204
|
'src/javascript/WMCore/WebTools/Agent',
|
200
205
|
'src/javascript/WMCore/WebTools/WMBS',
|
201
206
|
'src/javascript/external/graphael',
|
@@ -18,6 +18,18 @@ def grouper(iterable, n):
|
|
18
18
|
return iter(lambda: list(islice(iterable, n)), [])
|
19
19
|
|
20
20
|
|
21
|
+
def getChunk(arr, step):
|
22
|
+
"""
|
23
|
+
Return chunk of entries from given array and step, it is similar in behavior to grouper
|
24
|
+
function but instead of returning new list it provides a generator iterable object.
|
25
|
+
:param arr: input array of data
|
26
|
+
:param step: step to iterate
|
27
|
+
:return: generator, set of slices with number of entries equal to step of iteration
|
28
|
+
"""
|
29
|
+
for i in range(0, len(arr), step):
|
30
|
+
yield arr[i:i + step]
|
31
|
+
|
32
|
+
|
21
33
|
def flattenList(doubleList):
|
22
34
|
"""
|
23
35
|
Make flat a list of lists.
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Services/Rucio/Rucio.py
RENAMED
@@ -18,6 +18,7 @@ from rucio.common.exception import (AccountNotFound, DataIdentifierNotFound, Acc
|
|
18
18
|
DataIdentifierAlreadyExists, DuplicateContent, InvalidRSEExpression,
|
19
19
|
UnsupportedOperation, FileAlreadyExists, RuleNotFound, RSENotFound)
|
20
20
|
from Utils.MemoryCache import MemoryCache
|
21
|
+
from Utils.IteratorTools import grouper
|
21
22
|
from WMCore.Services.Rucio.RucioUtils import (validateMetaData, weightedChoice,
|
22
23
|
isTapeRSE, dropTapeRSEs)
|
23
24
|
from WMCore.WMException import WMException
|
@@ -346,7 +347,7 @@ class Rucio(object):
|
|
346
347
|
response = self.attachDIDs(kwargs.get('rse'), container, name, scope)
|
347
348
|
return response
|
348
349
|
|
349
|
-
def attachDIDs(self, rse, superDID, dids, scope='cms'):
|
350
|
+
def attachDIDs(self, rse, superDID, dids, scope='cms', chunkSize=1000):
|
350
351
|
"""
|
351
352
|
_attachDIDs_
|
352
353
|
|
@@ -356,28 +357,38 @@ class Rucio(object):
|
|
356
357
|
then it's a container name; if attaching files, then it's a block name)
|
357
358
|
:param dids: either a string or a list of data identifiers (can be block or files)
|
358
359
|
:param scope: string with the scope name
|
360
|
+
:param chunkSize: maximum number of dids to be attached in any single Rucio server call
|
359
361
|
:return: a boolean to represent whether it succeeded or not
|
360
362
|
"""
|
361
363
|
if not isinstance(dids, list):
|
362
364
|
dids = [dids]
|
363
365
|
# NOTE: the attaching dids do not create new container within a scope
|
364
366
|
# and it is safe to use cms scope for it
|
365
|
-
|
367
|
+
alldids = [{'scope': 'cms', 'name': did} for did in sorted(dids)]
|
368
|
+
|
369
|
+
# report if we use chunk size in rucio attach_dids API call
|
370
|
+
if len(alldids) > chunkSize:
|
371
|
+
self.logger.info("Attaching a total of %d DIDs in chunk size of: %d", len(alldids), chunkSize)
|
372
|
+
|
373
|
+
for dids in grouper(alldids, chunkSize):
|
374
|
+
response = False
|
375
|
+
try:
|
376
|
+
response = self.cli.attach_dids(scope, superDID, dids=dids, rse=rse)
|
377
|
+
except DuplicateContent:
|
378
|
+
self.logger.warning("Dids: %s already attached to: %s", dids, superDID)
|
379
|
+
response = True
|
380
|
+
except FileAlreadyExists:
|
381
|
+
self.logger.warning("Failed to attach files already existent on block: %s", superDID)
|
382
|
+
response = True
|
383
|
+
except DataIdentifierNotFound:
|
384
|
+
self.logger.error("Failed to attach dids: %s. Parent DID %s does not exist.", dids, superDID)
|
385
|
+
except Exception as ex:
|
386
|
+
self.logger.error("Exception attaching %s dids to: %s. Error: %s. First 10 dids: %s",
|
387
|
+
len(dids), superDID, str(ex), dids[:10])
|
388
|
+
if not response:
|
389
|
+
# if we had failure with specific chunk of dids we'll return immediately
|
390
|
+
return response
|
366
391
|
|
367
|
-
response = False
|
368
|
-
try:
|
369
|
-
response = self.cli.attach_dids(scope, superDID, dids=dids, rse=rse)
|
370
|
-
except DuplicateContent:
|
371
|
-
self.logger.warning("Dids: %s already attached to: %s", dids, superDID)
|
372
|
-
response = True
|
373
|
-
except FileAlreadyExists:
|
374
|
-
self.logger.warning("Failed to attach files already existent on block: %s", superDID)
|
375
|
-
response = True
|
376
|
-
except DataIdentifierNotFound:
|
377
|
-
self.logger.error("Failed to attach dids: %s. Parent DID %s does not exist.", dids, superDID)
|
378
|
-
except Exception as ex:
|
379
|
-
self.logger.error("Exception attaching dids: %s to: %s. Error: %s",
|
380
|
-
dids, superDID, str(ex))
|
381
392
|
return response
|
382
393
|
|
383
394
|
def createReplicas(self, rse, files, block, scope='cms', ignoreAvailability=True):
|
@@ -71,7 +71,7 @@ def get_children(elem, event, row, key):
|
|
71
71
|
row for given key. The change of notations can be applied during
|
72
72
|
parsing step by using provided notations dictionary.
|
73
73
|
"""
|
74
|
-
for child in elem
|
74
|
+
for child in list(elem):
|
75
75
|
child_key = child.tag
|
76
76
|
child_data = child.attrib
|
77
77
|
if not child_data:
|
@@ -79,7 +79,7 @@ def get_children(elem, event, row, key):
|
|
79
79
|
else:
|
80
80
|
child_dict = child_data
|
81
81
|
|
82
|
-
if child
|
82
|
+
if list(child): # we got grand-children
|
83
83
|
if child_dict:
|
84
84
|
row[key][child_key] = child_dict
|
85
85
|
else:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/ParseSpecCmsswdist.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/checkDsetFileCount.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/createPileupObjects.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/fixWorkflowParentage.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/parseUnifiedCampaigns.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/summaryWMStatsFailures.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/bin/adhoc-scripts/updatePileupObjects.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/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
|
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-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/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-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/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
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/MathAlgos.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/MiscAlgos.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/ParseXMLFile.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/Permissions.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/Singleton.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/SubprocessAlgos.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Algorithms/__init__.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Cache/GenericDataCache.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/Cache/WMConfigCache.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Fileset.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/JobGroup.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/JobPackage.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/LumiList.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Pickleable.py
RENAMED
File without changes
|
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Subscription.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/WMObject.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/WorkUnit.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/Workflow.py
RENAMED
File without changes
|
{reqmgr2ms-output-2.3.2rc9 → reqmgr2ms-output-2.3.4}/src/python/WMCore/DataStructs/__init__.py
RENAMED
File without changes
|
File without changes
|