@openshift-assisted/ui-lib 5.0.1-cim → 5.0.2-cim

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 (293) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -1
  2. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts.map +1 -1
  4. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts +2 -2
  5. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts.map +1 -1
  6. package/build/@types/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.d.ts.map +1 -1
  7. package/build/@types/cim/components/ClusterDeployment/types.d.ts +1 -2
  8. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  9. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts +3 -2
  10. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
  11. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.d.ts.map +1 -1
  12. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.d.ts.map +1 -1
  13. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.d.ts +6 -0
  14. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.d.ts.map +1 -0
  15. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts +4 -2
  16. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts.map +1 -1
  17. package/build/@types/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts +2 -1
  18. package/build/@types/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts.map +1 -1
  19. package/build/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts.map +1 -1
  20. package/build/@types/cim/components/InfraEnv/InfraEnvAgentTable.d.ts.map +1 -1
  21. package/build/@types/cim/components/helpers/status.d.ts +5 -7
  22. package/build/@types/cim/components/helpers/status.d.ts.map +1 -1
  23. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  24. package/build/@types/cim/components/helpers/versions.d.ts +3 -2
  25. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  26. package/build/@types/cim/components/index.d.ts +0 -1
  27. package/build/@types/cim/components/index.d.ts.map +1 -1
  28. package/build/@types/cim/components/modals/CimConfiguration/CimStorageMissingAlert.d.ts.map +1 -1
  29. package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts +2 -3
  30. package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts.map +1 -1
  31. package/build/@types/cim/hooks/index.d.ts +1 -0
  32. package/build/@types/cim/hooks/index.d.ts.map +1 -1
  33. package/build/@types/cim/hooks/useStorageClasses.d.ts +4 -0
  34. package/build/@types/cim/hooks/useStorageClasses.d.ts.map +1 -0
  35. package/build/@types/cim/index.d.ts +0 -1
  36. package/build/@types/cim/index.d.ts.map +1 -1
  37. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +2 -1
  38. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts.map +1 -1
  39. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts +7 -1
  40. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts.map +1 -1
  41. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
  42. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  43. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts.map +1 -1
  44. package/build/@types/common/components/index.d.ts +1 -1
  45. package/build/@types/common/components/index.d.ts.map +1 -1
  46. package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -1
  47. package/build/@types/common/components/ui/formik/PullSecretField.d.ts +1 -0
  48. package/build/@types/common/components/ui/formik/PullSecretField.d.ts.map +1 -1
  49. package/build/@types/common/components/ui/formik/SelectFieldWithSearch.d.ts +2 -1
  50. package/build/@types/common/components/ui/formik/SelectFieldWithSearch.d.ts.map +1 -1
  51. package/build/@types/common/config/docs_links.d.ts.map +1 -1
  52. package/build/@types/common/types/clusters.d.ts +1 -1
  53. package/build/@types/common/types/clusters.d.ts.map +1 -1
  54. package/build/@types/common/utils.d.ts.map +1 -1
  55. package/build/@types/ocm/components/AddHosts/types.d.ts +4 -3
  56. package/build/@types/ocm/components/AddHosts/types.d.ts.map +1 -1
  57. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +10 -2
  58. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -1
  59. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +5 -0
  60. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
  61. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  62. package/build/@types/ocm/components/clusterWizard/NewClusterWizard.d.ts.map +1 -1
  63. package/build/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -1
  64. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts +1 -0
  65. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts.map +1 -1
  66. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts +4 -0
  67. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts.map +1 -0
  68. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts.map +1 -1
  69. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +1 -1
  70. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
  71. package/build/@types/ocm/components/featureSupportLevels/index.d.ts +0 -1
  72. package/build/@types/ocm/components/featureSupportLevels/index.d.ts.map +1 -1
  73. package/build/@types/ocm/services/ClustersService.d.ts +2 -1
  74. package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
  75. package/build/@types/ocm/services/InfraEnvsService.d.ts +1 -1
  76. package/build/@types/ocm/services/NewFeatureSupportLevelsService.d.ts +1 -1
  77. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js +1 -1
  78. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js.map +1 -1
  79. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +13 -15
  80. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -1
  81. package/build/cjs/cim/components/ClusterDeployment/ClusterInstallationError.js +1 -1
  82. package/build/cjs/cim/components/ClusterDeployment/ClusterInstallationError.js.map +1 -1
  83. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.js +3 -2
  84. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.js.map +1 -1
  85. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js +4 -5
  86. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js.map +1 -1
  87. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.js +2 -2
  88. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.js.map +1 -1
  89. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js +2 -5
  90. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js.map +1 -1
  91. package/build/cjs/cim/components/ClusterDeployment/components/ValidationSection.js.map +1 -1
  92. package/build/cjs/cim/components/ClusterDeployment/constants.js +2 -2
  93. package/build/cjs/cim/components/ClusterDeployment/constants.js.map +1 -1
  94. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js +1 -1
  95. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js.map +1 -1
  96. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.js +2 -2
  97. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.js.map +1 -1
  98. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js +2 -2
  99. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js.map +1 -1
  100. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js +4 -4
  101. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js.map +1 -1
  102. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js +21 -7
  103. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js.map +1 -1
  104. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js +3 -1
  105. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js.map +1 -1
  106. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js +13 -3
  107. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js.map +1 -1
  108. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.js +52 -0
  109. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.js.map +1 -0
  110. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js +3 -3
  111. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js.map +1 -1
  112. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js +2 -4
  113. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js.map +1 -1
  114. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +2 -2
  115. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
  116. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +1 -1
  117. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
  118. package/build/cjs/cim/components/helpers/status.js +4 -4
  119. package/build/cjs/cim/components/helpers/status.js.map +1 -1
  120. package/build/cjs/cim/components/helpers/toAssisted.js +2 -12
  121. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  122. package/build/cjs/cim/components/helpers/versions.js +6 -6
  123. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  124. package/build/cjs/cim/components/helpers/versions.test.js +19 -18
  125. package/build/cjs/cim/components/helpers/versions.test.js.map +1 -1
  126. package/build/cjs/cim/components/index.js +0 -1
  127. package/build/cjs/cim/components/index.js.map +1 -1
  128. package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js +1 -1
  129. package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js.map +1 -1
  130. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +2 -2
  131. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
  132. package/build/cjs/cim/hooks/index.js +1 -0
  133. package/build/cjs/cim/hooks/index.js.map +1 -1
  134. package/build/cjs/cim/hooks/useStorageClasses.js +13 -0
  135. package/build/cjs/cim/hooks/useStorageClasses.js.map +1 -0
  136. package/build/cjs/cim/index.js +0 -1
  137. package/build/cjs/cim/index.js.map +1 -1
  138. package/build/cjs/common/api/assisted-service/ClustersAPI.js +3 -0
  139. package/build/cjs/common/api/assisted-service/ClustersAPI.js.map +1 -1
  140. package/build/cjs/common/api/assisted-service/NewFeatureSupportLevelsAPI.js.map +1 -1
  141. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +2 -4
  142. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  143. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +1 -1
  144. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  145. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js +1 -1
  146. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
  147. package/build/cjs/common/components/clusterDetail/ConsoleModal.js +1 -1
  148. package/build/cjs/common/components/clusterDetail/ConsoleModal.js.map +1 -1
  149. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js +11 -4
  150. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js.map +1 -1
  151. package/build/cjs/common/components/index.js +1 -1
  152. package/build/cjs/common/components/index.js.map +1 -1
  153. package/build/cjs/common/components/operators/operatorSpecs.js +0 -3
  154. package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -1
  155. package/build/cjs/common/components/ui/formik/PullSecretField.js +2 -2
  156. package/build/cjs/common/components/ui/formik/PullSecretField.js.map +1 -1
  157. package/build/cjs/common/components/ui/formik/SelectFieldWithSearch.js +2 -1
  158. package/build/cjs/common/components/ui/formik/SelectFieldWithSearch.js.map +1 -1
  159. package/build/cjs/common/config/docs_links.js +5 -4
  160. package/build/cjs/common/config/docs_links.js.map +1 -1
  161. package/build/cjs/common/utils.js +3 -0
  162. package/build/cjs/common/utils.js.map +1 -1
  163. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -1
  164. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -1
  165. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +1 -1
  166. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
  167. package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js +1 -1
  168. package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js.map +1 -1
  169. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +1 -1
  170. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
  171. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
  172. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +9 -0
  173. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  174. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js +3 -0
  175. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js.map +1 -1
  176. package/build/cjs/ocm/components/clusterWizard/constants.js +1 -0
  177. package/build/cjs/ocm/components/clusterWizard/constants.js.map +1 -1
  178. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js +16 -22
  179. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js.map +1 -1
  180. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js +102 -0
  181. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js.map +1 -0
  182. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js +7 -5
  183. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js.map +1 -1
  184. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +3 -0
  185. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
  186. package/build/cjs/ocm/components/featureSupportLevels/index.js +0 -1
  187. package/build/cjs/ocm/components/featureSupportLevels/index.js.map +1 -1
  188. package/build/cjs/ocm/services/ClustersService.js +3 -0
  189. package/build/cjs/ocm/services/ClustersService.js.map +1 -1
  190. package/lib/cim/components/Agent/AgentsSelectionTable.tsx +1 -1
  191. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +91 -99
  192. package/lib/cim/components/ClusterDeployment/ClusterInstallationError.tsx +1 -1
  193. package/lib/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.tsx +4 -3
  194. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.tsx +6 -6
  195. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.tsx +2 -2
  196. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.tsx +2 -3
  197. package/lib/cim/components/ClusterDeployment/components/ValidationSection.tsx +3 -2
  198. package/lib/cim/components/ClusterDeployment/constants.ts +2 -2
  199. package/lib/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.tsx +1 -1
  200. package/lib/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.tsx +2 -2
  201. package/lib/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.tsx +2 -2
  202. package/lib/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.tsx +11 -11
  203. package/lib/cim/components/ClusterDeployment/types.ts +2 -3
  204. package/lib/cim/components/ClusterDeployment/wizardTransition.ts +30 -19
  205. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.tsx +4 -0
  206. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.tsx +15 -2
  207. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.tsx +70 -0
  208. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.ts +10 -2
  209. package/lib/cim/components/Hypershift/hooks/useSupportedOCPVersions.ts +4 -2
  210. package/lib/cim/components/InfraEnv/EnvironmentErrors.tsx +9 -8
  211. package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +0 -2
  212. package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +1 -1
  213. package/lib/cim/components/helpers/status.ts +12 -13
  214. package/lib/cim/components/helpers/toAssisted.ts +3 -13
  215. package/lib/cim/components/helpers/versions.test.ts +21 -18
  216. package/lib/cim/components/helpers/versions.ts +7 -3
  217. package/lib/cim/components/index.ts +0 -1
  218. package/lib/cim/components/modals/CimConfiguration/CimStorageMissingAlert.tsx +4 -1
  219. package/lib/cim/components/modals/MassDeleteAgentModal.tsx +3 -14
  220. package/lib/cim/hooks/index.tsx +1 -0
  221. package/lib/cim/hooks/useStorageClasses.tsx +15 -0
  222. package/lib/cim/index.ts +0 -1
  223. package/lib/common/api/assisted-service/ClustersAPI.ts +8 -0
  224. package/lib/common/api/assisted-service/NewFeatureSupportLevelsAPI.ts +9 -4
  225. package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +5 -7
  226. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +3 -1
  227. package/lib/common/components/clusterConfiguration/DownloadIso.tsx +1 -1
  228. package/lib/common/components/clusterDetail/ConsoleModal.tsx +1 -1
  229. package/lib/common/components/clusterWizard/validationsInfoUtils.ts +16 -3
  230. package/lib/common/components/index.ts +1 -1
  231. package/lib/common/components/operators/operatorSpecs.tsx +0 -16
  232. package/lib/common/components/ui/formik/PullSecretField.tsx +5 -2
  233. package/lib/common/components/ui/formik/SelectFieldWithSearch.tsx +3 -0
  234. package/lib/common/config/docs_links.ts +5 -4
  235. package/lib/common/types/clusters.ts +1 -1
  236. package/lib/common/utils.ts +3 -0
  237. package/lib/ocm/components/AddHosts/types.ts +6 -3
  238. package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +2 -2
  239. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +2 -2
  240. package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +1 -1
  241. package/lib/ocm/components/clusterDetail/ClusterInstallationError.tsx +1 -1
  242. package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +1 -1
  243. package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +5 -0
  244. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +9 -0
  245. package/lib/ocm/components/clusterWizard/NewClusterWizard.tsx +3 -0
  246. package/lib/ocm/components/clusterWizard/constants.ts +1 -0
  247. package/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +31 -52
  248. package/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx +173 -0
  249. package/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +9 -7
  250. package/lib/ocm/components/clusterWizard/wizardTransition.ts +4 -0
  251. package/lib/ocm/components/featureSupportLevels/index.ts +0 -1
  252. package/lib/ocm/services/ClustersService.ts +5 -0
  253. package/package.json +5 -5
  254. package/build/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts +0 -9
  255. package/build/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts.map +0 -1
  256. package/build/@types/cim/components/featureSupportLevels/featureStateUtils.d.ts +0 -6
  257. package/build/@types/cim/components/featureSupportLevels/featureStateUtils.d.ts.map +0 -1
  258. package/build/@types/cim/components/featureSupportLevels/index.d.ts +0 -2
  259. package/build/@types/cim/components/featureSupportLevels/index.d.ts.map +0 -1
  260. package/build/@types/cim/config/constants.d.ts +0 -16
  261. package/build/@types/cim/config/constants.d.ts.map +0 -1
  262. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts +0 -9
  263. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts.map +0 -1
  264. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts +0 -22
  265. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts.map +0 -1
  266. package/build/@types/common/components/featureSupportLevels/index.d.ts +0 -3
  267. package/build/@types/common/components/featureSupportLevels/index.d.ts.map +0 -1
  268. package/build/@types/common/components/featureSupportLevels/types.d.ts +0 -8
  269. package/build/@types/common/components/featureSupportLevels/types.d.ts.map +0 -1
  270. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js +0 -82
  271. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js.map +0 -1
  272. package/build/cjs/cim/components/featureSupportLevels/featureStateUtils.js +0 -45
  273. package/build/cjs/cim/components/featureSupportLevels/featureStateUtils.js.map +0 -1
  274. package/build/cjs/cim/components/featureSupportLevels/index.js +0 -7
  275. package/build/cjs/cim/components/featureSupportLevels/index.js.map +0 -1
  276. package/build/cjs/cim/config/constants.js +0 -272
  277. package/build/cjs/cim/config/constants.js.map +0 -1
  278. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelBadge.js +0 -26
  279. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelBadge.js.map +0 -1
  280. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelContext.js +0 -21
  281. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelContext.js.map +0 -1
  282. package/build/cjs/common/components/featureSupportLevels/index.js +0 -8
  283. package/build/cjs/common/components/featureSupportLevels/index.js.map +0 -1
  284. package/build/cjs/common/components/featureSupportLevels/types.js +0 -3
  285. package/build/cjs/common/components/featureSupportLevels/types.js.map +0 -1
  286. package/lib/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.tsx +0 -136
  287. package/lib/cim/components/featureSupportLevels/featureStateUtils.tsx +0 -61
  288. package/lib/cim/components/featureSupportLevels/index.ts +0 -1
  289. package/lib/cim/config/constants.ts +0 -285
  290. package/lib/common/components/featureSupportLevels/FeatureSupportLevelBadge.tsx +0 -37
  291. package/lib/common/components/featureSupportLevels/FeatureSupportLevelContext.tsx +0 -49
  292. package/lib/common/components/featureSupportLevels/index.ts +0 -2
  293. package/lib/common/components/featureSupportLevels/types.ts +0 -12
