CTADIRAC 3.2.0__tar.gz → 3.2.2__tar.gz

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.
Files changed (561) hide show
  1. {ctadirac-3.2.0/src/CTADIRAC.egg-info → ctadirac-3.2.2}/PKG-INFO +1 -1
  2. ctadirac-3.2.2/docs/changes/361.bugfix.rst +1 -0
  3. {ctadirac-3.2.0 → ctadirac-3.2.2}/pyproject.toml +2 -0
  4. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ConfigurationSystem/Agent/Rucio2CSAgent.py +63 -50
  5. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/_version.py +3 -3
  6. {ctadirac-3.2.0 → ctadirac-3.2.2/src/CTADIRAC.egg-info}/PKG-INFO +1 -1
  7. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC.egg-info/SOURCES.txt +1 -0
  8. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC.egg-info/scm_file_list.json +1 -0
  9. ctadirac-3.2.2/src/CTADIRAC.egg-info/scm_version.json +8 -0
  10. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/configuration_system/agent/test_rucio2cs_agent.py +52 -30
  11. ctadirac-3.2.0/src/CTADIRAC.egg-info/scm_version.json +0 -8
  12. {ctadirac-3.2.0 → ctadirac-3.2.2}/CODEOWNERS +0 -0
  13. {ctadirac-3.2.0 → ctadirac-3.2.2}/LICENCE +0 -0
  14. {ctadirac-3.2.0 → ctadirac-3.2.2}/MANIFEST.in +0 -0
  15. {ctadirac-3.2.0 → ctadirac-3.2.2}/README.md +0 -0
  16. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-config.yml +0 -0
  17. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/.gitlab/issue_templates/Default.md +0 -0
  18. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/.gitlab/merge_request_templates/Default.md +0 -0
  19. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/CHANGES.rst +0 -0
  20. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/LICENSE +0 -0
  21. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/Makefile +0 -0
  22. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/README.md +0 -0
  23. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/aiv-config-dependencies.yml +0 -0
  24. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/aiv-config.yml +0 -0
  25. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/Chart.yaml +0 -0
  26. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/scripts/certificates/generate_certificates.sh +0 -0
  27. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/scripts/certificates/install_ca.sh +0 -0
  28. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/scripts/certificates/openssl_config_ca.cnf +0 -0
  29. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/scripts/tests/test_logs.py +0 -0
  30. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/templates/NOTES.txt +0 -0
  31. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/templates/_helpers.tpl +0 -0
  32. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/templates/bootstrap_jobs.yaml +0 -0
  33. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/templates/roles.yaml +0 -0
  34. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/templates/tests/test-certificates.yaml +0 -0
  35. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/values.schema.json +0 -0
  36. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/cert-generator-grid/values.yaml +0 -0
  37. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/testkit/Chart.yaml +0 -0
  38. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/testkit/scripts/testsvc.py +0 -0
  39. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/testkit/templates/cm.yaml +0 -0
  40. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/testkit/templates/pvc.yaml +0 -0
  41. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/testkit/templates/testkit.yaml +0 -0
  42. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/testkit/templates/wait_for_fluentbit.yaml +0 -0
  43. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/testkit/values.schema.json +0 -0
  44. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/charts/testkit/values.yaml +0 -0
  45. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-build.yml +0 -0
  46. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-changelog.yml +0 -0
  47. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-common.yml +0 -0
  48. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-cwl.yml +0 -0
  49. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-docs.yml +0 -0
  50. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-functions.yml +0 -0
  51. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-helpers.yml +0 -0
  52. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-lint.yml +0 -0
  53. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-precommit.yml +0 -0
  54. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-publish-pypi.yml +0 -0
  55. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-publish.yml +0 -0
  56. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-sonar.yml +0 -0
  57. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-test.yml +0 -0
  58. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-testreport.yml +0 -0
  59. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/ci-workflow-rules.yml +0 -0
  60. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/cicheck.sh +0 -0
  61. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/details.md +0 -0
  62. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docker-image/Dockerfile +0 -0
  63. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docker-image/kubernetes.repo +0 -0
  64. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/Makefile +0 -0
  65. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/best-practices.rst +0 -0
  66. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/changelog.rst +0 -0
  67. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/changes/README.md +0 -0
  68. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/changes/template.rst +0 -0
  69. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/conf.py +0 -0
  70. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/config.rst +0 -0
  71. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/build.rst +0 -0
  72. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/changelog.rst +0 -0
  73. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/cwl.rst +0 -0
  74. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/docs.rst +0 -0
  75. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/index.rst +0 -0
  76. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/lint.rst +0 -0
  77. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/precommit.rst +0 -0
  78. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/publish.rst +0 -0
  79. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/pypi.rst +0 -0
  80. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/sonar.rst +0 -0
  81. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/test-report.rst +0 -0
  82. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/gitlab-ci/tests.rst +0 -0
  83. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/index.rst +0 -0
  84. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/quick-start.rst +0 -0
  85. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/reference.rst +0 -0
  86. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/docs/support.rst +0 -0
  87. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/pre-upgrade-patches/mock.patch +0 -0
  88. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/pyproject.toml +0 -0
  89. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/Makefile +0 -0
  90. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/ComputingDocument.mk +0 -0
  91. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/Dockerfile +0 -0
  92. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/Makefile.template +0 -0
  93. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/README.md +0 -0
  94. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/computing_references.bib +0 -0
  95. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/ctacomputing.cls +0 -0
  96. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/latexmkrc +0 -0
  97. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/cc-by-nc-sa-eu.pdf +0 -0
  98. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/ctao_acada.pdf +0 -0
  99. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/ctao_basic.pdf +0 -0
  100. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/ctao_consortium.pdf +0 -0
  101. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/ctao_dpps.pdf +0 -0
  102. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/ctao_lst.pdf +0 -0
  103. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/ctao_mst.pdf +0 -0
  104. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/ctao_sst.pdf +0 -0
  105. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/logos/ctao_suss.pdf +0 -0
  106. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/plantuml +0 -0
  107. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/test_document/Makefile +0 -0
  108. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/test_document/example_document.tex +0 -0
  109. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/computing-latex-class/tex-packages.txt +0 -0
  110. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/ExampleLaTeX/Makefile +0 -0
  111. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/ExampleLaTeX/example.tex +0 -0
  112. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/FullGlossary/CTA-LIS-COM-000000-0001_Computing_Glossary_DRAFT.tex +0 -0
  113. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/FullGlossary/Makefile +0 -0
  114. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/FullGlossary/README.md +0 -0
  115. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/Outdated/glossary-from-jama.yaml +0 -0
  116. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/README.md +0 -0
  117. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/computing-latex-class/README.md +0 -0
  118. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/computing-latex-class/computing_references.bib +0 -0
  119. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/computing-latex-class/ctacomputing.cls +0 -0
  120. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/computing-latex-class/example_document.tex +0 -0
  121. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/computing-latex-class/latexmkrc +0 -0
  122. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/computing-latex-class/logos/cta_basic.pdf +0 -0
  123. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/computing-latex-class/logos/cta_branded.pdf +0 -0
  124. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/computing-latex-class/tex-packages.txt +0 -0
  125. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-acada.yaml +0 -0
  126. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-ace.yaml +0 -0
  127. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-calibpipe.yaml +0 -0
  128. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-computing.yaml +0 -0
  129. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-dpps.yaml +0 -0
  130. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-general.yaml +0 -0
  131. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-hardware.yaml +0 -0
  132. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-simulations.yaml +0 -0
  133. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-suss.yaml +0 -0
  134. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-systemsengineering.yaml +0 -0
  135. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/glossary-to-latex.py +0 -0
  136. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/schema.yaml +0 -0
  137. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/cta-computing-glossary/suggest-glossary-items.py +0 -0
  138. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/inspection.tex +0 -0
  139. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/manual_testing.tex +0 -0
  140. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/performance_verification.tex +0 -0
  141. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/preamble.tex +0 -0
  142. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/references.bib +0 -0
  143. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/test_report.tex +0 -0
  144. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/report/tex-packages.txt +0 -0
  145. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/repositories.yaml +0 -0
  146. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/sonar-project.properties +0 -0
  147. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/__init__.py +0 -0
  148. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/argparser.py +0 -0
  149. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/__init__.py +0 -0
  150. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/cli.py +0 -0
  151. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/coderevision.py +0 -0
  152. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/config.py +0 -0
  153. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/deps.py +0 -0
  154. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/__init__.py +0 -0
  155. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/coverage.py +0 -0
  156. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/customization.py +0 -0
  157. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/dependencies.py +0 -0
  158. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/dependencies_detailed.py +0 -0
  159. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/integration_tests.py +0 -0
  160. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/pylint.py +0 -0
  161. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/sonarqube.py +0 -0
  162. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/sonarqube_details.py +0 -0
  163. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/toolkitinfo.py +0 -0
  164. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/traceability_matrix.py +0 -0
  165. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/generators/unittests.py +0 -0
  166. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/jama/__init__.py +0 -0
  167. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/jama/base.py +0 -0
  168. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/jama/items.py +0 -0
  169. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/jama/projects.py +0 -0
  170. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/jama/session.py +0 -0
  171. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/junit.py +0 -0
  172. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/latex.py +0 -0
  173. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/manual.py +0 -0
  174. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/projectinfo.py +0 -0
  175. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/releaseplan.py +0 -0
  176. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/tests.py +0 -0
  177. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/autoreport/ucreqids.py +0 -0
  178. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/cli.py +0 -0
  179. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/cwl.py +0 -0
  180. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/__init__.py +0 -0
  181. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/cli.py +0 -0
  182. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/helm.py +0 -0
  183. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/images.py +0 -0
  184. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/kind.py +0 -0
  185. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/random_names.py +0 -0
  186. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/resources/Corefile +0 -0
  187. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/tools.py +0 -0
  188. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/deploy/utils.py +0 -0
  189. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/git.py +0 -0
  190. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/gitlab.py +0 -0
  191. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/install.py +0 -0
  192. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/log.py +0 -0
  193. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/pretty.py +0 -0
  194. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/runcmd.py +0 -0
  195. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/aivkit/version.py +0 -0
  196. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/config/values-alt.yaml +0 -0
  197. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/conftest.py +0 -0
  198. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_autoreport_cli.py +0 -0
  199. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_cli.py +0 -0
  200. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_coderevision.py +0 -0
  201. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_config.py +0 -0
  202. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_cwl_patch.py +0 -0
  203. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_deploy_build.py +0 -0
  204. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_deploy_cli.py +0 -0
  205. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_deploy_helm.py +0 -0
  206. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_deploy_kind.py +0 -0
  207. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_deploy_make.py +0 -0
  208. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_deploy_tools.py +0 -0
  209. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_fullrepos.py +0 -0
  210. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_gitlab.py +0 -0
  211. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_jama.py +0 -0
  212. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_joburls.py +0 -0
  213. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_kitinfo.py +0 -0
  214. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_manual_claims.py +0 -0
  215. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_parse_artifacts.py +0 -0
  216. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_release_plan.py +0 -0
  217. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_runcmd.py +0 -0
  218. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_sonarqube.py +0 -0
  219. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/src/tests/test_version.py +0 -0
  220. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/Chart.yaml +0 -0
  221. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/templates/_helpers.tpl +0 -0
  222. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/templates/frontend.yaml +0 -0
  223. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/templates/job.yaml +0 -0
  224. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/templates/pod.yaml +0 -0
  225. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/templates/roles.yaml +0 -0
  226. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/templates/serviceaccount.yaml +0 -0
  227. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/templates/tests/test_pod.yaml +0 -0
  228. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/templates/tests/test_python.yaml +0 -0
  229. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/tests/test_playwrite.py +0 -0
  230. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test-chart/values.yaml +0 -0
  231. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test_files/coverage.xml +0 -0
  232. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test_files/pylint.json +0 -0
  233. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test_files/pylint.log +0 -0
  234. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/test_files/report.xml +0 -0
  235. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/workflow_tests/cwlcall.py +0 -0
  236. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/workflow_tests/test_cwl.py +0 -0
  237. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/workflows/echo-tool.cwl +0 -0
  238. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/workflows/echo-workflow.cwl +0 -0
  239. {ctadirac-3.2.0 → ctadirac-3.2.2}/aiv-toolkit/workflows/subdir/echo-tool-container.cwl +0 -0
  240. {ctadirac-3.2.0 → ctadirac-3.2.2}/ctadirac_requirements_traceability_matrix.csv +0 -0
  241. {ctadirac-3.2.0 → ctadirac-3.2.2}/docs/Makefile +0 -0
  242. {ctadirac-3.2.0 → ctadirac-3.2.2}/docs/changes/template.rst +0 -0
  243. {ctadirac-3.2.0 → ctadirac-3.2.2}/docs/conf.py +0 -0
  244. {ctadirac-3.2.0 → ctadirac-3.2.2}/docs/contribute.rst +0 -0
  245. {ctadirac-3.2.0 → ctadirac-3.2.2}/docs/fake_storage.rst +0 -0
  246. {ctadirac-3.2.0 → ctadirac-3.2.2}/docs/index.rst +0 -0
  247. {ctadirac-3.2.0 → ctadirac-3.2.2}/docs/introduction.rst +0 -0
  248. {ctadirac-3.2.0 → ctadirac-3.2.2}/environment.yml +0 -0
  249. {ctadirac-3.2.0 → ctadirac-3.2.2}/pylint.log +0 -0
  250. {ctadirac-3.2.0 → ctadirac-3.2.2}/release.notes +0 -0
  251. {ctadirac-3.2.0 → ctadirac-3.2.2}/releases.cfg +0 -0
  252. {ctadirac-3.2.0 → ctadirac-3.2.2}/report/inspection.tex +0 -0
  253. {ctadirac-3.2.0 → ctadirac-3.2.2}/report/performance_verification.tex +0 -0
  254. {ctadirac-3.2.0 → ctadirac-3.2.2}/report/preamble.tex +0 -0
  255. {ctadirac-3.2.0 → ctadirac-3.2.2}/resources/examples/dl0_to_dl2_example.yml +0 -0
  256. {ctadirac-3.2.0 → ctadirac-3.2.2}/resources/examples/mc_example.yml +0 -0
  257. {ctadirac-3.2.0 → ctadirac-3.2.2}/resources/examples/process_corsika_with_sim_telarray.yml +0 -0
  258. {ctadirac-3.2.0 → ctadirac-3.2.2}/resources/examples/testJob.py +0 -0
  259. {ctadirac-3.2.0 → ctadirac-3.2.2}/resources/install_CTADIRAC.md +0 -0
  260. {ctadirac-3.2.0 → ctadirac-3.2.2}/resources/install_client.md +0 -0
  261. {ctadirac-3.2.0 → ctadirac-3.2.2}/resources/install_site_desy.cfg +0 -0
  262. {ctadirac-3.2.0 → ctadirac-3.2.2}/setup.cfg +0 -0
  263. {ctadirac-3.2.0 → ctadirac-3.2.2}/sonar-project.properties +0 -0
  264. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ConfigurationSystem/Agent/StorageMonitorAgent.py +0 -0
  265. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ConfigurationSystem/Agent/__init__.py +0 -0
  266. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ConfigurationSystem/ConfigTemplate.cfg +0 -0
  267. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ConfigurationSystem/__init__.py +0 -0
  268. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/Utilities/SoftwareManager.py +0 -0
  269. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/Utilities/__init__.py +0 -0
  270. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/Utilities/return_values.py +0 -0
  271. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/Utilities/tool_box.py +0 -0
  272. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/Utilities/typer_callbacks.py +0 -0
  273. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/Workflow/Modules/ProdDataManager.py +0 -0
  274. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/Workflow/Modules/__init__.py +0 -0
  275. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/Workflow/__init__.py +0 -0
  276. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/__init__.py +0 -0
  277. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/__init__.py +0 -0
  278. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_dms_check_lfn.py +0 -0
  279. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_dms_register_virtual_lfn.py +0 -0
  280. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_job_get_parameter.py +0 -0
  281. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_add_dataset.py +0 -0
  282. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_add_file.py +0 -0
  283. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_check_replicas.py +0 -0
  284. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_create_dataset_description.py +0 -0
  285. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_create_evndisp_dataset_description.py +0 -0
  286. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_dump_dataset.py +0 -0
  287. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_failure_monitor.py +0 -0
  288. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_find_datasets.py +0 -0
  289. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_fix_nsb.py +0 -0
  290. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_get_file.py +0 -0
  291. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_get_file_by_query.py +0 -0
  292. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_get_file_size.py +0 -0
  293. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_get_merge_size.py +0 -0
  294. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_get_replicas.py +0 -0
  295. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_get_se_status.py +0 -0
  296. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_git_clone.py +0 -0
  297. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_managedata.py +0 -0
  298. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_mark_corrupted_DL0.py +0 -0
  299. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_monitor.py +0 -0
  300. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_dl2.py +0 -0
  301. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_file.py +0 -0
  302. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_remove_dataset.py +0 -0
  303. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_remove_file.py +0 -0
  304. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_remove_replica.py +0 -0
  305. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_replicate_lfn.py +0 -0
  306. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_set_metadata.py +0 -0
  307. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_setup_software.py +0 -0
  308. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_show_dataset.py +0 -0
  309. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset.py +0 -0
  310. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset_bulk.py +0 -0
  311. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_unregister_file.py +0 -0
  312. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_unregister_replica.py +0 -0
  313. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_update_dataset.py +0 -0
  314. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_prod_verifysteps.py +0 -0
  315. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_rms_request.py +0 -0
  316. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_add_files.py +0 -0
  317. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_clean.py +0 -0
  318. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_delete.py +0 -0
  319. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_get_files.py +0 -0
  320. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_get_tasks.py +0 -0
  321. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset.py +0 -0
  322. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset_status.py +0 -0
  323. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_move_files.py +0 -0
  324. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_remove_dataset.py +0 -0
  325. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_remove_files.py +0 -0
  326. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_remove_replicas.py +0 -0
  327. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_select.py +0 -0
  328. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_show_progress.py +0 -0
  329. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_treat_done_tasks.py +0 -0
  330. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_treat_failed_tasks.py +0 -0
  331. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_treat_incomplete_transfers.py +0 -0
  332. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_transformation_treat_problematic_files.py +0 -0
  333. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Core/scripts/cta_user_managedata.py +0 -0
  334. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTADMSRequestOperationsBase.py +0 -0
  335. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARegisterReplica.py +0 -0
  336. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARemoveReplica.py +0 -0
  337. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTAReplicateAndRegister.py +0 -0
  338. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/__init__.py +0 -0
  339. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/DataManagementSystem/Agent/__init__.py +0 -0
  340. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/DataManagementSystem/__init__.py +0 -0
  341. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/CTAJob.py +0 -0
  342. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/CWLJob.py +0 -0
  343. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/CtapipeApplyModelsJob.py +0 -0
  344. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/CtapipeMergeJob.py +0 -0
  345. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/CtapipeProcessJob.py +0 -0
  346. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/CtapipeTrainClassifierJob.py +0 -0
  347. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/CtapipeTrainEnergyJob.py +0 -0
  348. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/EvnDispJob.py +0 -0
  349. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/MCPipeJob.py +0 -0
  350. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/MCSimTelProcessJob.py +0 -0
  351. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/SimPipeJob.py +0 -0
  352. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/API/__init__.py +0 -0
  353. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/Utilities/CWLTranslator.py +0 -0
  354. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/Utilities/CWLUtilities.py +0 -0
  355. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Interfaces/__init__.py +0 -0
  356. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/CWLUtils.py +0 -0
  357. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflow.py +0 -0
  358. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflowStep.py +0 -0
  359. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/README.md +0 -0
  360. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/__init__.py +0 -0
  361. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata-processing.yml +0 -0
  362. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.cwl +0 -0
  363. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.yml +0 -0
  364. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper +0 -0
  365. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
  366. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
  367. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.cwl +0 -0
  368. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.yml +0 -0
  369. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/setup-software-processing.yml +0 -0
  370. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/setup-software.cwl +0 -0
  371. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/setup-software.yml +0 -0
  372. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.cwl +0 -0
  373. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.png +0 -0
  374. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.yml +0 -0
  375. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/Client/Utilities/__init__.py +0 -0
  376. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/Client/Utilities/production_utils.py +0 -0
  377. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/Client/WorkflowElement.py +0 -0
  378. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/Client/__init__.py +0 -0
  379. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/DB/ProductionDB.py +0 -0
  380. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/DB/__init__.py +0 -0
  381. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/Service/ProductionManagerHandler.py +0 -0
  382. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/__init__.py +0 -0
  383. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/__init__.py +0 -0
  384. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/processing_config_from_meta_query.yml +0 -0
  385. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/dl0_to_dl2.yml +0 -0
  386. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/merge.yml +0 -0
  387. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/dl0_to_dl2.yml +0 -0
  388. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/merge.yml +0 -0
  389. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
  390. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/merge.yml +0 -0
  391. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
  392. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/merge.yml +0 -0
  393. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/apply_models.yml +0 -0
  394. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/dl0_to_dl2.yml +0 -0
  395. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/merge.yml +0 -0
  396. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_classifier.yml +0 -0
  397. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_energy.yml +0 -0
  398. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/dl0_to_dl2.yml +0 -0
  399. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/merge.yml +0 -0
  400. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/apply_models.yml +0 -0
  401. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
  402. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/merge.yml +0 -0
  403. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_classifier.yml +0 -0
  404. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_energy.yml +0 -0
  405. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/apply_models.yml +0 -0
  406. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
  407. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/merge.yml +0 -0
  408. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_classifier.yml +0 -0
  409. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_energy.yml +0 -0
  410. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
  411. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/merge.yml +0 -0
  412. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
  413. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/merge.yml +0 -0
  414. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/apply_models.yml +0 -0
  415. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
  416. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/merge.yml +0 -0
  417. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_classifier.yml +0 -0
  418. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_energy.yml +0 -0
  419. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/apply_models.yml +0 -0
  420. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
  421. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/merge.yml +0 -0
  422. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_classifier.yml +0 -0
  423. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_energy.yml +0 -0
  424. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/apply_models_all_div.yml +0 -0
  425. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.0022.yml +0 -0
  426. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.0043.yml +0 -0
  427. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.008.yml +0 -0
  428. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.01135.yml +0 -0
  429. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.01453.yml +0 -0
  430. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0022.yml +0 -0
  431. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0043.yml +0 -0
  432. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.008.yml +0 -0
  433. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01135.yml +0 -0
  434. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01453.yml +0 -0
  435. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_classifier_all_div.yml +0 -0
  436. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_energy_all_div.yml +0 -0
  437. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/simulation/sim_test.yml +0 -0
  438. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/scripts/__init__.py +0 -0
  439. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_config.py +0 -0
  440. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_evndisp_config.py +0 -0
  441. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_get_all.py +0 -0
  442. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit.py +0 -0
  443. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl.py +0 -0
  444. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl_workflow.py +0 -0
  445. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/ProductionSystem/test/test_launcher_from_cwl.py +0 -0
  446. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Resources/Storage/FakeStorage.py +0 -0
  447. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/Agent/TransformationFailoverAgent.py +0 -0
  448. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/Agent/__init__.py +0 -0
  449. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/ConfigTemplate.cfg +0 -0
  450. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/DB/TransformationDB.py +0 -0
  451. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/DB/__init__.py +0 -0
  452. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/Service/TornadoTransformationManagerHandler.py +0 -0
  453. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/Service/TransformationManagerHandler.py +0 -0
  454. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/Service/__init__.py +0 -0
  455. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/TransformationSystem/Utils/FailoverUtilities.py +0 -0
  456. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Workflow/Modules/__init__.py +0 -0
  457. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Workflow/Modules/cta_script.py +0 -0
  458. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Workflow/Modules/cta_update_ts.py +0 -0
  459. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/Workflow/__init__.py +0 -0
  460. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/WorkloadManagementSystem/Client/CTAODownloadInputData.py +0 -0
  461. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/WorkloadManagementSystem/Client/__init__.py +0 -0
  462. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/WorkloadManagementSystem/__init__.py +0 -0
  463. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/__init__.py +0 -0
  464. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/_dev/__init__.py +0 -0
  465. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC/version.py +0 -0
  466. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC.egg-info/dependency_links.txt +0 -0
  467. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC.egg-info/entry_points.txt +0 -0
  468. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC.egg-info/requires.txt +0 -0
  469. {ctadirac-3.2.0 → ctadirac-3.2.2}/src/CTADIRAC.egg-info/top_level.txt +0 -0
  470. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/basic_workflow/data-generation.cwl +0 -0
  471. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/basic_workflow/gaussian-fit-workflow.cwl +0 -0
  472. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/basic_workflow/gaussian-fit.cwl +0 -0
  473. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/basic_workflow/inputs-gaussian-fit-complete.yaml +0 -0
  474. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/complex_workflow/calibpipe-camcalib-tool.cwl +0 -0
  475. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/complex_workflow/camera_calibration_inputs.yaml +0 -0
  476. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/complex_workflow/ctapipe-merge-tool.cwl +0 -0
  477. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/complex_workflow/ctapipe-pix-stats-tool.cwl +0 -0
  478. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/complex_workflow/ctapipe-process-tool.cwl +0 -0
  479. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/complex_workflow/perform-camera-calibration.cwl +0 -0
  480. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/complex_workflow/utils/copy-file.cwl +0 -0
  481. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/complex_workflow/utils/select-input.cwl +0 -0
  482. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool/inputs_process_multiple.yaml +0 -0
  483. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool/internal/output_names.cwl +0 -0
  484. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool/merge.cwl +0 -0
  485. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool/process_dl0_dl1.cwl +0 -0
  486. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool/process_dl0_dl1_multiple.cwl +0 -0
  487. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool_scatter/inputs_process_multiple.yaml +0 -0
  488. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool_scatter/internal/output_names.cwl +0 -0
  489. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool_scatter/merge.cwl +0 -0
  490. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1.cwl +0 -0
  491. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1_multiple.cwl +0 -0
  492. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml +0 -0
  493. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/scatter_feat_requirement/merge.cwl +0 -0
  494. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1.cwl +0 -0
  495. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1_multiple.cwl +0 -0
  496. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/single_command_line_tool/inputs_process_dl0_dl1.yaml +0 -0
  497. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/single_command_line_tool/process_dl0_dl1.cwl +0 -0
  498. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/step_input_requirement/inputs_workflow_dl0_to_dl2.yaml +0 -0
  499. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/step_input_requirement/process_dl0_dl1.cwl +0 -0
  500. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/step_input_requirement/process_dl1_dl2.cwl +0 -0
  501. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/resources/cwl/step_input_requirement/workflow_dl0_to_dl2.cwl +0 -0
  502. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/cta-prod-managedata-processing.yml +0 -0
  503. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/cta-prod-managedata.cwl +0 -0
  504. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/cta-prod-managedata.yml +0 -0
  505. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/dirac_ctapipe-process_wrapper +0 -0
  506. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
  507. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
  508. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/dirac_prod_run +0 -0
  509. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/dirac_prod_run.cwl +0 -0
  510. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/dirac_prod_run.yml +0 -0
  511. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/setup-software-processing.yml +0 -0
  512. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/setup-software.cwl +0 -0
  513. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/CWL/setup-software.yml +0 -0
  514. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/config/full_production_config.yml +0 -0
  515. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/config/processing_merging_config_from_dataset.yml +0 -0
  516. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/config/production_config.yml +0 -0
  517. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/datasets/Prod5b_LaPalma_AdvancedBaseline_NSB1x_electron_North_20deg_R1.json +0 -0
  518. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/datasets/Prod6_Paranal_gamma_South_20deg.json +0 -0
  519. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/runTestSuite.py +0 -0
  520. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/testDMSDefinitions.py +0 -0
  521. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/testFileCatalogDefinitions.py +0 -0
  522. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/testJobDefinitions.py +0 -0
  523. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/testJobUtils.py +0 -0
  524. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/testProdDefinitions.py +0 -0
  525. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/testSuiteDefinition.py +0 -0
  526. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/system/testTransDefinitions.py +0 -0
  527. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/api/__init__.py +0 -0
  528. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/api/test_cwl_job.py +0 -0
  529. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/api/test_cwl_translator.py +0 -0
  530. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/api/test_cwl_utils.py +0 -0
  531. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/api/test_job.py +0 -0
  532. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/core/utilities/test_tool_box.py +0 -0
  533. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/core/workflow/modules/test_prod_data_manager.py +0 -0
  534. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/production/__init__.py +0 -0
  535. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/production/test_prod_submit_utils.py +0 -0
  536. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/production/test_workflow_element.py +0 -0
  537. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/resources/storage/test_fake_storage.py +0 -0
  538. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/scripts/core/test_cta_dms_register_virtual_lfn.py +0 -0
  539. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/scripts/core/test_cta_get_job_parameter.py +0 -0
  540. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/scripts/production_system/test_production_scripts.py +0 -0
  541. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/scripts/test_typer_callbacks.py +0 -0
  542. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/test_dummy.py +0 -0
  543. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/transformation/agent/test_transformation_agents.py +0 -0
  544. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/transformation/agent/test_transformation_failover_utils.py +0 -0
  545. {ctadirac-3.2.0 → ctadirac-3.2.2}/tests/unit/workload_management/client/test_ctao_download_inputdata.py +0 -0
  546. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/ci/env/coverage.yml +0 -0
  547. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/cvmfs/build_corsika-77410-original.sh +0 -0
  548. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/cvmfs/build_corsika-77410.sh +0 -0
  549. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/README.md +0 -0
  550. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/bin/install-ctadirac-server.sh +0 -0
  551. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/caUtilities/openssl_config_ca.cnf +0 -0
  552. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/caUtilities/openssl_config_host.cnf +0 -0
  553. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/caUtilities/openssl_config_user.cnf +0 -0
  554. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/caUtilities/utilities.sh +0 -0
  555. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/files/EGI-trustanchors.repo +0 -0
  556. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/files/dirac_example.cfg +0 -0
  557. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/files/kill_runsv.sh +0 -0
  558. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/files/runsvdir-start +0 -0
  559. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/files/runsvdir-start.service +0 -0
  560. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/files/site.conf +0 -0
  561. {ctadirac-3.2.0 → ctadirac-3.2.2}/utils/deploy/files/web_app_example.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CTADIRAC
