@openshift-assisted/ui-lib 2.9.5-cim → 2.9.7-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 (422) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts +1 -0
  2. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts +1 -0
  4. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts.map +1 -1
  5. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts +2 -1
  6. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  7. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
  8. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.d.ts.map +1 -1
  9. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts +1 -0
  10. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts.map +1 -1
  11. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts.map +1 -1
  12. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -1
  13. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts +1 -0
  14. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
  15. package/build/@types/cim/components/ClusterDeployment/types.d.ts +6 -3
  16. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  17. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
  18. package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts +1 -1
  19. package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts.map +1 -1
  20. package/build/@types/cim/components/InfraEnv/types.d.ts +3 -1
  21. package/build/@types/cim/components/InfraEnv/types.d.ts.map +1 -1
  22. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  23. package/build/@types/cim/components/helpers/versions.d.ts +1 -1
  24. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  25. package/build/@types/cim/components/modals/AddBmcHostModal.d.ts.map +1 -1
  26. package/build/@types/cim/components/modals/AddBmcHostYamlModal.d.ts.map +1 -1
  27. package/build/@types/cim/components/modals/ProvisioningConfigErrorAlert.d.ts +5 -0
  28. package/build/@types/cim/components/modals/ProvisioningConfigErrorAlert.d.ts.map +1 -0
  29. package/build/@types/cim/components/modals/types.d.ts +2 -0
  30. package/build/@types/cim/components/modals/types.d.ts.map +1 -1
  31. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +1 -3
  32. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts.map +1 -1
  33. package/build/@types/common/api/axiosClient.d.ts.map +1 -1
  34. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  35. package/build/@types/common/components/clusterWizard/types.d.ts +1 -0
  36. package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
  37. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts +4 -0
  38. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts.map +1 -1
  39. package/build/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts.map +1 -1
  40. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +0 -1
  41. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
  42. package/build/@types/common/config/constants.d.ts.map +1 -1
  43. package/build/@types/common/features/featureGate.d.ts +1 -2
  44. package/build/@types/common/features/featureGate.d.ts.map +1 -1
  45. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.d.ts.map +1 -1
  46. package/build/@types/ocm/components/Routes.d.ts +6 -0
  47. package/build/@types/ocm/components/Routes.d.ts.map +1 -0
  48. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts.map +1 -1
  49. package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts.map +1 -1
  50. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  51. package/build/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts.map +1 -1
  52. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
  53. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
  54. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  55. package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts.map +1 -1
  56. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts +13 -5
  57. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts.map +1 -1
  58. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.d.ts.map +1 -1
  59. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/constants.d.ts +2 -2
  60. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/constants.d.ts.map +1 -1
  61. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.d.ts.map +1 -1
  62. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
  63. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  64. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  65. package/build/@types/ocm/components/clusterWizard/CustomManifestStep.d.ts.map +1 -1
  66. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
  67. package/build/@types/ocm/components/clusterWizard/StaticIp.d.ts.map +1 -1
  68. package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts +2 -0
  69. package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts.map +1 -0
  70. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  71. package/build/@types/ocm/components/clusters/Clusters.d.ts.map +1 -1
  72. package/build/@types/ocm/components/clusters/ClustersTable.d.ts.map +1 -1
  73. package/build/@types/ocm/components/clusters/NewClusterPage.d.ts.map +1 -1
  74. package/build/@types/ocm/components/clusters/clusterPolling.d.ts +1 -1
  75. package/build/@types/ocm/components/clusters/clusterPolling.d.ts.map +1 -1
  76. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
  77. package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
  78. package/build/@types/ocm/components/index.d.ts +1 -1
  79. package/build/@types/ocm/hooks/index.d.ts +0 -1
  80. package/build/@types/ocm/hooks/index.d.ts.map +1 -1
  81. package/build/@types/ocm/index.d.ts +0 -1
  82. package/build/@types/ocm/index.d.ts.map +1 -1
  83. package/build/@types/ocm/store/hooks.d.ts +5 -1
  84. package/build/@types/ocm/store/hooks.d.ts.map +1 -1
  85. package/build/@types/ocm/store/index.d.ts +5 -36
  86. package/build/@types/ocm/store/index.d.ts.map +1 -1
  87. package/build/@types/ocm/{selectors/clusters.d.ts → store/slices/clusters/selectors.d.ts} +15 -11
  88. package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -0
  89. package/build/@types/ocm/{reducers/clusters/clustersSlice.d.ts → store/slices/clusters/slice.d.ts} +4 -4
  90. package/build/@types/ocm/store/slices/clusters/slice.d.ts.map +1 -0
  91. package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts +14 -0
  92. package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts.map +1 -0
  93. package/build/@types/ocm/{reducers/clusters/currentClusterSlice.d.ts → store/slices/current-cluster/slice.d.ts} +5 -5
  94. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -0
  95. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts +9 -0
  96. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts.map +1 -0
  97. package/build/@types/ocm/store/slices/feature-flags/slice.d.ts +7 -0
  98. package/build/@types/ocm/store/slices/feature-flags/slice.d.ts.map +1 -0
  99. package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/selectors.d.ts +4 -3
  100. package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts.map +1 -0
  101. package/build/@types/ocm/store/slices/infra-envs/slice.d.ts.map +1 -0
  102. package/build/@types/ocm/store/slices/infra-envs/thunks.d.ts.map +1 -0
  103. package/build/@types/ocm/store/store-day1.d.ts +32 -0
  104. package/build/@types/ocm/store/store-day1.d.ts.map +1 -0
  105. package/build/@types/ocm/store/store-day2.d.ts +10 -0
  106. package/build/@types/ocm/store/store-day2.d.ts.map +1 -0
  107. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js +3 -2
  108. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js.map +1 -1
  109. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js +3 -3
  110. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js.map +1 -1
  111. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +5 -4
  112. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
  113. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js +2 -2
  114. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js.map +1 -1
  115. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.js +14 -9
  116. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.js.map +1 -1
  117. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js +2 -2
  118. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js.map +1 -1
  119. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js +2 -2
  120. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js.map +1 -1
  121. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +4 -4
  122. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -1
  123. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +4 -3
  124. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
  125. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js +9 -0
  126. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js.map +1 -1
  127. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js +1 -1
  128. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js.map +1 -1
  129. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +23 -10
  130. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
  131. package/build/cjs/cim/components/helpers/toAssisted.js +2 -1
  132. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  133. package/build/cjs/cim/components/helpers/versions.js +9 -2
  134. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  135. package/build/cjs/cim/components/modals/AddBmcHostModal.js +3 -1
  136. package/build/cjs/cim/components/modals/AddBmcHostModal.js.map +1 -1
  137. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js +3 -1
  138. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js.map +1 -1
  139. package/build/cjs/cim/components/modals/ProvisioningConfigErrorAlert.js +16 -0
  140. package/build/cjs/cim/components/modals/ProvisioningConfigErrorAlert.js.map +1 -0
  141. package/build/cjs/common/api/assisted-service/ClustersAPI.js +0 -6
  142. package/build/cjs/common/api/assisted-service/ClustersAPI.js.map +1 -1
  143. package/build/cjs/common/api/axiosClient.js +2 -4
  144. package/build/cjs/common/api/axiosClient.js.map +1 -1
  145. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +11 -3
  146. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  147. package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js +2 -2
  148. package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js.map +1 -1
  149. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js.map +1 -1
  150. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js +1 -3
  151. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js.map +1 -1
  152. package/build/cjs/common/components/ui/formik/validationSchemas.js +8 -16
  153. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
  154. package/build/cjs/common/config/constants.js +1 -3
  155. package/build/cjs/common/config/constants.js.map +1 -1
  156. package/build/cjs/common/features/featureGate.js +1 -11
  157. package/build/cjs/common/features/featureGate.js.map +1 -1
  158. package/build/cjs/common/utils.js +1 -1
  159. package/build/cjs/common/utils.js.map +1 -1
  160. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js +9 -5
  161. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js.map +1 -1
  162. package/build/cjs/ocm/components/Routes.js +29 -0
  163. package/build/cjs/ocm/components/Routes.js.map +1 -0
  164. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js +4 -4
  165. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js.map +1 -1
  166. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js +1 -1
  167. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js.map +1 -1
  168. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +0 -1
  169. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
  170. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +2 -4
  171. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  172. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js +1 -2
  173. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js.map +1 -1
  174. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js +1 -1
  175. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js.map +1 -1
  176. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +1 -1
  177. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
  178. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js +1 -1
  179. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js.map +1 -1
  180. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +8 -12
  181. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  182. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +5 -6
  183. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  184. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js +1 -1
  185. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +1 -1
  186. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +1 -1
  187. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +1 -1
  188. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js +1 -1
  189. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js.map +1 -1
  190. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +61 -18
  191. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
  192. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js +2 -2
  193. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js.map +1 -1
  194. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/constants.js +8 -4
  195. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/constants.js.map +1 -1
  196. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js +3 -3
  197. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js.map +1 -1
  198. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js +1 -1
  199. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js.map +1 -1
  200. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js +1 -1
  201. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js.map +1 -1
  202. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js +1 -1
  203. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js.map +1 -1
  204. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +4 -4
  205. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
  206. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js +2 -2
  207. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js.map +1 -1
  208. package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js +2 -2
  209. package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js.map +1 -1
  210. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +2 -2
  211. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
  212. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +2 -2
  213. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
  214. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +10 -9
  215. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  216. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +4 -2
  217. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  218. package/build/cjs/ocm/components/clusterWizard/CustomManifestStep.js +1 -1
  219. package/build/cjs/ocm/components/clusterWizard/CustomManifestStep.js.map +1 -1
  220. package/build/cjs/ocm/components/clusterWizard/HostDiscovery.js +4 -4
  221. package/build/cjs/ocm/components/clusterWizard/HostDiscovery.js.map +1 -1
  222. package/build/cjs/ocm/components/clusterWizard/Operators.js +3 -3
  223. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  224. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +4 -9
  225. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  226. package/build/cjs/ocm/components/clusterWizard/StaticIp.js +1 -1
  227. package/build/cjs/ocm/components/clusterWizard/StaticIp.js.map +1 -1
  228. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js +18 -0
  229. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js.map +1 -0
  230. package/build/cjs/ocm/components/clusters/ClusterPage.js +4 -9
  231. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  232. package/build/cjs/ocm/components/clusters/Clusters.js +8 -8
  233. package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
  234. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +6 -6
  235. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
  236. package/build/cjs/ocm/components/clusters/ClustersTable.js +2 -2
  237. package/build/cjs/ocm/components/clusters/ClustersTable.js.map +1 -1
  238. package/build/cjs/ocm/components/clusters/NewClusterPage.js +2 -2
  239. package/build/cjs/ocm/components/clusters/NewClusterPage.js.map +1 -1
  240. package/build/cjs/ocm/components/clusters/clusterPolling.js +11 -11
  241. package/build/cjs/ocm/components/clusters/clusterPolling.js.map +1 -1
  242. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +20 -8
  243. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  244. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js +1 -1
  245. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js.map +1 -1
  246. package/build/cjs/ocm/components/hosts/use-hosts-table.js +20 -20
  247. package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
  248. package/build/cjs/ocm/components/hosts/utils.js +2 -2
  249. package/build/cjs/ocm/components/hosts/utils.js.map +1 -1
  250. package/build/cjs/ocm/components/index.js +1 -1
  251. package/build/cjs/ocm/components/ui/OcmFormFields.js +1 -1
  252. package/build/cjs/ocm/components/ui/OcmFormFields.js.map +1 -1
  253. package/build/cjs/ocm/hooks/index.js +1 -3
  254. package/build/cjs/ocm/hooks/index.js.map +1 -1
  255. package/build/cjs/ocm/hooks/useSetClusterPermissions.js +2 -2
  256. package/build/cjs/ocm/hooks/useSetClusterPermissions.js.map +1 -1
  257. package/build/cjs/ocm/index.js +1 -2
  258. package/build/cjs/ocm/index.js.map +1 -1
  259. package/build/cjs/ocm/store/hooks.js +3 -1
  260. package/build/cjs/ocm/store/hooks.js.map +1 -1
  261. package/build/cjs/ocm/store/index.js +10 -19
  262. package/build/cjs/ocm/store/index.js.map +1 -1
  263. package/build/cjs/ocm/{selectors/clusters.js → store/slices/clusters/selectors.js} +4 -4
  264. package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -0
  265. package/build/cjs/ocm/{reducers/clusters/clustersSlice.js → store/slices/clusters/slice.js} +8 -7
  266. package/build/cjs/ocm/store/slices/clusters/slice.js.map +1 -0
  267. package/build/cjs/ocm/{selectors/currentCluster.js → store/slices/current-cluster/selectors.js} +1 -1
  268. package/build/cjs/ocm/store/slices/current-cluster/selectors.js.map +1 -0
  269. package/build/cjs/ocm/{reducers/clusters/currentClusterSlice.js → store/slices/current-cluster/slice.js} +12 -13
  270. package/build/cjs/ocm/store/slices/current-cluster/slice.js.map +1 -0
  271. package/build/cjs/ocm/store/slices/feature-flags/selectors.js +11 -0
  272. package/build/cjs/ocm/store/slices/feature-flags/selectors.js.map +1 -0
  273. package/build/cjs/ocm/store/slices/feature-flags/slice.js +16 -0
  274. package/build/cjs/ocm/store/slices/feature-flags/slice.js.map +1 -0
  275. package/build/cjs/ocm/store/slices/infra-envs/selectors.js.map +1 -0
  276. package/build/cjs/ocm/store/slices/infra-envs/slice.js.map +1 -0
  277. package/build/cjs/ocm/store/slices/infra-envs/thunks.js.map +1 -0
  278. package/build/cjs/ocm/store/store-day1.js +24 -0
  279. package/build/cjs/ocm/store/store-day1.js.map +1 -0
  280. package/build/cjs/ocm/store/store-day2.js +20 -0
  281. package/build/cjs/ocm/store/store-day2.js.map +1 -0
  282. package/lib/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.tsx +8 -1
  283. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx +7 -1
  284. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +6 -1
  285. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.tsx +2 -0
  286. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.tsx +14 -12
  287. package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.tsx +3 -1
  288. package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.tsx +3 -0
  289. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +4 -0
  290. package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +8 -2
  291. package/lib/cim/components/ClusterDeployment/types.ts +6 -3
  292. package/lib/cim/components/ClusterDeployment/wizardTransition.ts +10 -0
  293. package/lib/cim/components/Hypershift/hooks/useSupportedOCPVersions.ts +1 -1
  294. package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +45 -18
  295. package/lib/cim/components/InfraEnv/types.ts +4 -1
  296. package/lib/cim/components/helpers/toAssisted.ts +3 -0
  297. package/lib/cim/components/helpers/versions.ts +8 -1
  298. package/lib/cim/components/modals/AddBmcHostModal.tsx +3 -0
  299. package/lib/cim/components/modals/AddBmcHostYamlModal.tsx +3 -0
  300. package/lib/cim/components/modals/ProvisioningConfigErrorAlert.tsx +18 -0
  301. package/lib/cim/components/modals/types.ts +2 -0
  302. package/lib/common/api/assisted-service/ClustersAPI.ts +0 -9
  303. package/lib/common/api/axiosClient.ts +2 -3
  304. package/lib/common/components/clusterWizard/ReviewValidations.tsx +12 -1
  305. package/lib/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.tsx +2 -2
  306. package/lib/common/components/clusterWizard/types.ts +1 -0
  307. package/lib/common/components/clusterWizard/validationsInfoUtils.ts +9 -0
  308. package/lib/common/components/ui/formik/SingleNodeCheckbox.tsx +1 -3
  309. package/lib/common/components/ui/formik/validationSchemas.test.ts +4 -22
  310. package/lib/common/components/ui/formik/validationSchemas.ts +13 -22
  311. package/lib/common/config/constants.ts +1 -3
  312. package/lib/common/features/featureGate.tsx +1 -19
  313. package/lib/common/utils.ts +2 -2
  314. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.tsx +16 -11
  315. package/lib/ocm/components/Routes.tsx +34 -0
  316. package/lib/ocm/components/clusterConfiguration/DiscoveryImageForm.tsx +5 -1
  317. package/lib/ocm/components/clusterConfiguration/HostInventory.tsx +1 -1
  318. package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +0 -2
  319. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +6 -10
  320. package/lib/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.tsx +2 -3
  321. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +1 -1
  322. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +1 -1
  323. package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx +1 -1
  324. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +6 -19
  325. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +8 -6
  326. package/lib/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx +1 -1
  327. package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +1 -1
  328. package/lib/ocm/components/clusterConfiguration/operators/CnvHostRequirements.tsx +1 -1
  329. package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +129 -42
  330. package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx +10 -8
  331. package/lib/ocm/components/clusterConfiguration/platformIntegration/constants.tsx +7 -3
  332. package/lib/ocm/components/clusterConfiguration/review/ReviewStep.tsx +2 -2
  333. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.tsx +1 -1
  334. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.tsx +3 -3
  335. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.tsx +1 -1
  336. package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +6 -4
  337. package/lib/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.tsx +3 -3
  338. package/lib/ocm/components/clusterDetail/CancelInstallationModal.tsx +1 -1
  339. package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +1 -1
  340. package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +1 -1
  341. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +12 -7
  342. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +5 -3
  343. package/lib/ocm/components/clusterWizard/CustomManifestStep.tsx +1 -1
  344. package/lib/ocm/components/clusterWizard/HostDiscovery.tsx +2 -2
  345. package/lib/ocm/components/clusterWizard/Operators.tsx +1 -1
  346. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +6 -19
  347. package/lib/ocm/components/clusterWizard/StaticIp.tsx +1 -1
  348. package/lib/ocm/components/clusters/AssistedInstallerHeader.tsx +25 -0
  349. package/lib/ocm/components/clusters/ClusterPage.tsx +4 -28
  350. package/lib/ocm/components/clusters/Clusters.tsx +9 -11
  351. package/lib/ocm/components/clusters/ClustersListToolbar.tsx +5 -5
  352. package/lib/ocm/components/clusters/ClustersTable.tsx +4 -1
  353. package/lib/ocm/components/clusters/NewClusterPage.tsx +3 -6
  354. package/lib/ocm/components/clusters/clusterPolling.ts +7 -7
  355. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +21 -7
  356. package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +1 -1
  357. package/lib/ocm/components/hosts/use-hosts-table.tsx +5 -2
  358. package/lib/ocm/components/hosts/utils.ts +1 -1
  359. package/lib/ocm/components/index.ts +1 -1
  360. package/lib/ocm/components/ui/OcmFormFields.tsx +1 -1
  361. package/lib/ocm/hooks/index.ts +0 -1
  362. package/lib/ocm/hooks/useSetClusterPermissions.ts +1 -1
  363. package/lib/ocm/index.ts +0 -1
  364. package/lib/ocm/store/hooks.ts +6 -2
  365. package/lib/ocm/store/index.ts +5 -23
  366. package/lib/ocm/{selectors/clusters.tsx → store/slices/clusters/selectors.tsx} +10 -12
  367. package/lib/ocm/{reducers/clusters/clustersSlice.ts → store/slices/clusters/slice.ts} +6 -5
  368. package/lib/ocm/{selectors/currentCluster.ts → store/slices/current-cluster/selectors.ts} +7 -7
  369. package/lib/ocm/{reducers/clusters/currentClusterSlice.ts → store/slices/current-cluster/slice.ts} +10 -8
  370. package/lib/ocm/store/slices/feature-flags/selectors.ts +13 -0
  371. package/lib/ocm/store/slices/feature-flags/slice.ts +15 -0
  372. package/lib/ocm/store/slices/{infraEnvs → infra-envs}/selectors.ts +3 -3
  373. package/lib/ocm/store/slices/{infraEnvs → infra-envs}/thunks.ts +3 -3
  374. package/lib/ocm/store/store-day1.ts +23 -0
  375. package/lib/ocm/store/store-day2.ts +19 -0
  376. package/package.json +3 -4
  377. package/build/@types/ocm/components/Router.d.ts +0 -9
  378. package/build/@types/ocm/components/Router.d.ts.map +0 -1
  379. package/build/@types/ocm/hooks/useClusterSupportedPlatforms.d.ts +0 -11
  380. package/build/@types/ocm/hooks/useClusterSupportedPlatforms.d.ts.map +0 -1
  381. package/build/@types/ocm/hooks/useOracleDropdownItemState.d.ts +0 -10
  382. package/build/@types/ocm/hooks/useOracleDropdownItemState.d.ts.map +0 -1
  383. package/build/@types/ocm/reducers/clusters/clustersSlice.d.ts.map +0 -1
  384. package/build/@types/ocm/reducers/clusters/currentClusterSlice.d.ts.map +0 -1
  385. package/build/@types/ocm/reducers/clusters/index.d.ts +0 -3
  386. package/build/@types/ocm/reducers/clusters/index.d.ts.map +0 -1
  387. package/build/@types/ocm/selectors/clusters.d.ts.map +0 -1
  388. package/build/@types/ocm/selectors/currentCluster.d.ts +0 -14
  389. package/build/@types/ocm/selectors/currentCluster.d.ts.map +0 -1
  390. package/build/@types/ocm/selectors/index.d.ts +0 -3
  391. package/build/@types/ocm/selectors/index.d.ts.map +0 -1
  392. package/build/@types/ocm/store/slices/infraEnvs/selectors.d.ts.map +0 -1
  393. package/build/@types/ocm/store/slices/infraEnvs/slice.d.ts.map +0 -1
  394. package/build/@types/ocm/store/slices/infraEnvs/thunks.d.ts.map +0 -1
  395. package/build/cjs/ocm/components/Router.js +0 -25
  396. package/build/cjs/ocm/components/Router.js.map +0 -1
  397. package/build/cjs/ocm/hooks/useClusterSupportedPlatforms.js +0 -53
  398. package/build/cjs/ocm/hooks/useClusterSupportedPlatforms.js.map +0 -1
  399. package/build/cjs/ocm/hooks/useOracleDropdownItemState.js +0 -30
  400. package/build/cjs/ocm/hooks/useOracleDropdownItemState.js.map +0 -1
  401. package/build/cjs/ocm/reducers/clusters/clustersSlice.js.map +0 -1
  402. package/build/cjs/ocm/reducers/clusters/currentClusterSlice.js.map +0 -1
  403. package/build/cjs/ocm/reducers/clusters/index.js +0 -6
  404. package/build/cjs/ocm/reducers/clusters/index.js.map +0 -1
  405. package/build/cjs/ocm/selectors/clusters.js.map +0 -1
  406. package/build/cjs/ocm/selectors/currentCluster.js.map +0 -1
  407. package/build/cjs/ocm/selectors/index.js +0 -6
  408. package/build/cjs/ocm/selectors/index.js.map +0 -1
  409. package/build/cjs/ocm/store/slices/infraEnvs/selectors.js.map +0 -1
  410. package/build/cjs/ocm/store/slices/infraEnvs/slice.js.map +0 -1
  411. package/build/cjs/ocm/store/slices/infraEnvs/thunks.js.map +0 -1
  412. package/lib/ocm/components/Router.tsx +0 -29
  413. package/lib/ocm/hooks/useClusterSupportedPlatforms.ts +0 -70
  414. package/lib/ocm/hooks/useOracleDropdownItemState.ts +0 -45
  415. package/lib/ocm/reducers/clusters/index.ts +0 -2
  416. package/lib/ocm/selectors/index.ts +0 -2
  417. /package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/slice.d.ts +0 -0
  418. /package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/thunks.d.ts +0 -0
  419. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/selectors.js +0 -0
  420. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/slice.js +0 -0
  421. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/thunks.js +0 -0
  422. /package/lib/ocm/store/slices/{infraEnvs → infra-envs}/slice.ts +0 -0
