@openshift-assisted/ui-lib 2.39.1 → 2.39.3

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 (303) hide show
  1. package/build/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts.map +1 -1
  2. package/build/@types/cim/components/helpers/versions.d.ts +0 -1
  3. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  4. package/build/@types/common/components/clusterDetail/ClusterProgressItems.d.ts.map +1 -1
  5. package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts +2 -3
  6. package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts.map +1 -1
  7. package/build/@types/common/components/clusterWizard/types.d.ts +2 -4
  8. package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
  9. package/build/@types/common/components/newFeatureSupportLevels/types.d.ts +1 -1
  10. package/build/@types/common/components/newFeatureSupportLevels/types.d.ts.map +1 -1
  11. package/build/@types/common/components/operators/operatorSpecs.d.ts +22 -0
  12. package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -0
  13. package/build/@types/common/config/constants.d.ts +2 -15
  14. package/build/@types/common/config/constants.d.ts.map +1 -1
  15. package/build/@types/common/selectors/clusterSelectors.d.ts +1 -2
  16. package/build/@types/common/selectors/clusterSelectors.d.ts.map +1 -1
  17. package/build/@types/common/types/clusters.d.ts +3 -23
  18. package/build/@types/common/types/clusters.d.ts.map +1 -1
  19. package/build/@types/common/utils.d.ts +1 -0
  20. package/build/@types/common/utils.d.ts.map +1 -1
  21. package/build/@types/ocm/components/clusterConfiguration/OcmClusterProgressItems.d.ts.map +1 -1
  22. package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts +2 -3
  23. package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts.map +1 -1
  24. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts +12 -0
  25. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts.map +1 -0
  26. package/build/@types/ocm/components/clusterConfiguration/operators/bundleSpecs.d.ts +13 -0
  27. package/build/@types/ocm/components/clusterConfiguration/operators/bundleSpecs.d.ts.map +1 -0
  28. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts +6 -8
  29. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts.map +1 -1
  30. package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts +1 -1
  31. package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts.map +1 -1
  32. package/build/@types/ocm/components/clusterConfiguration/review/ReviewSummary.d.ts.map +1 -1
  33. package/build/@types/ocm/components/clusterDetail/ProgressBarAlerts.d.ts.map +1 -1
  34. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  35. package/build/@types/ocm/components/clusterWizard/Operators.d.ts +1 -3
  36. package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
  37. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts +9 -0
  38. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts.map +1 -0
  39. package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts +9 -0
  40. package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts.map +1 -0
  41. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts +1 -1
  42. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
  43. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +1 -1
  44. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
  45. package/build/@types/ocm/components/clusters/utils.d.ts +1 -5
  46. package/build/@types/ocm/components/clusters/utils.d.ts.map +1 -1
  47. package/build/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts.map +1 -1
  48. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts +1 -8
  49. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
  50. package/build/@types/ocm/components/utils.d.ts +0 -2
  51. package/build/@types/ocm/components/utils.d.ts.map +1 -1
  52. package/build/@types/ocm/services/OperatorsService.d.ts +1 -10
  53. package/build/@types/ocm/services/OperatorsService.d.ts.map +1 -1
  54. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js +2 -1
  55. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js.map +1 -1
  56. package/build/cjs/cim/components/helpers/versions.js +3 -7
  57. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  58. package/build/cjs/common/components/clusterDetail/ClusterProgressItems.js +1 -1
  59. package/build/cjs/common/components/clusterDetail/ClusterProgressItems.js.map +1 -1
  60. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js +7 -8
  61. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -1
  62. package/build/cjs/common/components/operators/operatorSpecs.js +215 -0
  63. package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -0
  64. package/build/cjs/common/config/constants.js +6 -87
  65. package/build/cjs/common/config/constants.js.map +1 -1
  66. package/build/cjs/common/selectors/clusterSelectors.js.map +1 -1
  67. package/build/cjs/common/types/clusters.js.map +1 -1
  68. package/build/cjs/common/utils.js +6 -1
  69. package/build/cjs/common/utils.js.map +1 -1
  70. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js +1 -1
  71. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js.map +1 -1
  72. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js +1 -1
  73. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js.map +1 -1
  74. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +6 -8
  75. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -1
  76. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js +91 -0
  77. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js.map +1 -0
  78. package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js +39 -0
  79. package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js.map +1 -0
  80. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js +54 -19
  81. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js.map +1 -1
  82. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js +24 -18
  83. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js.map +1 -1
  84. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js +1 -6
  85. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js.map +1 -1
  86. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +3 -21
  87. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
  88. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +1 -1
  89. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  90. package/build/cjs/ocm/components/clusterWizard/Operators.js +11 -38
  91. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  92. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.css +6 -0
  93. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js +123 -0
  94. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js.map +1 -0
  95. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +63 -0
  96. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -0
  97. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +25 -272
  98. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  99. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +1 -4
  100. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
  101. package/build/cjs/ocm/components/clusters/utils.js +1 -14
  102. package/build/cjs/ocm/components/clusters/utils.js.map +1 -1
  103. package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js +0 -1
  104. package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js.map +1 -1
  105. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +29 -78
  106. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  107. package/build/cjs/ocm/components/utils.js +1 -10
  108. package/build/cjs/ocm/components/utils.js.map +1 -1
  109. package/build/cjs/ocm/services/OperatorsService.js +4 -64
  110. package/build/cjs/ocm/services/OperatorsService.js.map +1 -1
  111. package/lib/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.tsx +2 -1
  112. package/lib/cim/components/helpers/versions.ts +1 -5
  113. package/lib/common/components/clusterDetail/ClusterProgressItems.tsx +1 -4
  114. package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +6 -12
  115. package/lib/common/components/clusterWizard/types.ts +3 -3
  116. package/lib/common/components/newFeatureSupportLevels/types.ts +4 -1
  117. package/lib/common/components/operators/operatorSpecs.tsx +343 -0
  118. package/lib/common/config/constants.ts +5 -99
  119. package/lib/common/selectors/clusterSelectors.ts +1 -2
  120. package/lib/common/types/clusters.ts +3 -23
  121. package/lib/common/utils.ts +5 -0
  122. package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.tsx +1 -1
  123. package/lib/ocm/components/clusterConfiguration/OcmClusterProgressItems.tsx +1 -4
  124. package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +5 -10
  125. package/lib/ocm/components/clusterConfiguration/operators/OperatorCheckbox.tsx +210 -0
  126. package/lib/ocm/components/clusterConfiguration/operators/bundleSpecs.tsx +64 -0
  127. package/lib/ocm/components/clusterConfiguration/operators/utils.tsx +88 -31
  128. package/lib/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.tsx +46 -43
  129. package/lib/ocm/components/clusterConfiguration/review/ReviewSummary.tsx +1 -15
  130. package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +3 -36
  131. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +0 -1
  132. package/lib/ocm/components/clusterWizard/Operators.tsx +17 -77
  133. package/lib/ocm/components/clusterWizard/OperatorsBundle.css +6 -0
  134. package/lib/ocm/components/clusterWizard/OperatorsBundle.tsx +245 -0
  135. package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +108 -0
  136. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +38 -445
  137. package/lib/ocm/components/clusterWizard/wizardTransition.ts +0 -4
  138. package/lib/ocm/components/clusters/utils.ts +0 -19
  139. package/lib/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.tsx +0 -1
  140. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +33 -86
  141. package/lib/ocm/components/utils.ts +0 -12
  142. package/lib/ocm/services/OperatorsService.tsx +1 -100
  143. package/package.json +3 -3
  144. package/build/@types/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.d.ts +0 -8
  145. package/build/@types/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.d.ts.map +0 -1
  146. package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts +0 -8
  147. package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts.map +0 -1
  148. package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts +0 -11
  149. package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts.map +0 -1
  150. package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts +0 -8
  151. package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts.map +0 -1
  152. package/build/@types/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.d.ts +0 -8
  153. package/build/@types/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.d.ts.map +0 -1
  154. package/build/@types/ocm/components/clusterConfiguration/operators/KmmCheckbox.d.ts +0 -6
  155. package/build/@types/ocm/components/clusterConfiguration/operators/KmmCheckbox.d.ts.map +0 -1
  156. package/build/@types/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.d.ts +0 -8
  157. package/build/@types/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.d.ts.map +0 -1
  158. package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts +0 -9
  159. package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts.map +0 -1
  160. package/build/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts +0 -11
  161. package/build/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts.map +0 -1
  162. package/build/@types/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts +0 -7
  163. package/build/@types/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts.map +0 -1
  164. package/build/@types/ocm/components/clusterConfiguration/operators/MceCheckbox.d.ts +0 -12
  165. package/build/@types/ocm/components/clusterConfiguration/operators/MceCheckbox.d.ts.map +0 -1
  166. package/build/@types/ocm/components/clusterConfiguration/operators/MceRequirements.d.ts +0 -8
  167. package/build/@types/ocm/components/clusterConfiguration/operators/MceRequirements.d.ts.map +0 -1
  168. package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts +0 -10
  169. package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts.map +0 -1
  170. package/build/@types/ocm/components/clusterConfiguration/operators/MtvRequirements.d.ts +0 -7
  171. package/build/@types/ocm/components/clusterConfiguration/operators/MtvRequirements.d.ts.map +0 -1
  172. package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts +0 -11
  173. package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts.map +0 -1
  174. package/build/@types/ocm/components/clusterConfiguration/operators/NmstateRequirements.d.ts +0 -7
  175. package/build/@types/ocm/components/clusterConfiguration/operators/NmstateRequirements.d.ts.map +0 -1
  176. package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts +0 -9
  177. package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts.map +0 -1
  178. package/build/@types/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.d.ts +0 -8
  179. package/build/@types/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.d.ts.map +0 -1
  180. package/build/@types/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.d.ts +0 -8
  181. package/build/@types/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.d.ts.map +0 -1
  182. package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts +0 -9
  183. package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts.map +0 -1
  184. package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts +0 -8
  185. package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts.map +0 -1
  186. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.d.ts +0 -8
  187. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.d.ts.map +0 -1
  188. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts +0 -4
  189. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts.map +0 -1
  190. package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.d.ts +0 -4
  191. package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.d.ts.map +0 -1
  192. package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts +0 -4
  193. package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts.map +0 -1
  194. package/build/@types/ocm/components/clusterConfiguration/operators/OscCheckbox.d.ts +0 -8
  195. package/build/@types/ocm/components/clusterConfiguration/operators/OscCheckbox.d.ts.map +0 -1
  196. package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts +0 -8
  197. package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts.map +0 -1
  198. package/build/@types/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.d.ts +0 -8
  199. package/build/@types/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.d.ts.map +0 -1
  200. package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts +0 -8
  201. package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts.map +0 -1
  202. package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts +0 -9
  203. package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts.map +0 -1
  204. package/build/@types/ocm/components/clusterConfiguration/operators/SupportedOperators.d.ts +0 -24
  205. package/build/@types/ocm/components/clusterConfiguration/operators/SupportedOperators.d.ts.map +0 -1
  206. package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts +0 -4
  207. package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts.map +0 -1
  208. package/build/cjs/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.js +0 -29
  209. package/build/cjs/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.js.map +0 -1
  210. package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js +0 -33
  211. package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js.map +0 -1
  212. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js +0 -45
  213. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js.map +0 -1
  214. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js +0 -55
  215. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js.map +0 -1
  216. package/build/cjs/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.js +0 -34
  217. package/build/cjs/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.js.map +0 -1
  218. package/build/cjs/ocm/components/clusterConfiguration/operators/KmmCheckbox.js +0 -40
  219. package/build/cjs/ocm/components/clusterConfiguration/operators/KmmCheckbox.js.map +0 -1
  220. package/build/cjs/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.js +0 -34
  221. package/build/cjs/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.js.map +0 -1
  222. package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js +0 -33
  223. package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js.map +0 -1
  224. package/build/cjs/ocm/components/clusterConfiguration/operators/LvmCheckbox.js +0 -44
  225. package/build/cjs/ocm/components/clusterConfiguration/operators/LvmCheckbox.js.map +0 -1
  226. package/build/cjs/ocm/components/clusterConfiguration/operators/LvmHostRequirements.js +0 -22
  227. package/build/cjs/ocm/components/clusterConfiguration/operators/LvmHostRequirements.js.map +0 -1
  228. package/build/cjs/ocm/components/clusterConfiguration/operators/MceCheckbox.js +0 -35
  229. package/build/cjs/ocm/components/clusterConfiguration/operators/MceCheckbox.js.map +0 -1
  230. package/build/cjs/ocm/components/clusterConfiguration/operators/MceRequirements.js +0 -54
  231. package/build/cjs/ocm/components/clusterConfiguration/operators/MceRequirements.js.map +0 -1
  232. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js +0 -43
  233. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js.map +0 -1
  234. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvRequirements.js +0 -51
  235. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvRequirements.js.map +0 -1
  236. package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js +0 -35
  237. package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js.map +0 -1
  238. package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateRequirements.js +0 -48
  239. package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateRequirements.js.map +0 -1
  240. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js +0 -33
  241. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js.map +0 -1
  242. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.js +0 -34
  243. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.js.map +0 -1
  244. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.js +0 -34
  245. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.js.map +0 -1
  246. package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js +0 -34
  247. package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js.map +0 -1
  248. package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js +0 -43
  249. package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js.map +0 -1
  250. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.js +0 -35
  251. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.js.map +0 -1
  252. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js +0 -19
  253. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js.map +0 -1
  254. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.js +0 -32
  255. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.js.map +0 -1
  256. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js +0 -31
  257. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js.map +0 -1
  258. package/build/cjs/ocm/components/clusterConfiguration/operators/OscCheckbox.js +0 -38
  259. package/build/cjs/ocm/components/clusterConfiguration/operators/OscCheckbox.js.map +0 -1
  260. package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js +0 -33
  261. package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js.map +0 -1
  262. package/build/cjs/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.js +0 -34
  263. package/build/cjs/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.js.map +0 -1
  264. package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js +0 -33
  265. package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js.map +0 -1
  266. package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js +0 -33
  267. package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js.map +0 -1
  268. package/build/cjs/ocm/components/clusterConfiguration/operators/SupportedOperators.js +0 -101
  269. package/build/cjs/ocm/components/clusterConfiguration/operators/SupportedOperators.js.map +0 -1
  270. package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js +0 -26
  271. package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js.map +0 -1
  272. package/lib/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.tsx +0 -64
  273. package/lib/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.tsx +0 -63
  274. package/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx +0 -105
  275. package/lib/ocm/components/clusterConfiguration/operators/CnvHostRequirements.tsx +0 -64
  276. package/lib/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.tsx +0 -71
  277. package/lib/ocm/components/clusterConfiguration/operators/KmmCheckbox.tsx +0 -69
  278. package/lib/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.tsx +0 -66
  279. package/lib/ocm/components/clusterConfiguration/operators/LsoCheckbox.tsx +0 -64
  280. package/lib/ocm/components/clusterConfiguration/operators/LvmCheckbox.tsx +0 -112
  281. package/lib/ocm/components/clusterConfiguration/operators/LvmHostRequirements.tsx +0 -38
  282. package/lib/ocm/components/clusterConfiguration/operators/MceCheckbox.tsx +0 -90
  283. package/lib/ocm/components/clusterConfiguration/operators/MceRequirements.tsx +0 -61
  284. package/lib/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.tsx +0 -94
  285. package/lib/ocm/components/clusterConfiguration/operators/MtvRequirements.tsx +0 -52
  286. package/lib/ocm/components/clusterConfiguration/operators/NmstateCheckbox.tsx +0 -82
  287. package/lib/ocm/components/clusterConfiguration/operators/NmstateRequirements.tsx +0 -53
  288. package/lib/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.tsx +0 -73
  289. package/lib/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.tsx +0 -66
  290. package/lib/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.tsx +0 -66
  291. package/lib/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.tsx +0 -70
  292. package/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx +0 -82
  293. package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.tsx +0 -67
  294. package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.tsx +0 -22
  295. package/lib/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.tsx +0 -36
  296. package/lib/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.tsx +0 -37
  297. package/lib/ocm/components/clusterConfiguration/operators/OscCheckbox.tsx +0 -73
  298. package/lib/ocm/components/clusterConfiguration/operators/PipelinesChekbox.tsx +0 -63
  299. package/lib/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.tsx +0 -68
  300. package/lib/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.tsx +0 -62
  301. package/lib/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.tsx +0 -64
  302. package/lib/ocm/components/clusterConfiguration/operators/SupportedOperators.tsx +0 -140
  303. package/lib/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.tsx +0 -35