3
- Version: 3.2.0
3
+ Version: 3.2.2
4
4
  Summary: CTADIRAC is an extension of the DIRAC interware for dedicated CTA usage.
5
5
  Author-email: Luisa Arrabito <arrabito@in2p3.fr>
6
6
  License: BSD 3-Clause License
@@ -0,0 +1 @@
1
+ Fix Rucio2CS agent in case no StorageElements are configured.
@@ -81,6 +81,8 @@ extend-select = [
81
81
  ignore = [
82
82
  "COM812", # incompatible with ruff format
83
83
  "ISC001", # incompatible with ruff format
84
+ "G004", # DIRAC logging cannot use lazy formatting
85
+ "N999", # DIRAC does not follow usual naming conventions
84
86
  ]
85
87
 
86
88
  [tool.ruff.lint.pydocstyle]
@@ -1,6 +1,4 @@
1
- """
2
- Rucio2CSAgent
3
- """
1
+ """Rucio2CSAgent."""
4
2
 
5
3
  from DIRAC import S_ERROR, S_OK, gConfig
6
4
  from DIRAC.ConfigurationSystem.Client.CSAPI import CSAPI
@@ -9,21 +7,32 @@ from rucio.client import Client
9
7
 
10
8
 
11
9
  class Rucio2CSAgent(AgentModule):
12
- """
13
- DIRAC Agent to synchronize Rucio RSEs to DIRAC CS
14
- """
10
+ """DIRAC Agent to synchronize Rucio RSEs to DIRAC CS."""
15
11
 
16
12
  def initialize(self):
17
- """
18
- Initialise the agent
19
- """
13
+ """Initialise the agent."""
20
14
  self.log.info("Starting Rucio2CS")
21
15
  return S_OK()
22
16
 
17
+ @staticmethod
18
+ def get_known_rses() -> list[str]:
19
+ """Get names of known Rucio StorageElements."""
20
+ # Retrieve existing SEs
21
+ existing_ses = gConfig.getSections("/Resources/StorageElements")
22
+ if not existing_ses["OK"]:
23
+ return []
24
+
25
+ if existing_ses["Value"] is None:
26
+ return []
27
+
28
+ return [
29
+ se
30
+ for se in existing_ses["Value"]
31
+ if gConfig.getValue(f"/Resources/StorageElements/{se}/RucioSE", False)
32
+ ]
33
+
23
34
  def execute(self):
24
- """
25
- Synchronize Rucio RSEs to DIRAC CS
26
- """
35
+ """Synchronize Rucio RSEs to DIRAC CS."""
27
36
  # - Rucio Client Creation
28
37
  try:
29
38
  rucio_client = Client()
@@ -45,17 +54,7 @@ class Rucio2CSAgent(AgentModule):
45
54
  )
