wmglobalqueue 2.3.10rc10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of wmglobalqueue might be problematic. Click here for more details.

Files changed (345) hide show
  1. Utils/CPMetrics.py +270 -0
  2. Utils/CertTools.py +62 -0
  3. Utils/EmailAlert.py +50 -0
  4. Utils/ExtendedUnitTestCase.py +62 -0
  5. Utils/FileTools.py +182 -0
  6. Utils/IteratorTools.py +80 -0
  7. Utils/MathUtils.py +31 -0
  8. Utils/MemoryCache.py +119 -0
  9. Utils/Patterns.py +24 -0
  10. Utils/Pipeline.py +137 -0
  11. Utils/PortForward.py +97 -0
  12. Utils/ProcessStats.py +103 -0
  13. Utils/PythonVersion.py +17 -0
  14. Utils/Signals.py +36 -0
  15. Utils/TemporaryEnvironment.py +27 -0
  16. Utils/Throttled.py +227 -0
  17. Utils/Timers.py +130 -0
  18. Utils/Timestamps.py +86 -0
  19. Utils/TokenManager.py +143 -0
  20. Utils/Tracing.py +60 -0
  21. Utils/TwPrint.py +98 -0
  22. Utils/Utilities.py +308 -0
  23. Utils/__init__.py +11 -0
  24. WMCore/ACDC/Collection.py +57 -0
  25. WMCore/ACDC/CollectionTypes.py +12 -0
  26. WMCore/ACDC/CouchCollection.py +67 -0
  27. WMCore/ACDC/CouchFileset.py +238 -0
  28. WMCore/ACDC/CouchService.py +73 -0
  29. WMCore/ACDC/DataCollectionService.py +485 -0
  30. WMCore/ACDC/Fileset.py +94 -0
  31. WMCore/ACDC/__init__.py +11 -0
  32. WMCore/Algorithms/Alarm.py +39 -0
  33. WMCore/Algorithms/MathAlgos.py +274 -0
  34. WMCore/Algorithms/MiscAlgos.py +67 -0
  35. WMCore/Algorithms/ParseXMLFile.py +115 -0
  36. WMCore/Algorithms/Permissions.py +27 -0
  37. WMCore/Algorithms/Singleton.py +58 -0
  38. WMCore/Algorithms/SubprocessAlgos.py +129 -0
  39. WMCore/Algorithms/__init__.py +7 -0
  40. WMCore/Cache/GenericDataCache.py +98 -0
  41. WMCore/Cache/WMConfigCache.py +572 -0
  42. WMCore/Cache/__init__.py +0 -0
  43. WMCore/Configuration.py +651 -0
  44. WMCore/DAOFactory.py +47 -0
  45. WMCore/DataStructs/File.py +177 -0
  46. WMCore/DataStructs/Fileset.py +140 -0
  47. WMCore/DataStructs/Job.py +182 -0
  48. WMCore/DataStructs/JobGroup.py +142 -0
  49. WMCore/DataStructs/JobPackage.py +49 -0
  50. WMCore/DataStructs/LumiList.py +734 -0
  51. WMCore/DataStructs/Mask.py +219 -0
  52. WMCore/DataStructs/MathStructs/ContinuousSummaryHistogram.py +197 -0
  53. WMCore/DataStructs/MathStructs/DiscreteSummaryHistogram.py +92 -0
  54. WMCore/DataStructs/MathStructs/SummaryHistogram.py +117 -0
  55. WMCore/DataStructs/MathStructs/__init__.py +0 -0
  56. WMCore/DataStructs/Pickleable.py +24 -0
  57. WMCore/DataStructs/Run.py +256 -0
  58. WMCore/DataStructs/Subscription.py +175 -0
  59. WMCore/DataStructs/WMObject.py +47 -0
  60. WMCore/DataStructs/WorkUnit.py +112 -0
  61. WMCore/DataStructs/Workflow.py +60 -0
  62. WMCore/DataStructs/__init__.py +8 -0
  63. WMCore/Database/CMSCouch.py +1349 -0
  64. WMCore/Database/ConfigDBMap.py +29 -0
  65. WMCore/Database/CouchUtils.py +118 -0
  66. WMCore/Database/DBCore.py +198 -0
  67. WMCore/Database/DBCreator.py +113 -0
  68. WMCore/Database/DBExceptionHandler.py +57 -0
  69. WMCore/Database/DBFactory.py +110 -0
  70. WMCore/Database/DBFormatter.py +177 -0
  71. WMCore/Database/Dialects.py +13 -0
  72. WMCore/Database/ExecuteDAO.py +327 -0
  73. WMCore/Database/MongoDB.py +241 -0
  74. WMCore/Database/MySQL/Destroy.py +42 -0
  75. WMCore/Database/MySQL/ListUserContent.py +20 -0
  76. WMCore/Database/MySQL/__init__.py +9 -0
  77. WMCore/Database/MySQLCore.py +132 -0
  78. WMCore/Database/Oracle/Destroy.py +56 -0
  79. WMCore/Database/Oracle/ListUserContent.py +19 -0
  80. WMCore/Database/Oracle/__init__.py +9 -0
  81. WMCore/Database/ResultSet.py +44 -0
  82. WMCore/Database/Transaction.py +91 -0
  83. WMCore/Database/__init__.py +9 -0
  84. WMCore/Database/ipy_profile_couch.py +438 -0
  85. WMCore/GlobalWorkQueue/CherryPyThreads/CleanUpTask.py +29 -0
  86. WMCore/GlobalWorkQueue/CherryPyThreads/HeartbeatMonitor.py +105 -0
  87. WMCore/GlobalWorkQueue/CherryPyThreads/LocationUpdateTask.py +28 -0
  88. WMCore/GlobalWorkQueue/CherryPyThreads/ReqMgrInteractionTask.py +35 -0
  89. WMCore/GlobalWorkQueue/CherryPyThreads/__init__.py +0 -0
  90. WMCore/GlobalWorkQueue/__init__.py +0 -0
  91. WMCore/GroupUser/CouchObject.py +127 -0
  92. WMCore/GroupUser/Decorators.py +51 -0
  93. WMCore/GroupUser/Group.py +33 -0
  94. WMCore/GroupUser/Interface.py +73 -0
  95. WMCore/GroupUser/User.py +96 -0
  96. WMCore/GroupUser/__init__.py +11 -0
  97. WMCore/Lexicon.py +836 -0
  98. WMCore/REST/Auth.py +202 -0
  99. WMCore/REST/CherryPyPeriodicTask.py +166 -0
  100. WMCore/REST/Error.py +333 -0
  101. WMCore/REST/Format.py +642 -0
  102. WMCore/REST/HeartbeatMonitorBase.py +90 -0
  103. WMCore/REST/Main.py +623 -0
  104. WMCore/REST/Server.py +2435 -0
  105. WMCore/REST/Services.py +24 -0
  106. WMCore/REST/Test.py +120 -0
  107. WMCore/REST/Tools.py +38 -0
  108. WMCore/REST/Validation.py +250 -0
  109. WMCore/REST/__init__.py +1 -0
  110. WMCore/ReqMgr/DataStructs/RequestStatus.py +209 -0
  111. WMCore/ReqMgr/DataStructs/RequestType.py +13 -0
  112. WMCore/ReqMgr/DataStructs/__init__.py +0 -0
  113. WMCore/ReqMgr/__init__.py +1 -0
  114. WMCore/Services/AlertManager/AlertManagerAPI.py +111 -0
  115. WMCore/Services/AlertManager/__init__.py +0 -0
  116. WMCore/Services/CRIC/CRIC.py +238 -0
  117. WMCore/Services/CRIC/__init__.py +0 -0
  118. WMCore/Services/DBS/DBS3Reader.py +1044 -0
  119. WMCore/Services/DBS/DBSConcurrency.py +44 -0
  120. WMCore/Services/DBS/DBSErrors.py +113 -0
  121. WMCore/Services/DBS/DBSReader.py +23 -0
  122. WMCore/Services/DBS/DBSUtils.py +139 -0
  123. WMCore/Services/DBS/DBSWriterObjects.py +381 -0
  124. WMCore/Services/DBS/ProdException.py +133 -0
  125. WMCore/Services/DBS/__init__.py +8 -0
  126. WMCore/Services/FWJRDB/FWJRDBAPI.py +118 -0
  127. WMCore/Services/FWJRDB/__init__.py +0 -0
  128. WMCore/Services/HTTPS/HTTPSAuthHandler.py +66 -0
  129. WMCore/Services/HTTPS/__init__.py +0 -0
  130. WMCore/Services/LogDB/LogDB.py +201 -0
  131. WMCore/Services/LogDB/LogDBBackend.py +191 -0
  132. WMCore/Services/LogDB/LogDBExceptions.py +11 -0
  133. WMCore/Services/LogDB/LogDBReport.py +85 -0
  134. WMCore/Services/LogDB/__init__.py +0 -0
  135. WMCore/Services/MSPileup/__init__.py +0 -0
  136. WMCore/Services/MSUtils/MSUtils.py +54 -0
  137. WMCore/Services/MSUtils/__init__.py +0 -0
  138. WMCore/Services/McM/McM.py +173 -0
  139. WMCore/Services/McM/__init__.py +8 -0
  140. WMCore/Services/MonIT/Grafana.py +133 -0
  141. WMCore/Services/MonIT/__init__.py +0 -0
  142. WMCore/Services/PyCondor/PyCondorAPI.py +154 -0
  143. WMCore/Services/PyCondor/PyCondorUtils.py +105 -0
  144. WMCore/Services/PyCondor/__init__.py +0 -0
  145. WMCore/Services/ReqMgr/ReqMgr.py +261 -0
  146. WMCore/Services/ReqMgr/__init__.py +0 -0
  147. WMCore/Services/ReqMgrAux/ReqMgrAux.py +419 -0
  148. WMCore/Services/ReqMgrAux/__init__.py +0 -0
  149. WMCore/Services/RequestDB/RequestDBReader.py +267 -0
  150. WMCore/Services/RequestDB/RequestDBWriter.py +39 -0
  151. WMCore/Services/RequestDB/__init__.py +0 -0
  152. WMCore/Services/Requests.py +624 -0
  153. WMCore/Services/Rucio/Rucio.py +1287 -0
  154. WMCore/Services/Rucio/RucioUtils.py +74 -0
  155. WMCore/Services/Rucio/__init__.py +0 -0
  156. WMCore/Services/RucioConMon/RucioConMon.py +128 -0
  157. WMCore/Services/RucioConMon/__init__.py +0 -0
  158. WMCore/Services/Service.py +400 -0
  159. WMCore/Services/StompAMQ/__init__.py +0 -0
  160. WMCore/Services/TagCollector/TagCollector.py +155 -0
  161. WMCore/Services/TagCollector/XMLUtils.py +98 -0
  162. WMCore/Services/TagCollector/__init__.py +0 -0
  163. WMCore/Services/UUIDLib.py +13 -0
  164. WMCore/Services/UserFileCache/UserFileCache.py +160 -0
  165. WMCore/Services/UserFileCache/__init__.py +8 -0
  166. WMCore/Services/WMAgent/WMAgent.py +63 -0
  167. WMCore/Services/WMAgent/__init__.py +0 -0
  168. WMCore/Services/WMArchive/CMSSWMetrics.py +526 -0
  169. WMCore/Services/WMArchive/DataMap.py +463 -0
  170. WMCore/Services/WMArchive/WMArchive.py +33 -0
  171. WMCore/Services/WMArchive/__init__.py +0 -0
  172. WMCore/Services/WMBS/WMBS.py +97 -0
  173. WMCore/Services/WMBS/__init__.py +0 -0
  174. WMCore/Services/WMStats/DataStruct/RequestInfoCollection.py +300 -0
  175. WMCore/Services/WMStats/DataStruct/__init__.py +0 -0
  176. WMCore/Services/WMStats/WMStatsPycurl.py +145 -0
  177. WMCore/Services/WMStats/WMStatsReader.py +445 -0
  178. WMCore/Services/WMStats/WMStatsWriter.py +273 -0
  179. WMCore/Services/WMStats/__init__.py +0 -0
  180. WMCore/Services/WMStatsServer/WMStatsServer.py +134 -0
  181. WMCore/Services/WMStatsServer/__init__.py +0 -0
  182. WMCore/Services/WorkQueue/WorkQueue.py +492 -0
  183. WMCore/Services/WorkQueue/__init__.py +0 -0
  184. WMCore/Services/__init__.py +8 -0
  185. WMCore/Services/pycurl_manager.py +574 -0
  186. WMCore/WMBase.py +50 -0
  187. WMCore/WMConnectionBase.py +164 -0
  188. WMCore/WMException.py +183 -0
  189. WMCore/WMExceptions.py +269 -0
  190. WMCore/WMFactory.py +76 -0
  191. WMCore/WMInit.py +228 -0
  192. WMCore/WMLogging.py +108 -0
  193. WMCore/WMSpec/ConfigSectionTree.py +442 -0
  194. WMCore/WMSpec/Persistency.py +135 -0
  195. WMCore/WMSpec/Steps/BuildMaster.py +87 -0
  196. WMCore/WMSpec/Steps/BuildTools.py +201 -0
  197. WMCore/WMSpec/Steps/Builder.py +97 -0
  198. WMCore/WMSpec/Steps/Diagnostic.py +89 -0
  199. WMCore/WMSpec/Steps/Emulator.py +62 -0
  200. WMCore/WMSpec/Steps/ExecuteMaster.py +208 -0
  201. WMCore/WMSpec/Steps/Executor.py +210 -0
  202. WMCore/WMSpec/Steps/StepFactory.py +213 -0
  203. WMCore/WMSpec/Steps/TaskEmulator.py +75 -0
  204. WMCore/WMSpec/Steps/Template.py +204 -0
  205. WMCore/WMSpec/Steps/Templates/AlcaHarvest.py +76 -0
  206. WMCore/WMSpec/Steps/Templates/CMSSW.py +613 -0
  207. WMCore/WMSpec/Steps/Templates/DQMUpload.py +59 -0
  208. WMCore/WMSpec/Steps/Templates/DeleteFiles.py +70 -0
  209. WMCore/WMSpec/Steps/Templates/LogArchive.py +84 -0
  210. WMCore/WMSpec/Steps/Templates/LogCollect.py +105 -0
  211. WMCore/WMSpec/Steps/Templates/StageOut.py +105 -0
  212. WMCore/WMSpec/Steps/Templates/__init__.py +10 -0
  213. WMCore/WMSpec/Steps/WMExecutionFailure.py +21 -0
  214. WMCore/WMSpec/Steps/__init__.py +8 -0
  215. WMCore/WMSpec/Utilities.py +63 -0
  216. WMCore/WMSpec/WMSpecErrors.py +12 -0
  217. WMCore/WMSpec/WMStep.py +347 -0
  218. WMCore/WMSpec/WMTask.py +1980 -0
  219. WMCore/WMSpec/WMWorkload.py +2288 -0
  220. WMCore/WMSpec/WMWorkloadTools.py +370 -0
  221. WMCore/WMSpec/__init__.py +9 -0
  222. WMCore/WorkQueue/DataLocationMapper.py +269 -0
  223. WMCore/WorkQueue/DataStructs/ACDCBlock.py +47 -0
  224. WMCore/WorkQueue/DataStructs/Block.py +48 -0
  225. WMCore/WorkQueue/DataStructs/CouchWorkQueueElement.py +148 -0
  226. WMCore/WorkQueue/DataStructs/WorkQueueElement.py +274 -0
  227. WMCore/WorkQueue/DataStructs/WorkQueueElementResult.py +152 -0
  228. WMCore/WorkQueue/DataStructs/WorkQueueElementsSummary.py +185 -0
  229. WMCore/WorkQueue/DataStructs/__init__.py +0 -0
  230. WMCore/WorkQueue/Policy/End/EndPolicyInterface.py +44 -0
  231. WMCore/WorkQueue/Policy/End/SingleShot.py +22 -0
  232. WMCore/WorkQueue/Policy/End/__init__.py +32 -0
  233. WMCore/WorkQueue/Policy/PolicyInterface.py +17 -0
  234. WMCore/WorkQueue/Policy/Start/Block.py +258 -0
  235. WMCore/WorkQueue/Policy/Start/Dataset.py +180 -0
  236. WMCore/WorkQueue/Policy/Start/MonteCarlo.py +131 -0
  237. WMCore/WorkQueue/Policy/Start/ResubmitBlock.py +171 -0
  238. WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py +316 -0
  239. WMCore/WorkQueue/Policy/Start/__init__.py +34 -0
  240. WMCore/WorkQueue/Policy/__init__.py +57 -0
  241. WMCore/WorkQueue/WMBSHelper.py +772 -0
  242. WMCore/WorkQueue/WorkQueue.py +1237 -0
  243. WMCore/WorkQueue/WorkQueueBackend.py +741 -0
  244. WMCore/WorkQueue/WorkQueueBase.py +39 -0
  245. WMCore/WorkQueue/WorkQueueExceptions.py +44 -0
  246. WMCore/WorkQueue/WorkQueueReqMgrInterface.py +278 -0
  247. WMCore/WorkQueue/WorkQueueUtils.py +130 -0
  248. WMCore/WorkQueue/__init__.py +13 -0
  249. WMCore/Wrappers/JsonWrapper/JSONThunker.py +342 -0
  250. WMCore/Wrappers/JsonWrapper/__init__.py +7 -0
  251. WMCore/Wrappers/__init__.py +6 -0
  252. WMCore/__init__.py +10 -0
  253. wmglobalqueue-2.3.10rc10.data/data/bin/wmc-dist-patch +15 -0
  254. wmglobalqueue-2.3.10rc10.data/data/bin/wmc-dist-unpatch +8 -0
  255. wmglobalqueue-2.3.10rc10.data/data/bin/wmc-httpd +3 -0
  256. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/.couchapprc +1 -0
  257. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/README.md +40 -0
  258. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/_attachments/index.html +264 -0
  259. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/_attachments/js/ElementInfoByWorkflow.js +96 -0
  260. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/_attachments/js/StuckElementInfo.js +57 -0
  261. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/_attachments/js/WorkloadInfoTable.js +80 -0
  262. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/_attachments/js/dataTable.js +70 -0
  263. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/_attachments/js/namespace.js +23 -0
  264. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/_attachments/style/main.css +75 -0
  265. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/couchapp.json +4 -0
  266. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/filters/childQueueFilter.js +13 -0
  267. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/filters/filterDeletedDocs.js +3 -0
  268. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/filters/queueFilter.js +11 -0
  269. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/language +1 -0
  270. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/lib/mustache.js +333 -0
  271. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/lib/validate.js +27 -0
  272. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/lib/workqueue_utils.js +61 -0
  273. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/lists/elementsDetail.js +28 -0
  274. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/lists/filter.js +86 -0
  275. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/lists/stuckElements.js +38 -0
  276. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/lists/workRestrictions.js +153 -0
  277. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/lists/workflowSummary.js +28 -0
  278. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/rewrites.json +73 -0
  279. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/shows/redirect.js +23 -0
  280. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/shows/status.js +40 -0
  281. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/templates/ElementSummaryByWorkflow.html +27 -0
  282. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/templates/StuckElementSummary.html +26 -0
  283. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/templates/TaskStatus.html +23 -0
  284. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/templates/WorkflowSummary.html +27 -0
  285. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/templates/partials/workqueue-common-lib.html +2 -0
  286. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/templates/partials/yui-lib-remote.html +16 -0
  287. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/templates/partials/yui-lib.html +18 -0
  288. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/updates/in-place.js +50 -0
  289. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/validate_doc_update.js +8 -0
  290. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/vendor/couchapp/_attachments/jquery.couch.app.js +235 -0
  291. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/vendor/couchapp/_attachments/jquery.pathbinder.js +173 -0
  292. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/activeData/map.js +8 -0
  293. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/activeData/reduce.js +2 -0
  294. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/activeParentData/map.js +8 -0
  295. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/activeParentData/reduce.js +2 -0
  296. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/activePileupData/map.js +8 -0
  297. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/activePileupData/reduce.js +2 -0
  298. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/analyticsData/map.js +11 -0
  299. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/analyticsData/reduce.js +1 -0
  300. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/availableByPriority/map.js +6 -0
  301. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/conflicts/map.js +5 -0
  302. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elements/map.js +5 -0
  303. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsByData/map.js +8 -0
  304. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsByParent/map.js +8 -0
  305. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsByParentData/map.js +8 -0
  306. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsByPileupData/map.js +8 -0
  307. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsByStatus/map.js +8 -0
  308. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsBySubscription/map.js +6 -0
  309. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsByWorkflow/map.js +8 -0
  310. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsByWorkflow/reduce.js +3 -0
  311. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/elementsDetailByWorkflowAndStatus/map.js +26 -0
  312. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobInjectStatusByRequest/map.js +10 -0
  313. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobInjectStatusByRequest/reduce.js +1 -0
  314. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobStatusByRequest/map.js +6 -0
  315. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobStatusByRequest/reduce.js +1 -0
  316. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndPriority/map.js +6 -0
  317. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndPriority/reduce.js +1 -0
  318. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndStatus/map.js +6 -0
  319. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByChildQueueAndStatus/reduce.js +1 -0
  320. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByRequest/map.js +6 -0
  321. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByRequest/reduce.js +1 -0
  322. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByStatus/map.js +6 -0
  323. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByStatus/reduce.js +1 -0
  324. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByStatusAndPriority/map.js +6 -0
  325. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/jobsByStatusAndPriority/reduce.js +1 -0
  326. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/openRequests/map.js +6 -0
  327. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/recent-items/map.js +5 -0
  328. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/siteWhitelistByRequest/map.js +6 -0
  329. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/siteWhitelistByRequest/reduce.js +1 -0
  330. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/specsByWorkflow/map.js +5 -0
  331. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/stuckElements/map.js +38 -0
  332. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/wmbsInjectStatusByRequest/map.js +12 -0
  333. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/wmbsInjectStatusByRequest/reduce.js +3 -0
  334. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/wmbsUrl/map.js +6 -0
  335. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/wmbsUrl/reduce.js +2 -0
  336. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/wmbsUrlByRequest/map.js +6 -0
  337. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/wmbsUrlByRequest/reduce.js +2 -0
  338. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/workflowSummary/map.js +9 -0
  339. wmglobalqueue-2.3.10rc10.data/data/data/couchapps/WorkQueue/views/workflowSummary/reduce.js +10 -0
  340. wmglobalqueue-2.3.10rc10.dist-info/METADATA +26 -0
  341. wmglobalqueue-2.3.10rc10.dist-info/RECORD +345 -0
  342. wmglobalqueue-2.3.10rc10.dist-info/WHEEL +5 -0
  343. wmglobalqueue-2.3.10rc10.dist-info/licenses/LICENSE +202 -0
  344. wmglobalqueue-2.3.10rc10.dist-info/licenses/NOTICE +16 -0
  345. wmglobalqueue-2.3.10rc10.dist-info/top_level.txt +2 -0
