This repository has been archived by the owner on Sep 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 51
Python3 Migration Notes
Amanda Goldani edited this page Aug 13, 2021
·
9 revisions
This page is intended to show the differences between the old version of the code and the new one.
Note that all Python3 top levels are located in src/python/
, this was omitted in the details for convenience.
Includes all cache functions and classes from utils.py
.
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/cacheInfo.from_file |
Cache/CacheManager.py/CacheManager._getFromFile |
✅ | * called in get |
utils.py/cacheInfo._file_key |
Cache/CacheManager.py/CacheManager._getKeyFilePath |
✅ | * called in get |
utils.py/cacheInfo.get |
Cache/CacheManager.py/CacheManager.get |
✅ | |
utils.py/cacheInfo.purge |
Cache/CacheManager.py/CacheManager.purge |
❌ | |
utils.py/cacheInfo.store |
Cache/CacheManager.py/CacheManager.set |
❌ | |
utils.py/docCache.get |
Cache/DataCacheLoader.py/DataCacheLoader.get |
❌ | |
utils.py/docCache.__init__.cache |
Cache/DocumentCache.py |
❌ | * each possible document cache key became a class with the corresponding get method. The DataCacheLoader makes the mapping and loads the document data when required |
— | Cache/CacheManager.py/CacheManager._buildMongoDocument |
✅ | * called in set |
— | Cache/CacheManager.py/CacheManager._setMongoCollection |
✅ | * required by the MongoClient |
Includes the helper function from utils.py
that creates the connection to MongoDB, as well as the migration of the file that creates the connection to OracleDB.
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/mongo_client |
Databases/Mongo/MongoClient.py |
— | * this is an abstract class where the mongo collection must be defined in the child classes |
Unified/assignSession.py |
Databases/Oracle/OracleClient.py |
✅ | * tested through the OracleDB test file |
Unified/assignSchema.py |
Databases/Oracle/OracleDB.py |
✅ |
Includes all the helper classes from utils.py
controlling a MongoDB collection.
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/agentInfoDB |
MongoControllers/AgentController.py/AgentController._setMongoCollection |
✅ | * required by the MongoClient |
utils.py/agentInfo.agentStatus |
MongoControllers/AgentController.py/AgentController.get |
✅ | * this will return all the agent's data, use result.get("status") to keep the same behavior |
utils.py/agentInfo.speed_draining |
MongoControllers/AgentController.py/AgentController.getAgents(speeddrain=True) |
✅ | |
utils.py/agentInfo.poll |
MongoControllers/AgentController.py/AgentController.poll |
❌ | |
utils.py/agentInfo.change_status |
MongoControllers/AgentController.py/AgentController.set |
❌ | |
utils.py/agentInfo.getStatus |
MongoControllers/AgentController.py/AgentController.syncToProduction |
❌ | |
utils.py/agentInfo.checkTrello |
MongoControllers/AgentController.py/AgentController.syncToTrello MongoControllers/AgentController.py/AgentController.updateTrelloBoard
|
❌ | * split because the Trello board was updated or the collection was sync to the board (never both!) |
— | MongoControllers/AgentController.py/AgentController._areRunningOverThreshold |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._bootAgent |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/AgentController.py/AgentController._countAgentsWithReleaseStatus |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._countJobsAndCpus |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._drainAgent |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._initializePollParams |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._isLight |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._isStuffed |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._newRelease |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._retireAgent |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._setCandidatesForDraining |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._setCandidatesForOpenDraining |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._setCandidatesForSpeedDraining |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._setCandidatesForWakingUp |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._setLastestAndOldestReleases |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._setRecentAgents |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._setSpeedDrainingPriority |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._sumRunningCapacity |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._syncAgentStatus |
❌ | * called in syncToProduction |
— | MongoControllers/AgentController.py/AgentController._tell |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController._updateAgentConfig |
❌ | * called in poll |
— | MongoControllers/AgentController.py/AgentController.getAgents |
✅ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/batchInfo.content |
MongoControllers/BatchController.py/BatchController.get |
✅ | |
utils.py/batchInfo.all |
MongoControllers/BatchController.py/BatchController.getBatches |
✅ | |
utils.py/batchInfo.pop |
MongoControllers/BatchController.py/BatchController.pop |
❌ | |
utils.py/batchInfo.update utils.py/batchInfo.add
|
MongoControllers/BatchController.py/BatchController.set |
❌ | * unified because add is only called inside update |
— | MongoControllers/BatchController.py/BatchController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/BatchController.py/BatchController._setMongoCollection |
✅ | * required by the MongoClient |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/campaignInfo.content |
MongoControllers/CampaignController.py/CampaignController.get |
✅ | |
utils.py/campaignInfo.all |
MongoControllers/CampaignController.py/CampaignController.getCampaigns |
✅ | |
utils.py/campaignInfo.parameters |
MongoControllers/CampaignController.py/CampaignController.getCampaignParameters |
✅ | |
utils.py/campaignInfo.allSecondaries |
MongoControllers/CampaignController.py/CampaignController.getSecondaries |
✅ | |
utils.py/campaignInfo.get |
MongoControllers/CampaignController.py/CampaignController.getCampaignValue |
✅ | |
utils.py/campaignInfo.go |
MongoControllers/CampaignController.py/CampaignController.go |
✅ | |
utils.py/campaignInfo.pop |
MongoControllers/CampaignController.py/CampaignController.pop |
❌ | |
utils.py/campaignInfo.update utils.py/campaignInfo.add
|
MongoControllers/CampaignController.py/CampaignController.set |
❌ | * unified because add is only called inside update |
— | MongoControllers/CampaignController.py/CampaignController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/CampaignController.py/CampaignController._setCampaigns |
✅ | * called when instantiated |
— | MongoControllers/CampaignController.py/CampaignController._setMongoCollection |
✅ | * required by the MongoClient |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/closeoutInfo.one_line |
MongoControllers/CloseoutController.py/CloseoutController._buildHtmlRow |
❌ | * called in assistance and summary |
utils.py/closeoutInfo.assistance |
MongoControllers/CloseoutController.py/CloseoutController.assistance |
❌ | |
utils.py/closeoutInfo.pop |
MongoControllers/CloseoutController.py/CloseoutController.clean |
❌ | |
utils.py/closeoutInfo.get |
MongoControllers/CloseoutController.py/CloseoutController.get |
✅ | |
utils.py/closeoutInfo.html |
MongoControllers/CloseoutController.py/CloseoutController.html |
❌ | |
utils.py/closeoutInfo.update |
MongoControllers/CloseoutController.py/CloseoutController.set |
❌ | |
utils.py/closeoutInfo.summary |
MongoControllers/CloseoutController.py/CloseoutController.summary |
❌ | |
utils.py/closeoutInfo.table_header |
Included in the CloseoutController templates | — | |
— | MongoControllers/CloseoutController.py/CloseoutController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/CloseoutController.py/CloseoutController._renderAssistanceHtml |
❌ | * called in assistance |
— | MongoControllers/CloseoutController.py/CloseoutController._renderSummaryHtml |
❌ | * called in summary |
— | MongoControllers/CloseoutController.py/CloseoutController._setMongoCollection |
✅ | * required by the MongoClient |
— | MongoControllers/CloseoutController.py/CloseoutController.getWorkflows |
✅ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/moduleLock.check |
MongoControllers/ModuleLockController.py/ModuleLockController.check |
❌ | |
utils.py/moduleLock.clean |
MongoControllers/ModuleLockController.py/ModuleLockController.clean |
❌ | |
utils.py/moduleLock.all_locks |
MongoControllers/ModuleLockController.py/ModuleLockController.get |
✅ | |
— | MongoControllers/ModuleLockController.py/ModuleLockController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/ModuleLockController.py/ModuleLockController._setMongoCollection |
✅ | * required by the MongoClient |
— | MongoControllers/ModuleLockController.py/ModuleLockController.go |
✅ | |
— | MongoControllers/ModuleLockController.py/ModuleLockController.pop |
❌ | |
— | MongoControllers/ModuleLockController.py/ModuleLockController.set |
❌ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/remainingDatasetInfo.clean |
MongoControllers/RemainingDatasetController.py/RemainingDatasetController.clean |
❌ | |
utils.py/remainingDatasetInfo.get |
MongoControllers/RemainingDatasetController.py/RemainingDatasetController.get |
✅ | |
utils.py/remainingDatasetInfo.sites |
MongoControllers/RemainingDatasetController.py/RemainingDatasetController.getSites |
✅ | |
utils.py/remainingDatasetInfo.purge |
MongoControllers/RemainingDatasetController.py/RemainingDatasetController.purge |
❌ | |
utils.py/remainingDatasetInfo.set |
MongoControllers/RemainingDatasetController.py/RemainingDatasetController.set |
❌ | |
utils.py/remainingDatasetInfo.sync |
MongoControllers/RemainingDatasetController.py/RemainingDatasetController.sync MongoControllers/RemainingDatasetController.py/RemainingDatasetController.syncSite
|
❌ | * split to let explicit if one site or all sites are being sync |
utils.py/remainingDatasetInfo.tell |
MongoControllers/RemainingDatasetController.py/RemainingDatasetController.tell |
✅ | |
— | MongoControllers/RemainingDatasetController.py/RemainingDatasetController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/RemainingDatasetController.py/RemainingDatasetController._setMongoCollection |
✅ | * required by the MongoClient |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/reportInfo._convert |
MongoControllers/ReportController.py/ReportController._convertValues |
✅ | * called in set |
utils.py/reportInfo.get |
MongoControllers/ReportController .py/ReportController.get |
✅ | |
utils.py/reportInfo.purge |
MongoControllers/ReportController .py/ReportController.purge MongoControllers/ReportController .py/ReportController.clean MongoControllers/ReportController .py/ReportController.cleanWorkflow
|
❌ | * split because the old function would do different things depending os the input params |
utils.py/reportInfo._put |
MongoControllers/ReportController.py/ReportController.set |
❌ | |
utils.py/reportInfo.set_blocks |
MongoControllers/ReportController.py/ReportController.setWorkflowBlocks |
❌ | |
utils.py/reportInfo.set_errors |
MongoControllers/ReportController.py/ReportController.setWorkflowErrors |
❌ | |
utils.py/reportInfo.set_files |
MongoControllers/ReportController.py/ReportController.setWorkflowFiles |
❌ | |
utils.py/reportInfo.set_IO |
MongoControllers/ReportController.py/ReportController.setWorkflowIO |
❌ | |
utils.py/reportInfo.set_logs |
MongoControllers/ReportController.py/ReportController.setWorkflowLogs |
❌ | |
utils.py/reportInfo.set_missing |
MongoControllers/ReportController.py/ReportController.setWorkflowMissing |
❌ | |
utils.py/reportInfo._set_for_task |
MongoControllers/ReportController.py/ReportController.setWorkflowTask |
❌ | |
utils.py/reportInfo.set_ufiles |
MongoControllers/ReportController.py/ReportController.setWorkflowUFiles |
❌ | |
— | MongoControllers/ReportController.py/ReportController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/ReportController.py/ReportController._setMongoCollection |
✅ | * required by the MongoClient |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/StartStopInfo.get |
MongoControllers/StartStopTimeController.py/StartStopTimeController.get |
✅ | |
utils.py/StartStopInfo.purge |
MongoControllers/StartStopTimeController.py/StartStopTimeController.purge |
❌ | |
utils.py/StartStopInfo.pushStartStopTime |
MongoControllers/StartStopTimeController.py/StartStopTimeController.set |
❌ | |
— | MongoControllers/StartStopTimeController.py/StartStopTimeController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/StartStopTimeController.py/StartStopTimeController._setMongoCollection |
✅ | * required by the MongoClient |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/statusHistory.py/statusHistory.content |
MongoControllers/StatusHistoryController.py/StatusHistoryController.get |
✅ | |
utils.py/statusHistory.py/statusHistory.trim |
MongoControllers/StatusHistoryController.py/StatusHistoryController.purge |
❌ | |
utils.py/statusHistory.py/statusHistory.add |
MongoControllers/StatusHistoryController.py/StatusHistoryController.set |
❌ | |
— | MongoControllers/StatusHistoryController.py/StatusHistoryController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/StatusHistoryController.py/StatusHistoryController._setMongoCollection |
✅ | * required by the MongoClient |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/wtcInfo.clean |
MongoControllers/WTCController.py/WTCController.clean |
❌ | |
utils.py/wtcInfo.remove |
MongoControllers/WTCController.py/WTCController.cleanKeyword |
❌ | |
utils.py/wtcInfo._get |
MongoControllers/WTCController.py/WTCController.get |
✅ | |
utils.py/wtcInfo.getBypass |
MongoControllers/WTCController.py/WTCController.getBypass |
✅ | |
utils.py/wtcInfo.getForce |
MongoControllers/WTCController.py/WTCController.getForce |
✅ | |
utils.py/wtcInfo.getHold |
MongoControllers/WTCController.py/WTCController.getHold |
✅ | |
utils.py/wtcInfo.add |
MongoControllers/WTCController.py/WTCController.set |
❌ | |
— | MongoControllers/WTCController.py/WTCController._buildMongoDocument |
✅ | * called in set |
— | MongoControllers/WTCController.py/WTCController._setMongoCollection |
✅ | * required by the MongoClient |
Includes all helper functions from utils.py
talking to a service.
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/workflowInfo.getRecoveryDoc |
Services/ACDC/ACDCReader.py/ACDCReader.getRecoveryDocs |
✅ | * input arg collection_name was switched by the workflow name because it was never used |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/componentCheck.check_dbs |
Services/DBS/DBSReader.py/DBSReader.check |
❌ | |
utils.py/getFileBlock |
Services/DBS/DBSReader.py/DBSReader.getBlockName |
✅ | |
utils.py/getDatasetBlocks |
Services/DBS/DBSReader.py/DBSReader.getDatasetBlockNames Services/DBS/DBSReader.py/DBSReader.getDatasetBlockNamesByLumis Services/DBS/DBSReader.py/DBSReader.getDatasetBlockNamesByRuns
|
✅ | * split because the block names were filtered by runs or by lumis (never both!) |
utils.py/getDatasetEventsAndLumis |
Services/DBS/DBSReader.py/DBSReader.getDatasetEventsAndLumis Services/DBS/DBSReader.py/DBSReader.getBlocksEventsAndLumis
|
✅ | * split because events and lumis were got by dataset or blocks (never both!) |
utils.py/getDatasetEventsPerLumis |
Services/DBS/DBSReader.py/DBSReader.getDatasetEventsPerLumis |
✅ | |
utils.py/getDatasetFileArray |
Services/DBS/DBSReader.py/DBSReader.getDatasetFiles |
✅ | * input args use_array and cache_timeout were removed because were not used |
utils.py/getDatasetLumisAndFiles |
Services/DBS/DBSReader.py/DBSReader.getDatasetLumisAndFiles |
✅ | * only does the request, input args runs and lumilist were removed but the helper functions Utilities/DataTools.py/filterLumisAndFilesByRuns or filterLumisAndFilesByLumis can be used if needed |
utils.py/getDatasets |
Services/DBS/DBSReader.py/DBSReader.getDatasetNames |
✅ | |
utils.py/findParent |
Services/DBS/DBSReader.py/DBSReader.getDatasetParent |
✅ | |
utils.py/getDatasetRuns |
Services/DBS/DBSReader.py/DBSReader.getDatasetRuns |
✅ | |
utils.py/getDatasetSize |
Services/DBS/DBSReader.py/DBSReader.getDatasetSize |
✅ | |
utils.py/getDatasetStatus |
Services/DBS/DBSReader.py/DBSReader.getDBSStatus |
✅ | |
utils.py/getFilesWithLumiInRun |
Services/DBS/DBSReader.py/DBSReader.getFilesWithLumiInRun |
✅ | |
utils.py/getLFNbase |
Services/DBS/DBSReader.py/DBSReader.getLFNBase |
✅ | |
utils.py/setDatasetStatus |
Services/DBS/DBSWriter.py/DBSWriter.setDatasetStatus |
❌ | |
utils.py/setFileStatus |
Services/DBS/DBSWriter.py/DBSWriter.setFileStatus |
❌ | |
— | Services/DBS/DBSReader.py/DBSReader._getBlockFileLumis |
❌ | * called in getBlocksLumisAndFilesForCaching |
— | Services/DBS/DBSReader.py/DBSReader._getFileLumiArray |
❌ | * called in getFilesWithLumiInRun |
— | Services/DBS/DBSReader.py/DBSReader.getBlocksLumisAndFilesForCaching |
✅ | |
— | Services/DBS/DBSReader.py/DBSReader.getRecoveryBlocksAndLocations |
❌ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/eosRead |
Services/EOS/EOSReader.py/EOSReader.read |
✅ | |
utils.py/eosFile.close |
Services/EOS/EOSWriter.py/EOSWriter.save |
❌ | |
utils.py/eosFile.write |
Services/EOS/EOSWriter.py/EOSWriter.write |
❌ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/workflowInfo.getGlideMon |
Services/GWMSMon/GWMSMonReader.py/GWMSMonReader.getRequestSummary |
❌ | * request return an error |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/getAgentConfig |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getAgentConfig |
❌ | |
utils.py/getReqmgrInfo |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getReqmgrInfo |
✅ | |
utils.py/getWorkflowByCampaign |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkflowsByCampaign |
✅ | |
utils.py/getWorkflowByName |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkflowsByNames |
✅ | |
utils.py/getWorkflowByOutput |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkflowsByOutput |
✅ | * endpoint changed from CouchDB to the RESTful api |
utils.py/getWorkflowById |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkflowsByPrepId |
✅ | * endpoint changed from CouchDB to the RESTful api |
utils.py/getWorkflows |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkflowsByStatus |
✅ | |
utils.py/getWorkload |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkflowSchema |
✅ | |
utils.py/workflowInfo.getSchema |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkflowSchema(makeCopy=True) |
✅ | |
utils.py/workflowInfo.getSummary |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkloadSummary |
✅ | |
utils.py/workflowInfo.get_spec |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getSpec |
✅ | |
utils.py/workflowInfo.getSplittingsNew |
Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getSplittingsSchema |
✅ | * only does the request, input args strip and allTasks were removed but the helper functions Utilities/DataTools.py/filterSplittingsParam and filterSplittingsTaskTypes can be used if needed |
utils.py/sendAgentConfig |
Services/ReqMgr/ReqMgrWriter.py/ReqMgrWriter.setAgentConfig |
❌ | |
— | Services/ReqMgr/ReqMgrReader.py/ReqMgrReader.getWorkflowsByParam |
❌ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
RucioClient.py/getFileCountBlock |
Services/Rucio/RucioReader.py/RucioReader.countBlockFiles |
✅ | |
RucioClient.py/getFileCountDataset |
Services/Rucio/RucioReader.py/RucioReader.countDatasetFiles |
✅ | |
RucioClient.py/getFileCountPerBlock |
Services/Rucio/RucioReader.py/RucioReader.countDatasetFilesPerBlock |
✅ | |
RucioClient.py/getBlockNamesDataset |
Services/Rucio/RucioReader.py/RucioReader.getDatasetBlockNames |
✅ | |
RucioClient.py/getFileNamesDataset |
Services/Rucio/RucioReader.py/RucioReader.getDatasetFileNames |
✅ | |
RucioClient.py/getDatasetLocationsByAccount |
Services/Rucio/RucioReader.py/RucioReader.getDatasetLocationsByAccount |
✅ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
TrelloClient.py/_get |
Services/Trello/TrelloClient.py/TrelloClient._getResponse |
❌ | * called in getBoard and getCard |
TrelloClient.py/_put |
Services/Trello/TrelloClient.py/TrelloClient._sendResponse |
❌ | * called in setList |
TrelloClient.py/getAgents |
Services/Trello/TrelloClient.py/TrelloClient._syncAgents |
❌ | * called when instantiated |
TrelloClient.py/getBoard |
Services/Trello/TrelloClient.py/TrelloClient.getBoard |
❌ | |
TrelloClient.py/getCard |
Services/Trello/TrelloClient.py/TrelloClient.getCard |
❌ | |
TrelloClient.py/changeList |
Services/Trello/TrelloClient.py/TrelloClient.setList |
❌ | |
— | Services/Trello/TrelloClient.py/TrelloClient.getListId |
❌ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/getAllAgents |
Services/WMStats/WMStatsReader.py/WMStatsReader.getAgents |
✅ | |
utils.py/workflowInfo.getWMErrors |
Services/WMStats/WMStatsReader.py/WMStatsReader.getWMErrors |
❌ | * only include the request of the original function — call WorkflowController.getWMErrors to keep the same behavior |
utils.py/workflowInfo.getWMStats |
Services/WMStats/WMStatsReader.py/WMStatsReader.getWMStats |
✅ | * only include the request of the original function — call WorkflowController.getWMStats to keep the same behavior |
— | Services/WMStats/WMStatsReader.py/WMStatsReader.getProductionAgents |
✅ |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/workflowInfo.getWorkQueue |
Services/WorkQueue/WorkQueueReader.py/WorkQueueReader.getWorkQueue |
✅ |
Includes all helper functions from utils.py
that are used for authentication, configuration, etc.
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/make_x509_conn |
Utilities/Authenticate.py/getX509Conn |
❌ | |
utils.py/unifiedConfiguration |
Utilities/ConfigurationHandler.py/ConfigurationHandler |
❌ | |
utils.py/workflowInfo._taskDescending |
Utilities/DataTools/flattenTaskTree |
❌ | |
utils.py/ThreadHandler |
Utilities/Decorators.py/runWithMultiThreading |
❌ | |
utils.py/runWithRetries |
Utilities/Decorators.py/runWithRetries |
❌ | |
utils.py/display_N |
Utilities/Logging/displayNumber |
❌ | |
utils.py/display_time |
Utilities/Logging/displayTime |
❌ | |
utils.py/GET |
Utilities/WebTools.py/getResponse |
❌ | |
— | Utilities/DataTools/filterFilesAndLocationsInDBS |
❌ | |
— | Utilities/DataTools/filterLumisAndFilesByLumis |
❌ | |
— | Utilities/DataTools/filterLumisAndFilesByRuns |
❌ | |
— | Utilities/DataTools/filterRecoveryFilesAndLocations |
❌ | |
— | Utilities/DataTools/filterSplittingsParam |
❌ | |
— | Utilities/DataTools/filterSplittingsTaskTypes |
❌ | |
— | Utilities/DataTools/sortByWakeUpPriority |
❌ | |
— | Utilities/IteratorTools/filterKeys |
❌ | |
— | Utilities/IteratorTools/mapKeys |
❌ | |
— | Utilities/IteratorTools/mapValues |
❌ | |
— | Utilities/IteratorTools/sortByKeys |
❌ | |
— | Utilities/WebTools.py/sendResponse |
❌ |
Includes all helper functions from utils.py
that are used for managing a workflow
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/workflowInfo.checkSplitting |
WorkflowMgmt/WorkflowController.py/WorkflowController.checkSplitting |
✅ | |
utils.py/workflowInfo.getAgents |
WorkflowMgmt/WorkflowController.py/WorkflowController.getAgents |
✅ | |
utils.py/workflowInfo.getAllTasks |
WorkflowMgmt/WorkflowController.py/WorkflowController.getAllTasks |
✅ | |
utils.py/workflowInfo.getBlocks |
WorkflowMgmt/WorkflowController.py/WorkflowController.getBlocks |
✅ | |
utils.py/workflowInfo.getBlockWhiteList |
WorkflowMgmt/WorkflowController.py/WorkflowController.getBlockWhiteList |
✅ | |
utils.py/workflowInfo.getBlowupFactors |
WorkflowMgmt/WorkflowController.py/WorkflowController.getBlowupFactor |
✅ | * return only the factor, since the additional outputs were not used |
utils.py/workflowInfo.getCampaignPerTask |
WorkflowMgmt/WorkflowController.py/WorkflowController.getCampaignByTask |
✅ | |
utils.py/workflowInfo.getConfigCacheID |
WorkflowMgmt/WorkflowController.py/WorkflowController.getConfigCacheID |
✅ | |
utils.py/workflowInfo.getCompletionFraction |
WorkflowMgmt/WorkflowController.py/WorkflowController.getCompletionFraction |
✅ | |
utils.py/workflowInfo.getComputingTime |
`WorkflowMgmt/WorkflowController.py/WorkflowController.getComputingTime | ✅ | |
utils.py/workflowInfo.getCorePerTask |
WorkflowMgmt/WorkflowController.py/WorkflowController.getCoreByTask |
✅ | |
utils.py/workflowInfo.getFamilly |
WorkflowMgmt/WorkflowController.py/WorkflowController.getFamily |
✅ | |
utils.py/workflowInfo.getFilterEfficiency |
WorkflowMgmt/WorkflowController.py/WorkflowController.getFilterEfficiencyByTask |
✅ | |
utils.py/workflowInfo.firstTask |
WorkflowMgmt/WorkflowController.py/WorkflowController.getFirstTask |
✅ | |
utils.py/workflowInfo.getGlideMon |
WorkflowMgmt/WorkflowController.py/WorkflowController.getGlideWMSMonSummary |
❌ | |
utils.py/workflowInfo.getMemoryPerTask |
WorkflowMgmt/WorkflowController.py/WorkflowController.getMemoryByTask |
✅ | |
utils.py/workflowInfo.getNCopies |
WorkflowMgmt/WorkflowController.py/WorkflowController.getNCopies |
✅ | |
utils.py/workflowInfo.getNextVersion |
WorkflowMgmt/WorkflowController.py/WorkflowController.getNextVersion |
✅ | |
utils.py/workflowInfo.getOutputPerTask |
WorkflowMgmt/WorkflowController.py/WorkflowController.getOutputDatasetsPerTask |
✅ | |
utils.py/workflowInfo.getPrepIDs |
WorkflowMgmt/WorkflowController.py/WorkflowController.getPrepIDs |
✅ | |
utils.py/workflowInfo.getRecoveryBlocks |
WorkflowMgmt/WorkflowController.py/WorkflowController.getRecoveryBlocks |
❌ | |
utils.py/workflowInfo.getRecoveryInfo |
WorkflowMgmt/WorkflowController.py/WorkflowController.getRecoveryInfo |
❌ | |
utils.py/workflowInfo.getRunWhiteList |
WorkflowMgmt/WorkflowController.py/WorkflowController.getRunWhiteList |
✅ | |
utils.py/workflowInfo.getArchs |
WorkflowMgmt/WorkflowController.py/WorkflowController.getScramArches |
✅ | |
utils.py/workflowInfo.getSiteWhiteList |
WorkflowMgmt/WorkflowController.py/WorkflowController.getSiteWhiteList |
❌ | |
utils.py/workflowInfo.getSpplitings |
WorkflowMgmt/WorkflowController.py/WorkflowController.getSpplitings |
✅ | |
utils.py/workflowInfo.getSplittingsNew |
WorkflowMgmt/WorkflowController.py/WorkflowController.getSpplitingsSchema |
✅ | |
utils.py/workflowInfo.getSummary |
WorkflowMgmt/WorkflowController.py/WorkflowController.getSummary |
✅ | |
utils.py/workflowInfo.getWMErrors |
WorkflowMgmt/WorkflowController.py/WorkflowController.getWMErrors |
❌ | |
utils.py/workflowInfo.getWMStatus |
WorkflowMgmt/WorkflowController.py/WorkflowController.getWMStatus |
✅ | |
utils.py/workflowInfo.getWorkTasks |
WorkflowMgmt/WorkflowController.py/WorkflowController.getWorkTasks |
✅ | |
utils.py/workflowInfo.go |
WorkflowMgmt/WorkflowController.py/WorkflowController.go |
✅ | |
utils.py/workflowInfo.heavyRead |
WorkflowMgmt/WorkflowController.py/WorkflowController.isHeavyToReady |
✅ | |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._getAllowedSites |
❌ | * called in getSiteWhiteList |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._getFromFile |
✅ | * called in getWMStats and getWMErrors |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._getVersionByConflictingWorkflows |
✅ | * called in getNextVersion |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._getVersionByWildcardPattern |
✅ | * called in getNextVersion |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._getWorkloadHandler |
✅ | * called when instantiated |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._restrictAllowedSitesByBlowUpFactor |
❌ | * called in getSiteWhiteList |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._restrictAllowedSitesByCampaign |
❌ | * called in getSiteWhiteList |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._parseOutputProcessingString |
❌ | * called in getNextVersion |
— | WorkflowMgmt/WorkflowController.py/WorkflowController._saveInFile |
❌ | * called in getWMStats and getWMErrors |
Details
Python 2 | Python 3 | tested | notes |
---|---|---|---|
utils.py/workflowInfo.acquisitionEra |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getAcquisitionEra WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getAcquisitionEra
|
✅ | |
utils.py/workflowInfo.campaigns |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getCampaigns WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getCampaigns
|
✅ | |
utils.py/workflowInfo.getCampaigns |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getCampaigns(details=False) WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getCampaigns(details=False)
|
✅ | |
utils.py/workflowInfo._collectinchain utils.py/workflowInfo._collectin_uhm_chain
|
WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getChainValues |
✅ | |
utils.py/workflowInfo.getIO |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getIO WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getIO
|
✅ | |
utils.py/workflowInfo.getLumiWhiteList |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getLumiWhiteList WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getLumiWhiteList
|
✅ | |
utils.py/workflowInfo.getMemory |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getMemory WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getMemory
|
✅ | |
utils.py/workflowInfo.getMulticore |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getMulticore WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getMulticore
|
✅ | |
utils.py/workflowInfo.getMulticores |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getMulticore(maxOnly=False) WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getMulticore(maxOnly=False)
|
✅ | |
utils.py/workflowInfo.processingString |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getProcessingString WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getProcessingString
|
✅ | |
utils.py/workflowInfo.getRequestNumEvents |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getRequestNumEvents WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler.getRequestNumEvents
|
✅ | |
utils.py/workflowInfo.isGoodToConvertToStepChain |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.isGoodToConvertToStepChain WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler.isGoodToConvertToStepChain
|
✅ | |
utils.py/workflowInfo.producePremix |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.isProducingPremix |
✅ | |
utils.py/workflowInfo.isRelVal |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.isRelVal |
✅ | |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._getOutputSizeCorrectionFactor |
❌ | * called in checkSplitting |
— | WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler._getTaskIO |
❌ | * called in getIO |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._getTimeInfo |
✅ | * called in isGoodToConvertToStepChain |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._getTaskEfficiencyFactor |
❌ | * called in checkSplitting |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._getTaskMaxEventsBySize |
❌ | * called in checkSplitting |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._getTaskMaxEventsByTime |
❌ | * called in checkSplitting |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._getTaskMaxEventsPerLumiAndJob |
❌ | * called in checkSplitting |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._getTaskSchema |
❌ | * called in checkSplitting |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._hasAcceptableEfficiency |
✅ | * called in isGoodToConvertToStepChain |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._hasNonZeroEventStreams |
❌ | * called in isGoodToConvertToStepChain |
— | WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler._isBelowMinEventsPerLumi |
❌ | * called in checkSplitting |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.checkSplitting WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.checkSplitting WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler.checkSplitting
|
✅ | |
— | WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.get |
❌ | |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getBlowupFactor WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler.getBlowupFactor
|
✅ | |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getCampaignsAndLabels WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getCampaignsAndLabels
|
✅ | |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getComputingTime WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getComputingTime
|
✅ | |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getExpectedEventsPerTask WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getExpectedEventsPerTask
|
❌ | |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getParamByTask WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getParamByTask
|
❌ | |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getParamList WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getParamList
|
❌ | |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getOutputDatasetsPerTask WorkflowMgmt/WorkflowSchemaHandlers/StepChainWfSchemaHandler.py/StepChainWfSchemaHandler.getOutputDatasetsPerTask
|
✅ | |
— | WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.getTasksPerOutputDatasets |
❌ | |
— |
WorkflowMgmt/WorkflowSchemaHandlers/BaseWfSchemaHandler.py/BaseWfSchemaHandler.writeDatasetPatternName WorkflowMgmt/WorkflowSchemaHandlers/TaskChainWfSchemaHandler.py/TaskChainWfSchemaHandler.writeDatasetPatternName
|
❌ |