46
55
  return S_ERROR(result["Message"])
47
56
 
48
- # - RSEs Synchronization
49
- # Retrieve existing SEs
50
- existing_ses = gConfig.getSections("/Resources/StorageElements")
51
- existing_rses = []
52
- for se in existing_ses["Value"]:
53
- is_rucio_se = gConfig.getValue(
54
- f"/Resources/StorageElements/{se}/RucioSE", False
55
- )
56
- if is_rucio_se:
57
- existing_rses.append(se)
58
-
57
+ existing_rses = self.get_known_rses()
59
58
  # Retrieve all RSEs
60
59
  rses = [rse["rse"] for rse in rucio_client.list_rses()]
61
60
 
@@ -65,6 +64,8 @@ class Rucio2CSAgent(AgentModule):
65
64
  cs_api.delSection(f"/Resources/StorageElements/{rse}")
66
65
  self.log.debug(f"Deleted stale RSE from CS: {rse}")
67
66
 
67
+ sites_rses = {}
68
+ sites_paths = {}
68
69
  # Add or update the RSEs from Rucio
69
70
  for rse in rses:
70
71
  try:
@@ -78,8 +79,12 @@ class Rucio2CSAgent(AgentModule):
78
79
  # Retrieve the RSE details from Rucio
79
80
  self.sync_details(cs_api, rucio_client, rse, se_path)