@@ -0,0 +1,164 @@
1
+ #!/usr/bin/env python
2
+ """
3
+ _WMBSBase_
4
+
5
+ Generic methods used by all of the WMBS classes.
6
+ """
7
+
8
+
9
+
10
+
11
+ from builtins import object
12
+ import threading
13
+ import copy
14
+
15
+ from WMCore.Database.Transaction import Transaction
16
+ from WMCore.DAOFactory import DAOFactory
17
+
18
+ try:
19
+ from contextlib import contextmanager
20
+ except (ImportError, NameError):
21
+ pass
22
+
23
+ class WMConnectionBase(object):
24
+ """
25
+ Generic db connection and transaction methods used by all of the WMCore classes.
26
+ """
27
+ def __init__(self, daoPackage, logger = None, dbi = None):
28
+ """
29
+ ___init___
30
+
31
+ Initialize all the database connection attributes and the logging
32
+ attritbutes. Create a DAO factory for given daoPackage as well. Finally,
33
+ check to see if a transaction object has been created. If none exists,
34
+ create one but leave the transaction closed.
35
+ """
36
+ myThread = threading.currentThread()
37
+ if logger:
38
+ self.logger = logger
39
+ else:
40
+ self.logger = myThread.logger
41
+ if dbi:
42
+ self.dbi = dbi
43
+ else:
44
+ self.dbi = myThread.dbi
45
+
46
+ self.daofactory = DAOFactory(package = daoPackage,
47
+ logger = self.logger,
48
+ dbinterface = self.dbi)
49
+
50
+ if "transaction" not in dir(myThread):
51
+ myThread.transaction = Transaction(self.dbi)
52
+
53
+ return
54
+
55
+ def getDBConn(self):
56
+ """
57
+ _getDBConn_
58
+
59
+ Retrieve the database connection that is associated with the current
60
+ dataabase transaction.
61
+ It transaction exists, it will return connection
62
+ which that transaction belong to.
63
+ This won't create the transaction if it doesn't exist, it will just return
64
+ None.
65
+ """
66
+ myThread = threading.currentThread()
67
+
68
+ if "transaction" not in dir(myThread):
69
+ return None
70
+
71
+ return myThread.transaction.conn
72
+
73
+ def beginTransaction(self):
74
+ """
75
+ _beginTransaction_
76
+
77
+ Begin a database transaction if one does not already exist.
78
+ """
79
+ myThread = threading.currentThread()
80
+
81
+ if "transaction" not in dir(myThread):
82
+ myThread.transaction = Transaction(self.dbi)
83
+ return False
84
+
85
+ if myThread.transaction.transaction == None:
86
+ myThread.transaction.begin()
87
+ return False
88
+
89
+ return True
90
+
91
+ def existingTransaction(self):
92
+ """
93
+ _existingTransaction_
94
+
95
+ Return True if there is an open transaction, False otherwise.
96
+ """
97
+ myThread = threading.currentThread()
98
+
99
+ if "transaction" not in dir(myThread):
100
+ return False
101
+ elif myThread.transaction.transaction != None:
102
+ return True
103
+
104
+ return False
105
+
106
+ def commitTransaction(self, existingTransaction):
107
+ """
108
+ _commitTransaction_
109
+
110
+ Commit a database transaction that was begun by self.beginTransaction().
111
+ """
112
+ if not existingTransaction:
113
+ myThread = threading.currentThread()
114
+ myThread.transaction.commit()
115
+
116
+ return
117
+
118
+ def __getstate__(self):
119
+ """
120
+ __getstate__
121
+
122
+ The database connection information isn't pickleable, so we to kill that
123
+ before we attempt to pickle.
124
+ """
125
+ self.dbi = None
126
+ self.logger = None
127
+ self.daofactory = None
128
+ return self.__dict__
129
+
130
+
131
+ def transactionContext(self):
132
+ """
133
+ Returns a transaction as a ContextManager
134
+
135
+ Usage:
136
+ with transactionContext():
137
+ databaseCode1()
138
+ databaseCode2()
139
+
140
+ Equates to beginTransaction() followed by either
141
+ commitTransaction or a rollback
142
+ """
143
+ existingTransaction = self.beginTransaction()
144
+ try:
145
+ yield existingTransaction
146
+ except:
147
+ # responsibility for rolling back is on the transaction starter
148
+ if not existingTransaction:
149
+ self.logger.error('Exception caught, rolling back transaction')
150
+ threading.currentThread().transaction.rollback()
151
+ raise
152
+ else:
153
+ # only commits if transaction started by this invocation
154
+ self.commitTransaction(existingTransaction)
155
+ try:
156
+ transactionContext = contextmanager(transactionContext)
157
+ except NameError:
158
+ pass
159
+
160
+
161
+ def rollbackTransaction(self, existingTransaction):
162
+ """Rollback transaction if we started it"""
163
+ if not existingTransaction:
164
+ threading.currentThread().transaction.rollback()
WMCore/WMException.py ADDED
@@ -0,0 +1,183 @@
1
+ #!/usr/bin/python
2
+ """
3
+ _WMException_
4
+
5
+ General Exception class for WM modules
6
+
7
+ """
8
+
9
+ from builtins import str, bytes
10
+ from future.utils import viewitems
11
+
12
+ import inspect
13
+ import logging
14
+ import sys
15
+ import traceback
16
+
17
+ from Utils.Utilities import decodeBytesToUnicode
18
+ from WMCore.Configuration import PY3
19
+
20
+ WMEXCEPTION_START_STR = str("<@========== WMException Start ==========@>")
21
+ WMEXCEPTION_END_STR = str("<@---------- WMException End ----------@>")
22
+
23
+
24
+ class WMException(Exception):
25
+ """
26
+ _WMException_
27
+
28
+ Exception class which works out details of where
29
+ it was raised.
30
+
31
+ """
32
+
33
+ def __init__(self, message, errorNo=None, **data):
34
+ self.name = str(self.__class__.__name__)
35
+
36
+ # Fix for the unicode encoding issue, see #8056 and #8403
37
+ # interprets this string using utf-8 codec and ignoring any errors.
38
+ # using unicode sandwich pattern
39
+ message = decodeBytesToUnicode(message, "ignore")
40
+
41
+ Exception.__init__(self, self.name, message)
42
+
43
+ # //
44
+ # // Init data dictionary with defaults
45
+ # //
46
+ self.data = {}
47
+ self.data.setdefault("ClassName", None)
48
+ self.data.setdefault("ModuleName", None)
49
+ self.data.setdefault("MethodName", None)
50
+ self.data.setdefault("ClassInstance", None)
51
+ self.data.setdefault("FileName", None)
52
+ self.data.setdefault("LineNumber", None)
53
+ if errorNo is None:
54
+ self.data.setdefault("ErrorNr", 0)
55
+ else:
56
+ self.data.setdefault("ErrorNr", errorNo)
57
+
58
+ self._message = message
59
+ self.addInfo(**data)
60
+
61
+ # //
62
+ # // Automatically determine the module name
63
+ # // if not set
64
+ if self.data['ModuleName'] is None:
65
+ try:
66
+ frame = inspect.currentframe()
67
+ lastframe = inspect.getouterframes(frame)[1][0]
68
+ excepModule = inspect.getmodule(lastframe)
69
+ if excepModule is not None:
70
+ modName = excepModule.__name__
71
+ self.data['ModuleName'] = modName
72
+ finally:
73
+ frame = None
74
+
75
+ # //
76
+ # // Find out where the exception came from
77
+ # //
78
+ try:
79
+ stack = inspect.stack(1)[1]
80
+ self.data['FileName'] = stack[1]
81
+ self.data['LineNumber'] = stack[2]
82
+ self.data['MethodName'] = stack[3]
83
+ finally:
84
+ stack = None
85
+
86
+ # //
87
+ # // ClassName if ClassInstance is passed
88
+ # //
89
+ try:
90
+ if self.data['ClassInstance'] is not None:
91
+ self.data['ClassName'] = self.data['ClassInstance'].__class__.__name__
92
+ except Exception:
93
+ pass
94
+
95
+ # Determine the traceback at time of __init__
96
+ try:
97
+ self.traceback = "\n".join(traceback.format_tb(sys.exc_info()[2]))
98
+ except Exception:
99
+ self.traceback = "WMException error: Couldn't get traceback\n"
100
+ # using unicode sandwich pattern
101
+ self.traceback = decodeBytesToUnicode(self.traceback, "ignore")
102
+
103
+ def __getitem__(self, key):
104
+ """
105
+ make exception look like a dictionary
106
+ """
107
+ return self.data[key]
108
+
109
+ def __setitem__(self, key, value):
110
+ """
111
+ make exception look like a dictionary
112
+ """
113
+ # using unicode sandwich pattern
114
+ key = decodeBytesToUnicode(key, "ignore")
115
+ value = decodeBytesToUnicode(value, "ignore")
116
+ self.data[key] = value
117
+
118
+ def addInfo(self, **data):
119
+ """
120
+ _addInfo_
121
+
122
+ Add key=value information pairs to an
123
+ exception instance
124
+ """
125
+ for key, value in viewitems(data):
126
+ # assumption: value is not iterable (list, dict, tuple, ...)
127
+ # using unicode sandwich pattern
128
+ key = decodeBytesToUnicode(key, "ignore")
129
+ value = decodeBytesToUnicode(value, "ignore")
130
+ self.data[key] = value
131
+ return
132
+
133
+ def xml(self):
134
+ """create a xml string rep of this exception"""
135
+ strg = "<Exception>\n"
136
+ strg += "<Object>\n"
137
+ strg += "%s\n" % self.name
138
+ strg += "</Object>\n"
139
+ strg += "<Message>\n"
140
+ strg += self._message
141
+ strg += "</Message>\n"
142
+ strg += "<DataItems>\n"
143
+ for key, value in viewitems(self.data):
144
+ strg += "<DataItem>\n"
145
+ strg += "<Key>\n"
146
+ strg += str(key)
147
+ strg += "</Key>\n"
148
+ strg += "<Value>\n"
149
+ strg += str(value)
150
+ strg += "</Value>\n"
151
+ strg += "</DataItem>\n"
152
+ strg += "</DataItems>\n"
153
+ strg += "</Exception>\n"
154
+ logging.error(strg)
155
+ return strg
156
+
157
+ def __as_unicode(self):
158
+ """create a string rep of this exception"""
159
+ # WARNING: Do not change this string - it is used to extract error from log
160
+ strg = WMEXCEPTION_START_STR
161
+ strg += "\nException Class: %s\n" % self.name
162
+ strg += "Message: %s\n" % self._message
163
+ for key, value in viewitems(self.data):
164
+ strg += "\t%s : %s\n" % (key, value,)
165
+ strg += "\nTraceback: \n"
166
+ strg += self.traceback
167
+ strg += '\n'
168
+ strg += WMEXCEPTION_END_STR
169
+ return strg
170
+
171
+ def __as_bytes(self):
172
+ return self.__as_unicode().encode("utf-8")
173
+
174
+ if PY3:
175
+ __str__ = __as_unicode
176
+ else:
177
+ __str__ = __as_bytes
178
+ __unicode__ = __as_unicode
179
+ __repr__ = __str__
180
+
181
+
182
+ def message(self):
183
+ return self._message
WMCore/WMExceptions.py ADDED
@@ -0,0 +1,269 @@
1
+ #!/usr/bin/python
2
+ """
3
+ _WMExceptions_
4
+
5
+ - List of standard exception ids and their
6
+ mappings to a human readable message.
7
+ """
8
+
9
+ WMEXCEPTION = {'WMCORE-1': 'Not allowed to instantiate ',
10
+ 'WMCORE-2': 'Problem creating database table ',
11
+ 'WMCORE-3': 'Could not find in library class ',
12
+ 'WMCORE-4': 'Problem with loading the class ',
13
+ 'WMCORE-5': 'Dialect not specified in configuration ',
14
+ 'WMCORE-6': 'Message name is same as diagnostic message name! ',
15
+ 'WMCORE-7': 'Component name is reserved word. ',
16
+ 'WMCORE-8': 'No config section for this component! ',
17
+ 'WMCORE-9': 'Problem inserting a trigger flag. ',
18
+ 'WMCORE-10': 'Problem setting trigger action. ',
19
+ 'WMCORE-11': 'Security exception. ',
20
+ 'WMCORE-12': 'Database connection problem ',
21
+ 'WMCORE-13': 'Number of retries exceeded'}
22
+
23
+ """
24
+ WM_JOB_ERROR_CODES
25
+ List of job error codes present in WMCore, some of them coming from CMSSW, and a description of the error it represents.
26
+
27
+ IMPORTANT:
28
+ Any change which is done for WM_JOB_ERROR_CODES has to be done also in the following twiki page:
29
+ https://twiki.cern.ch/twiki/bin/view/CMSPublic/JobExitCodes
30
+ ----------------
31
+ Range(1 - 512)
32
+ standard ones in Unix and indicate a CMSSW abort that the cmsRun did not catch as exception
33
+ ----------------
34
+ Range(7000 - 9000)
35
+ cmsRun (CMSSW) exit codes. These codes may depend on specific CMSSW version
36
+ https://github.com/cms-sw/cmssw/blob/CMSSW_5_0_1/FWCore/Utilities/interface/EDMException.h#L26
37
+ ----------------
38
+ Range(10000 - 19999)
39
+ Failures related to the environment setup
40
+ ----------------
41
+ Range(50000 - 59999)
42
+ Failures related executable file
43
+ ----------------
44
+ Range(60000 - 69999)
45
+ Failures related staging-OUT
46
+ ----------------
47
+ Range(70000 - 79999)
48
+ Failures related only for WMAgent. (which does not fit into ranges before)
49
+ ----------------
50
+ Range(80000 - 89999)
51
+ Failures related only for CRAB3. (which does not fit into ranges before)
52
+ ----------------
53
+ Range(90000 - 99999)
54
+ Other problems which does not fit to any range before.
55
+ ----------------
56
+ """
57
+
58
+ WM_JOB_ERROR_CODES = {-1: "Error return without specification.",
59
+ 1: "Job failed to bootstrap CMSSW; likely a worker node issue.",
60
+ 2: "Interrupt (ANSI).",
61
+ 4: "Illegal instruction (ANSI).",
62
+ 5: "Trace trap (POSIX).",
63
+ 6: "Abort (ANSI) or IOT trap (4.2BSD).",
64
+ 7: "BUS error (4.2BSD).",
65
+ 8: "Floating point exception (ANSI).",
66
+ 9: "killed, unblockable (POSIX) kill -9.",
67
+ 11: "segmentation violation (ANSI) (most likely user application crashed).",
68
+ 15: "Termination (ANSI).",
69
+ 24: "Soft CPU limit exceeded (4.2 BSD).",
70
+ 25: "File size limit exceeded (4.2 BSD).",
71
+ 30: "Power failure restart (System V.).",
72
+ 50: "Required application version not found at the site.",
73
+ 64: "I/O error: cannot open data file (SEAL).",
74
+ 65: "End of job from user application (CMSSW).",
75
+ 66: "Application exception.",
76
+ 70: "Invalid Arguments: Not all the required arguments for cmsRun is passed",
77
+ 71: "Failed to initiate Scram project",
78
+ 72: "Failed to enter Scram project directory",
79
+ 73: "Failed to get Scram runtime", # Keeping old error here, as not sure from there previously it was taken: "Failed writing to read-only file system"
80
+ 74: "Unable to untar sandbox",
81
+ 81: "Job did not find functioning CMSSW on worker node.",
82
+ 84: "Job failed to open local and fallback files.",
83
+ 85: "Job failed to open local and fallback files.",
84
+ 90: "Application exception.",
85
+ 92: "Job failed to open local and fallback files.",
86
+ 126: "Permission problem or command is not an executable",
87
+ 127: "Command not found",
88
+ 129: "Hangup (POSIX).",
89
+ 132: "Illegal instruction (ANSI).",
90
+ 133: "Trace trap (POSIX).",
91
+ 134: "Abort (ANSI) or IOT trap (4.2 BSD) (most likely user application crashed).",
92
+ 135: "Bus error (4.2 BSD).",
93
+ 137: "SIGKILL; likely an unrelated batch system kill.",
94
+ 139: "Segmentation violation (ANSI).",
95
+ 143: "Termination (ANSI)(or incorporate in the msg text).",
96
+ 147: "Error during attempted file stageout.",
97
+ 151: "Error during attempted file stageout.",
98
+ 152: "CPU limit exceeded (4.2 BSD).",
99
+ 153: "File size limit exceeded (4.2 BSD).",
100
+ 155: "Profiling alarm clock (4.2 BSD).",
101
+ 195: "Job did not produce a FJR; will retry.",
102
+ 243: "Timeout during attempted file stageout.",
103
+ 7000: "Exception from command line processing.",
104
+ 7001: "Configuration File Not Found.",
105
+ 7002: "Configuration File Read Error.",
106
+ 8001: "Other CMS Exception.",
107
+ 8002: "std::exception (other than bad_alloc).",
108
+ 8003: "Unknown Exception.",
109
+ 8004: "std::bad_alloc (memory exhaustion).",
110
+ 8005: "Bad Exception Type (e.g throwing a string).",
111
+ 8006: "ProductNotFound.",
112
+ 8007: "DictionaryNotFound.",
113
+ 8008: "InsertFailure.",
114
+ 8009: "Configuration.",
115
+ 8010: "LogicError.",
116
+ 8011: "UnimplementedFeature.",
117
+ 8012: "InvalidReference.",
118
+ 8013: "NullPointerError.",
119
+ 8014: "NoProductSpecified.",
120
+ 8015: "EventTimeout.",
121
+ 8016: "EventCorruption.",
122
+ 8017: "ScheduleExecutionFailure.",
123
+ 8018: "EventProcessorFailure.",
124
+ 8019: "FileInPathError.",
125
+ 8020: "FileOpenError (Likely a site error).",
126
+ 8021: "FileReadError (May be a site error).",
127
+ 8022: "FatalRootError.",
128
+ 8023: "MismatchedInputFiles.",
129
+ 8024: "ProductDoesNotSupportViews.",
130
+ 8025: "ProductDoesNotSupportPtr.",
131
+ 8026: "NotFound (something other than a product or dictionary not found).",
132
+ 8027: "FormatIncompatibility.",
133
+ 8028: "FileOpenError with fallback.",
134
+ 8029: "The job configuration has no input files specified for secondary input source.",
135
+ 8030: "Exceeded maximum allowed VSize (ExceededResourceVSize).",
136
+ 8031: "Exceeded maximum allowed RSS (ExceededResourceRSS).",
137
+ 8032: "Exceeded maximum allowed time (ExceededResourceTime).",
138
+ 8033: "Could not write output file (FileWriteError) (usually local disk problem).",
139
+ 8034: "FileNameInconsistentWithGUID",
140
+ 8501: "EventGenerationFailure",
141
+ 9000: "cmsRun caught (SIGINT and SIGUSR2) signal.",
142
+ 10031: "Directory VO_CMS_SW_DIR not found. ", # (CRAB3)
143
+ 10032: "Failed to source CMS Environment setup script such as cmssset_default.sh, grid system or site equivalent script.", # (CRAB3)
144
+ 10034: "Required application version is not found at the site.", # (CRAB3)
145
+ 10040: "failed to generate cmsRun cfg file at runtime.", # (CRAB3)
146
+ 10042: "Unable to stage-in wrapper tarball.", # (CRAB3)
147
+ 10043: "Unable to bootstrap WMCore libraries (most likely site python is broken).", # (CRAB3)
148
+ 11001: "Error during job bootstrap: A sandbox must be specified", # (WMA)
149
+ 11002: "Error during job bootstrap: A job index must be specified", # (WMA)
150
+ 11003: "Error during job bootstrap: VO_CMS_SW_DIR, OSG_APP, CVMFS or /cvmfs were not found.", # (WMA)
151
+ 11004: "Error during job bootstrap: job environment does not contain the init.sh script.", # (WMA)
152
+ 11005: "Error during job bootstrap: python isn't available on the worker node.", # (WMA)
153
+ 50110: "Executable file is not found.", # (WMA)
154
+ 50111: "Executable file has no exe permissions.", # (WMA)
155
+ 50113: "Executable did not get enough arguments.", # (CRAB3)
156
+ 50115: "cmsRun did not produce a valid job report at runtime (often means cmsRun segfaulted).", # (WMA, CRAB3)
157
+ 50116: "Could not determine exit code of cmsRun executable at runtime.", # (WMA)
158
+ 50513: "Failure to run SCRAM setup scripts.", # (WMA, CRAB3)
159
+ 50660: "Application terminated by wrapper because using too much RAM (PSS).", # (WMA, CRAB3)
160
+ 50662: "Application terminated by wrapper because using too much disk.", # (CRAB3)
161
+ 50664: "Application terminated by wrapper because using too much Wall Clock time.", # (WMA, CRAB3)
162
+ 50665: "Application terminated by wrapper because it stay idle too long.", # (CRAB3)
163
+ 50666: "Job removed by condor for unknown reasons.", # (WMA, CRAB3)
164
+ 50669: "Application terminated by wrapper for not defined reason.", # (CRAB3)
165
+ 60302: "Output file(s) not found.", # (CRAB3)
166
+ 60307: "General failure during files stage out.", # (WMA, CRAB3)
167
+ 60311: "Local Stage Out Failure using site specific plugin.", # (WMA, CRAB3)
168
+ 60312: "Failure in staging in log files during log collection (WMAgent).", # (WMA)
169
+ 60313: "Failed to clean up any files that were no longer needed (WMAgent).", # (WMA)
170
+ 60315: "StageOut initialisation error (Due to TFC, SITECONF etc).", # (WMA)
171
+ 60317: "Forced timeout for stuck stage out.", # (To be used in CRAB3/ASO)
172
+ 60318: "Internal error in Crab cmscp.py stageout script.", # (CRAB3)
173
+ 60319: "Failed to do AlcaHarvest stageout.", # (WMA)
174
+ 60320: "Failure to communicate with ASO server.", # (CRAB3)
175
+ 60321: "Site related issue: no space, SE down, refused connection.", # (To be used in CRAB3/ASO)
176
+ 60322: "User is not authorized to write to destination site.", # (To be used in CRAB3/ASO)
177
+ 60323: "User quota exceeded.", # (To be used in CRAB3/ASO)
178
+ 60324: "Other stageout exception.", # (To be used in CRAB3/ASO)
179
+ 60401: "Failure to assemble LFN in direct-to-merge (WMAgent).", # (WMA)
180
+ 60403: "Timeout during files stage out.", # (WMA, CRAB3)
181
+ 60404: "Timeout during staging of log archives- status unknown (WMAgent).", # (WMA)
182
+ 60405: "General failure to stage out log archives (WMAgent).", # (WMA)
183
+ 60407: "Timeout in staging in log files during log collection (WMAgent).", # (WMA)
184
+ 60408: "Failure to stage out of log files during log collection (WMAgent).", # (WMA)
185
+ 60409: "Timeout in stage out of log files during log collection (WMAgent).", # (WMA)
186
+ 60450: "No output files present in the report", # (WMA)
187
+ 60451: "Output file lacked adler32 checksum (WMAgent).", # (WMA)
188
+ 70318: "Failure in DQM upload.",
189
+ 70452: "No run/lumi information in file (WMAgent).",
190
+ 71101: "No sites are available to submit the job because the location of its input(s) do not pass the site whitelist/blacklist restrictions (WMAgent).",
191
+ 71102: "The job can only run at a site that is currently in Aborted state (WMAgent).",
192
+ 71103: "The job can run only at a site that is currently in Draining state (WMAgent).",
193
+ 71104: "JobSubmitter component could not find a job pickle object.",
194
+ 71105: "JobSubmitter component loaded an empty job pickle object.",
195
+ 71300: "The job was killed by the WMAgent, reason is unknown (WMAgent).",
196
+ 71301: "The job was killed by WMAgent because the site it was supposed to run at was set to Aborted (WMAgent).",
197
+ 71302: "The job was killed by WMAgent because the site it was supposed to run at was set to Draining (WMAgent).",
198
+ 71303: "The job was killed by WMAgent because the site it was supposed to run at was set to Down (WMAgent).",
199
+ 71304: "The job was killed by the WMAgent for using too much wallclock time (WMAgent) Job status was Running.",
200
+ 71305: "The job was killed by the WMAgent for using too much wallclock time (WMAgent) Job status was Pending.",
201
+ 71306: "The job was killed by the WMAgent for using too much wallclock time (WMAgent) Job status was Error.",
202
+ 71307: "The job was killed by the WMAgent for using too much wallclock time (WMAgent) Job status was Unkown.",
203
+ 80000: "Internal error in CRAB job wrapper.", # CRAB3
204
+ 80001: "No exit code set by job wrapper.", # CRAB3
205
+ 80453: "Unable to determine pset hash from output file (CRAB3).",
206
+ 90000: "Error in CRAB3 post-processing step (includes basically errors in stage out and file metadata upload).", # CRAB3 TODO: Need to separate. new stageout errors are 60321-60324 and other needed for file metadata.
207
+ 99108: "Skipping this step due to a failure in a previous one.", # WMA
208
+ 99109: "Uncaught exception in WMAgent step executor.", # WMA TODO: Maybe move to 7****?
209
+ 99303: "Job failed and the original job report got lost",
210
+ 99304: "Could not find jobCache directory. Job will be failed",
211
+ 99305: "Found single input file with too many events to be processed in a pilot lifetime",
212
+ 99400: "Job is killed by condor_rm or SYSTEM_PERIODIC_REMOVE",
213
+ 99401: "Job is killed by unknown reason ",
214
+ 99996: "Failed to find a step report in the worker node",
215
+ 99997: "Failed to load job report",
216
+ 99998: "Job report with size 0",
217
+ 99999: "Some generic error with the job report"
218
+ }
219
+
220
+ # ======================================================================
221
+ # Removed error codes and messages which are not used. (Review date: 2015-12-04)
222
+ # ======================================================================
223
+ # 10001: "LD_LIBRARY_PATH is not defined.",
224
+ # 10002: "Failed to setup LCG_LD_LIBRAR_PATH.",
225
+ # 10016: "OSG $WORKING_DIR could not be created.",
226
+ # 10017: "OSG $WORKING_DIR could not be deleted.",
227
+ # 10018: "OSG $WORKING_DIR could not be deleted.",
228
+ # 10020: "Shell script cmsset_default.sh to setup cms environment is not found.",
229
+ # 10021: "Failed to scram application project using the afs release area.",
230
+ # 10022: "Failed to scram application project using CMS sw disribution on the LCG2.",
231
+ # 10030: "Middleware not identified.",
232
+ # 10033: "Platform is incompatible with the scram version.",
233
+ # 10035: "Scram Project Command Failed.", Not used
234
+ # 10036: "Scram Runtime Command Failed.",
235
+ # 10037: "Failed to find cms_site_config file in software area.",
236
+ # 10038: "Failed to find cms_site_catalogue.sh file in software area.",
237
+ # 10039: "cms_site_catalogue.sh failed to provide the catalogue.",
238
+ # 10041: "fail to find valid client for output stage out.",
239
+ # 50112: "User executable shell file is not found.",
240
+ # 50114: "OSG $WORKING_DIR could not be deleted.",
241
+ # 50117: "Could not update exit code in job report (a variation of 50115).",
242
+ # 50663: "Application terminated by wrapper because using too much CPU time.", Not used
243
+ # 50700: "Job Wrapper did not produce any usable output file.", Not used
244
+ # 50800: "Application segfaulted (likely user code problem).", Not used
245
+ # 50998: "Problem calculating file details (i.e. size, checksum etc).", Not used
246
+ # 50999: "OSG $WORKING_DIR could not be deleted.", Not used
247
+ # 60300: "Either OutputSE or OutputSE_DIR not defined.",
248
+ # 60301: "Neither zip nor tar exists.",
249
+ # 60303: "File already exists on the SE.",
250
+ # 60304: "Failed to create the summary file (production).",
251
+ # 60305: "Failed to create a zipped archive (production).",
252
+ # 60306: "Failed to copy and register output file.",
253
+ # 60308: "An output file was saved to fall back local SE after failing to copy to remote SE.",
254
+ # 60309: "Failed to create an output directory in the catalogue.",
255
+ # 60310: "Failed to register an output file in the catalogue.",
256
+ # 60313: "Failed to delete the output from the previous run via lcg-del command.", # Mh.. only lcg-del? Not used
257
+ # 60314: "Failed to invoke ProdAgent StageOut Script.", Not used
258
+ # 60316: "Failed to create a directory on the SE.", Not used
259
+ # 60317: "Forced timeout for stuck stage out.", # (To be used in CRAB3/ASO)
260
+ # 60402: "Failure to assemble LFN in direct-to-merge by event (WMAgent).", # (WMA)
261
+ # 60406: "Failure in staging in log files during log collection (WMAgent).", Not used
262
+ # 60410: "Failure in deleting log files in log collection (WMAgent).", # Not used
263
+ # 60411: "Timeout in deleting log files in log collection (WMAgent).", # Not used
264
+ # 60514: "PreScriptFailure.", # Not used anymore
265
+ # 60515: "PreScriptScramFailure.", # Not used anymore
266
+ # 60999: "SG $WORKING_DIR could not be deleted.", # Not used
267
+ # 70000: "Output_sandbox too big for WMS: output can not be retrieved.", Not used
268
+ # 70500: "Warning: problem with ModifyJobReport.", # More details here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabFaq#Exit_code_70500 Not used!
269
+ # ======================================================================