@openshift-assisted/ui-lib 5.0.0-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 (607) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts +1 -1
  2. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.d.ts.map +1 -1
  4. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.d.ts +0 -17
  5. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  6. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts.map +1 -1
  7. package/build/@types/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.d.ts +19 -0
  8. package/build/@types/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.d.ts.map +1 -0
  9. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts +2 -2
  10. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts.map +1 -1
  11. package/build/@types/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.d.ts.map +1 -1
  12. package/build/@types/cim/components/ClusterDeployment/types.d.ts +1 -3
  13. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  14. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts +4 -3
  15. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
  16. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.d.ts.map +1 -1
  17. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.d.ts.map +1 -1
  18. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.d.ts +6 -0
  19. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.d.ts.map +1 -0
  20. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts +4 -2
  21. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts.map +1 -1
  22. package/build/@types/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts +2 -1
  23. package/build/@types/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts.map +1 -1
  24. package/build/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts.map +1 -1
  25. package/build/@types/cim/components/InfraEnv/InfraEnvAgentTable.d.ts.map +1 -1
  26. package/build/@types/cim/components/common/CpuArchitectureDropdown.d.ts.map +1 -1
  27. package/build/@types/cim/components/helpers/clusterDeployment.d.ts.map +1 -1
  28. package/build/@types/cim/components/helpers/status.d.ts +5 -7
  29. package/build/@types/cim/components/helpers/status.d.ts.map +1 -1
  30. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  31. package/build/@types/cim/components/helpers/versions.d.ts +3 -2
  32. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  33. package/build/@types/cim/components/index.d.ts +0 -1
  34. package/build/@types/cim/components/index.d.ts.map +1 -1
  35. package/build/@types/cim/components/modals/CimConfiguration/CimStorageMissingAlert.d.ts.map +1 -1
  36. package/build/@types/cim/components/modals/CimConfiguration/constants.d.ts +1 -1
  37. package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts +2 -3
  38. package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts.map +1 -1
  39. package/build/@types/cim/hooks/index.d.ts +2 -0
  40. package/build/@types/cim/hooks/index.d.ts.map +1 -1
  41. package/build/@types/cim/hooks/useAgents.d.ts +4 -0
  42. package/build/@types/cim/hooks/useAgents.d.ts.map +1 -0
  43. package/build/@types/cim/hooks/useStorageClasses.d.ts +4 -0
  44. package/build/@types/cim/hooks/useStorageClasses.d.ts.map +1 -0
  45. package/build/@types/cim/index.d.ts +0 -1
  46. package/build/@types/cim/index.d.ts.map +1 -1
  47. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +2 -1
  48. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts.map +1 -1
  49. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts +7 -1
  50. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts.map +1 -1
  51. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
  52. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  53. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts +2 -1
  54. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts.map +1 -1
  55. package/build/@types/common/components/clusterConfiguration/ExternalPlatformsDropdown.d.ts.map +1 -1
  56. package/build/@types/common/components/clusterConfiguration/utils.d.ts +9 -1
  57. package/build/@types/common/components/clusterConfiguration/utils.d.ts.map +1 -1
  58. package/build/@types/common/components/clusterDetail/ClusterCredentials.d.ts.map +1 -1
  59. package/build/@types/common/components/clusterDetail/ConsoleModal.d.ts +0 -5
  60. package/build/@types/common/components/clusterDetail/ConsoleModal.d.ts.map +1 -1
  61. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  62. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  63. package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts.map +1 -1
  64. package/build/@types/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.d.ts.map +1 -1
  65. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts +0 -1
  66. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts.map +1 -1
  67. package/build/@types/common/components/hosts/utils.d.ts.map +1 -1
  68. package/build/@types/common/components/index.d.ts +1 -1
  69. package/build/@types/common/components/index.d.ts.map +1 -1
  70. package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -1
  71. package/build/@types/common/components/ui/formik/PullSecretField.d.ts +1 -0
  72. package/build/@types/common/components/ui/formik/PullSecretField.d.ts.map +1 -1
  73. package/build/@types/common/components/ui/formik/SelectFieldWithSearch.d.ts +2 -1
  74. package/build/@types/common/components/ui/formik/SelectFieldWithSearch.d.ts.map +1 -1
  75. package/build/@types/common/config/constants.d.ts.map +1 -1
  76. package/build/@types/common/config/docs_links.d.ts.map +1 -1
  77. package/build/@types/common/selectors/clusterSelectors.d.ts +1 -1
  78. package/build/@types/common/selectors/clusterSelectors.d.ts.map +1 -1
  79. package/build/@types/common/types/clusters.d.ts +3 -3
  80. package/build/@types/common/types/clusters.d.ts.map +1 -1
  81. package/build/@types/common/utils.d.ts.map +1 -1
  82. package/build/@types/ocm/components/AddHosts/types.d.ts +4 -3
  83. package/build/@types/ocm/components/AddHosts/types.d.ts.map +1 -1
  84. package/build/@types/ocm/components/Routes.d.ts +1 -1
  85. package/build/@types/ocm/components/Routes.d.ts.map +1 -1
  86. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts.map +1 -1
  87. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts +0 -1
  88. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts.map +1 -1
  89. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  90. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts.map +1 -1
  91. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
  92. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +10 -2
  93. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -1
  94. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts +4 -0
  95. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts.map +1 -1
  96. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
  97. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -1
  98. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts +3 -1
  99. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts.map +1 -1
  100. package/build/@types/ocm/components/clusterConfiguration/operators/bundleSpecs.d.ts.map +1 -1
  101. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts +3 -6
  102. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts.map +1 -1
  103. package/build/@types/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.d.ts.map +1 -1
  104. package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts.map +1 -1
  105. package/build/@types/ocm/components/clusterConfiguration/review/ReviewSummary.d.ts.map +1 -1
  106. package/build/@types/ocm/components/clusterConfiguration/review/TableSummaryExpandable.d.ts +1 -0
  107. package/build/@types/ocm/components/clusterConfiguration/review/TableSummaryExpandable.d.ts.map +1 -1
  108. package/build/@types/ocm/components/clusterConfiguration/review/utils.d.ts +1 -1
  109. package/build/@types/ocm/components/clusterConfiguration/review/utils.d.ts.map +1 -1
  110. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.d.ts.map +1 -1
  111. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.d.ts.map +1 -1
  112. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.d.ts.map +1 -1
  113. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.d.ts +1 -0
  114. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.d.ts.map +1 -1
  115. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.d.ts +1 -1
  116. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.d.ts.map +1 -1
  117. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts +1 -1
  118. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
  119. package/build/@types/ocm/components/clusterDetail/ClusterDetailsButtonGroup.d.ts.map +1 -1
  120. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  121. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +5 -0
  122. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
  123. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  124. package/build/@types/ocm/components/clusterWizard/NewClusterWizard.d.ts.map +1 -1
  125. package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
  126. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts +3 -3
  127. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts.map +1 -1
  128. package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts.map +1 -1
  129. package/build/@types/ocm/components/clusterWizard/OptionalOperatorsDropdown.d.ts +13 -0
  130. package/build/@types/ocm/components/clusterWizard/OptionalOperatorsDropdown.d.ts.map +1 -0
  131. package/build/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -1
  132. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts +1 -0
  133. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts.map +1 -1
  134. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts +4 -0
  135. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts.map +1 -0
  136. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts.map +1 -1
  137. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +4 -5
  138. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
  139. package/build/@types/ocm/components/clusters/ClustersListToolbar.d.ts +1 -2
  140. package/build/@types/ocm/components/clusters/ClustersListToolbar.d.ts.map +1 -1
  141. package/build/@types/ocm/components/clusters/ClustersTable.d.ts.map +1 -1
  142. package/build/@types/ocm/components/featureSupportLevels/index.d.ts +0 -1
  143. package/build/@types/ocm/components/featureSupportLevels/index.d.ts.map +1 -1
  144. package/build/@types/ocm/components/ui/Buttons/BackButton.d.ts +1 -1
  145. package/build/@types/ocm/components/ui/Buttons/BackButton.d.ts.map +1 -1
  146. package/build/@types/ocm/hooks/useLateBinding.d.ts.map +1 -1
  147. package/build/@types/ocm/services/ClustersService.d.ts +2 -1
  148. package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
  149. package/build/@types/ocm/services/InfraEnvsService.d.ts +1 -1
  150. package/build/@types/ocm/services/InfraEnvsService.d.ts.map +1 -1
  151. package/build/@types/ocm/services/NewFeatureSupportLevelsService.d.ts +1 -1
  152. package/build/@types/ocm/store/hooks.d.ts +1 -1
  153. package/build/@types/ocm/store/slices/clusters/selectors.d.ts +5 -61
  154. package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -1
  155. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +2 -0
  156. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -1
  157. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts +2 -20
  158. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts.map +1 -1
  159. package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts +4 -21
  160. package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts.map +1 -1
  161. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js +1 -1
  162. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js.map +1 -1
  163. package/build/cjs/cim/components/Agent/NoAgentsAlert.js +2 -2
  164. package/build/cjs/cim/components/Agent/NoAgentsAlert.js.map +1 -1
  165. package/build/cjs/cim/components/Agent/tableColumns.js +3 -3
  166. package/build/cjs/cim/components/Agent/tableColumns.js.map +1 -1
  167. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +22 -16
  168. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -1
  169. package/build/cjs/cim/components/ClusterDeployment/ClusterInstallationError.js +1 -1
  170. package/build/cjs/cim/components/ClusterDeployment/ClusterInstallationError.js.map +1 -1
  171. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.js +6 -3
  172. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.js.map +1 -1
  173. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js +4 -5
  174. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js.map +1 -1
  175. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.js +6 -32
  176. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.js.map +1 -1
  177. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js +3 -16
  178. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js.map +1 -1
  179. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.js +41 -0
  180. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.js.map +1 -0
  181. package/build/cjs/cim/components/ClusterDeployment/components/ValidationSection.js.map +1 -1
  182. package/build/cjs/cim/components/ClusterDeployment/constants.js +2 -2
  183. package/build/cjs/cim/components/ClusterDeployment/constants.js.map +1 -1
  184. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js +1 -1
  185. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js.map +1 -1
  186. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.js +2 -2
  187. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.js.map +1 -1
  188. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js +2 -2
  189. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js.map +1 -1
  190. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js +8 -8
  191. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js.map +1 -1
  192. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js +26 -8
  193. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js.map +1 -1
  194. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js +2 -2
  195. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js.map +1 -1
  196. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js +3 -1
  197. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js.map +1 -1
  198. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js +13 -3
  199. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js.map +1 -1
  200. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.js +52 -0
  201. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.js.map +1 -0
  202. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js +3 -3
  203. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js.map +1 -1
  204. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +2 -2
  205. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
  206. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js +2 -4
  207. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js.map +1 -1
  208. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +2 -2
  209. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
  210. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +1 -1
  211. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
  212. package/build/cjs/cim/components/common/CpuArchitectureDropdown.js +1 -1
  213. package/build/cjs/cim/components/common/CpuArchitectureDropdown.js.map +1 -1
  214. package/build/cjs/cim/components/helpers/clusterDeployment.js +14 -10
  215. package/build/cjs/cim/components/helpers/clusterDeployment.js.map +1 -1
  216. package/build/cjs/cim/components/helpers/status.js +4 -4
  217. package/build/cjs/cim/components/helpers/status.js.map +1 -1
  218. package/build/cjs/cim/components/helpers/toAssisted.js +2 -12
  219. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  220. package/build/cjs/cim/components/helpers/versions.js +6 -6
  221. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  222. package/build/cjs/cim/components/helpers/versions.test.js +19 -18
  223. package/build/cjs/cim/components/helpers/versions.test.js.map +1 -1
  224. package/build/cjs/cim/components/index.js +0 -1
  225. package/build/cjs/cim/components/index.js.map +1 -1
  226. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js +3 -3
  227. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js.map +1 -1
  228. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js +1 -1
  229. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js.map +1 -1
  230. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js +2 -2
  231. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -1
  232. package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js +4 -4
  233. package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js.map +1 -1
  234. package/build/cjs/cim/components/modals/CimConfiguration/constants.js +1 -1
  235. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +4 -4
  236. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
  237. package/build/cjs/cim/hooks/index.js +2 -0
  238. package/build/cjs/cim/hooks/index.js.map +1 -1
  239. package/build/cjs/cim/hooks/useAgents.js +13 -0
  240. package/build/cjs/cim/hooks/useAgents.js.map +1 -0
  241. package/build/cjs/cim/hooks/useStorageClasses.js +13 -0
  242. package/build/cjs/cim/hooks/useStorageClasses.js.map +1 -0
  243. package/build/cjs/cim/index.js +0 -1
  244. package/build/cjs/cim/index.js.map +1 -1
  245. package/build/cjs/common/api/assisted-service/ClustersAPI.js +3 -0
  246. package/build/cjs/common/api/assisted-service/ClustersAPI.js.map +1 -1
  247. package/build/cjs/common/api/assisted-service/NewFeatureSupportLevelsAPI.js.map +1 -1
  248. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +2 -4
  249. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  250. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +1 -1
  251. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  252. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js +9 -3
  253. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js.map +1 -1
  254. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js +1 -1
  255. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
  256. package/build/cjs/common/components/clusterConfiguration/ExternalPlatformsDropdown.js +1 -1
  257. package/build/cjs/common/components/clusterConfiguration/ExternalPlatformsDropdown.js.map +1 -1
  258. package/build/cjs/common/components/clusterConfiguration/utils.js +13 -1
  259. package/build/cjs/common/components/clusterConfiguration/utils.js.map +1 -1
  260. package/build/cjs/common/components/clusterConfiguration/utils.test.js +36 -0
  261. package/build/cjs/common/components/clusterConfiguration/utils.test.js.map +1 -1
  262. package/build/cjs/common/components/clusterDetail/ClusterCredentials.js +10 -9
  263. package/build/cjs/common/components/clusterDetail/ClusterCredentials.js.map +1 -1
  264. package/build/cjs/common/components/clusterDetail/ConsoleModal.js +2 -11
  265. package/build/cjs/common/components/clusterDetail/ConsoleModal.js.map +1 -1
  266. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +16 -0
  267. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  268. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +34 -19
  269. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  270. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js +29 -31
  271. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js.map +1 -1
  272. package/build/cjs/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.js +3 -3
  273. package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js +19 -30
  274. package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js.map +1 -1
  275. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js +12 -21
  276. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js.map +1 -1
  277. package/build/cjs/common/components/hosts/utils.js +6 -1
  278. package/build/cjs/common/components/hosts/utils.js.map +1 -1
  279. package/build/cjs/common/components/index.js +1 -1
  280. package/build/cjs/common/components/index.js.map +1 -1
  281. package/build/cjs/common/components/operators/operatorSpecs.js +0 -3
  282. package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -1
  283. package/build/cjs/common/components/ui/formik/PullSecretField.js +2 -2
  284. package/build/cjs/common/components/ui/formik/PullSecretField.js.map +1 -1
  285. package/build/cjs/common/components/ui/formik/SelectFieldWithSearch.js +2 -1
  286. package/build/cjs/common/components/ui/formik/SelectFieldWithSearch.js.map +1 -1
  287. package/build/cjs/common/config/constants.js +4 -0
  288. package/build/cjs/common/config/constants.js.map +1 -1
  289. package/build/cjs/common/config/docs_links.js +5 -4
  290. package/build/cjs/common/config/docs_links.js.map +1 -1
  291. package/build/cjs/common/selectors/clusterSelectors.js +7 -8
  292. package/build/cjs/common/selectors/clusterSelectors.js.map +1 -1
  293. package/build/cjs/common/types/clusters.js.map +1 -1
  294. package/build/cjs/common/utils.js +3 -0
  295. package/build/cjs/common/utils.js.map +1 -1
  296. package/build/cjs/common/validationSchemas/addressValidation.js +1 -1
  297. package/build/cjs/common/validationSchemas/addressValidation.js.map +1 -1
  298. package/build/cjs/ocm/components/Routes.js +8 -8
  299. package/build/cjs/ocm/components/Routes.js.map +1 -1
  300. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js +5 -2
  301. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js.map +1 -1
  302. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js +2 -2
  303. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js.map +1 -1
  304. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +6 -2
  305. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  306. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js +1 -1
  307. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js.map +1 -1
  308. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js +1 -1
  309. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -1
  310. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js +3 -1
  311. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js.map +1 -1
  312. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +3 -1
  313. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
  314. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -1
  315. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js +11 -8
  316. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js.map +1 -1
  317. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +68 -17
  318. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  319. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +1 -1
  320. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  321. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +50 -13
  322. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
  323. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js +39 -21
  324. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js.map +1 -1
  325. package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js +1 -2
  326. package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js.map +1 -1
  327. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js +7 -25
  328. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js.map +1 -1
  329. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +1 -1
  330. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
  331. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js +4 -2
  332. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js.map +1 -1
  333. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js +75 -20
  334. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js.map +1 -1
  335. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js +2 -2
  336. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js.map +1 -1
  337. package/build/cjs/ocm/components/clusterConfiguration/review/TableSummaryExpandable.css +3 -0
  338. package/build/cjs/ocm/components/clusterConfiguration/review/TableSummaryExpandable.js +2 -3
  339. package/build/cjs/ocm/components/clusterConfiguration/review/TableSummaryExpandable.js.map +1 -1
  340. package/build/cjs/ocm/components/clusterConfiguration/review/utils.js +8 -2
  341. package/build/cjs/ocm/components/clusterConfiguration/review/utils.js.map +1 -1
  342. package/build/cjs/ocm/components/clusterConfiguration/review/utils.test.js +35 -0
  343. package/build/cjs/ocm/components/clusterConfiguration/review/utils.test.js.map +1 -1
  344. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js +10 -1
  345. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js.map +1 -1
  346. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js +5 -5
  347. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js.map +1 -1
  348. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js +2 -2
  349. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js.map +1 -1
  350. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.js.map +1 -1
  351. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.js +3 -7
  352. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.js.map +1 -1
  353. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +4 -4
  354. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
  355. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +4 -4
  356. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
  357. package/build/cjs/ocm/components/clusterDetail/ClusterDetailsButtonGroup.js +8 -2
  358. package/build/cjs/ocm/components/clusterDetail/ClusterDetailsButtonGroup.js.map +1 -1
  359. package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js +1 -1
  360. package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js.map +1 -1
  361. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +1 -1
  362. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
  363. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +6 -13
  364. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  365. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +2 -2
  366. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  367. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
  368. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +15 -6
  369. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  370. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js +2 -2
  371. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js.map +1 -1
  372. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js +9 -3
  373. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js.map +1 -1
  374. package/build/cjs/ocm/components/clusterWizard/Operators.js +40 -12
  375. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  376. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js +34 -15
  377. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js.map +1 -1
  378. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +18 -4
  379. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -1
  380. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.test.js +11 -5
  381. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.test.js.map +1 -1
  382. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +1 -1
  383. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  384. package/build/cjs/ocm/components/clusterWizard/OptionalOperatorsDropdown.js +34 -0
  385. package/build/cjs/ocm/components/clusterWizard/OptionalOperatorsDropdown.js.map +1 -0
  386. package/build/cjs/ocm/components/clusterWizard/constants.js +1 -0
  387. package/build/cjs/ocm/components/clusterWizard/constants.js.map +1 -1
  388. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js +16 -22
  389. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js.map +1 -1
  390. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js +102 -0
  391. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js.map +1 -0
  392. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js +10 -8
  393. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js.map +1 -1
  394. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +72 -29
  395. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
  396. package/build/cjs/ocm/components/clusters/ClusterBreadcrumbs.js +2 -2
  397. package/build/cjs/ocm/components/clusters/ClusterBreadcrumbs.js.map +1 -1
  398. package/build/cjs/ocm/components/clusters/ClusterPage.js +4 -4
  399. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  400. package/build/cjs/ocm/components/clusters/Clusters.js +3 -3
  401. package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
  402. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +5 -5
  403. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
  404. package/build/cjs/ocm/components/clusters/ClustersTable.js +4 -3
  405. package/build/cjs/ocm/components/clusters/ClustersTable.js.map +1 -1
  406. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +1 -1
  407. package/build/cjs/ocm/components/featureSupportLevels/index.js +0 -1
  408. package/build/cjs/ocm/components/featureSupportLevels/index.js.map +1 -1
  409. package/build/cjs/ocm/components/ui/Buttons/BackButton.js +2 -2
  410. package/build/cjs/ocm/components/ui/Buttons/BackButton.js.map +1 -1
  411. package/build/cjs/ocm/hooks/useInfraEnvId.js +2 -2
  412. package/build/cjs/ocm/hooks/useInfraEnvId.js.map +1 -1
  413. package/build/cjs/ocm/hooks/useLateBinding.js +41 -26
  414. package/build/cjs/ocm/hooks/useLateBinding.js.map +1 -1
  415. package/build/cjs/ocm/hooks/usePullSecret.js +2 -2
  416. package/build/cjs/ocm/services/ClustersService.js +3 -0
  417. package/build/cjs/ocm/services/ClustersService.js.map +1 -1
  418. package/build/cjs/ocm/services/InfraEnvsService.js +4 -1
  419. package/build/cjs/ocm/services/InfraEnvsService.js.map +1 -1
  420. package/build/cjs/ocm/store/slices/clusters/selectors.js +2 -2
  421. package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -1
  422. package/build/cjs/ocm/store/slices/feature-flags/selectors.js.map +1 -1
  423. package/build/cjs/ocm/store/slices/infra-envs/selectors.js.map +1 -1
  424. package/lib/cim/components/Agent/AgentsSelectionTable.tsx +1 -1
  425. package/lib/cim/components/Agent/NoAgentsAlert.tsx +1 -1
  426. package/lib/cim/components/Agent/tableColumns.tsx +1 -1
  427. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +101 -101
  428. package/lib/cim/components/ClusterDeployment/ClusterInstallationError.tsx +1 -1
  429. package/lib/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.tsx +6 -3
  430. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.tsx +6 -6
  431. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.tsx +6 -87
  432. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.tsx +3 -15
  433. package/lib/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.tsx +97 -0
  434. package/lib/cim/components/ClusterDeployment/components/ValidationSection.tsx +3 -2
  435. package/lib/cim/components/ClusterDeployment/constants.ts +2 -2
  436. package/lib/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.tsx +1 -1
  437. package/lib/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.tsx +2 -2
  438. package/lib/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.tsx +2 -2
  439. package/lib/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.tsx +29 -25
  440. package/lib/cim/components/ClusterDeployment/types.ts +2 -4
  441. package/lib/cim/components/ClusterDeployment/wizardTransition.ts +35 -20
  442. package/lib/cim/components/Hypershift/DetailsPage/NodePoolsTable.tsx +1 -1
  443. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.tsx +4 -0
  444. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.tsx +15 -2
  445. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.tsx +70 -0
  446. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.ts +10 -2
  447. package/lib/cim/components/Hypershift/hooks/useSupportedOCPVersions.ts +4 -2
  448. package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +1 -1
  449. package/lib/cim/components/InfraEnv/EnvironmentErrors.tsx +9 -8
  450. package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +0 -2
  451. package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +1 -1
  452. package/lib/cim/components/common/CpuArchitectureDropdown.tsx +2 -1
  453. package/lib/cim/components/helpers/clusterDeployment.ts +9 -4
  454. package/lib/cim/components/helpers/status.ts +12 -13
  455. package/lib/cim/components/helpers/toAssisted.ts +3 -13
  456. package/lib/cim/components/helpers/versions.test.ts +21 -18
  457. package/lib/cim/components/helpers/versions.ts +7 -3
  458. package/lib/cim/components/index.ts +0 -1
  459. package/lib/cim/components/modals/CimConfiguration/CimConfigProgressAlert.tsx +2 -2
  460. package/lib/cim/components/modals/CimConfiguration/CimConfigurationFormFields.tsx +1 -1
  461. package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +2 -2
  462. package/lib/cim/components/modals/CimConfiguration/CimStorageMissingAlert.tsx +9 -3
  463. package/lib/cim/components/modals/CimConfiguration/constants.ts +1 -1
  464. package/lib/cim/components/modals/MassDeleteAgentModal.tsx +4 -15
  465. package/lib/cim/hooks/index.tsx +2 -0
  466. package/lib/cim/hooks/useAgents.tsx +15 -0
  467. package/lib/cim/hooks/useStorageClasses.tsx +15 -0
  468. package/lib/cim/index.ts +0 -1
  469. package/lib/common/api/assisted-service/ClustersAPI.ts +8 -0
  470. package/lib/common/api/assisted-service/NewFeatureSupportLevelsAPI.ts +9 -4
  471. package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +5 -7
  472. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +3 -1
  473. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.tsx +18 -8
  474. package/lib/common/components/clusterConfiguration/DownloadIso.tsx +1 -1
  475. package/lib/common/components/clusterConfiguration/ExternalPlatformsDropdown.tsx +3 -1
  476. package/lib/common/components/clusterConfiguration/utils.test.ts +43 -1
  477. package/lib/common/components/clusterConfiguration/utils.ts +13 -0
  478. package/lib/common/components/clusterDetail/ClusterCredentials.tsx +49 -53
  479. package/lib/common/components/clusterDetail/ConsoleModal.tsx +1 -36
  480. package/lib/common/components/clusterWizard/ReviewValidations.tsx +24 -0
  481. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +38 -12
  482. package/lib/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.tsx +31 -57
  483. package/lib/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.tsx +3 -3
  484. package/lib/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.tsx +33 -38
  485. package/lib/common/components/clusterWizard/validationsInfoUtils.ts +16 -23
  486. package/lib/common/components/hosts/utils.ts +8 -1
  487. package/lib/common/components/index.ts +1 -1
  488. package/lib/common/components/operators/operatorSpecs.tsx +0 -16
  489. package/lib/common/components/ui/formik/PullSecretField.tsx +5 -2
  490. package/lib/common/components/ui/formik/SelectFieldWithSearch.tsx +3 -0
  491. package/lib/common/config/constants.ts +4 -0
  492. package/lib/common/config/docs_links.ts +5 -4
  493. package/lib/common/selectors/clusterSelectors.ts +9 -9
  494. package/lib/common/types/clusters.ts +4 -2
  495. package/lib/common/utils.ts +3 -0
  496. package/lib/common/validationSchemas/addressValidation.tsx +2 -2
  497. package/lib/ocm/components/AddHosts/types.ts +6 -3
  498. package/lib/ocm/components/Routes.tsx +2 -2
  499. package/lib/ocm/components/clusterConfiguration/DiscoveryImageForm.tsx +11 -2
  500. package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.tsx +13 -3
  501. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +9 -1
  502. package/lib/ocm/components/clusterConfiguration/OcmClusterProgressItems.tsx +2 -2
  503. package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +3 -3
  504. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.tsx +8 -1
  505. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +3 -1
  506. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +2 -2
  507. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.tsx +12 -6
  508. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +86 -22
  509. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +2 -2
  510. package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +57 -20
  511. package/lib/ocm/components/clusterConfiguration/operators/OperatorCheckbox.tsx +48 -34
  512. package/lib/ocm/components/clusterConfiguration/operators/bundleSpecs.tsx +2 -3
  513. package/lib/ocm/components/clusterConfiguration/operators/utils.tsx +6 -37
  514. package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +1 -1
  515. package/lib/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.tsx +4 -2
  516. package/lib/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.tsx +114 -24
  517. package/lib/ocm/components/clusterConfiguration/review/ReviewSummary.tsx +1 -4
  518. package/lib/ocm/components/clusterConfiguration/review/TableSummaryExpandable.css +3 -0
  519. package/lib/ocm/components/clusterConfiguration/review/TableSummaryExpandable.tsx +1 -1
  520. package/lib/ocm/components/clusterConfiguration/review/utils.test.ts +41 -0
  521. package/lib/ocm/components/clusterConfiguration/review/utils.tsx +6 -3
  522. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.tsx +10 -1
  523. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.tsx +9 -6
  524. package/lib/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.ts +2 -0
  525. package/lib/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.ts +1 -0
  526. package/lib/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.ts +2 -0
  527. package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +1 -1
  528. package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +3 -3
  529. package/lib/ocm/components/clusterDetail/ClusterDetailsButtonGroup.tsx +27 -2
  530. package/lib/ocm/components/clusterDetail/ClusterInstallationError.tsx +1 -1
  531. package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +1 -1
  532. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +4 -16
  533. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +1 -1
  534. package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +5 -0
  535. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +15 -14
  536. package/lib/ocm/components/clusterWizard/ClusterWizardFooter.tsx +1 -1
  537. package/lib/ocm/components/clusterWizard/NewClusterWizard.tsx +10 -3
  538. package/lib/ocm/components/clusterWizard/Operators.tsx +47 -12
  539. package/lib/ocm/components/clusterWizard/OperatorsBundle.tsx +72 -26
  540. package/lib/ocm/components/clusterWizard/OperatorsSelect.test.ts +11 -5
  541. package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +21 -4
  542. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +1 -1
  543. package/lib/ocm/components/clusterWizard/OptionalOperatorsDropdown.tsx +106 -0
  544. package/lib/ocm/components/clusterWizard/constants.ts +1 -0
  545. package/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +31 -52
  546. package/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx +173 -0
  547. package/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +11 -9
  548. package/lib/ocm/components/clusterWizard/wizardTransition.ts +96 -37
  549. package/lib/ocm/components/clusters/ClusterBreadcrumbs.tsx +1 -1
  550. package/lib/ocm/components/clusters/ClusterPage.tsx +1 -1
  551. package/lib/ocm/components/clusters/Clusters.tsx +2 -2
  552. package/lib/ocm/components/clusters/ClustersListToolbar.tsx +5 -7
  553. package/lib/ocm/components/clusters/ClustersTable.tsx +60 -50
  554. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +1 -1
  555. package/lib/ocm/components/featureSupportLevels/index.ts +0 -1
  556. package/lib/ocm/components/ui/Buttons/BackButton.tsx +1 -1
  557. package/lib/ocm/hooks/useInfraEnvId.ts +2 -2
  558. package/lib/ocm/hooks/useLateBinding.ts +45 -24
  559. package/lib/ocm/hooks/usePullSecret.ts +2 -2
  560. package/lib/ocm/services/ClustersService.ts +5 -0
  561. package/lib/ocm/services/InfraEnvsService.ts +4 -1
  562. package/lib/ocm/store/slices/clusters/selectors.tsx +7 -5
  563. package/lib/ocm/store/slices/feature-flags/selectors.ts +5 -2
  564. package/lib/ocm/store/slices/infra-envs/selectors.ts +4 -2
  565. package/package.json +17 -17
  566. package/build/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts +0 -9
  567. package/build/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts.map +0 -1
  568. package/build/@types/cim/components/featureSupportLevels/featureStateUtils.d.ts +0 -6
  569. package/build/@types/cim/components/featureSupportLevels/featureStateUtils.d.ts.map +0 -1
  570. package/build/@types/cim/components/featureSupportLevels/index.d.ts +0 -2
  571. package/build/@types/cim/components/featureSupportLevels/index.d.ts.map +0 -1
  572. package/build/@types/cim/config/constants.d.ts +0 -16
  573. package/build/@types/cim/config/constants.d.ts.map +0 -1
  574. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts +0 -9
  575. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts.map +0 -1
  576. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts +0 -22
  577. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts.map +0 -1
  578. package/build/@types/common/components/featureSupportLevels/index.d.ts +0 -3
  579. package/build/@types/common/components/featureSupportLevels/index.d.ts.map +0 -1
  580. package/build/@types/common/components/featureSupportLevels/types.d.ts +0 -8
  581. package/build/@types/common/components/featureSupportLevels/types.d.ts.map +0 -1
  582. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js +0 -82
  583. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js.map +0 -1
  584. package/build/cjs/cim/components/featureSupportLevels/featureStateUtils.js +0 -45
  585. package/build/cjs/cim/components/featureSupportLevels/featureStateUtils.js.map +0 -1
  586. package/build/cjs/cim/components/featureSupportLevels/index.js +0 -7
  587. package/build/cjs/cim/components/featureSupportLevels/index.js.map +0 -1
  588. package/build/cjs/cim/config/constants.js +0 -272
  589. package/build/cjs/cim/config/constants.js.map +0 -1
  590. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelBadge.js +0 -26
  591. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelBadge.js.map +0 -1
  592. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelContext.js +0 -21
  593. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelContext.js.map +0 -1
  594. package/build/cjs/common/components/featureSupportLevels/index.js +0 -8
  595. package/build/cjs/common/components/featureSupportLevels/index.js.map +0 -1
  596. package/build/cjs/common/components/featureSupportLevels/types.js +0 -3
  597. package/build/cjs/common/components/featureSupportLevels/types.js.map +0 -1
  598. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.css +0 -3
  599. package/lib/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.tsx +0 -136
  600. package/lib/cim/components/featureSupportLevels/featureStateUtils.tsx +0 -61
  601. package/lib/cim/components/featureSupportLevels/index.ts +0 -1
  602. package/lib/cim/config/constants.ts +0 -285
  603. package/lib/common/components/featureSupportLevels/FeatureSupportLevelBadge.tsx +0 -37
  604. package/lib/common/components/featureSupportLevels/FeatureSupportLevelContext.tsx +0 -49
  605. package/lib/common/components/featureSupportLevels/index.ts +0 -2
  606. package/lib/common/components/featureSupportLevels/types.ts +0 -12
  607. package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.css +0 -3