80
81
 
81
- # Retrieve the RSE attributes from Rucio
82
- self.sync_attributes(cs_api, rucio_client, rse)
82
+ # Retrieve the DIRAC-SITE attribute from Rucio
83
+ dirac_site, site_path = self._retrieve_dirac_site(rucio_client, rse)
84
+ sites_paths[dirac_site] = site_path
85
+ if dirac_site not in sites_rses:
86
+ sites_rses[dirac_site] = set()
87
+ sites_rses[dirac_site].add(rse)
83
88
 
84
89
  # Retrieve the RSE protocols from Rucio
85
90
  self.sync_protocols(cs_api, rucio_client, rse, se_path)
@@ -90,6 +95,8 @@ class Rucio2CSAgent(AgentModule):
90
95
  sVarMsg=f"[RSE: {rse}, Error: {err!s}]",
91
96
  )
92
97
  continue
98
+ # One-time sync DIRAC-SITES
99
+ self.sync_sites(cs_api, sites_paths, sites_rses)
93
100
 
94
101
  # Apply changes to DIRAC CS
95
102
  result = cs_api.commit()
@@ -104,9 +111,7 @@ class Rucio2CSAgent(AgentModule):
104
111
  return S_OK()
105
112
 
106
113
  def sync_details(self, cs_api, rucio_client, rse, se_path):