@@ -0,0 +1,70 @@
1
+ import React from 'react';
2
+ import Fuse from 'fuse.js';
3
+ import { StorageClassK8sResource } from '../../../../types';
4
+ import { SelectFieldWithSearch, useTranslation } from '../../../../../common';
5
+ import { useField } from 'formik';
6
+
7
+ const NO_RESULTS = 'no_results';
8
+
9
+ export const StorageClassDropdown = ({
10
+ storageClasses,
11
+ }: {
12
+ storageClasses: StorageClassK8sResource[];
13
+ }) => {
14
+ const { t } = useTranslation();
15
+ const [filter, setFilter] = React.useState('');
16
+ const [, , { setValue }] = useField('storageClass');
17
+
18
+ const storageClassItems = React.useMemo(
19
+ () =>
20
+ storageClasses.map((storageClass) => ({
21
+ value: storageClass.metadata?.name as string,
22
+ children: storageClass.metadata?.name as string,
23
+ })),
24
+ [storageClasses],
25
+ );
26
+
27
+ const fuse = React.useMemo(() => {
28
+ return new Fuse(storageClassItems, {
29
+ includeScore: true,
30
+ ignoreLocation: true,
31
+ threshold: 0.3,
32
+ keys: ['value'],
33
+ });
34
+ }, [storageClassItems]);
35
+
36
+ const selectOptions = React.useMemo(() => {
37
+ if (filter) {
38
+ const newSelectOptions = fuse
39
+ .search(filter)
40
+ .sort((a, b) => (a.score || 0) - (b.score || 0))
41
+ .map(({ item }) => item);
42
+
43
+ if (!newSelectOptions.length) {
44
+ return [
45
+ {
46
+ isAriaDisabled: true,
47
+ children: t('ai:No results found for {{filter}}', { filter }),
48
+ value: NO_RESULTS,
49
+ hasCheckbox: false,
50
+ },
51
+ ];
52
+ }
53
+ return newSelectOptions;
54
+ }
55
+ return storageClassItems;
56
+ }, [filter, fuse, storageClassItems, t]);
57
+
58
+ return (
59
+ <SelectFieldWithSearch
60
+ selectOptions={selectOptions}
61
+ filterValue={filter}
62
+ setFilterValue={setFilter}
63
+ name={'storageClass'}
64
+ label={t('ai:Storage class')}
65
+ placeholder={t('ai:No storage class selected')}
66
+ helperText={t('ai:Persistent volume storage class for etcd data volumes')}
67
+ onClear={() => setValue('')}
68
+ />
69
+ );
70
+ };
@@ -1,7 +1,11 @@
1
1
  import { FormikProps } from 'formik';