@@ -1,470 +1,63 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { useSelector } from 'react-redux';
3
- import {
4
- Card,
5
- CardBody,
6
- CardTitle,
7
- Checkbox,
8
- ExpandableSection,
9
- Flex,
10
- FlexItem,
11
- Gallery,
12
- GalleryItem,
13
- Stack,
14
- StackItem,
15
- TextInput,
16
- Title,
17
- Tooltip,
18
- } from '@patternfly/react-core';
1
+ import React from 'react';
2
+ import { Stack, StackItem } from '@patternfly/react-core';
3
+ import { Bundle } from '@openshift-assisted/types/assisted-installer-service';
19
4
  import {
20
5
  ClusterOperatorProps,
21
6
  ClusterWizardStepHeader,
22
- numberOfEnabledOperators,
23
- OPERATOR_NAME_CNV,
24
- OPERATOR_NAME_ODF,
25
- OperatorsValues,
26
- PopoverIcon,
7
+ getApiErrorMessage,
8
+ handleApiError,
9
+ LoadingState,
10
+ useAlerts,
27
11
  } from '../../../common';
28
- import { selectIsCurrentClusterSNO } from '../../store/slices/current-cluster/selectors';
29
- import { isOCPVersionEqualsOrMajor } from '../utils';
12
+ import OperatorsBundle from './OperatorsBundle';
13
+ import OperatorsSelect from './OperatorsSelect';
30
14
  import BundleService from '../../services/BundleService';