107
- """
108
- Synchronize all Rucio RSEs details to DIRAC CS SEs
109
- """
114
+ """Synchronize all Rucio RSEs details to DIRAC CS SEs."""
110
115
  rse_details = rucio_client.get_rse(rse)
111
116
 
112
117
  result = cs_api.setOption(f"{se_path}/RucioSE", True)
@@ -132,33 +137,19 @@ class Rucio2CSAgent(AgentModule):
132
137
  )
133
138
  self.log.debug(result["Value"])
134
139
 
135
- def sync_attributes(self, cs_api, rucio_client, rse):
136
- """
137
- Synchronize all Rucio RSEs attributes to DIRAC CS SEs
138
- """
140
+ @staticmethod
141
+ def _retrieve_dirac_site(rucio_client, rse):
142
+ """Retrieve DIRAC-SITE attribute from a RSE."""
139
143
  rse_attributes = rucio_client.list_rse_attributes(rse)
140
144
  dirac_site = rse_attributes.get("DIRAC-SITE")
141
- if dirac_site:
142
- site_prefix = dirac_site.split(".")[0]
143
- site_path = f"/Resources/Sites/{site_prefix}/{dirac_site}/SE"
144
-
145
- site_ses = gConfig.getValue(site_path)
146
- existing_site_ses = (
147
- [s.strip() for s in site_ses.split(",")] if site_ses else []
148
- )
149
- if rse not in existing_site_ses:
150
- existing_site_ses.append(rse)
151
- site_ses = ", ".join(existing_site_ses)
152
-
153
- result = cs_api.setOption(site_path, site_ses)
154
- self.log.debug(result["Value"])
155
- else:
145
+ if not dirac_site:
156
146
  raise ValueError(f"RSE {rse} is missing mandatory attribute DIRAC-SITE")