2
2
  import { ObjectSchema } from 'yup';
3
3
  import { OpenshiftVersionOptionType } from '../../../../../common';
4
- import { ClusterImageSetK8sResource, ConfigMapK8sResource } from '../../../../types';
4
+ import {
5
+ ClusterImageSetK8sResource,
6
+ ConfigMapK8sResource,
7
+ StorageClassK8sResource,
8
+ } from '../../../../types';
5
9
 
6
10
  export type DetailsFormValues = {
7
11
  name: string;
@@ -9,6 +13,7 @@ export type DetailsFormValues = {
9
13
  pullSecret: string;
10
14
  baseDnsDomain: string;
11
15
  customOpenshiftSelect: string | null;
16
+ storageClass: string;
12
17
  };
13
18
 
14
19
  type UseDetailsFormikArgs = {
@@ -22,7 +27,9 @@ export type UseDetailsFormik = (
22
27
  args: UseDetailsFormikArgs,
23
28
  ) => [
24
29
  DetailsFormValues,
25
- ObjectSchema<Omit<DetailsFormValues, 'openshiftVersion' | 'customOpenshiftSelect'>>,
30
+ ObjectSchema<
31
+ Omit<DetailsFormValues, 'openshiftVersion' | 'customOpenshiftSelect' | 'storageClass'>
32
+ >,
26
33
  ];
27
34
 
28
35
  export type DetailsStepProps = {
@@ -40,4 +47,5 @@ export type DetailsStepProps = {
40
47
  export type DetailsFormProps = Pick<DetailsStepProps, 'onValuesChanged' | 'extensionAfter'> & {
41
48
  ocpVersions: OpenshiftVersionOptionType[];
42
49
  allVersions: OpenshiftVersionOptionType[];
50
+ storageClasses: StorageClassK8sResource[];
43
51
  };
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  // import { getErrorMessage } from '../../../../common/utils';
3
3
  import { ClusterImageSetK8sResource, ConfigMapK8sResource } from '../../../types';
4
4
  import { getOCPVersions } from '../../helpers';
5
+ import { TFunction } from 'i18next';
5
6
 
6
7
  export const getSupportedCM = (configMaps: ConfigMapK8sResource[]) =>
7
8
  configMaps.find(
@@ -10,11 +11,12 @@ export const getSupportedCM = (configMaps: ConfigMapK8sResource[]) =>
10
11
 
11
12
  export const useSupportedOCPVersions = (
12
13
  clusterImages: ClusterImageSetK8sResource[],
14
+ t: TFunction,
13
15
  supportedVersionsCM?: ConfigMapK8sResource,
14
16
  extended?: boolean,
15
17
  ) => {
16
18
  return React.useMemo(() => {
17
- const ocpVersions = getOCPVersions(clusterImages, false, undefined, extended);
19
+ const ocpVersions = getOCPVersions(clusterImages, t, false, undefined, extended);
18
20
  const supportedVersionsString = supportedVersionsCM?.data?.['supported-versions'];
19
21
  if (supportedVersionsString) {
20
22
  try {
@@ -26,5 +28,5 @@ export const useSupportedOCPVersions = (
26
28
  }
27
29
  }
28
30
  return ocpVersions;
29
- }, [clusterImages, extended, supportedVersionsCM?.data]);
31
+ }, [clusterImages, extended, supportedVersionsCM?.data, t]);
30
32
  };
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { Alert, AlertVariant, ModalBody } from '@patternfly/react-core';
2
3
  import { getFailingResourceConditions } from '../helpers';
3
4
  import { InfraEnvK8sResource } from '../../types';
4
5
  import { SingleResourceAlerts } from '../common/ResourceAlerts';
5
- import { Alert, AlertVariant } from '@patternfly/react-core';
6
6
  import { getInfraEnvDocs } from '../common/constants';
7
7
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
8
8
 
@@ -25,8 +25,8 @@ export const EnvironmentErrors: React.FC<EnvironmentErrorsProps> = ({
25
25
  }
26
26
 
27
27
  return (
28
- <>
29
- {!infraEnv.status && (
28
+ <ModalBody>
29
+ {!infraEnv.status ? (
30
30
  <Alert
31
31
  title={t('ai:Central infrastructure management is not running')}
32
32
  variant={AlertVariant.warning}
@@ -42,11 +42,12 @@ export const EnvironmentErrors: React.FC<EnvironmentErrorsProps> = ({
42
42
  'ai:It seems the Central infrastructure management is not configured which will prevent its features to be used. Please refer to the documentation for the first time setup steps.',
43
43
  )}
44
44
  </Alert>
45
+ ) : (
46
+ <SingleResourceAlerts
47
+ title={t('ai:Failing infrastructure environment')}
48
+ conditions={infraEnvAlerts}
49
+ />
45
50
  )}
46
- <SingleResourceAlerts
47
- title={t('ai:Failing infrastructure environment')}
48
- conditions={infraEnvAlerts}
49
- />
50
- </>
51
+ </ModalBody>
51
52
  );
52
53
  };
@@ -66,7 +66,6 @@ const InfraEnvAgentTable: React.FC<InfraEnvAgentTableProps> = ({
66
66
  getClusterDeploymentLink,
67
67
  bareMetalHosts,
68
68
  infraEnv,
69
- nmStates,
70
69
  onChangeHostname,
71
70
  onChangeBMHHostname,
72
71
  onMassDeleteHost,
@@ -287,7 +286,6 @@ const InfraEnvAgentTable: React.FC<InfraEnvAgentTableProps> = ({
287
286
  agents={selectedAgents}
288
287
  bmhs={selectedBMHs}
289
288
  infraEnv={infraEnv}
290
- nmStates={nmStates}
291
289
  onDelete={onMassDeleteHost}
292
290
  onClose={() => setMassDeleteOpen(false)}
293
291
  />
@@ -213,7 +213,7 @@ const InfraEnvForm: React.FC<React.PropsWithChildren<InfraEnvFormProps>> = ({
213
213
  window.open(
214
214
  getOCPStaticIPDocLink(docVersion),
215
215
  '_blank',
216
- 'noopener',
216
+ 'noopener,noreferrer',
217
217
  )
218
218
  }
219
219
  >
@@ -1,22 +1,21 @@
1
- import { AgentClusterInstallK8sResource } from '../../types/k8s/agent-cluster-install';
1
+ import { TFunction } from 'i18next';
2
2
  import { Cluster, Host } from '@openshift-assisted/types/assisted-installer-service';
3
- import { AgentK8sResource } from '../../types/k8s/agent';
4
- import { BareMetalHostK8sResource } from '../../types/k8s/bare-metal-host';
5
- import { StatusCondition } from '../../types/k8s/shared';
6
- import { ValidationsInfo } from '../../../common/types/hosts';
3
+ import {
4
+ AgentClusterInstallK8sResource,
5
+ AgentK8sResource,
6
+ BareMetalHostK8sResource,
7
+ StatusCondition,
8
+ } from '../../types';
9
+ import { HostStatusDef } from '../../../common';
7
10
  import {
8
11
  areOnlySoftValidationsOfWizardStepFailing,
9
12
  getWizardStepHostStatus,
10
13
  getWizardStepHostValidationsInfo,
11
14
  } from '../../../common/components/clusterWizard/validationsInfoUtils';
12
- import {
13
- ClusterWizardStepsType,
14
- wizardStepsValidationsMap,
15
- } from '../ClusterDeployment/wizardTransition';
16
- import { HostStatusDef } from '../../../common';
17
- import { agentStatus } from './agentStatus';
18
- import { TFunction } from 'i18next';
15
+ import { ValidationsInfo } from '../../../common/types/hosts';
19
16
  import { HostStatus } from '../../../common/components/hosts/types';
17
+ import { wizardStepsValidationsMap, ClusterDeploymentWizardStepsType } from '../ClusterDeployment';
18
+ import { agentStatus } from './agentStatus';
20
19
 
21
20
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
22
21
  const conditionsByTypeReducer = <K>(
@@ -82,7 +81,7 @@ export const getAgentStatus = (
82
81
 
83
82
  export const getWizardStepAgentStatus = (
84
83
  agent: AgentK8sResource,
85
- wizardStepId: ClusterWizardStepsType,
84
+ wizardStepId: ClusterDeploymentWizardStepsType,
86
85
  t: TFunction,
87
86
  excludeDiscovered = false,
88
87
  ): { status: HostStatusDef; validationsInfo: ValidationsInfo } => {
@@ -18,6 +18,7 @@ import {
18
18
  } from '../common/constants';
19
19
  import { getAgentProgress, getAgentRole, getInfraEnvNameOfAgent } from './agents';
20
20
  import { getClusterDeploymentCpuArchitecture } from './clusterDeployment';
21
+ import { getVersionFromReleaseString } from './versions';
21
22
 
22
23
  export const getAIHosts = (
23
24
  agents: AgentK8sResource[],
@@ -118,18 +119,6 @@ export const getAIHosts = (
118
119
  return [...hosts, ...restBmhs];
119
120
  };
120
121
 
121
- const extractVersionFromImageSetRef = (imageSetRefName?: string): string | undefined => {
122
- if (!imageSetRefName) {
123
- return undefined;
124
- }
125
- // Match pattern like "4.19.18" or "4.19" in strings like "img4.19.18-multi-appsub"
126
- const versionMatch = imageSetRefName.match(/(\d+\.\d+)(?:\.\d+)?/);
127
- if (versionMatch && versionMatch[1]) {
128
- return versionMatch[1];
129
- }
130
- return undefined;
131
- };
132
-
133
122
  export const getAICluster = ({
134
123
  clusterDeployment,
135
124
  agentClusterInstall,
@@ -142,12 +131,13 @@ export const getAICluster = ({
142
131
  infraEnv?: InfraEnvK8sResource;
143
132
  }): Cluster => {
144
133
  const imageSetRefName = agentClusterInstall?.spec?.imageSetRef?.name;
145
- const extractedVersion = extractVersionFromImageSetRef(imageSetRefName);
134
+ const extractedVersion = getVersionFromReleaseString(imageSetRefName);
146
135
 
147
136
  const installVersion =
148
137
  clusterDeployment.status?.installVersion ||
149
138
  clusterDeployment.metadata?.labels?.[OCP_VERSION_MAJOR_MINOR] ||
150
139
  extractedVersion;
140
+
151
141
  const [status, statusInfo] = getClusterStatus(agentClusterInstall);
152
142
  const aiCluster: Cluster = {
153
143
  id: clusterDeployment.metadata?.uid || '',
@@ -1,4 +1,5 @@
1
1
  import { describe, expect, test } from 'vitest';
2
+ import { TFunction } from 'react-i18next';
2
3
  import { CpuArchitecture } from '../../../common/types/cpuArchitecture';
3
4
  import { ClusterImageSetK8sResource } from '../../types/k8s/cluster-image-set';
4
5
  import { AgentClusterInstallK8sResource } from '../../types/k8s/agent-cluster-install';
@@ -13,6 +14,8 @@ import {
13
14
  } from './versions';
14
15
  import { OpenshiftVersionOptionType } from '../../../common/types/versions';
15
16
 
17
+ const t: TFunction = (t: string) => t;
18
+
16
19
  const ClusterImageSetApiVersion = 'hive.openshift.io/v1';
17
20
  const ClusterImageSetKind = 'ClusterImageSet';
18
21
 
@@ -86,7 +89,7 @@ describe('getOCPVersions', () => {
86
89
  },
87
90
  spec: { releaseImage: 'quay.io/ocp/release:4.16.1-x86_64' },
88
91
  });
89
- expect(getOCPVersions([hidden])).toEqual([]);
92
+ expect(getOCPVersions([hidden], t)).toEqual([]);
90
93
  });
91
94
 
92
95
  test('includes image sets without visible true when extended is true', () => {
@@ -97,7 +100,7 @@ describe('getOCPVersions', () => {
97
100
  },
98
101
  spec: { releaseImage: 'quay.io/ocp/release:4.16.2-x86_64' },
99
102
  });
100
- const result = getOCPVersions([hidden], undefined, undefined, true);
103
+ const result = getOCPVersions([hidden], t, undefined, undefined, true);
101
104
  expect(result).toHaveLength(1);
102
105
  expect(result[0]?.version).toBe('4.16.2');
103
106
  expect(result[0]?.default).toBe(true);
@@ -118,7 +121,7 @@ describe('getOCPVersions', () => {
118
121
  },
119
122
  spec: { releaseImage: 'quay.io/ocp/release:4.21.0-x86_64' },
120
123
  });
121
- const result = getOCPVersions([a, b]);
124
+ const result = getOCPVersions([a, b], t);
122
125
  expect(result.map((v) => v.version)).toEqual(['4.21.0', '4.15.0']);
123
126
  });
124
127
 
@@ -137,7 +140,7 @@ describe('getOCPVersions', () => {
137
140
  },
138
141
  spec: { releaseImage: 'quay.io/ocp/release:4.16.0-x86_64' },
139
142
  });
140
- const result = getOCPVersions([first, second]);
143
+ const result = getOCPVersions([first, second], t);
141
144
  expect(result[0]?.default).toBe(true);
142
145
  expect(result[1]?.default).toBe(false);
143
146
  });
@@ -164,7 +167,7 @@ describe('getOCPVersions', () => {
164
167
  },
165
168
  spec: { releaseImage: 'quay.io/ocp/release:4.16.0-x86_64' },
166
169
  });
167
- const result = getOCPVersions([dupA, dupB, other]);
170
+ const result = getOCPVersions([dupA, dupB, other], t);
168
171
  expect(result.map((v) => v.value)).toEqual(['dup-a', 'other']);
169
172
  expect(result.map((v) => v.version)).toEqual(['4.17.0', '4.16.0']);
170
173
  });
@@ -184,7 +187,7 @@ describe('getOCPVersions', () => {
184
187
  },
185
188
  spec: { releaseImage: 'quay.io/ocp/release:4.16.1-multi' },
186
189
  });
187
- const result = getOCPVersions([x86, multi], true);
190
+ const result = getOCPVersions([x86, multi], t, true);
188
191
  expect(result.map((v) => v.value)).toEqual(['nut-x86']);
189
192
  });
190
193
 
@@ -196,7 +199,7 @@ describe('getOCPVersions', () => {
196
199
  },
197
200
  spec: { releaseImage: 'quay.io/ocp/release:4.16.2-multi' },
198
201
  });
199
- const result = getOCPVersions([cis], true);
202
+ const result = getOCPVersions([cis], t, true);
200
203
  expect(result).toHaveLength(1);
201
204
  expect(result[0]?.value).toBe('nut-label');
202
205
  });
@@ -217,7 +220,7 @@ describe('getOCPVersions', () => {
217
220
  spec: { releaseImage: 'quay.io/ocp/release:4.19.0-x86_64' },
218
221
  });
219
222
  const osImages = [makeOsImage({ openshiftVersion: '4.18' })];
220
- const result = getOCPVersions([inRange, outRange], false, osImages);
223
+ const result = getOCPVersions([inRange, outRange], t, false, osImages);
221
224
  expect(result.map((v) => v.value)).toEqual(['in']);
222
225
  });
