@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
@@ -3,7 +3,6 @@ import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
3
3
  import { Grid, GridItem, Wizard, WizardStep } from '@patternfly/react-core';
4
4
  import { AlertsContextProvider, ErrorState, LoadingState } from '../../../common';
5
5
  import { ClusterDeploymentWizardProps } from './types';
6
- import { ACMFeatureSupportLevelProvider } from '../featureSupportLevels';
7
6
  import { YamlPreview, useYamlPreview } from '../YamlPreview';
8
7
  import { wizardStepNames } from './constants';
9
8
  import { ClusterDeploymentWizardContextProvider } from './ClusterDeploymentWizardContext';
@@ -72,110 +71,103 @@ export const ClusterDeploymentWizard = ({
72
71
  <Grid style={{ height: '100%' }}>
73
72
  <GridItem span={isPreviewOpen ? 7 : 12}>
74
73
  <AlertsContextProvider>
75
- <ACMFeatureSupportLevelProvider clusterImages={clusterImages} isEditClusterFlow={true}>
76
- <ClusterDeploymentWizardContextProvider agentClusterInstall={agentClusterInstall}>
77
- <Wizard
78
- isVisitRequired
79
- startIndex={startIndex}
80
- className={className}
81
- onClose={onClose}
82
- >
83
- <WizardStep
84
- name={stepNames['installation-type']}
85
- id={'installation-type'}
86
- isDisabled
87
- />
88
-
89
- <WizardStep name={stepNames['cluster-details']} id={'cluster-details'}>
90
- <ClusterDeploymentDetailsStep
91
- clusterImages={clusterImages}
92
- usedClusterNames={usedClusterNames}
93
- clusterDeployment={clusterDeployment}
94
- agentClusterInstall={agentClusterInstall}
95
- agents={agents}
96
- onSaveDetails={onSaveDetails}
97
- isPreviewOpen={isPreviewOpen}
98
- infraEnv={infraEnv}
99
- isNutanix={isNutanix}
100
- />
101
- </WizardStep>
74
+ <ClusterDeploymentWizardContextProvider agentClusterInstall={agentClusterInstall}>
75
+ <Wizard isVisitRequired startIndex={startIndex} className={className} onClose={onClose}>
76
+ <WizardStep
77
+ name={stepNames['installation-type']}
78
+ id={'installation-type'}
79
+ isDisabled
80
+ />
102
81
 
103
- <WizardStep name={stepNames['automation']} id={'automation'} isDisabled />
82
+ <WizardStep name={stepNames['cluster-details']} id={'cluster-details'}>
83
+ <ClusterDeploymentDetailsStep
84
+ clusterImages={clusterImages}
85
+ usedClusterNames={usedClusterNames}
86
+ clusterDeployment={clusterDeployment}
87
+ agentClusterInstall={agentClusterInstall}
88
+ agents={agents}
89
+ onSaveDetails={onSaveDetails}
90
+ isPreviewOpen={isPreviewOpen}
91
+ infraEnv={infraEnv}
92
+ isNutanix={isNutanix}
93
+ />
94
+ </WizardStep>
104
95
 
105
- {isCIMFlow(clusterDeployment) ? (
106
- <WizardStep name={stepNames['hosts-selection']} id={'host-selection'}>
107
- {agentClusterInstall?.metadata?.name ? (
108
- <ClusterDeploymentHostSelectionStep
109
- clusterDeployment={clusterDeployment}
110
- agentClusterInstall={agentClusterInstall}
111
- onSaveHostsSelection={onSaveHostsSelection}
112
- agents={agents}
113
- aiConfigMap={aiConfigMap}
114
- onEditRole={hostActions.onEditRole}
115
- onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
116
- isNutanix={isNutanix}
117
- />
118
- ) : (
119
- <LoadingState />
120
- )}
121
- </WizardStep>
122
- ) : (
123
- <WizardStep name={stepNames['hosts-discovery']} id={'host-discovery'}>
124
- {isAIFlow && onSaveISOParams && onCreateBMH ? (
125
- <ClusterDeploymentHostsDiscoveryStep
126
- clusterDeployment={clusterDeployment}
127
- agentClusterInstall={agentClusterInstall}
128
- agents={agents}
129
- bareMetalHosts={bareMetalHosts}
130
- aiConfigMap={aiConfigMap}
131
- infraEnv={infraEnv}
132
- fetchSecret={fetchSecret}
133
- onChangeBMHHostname={onChangeBMHHostname}
134
- onEditRole={hostActions.onEditRole}
135
- onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
136
- onDeleteHost={hostActions.onDeleteHost}
137
- onSaveISOParams={onSaveISOParams}
138
- onCreateBMH={onCreateBMH}
139
- {...rest}
140
- />
141
- ) : (
142
- <LoadingState />
143
- )}
144
- </WizardStep>
145
- )}
96
+ <WizardStep name={stepNames['automation']} id={'automation'} isDisabled />
146
97
 
147
- <WizardStep name={stepNames['networking']} id={'networking'}>
148
- <ClusterDeploymentNetworkingStep
149
- clusterDeployment={clusterDeployment}
150
- agentClusterInstall={agentClusterInstall}
151
- agents={agents}
152
- onSaveNetworking={onSaveNetworking}
153
- onEditHost={hostActions.onEditHost}
154
- onEditRole={hostActions.onEditRole}
155
- fetchInfraEnv={fetchInfraEnv}
156
- isPreviewOpen={isPreviewOpen}
157
- onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
158
- isNutanix={isNutanix}
159
- />
98
+ {isCIMFlow(clusterDeployment) ? (
99
+ <WizardStep name={stepNames['host-selection']} id={'host-selection'}>
100
+ {agentClusterInstall?.metadata?.name ? (
101
+ <ClusterDeploymentHostSelectionStep
102
+ clusterDeployment={clusterDeployment}
103
+ agentClusterInstall={agentClusterInstall}
104
+ onSaveHostsSelection={onSaveHostsSelection}
105
+ agents={agents}
106
+ aiConfigMap={aiConfigMap}
107
+ onEditRole={hostActions.onEditRole}
108
+ onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
109
+ isNutanix={isNutanix}
110
+ />
111
+ ) : (
112
+ <LoadingState />
113
+ )}
160
114
  </WizardStep>
161
-
162
- <WizardStep name={stepNames['custom-manifests']} id={'custom-manifests'}>
163
- <ClusterDeploymentCustomManifestsStep agentClusterInstall={agentClusterInstall} />
115
+ ) : (
116
+ <WizardStep name={stepNames['host-discovery']} id={'host-discovery'}>
117
+ {isAIFlow && onSaveISOParams && onCreateBMH ? (
118
+ <ClusterDeploymentHostsDiscoveryStep
119
+ clusterDeployment={clusterDeployment}
120
+ agentClusterInstall={agentClusterInstall}
121
+ agents={agents}
122
+ bareMetalHosts={bareMetalHosts}
123
+ aiConfigMap={aiConfigMap}
124
+ infraEnv={infraEnv}
125
+ fetchSecret={fetchSecret}
126
+ onChangeBMHHostname={onChangeBMHHostname}
127
+ onEditRole={hostActions.onEditRole}
128
+ onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
129
+ onDeleteHost={hostActions.onDeleteHost}
130
+ onSaveISOParams={onSaveISOParams}
131
+ onCreateBMH={onCreateBMH}
132
+ {...rest}
133
+ />
134
+ ) : (
135
+ <LoadingState />
136
+ )}
164
137
  </WizardStep>
138
+ )}
165
139
 
166
- <WizardStep name={stepNames['review']} id={'review'}>
167
- <ClusterDeploymentReviewStep
168
- onFinish={onFinish}
169
- clusterDeployment={clusterDeployment}
170
- agentClusterInstall={agentClusterInstall}
171
- agents={agents}
172
- clusterImages={clusterImages}
173
- infraEnv={infraEnv}
174
- />
175
- </WizardStep>
176
- </Wizard>
177
- </ClusterDeploymentWizardContextProvider>
178
- </ACMFeatureSupportLevelProvider>
140
+ <WizardStep name={stepNames['networking']} id={'networking'}>
141
+ <ClusterDeploymentNetworkingStep
142
+ clusterDeployment={clusterDeployment}
143
+ agentClusterInstall={agentClusterInstall}
144
+ agents={agents}
145
+ onSaveNetworking={onSaveNetworking}
146
+ onEditHost={hostActions.onEditHost}
147
+ onEditRole={hostActions.onEditRole}
148
+ fetchInfraEnv={fetchInfraEnv}
149
+ isPreviewOpen={isPreviewOpen}
150
+ onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
151
+ isNutanix={isNutanix}
152
+ />
153
+ </WizardStep>
154
+
155
+ <WizardStep name={stepNames['custom-manifests']} id={'custom-manifests'}>
156
+ <ClusterDeploymentCustomManifestsStep agentClusterInstall={agentClusterInstall} />
157
+ </WizardStep>
158
+
159
+ <WizardStep name={stepNames['review']} id={'review'}>
160
+ <ClusterDeploymentReviewStep
161
+ onFinish={onFinish}
162
+ clusterDeployment={clusterDeployment}
163
+ agentClusterInstall={agentClusterInstall}
164
+ agents={agents}
165
+ clusterImages={clusterImages}
166
+ infraEnv={infraEnv}
167
+ />
168
+ </WizardStep>
169
+ </Wizard>
170
+ </ClusterDeploymentWizardContextProvider>
179
171
  </AlertsContextProvider>
180
172
  </GridItem>
181
173
  {isPreviewOpen && (
@@ -36,7 +36,7 @@ const ClusterInstallationError: React.FC<ClusterInstallationErrorProps> = ({
36
36
  agentClusterInstall={agentClusterInstall}
37
37
  />
38
38
  <AlertActionLink
39
- onClick={() => window.open(getReportIssueLink(), '_blank')}
39
+ onClick={() => window.open(getReportIssueLink(), '_blank', 'noopener,noreferrer')}
40
40
  id={getID('button-report-bug')}
41
41
  >
42
42
  {t('ai:Report a bug')}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { Formik, FormikProps, useFormikContext } from 'formik';
3
3
  import { Stack } from '@patternfly/react-core';
4
4
  import noop from 'lodash-es/noop.js';
5
- import { ClusterDetailsValues, getRichTextValidation } from '../../../../common';
5
+ import { ClusterDetailsValues, getRichTextValidation, useTranslation } from '../../../../common';
6
6
  import { ClusterImageSetK8sResource } from '../../../types/k8s/cluster-image-set';
7
7
  import { useDetailsFormik } from './useDetailsFormik';
8
8
  import { ClusterDetailsFormFieldsProps } from './ClusterDetailsFormFields';
@@ -57,8 +57,9 @@ export const ACMClusterDeploymentDetailsStep: React.FC<ACMClusterDeploymentDetai
57
57
  isNutanix,
58
58
  ...rest
59
59
  }) => {
60
- const ocpVersions = getOCPVersions(clusterImages, !!isNutanix, osImages);
61
- const allOcpVersions = getOCPVersions(clusterImages, !!isNutanix, osImages, true);
60
+ const { t } = useTranslation();
61
+ const ocpVersions = getOCPVersions(clusterImages, t, !!isNutanix, osImages);
62
+ const allOcpVersions = getOCPVersions(clusterImages, t, !!isNutanix, osImages, true);
62
63
 
63
64
  const [initialValues, validationSchema] = useDetailsFormik({
64
65
  ocpVersions,
@@ -24,11 +24,11 @@ import { useFormikContext } from 'formik';
24
24
  import {
25
25
  ClusterDetailsValues,
26
26
  CpuArchitecture,
27
+ isMajorMinorVersionEqualOrGreater,
27
28
  SupportedCpuArchitecture,
28
29
  } from '../../../../common';
29
30
  import { ClusterDeploymentWizardContext } from '../ClusterDeploymentWizardContext';
30
31
  import { ValidationSection } from '../components/ValidationSection';
31
- import { toNumber } from 'lodash-es';
32
32
 
33
33
  type ClusterDeploymentDetailsFormProps = {
34
34
  clusterImages: ClusterImageSetK8sResource[];
@@ -98,13 +98,13 @@ export const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsForm
98
98
  }) => {
99
99
  const { t } = useTranslation();
100
100
  const versions = React.useMemo(
101
- () => getOCPVersions(clusterImages, isNutanix, osImages),
102
- [clusterImages, isNutanix, osImages],
101
+ () => getOCPVersions(clusterImages, t, isNutanix, osImages),
102
+ [clusterImages, isNutanix, osImages, t],
103
103
  );
104
104
 
105
105
  const allVersions = React.useMemo(
106
- () => getOCPVersions(clusterImages, isNutanix, osImages, true),
107
- [clusterImages, isNutanix, osImages],
106
+ () => getOCPVersions(clusterImages, t, isNutanix, osImages, true),
107
+ [clusterImages, isNutanix, osImages, t],
108
108
  );
109
109
 
110
110
  const isEditFlow = !!clusterDeployment;
@@ -116,7 +116,7 @@ export const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsForm
116
116
  const version = allVersions.find((ver) => ver.value === values.openshiftVersion);
117
117
  const isMulti = version?.cpuArchitectures?.[0] === CpuArchitecture.MULTI;
118
118
 
119
- const highlyAvailableSupported = toNumber(version?.version?.split('.')?.[1]) >= 18;
119
+ const highlyAvailableSupported = isMajorMinorVersionEqualOrGreater(version?.version, '4.18');
120
120
  return [
121
121
  (isMulti ? cpuArchitectures : version?.cpuArchitectures) as SupportedCpuArchitecture[],
122
122
  highlyAvailableSupported && !isMulti,
@@ -29,8 +29,8 @@ export const ClusterDeploymentDetailsStep: React.FC<ClusterDeploymentDetailsStep
29
29
  const { addAlert } = useAlerts();
30
30
  const { goToNextStep } = useWizardContext();
31
31
 
32
- const ocpVersions = getOCPVersions(clusterImages, isNutanix);
33
- const allOcpVersions = getOCPVersions(clusterImages, isNutanix, undefined, true);
32
+ const ocpVersions = getOCPVersions(clusterImages, t, isNutanix);
33
+ const allOcpVersions = getOCPVersions(clusterImages, t, isNutanix, undefined, true);
34
34
  const gridSpans = getGridSpans(isPreviewOpen);
35
35
 
36
36
  const [initialValues, validationSchema] = useDetailsFormik({
@@ -120,9 +120,8 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
120
120
  )}
121
121
  {isEditFlow ? (
122
122
  <StaticTextField name="openshiftVersion" label="OpenShift version" isRequired>
123
- {t('ai:OpenShift')}{' '}
124
- {allVersions.find((v) => v.value === values.openshiftVersion)?.version ||
125
- values.openshiftVersion}
123
+ {allVersions.find((v) => v.value === values.openshiftVersion)?.label ||
124
+ `${t('ai:OpenShift')} ${values.openshiftVersion}`}
126
125
  </StaticTextField>
127
126
  ) : (
128
127
  <>
@@ -4,11 +4,12 @@ import { Cluster } from '@openshift-assisted/types/./assisted-installer-service'
4
4
  import { ValidationsInfo, ClusterWizardStepValidationsAlert } from '../../../../common';
5
5
  import { ClusterWizardStepHostStatusDeterminationObject } from '../../../../common/types/hosts';
6
6
  import ValidationsRunningAlert from '../../common/ValidationsRunningAlert';
7
- import { ClusterWizardStepsType, wizardStepsValidationsMap } from '../wizardTransition';
7
+ import { wizardStepsValidationsMap } from '../wizardTransition';
8
+ import { ClusterDeploymentWizardStepsType } from '../types';
8
9
 
9
10
  type ValidationSectionProps = {
10
11
  requireProxy?: boolean;
11
- currentStepId: ClusterWizardStepsType;
12
+ currentStepId: ClusterDeploymentWizardStepsType;
12
13
  validationsInfo?: ValidationsInfo;
13
14
  clusterStatus?: Cluster['status'];
14
15
  hosts: ClusterWizardStepHostStatusDeterminationObject[];
@@ -15,8 +15,8 @@ export const wizardStepNames = (
15
15
  'installation-type': t('ai:Installation type'),
16
16
  automation: t('ai:Automation'),
17
17
  'cluster-details': t('ai:Cluster details'),
18
- 'hosts-selection': t('ai:Cluster hosts'),
19
- 'hosts-discovery': t('ai:Cluster hosts'),
18
+ 'host-selection': t('ai:Cluster hosts'),
19
+ 'host-discovery': t('ai:Cluster hosts'),
20
20
  networking: t('ai:Networking'),
21
21
  'custom-manifests': t('ai:Custom manifests'),
22
22
  review: t('ai:Review and create'),
@@ -88,7 +88,7 @@ const ClusterDeploymentHostDiscoveryTable: React.FC<ClusterDeploymentHostDiscove
88
88
  bmhStatuses,
89
89
  onEditHostname: onEditHost,
90
90
  onApprove,
91
- wizardStepId: 'hosts-discovery',
91
+ wizardStepId: 'host-discovery',
92
92
  t,
93
93
  }),
94
94
  roleColumn(t, hostActions.canEditRole, hostActions.onEditRole),
@@ -61,7 +61,7 @@ export const ClusterDeploymentHostsDiscoveryStep = ({
61
61
  errors.push(t('ai:Hostnames must be unique.'));
62
62
  }
63
63
  const agentsNotHealthy = infraEnvAgents
64
- .map((agent) => getWizardStepAgentStatus(agent, 'hosts-discovery', t).status.key)
64
+ .map((agent) => getWizardStepAgentStatus(agent, 'host-discovery', t).status.key)
65
65
  .some((status) =>
66
66
  ['disconnected', 'disabled', 'error', 'insufficient', 'cancelled'].includes(status),
67
67
  );
@@ -173,7 +173,7 @@ export const ClusterDeploymentHostsDiscoveryStep = ({
173
173
 
174
174
  {!!syncError && (
175
175
  <GridItem>
176
- <ValidationSection currentStepId={'hosts-selection'} hosts={[]}>
176
+ <ValidationSection currentStepId={'host-selection'} hosts={[]}>
177
177
  <Alert variant={AlertVariant.danger} title={t('ai:An error occurred')} isInline>
178
178
  {syncError}
179
179
  </Alert>
@@ -216,7 +216,7 @@ const HostSelectionForm: React.FC<HostSelectionFormProps> = ({
216
216
  React.useEffect(() => {
217
217
  if (nextRequested && !isSubmitting) {
218
218
  const agentStatuses = selectedAgents.map(
219
- (agent) => getWizardStepAgentStatus(agent, 'hosts-selection', t).status.key,
219
+ (agent) => getWizardStepAgentStatus(agent, 'host-selection', t).status.key,
220
220
  );
221
221
  if (
222
222
  agentStatuses.some((status) =>
@@ -227,7 +227,7 @@ const HostSelectionForm: React.FC<HostSelectionFormProps> = ({
227
227
  } else if (
228
228
  !!selectedAgents.length &&
229
229
  selectedAgents.every(
230
- (agent) => getWizardStepAgentStatus(agent, 'hosts-selection', t).status.key === 'known',
230
+ (agent) => getWizardStepAgentStatus(agent, 'host-selection', t).status.key === 'known',
231
231
  )
232
232
  ) {
233
233
  setShowClusterErrors(true);
@@ -34,15 +34,12 @@ import {
34
34
  } from '../../helpers';
35
35
  import { isAgentOfCluster } from '../helpers';
36
36
  import { wizardStepNames } from '../constants';
37
- import {
38
- wizardStepsValidationsMap,
39
- ClusterWizardStepsType,
40
- allClusterWizardSoftValidationIds,
41
- } from '../wizardTransition';
37
+ import { wizardStepsValidationsMap, allClusterWizardSoftValidationIds } from '../wizardTransition';
42
38
  import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
43
39
  import { ClusterDeploymentWizardContext } from '../ClusterDeploymentWizardContext';
44
40
  import { ReviewConfigMapsTable } from './ReviewConfigMapsTable';
45
41
  import { ValidationSection } from '../components/ValidationSection';
42
+ import { ClusterDeploymentWizardStepsType } from '../types';
46
43
 
47
44
  type ClusterDeploymentReviewStepProps = {
48
45
  clusterDeployment: ClusterDeploymentK8sResource;
@@ -63,7 +60,7 @@ export const ClusterDeploymentReviewStep = ({
63
60
  infraEnv,
64
61
  }: ClusterDeploymentReviewStepProps) => {
65
62
  const { addAlert, clearAlerts } = useAlerts();
66
- const { activeStep, goToPrevStep, goToStepByName, close } = useWizardContext();
63
+ const { activeStep, goToPrevStep, goToStepById, close } = useWizardContext();
67
64
  const { syncError } = React.useContext(ClusterDeploymentWizardContext);
68
65
  const [isSubmitting, setSubmitting] = React.useState(false);
69
66
  const cdName = clusterDeployment.metadata?.name;
@@ -107,7 +104,7 @@ export const ClusterDeploymentReviewStep = ({
107
104
  );
108
105
  useWizardFooter(footer);
109
106
 
110
- const openShiftVersion = getSelectedVersion(clusterImages, agentClusterInstall);
107
+ const openShiftVersion = getSelectedVersion(clusterImages, agentClusterInstall, t);
111
108
  const platform =
112
109
  getPlatforms(t)[
113
110
  (agentClusterInstall?.spec?.platformType?.toLowerCase() || 'baremetal') as PlatformType
@@ -187,9 +184,9 @@ export const ClusterDeploymentReviewStep = ({
187
184
  <DetailItem
188
185
  title={t('ai:Cluster validations')}
189
186
  value={
190
- <ClusterValidations<ClusterWizardStepsType>
187
+ <ClusterValidations<ClusterDeploymentWizardStepsType>
191
188
  validationsInfo={cluster.validationsInfo}
192
- setCurrentStepId={goToStepByName}
189
+ setCurrentStepId={goToStepById}
193
190
  wizardStepNames={wizardStepNames(t)}
194
191
  wizardStepsValidationsMap={wizardStepsValidationsMap}
195
192
  />
@@ -199,9 +196,12 @@ export const ClusterDeploymentReviewStep = ({
199
196
  <DetailItem
200
197
  title={t('ai:Host validations')}
201
198
  value={
202
- <HostsValidations<ClusterWizardStepsType, typeof allClusterWizardSoftValidationIds>
199
+ <HostsValidations<
200
+ ClusterDeploymentWizardStepsType,
201
+ typeof allClusterWizardSoftValidationIds
202
+ >
203
203
  hosts={cluster.hosts}
204
- setCurrentStepId={goToStepByName}
204
+ setCurrentStepId={goToStepById}
205
205
  wizardStepNames={wizardStepNames(t)}
206
206
  allClusterWizardSoftValidationIds={allClusterWizardSoftValidationIds}
207
207
  wizardStepsValidationsMap={wizardStepsValidationsMap}
@@ -41,8 +41,8 @@ export type AgentTableActions = {
41
41
 
42
42
  export type ClusterDeploymentWizardStepsType =
43
43
  | 'cluster-details'
44
- | 'hosts-selection'
45
- | 'hosts-discovery'
44
+ | 'host-selection'
45
+ | 'host-discovery'
46
46
  | 'networking'
47
47
  | 'custom-manifests'
48
48
  | 'review';
@@ -188,7 +188,6 @@ export type InfraEnvAgentTableProps = Pick<
188
188
  agentMachines: AgentMachineK8sResource[];
189
189
  bareMetalHosts: BareMetalHostK8sResource[];
190
190
  infraEnv: InfraEnvK8sResource;
191
- nmStates: NMStateK8sResource[];
192
191
  getClusterDeploymentLink: (cd: { name: string; namespace: string }) => string;
193
192
  onChangeHostname: (agent: AgentK8sResource, hostname: string) => Promise<AgentK8sResource>;
194
193
  onChangeBMHHostname: (
@@ -10,14 +10,6 @@ import { AgentK8sResource } from '../../types/k8s/agent';
10
10
  import { AgentClusterInstallK8sResource } from '../../types/k8s/agent-cluster-install';
11
11
  import { ClusterDeploymentWizardStepsType } from './types';
12
12
 
13
- export type ClusterWizardStepsType =
14
- | 'cluster-details'
15
- | 'hosts-selection'
16
- | 'hosts-discovery'
17
- | 'networking'
18
- | 'custom-manifests'
19
- | 'review';
20
-
21
13
  const clusterDetailsStepValidationsMap: WizardStepValidationMap = {
22
14
  cluster: {
23
15
  groups: [],
@@ -85,10 +77,23 @@ const networkingStepValidationsMap: WizardStepValidationMap = {
85
77
  },
86
78
  };
87
79
 
80
+ const customManifestsValidationsMap: WizardStepValidationMap = {
81
+ cluster: {
82
+ groups: ['network'],
83
+ validationIds: ['platform-requirements-satisfied', 'custom-manifests-requirements-satisfied'],
84
+ },
85
+ host: {
86
+ allowedStatuses: ['known', 'disabled'],
87
+ groups: ['network'],
88
+ validationIds: [],
89
+ },
90
+ softValidationIds: ['ntp-synced', 'container-images-available', 'mtu-valid'],
91
+ };
92
+
88
93
  const reviewStepValidationsMap: WizardStepValidationMap = {
89
94
  cluster: {
90
95
  groups: [],
91
- validationIds: ['all-hosts-are-ready-to-install'],
96
+ validationIds: ['all-hosts-are-ready-to-install', 'custom-manifests-requirements-satisfied'],
92
97
  },
93
98
  host: {
94
99
  allowedStatuses: ['known', 'disabled'],
@@ -98,14 +103,15 @@ const reviewStepValidationsMap: WizardStepValidationMap = {
98
103
  softValidationIds: [],
99
104
  };
100
105
 
101
- export const wizardStepsValidationsMap: WizardStepsValidationMap<ClusterWizardStepsType> = {
102
- 'cluster-details': clusterDetailsStepValidationsMap,
103
- 'hosts-discovery': hostDiscoveryStepValidationsMap,
104
- 'hosts-selection': hostDiscoveryStepValidationsMap,
105
- networking: networkingStepValidationsMap,
106
- 'custom-manifests': networkingStepValidationsMap,
107
- review: reviewStepValidationsMap,
108
- };
106
+ export const wizardStepsValidationsMap: WizardStepsValidationMap<ClusterDeploymentWizardStepsType> =
107
+ {
108
+ 'cluster-details': clusterDetailsStepValidationsMap,
109
+ 'host-discovery': hostDiscoveryStepValidationsMap,
110
+ 'host-selection': hostDiscoveryStepValidationsMap,
111
+ networking: networkingStepValidationsMap,
112
+ 'custom-manifests': customManifestsValidationsMap,
113
+ review: reviewStepValidationsMap,
114
+ };
109
115
 
110
116
  export const allClusterWizardSoftValidationIds =
111
117
  getAllClusterWizardSoftValidationIds(wizardStepsValidationsMap);
@@ -140,18 +146,23 @@ const canNextFromClusterDeploymentWizardStep = (
140
146
  export const canNextFromHostSelectionStep = (
141
147
  agentClusterInstall: AgentClusterInstallK8sResource,
142
148
  agents: AgentK8sResource[],
143
- ) => canNextFromClusterDeploymentWizardStep(agentClusterInstall, agents, 'hosts-selection');
149
+ ) => canNextFromClusterDeploymentWizardStep(agentClusterInstall, agents, 'host-selection');
144
150
 
145
151
  export const canNextFromHostDiscoveryStep = (
146
152
  agentClusterInstall: AgentClusterInstallK8sResource,
147
153
  agents: AgentK8sResource[],
148
- ) => canNextFromClusterDeploymentWizardStep(agentClusterInstall, agents, 'hosts-discovery');
154
+ ) => canNextFromClusterDeploymentWizardStep(agentClusterInstall, agents, 'host-discovery');
149
155
 
150
156
  export const canNextFromNetworkingStep = (
151
157
  agentClusterInstall: AgentClusterInstallK8sResource,
152
158
  agents: AgentK8sResource[],
153
159
  ) => canNextFromClusterDeploymentWizardStep(agentClusterInstall, agents, 'networking');
154
160
 
161
+ export const canNextFromCustomManifestsStep = (
162
+ agentClusterInstall: AgentClusterInstallK8sResource,
163
+ agents: AgentK8sResource[],
164
+ ) => canNextFromClusterDeploymentWizardStep(agentClusterInstall, agents, 'custom-manifests');
165
+
155
166
  export const canNextFromReviewStep = (
156
167
  agentClusterInstall: AgentClusterInstallK8sResource,
157
168
  agents: AgentK8sResource[],
@@ -11,12 +11,14 @@ import { useTranslation } from '../../../../../common/hooks/use-translation-wrap
11
11
  import { BaseDnsHelperText } from '../../../ClusterDeployment/clusterDetails/ClusterDetailsFormFields';
12
12
  import { useTemptiflySync } from '../../hooks/useTemptiflySync';
13
13
  import { DetailsFormProps, DetailsFormValues } from './types';
14
+ import { StorageClassDropdown } from './StorageClassDropdown';
14
15
 
15
16
  const DetailsForm: React.FC<DetailsFormProps> = ({
16
17
  onValuesChanged,
17
18
  extensionAfter,
18
19
  ocpVersions,
19
20
  allVersions,
21
+ storageClasses,
20
22
  }) => {
21
23
  const { t } = useTranslation();
22
24
  const [openshiftVersionModalOpen, setOpenshiftVersionModalOpen] = React.useState(false);
@@ -69,6 +71,8 @@ const DetailsForm: React.FC<DetailsFormProps> = ({
69
71
  />
70
72
  )}
71
73
 
74
+ <StorageClassDropdown storageClasses={storageClasses} />
75
+
72
76
  <PullSecret />
73
77
  </Form>
74
78
  );
@@ -4,7 +4,9 @@ import * as React from 'react';
4
4
  import * as Yup from 'yup';
5
5
  import {
6
6
  dnsNameValidationSchema,
7
+ ErrorState,
7
8
  getDefaultOpenShiftVersion,
9
+ LoadingState,
8
10
  nameValidationSchema,
9
11
  pullSecretValidationSchema,
10
12
  } from '../../../../../common';
@@ -12,6 +14,7 @@ import { useTranslation } from '../../../../../common/hooks/use-translation-wrap
12
14
  import { useSupportedOCPVersions } from '../../hooks/useSupportedOCPVersions';
13
15
  import DetailsForm from './DetailsForm';
14
16
  import { DetailsStepProps, UseDetailsFormik } from './types';
17
+ import { useStorageClasses } from '../../../../hooks';
15
18
 
16
19
  const useDetailsFormik: UseDetailsFormik = ({
17
20
  ocpVersions,
@@ -27,6 +30,7 @@ const useDetailsFormik: UseDetailsFormik = ({
27
30
  pullSecret: initPullSecret,
28
31
  baseDnsDomain: initBaseDomain,
29
32
  customOpenshiftSelect: null,
33
+ storageClass: '',
30
34
  }),
31
35
  [], // eslint-disable-line react-hooks/exhaustive-deps
32
36
  );
@@ -53,8 +57,10 @@ const DetailsStep: React.FC<DetailsStepProps> = ({
53
57
  initPullSecret,
54
58
  supportedVersionsCM,
55
59
  }) => {
56
- const ocpVersions = useSupportedOCPVersions(clusterImages, supportedVersionsCM);
57
- const allVersions = useSupportedOCPVersions(clusterImages, supportedVersionsCM, true);
60
+ const { t } = useTranslation();
61
+ const ocpVersions = useSupportedOCPVersions(clusterImages, t, supportedVersionsCM);
62
+ const allVersions = useSupportedOCPVersions(clusterImages, t, supportedVersionsCM, true);
63
+ const [storageClasses, isLoaded, error] = useStorageClasses({ isList: true });
58
64
 
59
65
  const [initialValues, validationSchema] = useDetailsFormik({
60
66
  ocpVersions,
@@ -63,6 +69,12 @@ const DetailsStep: React.FC<DetailsStepProps> = ({
63
69
  initBaseDomain,
64
70
  });
65
71
 
72
+ if (!isLoaded) {
73
+ return <LoadingState />;
74
+ } else if (error) {
75
+ return <ErrorState />;
76
+ }
77
+
66
78
  return (
67
79
  <Formik
68
80
  initialValues={initialValues}
@@ -75,6 +87,7 @@ const DetailsStep: React.FC<DetailsStepProps> = ({
75
87
  ocpVersions={ocpVersions}
76
88
  allVersions={allVersions}
77
89
  extensionAfter={extensionAfter}
90
+ storageClasses={storageClasses}
78
91
  />
79
92
  </Formik>
80
93
  );