147
+ site_prefix = dirac_site.split(".")[0]
148
+ site_path = f"/Resources/Sites/{site_prefix}/{dirac_site}/SE"
149
+ return dirac_site, site_path
157
150
 
158
151
  def sync_protocols(self, cs_api, rucio_client, rse, se_path):
159
- """
160
- Synchronize all Rucio RSEs protocols to DIRAC CS SEs
161
- """
152
+ """Synchronize all Rucio RSEs protocols to DIRAC CS SEs."""
162
153
  rse_protocols = rucio_client.get_protocols(rse)
163
154
  protocol_mapping = {
164
155
  "Protocol": "scheme",
@@ -222,3 +213,25 @@ class Rucio2CSAgent(AgentModule):
222
213
  extended_attributes.get(rucio_attribute),
223
214
  )
224
215
  self.log.debug(result["Value"])
216
+
217
+ def sync_sites(self, cs_api, sites_paths, sites_rses):
218
+ """Synchronize all Rucio RSEs sites to DIRAC CS sites."""
219
+ for dirac_site, rses in sites_rses.items():
220
+ site_path = sites_paths[dirac_site]
221
+ try:
222
+ site_ses = gConfig.getValue(site_path)
223
+ existing_site_ses = (
224
+ [s.strip() for s in site_ses.split(",")] if site_ses else []
225
+ )
226
+ for rse in rses:
227
+ if rse not in existing_site_ses:
228
+ existing_site_ses.append(rse)
229
+ site_ses = ", ".join(sorted(existing_site_ses))
230
+
231
+ result = cs_api.setOption(site_path, site_ses)
232
+ self.log.debug(result["Value"])
233
+ except Exception as err:
234
+ self.log.error(
235
+ sMsg="Cannot sync site RSEs into CS",
236
+ sVarMsg=f"[Site: {dirac_site}, Error: {err!s}]",
237
+ )
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '3.2.0'
22
- __version_tuple__ = version_tuple = (3, 2, 0)
21
+ __version__ = version = '3.2.2'
22
+ __version_tuple__ = version_tuple = (3, 2, 2)
23
23
 