223
226
 
@@ -229,7 +232,7 @@ describe('getOCPVersions', () => {
229
232
  },
230
233
  spec: { releaseImage: 'quay.io/ocp/release:4.17.0-multi' },
231
234
  });
232
- const result = getOCPVersions([cis]);
235
+ const result = getOCPVersions([cis], t);
233
236
  expect(result[0]?.cpuArchitectures).toEqual([CpuArchitecture.x86]);
234
237
  });
235
238
 
@@ -241,7 +244,7 @@ describe('getOCPVersions', () => {
241
244
  },
242
245
  spec: { releaseImage: 'quay.io/ocp/release:4.17.0-multi' },
243
246
  });
244
- const result = getOCPVersions([cis]);
247
+ const result = getOCPVersions([cis], t);
245
248
  expect(result[0]?.cpuArchitectures).toEqual([CpuArchitecture.ARM]);
246
249
  });
247
250
 
@@ -253,7 +256,7 @@ describe('getOCPVersions', () => {
253
256
  },
254
257
  spec: { releaseImage: 'quay.io/ocp/release:4.17.0-multi' },
255
258
  });
256
- const result = getOCPVersions([cis]);
259
+ const result = getOCPVersions([cis], t);
257
260
  expect(result[0]?.cpuArchitectures).toEqual([CpuArchitecture.MULTI]);