@@ -21,6 +21,7 @@ export type ClusterDetailsFormFieldsProps = {
21
21
  forceOpenshiftVersion?: string;
22
22
  extensionAfter?: { [key: string]: React.ReactElement };
23
23
  versions: OpenshiftVersionOptionType[];
24
+ isNutanix?: boolean;
24
25
  };
25
26
 
26
27
  export const BaseDnsHelperText: React.FC<{ name?: string; baseDnsDomain?: string }> = ({
@@ -46,6 +47,7 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
46
47
  versions,
47
48
  forceOpenshiftVersion,
48
49
  extensionAfter,
50
+ isNutanix,
49
51
  }) => {
50
52
  const { values } = useFormikContext<ClusterDetailsValues>();
51
53
  const { name, baseDnsDomain, highAvailabilityMode } = values;
@@ -99,8 +101,12 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
99
101
  ) : (
100
102
  <OpenShiftVersionSelect versions={versions} />
101
103
  )}
102
- <SNOControlGroup versions={versions} highAvailabilityMode={highAvailabilityMode} />
103
- <ArmCheckbox versions={versions} />
104
+ {!isNutanix && (
105
+ <>
106
+ <SNOControlGroup versions={versions} highAvailabilityMode={highAvailabilityMode} />
107
+ <ArmCheckbox versions={versions} />
108
+ </>
109
+ )}
104
110
  {extensionAfter?.['openshiftVersion'] && extensionAfter['openshiftVersion']}