@@ -4,7 +4,7 @@ import {
4
4
  EventListFetchProps,
5
5
  getEnabledHosts,
6
6
  RenderIf,
7
- selectOlmOperators,
7
+ selectAllOlmOperators,
8
8
  } from '../../../common';
9
9
  import { FinalizingProgress } from '../../../common/components/clusterDetail/FinalizingProgress';
10
10
  import { ProgressBarTexts } from '../../../common/components/clusterDetail/ProgressBarTexts';
@@ -26,7 +26,7 @@ const OcmClusterProgressItems = ({
26
26
  fallbackEventsURL,
27
27
  }: OcmClusterProgressItemsProps) => {
28
28
  const enabledHosts = getEnabledHosts(cluster.hosts);
29
- const olmOperators = selectOlmOperators(cluster);
29
+ const olmOperators = selectAllOlmOperators(cluster);
30
30
 
31
31
  const masterHosts = enabledHosts.filter((host) => host.role && 'master' === host.role);
32
32
  const workerHosts = enabledHosts.filter((host) => host.role && 'worker' === host.role);
@@ -106,7 +106,7 @@ export const OcmDiscoveryImageConfigForm = ({
106
106
  httpsProxy: httpsProxy || '',
107
107
  noProxy: noProxy || '',
108
108
  enableProxy: !!(httpProxy || httpsProxy || noProxy),
109
- imageType: imageTypeValue as ImageType,
109
+ imageType: imageTypeValue as DiscoveryImageType,
110
110
  enableCertificate: enableCertificate || false,
111
111
  trustBundle: trustBundle || '',
112
112
  };
@@ -145,7 +145,7 @@ export const OcmDiscoveryImageConfigForm = ({
145
145
  {({ submitForm, isSubmitting, status, setStatus }) => {
146
146
  return (
147
147
  <>
148
- <ModalBody>
148
+ <ModalBody style={{ maxHeight: '611px' }}>
149
149
  <Stack hasGutter>
150
150
  <StackItem>
151
151
  <Alert variant={AlertVariant.info} isInline title={alertDiscoveryText} />
@@ -155,7 +155,7 @@ export const OcmDiscoveryImageConfigForm = ({
155
155
  <Form>
156
156
  <DiscoveryImageTypeDropdown
157
157
  name="imageType"
158
- defaultValue={discoveryImageTypes[imageTypeValue]}
158
+ defaultValue={discoveryImageTypes[imageTypeValue as DiscoveryImageType]}
159
159
  onChange={updateDiscoveryButtonAndAlertText}
160
160
  selectedCpuArchitecture={selectedCpuArchitecture}
161
161
  isDisabled={isOracleCloudInfrastructure}
@@ -22,6 +22,7 @@ import { getFieldId } from '../../../../common/components/ui/formik';
22
22
  import { isOciPlatformType } from '../../utils';
23
23
  import DeleteCustomManifestModal from './DeleteCustomManifestModal';
24
24
  import { ClustersService } from '../../../services';
25
+ import { userProvidedManifests } from './components/utils';
25
26
  import { useClusterWizardContext } from '../../clusterWizard/ClusterWizardContext';
26
27
 
27
28
  export const CustomManifestsPage = ({
@@ -77,7 +78,13 @@ export const CustomManifestsPage = ({
77
78
  const cleanCustomManifests = React.useCallback(async () => {
78
79
  if (!clusterWizardContext.uiSettings?.customManifestsAdded || !cluster.id) return;
79
80
  const { data: manifests } = await ClustersAPI.getManifests(cluster.id);
80
- await ClustersService.removeClusterManifests(manifests, cluster.id);
81
+ const manifestsToRemove = userProvidedManifests(manifests).map((manifest) => ({
82
+ ...manifest,
83
+ folder: manifest.folder || 'manifests',
84
+ fileName: manifest.fileName || '',
85
+ yamlContent: '',
86
+ }));
87
+ await ClustersService.removeClusterManifests(manifestsToRemove, cluster.id);
81
88
  setUseCustomManifests(false);
82
89
  setDeleteModalOpen(false);
83
90
  await clusterWizardContext.updateUISettings({
@@ -23,6 +23,7 @@ import { CustomManifestValues, ManifestFormData } from '../data/dataTypes';
23
23
  import useClusterCustomManifests from '../../../../hooks/useClusterCustomManifests';
24
24
  import { ClustersService } from '../../../../services';
25
25
  import { CustomManifestsArray } from './CustomManifestsArray';
26
+ import { userProvidedManifests } from './utils';
26
27
  import { selectCurrentClusterPermissionsState } from '../../../../store/slices/current-cluster/selectors';
27
28
  import { useClusterWizardContext } from '../../../clusterWizard/ClusterWizardContext';
28
29
  import { ClustersAPI } from '../../../../services/apis';
@@ -70,7 +71,8 @@ export const CustomManifestsForm = ({
70
71
  if (customManifests && !customManifestsLocalRef.current.length) {
71
72
  const initValues = getInitialValues(customManifests);
72
73
  setInitialValues(initValues);
73
- customManifestsLocalRef.current = !!customManifests.length ? initValues.manifests : [];
74
+ customManifestsLocalRef.current =
75
+ userProvidedManifests(customManifests).length > 0 ? initValues.manifests : [];
74
76
  }
75
77
  }, [customManifests, getInitialValues]);
76
78
 
@@ -1,6 +1,6 @@
1
1
  import * as Yup from 'yup';
2
2
  import { TFunction } from 'i18next';
3
- import { CustomManifestValues, ManifestFormData } from '../data/dataTypes';
3
+ import { CustomManifestValues } from '../data/dataTypes';
4
4
  import {
5
5
  getMaxFileSizeMessage,
6
6
  validateFileSize,
@@ -62,7 +62,7 @@ const INCORRECT_FILENAME =
62
62
  const UNIQUE_FOLDER_FILENAME = 'Ensure unique file names to avoid conflicts and errors.';
63
63
 
64
64
  export const getFormViewManifestsValidationSchema = (t: TFunction) =>
65
- Yup.object<ManifestFormData>({
65
+ Yup.object({
66
66
  manifests: Yup.array<CustomManifestValues>()
67
67
  .of(
68
68
  Yup.object({
@@ -1,5 +1,10 @@
1
1
  import { CustomManifestValues, ListManifestsExtended, ManifestFormData } from '../data/dataTypes';
2
2
 
3
+ /** Manifests created by the installer (e.g. OVE defaults); not editable in the wizard. */
4
+ export const userProvidedManifests = <T extends { manifestSource?: string }>(
5
+ manifests: T[] | undefined,
6
+ ): T[] => (manifests ?? []).filter((m) => m.manifestSource !== 'system');
7
+
3
8
  export const getManifestName = (manifestIdx: number) => `Custom manifest ${manifestIdx + 1}`;
4
9
 
5
10
  export const getFormData = (manifests: ListManifestsExtended): ManifestFormData => {
@@ -18,11 +23,11 @@ export const getEmptyManifest = (): CustomManifestValues => {
18
23
  };
19
24
 
20
25
  export const getManifestValues = (manifests: ListManifestsExtended): ManifestFormData => {
21
- if (!!manifests.length) {
22
- return getFormData(manifests);
23
- } else {
24
- return getEmptyManifestsValues();
26
+ const userManifests = userProvidedManifests(manifests);
27
+ if (userManifests.length > 0) {
28
+ return getFormData(userManifests);
25
29
  }
30
+ return getEmptyManifestsValues();
26
31
  };
27
32
 
28
33
  export const getEmptyManifestsValues = (): ManifestFormData => {
@@ -32,8 +37,9 @@ export const getEmptyManifestsValues = (): ManifestFormData => {
32
37
  export const getClusterCustomManifests = (
33
38
  customManifests: ListManifestsExtended,
34
39
  ): CustomManifestValues[] => {
35
- if (customManifests && customManifests.length > 0) {
36
- return customManifests.map((manifest) => ({
40
+ const userManifests = userProvidedManifests(customManifests);
41
+ if (userManifests.length > 0) {
42
+ return userManifests.map((manifest) => ({
37
43
  folder: manifest.folder || 'manifests',
38
44
  filename: manifest.fileName || '',
39
45
  manifestYaml: manifest.yamlContent || '',
@@ -6,13 +6,16 @@ import {
6
6
  canBeDualStack,
7
7
  CpuArchitecture,
8
8
  DUAL_STACK,
9
+ getIPv6FromDualstack,
9
10
  HostSubnets,
10
11
  isAdvNetworkConf,
11
12
  isSNO,
12
13
  NetworkConfigurationValues,
14
+ NO_SUBNET_SET,
13
15
  selectApiVip,
14
16
  selectIngressVip,
15
17
  } from '../../../../common';
18
+ import { Address6 } from 'ip-address';
16
19
  import {
17
20
  ManagedNetworkingControlGroup,
18
21
  UserManagedNetworkingTextContent,
@@ -36,6 +39,7 @@ import {
36
39
  } from '@openshift-assisted/types/assisted-installer-service';
37
40
  import useSupportLevelsAPI from '../../../hooks/useSupportLevelsAPI';
38
41
  import { isOciPlatformType } from '../../utils';
42
+ import { useFeature } from '../../../hooks/use-feature';
39
43
 
40
44
  export type NetworkConfigurationProps = VirtualIPControlGroupProps & {
41
45
  hostSubnets: HostSubnets;
@@ -122,6 +126,33 @@ const getManagedNetworkingState = (
122
126
  };
123
127
  };
124
128
 
129
+ type DefaultNetworkSettings = NetworkConfigurationProps['defaultNetworkSettings'];
130
+
131
+ const getNetworkDefaultsByFamily = (
132
+ settings: DefaultNetworkSettings,
133
+ isDualStack: boolean,
134
+ isIPv6: boolean,
135
+ ) => {
136
+ if (isDualStack) {
137
+ return {
138
+ clusterNetworkDefaults: settings.clusterNetworksDualstack,
139
+ serviceNetworkDefaults: settings.serviceNetworksDualstack,
140
+ };
141
+ }
142
+ if (isIPv6) {
143
+ const ipv6Cluster = getIPv6FromDualstack(settings.clusterNetworksDualstack);
144
+ const ipv6Service = getIPv6FromDualstack(settings.serviceNetworksDualstack);
145
+ return {
146
+ clusterNetworkDefaults: ipv6Cluster ? [ipv6Cluster] : settings.clusterNetworksIpv4,
147
+ serviceNetworkDefaults: ipv6Service ? [ipv6Service] : settings.serviceNetworksIpv4,
148
+ };
149
+ }
150
+ return {
151
+ clusterNetworkDefaults: settings.clusterNetworksIpv4,
152
+ serviceNetworkDefaults: settings.serviceNetworksIpv4,
153
+ };
154
+ };
155
+
125
156
  const NetworkConfiguration = ({
126
157
  cluster,
127
158
  hostSubnets,
@@ -136,8 +167,10 @@ const NetworkConfiguration = ({
136
167
  cluster.platform?.type,
137
168
  );
138
169
  const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
139
- const { setFieldValue, values, validateField } = useFormikContext<NetworkConfigurationValues>();
170
+ const { setFieldValue, values, validateField, validateForm } =
171
+ useFormikContext<NetworkConfigurationValues>();
140
172
 
173
+ const isSingleClusterFeature = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
141
174
  const isSNOCluster = isSNO(cluster);
142
175
  const isUserManagedNetworking = values.managedNetworkingType === 'userManaged';
143
176
  const isDualStack = values.stackType === DUAL_STACK;
@@ -177,30 +210,18 @@ const NetworkConfiguration = ({
177
210
  setAdvanced(checked);
178
211
 
179
212
  if (!checked) {
180
- setFieldValue(
181
- 'clusterNetworks',
182
- isDualStack
183
- ? defaultNetworkSettings.clusterNetworksDualstack
184
- : defaultNetworkSettings.clusterNetworksIpv4,
185
- true,
186
- );
187
- setFieldValue(
188
- 'serviceNetworks',
189
- isDualStack
190
- ? defaultNetworkSettings.serviceNetworksDualstack
191
- : defaultNetworkSettings.serviceNetworksIpv4,
192
- true,
213
+ const primaryCidr = values.machineNetworks?.[0]?.cidr;
214
+ const isIPv6Stack = !!primaryCidr && Address6.isValid(primaryCidr);
215
+ const { clusterNetworkDefaults, serviceNetworkDefaults } = getNetworkDefaultsByFamily(
216
+ defaultNetworkSettings,
217
+ isDualStack,
218
+ isIPv6Stack,
193
219
  );
220
+ setFieldValue('clusterNetworks', clusterNetworkDefaults, true);
221
+ setFieldValue('serviceNetworks', serviceNetworkDefaults, true);
194
222
  }
195
223
  },
196
- [
197
- setFieldValue,
198
- isDualStack,
199
- defaultNetworkSettings.clusterNetworksDualstack,
200
- defaultNetworkSettings.clusterNetworksIpv4,
201
- defaultNetworkSettings.serviceNetworksDualstack,
202
- defaultNetworkSettings.serviceNetworksIpv4,
203
- ],
224
+ [setFieldValue, isDualStack, values.machineNetworks, defaultNetworkSettings],
204
225
  );
205
226
 
206
227
  React.useEffect(() => {
@@ -209,6 +230,47 @@ const NetworkConfiguration = ({
209
230
  }
210
231
  }, [isDualStack, isViewerMode, toggleAdvConfiguration]);
211
232
 
233
+ React.useEffect(() => {
234
+ if (!isSingleClusterFeature || isViewerMode || isDualStack || isAdvanced) {
235
+ return;
236
+ }
237
+ const primaryCidr = values.machineNetworks?.[0]?.cidr;
238
+ if (!primaryCidr || primaryCidr === NO_SUBNET_SET) {
239
+ return;
240
+ }
241
+ const isIPv6 = Address6.isValid(primaryCidr);
242
+ const currentClusterCidr = values.clusterNetworks?.[0]?.cidr;
243
+ const clusterIsIPv6 = currentClusterCidr ? Address6.isValid(currentClusterCidr) : null;
244
+
245
+ if (clusterIsIPv6 === isIPv6) {
246
+ return;
247
+ }
248
+
249
+ const { clusterNetworkDefaults, serviceNetworkDefaults } = getNetworkDefaultsByFamily(
250
+ defaultNetworkSettings,
251
+ false,
252
+ isIPv6,
253
+ );
254
+ if (clusterNetworkDefaults) {
255
+ setFieldValue('clusterNetworks', clusterNetworkDefaults);
256
+ }
257
+ if (serviceNetworkDefaults) {
258
+ setFieldValue('serviceNetworks', serviceNetworkDefaults);
259
+ }
260
+ void validateForm();
261
+ }, [
262
+ isSingleClusterFeature,
263
+ isViewerMode,
264
+ isDualStack,
265
+ isAdvanced,
266
+ values.machineNetworks,
267
+ values.clusterNetworks,
268
+ defaultNetworkSettings,
269
+ setFieldValue,
270
+ validateForm,
271
+ cluster.id,
272
+ ]);
273
+
212
274
  const managedNetworkingState = React.useMemo(
213
275
  () =>
214
276
  getManagedNetworkingState(
@@ -252,6 +314,7 @@ const NetworkConfiguration = ({
252
314
  hostSubnets={hostSubnets}
253
315
  defaultNetworkValues={defaultNetworkSettings}
254
316
  isViewerMode={isViewerMode}
317
+ allowSingleStackIPv6={isSingleClusterFeature}
255
318
  />
256
319
  </StackItem>
257
320
  )}
@@ -277,6 +340,7 @@ const NetworkConfiguration = ({
277
340
  }
278
341
  openshiftVersion={cluster.openshiftVersion}
279
342
  isViewerMode={isViewerMode}
343
+ allowSingleStackIPv6={isSingleClusterFeature}
280
344
  />
281
345
  </StackItem>
282
346
  )}
@@ -9,7 +9,7 @@ import {
9
9
  getFormikErrorFields,
10
10
  getHostSubnets,
11
11
  HostSubnets,
12
- SINGLE_STACK,
12
+ DUAL_STACK,
13
13
  isSNO,
14
14
  LoadingState,
15
15
  NetworkConfigurationValues,
@@ -262,7 +262,7 @@ const NetworkConfigurationPage = ({ cluster }: { cluster: Cluster }) => {
262
262
  if (values.vipDhcpAllocation) {
263
263
  delete params.apiVips;
264
264
  delete params.ingressVips;
265
- } else if (values.stackType === SINGLE_STACK) {
265
+ } else if (values.stackType !== DUAL_STACK) {
266
266
  // The API will rebuild the default machineNetwork
267
267
  params.machineNetworks = [];
268
268
  }
@@ -1,8 +1,11 @@
1
1
  import * as Yup from 'yup';
2
2
  import { TFunction } from 'i18next';
3
+ import { Address6 } from 'ip-address';
3
4
  import {
4
5
  clusterNetworksValidationSchema,
5
6
  dualStackValidationSchema,
7
+ getIPv6FromDualstack,
8
+ isPrimaryIPv6,
6
9
  HostSubnets,
7
10
  isDualStack,
8
11
  isSNO,
@@ -10,6 +13,7 @@ import {
10
13
  NetworkConfigurationValues,
11
14
  serviceNetworkValidationSchema,
12
15
  IPv4ValidationSchema,
16
+ IPv6ValidationSchema,
13
17
  sshPublicKeyValidationSchema,
14
18
  SINGLE_STACK,
15
19
  DUAL_STACK,
@@ -36,6 +40,38 @@ export const getNetworkInitialValues = (
36
40
  ): NetworkConfigurationValues => {
37
41
  const isSNOCluster = isSNO(cluster);
38
42
  const isDualStackType = isDualStack(cluster);
43
+ const primaryMachineNetworkCidr = cluster.machineNetworks?.[0]?.cidr;
44
+ const isIPv6OnlyStack =
45
+ !isDualStackType && !!primaryMachineNetworkCidr && Address6.isValid(primaryMachineNetworkCidr);
46
+
47
+ const getStackType = (): NetworkConfigurationValues['stackType'] => {
48
+ if (isDualStackType) return DUAL_STACK;
49
+ return SINGLE_STACK;
50
+ };
51
+
52
+ const getDefaultClusterNetworks = () => {
53
+ if (isDualStackType) return defaultNetworkValues.clusterNetworksDualstack;
54
+ if (isIPv6OnlyStack) {
55
+ const ipv6Entry = getIPv6FromDualstack(defaultNetworkValues.clusterNetworksDualstack);
56
+ return ipv6Entry ? [{ ...ipv6Entry, clusterId: cluster?.id }] : undefined;
57
+ }
58
+ return defaultNetworkValues.clusterNetworksIpv4?.map((network) => ({
59
+ ...network,
60
+ clusterId: cluster?.id,
61
+ }));
62
+ };
63
+
64
+ const getDefaultServiceNetworks = () => {
65
+ if (isDualStackType) return defaultNetworkValues.serviceNetworksDualstack;
66
+ if (isIPv6OnlyStack) {
67
+ const ipv6Entry = getIPv6FromDualstack(defaultNetworkValues.serviceNetworksDualstack);
68
+ return ipv6Entry ? [{ ...ipv6Entry, clusterId: cluster?.id }] : undefined;
69
+ }
70
+ return defaultNetworkValues.serviceNetworksIpv4?.map((network) => ({
71
+ ...network,
72
+ clusterId: cluster?.id,
73
+ }));
74
+ };
39
75
 
40
76
  return {
41
77
  apiVips: cluster.apiVips,
@@ -50,23 +86,9 @@ export const getNetworkInitialValues = (
50
86
  : 'clusterManaged',
51
87
  networkType: cluster.networkType || NETWORK_TYPE_OVN,
52
88
  machineNetworks: cluster.machineNetworks || [],
53
- stackType: isDualStackType ? DUAL_STACK : SINGLE_STACK,
54
- clusterNetworks:
55
- cluster.clusterNetworks ||
56
- (isDualStackType
57
- ? defaultNetworkValues.clusterNetworksDualstack
58
- : defaultNetworkValues.clusterNetworksIpv4?.map((network) => ({
59
- ...network,
60
- clusterId: cluster?.id,
61
- }))),
62
- serviceNetworks:
63
- cluster.serviceNetworks ||
64
- (isDualStackType
65
- ? defaultNetworkValues.serviceNetworksDualstack
66
- : defaultNetworkValues.serviceNetworksIpv4?.map((network) => ({
67
- ...network,
68
- clusterId: cluster?.id,
69
- }))),
89
+ stackType: getStackType(),
90
+ clusterNetworks: cluster.clusterNetworks || getDefaultClusterNetworks(),
91
+ serviceNetworks: cluster.serviceNetworks || getDefaultServiceNetworks(),
70
92
  };
71
93
  };
72
94
 
@@ -87,7 +109,12 @@ export const getNetworkConfigurationValidationSchema = (
87
109
  : machineNetworksValidationSchema.when('stackType', {
88
110
  is: (stackType: NetworkConfigurationValues['stackType']) =>
89
111
  stackType === SINGLE_STACK,
90
- then: () => machineNetworksValidationSchema.concat(IPv4ValidationSchema),
112
+ then: () => {
113
+ if (isPrimaryIPv6(values.machineNetworks)) {
114
+ return machineNetworksValidationSchema.concat(IPv6ValidationSchema);
115
+ }
116
+ return machineNetworksValidationSchema.concat(IPv4ValidationSchema);
117
+ },
91
118
  otherwise: () =>
92
119
  values.machineNetworks && values.machineNetworks?.length >= 2
93
120
  ? machineNetworksValidationSchema.concat(
@@ -97,13 +124,23 @@ export const getNetworkConfigurationValidationSchema = (
97
124
  }),
98
125
  clusterNetworks: clusterNetworksValidationSchema(t).when('stackType', {
99
126
  is: (stackType: NetworkConfigurationValues['stackType']) => stackType === SINGLE_STACK,
100
- then: (schema) => schema.concat(IPv4ValidationSchema),
127
+ then: (schema) => {
128
+ if (isPrimaryIPv6(values.machineNetworks)) {
129
+ return schema.concat(IPv6ValidationSchema);
130
+ }
131
+ return schema.concat(IPv4ValidationSchema);
132
+ },
101
133
  otherwise: (schema) =>
102
134
  schema.concat(dualStackValidationSchema('cluster network', t, openshiftVersion)),
103
135
  }),
104
136
  serviceNetworks: serviceNetworkValidationSchema(t).when('stackType', {
105
137
  is: (stackType: NetworkConfigurationValues['stackType']) => stackType === SINGLE_STACK,
106
- then: (schema) => schema.concat(IPv4ValidationSchema),
138
+ then: (schema) => {
139
+ if (isPrimaryIPv6(values.machineNetworks)) {
140
+ return schema.concat(IPv6ValidationSchema);
141
+ }
142
+ return schema.concat(IPv4ValidationSchema);
143
+ },
107
144
  otherwise: (schema) =>
108
145
  schema.concat(dualStackValidationSchema('service network', t, openshiftVersion)),
109
146
  }),
@@ -24,7 +24,6 @@ import {
24
24
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
25
25
  import { getFieldId, OperatorsValues, PopoverIcon } from '../../../../common';
26
26
  import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
27
- import { getNewOperators } from './utils';
28
27
  import {
29
28
  highlightMatch,
30
29
  OperatorSpec,
@@ -110,8 +109,10 @@ const OperatorRequirements = ({
110
109
 
111
110
  const OperatorCheckbox = ({
112
111
  bundles,
112
+ checkedOperatorIds,
113
113
  cluster,
114
114
  operatorId,
115
+ isChecked,
115
116
  title,
116
117
  featureId,
117
118
  notStandalone,
@@ -122,8 +123,10 @@ const OperatorCheckbox = ({
122
123
  searchTerm,
123
124
  }: {
124
125
  bundles: Bundle[];
126
+ checkedOperatorIds: Set<string>;
125
127
  cluster: Cluster;
126
128
  operatorId: string;
129
+ isChecked: boolean;
127
130
  openshiftVersion?: string;
128
131
  preflightRequirements: PreflightHardwareRequirements | undefined;
129
132
  searchTerm?: string;
@@ -135,32 +138,54 @@ const OperatorCheckbox = ({
135
138
  const { values, setFieldValue } = useFormikContext<OperatorsValues>();
136
139
  const fieldId = getFieldId(operatorId, 'input');
137
140
  const supportLevel = getFeatureSupportLevel(featureId);
141
+ const getDisabledReason = (): string | undefined => {
142
+ const featureDisabledReason = getFeatureDisabledReason(featureId);
143
+ if (featureDisabledReason) {
144
+ return featureDisabledReason;
145
+ }
138
146
 
139
- const isInBundle = values.selectedBundles.some(
140
- (sb) => !!bundles.find((b) => b.id === sb)?.operators?.includes(operatorId),
141
- );
147
+ const isRequiredByBundle = values.selectedBundles.some(
148
+ (selectedBundle) =>
149
+ !!bundles
150
+ .find((bundle) => bundle.id === selectedBundle.id)
151
+ ?.operators?.includes(operatorId),
152
+ );
153
+ if (isRequiredByBundle) {
154
+ return 'This operator is part of a selected bundle and cannot be deselected.';
155
+ }
142
156
 
143
- const isChecked = values.selectedOperators.includes(operatorId) || isInBundle;
157
+ const isOptionallySelectedForBundle = values.selectedBundles.some((selectedBundle) =>
158
+ selectedBundle.optionalOperators?.includes(operatorId),
159
+ );
160
+ if (isOptionallySelectedForBundle) {
161
+ return 'This optional operator is selected through a bundle. Use the bundle card to change it.';
162
+ }
144
163
 
145
- const parentOperator = preflightRequirements?.operators?.find((op) =>
146
- op.dependencies?.includes(operatorId),
147
- );
164
+ const parentOperator = preflightRequirements?.operators?.find(
165
+ ({ operatorName, dependencies }) =>
166
+ !!operatorName &&
167
+ dependencies?.includes(operatorId) &&
168
+ checkedOperatorIds.has(operatorName),
169
+ );
170
+ if (parentOperator?.operatorName) {
171
+ const parentName = opSpecs[parentOperator.operatorName]?.title || parentOperator.operatorName;
172
+ return `This operator is required by ${parentName}`;
173
+ }
148
174
 
149
- let parentOperatorName = '';
150
- if (
151
- parentOperator?.operatorName &&
152
- values.selectedOperators.includes(parentOperator.operatorName)
153
- ) {
154
- parentOperatorName = opSpecs[parentOperator.operatorName]?.title || parentOperator.operatorName;
155
- }
175
+ if (notStandalone && !checkedOperatorIds.has(operatorId)) {
176
+ return 'This operator cannot be installed as a standalone';
177
+ }
178
+
179
+ return undefined;
180
+ };
156
181
 
157
- const disabledReason = isInBundle
158
- ? 'This operator is part of a bundle and cannot be deselected.'
159
- : notStandalone
160
- ? 'This operator cannot be installed as a standalone'
161
- : parentOperatorName
162
- ? `This operator is a dependency of ${parentOperatorName}`
163
- : getFeatureDisabledReason(featureId);
182
+ const disabledReason = getDisabledReason();
183
+ const handleClick = (_: React.FormEvent, checked: boolean) => {
184
+ const next = checked
185
+ ? [...values.selectedOperators, operatorId]
186
+ : values.selectedOperators.filter((op) => op !== operatorId);
187
+ setFieldValue('selectedOperators', next);
188
+ };
164
189
 
165
190
  return (
166
191
  <FormGroup fieldId={fieldId} id={`form-control__${fieldId}`}>
@@ -182,18 +207,7 @@ const OperatorCheckbox = ({
182
207
  }
183
208
  aria-describedby={`${fieldId}-helper`}
184
209
  isChecked={isChecked}
185
- onChange={(_, checked) => {
186
- setFieldValue(
187
- 'selectedOperators',
188
- getNewOperators(
189
- values.selectedOperators,
190
- operatorId,
191
- preflightRequirements,
192
- checked,
193
- opSpecs,
194
- ),
195
- );
196
- }}
210
+ onChange={handleClick}
197
211
  isDisabled={isViewerMode || !!disabledReason}
198
212
  description={
199
213
  !!Description && (
@@ -31,10 +31,9 @@ export const bundleSpecs: { [key: string]: BundleSpec } = {
31
31
  incompatibleBundles: [],
32
32
  Description: () => (
33
33
  <List>
34
- <ListItem>GPUs are recommended for optimal AI/ML workload performance.</ListItem>
35
34
  <ListItem>
36
- NVIDIA GPU, AMD GPU and Kernel Module Management may or may not be installed based on the
37
- GPU discovered on your hosts.
35
+ GPUs are recommended for optimal AI/ML workload performance. Please select the GPU
36
+ operators you want to install.
38
37
  </ListItem>
39
38
  </List>
40
39
  ),
@@ -1,10 +1,9 @@
1
1
  import {
2
+ BundleCreateParams,
2
3
  Bundle,
3
4
  PreflightHardwareRequirements,
4
5
  } from '@openshift-assisted/types/assisted-installer-service';
5
- import { OperatorSpec } from '../../../../common/components/operators/operatorSpecs';
6
-
7
- const getOperatorDependencies = (
6
+ export const getOperatorDependencies = (
8
7
  operatorId: string,
9
8
  preflightRequirements: PreflightHardwareRequirements | undefined,
10
9
  dependencies: Set<string> = new Set(),
@@ -25,36 +24,6 @@ const getOperatorDependencies = (
25
24
  return [...dependencies];
26
25
  };
27
26
 
28
- export const getNewOperators = (
29
- currentOperators: string[],
30
- operatorId: string,
31
- preflightRequirements: PreflightHardwareRequirements | undefined,
32
- add: boolean,
33
- opSpecs: { [key: string]: OperatorSpec },
34
- ): string[] => {
35
- const dependencies = getOperatorDependencies(operatorId, preflightRequirements);
36
-
37
- if (add) {
38
- const uniqueOps = new Set([...currentOperators, ...dependencies, operatorId]);
39
- return Array.from(uniqueOps);
40
- }
41
-
42
- const newOperators = currentOperators.filter((op) => op !== operatorId);
43
- const notStandaloneDeps = dependencies
44
- .filter((dep) => opSpecs[dep]?.notStandalone)
45
- .filter((dep) => {
46
- const hasDependency = newOperators.some((op) =>
47
- getOperatorDependencies(op, preflightRequirements).includes(dep),
48
- );
49
- if (!hasDependency) {
50
- newOperators.splice(newOperators.indexOf(dep), 1);
51
- }
52
- return !hasDependency;
53
- });
54
-
55
- return currentOperators.filter((op) => op !== operatorId && !notStandaloneDeps.includes(op));
56
- };
57
-
58
27
  const getBundleOperators = (
59
28
  bundle: Bundle,
60
29
  preflightRequirements: PreflightHardwareRequirements | undefined,
@@ -68,7 +37,7 @@ const getBundleOperators = (
68
37
 
69
38
  export const getNewBundleOperators = (
70
39
  currentOperators: string[],
71
- currentBundles: string[],
40
+ currentBundles: BundleCreateParams[],
72
41
  allBundles: Bundle[],
73
42
  newBundle: Bundle,
74
43
  preflightRequirements: PreflightHardwareRequirements | undefined,
@@ -81,10 +50,10 @@ export const getNewBundleOperators = (
81
50
  return Array.from(new Set(combined));
82
51
  }
83
52
 
84
- const newBundles = currentBundles.filter((b) => b !== newBundle.id);
53
+ const newBundles = currentBundles.filter((bundle) => bundle.id !== newBundle.id);
85
54
  const operatorsToKeep = [
86
- ...newBundles.reduce((acc, bundleId) => {
87
- const bundle = allBundles.find(({ id }) => id === bundleId);
55
+ ...newBundles.reduce((acc, selectedBundle) => {
56
+ const bundle = allBundles.find(({ id }) => id === selectedBundle.id);
88
57
  if (bundle) {
89
58
  const bundleOperators = getBundleOperators(bundle, preflightRequirements);
90
59
  bundleOperators.forEach((op) => {