258
261
  });
259
262
 
@@ -265,7 +268,7 @@ describe('getOCPVersions', () => {
265
268
  },
266
269
  spec: { releaseImage: 'quay.io/ocp/release:4.17.0-multi' },
267
270
  });
268
- const result = getOCPVersions([cis]);
271
+ const result = getOCPVersions([cis], t);
269
272
  expect(result[0]?.cpuArchitectures).toEqual([CpuArchitecture.s390x]);
270
273
  });
271
274
 
@@ -280,7 +283,7 @@ describe('getOCPVersions', () => {
280
283
  },
281
284
  spec: { releaseImage: 'quay.io/ocp/release:4.17.1-x86-64' },
282
285
  });
283
- const result = getOCPVersions([cis]);
286
+ const result = getOCPVersions([cis], t);
284
287
  expect(result[0]?.cpuArchitectures).toEqual([CpuArchitecture.x86]);
285
288
  });
286
289
 
@@ -296,7 +299,7 @@ describe('getOCPVersions', () => {
296
299
  },
297
300
  spec: { releaseImage: 'quay.io/ocp/release:4.19.0-multi' },
298
301
  });
299
- const result = getOCPVersions([cis]);
302
+ const result = getOCPVersions([cis], t);
300
303
  expect(result[0]?.cpuArchitectures).toEqual([CpuArchitecture.x86]);
301
304
  });
302
305
 
@@ -308,7 +311,7 @@ describe('getOCPVersions', () => {
308
311
  },
309
312
  spec: { releaseImage: 'quay.io/ocp/release:4.17.0' },
310
313
  });
311
- const result = getOCPVersions([cis]);
314
+ const result = getOCPVersions([cis], t);
312
315
  expect(result[0]?.cpuArchitectures).toBeUndefined();
313
316
  });
314
317
  });
@@ -328,7 +331,7 @@ describe('getSelectedVersion', () => {
328
331
  metadata: { name: 'aci', namespace: 'ns' },
329
332
  spec: { imageSetRef: { name: 'my-imageset' } },
330
333
  } as AgentClusterInstallK8sResource;
331
- expect(getSelectedVersion([cis], aci)).toBe('4.18.10');
334
+ expect(getSelectedVersion([cis], aci, t)).toBe('4.18.10');
332
335
  });
333
336
 
334
337
  test('returns imageSetRef name when no cluster image matches', () => {
@@ -338,7 +341,7 @@ describe('getSelectedVersion', () => {
338
341
  metadata: { name: 'aci', namespace: 'ns' },
339
342
  spec: { imageSetRef: { name: 'missing' } },
340
343
  } as AgentClusterInstallK8sResource;
341
- expect(getSelectedVersion([], aci)).toBe('missing');
344
+ expect(getSelectedVersion([], aci, t)).toBe('missing');
342
345
  });
343
346
 
344
347
  test('returns undefined when imageSetRef is missing', () => {
@@ -348,7 +351,7 @@ describe('getSelectedVersion', () => {
348
351
  metadata: { name: 'aci', namespace: 'ns' },
349
352
  spec: {},
350
353
  } as AgentClusterInstallK8sResource;
351
- expect(getSelectedVersion([], aci)).toBeUndefined();
354
+ expect(getSelectedVersion([], aci, t)).toBeUndefined();
352
355
  });
353
356
  });