24
- __commit_id__ = commit_id = 'g6a0070268'
24
+ __commit_id__ = commit_id = 'gfe4f935a6'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CTADIRAC
3
- Version: 3.2.0
3
+ Version: 3.2.2
4
4
  Summary: CTADIRAC is an extension of the DIRAC interware for dedicated CTA usage.
5
5
  Author-email: Luisa Arrabito <arrabito@in2p3.fr>
6
6
  License: BSD 3-Clause License
@@ -240,6 +240,7 @@ docs/contribute.rst
240
240
  docs/fake_storage.rst
241
241
  docs/index.rst
242
242
  docs/introduction.rst
243
+ docs/changes/361.bugfix.rst
243
244
  docs/changes/template.rst
244
245
  report/inspection.tex
245
246
  report/performance_verification.tex
@@ -250,6 +250,7 @@
250
250
  "aiv-toolkit/workflows/subdir/echo-tool-container.cwl",
251
251
  "ctadirac_requirements_traceability_matrix.csv",
252
252
  "docs/Makefile",
253
+ "docs/changes/361.bugfix.rst",
253
254
  "docs/changes/template.rst",
254
255
  "docs/conf.py",
255
256
  "docs/contribute.rst",
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "3.2.2",
3
+ "distance": 0,
4
+ "node": "gfe4f935a667d0e9b14b0ebe9ac54308bf2827db8",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-08-28"
8
+ }
@@ -10,7 +10,7 @@ from DIRAC import S_ERROR, S_OK
10
10
  from CTADIRAC.ConfigurationSystem.Agent.Rucio2CSAgent import Rucio2CSAgent
11
11
 
12
12
 
13
- @pytest.fixture()
13
+ @pytest.fixture
14
14
  def dirac_agent():
15
15
  """
16
16
  Rucio2CSAgent fixture
@@ -20,7 +20,7 @@ def dirac_agent():
20
20
  return agent
21
21
 
22
22
 
23
- @pytest.fixture()
23
+ @pytest.fixture
24
24
  def cs_api(monkeypatch):
25
25
  """
26
26
  CS API fixture
@@ -36,16 +36,26 @@ def cs_api(monkeypatch):
36
36
  return api
37
37
 
38
38
 
39
- @pytest.fixture()
40
- def g_config(monkeypatch):
39
+ @pytest.fixture(
40
+ params=[
41
+ pytest.param([], id="no-ses"),
42
+ pytest.param(
43
+ ["DIRAC-STORAGE", "RUCIO-STORAGE", "RUCIO-OLD-STORAGE"], id="existing-ses"
44
+ ),
45
+ ]
46
+ )
47
+ def g_config(monkeypatch, request):
41
48
  """
42
49
  Global configuration fixture
43
50
  """
44
51
  config = MagicMock()
45
52
  # all existing SEs in CS