105
111
  {!isEditFlow && <PullSecret />}
106
112
  {extensionAfter?.['pullSecret'] && extensionAfter['pullSecret']}
@@ -15,7 +15,7 @@ import { BareMetalHostK8sResource } from '../../types/k8s/bare-metal-host';
15
15
  import { ClusterImageSetK8sResource } from '../../types/k8s/cluster-image-set';
16
16
  import { BMCFormProps } from '../Agent/types';
17
17
  import { AgentMachineK8sResource } from '../Hypershift/types';
18
- import { AddHostDropdownProps } from '../InfraEnv/types';
18
+ import { AddHostDropdownProps, ProvisioningConfigResult } from '../InfraEnv/types';
19
19
  import { AddHostModalProps, EditBMHModalProps, UploadActionModalProps } from '../modals/types';
20
20
 
21
21
  export type EditAgentModalProps = {
@@ -87,6 +87,7 @@ export type ClusterDeploymentDetailsStepProps = ClusterDeploymentDetailsProps &
87
87
  onSaveDetails: (values: ClusterDeploymentDetailsValues) => Promise<unknown>;
88
88
  onClose: () => void;
89
89
  isPreviewOpen: boolean;
90
+ isNutanix: boolean;
90
91
  };
91
92
 
92
93
  export type ClusterDeploymentDetailsNetworkingProps = Pick<
@@ -100,6 +101,7 @@ export type ClusterDeploymentDetailsNetworkingProps = Pick<
100
101
  onClose: () => void;
101
102
  fetchInfraEnv: (name: string, namespace: string) => Promise<InfraEnvK8sResource>;
102
103
  isPreviewOpen: boolean;
104
+ isNutanix: boolean;
103
105
  };
104
106
 
105
107
  export type AgentSelectorChangeProps = {
@@ -153,7 +155,6 @@ export type ClusterDeploymentWizardProps = {
153
155
  setPreviewOpen: (open: boolean) => void;
154
156
  fetchManagedClusters: () => Promise<K8sResourceCommon[]>;
155
157
  fetchKlusterletAddonConfig: () => Promise<K8sResourceCommon[]>;
156
- isBMPlatform: boolean;
157
158
  onSaveAgent: EditAgentModalProps['onSave'];
158
159
  onSaveBMH: EditBMHModalProps['onEdit'];
159
160
  onSaveISOParams?: AddHostModalProps['onSaveISOParams'];
@@ -163,6 +164,8 @@ export type ClusterDeploymentWizardProps = {
163
164
  onCreateBMH?: BMCFormProps['onCreateBMH'];
164
165
  docVersion: string; // ACM version
165
166
  onCreateBmcByYaml: UploadActionModalProps['onCreateBmcByYaml'];
167
+ provisioningConfigResult: ProvisioningConfigResult;
168
+ isNutanix: boolean;
166
169
  };
167
170
 
168
171
  export type FetchSecret = (name: string, namespace: string) => Promise<SecretK8sResource>;
@@ -176,6 +179,7 @@ export type ClusterDeploymentHostsSelectionProps = {
176
179
  onSetInstallationDiskId: AgentTableActions['onSetInstallationDiskId'];
177
180
  onAutoSelectChange: VoidFunction;
178
181
  onHostSelect: VoidFunction;
182
+ isNutanix: boolean;
179
183
  };
180
184
 
181
185
  export type InfraEnvAgentTableProps = Pick<
@@ -195,7 +199,6 @@ export type InfraEnvAgentTableProps = Pick<
195
199
  ) => Promise<BareMetalHostK8sResource>;
196
200
  // eslint-disable-next-line
197
201
  onMassDeleteHost: (agent?: AgentK8sResource, bmh?: BareMetalHostK8sResource) => Promise<any>;
198
- isBMPlatform: boolean;
199
202
  agentClusterInstalls: AgentClusterInstallK8sResource[];
200
203
  };
201
204
 
@@ -1,3 +1,4 @@
1
+ import { Host } from '@openshift-assisted/types/assisted-installer-service';
1
2
  import {
2
3
  getAllClusterWizardSoftValidationIds,
3
4
  getWizardStepClusterStatus,
@@ -68,6 +69,15 @@ const networkingStepValidationsMap: WizardStepValidationMap = {
68
69
  // TODO(mlibra): remove that container-images-available from soft validations and let backend drive it via disabling it.
69
70
  // Depends on: https://issues.redhat.com/browse/MGMT-5265
70
71
  softValidationIds: ['ntp-synced', 'container-images-available'],
72
+ getPageURL: (host: Host, validationID: string) => {
73
+ if (validationID === 'ntp-synced') {
74
+ return {
75
+ url: `multicloud/infrastructure/environments/details/${host.infraEnvId || ''}`,
76
+ name: 'infrastructure environment',
77
+ };
78
+ }
79
+ return undefined;
80
+ },
71
81
  };
72
82
 
73
83
  const reviewStepValidationsMap: WizardStepValidationMap = {
@@ -13,7 +13,7 @@ export const useSupportedOCPVersions = (
13
13
  supportedVersionsCM?: ConfigMapK8sResource,
14
14
  ) => {
15
15
  return React.useMemo(() => {
16
- const ocpVersions = getOCPVersions(clusterImages);
16
+ const ocpVersions = getOCPVersions(clusterImages, false);
17
17
  const supportedVersionsString = supportedVersionsCM?.data?.['supported-versions'];
18
18
  if (supportedVersionsString) {
19
19
  try {
@@ -2,20 +2,41 @@ import {
2
2
  Dropdown,
3
3
  DropdownGroup,
4
4
  DropdownItem,
5
+ DropdownItemProps,
5
6
  DropdownSeparator,
6
7
  DropdownToggle,
7
8
  Split,
8
9
  SplitItem,
10
+ Spinner,
9
11
  } from '@patternfly/react-core';
10
12
  import * as React from 'react';
11
- import { PopoverIcon } from '../../../common';
12
13
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
13
14
  import { AddBmcHostModal, AddBmcHostYamlModal, AddHostModal } from '../modals';
14
15
  import { AddHostDropdownProps } from './types';
15
16
  import './AddHostDropdown.css';
17
+ import { PopoverIcon } from '../../../common';
18
+ import { Trans } from 'react-i18next';
19
+ import { Link } from 'react-router-dom';
16
20
 
17
21
  type ModalType = 'iso' | 'bmc' | 'yaml' | 'ipxe' | undefined;
18
22
 
23
+ const DropdownItemWithLoading = (
24
+ props: DropdownItemProps & { isLoading: boolean; label: string },
25
+ ) => {
26
+ return (
27
+ <DropdownItem {...props} isDisabled={props.isDisabled || props.isLoading}>
28
+ <Split hasGutter>
29
+ <SplitItem>{props.label}</SplitItem>
30
+ {props.isLoading && (
31
+ <SplitItem>
32
+ <Spinner size="sm" />
33
+ </SplitItem>
34
+ )}
35
+ </Split>
36
+ </DropdownItem>
37
+ );
38
+ };
39
+
19
40
  const AddHostDropdown = ({
20
41
  infraEnv,
21
42
  agentClusterInstall,
@@ -24,10 +45,12 @@ const AddHostDropdown = ({
24
45
  onCreateBMH,
25
46
  docVersion,
26
47
  onCreateBmcByYaml,
27
- isBMPlatform,
48
+ provisioningConfigResult,
28
49
  }: AddHostDropdownProps) => {
29
50
  const [addModalType, setAddModalType] = React.useState<ModalType>(undefined);
30
51
  const [isKebabOpen, setIsKebabOpen] = React.useState(false);
52
+ const [provisioningConfig, provisioningConfigLoaded, provisioningConfigError] =
53
+ provisioningConfigResult;
31
54
  const { t } = useTranslation();
32
55
  return (
33
56
  <>
@@ -69,17 +92,19 @@ const AddHostDropdown = ({
69
92
  <Split hasGutter>
70
93
  <SplitItem>{t('ai:Baseboard Management Controller (BMC)')}</SplitItem>
71
94
  <SplitItem>
72
- {!isBMPlatform && (
95
+ {!provisioningConfig && (
73
96
  <>
74
97
  {' '}
75
98
  <PopoverIcon
76
99
  noVerticalAlign
77
100
  bodyContent={
78
- <p>
79
- {t(
80
- `ai:To enable the host's baseboard management controller (BMC) on the hub cluster, deploy the hub cluster on vSphere, BareMetal, OpenStack, or platform-agnostic (none type).`,
81
- )}
82
- </p>
101
+ <Trans t={t}>
102
+ ai:To enable the host's baseboard management controller (BMC) on the hub
103
+ cluster, you must first{' '}
104
+ <Link to="/k8s/cluster/metal3.io~v1alpha1~Provisioning/~new">
105
+ create a provisioning configuration.
106
+ </Link>
107
+ </Trans>
83
108
  }
84
109
  />
85
110
  </>
@@ -88,18 +113,18 @@ const AddHostDropdown = ({
88
113
  </Split>
89
114
  }
90
115
  >
91
- <DropdownItem
116
+ <DropdownItemWithLoading
92
117
  key="with-credentials"
93
118
  onClick={() => {
94
119
  setIsKebabOpen(false);
95
120
  setAddModalType('bmc');
96
121
  }}
97
122
  description={t('ai:Discover a single host via Baseboard Management Controller')}
98
- isDisabled={!isBMPlatform}
99
- >
100
- {t('ai:With BMC form')}
101
- </DropdownItem>
102
- <DropdownItem
123
+ label={t('ai:With BMC form')}
124
+ isLoading={!provisioningConfigLoaded}
125
+ isDisabled={!provisioningConfig && !provisioningConfigError}
126
+ />
127
+ <DropdownItemWithLoading
103
128
  key="upload-yaml"
104
129
  onClick={() => {
105
130
  setIsKebabOpen(false);
@@ -108,10 +133,10 @@ const AddHostDropdown = ({
108
133
  description={t(
109
134
  'ai:Discover multiple hosts by providing yaml with Bare Metal Host definitions',
110
135
  )}
111
- isDisabled={!isBMPlatform}
112
- >
113
- {t('ai:By uploading a YAML')}
114
- </DropdownItem>
136
+ label={t('ai:By uploading a YAML')}
137
+ isLoading={!provisioningConfigLoaded}
138
+ isDisabled={!provisioningConfig && !provisioningConfigError}
139
+ />
115
140
  </DropdownGroup>,
116
141
  ]}
117
142
  position={'right'}
@@ -145,6 +170,7 @@ const AddHostDropdown = ({
145
170
  onCreateBMH={onCreateBMH}
146
171
  usedHostnames={usedHostnames}
147
172
  docVersion={docVersion}
173
+ provisioningConfigError={provisioningConfigError}
148
174
  />
149
175
  )}
150
176
  {addModalType === 'yaml' && (
@@ -154,6 +180,7 @@ const AddHostDropdown = ({
154
180
  onClose={() => setAddModalType(undefined)}
155
181
  onCreateBmcByYaml={onCreateBmcByYaml}
156
182
  docVersion={docVersion}
183
+ provisioningConfigError={provisioningConfigError}
157
184
  />
158
185
  )}
159
186
  </>
@@ -1,6 +1,9 @@
1
+ import { K8sResourceCommon } from '@openshift-console/dynamic-plugin-sdk';
1
2
  import { AgentClusterInstallK8sResource, InfraEnvK8sResource } from '../../types';
2
3
  import { AddBmcHostModalProps, AddHostModalProps, UploadActionModalProps } from '../modals/types';
3
4
 
5
+ export type ProvisioningConfigResult = [K8sResourceCommon | null, boolean, unknown];
6
+
4
7
  export type AddHostDropdownProps = {
5
8
  infraEnv: InfraEnvK8sResource;
6
9
  agentClusterInstall?: AgentClusterInstallK8sResource;
@@ -9,5 +12,5 @@ export type AddHostDropdownProps = {
9
12
  onCreateBMH: AddBmcHostModalProps['onCreateBMH'];
10
13
  usedHostnames: AddBmcHostModalProps['usedHostnames'];
11
14
  onCreateBmcByYaml: UploadActionModalProps['onCreateBmcByYaml'];
12
- isBMPlatform: boolean;
15
+ provisioningConfigResult: ProvisioningConfigResult;
13
16
  };
@@ -67,6 +67,9 @@ export const getAIHosts = (
67
67
  progressStages: agentProgress?.progressStages,
68
68
  bootstrap: agent.status?.bootstrap,
69
69
  installationDiskId: agent.spec.installation_disk_id || agent.status?.installation_disk_id,
70
+ infraEnvId: `${agent.metadata?.namespace || ''}/${
71
+ agent.metadata?.labels?.['infraenvs.agent-install.openshift.io'] || ''
72
+ }`,
70
73
  };
71
74
  });
72
75
 
@@ -36,9 +36,16 @@ const getSupportLevelFromChannel = (
36
36
 
37
37
  export const getOCPVersions = (
38
38
  clusterImageSets: ClusterImageSetK8sResource[],
39
+ isNutanix?: boolean | undefined,
39
40
  ): OpenshiftVersionOptionType[] => {
40
41
  const versions = clusterImageSets
41
- .filter((clusterImageSet) => clusterImageSet.metadata?.labels?.visible !== 'false')
42
+ .filter((clusterImageSet) => {
43
+ let supportedPlatform = true;
44
+ if (isNutanix && clusterImageSet.spec?.releaseImage) {
45
+ supportedPlatform = clusterImageSet.spec.releaseImage.endsWith('-x86_64');
46
+ }
47
+ return supportedPlatform && clusterImageSet.metadata?.labels?.visible !== 'false';
48
+ })
42
49
  .map((clusterImageSet): OpenshiftVersionOptionType => {
43
50
  const version = getVersionFromReleaseImage(clusterImageSet.spec?.releaseImage);
44
51
  return {
@@ -4,6 +4,7 @@ import BMCForm from '../Agent/BMCForm';
4
4
  import { AddBmcHostModalProps } from './types';
5
5
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
6
6
  import { EnvironmentErrors } from '../InfraEnv/EnvironmentErrors';
7
+ import ProvisioningConfigErrorAlert from './ProvisioningConfigErrorAlert';
7
8
 
8
9
  const AddBmcHostModal: React.FC<AddBmcHostModalProps> = ({
9
10
  isOpen,
@@ -12,6 +13,7 @@ const AddBmcHostModal: React.FC<AddBmcHostModalProps> = ({
12
13
  onCreateBMH,
13
14
  usedHostnames,
14
15
  docVersion,
16
+ provisioningConfigError,
15
17
  }) => {
16
18
  const hasDHCP = infraEnv.metadata?.labels?.networkType !== 'static';
17
19
  const { t } = useTranslation();
@@ -26,6 +28,7 @@ const AddBmcHostModal: React.FC<AddBmcHostModalProps> = ({
26
28
  id="add-host-modal"
27
29
  >
28
30
  <EnvironmentErrors infraEnv={infraEnv} docVersion={docVersion} inModal>
31
+ <ProvisioningConfigErrorAlert error={provisioningConfigError} />
29
32
  <BMCForm
30
33
  onCreateBMH={onCreateBMH}
31
34
  onClose={onClose}
@@ -4,6 +4,7 @@ import { UploadActionModalProps } from './types';
4
4
  import AddBmcHostYamlForm from './AddBmcHostYamlForm';
5
5
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
6
6
  import { EnvironmentErrors } from '../InfraEnv/EnvironmentErrors';
7
+ import ProvisioningConfigErrorAlert from './ProvisioningConfigErrorAlert';
7
8
 
8
9
  const AddBmcHostYamlModal: React.FC<UploadActionModalProps> = ({
9
10
  isOpen,
@@ -11,6 +12,7 @@ const AddBmcHostYamlModal: React.FC<UploadActionModalProps> = ({
11
12
  onCreateBmcByYaml,
12
13
  infraEnv,
13
14
  docVersion,
15
+ provisioningConfigError,
14
16
  }) => {
15
17
  const { t } = useTranslation();
16
18
  return (
@@ -23,6 +25,7 @@ const AddBmcHostYamlModal: React.FC<UploadActionModalProps> = ({
23
25
  hasNoBodyWrapper
24
26
  >
25
27
  <EnvironmentErrors infraEnv={infraEnv} docVersion={docVersion} inModal>
28
+ <ProvisioningConfigErrorAlert error={provisioningConfigError} />
26
29
  <AddBmcHostYamlForm onClose={onClose} onCreateBmcByYaml={onCreateBmcByYaml} />
27
30
  </EnvironmentErrors>
28
31
  </Modal>
@@ -0,0 +1,18 @@
1
+ import { Alert } from '@patternfly/react-core';
2
+ import React from 'react';
3
+ import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
4
+ import { getErrorMessage } from '../../../common/utils';
5
+
6
+ const ProvisioningConfigErrorAlert = ({ error }: { error: unknown }) => {
7
+ const { t } = useTranslation();
8
+ if (!error) {
9
+ return null;
10
+ }
11
+ return (
12
+ <Alert title={t('ai:Failed to get Provisioning Configuration')} variant="danger" isInline>
13
+ {getErrorMessage(error)}
14
+ </Alert>
15
+ );
16
+ };
17
+
18
+ export default ProvisioningConfigErrorAlert;
@@ -32,6 +32,7 @@ export type AddBmcHostModalProps = Pick<
32
32
  > & {
33
33
  isOpen: boolean;
34
34
  docVersion: string;
35
+ provisioningConfigError?: unknown;
35
36
  };
36
37
 
37
38
  export type EditBMHModalProps = Pick<
@@ -70,4 +71,5 @@ export type UploadActionModalProps = {
70
71
  isEdit?: boolean;
71
72
  docVersion: string;
72
73
  infraEnv: InfraEnvK8sResource;
74
+ provisioningConfigError?: unknown;
73
75
  };
@@ -7,7 +7,6 @@ import {
7
7
  Credentials,
8
8
  Host,
9
9
  ImportClusterParams,
10
- PlatformType,
11
10
  PreflightHardwareRequirements,
12
11
  PresignedUrl,
13
12
  ListManifests,
@@ -62,10 +61,6 @@ const ClustersAPI = {
62
61
  return `${ClustersAPI.makeDownloadsBaseURI(clusterId)}/files-presigned`;
63
62
  },
64
63
 
65
- makeSupportedPlatformsBaseURI(clusterId: Cluster['id']) {
66
- return `${ClustersAPI.makeBaseURI(clusterId)}/supported-platforms`;
67
- },
68
-
69
64
  makeActionsBaseURI(clusterId: string) {
70
65
  return `${ClustersAPI.makeBaseURI(clusterId)}/actions`;
71
66
  },
@@ -126,10 +121,6 @@ const ClustersAPI = {
126
121
  });
127
122
  },
128
123
 
129
- getSupportedPlatforms(clusterId: Cluster['id']) {
130
- return client.get<PlatformType[]>(`${ClustersAPI.makeSupportedPlatformsBaseURI(clusterId)}`);
131
- },
132
-
133
124
  getPreflightRequirements(clusterId: Cluster['id']) {
134
125
  return client.get<PreflightHardwareRequirements>(
135
126
  `${ClustersAPI.makeBaseURI(clusterId)}/preflight-requirements`,
@@ -9,12 +9,11 @@ const withAssistedInstallerBasePath = (client: AxiosInstance): AxiosInstance =>
9
9
  if (cfg.url) {
10
10
  try {
11
11
  const url = new URL(cfg.url);
12
- cfg.url = `${url.origin}${basePath}${url.pathname}`;
12
+ cfg.url = `${url.origin}${basePath}${url.pathname}${url.search}`;
13
13
  } catch {
14
+ // This usually happens when the request is issued to a localhost endpoint.
14
15
  cfg.url = `${basePath}${cfg.url}`;
15
16
  }
16
- } else {
17
- cfg.url = `${basePath}`;
18
17
  }
19
18
 
20
19
  return cfg;
@@ -68,6 +68,7 @@ const FailingValidation = <S extends string>({
68
68
  setCurrentStepId,
69
69
  wizardStepNames,
70
70
  wizardStepsValidationsMap,
71
+ host,
71
72
  }: FailingValidationsProps<S>) => {
72
73
  const { t } = useTranslation();
73
74
 
@@ -88,7 +89,16 @@ const FailingValidation = <S extends string>({
88
89
  // no sooner step, so the user can not do anything about it ...
89
90
  fix = t('ai:Please wait till all checks are finished.');
90
91
  } else if (step) {
91
- fix = (
92
+ const pageURL = host
93
+ ? wizardStepsValidationsMap[step].getPageURL?.(host, validation.id)
94
+ : undefined;
95
+ fix = pageURL ? (
96
+ <>
97
+ <Trans t={t}>
98
+ ai:It can be fixed in the <a href={pageURL.url}>{pageURL.name}</a> page.
99
+ </Trans>
100
+ </>
101
+ ) : (
92
102
  <>
93
103
  <Trans t={t}>
94
104
  ai:It can be fixed in the{' '}
@@ -196,6 +206,7 @@ export const HostsValidations = <S extends string, V extends string[]>({
196
206
  <FailingValidation<S>
197
207
  key={validationId}
198
208
  validation={validation}
209
+ host={host}
199
210
  hostGroup={group}
200
211
  severity={severity}
201
212
  setCurrentStepId={setCurrentStepId}
@@ -24,7 +24,7 @@ export const NetworkTypeControlGroup = ({
24
24
  <Tooltip
25
25
  hidden={isSDNSelectable}
26
26
  content={t(
27
- 'ai:Software-Defined Networking (SDN) cannot be selected for SNO clusters or when IPv6 is detected.',
27
+ 'ai:Network type selection is not supported for SNO clusters or when IPv6 is detected.',
28
28
  )}
29
29
  >
30
30
  <RadioField
@@ -50,7 +50,7 @@ export const NetworkTypeControlGroup = ({
50
50
  <Tooltip
51
51
  hidden={isSDNSelectable}
52
52
  content={t(
53
- 'ai:Software-Defined Networking (SDN) cannot be selected for SNO clusters or when IPv6 is detected.',
53
+ 'ai:Network type selection is not supported for SNO clusters or when IPv6 is detected.',
54
54
  )}
55
55
  >
56
56
  <RadioField
@@ -56,6 +56,7 @@ export type FailingValidationsProps<S extends string> = {
56
56
  severity?: 'danger' | 'warning';
57
57
  wizardStepNames: { [key in S]: string };
58
58
  wizardStepsValidationsMap: WizardStepsValidationMap<S>;
59
+ host?: Host;
59
60
  };
60
61
 
61
62
  export type ValidationActionLinkProps<S extends string> = {
@@ -34,6 +34,15 @@ export type WizardStepValidationMap = {
34
34
  validationIds: HostValidationId[];
35
35
  };
36
36
  softValidationIds: (HostValidationId | ClusterValidationId)[];
37
+ getPageURL?: (
38
+ host: Host,
39
+ validationId: string,
40
+ ) =>
41
+ | {
42
+ url: string;
43
+ name: string;
44
+ }
45
+ | undefined;
37
46
  };
38
47
 
39
48
  export type WizardStepsValidationMap<T extends string> = {
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useField, useFormikContext } from 'formik';
3
3
  import { Checkbox, FormGroup, Tooltip } from '@patternfly/react-core';
4
- import { useFeature } from '../../../features';
5
4
  import { OpenshiftVersionOptionType } from '../../../types';
6
5
  import { getFieldId } from './utils';
7
6
  import HelperText from './HelperText';
@@ -21,7 +20,6 @@ const SingleNodeCheckbox: React.FC<SingleNodeCheckboxProps> = ({
21
20
  const {
22
21
  values: { openshiftVersion },
23
22
  } = useFormikContext<ClusterCreateParams>();
24
- const isSingleNodeOpenshiftEnabled = useFeature('ASSISTED_INSTALLER_SNO_FEATURE');
25
23
  const [field, meta, helpers] = useField<'None' | 'Full'>({ name: props.name, validate });
26
24
  const featureSupportLevelContext = useFeatureSupportLevel();
27
25
  const prevVersionRef = React.useRef(openshiftVersion);
@@ -54,7 +52,7 @@ const SingleNodeCheckbox: React.FC<SingleNodeCheckboxProps> = ({
54
52
  prevVersionRef.current = openshiftVersion;
55
53
  }, [openshiftVersion, onChanged, featureSupportLevelContext]);
56
54
 
57
- if (isSingleNodeOpenshiftEnabled && isSupportedVersionAvailable) {
55
+ if (isSupportedVersionAvailable) {
58
56
  return (
59
57
  <FormGroup isInline fieldId={fieldId}>
60
58
  <Tooltip hidden={!disabledReason} content={disabledReason}>
@@ -320,29 +320,11 @@ describe('validationSchemas', () => {
320
320
  });
321
321
 
322
322
  test('baseDomainNameValidationSchema', async () => {
323
- const valid = [
324
- 'a.com',
325
- 'co',
326
- '1c',
327
- '1-c',
328
- '1--c',
329
- 'aaa',
330
- 'abc.def',
331
- 'a-aa.com',
332
- 'a--aa.com',
333
- 'aa.com.com.com.com',
334
- 'red.cat--rahul.com',
335
- ];
323
+ const valid = ['a.com', 'co', '1c'];
336
324
  const invalid = [
337
- 'a',
338
- '-',
339
- 'a-',
340
- '-aaa.com.',
341
- 'aaa-.com',
342
- 'a.c',
343
- 'aaa.c',
344
- 'DNSnamescancontainonlyalphabeticalcharactersa-znumericcharacters0-9theminussign-andtheperiod',
345
- 'DNSnamescancontainonlyalphabeticalcharactersa-znumericcharacters0-9theminussign-andtheperiod.com',
325
+ ' ',
326
+ 'a g',
327
+ 'iamnotavaliddnsdomain-iamnotavaliddnsdomain-iamnotavaliddnsdomain',
346
328
  ];
347
329
 
348
330
  await Promise.all(
@@ -38,8 +38,6 @@ const CLUSTER_NAME_VALID_CHARS_REGEX = /^[a-z0-9-]*$/;
38
38
  const SSH_PUBLIC_KEY_REGEX =
39
39
  /^(ssh-rsa|ssh-ed25519|ecdsa-[-a-z0-9]*) AAAA[0-9A-Za-z+/]+[=]{0,3}( .+)?$/;
40
40
  const DNS_NAME_REGEX = /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/;
41
- const BASE_DOMAIN_REGEX = /^[a-z\d][\-]*[a-z\d]+$/;
42
- const DNS_NAME_REGEX_OCM = /^([a-z\d]([\-]*[a-z\d]+)*\.)+[a-z\d]+[\-]*[a-z\d]+$/;
43
41
 
44
42
  const PROXY_DNS_REGEX =
45
43
  /(^\.?([a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62}){1}(\.[a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62})*$)/;
@@ -397,27 +395,20 @@ export const dnsNameValidationSchema = Yup.string()
397
395
  excludeEmptyString: true,
398
396
  });
399
397
 
400
- export const validateBaseDomainName = (baseDomainName: string) => {
401
- if (baseDomainName.match(BASE_DOMAIN_REGEX) && baseDomainName.length > 1) {
402
- return true;
403
- }
404
- return !!baseDomainName.match(DNS_NAME_REGEX_OCM);
405
- };
398
+ export const baseDomainValidationSchema = Yup.string().test(
399
+ 'dns-name-label-length',
400
+ 'Every single host component in the base domain name cannot contain more than 63 characters and must not contain spaces.',
401
+ (value: string) => {
402
+ // Check if the value contains any spaces
403
+ if (/\s/.test(value)) {
404
+ return false; // Value contains spaces, validation fails
405
+ }
406
406
 
407
- export const baseDomainValidationSchema = Yup.string()
408
- .test(
409
- 'dns-name-label-length',
410
- 'Single label of the DNS name can not be longer than 63 characters.',
411
- (value: string) => (value || '').split('.').every((label: string) => label.length <= 63),
412
- )
413
- .test(
414
- 'dns-name-validation',
415
- '"${value}" is not valid. DNS base domains must have two characters after the dot and must not end in a special character.',
416
- (value: string) => {
417
- if (value === '') return true;
418
- else return validateBaseDomainName(value);
419
- },
420
- );
407
+ // Check the label lengths
408
+ const labels = (value || '').split('.');
409
+ return labels.every((label: string) => label.length <= 63);
410
+ },
411
+ );
421
412
 
422
413
  export const hostPrefixValidationSchema = (
423
414
  clusterNetworkCidr: NetworkConfigurationValues['clusterNetworkCidr'],
@@ -10,9 +10,7 @@ import {
10
10
  import { ValidationGroup as ClusterValidationGroup } from '../types/clusters';
11
11
  import { FeatureSupportLevelData } from '../components/featureSupportLevels/FeatureSupportLevelContext';
12
12
  import type { NewFeatureSupportLevelData } from '../components/newFeatureSupportLevels';
13
- // eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/ban-ts-comment
14
- // @ts-ignore
15
- import buildManifest from '@openshift-assisted/ui-lib/package.json'; // This file is generated at build-time.
13
+ import buildManifest from '@openshift-assisted/ui-lib/package.json';
16
14
 
17
15
  export const getShortOpenshiftVersion = (ocpVersion?: string) =>
18
16
  ocpVersion?.split('.').slice(0, 2).join('.');