354
357
 
@@ -8,6 +8,7 @@ import {
8
8
  } from '../../types';
9
9
  import { CpuArchitecture, OpenshiftVersionOptionType } from '../../../common';
10
10
  import { getComparableVersionInt } from '../../../common/utils';
11
+ import { TFunction } from 'i18next';
11
12
 
12
13
  export const getVersionFromReleaseString = (value = '') => {
13
14
  const match = /(\d+\.\d+(?:\.\d+)?(?:-\w+)?)/gm.exec(value);
@@ -78,12 +79,13 @@ const extractMajorMinor = (version: string): string => {
78
79
  // Converts a ClusterImageSet to an OpenshiftVersionOptionType
79
80
  const toVersionOption = (
80
81
  clusterImageSet: ClusterImageSetK8sResource,
82
+ t: TFunction,
81
83
  ): OpenshiftVersionOptionType => {
82
84
  const version = getVersionFromClusterImageSet(clusterImageSet);
83
85
  const cpuArch = getCPUArchFromClusterImageSet(clusterImageSet);
84
86
 
85
87
  return {
86
- label: `OpenShift ${version}`,
88
+ label: `${t('ai:OpenShift')} ${version}`,
87
89
  version,
88
90
  value: clusterImageSet.metadata?.name as string,
89
91
  default: false,
@@ -109,6 +111,7 @@ const supportedNutanixPlatforms = ['x86_64', 'x86-64'];
109
111
 
110
112
  export const getOCPVersions = (
111
113
  clusterImageSets: ClusterImageSetK8sResource[],
114
+ t: TFunction,
112
115
  isNutanix?: boolean,
113
116
  osImages?: OsImage[],
114
117
  extended?: boolean,
@@ -118,7 +121,7 @@ export const getOCPVersions = (
118
121
 
119
122
  const versions = clusterImageSets
120
123
  .filter((clusterImageSet) => isValidImageSet(clusterImageSet, architectures, extended))
121
- .map(toVersionOption)
124
+ .map((clusterImageSet) => toVersionOption(clusterImageSet, t))
122
125
  .filter((v) => hasMatchingOsImage(v, osImageVersions))
123
126
  .sort((a, b) => b.label.localeCompare(a.label));
124
127
 
@@ -131,13 +134,14 @@ export const getOCPVersions = (
131
134
  export const getSelectedVersion = (
132
135
  clusterImages: ClusterImageSetK8sResource[],
133
136
  agentClusterInstall: AgentClusterInstallK8sResource,
137
+ t: TFunction,
134
138
  ) => {
135
139
  const selectedClusterImage = clusterImages.find(
136
140
  (ci) => ci.metadata?.name === agentClusterInstall?.spec?.imageSetRef?.name,
137
141
  );
138
142
 
139
143
  return selectedClusterImage
140
- ? getOCPVersions([selectedClusterImage], undefined, undefined, true)?.[0]?.version
144
+ ? getOCPVersions([selectedClusterImage], t, undefined, undefined, true)?.[0]?.version
141
145
  : agentClusterInstall?.spec?.imageSetRef?.name;
142
146
  };
143
147
 
@@ -4,5 +4,4 @@ export * from './InfraEnv';
4
4
  export * from './ClusterDeployment';
5
5
  export * from './modals';
6
6
  export * from './Agent';
7
- export * from './featureSupportLevels';
8
7
  export * from './Hypershift';
@@ -26,7 +26,10 @@ export const CimStorageMissingAlert: React.FC<{
26
26
  >
27
27
  {t('ai:Install storage operator')}
28
28
  </AlertActionLink>,
29
- <AlertActionLink key="storage-class" onClick={() => window.open(docStorageUrl, '_blank')}>
29
+ <AlertActionLink
30
+ key="storage-class"
31
+ onClick={() => window.open(docStorageUrl, '_blank', 'noopener,noreferrer')}
32
+ >
30
33
  {contentWorkaround as unknown as string}
31
34
  </AlertActionLink>,
32
35
  ];
@@ -12,12 +12,7 @@ import {
12
12
  } from '../../../common';
13
13
  import { TableRow } from '../../../common/components/hosts/AITable';
14
14
  import HostsTable from '../../../common/components/hosts/HostsTable';
15
- import {
16
- AgentK8sResource,
17
- BareMetalHostK8sResource,
18
- InfraEnvK8sResource,
19
- NMStateK8sResource,
20
- } from '../../types';
15
+ import { AgentK8sResource, BareMetalHostK8sResource, InfraEnvK8sResource } from '../../types';
21
16
  import { useAgentsTable } from '../Agent/tableUtils';
22
17
  import { AGENT_BMH_NAME_LABEL_KEY } from '../common/constants';
23
18
  import AgentStatus from '../Agent/AgentStatus';
@@ -142,13 +137,8 @@ type MassDeleteAgentModalProps = {
142
137
  onClose: VoidFunction;
143
138
  agents: AgentK8sResource[];
144
139
  bmhs: BareMetalHostK8sResource[];
145
- nmStates: NMStateK8sResource[];
146
140
  // eslint-disable-next-line
147
- onDelete: (
148
- agent?: AgentK8sResource,
149
- bmh?: BareMetalHostK8sResource,
150
- nmStates?: NMStateK8sResource[],
151
- ) => Promise<unknown>;
141
+ onDelete: (agent?: AgentK8sResource, bmh?: BareMetalHostK8sResource) => Promise<unknown>;
152
142
  infraEnv: InfraEnvK8sResource;
153
143
  };
154
144
 
@@ -159,7 +149,6 @@ const MassDeleteAgentModal: React.FC<MassDeleteAgentModalProps> = ({
159
149
  agents,
160
150
  bmhs,
161
151
  infraEnv,
162
- nmStates,
163
152
  }) => {
164
153
  const [hosts] = useAgentsTable({ agents, bmhs, infraEnv });
165
154
  const onClick = async (host: Host) => {
@@ -175,7 +164,7 @@ const MassDeleteAgentModal: React.FC<MassDeleteAgentModalProps> = ({
175
164
  );
176
165
  }
177
166
  if (!agent?.spec?.clusterDeploymentName?.name) {
178
- return onDelete(agent, bmh, nmStates);
167
+ return onDelete(agent, bmh);
179
168
  }
180
169
  };
181
170
  const { t } = useTranslation();
@@ -2,3 +2,4 @@ export * from './useConfigMaps';
2
2
  export * from './useAgentServiceConfig';
3
3
  export * from './useEvents';
4
4
  export * from './useAgents';
5
+ export * from './useStorageClasses';
@@ -0,0 +1,15 @@
1
+ import { useK8sWatchResource } from './useK8sWatchResource';
2
+ import { StorageClassK8sResource } from '../types';
3
+ import { K8sWatchHookProps } from './types';
4
+
5
+ export const useStorageClasses = (props: K8sWatchHookProps) =>
6
+ useK8sWatchResource<StorageClassK8sResource[]>(
7
+ {
8
+ groupVersionKind: {
9
+ group: 'storage.k8s.io',
10
+ kind: 'StorageClass',
11
+ version: 'v1',
12
+ },
13
+ },
14
+ props,
15
+ );
package/lib/cim/index.ts CHANGED
@@ -10,7 +10,6 @@ export * as Reducers from '../common/reducers';
10
10
  export * from '../common/api';
11
11
  export * from '../common/utils';
12
12
  export * from '../common/types';
13
- export * from '../common/features';
14
13
 
15
14
  export * from '../common/components/ui';
16
15
  export * from '../common/components/AlertsContextProvider';
@@ -3,6 +3,7 @@ import {
3
3
  Cluster,
4
4
  ClusterCreateParams,
5
5
  ClusterDefaultConfig,
6
+ DisconnectedClusterCreateParams,
6
7
  V2ClusterUpdateParams,
7
8
  Credentials,
8
9
  Host,
@@ -142,6 +143,13 @@ const ClustersAPI = {
142
143
  );
143
144
  },
144
145
 
146
+ registerDisconnected(params: DisconnectedClusterCreateParams) {
147
+ return client.post<Cluster, AxiosResponse<Cluster>, DisconnectedClusterCreateParams>(
148
+ `${ClustersAPI.makeBaseURI()}disconnected`,
149
+ params,
150
+ );
151
+ },
152
+
145
153
  update(clusterId: Cluster['id'], params: V2ClusterUpdateParams) {
146
154
  return client.patch<Cluster, AxiosResponse<Cluster>, V2ClusterUpdateParams>(
147
155
  `${ClustersAPI.makeBaseURI(clusterId)}`,
@@ -1,8 +1,13 @@
1
1
  import { clientWithoutCaseConverter } from '../../api/axiosClient';
2
- import {
3
- ArchitecturesSupportsLevel,
4
- FeaturesSupportsLevel,
5
- } from '../../components/featureSupportLevels/types';
2
+ import { ArchitectureSupportLevelMap, NewFeatureSupportLevelMap } from '../../components';
3
+
4
+ export interface ArchitecturesSupportsLevel {
5
+ architectures: ArchitectureSupportLevelMap;
6
+ }
7
+
8
+ export interface FeaturesSupportsLevel {
9
+ features: NewFeatureSupportLevelMap;
10
+ }
6
11
 
7
12
  const NewFeatureSupportLevelsAPI = {
8
13
  makeBaseURI() {