46
- config.getSections.return_value = S_OK(
47
- ["DIRAC-STORAGE", "RUCIO-STORAGE", "RUCIO-OLD-STORAGE"]
53
+
54
+ known_ses = request.param
55
+ return_value = (
56
+ S_ERROR(message="No such section") if len(known_ses) == 0 else S_OK(known_ses)
48
57
  )
58
+ config.getSections.return_value = return_value
49
59
 
50
60
  # determine if a SE is Rucio or not
51
61
  def get_value(path, default=None):
@@ -58,10 +68,10 @@ def g_config(monkeypatch):
58
68
  monkeypatch.setattr(
59
69
  "CTADIRAC.ConfigurationSystem.Agent.Rucio2CSAgent.gConfig", config
60
70
  )
61
- return config
71
+ return known_ses
62
72
 
63
73
 
64
- @pytest.fixture()
74
+ @pytest.fixture
65
75
  def rucio_client(monkeypatch):
66
76
  """
67
77
  Rucio client fixture
@@ -70,7 +80,9 @@ def rucio_client(monkeypatch):
70
80
  # all existing SEs in Rucio
71
81
  client.list_rses.return_value = [
72
82
  {"rse": "RUCIO-STORAGE"},
73
- {"rse": "RUCIO-NEW-STORAGE"},
83
+ {"rse": "RUCIO-NEW-STORAGE-A"},
84
+ {"rse": "RUCIO-NEW-STORAGE-B"},
85
+ {"rse": "RUCIO-NEW-STORAGE-C"},
74
86
  ]
75
87
  client.get_rse.return_value = {
76
88
  "rse_type": "DISK",
@@ -80,7 +92,7 @@ def rucio_client(monkeypatch):
80
92
  }
81
93
 
82
94
  def get_attributes(rse):
83
- if rse == "RUCIO-NEW-STORAGE":
95
+ if "RUCIO-NEW-STORAGE" in rse:
84
96
  return {"DIRAC-SITE": "CTAO.DESY-ZEUTHEN.de"}
85
97
  return {}
86
98
 
@@ -137,13 +149,12 @@ def test_execute(monkeypatch, dirac_agent):
137
149
 
138
150
 
139
151
  def test_sync_rse_to_cs(dirac_agent, cs_api, g_config, rucio_client):
140
- """
141
- Create the RUCIO-NEW-STORAGE in DIRAC CS
142
- """
152
+ """Create the RUCIO-NEW-STORAGE-A in DIRAC CS"""
153
+
143
154
  result = dirac_agent.execute()
144
155
  assert result["OK"]
145
156
 
146
- se_path = "/Resources/StorageElements/RUCIO-NEW-STORAGE"
157
+ se_path = "/Resources/StorageElements/RUCIO-NEW-STORAGE-A"
147
158
  cs_api.createSection.assert_any_call(se_path)
148
159
  cs_api.setOption.assert_any_call(f"{se_path}/SEType", "T0D1")
149
160
 
@@ -152,10 +163,6 @@ def test_sync_rse_to_cs(dirac_agent, cs_api, g_config, rucio_client):
152
163
  cs_api.setOption.assert_any_call(f"{se_path}/WriteAccess", "Active")
153
164
  cs_api.setOption.assert_any_call(f"{se_path}/RemoveAccess", "Banned")
154
165
 
155
- cs_api.setOption.assert_any_call(
156
- "/Resources/Sites/CTAO/CTAO.DESY-ZEUTHEN.de/SE", "RUCIO-NEW-STORAGE"
157
- )
158
-
159
166
  protocol_path = f"{se_path}/AccessProtocol.1"
160
167
  expected_options = {
161
168
  "Protocol": "root",
@@ -181,21 +188,19 @@ def test_sync_rse_to_cs(dirac_agent, cs_api, g_config, rucio_client):
181
188
 
182
189
 
183
190
  def test_stale_rse_deleted_from_cs(dirac_agent, cs_api, g_config, rucio_client):
184
- """
185
- Delete the RUCIO-OLD-STORAGE from CS since it isn't part of Rucio list_rses() list
186
- """
191
+ """Delete the RUCIO-OLD-STORAGE from CS since it isn't part of Rucio list_rses() list"""
187
192
  result = dirac_agent.execute()
188
193
  assert result["OK"]
189
194
 
190
- cs_api.delSection.assert_called_once_with(
191
- "/Resources/StorageElements/RUCIO-OLD-STORAGE"
192
- )
195
+ known_ses = g_config
196
+ if "RUCIO-OLD-STORAGE" in known_ses:
197
+ cs_api.delSection.assert_called_once_with(
198
+ "/Resources/StorageElements/RUCIO-OLD-STORAGE"
199
+ )
193
200
 
194
201
 
195
202
  def test_cs_api_download_failure(dirac_agent, g_config, rucio_client, cs_api):
196
- """
197
- Test CS API DownloadCSData failure case
198
- """
203
+ """Test CS API DownloadCSData failure case"""
199
204
  cs_api.downloadCSData.return_value = S_ERROR("Download failed")
200
205
 
201
206
  result = dirac_agent.execute()
@@ -210,9 +215,7 @@ def test_cs_api_download_failure(dirac_agent, g_config, rucio_client, cs_api):
210
215
 
211
216
 
212
217
  def test_cs_api_commit_failure(dirac_agent, g_config, rucio_client, cs_api):
213
- """
214
- Test CS API Commit failure case
215
- """
218
+ """Test CS API Commit failure case"""
216
219
  cs_api.commit.return_value = S_ERROR("Commit failed")
217
220
 
218
221
  result = dirac_agent.execute()
@@ -224,3 +227,22 @@ def test_cs_api_commit_failure(dirac_agent, g_config, rucio_client, cs_api):
224
227
  sMsg="Cannot commit CS changes",
225
228
  sVarMsg="[Error: Commit failed]",
226
229
  )
230
+
231
+
232
+ def test_sync_multiple_rse_sites(dirac_agent, cs_api, g_config, rucio_client):
233
+ """Sync multiple RSE with same DIRAC-SITE"""
234
+ result = dirac_agent.execute()
235
+ assert result["OK"]
236
+
237
+ site_path = "/Resources/Sites/CTAO/CTAO.DESY-ZEUTHEN.de/SE"
238
+ sync_site_calls = [
239
+ call for call in cs_api.setOption.call_args_list if call.args[0] == site_path
240
+ ]
241
+ assert len(sync_site_calls) == 1
242
+
243
+ new_ses = {se.strip() for se in sync_site_calls[0].args[1].split(",")}
244
+ assert new_ses == {
245
+ "RUCIO-NEW-STORAGE-A",
246
+ "RUCIO-NEW-STORAGE-B",
247
+ "RUCIO-NEW-STORAGE-C",
248
+ }
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "3.2.0",
3
- "distance": 0,
4
- "node": "g6a0070268d8b4697566c0cb24b08e5a2eeced36a",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-08-27"
8
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes