mas-cli 21.9.0__tar.gz → 21.9.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 (198) hide show
  1. {mas_cli-21.9.0/python/src/mas_cli.egg-info → mas_cli-21.9.2}/PKG-INFO +1 -1
  2. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/__init__.py +1 -1
  3. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/cli.py +1 -1
  4. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/app.py +0 -3
  5. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/aiservice/instance.py +41 -8
  6. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/aiservice/tenant.py +4 -4
  7. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/app.py +13 -1
  8. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/arg_parser.py +1 -1
  9. mas_cli-21.9.2/python/src/mas/cli/must_gather/dependencies/rhoai.py +129 -0
  10. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/ibm-mas-tekton.yaml +135 -144
  11. {mas_cli-21.9.0 → mas_cli-21.9.2/python/src/mas_cli.egg-info}/PKG-INFO +1 -1
  12. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas_cli.egg-info/SOURCES.txt +1 -0
  13. {mas_cli-21.9.0 → mas_cli-21.9.2}/LICENSE +0 -0
  14. {mas_cli-21.9.0 → mas_cli-21.9.2}/README.md +0 -0
  15. {mas_cli-21.9.0 → mas_cli-21.9.2}/pyproject.toml +0 -0
  16. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/README.md +0 -0
  17. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/__main__.py +0 -0
  18. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/install/__init__.py +0 -0
  19. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/install/app.py +0 -0
  20. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/install/argBuilder.py +0 -0
  21. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/install/argParser.py +0 -0
  22. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/install/params.py +0 -0
  23. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/install/summarizer.py +0 -0
  24. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/upgrade/__init__.py +0 -0
  25. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/upgrade/app.py +0 -0
  26. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/aiservice/upgrade/argParser.py +0 -0
  27. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/backup/__init__.py +0 -0
  28. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/backup/app.py +0 -0
  29. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/backup/argParser.py +0 -0
  30. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/displayMixins.py +0 -0
  31. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/gencfg.py +0 -0
  32. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/__init__.py +0 -0
  33. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/argBuilder.py +0 -0
  34. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/argParser.py +0 -0
  35. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/catalogs.py +0 -0
  36. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/facilities/agents.py +0 -0
  37. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/params.py +0 -0
  38. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/settings/__init__.py +0 -0
  39. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/settings/additionalConfigs.py +0 -0
  40. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/settings/aiSettings.py +0 -0
  41. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/settings/db2Settings.py +0 -0
  42. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/settings/kafkaSettings.py +0 -0
  43. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/settings/manageSettings.py +0 -0
  44. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/settings/mongodbSettings.py +0 -0
  45. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/install/summarizer.py +0 -0
  46. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/mirror/__init__.py +0 -0
  47. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/mirror/app.py +0 -0
  48. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/mirror/argParser.py +0 -0
  49. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/mirror/config.py +0 -0
  50. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/__init__.py +0 -0
  51. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/aiservice/__init__.py +0 -0
  52. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/aiservice/pipelines.py +0 -0
  53. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/argo/__init__.py +0 -0
  54. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/argo/applications.py +0 -0
  55. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/collection_plan.py +0 -0
  56. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/__init__.py +0 -0
  57. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/coreapi.py +0 -0
  58. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/crd_processor.py +0 -0
  59. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/parallel.py +0 -0
  60. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/pod_exec.py +0 -0
  61. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/pods.py +0 -0
  62. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/reconcile_logs.py +0 -0
  63. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/resources.py +0 -0
  64. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/secrets.py +0 -0
  65. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/task_generation.py +0 -0
  66. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/common/thread_safe_client.py +0 -0
  67. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/__init__.py +0 -0
  68. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/cert_manager.py +0 -0
  69. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/cp4d.py +0 -0
  70. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/db2.py +0 -0
  71. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/grafana.py +0 -0
  72. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/kafka.py +0 -0
  73. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/mongodb.py +0 -0
  74. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/sls.py +0 -0
  75. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/dependencies/utils.py +0 -0
  76. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/mas/apps.py +0 -0
  77. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/mas/core.py +0 -0
  78. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/mas/licensing.py +0 -0
  79. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/mas/manage.py +0 -0
  80. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/mas/network_tests.py +0 -0
  81. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/mas/pipelines.py +0 -0
  82. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/mas/version.py +0 -0
  83. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/ocp/__init__.py +0 -0
  84. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/ocp/airgap.py +0 -0
  85. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/ocp/cluster.py +0 -0
  86. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/ocp/marketplace.py +0 -0
  87. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/ocp/nodes.py +0 -0
  88. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/output.py +0 -0
  89. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/parallel_executor.py +0 -0
  90. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/summarizer/__init__.py +0 -0
  91. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/summarizer/licensing.py +0 -0
  92. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/summarizer/nodes.py +0 -0
  93. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/summarizer/subscriptions.py +0 -0
  94. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/summarizer/suite.py +0 -0
  95. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/timer.py +0 -0
  96. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/web_viewer/__init__.py +0 -0
  97. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/web_viewer/__main__.py +0 -0
  98. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/must_gather/web_viewer/templates/viewer.html +0 -0
  99. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/pre_install/__init__.py +0 -0
  100. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/pre_install/app.py +0 -0
  101. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/pre_install/argParser.py +0 -0
  102. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/rbac_utils.py +0 -0
  103. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/restore/__init__.py +0 -0
  104. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/restore/app.py +0 -0
  105. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/restore/argParser.py +0 -0
  106. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/setup_rbac/__init__.py +0 -0
  107. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/setup_rbac/app.py +0 -0
  108. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/setup_rbac/argParser.py +0 -0
  109. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/aicfg.yml.j2 +0 -0
  110. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/facilities-configs.yml.j2 +0 -0
  111. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/jdbccfg.yml.j2 +0 -0
  112. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-data-dictionary-assetdatadictionary.yml +0 -0
  113. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-bascfg.yml +0 -0
  114. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-coreidp.yml +0 -0
  115. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-actions.yml +0 -0
  116. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-auth.yml +0 -0
  117. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-datapower.yml +0 -0
  118. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-devops.yml +0 -0
  119. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dm.yml +0 -0
  120. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dsc.yml +0 -0
  121. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-edgeconfig.yml +0 -0
  122. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-fpl.yml +0 -0
  123. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-guardian.yml +0 -0
  124. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-iot.yml +0 -0
  125. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mbgx.yml +0 -0
  126. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mfgx.yml +0 -0
  127. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-monitor.yml +0 -0
  128. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-orgmgmt.yml +0 -0
  129. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-provision.yml +0 -0
  130. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-registry.yml +0 -0
  131. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-state.yml +0 -0
  132. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-webui.yml +0 -0
  133. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextaccelerator.yml +0 -0
  134. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextworkspace.yml +0 -0
  135. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-imagestitching.yml +0 -0
  136. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageaccelerators.yml +0 -0
  137. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageapp.yml +0 -0
  138. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageworkspace.yml +0 -0
  139. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-slackproxy.yml +0 -0
  140. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-pushnotificationcfg.yml +0 -0
  141. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-scimcfg.yml +0 -0
  142. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-slscfg.yml +0 -0
  143. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-smtpcfg.yml +0 -0
  144. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-suite.yml +0 -0
  145. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-visualinspection.yml +0 -0
  146. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/best-effort/ibm-sls-licenseservice.yml +0 -0
  147. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-data-dictionary-assetdatadictionary.yml +0 -0
  148. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-bascfg.yml +0 -0
  149. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-coreidp.yml +0 -0
  150. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-actions.yml +0 -0
  151. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-auth.yml +0 -0
  152. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-datapower.yml +0 -0
  153. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-devops.yml +0 -0
  154. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dm.yml +0 -0
  155. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dsc.yml +0 -0
  156. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-edgeconfig.yml +0 -0
  157. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-fpl.yml +0 -0
  158. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-guardian.yml +0 -0
  159. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-iot.yml +0 -0
  160. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mbgx.yml +0 -0
  161. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mfgx.yml +0 -0
  162. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-monitor.yml +0 -0
  163. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-orgmgmt.yml +0 -0
  164. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-provision.yml +0 -0
  165. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-registry.yml +0 -0
  166. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-state.yml +0 -0
  167. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-webui.yml +0 -0
  168. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextaccelerator.yml +0 -0
  169. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextworkspace.yml +0 -0
  170. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-imagestitching.yml +0 -0
  171. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageaccelerators.yml +0 -0
  172. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageapp.yml +0 -0
  173. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageworkspace.yml +0 -0
  174. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-slackproxy.yml +0 -0
  175. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-pushnotificationcfg.yml +0 -0
  176. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-scimcfg.yml +0 -0
  177. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-slscfg.yml +0 -0
  178. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-smtpcfg.yml +0 -0
  179. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-suite.yml +0 -0
  180. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-visualinspection.yml +0 -0
  181. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/pod-templates/guaranteed/ibm-sls-licenseservice.yml +0 -0
  182. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/templates/suite_mongocfg.yml.j2 +0 -0
  183. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/uninstall/__init__.py +0 -0
  184. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/uninstall/app.py +0 -0
  185. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/uninstall/argParser.py +0 -0
  186. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/update/__init__.py +0 -0
  187. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/update/app.py +0 -0
  188. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/update/argParser.py +0 -0
  189. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/upgrade/__init__.py +0 -0
  190. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/upgrade/app.py +0 -0
  191. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/upgrade/argParser.py +0 -0
  192. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/upgrade/settings/__init__.py +0 -0
  193. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas/cli/validators.py +0 -0
  194. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas_cli.egg-info/dependency_links.txt +0 -0
  195. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas_cli.egg-info/entry_points.txt +0 -0
  196. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas_cli.egg-info/requires.txt +0 -0
  197. {mas_cli-21.9.0 → mas_cli-21.9.2}/python/src/mas_cli.egg-info/top_level.txt +0 -0
  198. {mas_cli-21.9.0 → mas_cli-21.9.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mas-cli
3
- Version: 21.9.0
3
+ Version: 21.9.2
4
4
  Summary: Python Admin CLI for Maximo Application Suite
5
5
  Author-email: David Parker <parkerda@uk.ibm.com>
6
6
  License-Expression: EPL-1.0
@@ -10,4 +10,4 @@
10
10
 
11
11
  from .cli import BaseApp # noqa: F401
12
12
 
13
- __version__ = "21.9.0" # Python module compatible semver
13
+ __version__ = "21.9.2" # Python module compatible semver
@@ -126,7 +126,7 @@ class BaseApp(PrintMixin, PromptMixin):
126
126
  logging.getLogger("urllib3").setLevel(logging.INFO)
127
127
 
128
128
  # Supports extended semver, unlike mas.cli.__version__
129
- self.version: str = "21.9.0"
129
+ self.version: str = "21.9.2"
130
130
  self.h1count: int = 0
131
131
  self.h2count: int = 0
132
132
 
@@ -273,11 +273,8 @@ class InstallApp(
273
273
 
274
274
  # Generate catalogTable
275
275
  for application, key in applications.items():
276
- # Add 9.1-feature channel based off 9.0 to those apps that have not onboarded yet
277
276
  if key in self.chosenCatalog:
278
277
  tempChosenCatalog = self.chosenCatalog[key].copy()
279
- if "9.1.x-feature" not in tempChosenCatalog and "9.0.x" in tempChosenCatalog:
280
- tempChosenCatalog.update({"9.1.x-feature": tempChosenCatalog["9.0.x"]})
281
278
 
282
279
  self.catalogTable.append({"": application} | {key.replace(".x", ""): value for key, value in sorted(tempChosenCatalog.items(), reverse=True)})
283
280
 
@@ -17,6 +17,18 @@ from kubernetes.dynamic import DynamicClient
17
17
 
18
18
  logger = logging.getLogger(__name__)
19
19
 
20
+ # Tekton resources to collect (both v1 and v1beta1 for compatibility)
21
+ TEKTON_RESOURCES = [
22
+ ("tekton.dev/v1", "Pipeline"),
23
+ ("tekton.dev/v1", "PipelineRun"),
24
+ ("tekton.dev/v1", "Task"),
25
+ ("tekton.dev/v1", "TaskRun"),
26
+ ("tekton.dev/v1beta1", "Pipeline"),
27
+ ("tekton.dev/v1beta1", "PipelineRun"),
28
+ ("tekton.dev/v1beta1", "Task"),
29
+ ("tekton.dev/v1beta1", "TaskRun"),
30
+ ]
31
+
20
32
 
21
33
  def discoverAIServiceInstances(dynClient: DynamicClient, instanceIds: Optional[str] = None) -> List[str]:
22
34
  """Discover AI Service instances in the cluster.
@@ -111,7 +123,7 @@ def _generateAIServiceSummary(dynClient: DynamicClient, namespace: str, outputFi
111
123
  f.write("-" * 80 + "\n")
112
124
  try:
113
125
  api = dynClient.resources.get(api_version="aiservice.ibm.com/v1", kind="AIServiceTenant")
114
- tenants = api.get(namespace=namespace)
126
+ tenants = api.get()
115
127
  if tenants.items:
116
128
  for tenant in tenants.items:
117
129
  f.write(f"Name: {tenant.metadata.name}\n")
@@ -133,8 +145,8 @@ def addAIServiceToCollectionPlan(plan, dynClient: DynamicClient, outputDir: str,
133
145
  """Add AI Service collection tasks to the collection plan.
134
146
 
135
147
  Discovers AI Service instances and for each instance, adds collection groups for:
136
- - The instance namespace (mas-{instance}-aiservice)
137
- - Tenant namespaces (mas-{instance}-aiservice-{tenant})
148
+ - The instance namespace (aiservice-{instance})
149
+ - Tenant namespaces (aiservice-{instance}-{tenant})
138
150
  - Pipeline namespaces (aiservice-{instance}-pipelines)
139
151
 
140
152
  Args:
@@ -147,6 +159,7 @@ def addAIServiceToCollectionPlan(plan, dynClient: DynamicClient, outputDir: str,
147
159
  from mas.cli.must_gather.common.task_generation import generateNamespaceCollectionTasks
148
160
  from mas.cli.must_gather.aiservice import tenant as aiservice_tenant
149
161
  from mas.cli.must_gather.aiservice import pipelines as aiservice_pipelines
162
+ from mas.cli.must_gather.common import generateReconcileLogsCollectionTasks
150
163
 
151
164
  logger.info("Discovering AI Service instances")
152
165
  try:
@@ -155,7 +168,7 @@ def addAIServiceToCollectionPlan(plan, dynClient: DynamicClient, outputDir: str,
155
168
  logger.info(f"Discovered {len(instanceIds)} AI Service instance(s): {', '.join(sorted(instanceIds))}")
156
169
  for instanceId in sorted(instanceIds):
157
170
  # Generate tasks for AI Service instance namespace
158
- instanceNamespace = f"mas-{instanceId}-aiservice"
171
+ instanceNamespace = f"aiservice-{instanceId}"
159
172
  tasks = generateNamespaceCollectionTasks(
160
173
  dynClient=dynClient,
161
174
  namespace=instanceNamespace,
@@ -165,27 +178,47 @@ def addAIServiceToCollectionPlan(plan, dynClient: DynamicClient, outputDir: str,
165
178
  customResources=None,
166
179
  ibmCRDs=ibmCRDs,
167
180
  )
181
+
182
+ # Add AI Service specific reconcile logs tasks
183
+ operators = [
184
+ (instanceNamespace, "control-plane", "ibm-aiservice"),
185
+ (instanceNamespace, "aiservice.ibm.com/appType", "entitymgr-tenant-operator"),
186
+ (instanceNamespace, "control-plane", "controller-manager"),
187
+ (instanceNamespace, "operator", "ibm-truststore-mgr"),
188
+ ]
189
+ tasks.extend(generateReconcileLogsCollectionTasks(operators, outputDir))
190
+
168
191
  plan.addGroup(f"AI Service Instance ({instanceId})", tasks)
169
192
  logger.debug(f"Added {len(tasks)} AI Service instance collection tasks for {instanceId}")
170
193
 
171
194
  # Discover tenants for this instance
195
+ # Discover InferenceServices created by each tenant
196
+ ISVC_RESOURCES = [("serving.kserve.io/v1beta1", "InferenceService")]
172
197
  logger.debug(f"Discovering AI Service tenants for instance {instanceId}")
173
198
  try:
174
199
  tenantIds = aiservice_tenant.discoverAIServiceTenants(dynClient, instanceId=instanceId)
175
200
  if tenantIds:
176
201
  logger.info(f"Discovered {len(tenantIds)} AI Service tenant(s) for instance {instanceId}: {', '.join(sorted(tenantIds))}")
177
202
  for tenantId in sorted(tenantIds):
178
- tenantNamespace = f"mas-{instanceId}-aiservice-{tenantId}"
179
203
  # Generate tasks for AI Service tenant namespace
180
204
  tasks = generateNamespaceCollectionTasks(
181
205
  dynClient=dynClient,
182
- namespace=tenantNamespace,
206
+ namespace=tenantId,
183
207
  outputDir=outputDir,
184
208
  noLogs=noLogs,
185
209
  secretData=False,
186
- customResources=None,
210
+ customResources=ISVC_RESOURCES,
187
211
  ibmCRDs=ibmCRDs,
188
212
  )
213
+
214
+ # Add AI Service tenant specific reconcile logs tasks
215
+ operators = [
216
+ (tenantId, "control-plane", "ibm-aiservice-tenant"),
217
+ (tenantId, "control-plane", "controller-manager"),
218
+ (tenantId, "operator", "ibm-truststore-mgr"),
219
+ ]
220
+ tasks.extend(generateReconcileLogsCollectionTasks(operators, outputDir))
221
+
189
222
  plan.addGroup(f"AI Service Tenant ({instanceId}/{tenantId})", tasks)
190
223
  logger.debug(f"Added {len(tasks)} AI Service tenant collection tasks for {instanceId}/{tenantId}")
191
224
  else:
@@ -209,7 +242,7 @@ def addAIServiceToCollectionPlan(plan, dynClient: DynamicClient, outputDir: str,
209
242
  outputDir=outputDir,
210
243
  noLogs=noLogs,
211
244
  secretData=False,
212
- customResources=None,
245
+ customResources=TEKTON_RESOURCES,
213
246
  ibmCRDs=ibmCRDs,
214
247
  )
215
248
  plan.addGroup(f"AI Service Pipelines ({pipelineNamespace})", tasks)
@@ -32,21 +32,21 @@ def discoverAIServiceTenants(dynClient: DynamicClient, instanceId: str, tenantId
32
32
  List[str]: List of AI Service tenant IDs
33
33
  """
34
34
  tenants = []
35
- namespace = f"aiservice-{instanceId}"
36
35
 
37
36
  try:
38
37
  api = dynClient.resources.get(api_version="aiservice.ibm.com/v1", kind="AIServiceTenant")
39
- aiserviceTenants = api.get(namespace=namespace)
38
+ label_selector = f"aiservice.ibm.com/instanceId={instanceId}"
39
+ aiserviceTenants = api.get(label_selector=label_selector)
40
40
 
41
41
  for tenantCr in aiserviceTenants.items:
42
42
  tenantId = tenantCr.metadata.name
43
43
  if tenantId not in tenants:
44
44
  tenants.append(tenantId)
45
45
 
46
- logger.info(f"Discovered {len(tenants)} AI Service tenants in namespace {namespace}")
46
+ logger.info(f"Discovered {len(tenants)} AI Service tenants")
47
47
 
48
48
  except Exception as e:
49
- logger.debug(f"Could not discover AI Service tenants in {namespace}: {e}")
49
+ logger.debug(f"Could not discover AI Service tenants: {e}")
50
50
 
51
51
  # Filter by tenant IDs if provided
52
52
  if tenantIds:
@@ -281,7 +281,7 @@ class MustGatherApp(BaseApp):
281
281
  CollectionPlan: Complete plan with all collection tasks organized into groups
282
282
  """
283
283
  from .collection_plan import CollectionPlan
284
- from .dependencies import kafka, mongodb, grafana, cert_manager, db2, cp4d
284
+ from .dependencies import kafka, mongodb, grafana, cert_manager, db2, cp4d, rhoai
285
285
 
286
286
  # Type assertion: dynClient is guaranteed to be non-None by connect()
287
287
  assert self.dynamicClient is not None, "Kubernetes client must be initialized before planning collection"
@@ -380,6 +380,18 @@ class MustGatherApp(BaseApp):
380
380
  else:
381
381
  logger.debug("Skipping CP4D collection (not in collectors list)")
382
382
 
383
+ # Red Hat OpenShift AI
384
+ if "rhoai" in enabledCollectors:
385
+ rhoai.addRHOAIToCollectionPlan(
386
+ plan=plan,
387
+ dynClient=self.dynamicClient,
388
+ outputDir=outputDir,
389
+ noLogs=parsedArgs.no_logs,
390
+ ibmCRDs=self.ibmCRDsList,
391
+ )
392
+ else:
393
+ logger.debug("Skipping Red Hat OpenShift AI collection (not in collectors list)")
394
+
383
395
  # SLS
384
396
  if "sls" in enabledCollectors:
385
397
  masInstanceIds = parsedArgs.mas_instance_ids.split(",") if parsedArgs.mas_instance_ids else None
@@ -72,7 +72,7 @@ def _parse_args_wrapper(args=None, namespace=None):
72
72
 
73
73
 
74
74
  # Define all available collectors
75
- ALL_COLLECTORS = ["ocp", "db2", "kafka", "mongodb", "cp4d", "cert-manager", "grafana", "sls", "mas", "aiservice", "lic"]
75
+ ALL_COLLECTORS = ["ocp", "db2", "kafka", "mongodb", "cp4d", "cert-manager", "grafana", "sls", "mas", "rhoai", "aiservice", "lic"]
76
76
 
77
77
 
78
78
  def validateCollectors(collectorsStr: str) -> str:
@@ -0,0 +1,129 @@
1
+ # *****************************************************************************
2
+ # Copyright (c) 2026 IBM Corporation and other Contributors.
3
+ #
4
+ # All rights reserved. This program and the accompanying materials
5
+ # are made available under the terms of the Eclipse Public License v1.0
6
+ # which accompanies this distribution, and is available at
7
+ # http://www.eclipse.org/legal/epl-v10.html
8
+ #
9
+ # *****************************************************************************
10
+
11
+ """Red Hat OpenShift AI dependency collector."""
12
+
13
+ import logging
14
+ from typing import Set, List, Tuple, Optional
15
+ from kubernetes.dynamic import DynamicClient
16
+
17
+ from mas.cli.must_gather.common.task_generation import generateNamespaceCollectionTasks
18
+ from .utils import checkNamespaceExists
19
+
20
+ logger = logging.getLogger(__name__)
21
+
22
+ # ODH Resources that are provided by RHOAI operator and used by AI Service
23
+ ODH_RESOURCES = [
24
+ ("datasciencecluster.opendatahub.io/v1", "DataScienceCluster"),
25
+ ("dscinitialization.opendatahub.io/v1", "DSCInitialization"),
26
+ ("components.platform.opendatahub.io/v1alpha1", "Kserve"),
27
+ ("components.platform.opendatahub.io/v1alpha1", "ModelController"),
28
+ ("services.platform.opendatahub.io/v1alpha1", "Auth"),
29
+ ]
30
+
31
+
32
+ def _discoverRHOAINamespaces(dynClient: DynamicClient) -> Set[str]:
33
+ """Discover Red Hat OpenShift AI namespaces.
34
+
35
+ Checks for standard RHOAI namespaces and returns those that exist.
36
+ RHOAI typically uses these namespaces:
37
+ - redhat-ods-operator: Operator namespace
38
+ - redhat-ods-applications: Applications namespace
39
+
40
+ Args:
41
+ dynClient (DynamicClient): Kubernetes Dynamic Client for API access
42
+
43
+ Returns:
44
+ set: Set of RHOAI namespace names that exist in the cluster
45
+ """
46
+ # RHOAI namespaces to check
47
+ candidateNamespaces = ["redhat-ods-operator", "redhat-ods-applications"]
48
+
49
+ discoveredNamespaces = set()
50
+ for namespace in candidateNamespaces:
51
+ if checkNamespaceExists(dynClient, namespace):
52
+ discoveredNamespaces.add(namespace)
53
+ logger.debug(f"Found RHOAI namespace: {namespace}")
54
+
55
+ return discoveredNamespaces
56
+
57
+
58
+ def _generateRHOAICollectionTasks(
59
+ dynClient: DynamicClient,
60
+ namespace: str,
61
+ outputDir: str,
62
+ noLogs: bool = False,
63
+ customResources: Optional[List[Tuple[str, str]]] = None,
64
+ ibmCRDs: Optional[List[Tuple[str, str]]] = None,
65
+ ) -> List[Tuple]:
66
+ """Generate collection tasks for a RHOAI namespace.
67
+
68
+ Creates a list of collection tasks that can be executed in parallel
69
+ for collecting RHOAI resources from a specific namespace.
70
+
71
+ Args:
72
+ dynClient (DynamicClient): Kubernetes Dynamic Client for API access
73
+ namespace (str): Target namespace for collection
74
+ outputDir (str): Base output directory for collected resources
75
+ noLogs (bool, optional): If True, skip pod log collection. Defaults to False.
76
+ customResources (list, optional): Custom CRD tuples (apiVersion, kind) specific to this namespace type. Defaults to None.
77
+ ibmCRDs (list, optional): List of IBM CRD tuples (apiVersion, kind) to collect. Defaults to None.
78
+
79
+ Returns:
80
+ list: List of task tuples in format (task_name, func, *args)
81
+ """
82
+
83
+ # Use common namespace collection task generation
84
+ tasks = generateNamespaceCollectionTasks(
85
+ dynClient=dynClient,
86
+ namespace=namespace,
87
+ outputDir=outputDir,
88
+ noLogs=noLogs,
89
+ secretData=False,
90
+ customResources=customResources,
91
+ ibmCRDs=ibmCRDs,
92
+ )
93
+
94
+ return tasks
95
+
96
+
97
+ def addRHOAIToCollectionPlan(plan, dynClient: DynamicClient, outputDir: str, noLogs: bool, ibmCRDs: list):
98
+ """Add RHOAI collection tasks to the collection plan.
99
+
100
+ Discovers RHOAI namespaces and adds collection groups for each namespace
101
+ to the provided collection plan.
102
+
103
+ Args:
104
+ plan (CollectionPlan): Collection plan to add tasks to
105
+ dynClient (DynamicClient): Kubernetes Dynamic Client for API access
106
+ outputDir (str): Base output directory for collected resources
107
+ noLogs (bool): If True, skip pod log collection
108
+ ibmCRDs (list): List of IBM CRD information for collection
109
+ """
110
+ logger.info("💭 Discovering Red Hat OpenShift AI namespaces")
111
+ try:
112
+ rhoaiNamespaces = _discoverRHOAINamespaces(dynClient)
113
+ if rhoaiNamespaces:
114
+ logger.debug(f"Discovered {len(rhoaiNamespaces)} RHOAI namespace(s): {', '.join(sorted(rhoaiNamespaces))}")
115
+ for ns in sorted(rhoaiNamespaces):
116
+ tasks = _generateRHOAICollectionTasks(
117
+ dynClient=dynClient,
118
+ namespace=ns,
119
+ outputDir=outputDir,
120
+ noLogs=noLogs,
121
+ customResources=ODH_RESOURCES if ns == "redhat-ods-applications" else None,
122
+ ibmCRDs=ibmCRDs,
123
+ )
124
+ plan.addGroup(f"Red Hat OpenShift AI ({ns})", tasks)
125
+ logger.debug(f"✅ {ns}: Added {len(tasks)} collection tasks")
126
+ else:
127
+ logger.warning("⚠️ No Red Hat OpenShift AI namespaces discovered")
128
+ except Exception as e:
129
+ logger.error(f"❌ RHOAI discovery failed: {e}")