31
- import { Bundle } from '@openshift-assisted/types/./assisted-installer-service';
32
- import { OperatorsService } from '../../services';
33
- import {
34
- mapOperatorIdToFeatureId,
35
- mapOperatorsToFieldIds,
36
- operatorComponentMap,
37
- } from '../clusterConfiguration/operators/SupportedOperators';
38
- import { useClusterWizardContext } from './ClusterWizardContext';
39
- import { useFormikContext } from 'formik';
40
- import NewFeatureSupportLevelBadge from '../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
41
- import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
42
- import {
43
- getCnvIncompatibleWithLvmReason,
44
- getLvmIncompatibleWithCnvReason,
45
- getLvmsIncompatibleWithOdfReason,
46
- getLvmsIncompatibleWithOpenShiftAIReason,
47
- getOdfIncompatibleWithLvmsReason,
48
- getOpenShiftAIIncompatibleWithLvmsReason,
49
- } from '../featureSupportLevels/featureStateUtils';
50
- import OpenshiftAINvidiaRequirements from '../clusterConfiguration/operators/OpenshiftAINvidiaRequirements';
51
- import VirtualizationRequirements from '../clusterConfiguration/operators/VirtualizationRequirements';
52
- import OpenshiftAIAmdRequirements from '../clusterConfiguration/operators/OpenshiftAIAmdRequirements';
53
-
54
- const operatorsThatCanNotBeInstalledAlone = [
55
- 'nvdia-gpu',
56
- 'pipelines',
57
- 'servicemesh',
58
- 'serverless',
59
- 'authorino',
60
- 'lso',
61
- 'amd-gpu',
62
- 'nvidia-gpu',
63
- 'node-healthcheck',
64
- 'self-node-remediation',
65
- 'fence-agents-remediation',
66
- 'node-maintenance',
67
- 'kube-descheduler',
68
- ];
69
-
70
- export const OperatorsStep = (props: ClusterOperatorProps) => {
71
- const isSNO = useSelector(selectIsCurrentClusterSNO);
72
- const isVersionEqualsOrMajorThan4_15 = isOCPVersionEqualsOrMajor(
73
- props.openshiftVersion || '',
74
- '4.15',
75
- );
76
-
77
- const [bundles, setBundles] = useState<Bundle[]>([]);
78
- const [isExpanded, setIsExpanded] = useState(false);
79
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
80
- const [supportedOperators, setSupportedOperators] = useState<string[]>([]);
81
- const [searchTerm, setSearchTerm] = useState('');
82
- const [selectedOperators, setSelectedOperators] = useState<string[]>([]);
83
- const [selectedBundles, setSelectedBundles] = useState<{ [key: string]: boolean }>({});
84
- const [bundleOperators, setBundleOperators] = useState<string[]>([]);
85
- const { updateUISettings, uiSettings } = useClusterWizardContext();
86
- const { values, setFieldValue } = useFormikContext<OperatorsValues>();
87
- const featureSupportLevelData = useNewFeatureSupportLevel();
88
-
89
- useEffect(() => {
15
+ import { useClusterPreflightRequirements } from '../../hooks';
16
+
17
+ export const OperatorsStep = ({ cluster }: ClusterOperatorProps) => {
18
+ const { addAlert } = useAlerts();
19
+ const [bundlesLoading, setBundlesLoading] = React.useState(true);
20
+ const [bundles, setBundles] = React.useState<Bundle[]>([]);
21
+ const { preflightRequirements, isLoading } = useClusterPreflightRequirements(cluster.id);
22
+ React.useEffect(() => {
90
23
  const fetchBundles = async () => {
91
24
  try {
92
25
  const fetchedBundles = await BundleService.listBundles();
93
-
94
26
  setBundles(fetchedBundles);
95
27
  } catch (error) {
96
- // eslint-disable-next-line no-console
97
- console.error('Error getting bundles:', error);
28
+ handleApiError(error, () =>
29
+ addAlert({
30
+ title: 'Failed to fetch operator bundles',
31
+ message: getApiErrorMessage(error),
32
+ }),
33
+ );
34
+ } finally {
35
+ setBundlesLoading(false);
98
36
  }
99
37
  };
100
38
 
101
39
  void fetchBundles();
102
- }, []);
103
-
104
- useEffect(() => {
105
- const fetchSupportedOperators = async () => {
106
- try {
107
- const fetchedOperators = await OperatorsService.getSupportedOperators();
108
- const sortedOperators = fetchedOperators.sort((a, b) => a.localeCompare(b));
40
+ }, [addAlert]);
109
41
 
110
- setSupportedOperators(sortedOperators);
111
- } catch (error) {
112
- // eslint-disable-next-line no-console
113
- console.error('Error getting operators:', error);
114
- }
115
- };
116
-
117
- void fetchSupportedOperators();
118
- }, []);
119
-
120
- const filteredBundles = bundles.filter(
121
- (bundle) =>
122
- bundle.title?.toLowerCase().includes(searchTerm.toLowerCase()) ||
123
- bundle.description?.toLowerCase().includes(searchTerm.toLowerCase()),
124
- );
125
-
126
- useEffect(() => {
127
- if (uiSettings?.bundlesSelected) {
128
- setSelectedBundles(
129
- uiSettings.bundlesSelected.reduce((acc, id) => ({ ...acc, [id]: true }), {}),
130
- );
131
-
132
- setBundleOperators(() => {
133
- const newSelection: string[] = [];
134
- bundles
135
- .filter((bundle) => uiSettings?.bundlesSelected?.includes(bundle.id ?? ''))
136
- .forEach((bundle) => {
137
- bundle.operators?.forEach((op) => {
138
- newSelection.push(op);
139
- });
140
- });
141
-
142
- return newSelection;
143
- });
144
- }
145
- }, [bundles, uiSettings?.bundlesSelected]);
146
-
147
- useEffect(() => {
148
- const newSelection: string[] = [];
149
-
150
- props.monitoredOperators?.forEach((operator) => {
151
- if (operator.operatorType === 'olm') {
152
- newSelection.push(operator.name ?? '');
153
- }
154
- });
155
-
156
- setSelectedOperators(newSelection);
157
- newSelection.forEach((op) => {
158
- const fieldId = mapOperatorsToFieldIds[op]; // Obtener el ID del campo correspondiente
159
- setFieldValue(fieldId, true);
160
- });
161
- }, [props.monitoredOperators, setFieldValue]);
162
-
163
- const handleBundleSelection = async (bundleId: string, operators: string[], checked: boolean) => {
164
- let bundlesSelected = uiSettings?.bundlesSelected ? [...uiSettings.bundlesSelected] : [];
165
- let newBundleOperators = [...bundleOperators];
166
-
167
- if (checked) {
168
- // Agregar el bundle si se marca
169
- bundlesSelected.push(bundleId);
170
- operators.forEach((op) => {
171
- if (!newBundleOperators.includes(op)) {
172
- newBundleOperators.push(op);
173
- const fieldId = mapOperatorsToFieldIds[op]; // Obtener el ID del campo correspondiente
174
- setFieldValue(fieldId, checked);
175
- if (op === OPERATOR_NAME_CNV || op === OPERATOR_NAME_ODF) {
176
- if (featureSupportLevelData.isFeatureSupported('LSO')) setFieldValue('useLso', checked);
177
- }
178
- }
179
- });
180
- } else {
181
- // Eliminar el bundle si se desmarca
182
- bundlesSelected = bundlesSelected.filter((id) => id !== bundleId);
183
- newBundleOperators = newBundleOperators.filter((op) => !operators.includes(op));
184
- operators.forEach((op) => {
185
- const fieldId = mapOperatorsToFieldIds[op]; // Obtener el ID del campo correspondiente
186
- setFieldValue(fieldId, checked);
187
- if (op === OPERATOR_NAME_CNV || op === OPERATOR_NAME_ODF) {
188
- if (featureSupportLevelData.isFeatureSupported('LSO')) setFieldValue('useLso', checked);
189
- }
190
- });
191
- }
192
-
193
- await updateUISettings({ bundlesSelected });
194
-
195
- setSelectedBundles((prev) => ({
196
- ...prev,
197
- [bundleId]: checked,
198
- }));
199
-
200
- setBundleOperators(newBundleOperators);
201
- };
202
-
203
- const getBundleLabel = (bundle: Bundle) => {
204
- let requirements: React.ReactElement | null = null;
205
- switch (bundle.id) {
206
- case 'virtualization':
207
- requirements = <VirtualizationRequirements />;
208
- break;
209
- case 'openshift-ai-nvidia':
210
- requirements = <OpenshiftAINvidiaRequirements />;
211
- break;
212
- case 'openshift-ai-amd':
213
- requirements = <OpenshiftAIAmdRequirements />;
214
- break;
215
- }
216
-
217
- return (
218
- <>
219
- <span>{bundle.title} </span>
220
- {requirements && (
221
- <PopoverIcon
222
- component={'a'}
223
- bodyContent={
224
- <>
225
- <span style={{ fontSize: '1.1em' }}>{'Requirements and dependencies'}</span>
226
- {requirements}
227
- </>
228
- }
229
- />
230
- )}
231
- </>
232
- );
233
- };
234
-
235
- const bundleHasOperatorsNotSupported = React.useCallback(
236
- (operators: string[] | undefined) => {
237
- return (
238
- operators?.some(
239
- (operator) =>
240
- !featureSupportLevelData.isFeatureSupported(mapOperatorIdToFeatureId[operator]),
241
- ) ?? false
242
- );
243
- },
244
- [featureSupportLevelData],
245
- );
246
-
247
- const getDisabledReasonForOperator = React.useCallback(
248
- (operatorKey: string, values: OperatorsValues) => {
249
- let disabledReason = featureSupportLevelData.getFeatureDisabledReason(
250
- mapOperatorIdToFeatureId[operatorKey],
251
- );
252
- if (operatorKey === 'cnv') {
253
- if (!disabledReason) {
254
- const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
255
- disabledReason = getCnvIncompatibleWithLvmReason(values, lvmSupport);
256
- }
257
- }
258
- if (operatorKey === 'lvm') {
259
- if (!disabledReason) {
260
- const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
261
- disabledReason = getLvmIncompatibleWithCnvReason(values, lvmSupport);
262
- }
263
- if (!disabledReason) {
264
- disabledReason = getLvmsIncompatibleWithOdfReason(values);
265
- }
266
- if (!disabledReason) {
267
- disabledReason = getLvmsIncompatibleWithOpenShiftAIReason(values);
268
- }
269
- }
270
- if (operatorKey === 'odf') {
271
- if (!disabledReason) {
272
- disabledReason = getOdfIncompatibleWithLvmsReason(values);
273
- }
274
- }
275
- if (operatorKey === 'openshift-ai') {
276
- if (!disabledReason) {
277
- disabledReason = getOpenShiftAIIncompatibleWithLvmsReason(values);
278
- }
279
- }
280
- return disabledReason;
281
- },
282
- [featureSupportLevelData],
283
- );
284
-
285
- const bundleHasOperatorsNotCompatibles = React.useCallback(
286
- (operators: string[] | undefined, values: OperatorsValues, isSelected: boolean) => {
287
- if (!isSelected) {
288
- return (
289
- operators?.some((operatorKey) => {
290
- const disabledReason = getDisabledReasonForOperator(operatorKey, values);
291
- return disabledReason !== undefined;
292
- }) ?? false
293
- );
294
- } else return false;
295
- },
296
- [getDisabledReasonForOperator],
297
- );
42
+ if (isLoading || bundlesLoading) {
43
+ return <LoadingState />;
44
+ }
298
45
 
299
46
  return (
300
47
  <Stack hasGutter data-testid={'operators-page'}>
301
48
  <StackItem>
302
- <Flex
303
- justifyContent={{ default: 'justifyContentSpaceBetween' }}
304
- alignItems={{ default: 'alignItemsCenter' }}
305
- >
306
- <FlexItem>
307
- <ClusterWizardStepHeader>Operators</ClusterWizardStepHeader>
308
- </FlexItem>
309
- <FlexItem hidden>
310
- <TextInput
311
- value={searchTerm}
312
- type="text"
313
- onChange={(_event, value) => setSearchTerm(value)}
314
- placeholder="Search"
315
- style={{ width: '400px' }}
316
- />
317
- </FlexItem>
318
- </Flex>
49
+ <ClusterWizardStepHeader>Operators</ClusterWizardStepHeader>
319
50
  </StackItem>
320
51
  <StackItem>
321
- <Title headingLevel="h2" size="lg">
322
- Bundles
323
- </Title>
52
+ <OperatorsBundle bundles={bundles} preflightRequirements={preflightRequirements} />
53
+ </StackItem>
54
+ <StackItem>
55
+ <OperatorsSelect
56
+ bundles={bundles}
57
+ cluster={cluster}
58
+ preflightRequirements={preflightRequirements}
59
+ />
324
60
  </StackItem>
325
- {/* Mostrar bundles como tarjetas */}
326
- <Gallery hasGutter minWidths={{ default: '350px' }} maxWidths={{ default: '2fr' }}>
327
- {filteredBundles.map((bundle) => {
328
- const isSnoAndBlockedBundle =
329
- isSNO && (bundle.id === 'openshift-ai-nvidia' || bundle.id === 'openshift-ai-amd');
330
- const hasUnsupportedOperators = bundleHasOperatorsNotSupported(bundle.operators);
331
- const hasIncompatibleOperators = bundleHasOperatorsNotCompatibles(
332
- bundle.operators,
333
- values,
334
- bundle.id ? selectedBundles[bundle.id] : false,
335
- );
336
- const hasAnotherAIBundleSelected =
337
- (bundle.id === 'openshift-ai-nvidia' && selectedBundles['openshift-ai-amd']) ||
338
- (bundle.id === 'openshift-ai-amd' && selectedBundles['openshift-ai-nvidia']);
339
-
340
- const tooltipContent = hasUnsupportedOperators
341
- ? 'Some operators in this bundle are not supported with the current configuration.'
342
- : isSnoAndBlockedBundle
343
- ? 'This bundle is not available when deploying a Single Node OpenShift.'
344
- : hasIncompatibleOperators
345
- ? 'Some operators in this bundle can not be installed with some single operators selected.'
346
- : hasAnotherAIBundleSelected
347
- ? 'This bundle cannot be selected because you already have another OpenShift AI bundle selected.'
348
- : '';
349
- return (
350
- <GalleryItem key={bundle.id}>
351
- <Tooltip
352
- content={tooltipContent}
353
- hidden={
354
- !hasUnsupportedOperators &&
355
- !hasIncompatibleOperators &&
356
- !isSnoAndBlockedBundle &&
357
- !hasAnotherAIBundleSelected
358
- }
359
- >
360
- <Card
361
- style={
362
- bundle.id && selectedBundles[bundle.id]
363
- ? { border: '1px solid #004080', height: '200px' }
364
- : { height: '200px' }
365
- }
366
- isDisabled={
367
- hasUnsupportedOperators ||
368
- hasIncompatibleOperators ||
369
- isSnoAndBlockedBundle ||
370
- hasAnotherAIBundleSelected
371
- }
372
- >
373
- <CardTitle
374
- style={{
375
- display: 'flex',
376
- justifyContent: 'space-between',
377
- alignItems: 'center',
378
- }}
379
- >
380
- <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
381
- {getBundleLabel(bundle)}
382
- </div>
383
- <Checkbox
384
- id={`bundle-${bundle.id || ''}`}
385
- isChecked={bundle.id ? selectedBundles[bundle.id] : false}
386
- onChange={(_event, checked) =>
387
- void handleBundleSelection(bundle.id || '', bundle.operators || [], checked)
388
- }
389
- isDisabled={
390
- hasUnsupportedOperators ||
391
- hasIncompatibleOperators ||
392
- isSnoAndBlockedBundle ||
393
- hasAnotherAIBundleSelected
394
- }
395
- />
396
- </CardTitle>
397
- <CardBody
398
- style={{
399
- display: 'flex',
400
- flexDirection: 'column',
401
- justifyContent: 'space-between',
402
- height: '100%',
403
- }}
404
- >
405
- <div>{bundle.description}</div>
406
-
407
- {/* Badge aligned to the bottom-left */}
408
- <div style={{ marginTop: '10px', alignSelf: 'flex-end', height: '25px' }}>
409
- {(bundle.id === 'openshift-ai-nvidia' ||
410
- bundle.id === 'openshift-ai-amd') && (
411
- <NewFeatureSupportLevelBadge
412
- featureId="OPENSHIFT_AI"
413
- supportLevel="dev-preview"
414
- />
415
- )}
416
- </div>
417
- </CardBody>
418
- </Card>
419
- </Tooltip>
420
- </GalleryItem>
421
- );
422
- })}
423
- </Gallery>
424
- <ExpandableSection
425
- toggleText={`Single Operators (${supportedOperators.length} | ${
426
- props.monitoredOperators
427
- ? numberOfEnabledOperators(props.monitoredOperators)
428
- : selectedOperators.length
429
- } selected)`}
430
- onToggle={() => setIsExpanded(!isExpanded)}
431
- isExpanded={isExpanded}
432
- data-testid="single-operators-section"
433
- >
434
- <Stack hasGutter data-testid={'operators-form'}>
435
- {supportedOperators.map((operatorKey) => {
436
- const isOperatorSelected = bundleOperators.includes(operatorKey);
437
- const isOperatorNotAllowedAlone =
438
- operatorsThatCanNotBeInstalledAlone.includes(operatorKey);
439
- const disabledReason = getDisabledReasonForOperator(operatorKey, values);
440
- const featureSupportLevel = featureSupportLevelData.getFeatureSupportLevel(
441
- mapOperatorIdToFeatureId[operatorKey],
442
- );
443
- const OperatorComponent = operatorComponentMap[operatorKey];
444
- if (!OperatorComponent) {
445
- return null;
446
- }
447
- return (
448
- <StackItem key={operatorKey}>
449
- <OperatorComponent
450
- clusterId={props.clusterId}
451
- openshiftVersion={props.openshiftVersion}
452
- isVersionEqualsOrMajorThan4_15={isVersionEqualsOrMajorThan4_15}
453
- isSNO={isSNO}
454
- disabledReason={
455
- isOperatorSelected
456
- ? 'This operator is part of a bundle and cannot be deselected.'
457
- : isOperatorNotAllowedAlone
458
- ? 'This operator cannot be installed as a standalone'
459
- : disabledReason
460
- }
461
- supportLevel={featureSupportLevel}
462
- />
463
- </StackItem>
464
- );
465
- })}
466
- </Stack>
467
- </ExpandableSection>
468
61
  </Stack>
469
62
  );
470
63
  };
@@ -73,14 +73,10 @@ export const getClusterWizardFirstStep = (
73
73
  staticIpInfo: StaticIpInfo | undefined,
74
74
  state?: ClusterWizardFlowStateType,
75
75
  hosts?: Host[] | undefined,
76
- isSingleClusterFeatureEnabled?: boolean,
77
76
  customManifestsStepNeedsToBeFilled?: boolean,
78
77
  ): ClusterWizardStepsType => {
79
78
  // Just for the first time when the cluster is created
80
79
  if (locationState === ClusterWizardFlowStateNew && !staticIpInfo) {
81
- if (isSingleClusterFeatureEnabled) {
82
- return 'host-discovery';
83
- }
84
80
  return 'operators';
85
81
  }
86
82
 
@@ -3,9 +3,7 @@ import {
3
3
  LogsState,
4
4
  MonitoredOperator,
5
5
  MonitoredOperatorsList,
6
- OperatorCreateParams,
7
6
  } from '@openshift-assisted/types/assisted-installer-service';
8
- import { selectOlmOperators } from '../../../common';
9
7
 
10
8
  // The Day2 cluster
11
9
  export const isAddHostsCluster = (cluster: Cluster) => cluster.kind === 'AddHostsCluster';
@@ -24,23 +22,6 @@ export const calculateCollectedLogsCount = (cluster: Cluster) => {
24
22
  export const getBuiltInOperators = (monitoredOperators: MonitoredOperatorsList = []) =>
25
23
  monitoredOperators.filter((operator: MonitoredOperator) => operator.operatorType === 'builtin');
26
24
 
27
- export const getOlmOperatorCreateParams = (cluster?: Cluster): OperatorCreateParams[] =>
28
- selectOlmOperators(cluster).map((operator) => ({
29
- name: operator.name,
30
- properties: operator.properties,
31
- }));
32
-
33
- export const getOlmOperatorCreateParamsByName = (cluster?: Cluster) =>
34
- getOlmOperatorCreateParams(cluster).reduce(
35
- (result: { [key: string]: OperatorCreateParams }, operator) => {
36
- if (operator.name) {
37
- result[operator.name] = operator;
38
- }
39
- return result;
40
- },
41
- {},
42
- );
43
-
44
25
  export const canAbortInstallation = (cluster: Cluster) => {
45
26
  const allowedClusterStates: Cluster['status'][] = [
46
27
  'preparing-for-installation',
@@ -90,7 +90,6 @@ export const NewFeatureSupportLevelProvider: React.FC<NewSupportLevelProviderPro
90
90
  featureId: FeatureId,
91
91
  supportLevelDataNew?: NewFeatureSupportLevelMap,
92
92
  ): SupportLevel | undefined => {
93
- // eslint-disable-next-line react-hooks/exhaustive-deps
94
93
  if (supportLevelDataNew) {
95
94
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
96
95
  // @ts-ignore