@openshift-assisted/ui-lib 2.9.5-cim → 2.9.6-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 (356) hide show
  1. package/build/@types/cim/components/ClusterDeployment/types.d.ts +2 -3
  2. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
  4. package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts +1 -1
  5. package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts.map +1 -1
  6. package/build/@types/cim/components/InfraEnv/types.d.ts +3 -1
  7. package/build/@types/cim/components/InfraEnv/types.d.ts.map +1 -1
  8. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  9. package/build/@types/cim/components/modals/AddBmcHostModal.d.ts.map +1 -1
  10. package/build/@types/cim/components/modals/AddBmcHostYamlModal.d.ts.map +1 -1
  11. package/build/@types/cim/components/modals/ProvisioningConfigErrorAlert.d.ts +5 -0
  12. package/build/@types/cim/components/modals/ProvisioningConfigErrorAlert.d.ts.map +1 -0
  13. package/build/@types/cim/components/modals/types.d.ts +2 -0
  14. package/build/@types/cim/components/modals/types.d.ts.map +1 -1
  15. package/build/@types/common/api/axiosClient.d.ts.map +1 -1
  16. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  17. package/build/@types/common/components/clusterWizard/types.d.ts +1 -0
  18. package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
  19. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts +4 -0
  20. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts.map +1 -1
  21. package/build/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts.map +1 -1
  22. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +0 -1
  23. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
  24. package/build/@types/common/config/constants.d.ts.map +1 -1
  25. package/build/@types/common/features/featureGate.d.ts +1 -2
  26. package/build/@types/common/features/featureGate.d.ts.map +1 -1
  27. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.d.ts.map +1 -1
  28. package/build/@types/ocm/components/Routes.d.ts +6 -0
  29. package/build/@types/ocm/components/Routes.d.ts.map +1 -0
  30. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts.map +1 -1
  31. package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts.map +1 -1
  32. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  33. package/build/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts.map +1 -1
  34. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
  35. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  36. package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts.map +1 -1
  37. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts +13 -4
  38. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts.map +1 -1
  39. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.d.ts.map +1 -1
  40. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/constants.d.ts +3 -0
  41. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/constants.d.ts.map +1 -1
  42. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.d.ts.map +1 -1
  43. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
  44. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  45. package/build/@types/ocm/components/clusterWizard/CustomManifestStep.d.ts.map +1 -1
  46. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
  47. package/build/@types/ocm/components/clusterWizard/StaticIp.d.ts.map +1 -1
  48. package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts +2 -0
  49. package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts.map +1 -0
  50. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  51. package/build/@types/ocm/components/clusters/Clusters.d.ts.map +1 -1
  52. package/build/@types/ocm/components/clusters/ClustersTable.d.ts.map +1 -1
  53. package/build/@types/ocm/components/clusters/NewClusterPage.d.ts.map +1 -1
  54. package/build/@types/ocm/components/clusters/clusterPolling.d.ts +1 -1
  55. package/build/@types/ocm/components/clusters/clusterPolling.d.ts.map +1 -1
  56. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
  57. package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
  58. package/build/@types/ocm/components/index.d.ts +1 -1
  59. package/build/@types/ocm/index.d.ts +0 -1
  60. package/build/@types/ocm/index.d.ts.map +1 -1
  61. package/build/@types/ocm/store/hooks.d.ts +5 -1
  62. package/build/@types/ocm/store/hooks.d.ts.map +1 -1
  63. package/build/@types/ocm/store/index.d.ts +5 -36
  64. package/build/@types/ocm/store/index.d.ts.map +1 -1
  65. package/build/@types/ocm/{selectors/clusters.d.ts → store/slices/clusters/selectors.d.ts} +15 -11
  66. package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -0
  67. package/build/@types/ocm/{reducers/clusters/clustersSlice.d.ts → store/slices/clusters/slice.d.ts} +4 -4
  68. package/build/@types/ocm/store/slices/clusters/slice.d.ts.map +1 -0
  69. package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts +14 -0
  70. package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts.map +1 -0
  71. package/build/@types/ocm/{reducers/clusters/currentClusterSlice.d.ts → store/slices/current-cluster/slice.d.ts} +5 -5
  72. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -0
  73. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts +9 -0
  74. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts.map +1 -0
  75. package/build/@types/ocm/store/slices/feature-flags/slice.d.ts +7 -0
  76. package/build/@types/ocm/store/slices/feature-flags/slice.d.ts.map +1 -0
  77. package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/selectors.d.ts +4 -3
  78. package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts.map +1 -0
  79. package/build/@types/ocm/store/slices/infra-envs/slice.d.ts.map +1 -0
  80. package/build/@types/ocm/store/slices/infra-envs/thunks.d.ts.map +1 -0
  81. package/build/@types/ocm/store/store-day1.d.ts +32 -0
  82. package/build/@types/ocm/store/store-day1.d.ts.map +1 -0
  83. package/build/@types/ocm/store/store-day2.d.ts +10 -0
  84. package/build/@types/ocm/store/store-day2.d.ts.map +1 -0
  85. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js +9 -0
  86. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js.map +1 -1
  87. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +23 -10
  88. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
  89. package/build/cjs/cim/components/helpers/toAssisted.js +2 -1
  90. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  91. package/build/cjs/cim/components/modals/AddBmcHostModal.js +3 -1
  92. package/build/cjs/cim/components/modals/AddBmcHostModal.js.map +1 -1
  93. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js +3 -1
  94. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js.map +1 -1
  95. package/build/cjs/cim/components/modals/ProvisioningConfigErrorAlert.js +16 -0
  96. package/build/cjs/cim/components/modals/ProvisioningConfigErrorAlert.js.map +1 -0
  97. package/build/cjs/common/api/axiosClient.js +2 -4
  98. package/build/cjs/common/api/axiosClient.js.map +1 -1
  99. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +11 -3
  100. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  101. package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js +2 -2
  102. package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js.map +1 -1
  103. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js.map +1 -1
  104. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js +1 -3
  105. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js.map +1 -1
  106. package/build/cjs/common/components/ui/formik/validationSchemas.js +8 -16
  107. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
  108. package/build/cjs/common/config/constants.js +1 -3
  109. package/build/cjs/common/config/constants.js.map +1 -1
  110. package/build/cjs/common/features/featureGate.js +1 -11
  111. package/build/cjs/common/features/featureGate.js.map +1 -1
  112. package/build/cjs/common/utils.js +1 -1
  113. package/build/cjs/common/utils.js.map +1 -1
  114. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js +9 -5
  115. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js.map +1 -1
  116. package/build/cjs/ocm/components/Routes.js +29 -0
  117. package/build/cjs/ocm/components/Routes.js.map +1 -0
  118. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js +4 -4
  119. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js.map +1 -1
  120. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js +1 -1
  121. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js.map +1 -1
  122. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +0 -1
  123. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
  124. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +2 -4
  125. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  126. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js +1 -2
  127. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js.map +1 -1
  128. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js +1 -1
  129. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js.map +1 -1
  130. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +1 -1
  131. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
  132. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js +1 -1
  133. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js.map +1 -1
  134. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +1 -1
  135. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  136. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +4 -4
  137. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  138. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js +1 -1
  139. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +1 -1
  140. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +1 -1
  141. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +1 -1
  142. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js +1 -1
  143. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js.map +1 -1
  144. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +61 -17
  145. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
  146. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js +2 -2
  147. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js.map +1 -1
  148. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/constants.js +8 -1
  149. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/constants.js.map +1 -1
  150. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js +3 -3
  151. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js.map +1 -1
  152. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js +1 -1
  153. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js.map +1 -1
  154. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js +1 -1
  155. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js.map +1 -1
  156. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js +1 -1
  157. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js.map +1 -1
  158. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +4 -4
  159. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
  160. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js +2 -2
  161. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js.map +1 -1
  162. package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js +2 -2
  163. package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js.map +1 -1
  164. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +2 -2
  165. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
  166. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +2 -2
  167. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
  168. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +4 -4
  169. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  170. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +4 -2
  171. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  172. package/build/cjs/ocm/components/clusterWizard/CustomManifestStep.js +1 -1
  173. package/build/cjs/ocm/components/clusterWizard/CustomManifestStep.js.map +1 -1
  174. package/build/cjs/ocm/components/clusterWizard/HostDiscovery.js +4 -4
  175. package/build/cjs/ocm/components/clusterWizard/HostDiscovery.js.map +1 -1
  176. package/build/cjs/ocm/components/clusterWizard/Operators.js +3 -3
  177. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  178. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +4 -9
  179. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  180. package/build/cjs/ocm/components/clusterWizard/StaticIp.js +1 -1
  181. package/build/cjs/ocm/components/clusterWizard/StaticIp.js.map +1 -1
  182. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js +18 -0
  183. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js.map +1 -0
  184. package/build/cjs/ocm/components/clusters/ClusterPage.js +4 -9
  185. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  186. package/build/cjs/ocm/components/clusters/Clusters.js +8 -8
  187. package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
  188. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +6 -6
  189. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
  190. package/build/cjs/ocm/components/clusters/ClustersTable.js +2 -2
  191. package/build/cjs/ocm/components/clusters/ClustersTable.js.map +1 -1
  192. package/build/cjs/ocm/components/clusters/NewClusterPage.js +2 -2
  193. package/build/cjs/ocm/components/clusters/NewClusterPage.js.map +1 -1
  194. package/build/cjs/ocm/components/clusters/clusterPolling.js +11 -11
  195. package/build/cjs/ocm/components/clusters/clusterPolling.js.map +1 -1
  196. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +20 -8
  197. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  198. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js +1 -1
  199. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js.map +1 -1
  200. package/build/cjs/ocm/components/hosts/use-hosts-table.js +20 -20
  201. package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
  202. package/build/cjs/ocm/components/hosts/utils.js +2 -2
  203. package/build/cjs/ocm/components/hosts/utils.js.map +1 -1
  204. package/build/cjs/ocm/components/index.js +1 -1
  205. package/build/cjs/ocm/components/ui/OcmFormFields.js +1 -1
  206. package/build/cjs/ocm/components/ui/OcmFormFields.js.map +1 -1
  207. package/build/cjs/ocm/hooks/useSetClusterPermissions.js +2 -2
  208. package/build/cjs/ocm/hooks/useSetClusterPermissions.js.map +1 -1
  209. package/build/cjs/ocm/index.js +1 -2
  210. package/build/cjs/ocm/index.js.map +1 -1
  211. package/build/cjs/ocm/store/hooks.js +3 -1
  212. package/build/cjs/ocm/store/hooks.js.map +1 -1
  213. package/build/cjs/ocm/store/index.js +10 -19
  214. package/build/cjs/ocm/store/index.js.map +1 -1
  215. package/build/cjs/ocm/{selectors/clusters.js → store/slices/clusters/selectors.js} +4 -4
  216. package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -0
  217. package/build/cjs/ocm/{reducers/clusters/clustersSlice.js → store/slices/clusters/slice.js} +8 -7
  218. package/build/cjs/ocm/store/slices/clusters/slice.js.map +1 -0
  219. package/build/cjs/ocm/{selectors/currentCluster.js → store/slices/current-cluster/selectors.js} +1 -1
  220. package/build/cjs/ocm/store/slices/current-cluster/selectors.js.map +1 -0
  221. package/build/cjs/ocm/{reducers/clusters/currentClusterSlice.js → store/slices/current-cluster/slice.js} +12 -13
  222. package/build/cjs/ocm/store/slices/current-cluster/slice.js.map +1 -0
  223. package/build/cjs/ocm/store/slices/feature-flags/selectors.js +11 -0
  224. package/build/cjs/ocm/store/slices/feature-flags/selectors.js.map +1 -0
  225. package/build/cjs/ocm/store/slices/feature-flags/slice.js +16 -0
  226. package/build/cjs/ocm/store/slices/feature-flags/slice.js.map +1 -0
  227. package/build/cjs/ocm/store/slices/infra-envs/selectors.js.map +1 -0
  228. package/build/cjs/ocm/store/slices/infra-envs/slice.js.map +1 -0
  229. package/build/cjs/ocm/store/slices/infra-envs/thunks.js.map +1 -0
  230. package/build/cjs/ocm/store/store-day1.js +24 -0
  231. package/build/cjs/ocm/store/store-day1.js.map +1 -0
  232. package/build/cjs/ocm/store/store-day2.js +20 -0
  233. package/build/cjs/ocm/store/store-day2.js.map +1 -0
  234. package/lib/cim/components/ClusterDeployment/types.ts +2 -3
  235. package/lib/cim/components/ClusterDeployment/wizardTransition.ts +10 -0
  236. package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +45 -18
  237. package/lib/cim/components/InfraEnv/types.ts +4 -1
  238. package/lib/cim/components/helpers/toAssisted.ts +3 -0
  239. package/lib/cim/components/modals/AddBmcHostModal.tsx +3 -0
  240. package/lib/cim/components/modals/AddBmcHostYamlModal.tsx +3 -0
  241. package/lib/cim/components/modals/ProvisioningConfigErrorAlert.tsx +18 -0
  242. package/lib/cim/components/modals/types.ts +2 -0
  243. package/lib/common/api/axiosClient.ts +2 -3
  244. package/lib/common/components/clusterWizard/ReviewValidations.tsx +12 -1
  245. package/lib/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.tsx +2 -2
  246. package/lib/common/components/clusterWizard/types.ts +1 -0
  247. package/lib/common/components/clusterWizard/validationsInfoUtils.ts +9 -0
  248. package/lib/common/components/ui/formik/SingleNodeCheckbox.tsx +1 -3
  249. package/lib/common/components/ui/formik/validationSchemas.test.ts +4 -22
  250. package/lib/common/components/ui/formik/validationSchemas.ts +13 -22
  251. package/lib/common/config/constants.ts +1 -3
  252. package/lib/common/features/featureGate.tsx +1 -19
  253. package/lib/common/utils.ts +2 -2
  254. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.tsx +16 -11
  255. package/lib/ocm/components/Routes.tsx +34 -0
  256. package/lib/ocm/components/clusterConfiguration/DiscoveryImageForm.tsx +5 -1
  257. package/lib/ocm/components/clusterConfiguration/HostInventory.tsx +1 -1
  258. package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +0 -2
  259. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +6 -10
  260. package/lib/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.tsx +2 -3
  261. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +1 -1
  262. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +1 -1
  263. package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx +1 -1
  264. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +1 -1
  265. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +5 -2
  266. package/lib/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx +1 -1
  267. package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +1 -1
  268. package/lib/ocm/components/clusterConfiguration/operators/CnvHostRequirements.tsx +1 -1
  269. package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +134 -35
  270. package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx +10 -8
  271. package/lib/ocm/components/clusterConfiguration/platformIntegration/constants.tsx +8 -0
  272. package/lib/ocm/components/clusterConfiguration/review/ReviewStep.tsx +2 -2
  273. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.tsx +1 -1
  274. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.tsx +3 -3
  275. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.tsx +1 -1
  276. package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +6 -4
  277. package/lib/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.tsx +3 -3
  278. package/lib/ocm/components/clusterDetail/CancelInstallationModal.tsx +1 -1
  279. package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +1 -1
  280. package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +1 -1
  281. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +1 -1
  282. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +5 -3
  283. package/lib/ocm/components/clusterWizard/CustomManifestStep.tsx +1 -1
  284. package/lib/ocm/components/clusterWizard/HostDiscovery.tsx +2 -2
  285. package/lib/ocm/components/clusterWizard/Operators.tsx +1 -1
  286. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +6 -19
  287. package/lib/ocm/components/clusterWizard/StaticIp.tsx +1 -1
  288. package/lib/ocm/components/clusters/AssistedInstallerHeader.tsx +25 -0
  289. package/lib/ocm/components/clusters/ClusterPage.tsx +4 -28
  290. package/lib/ocm/components/clusters/Clusters.tsx +9 -11
  291. package/lib/ocm/components/clusters/ClustersListToolbar.tsx +5 -5
  292. package/lib/ocm/components/clusters/ClustersTable.tsx +4 -1
  293. package/lib/ocm/components/clusters/NewClusterPage.tsx +3 -6
  294. package/lib/ocm/components/clusters/clusterPolling.ts +7 -7
  295. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +21 -7
  296. package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +1 -1
  297. package/lib/ocm/components/hosts/use-hosts-table.tsx +5 -2
  298. package/lib/ocm/components/hosts/utils.ts +1 -1
  299. package/lib/ocm/components/index.ts +1 -1
  300. package/lib/ocm/components/ui/OcmFormFields.tsx +1 -1
  301. package/lib/ocm/hooks/useSetClusterPermissions.ts +1 -1
  302. package/lib/ocm/index.ts +0 -1
  303. package/lib/ocm/store/hooks.ts +6 -2
  304. package/lib/ocm/store/index.ts +5 -23
  305. package/lib/ocm/{selectors/clusters.tsx → store/slices/clusters/selectors.tsx} +10 -12
  306. package/lib/ocm/{reducers/clusters/clustersSlice.ts → store/slices/clusters/slice.ts} +6 -5
  307. package/lib/ocm/{selectors/currentCluster.ts → store/slices/current-cluster/selectors.ts} +7 -7
  308. package/lib/ocm/{reducers/clusters/currentClusterSlice.ts → store/slices/current-cluster/slice.ts} +10 -8
  309. package/lib/ocm/store/slices/feature-flags/selectors.ts +13 -0
  310. package/lib/ocm/store/slices/feature-flags/slice.ts +15 -0
  311. package/lib/ocm/store/slices/{infraEnvs → infra-envs}/selectors.ts +3 -3
  312. package/lib/ocm/store/slices/{infraEnvs → infra-envs}/thunks.ts +3 -3
  313. package/lib/ocm/store/store-day1.ts +23 -0
  314. package/lib/ocm/store/store-day2.ts +19 -0
  315. package/package.json +3 -3
  316. package/build/@types/ocm/components/Router.d.ts +0 -9
  317. package/build/@types/ocm/components/Router.d.ts.map +0 -1
  318. package/build/@types/ocm/hooks/useOracleDropdownItemState.d.ts +0 -10
  319. package/build/@types/ocm/hooks/useOracleDropdownItemState.d.ts.map +0 -1
  320. package/build/@types/ocm/reducers/clusters/clustersSlice.d.ts.map +0 -1
  321. package/build/@types/ocm/reducers/clusters/currentClusterSlice.d.ts.map +0 -1
  322. package/build/@types/ocm/reducers/clusters/index.d.ts +0 -3
  323. package/build/@types/ocm/reducers/clusters/index.d.ts.map +0 -1
  324. package/build/@types/ocm/selectors/clusters.d.ts.map +0 -1
  325. package/build/@types/ocm/selectors/currentCluster.d.ts +0 -14
  326. package/build/@types/ocm/selectors/currentCluster.d.ts.map +0 -1
  327. package/build/@types/ocm/selectors/index.d.ts +0 -3
  328. package/build/@types/ocm/selectors/index.d.ts.map +0 -1
  329. package/build/@types/ocm/store/slices/infraEnvs/selectors.d.ts.map +0 -1
  330. package/build/@types/ocm/store/slices/infraEnvs/slice.d.ts.map +0 -1
  331. package/build/@types/ocm/store/slices/infraEnvs/thunks.d.ts.map +0 -1
  332. package/build/cjs/ocm/components/Router.js +0 -25
  333. package/build/cjs/ocm/components/Router.js.map +0 -1
  334. package/build/cjs/ocm/hooks/useOracleDropdownItemState.js +0 -30
  335. package/build/cjs/ocm/hooks/useOracleDropdownItemState.js.map +0 -1
  336. package/build/cjs/ocm/reducers/clusters/clustersSlice.js.map +0 -1
  337. package/build/cjs/ocm/reducers/clusters/currentClusterSlice.js.map +0 -1
  338. package/build/cjs/ocm/reducers/clusters/index.js +0 -6
  339. package/build/cjs/ocm/reducers/clusters/index.js.map +0 -1
  340. package/build/cjs/ocm/selectors/clusters.js.map +0 -1
  341. package/build/cjs/ocm/selectors/currentCluster.js.map +0 -1
  342. package/build/cjs/ocm/selectors/index.js +0 -6
  343. package/build/cjs/ocm/selectors/index.js.map +0 -1
  344. package/build/cjs/ocm/store/slices/infraEnvs/selectors.js.map +0 -1
  345. package/build/cjs/ocm/store/slices/infraEnvs/slice.js.map +0 -1
  346. package/build/cjs/ocm/store/slices/infraEnvs/thunks.js.map +0 -1
  347. package/lib/ocm/components/Router.tsx +0 -29
  348. package/lib/ocm/hooks/useOracleDropdownItemState.ts +0 -45
  349. package/lib/ocm/reducers/clusters/index.ts +0 -2
  350. package/lib/ocm/selectors/index.ts +0 -2
  351. /package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/slice.d.ts +0 -0
  352. /package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/thunks.d.ts +0 -0
  353. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/selectors.js +0 -0
  354. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/slice.js +0 -0
  355. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/thunks.js +0 -0
  356. /package/lib/ocm/store/slices/{infraEnvs → infra-envs}/slice.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Provider } from 'react-redux';
3
3
  import { Card, CardBody, CardHeader, Title } from '@patternfly/react-core';
4
- import { store } from '../../store';
4
+ import { storeDay1 } from '../../store';
5
5
  import { OCM_CLUSTER_LIST_LINK } from '../../config';
6
6
  import {
7
7
  AlertsContextProvider,
@@ -49,7 +49,7 @@ const LoadingCard = () => (
49
49
  </Card>
50
50
  );
51
51
 
52
- const ClusterLoadFailed = ({ clusterId }: { clusterId: Cluster['id'] }) => {
52
+ const ClusterLoadFailed = ({ clusterId, error }: { clusterId: Cluster['id']; error?: string }) => {
53
53
  const fetchCluster = useFetchCluster(clusterId);
54
54
  return (
55
55
  <Card data-testid="ai-cluster-details-card">
@@ -63,6 +63,7 @@ const ClusterLoadFailed = ({ clusterId }: { clusterId: Cluster['id'] }) => {
63
63
  title="Failed to fetch the cluster"
64
64
  fetchData={fetchCluster}
65
65
  actions={[<BackButton key={'cancel'} to={OCM_CLUSTER_LIST_LINK} />]}
66
+ content={error}
66
67
  />
67
68
  </CardBody>
68
69
  </Card>
@@ -106,10 +107,11 @@ const AssistedInstallerDetailCard = ({
106
107
  pullSecret,
107
108
  cluster?.openshiftVersion,
108
109
  );
110
+
109
111
  if (uiState === ResourceUIState.LOADING || infraEnvLoading) {
110
112
  return <LoadingCard />;
111
113
  } else if ((uiState === ResourceUIState.POLLING_ERROR && !cluster) || infraEnvError) {
112
- return <ClusterLoadFailed clusterId={aiClusterId} />;
114
+ return <ClusterLoadFailed clusterId={aiClusterId} error={infraEnvError} />;
113
115
  }
114
116
 
115
117
  if (!cluster || !infraEnv || cluster.status === 'adding-hosts') {
@@ -158,7 +160,7 @@ const AssistedInstallerDetailCard = ({
158
160
  };
159
161
 
160
162
  const Wrapper = (props: AssistedInstallerDetailCardProps) => (
161
- <Provider store={store}>
163
+ <Provider store={storeDay1}>
162
164
  <AlertsContextProvider>
163
165
  <AssistedInstallerDetailCard {...props} />
164
166
  </AlertsContextProvider>
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Provider } from 'react-redux';
3
- import { store } from '../../store';
3
+ import { storeDay1 } from '../../store';
4
4
  import { useSelector } from 'react-redux';
5
5
 
6
6
  import {
@@ -10,11 +10,11 @@ import {
10
10
  FeatureListType,
11
11
  } from '../../../common';
12
12
  import ClusterProperties from './ClusterProperties';
13
- import { selectCurrentClusterState } from '../../selectors';
14
13
  import { Grid } from '@patternfly/react-core';
15
14
  import { NewFeatureSupportLevelProvider } from '../featureSupportLevels';
16
15
  import useInfraEnv from '../../hooks/useInfraEnv';
17
16
  import { usePullSecret } from '../../hooks';
17
+ import { selectCurrentClusterState } from '../../store/slices/current-cluster/selectors';
18
18
 
19
19
  type AssistedInstallerExtraDetailCardProps = {
20
20
  allEnabledFeatures: FeatureListType;
@@ -58,7 +58,7 @@ const AssistedInstallerExtraDetailCard: React.FC<AssistedInstallerExtraDetailCar
58
58
  };
59
59
 
60
60
  const Wrapper: React.FC<AssistedInstallerExtraDetailCardProps> = (props) => (
61
- <Provider store={store}>
61
+ <Provider store={storeDay1}>
62
62
  <AlertsContextProvider>
63
63
  <AssistedInstallerExtraDetailCard {...props} />
64
64
  </AlertsContextProvider>
@@ -9,7 +9,7 @@ import {
9
9
  TextContent,
10
10
  } from '@patternfly/react-core';
11
11
  import { getApiErrorMessage, handleApiError } from '../../api';
12
- import { updateCluster } from '../../reducers/clusters/currentClusterSlice';
12
+ import { updateCluster } from '../../store/slices/current-cluster/slice';
13
13
  import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
14
14
  import { ErrorState, LoadingState } from '../../../common';
15
15
  import { ClustersAPI } from '../../services/apis';
@@ -28,7 +28,7 @@ import ClusterProgress from '../../../common/components/clusterDetail/ClusterPro
28
28
  import { onFetchEvents } from '../fetching/fetchEvents';
29
29
  import { getClusterProgressAlerts } from './getProgressBarAlerts';
30
30
  import { ClustersAPI } from '../../services/apis';
31
- import { updateCluster } from '../../reducers/clusters';
31
+ import { updateCluster } from '../../store/slices/current-cluster/slice';
32
32
  import { handleApiError, isInOcm } from '../../api';
33
33
  import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
34
34
  import OcmClusterProgressItems from '../clusterConfiguration/OcmClusterProgressItems';
@@ -12,7 +12,7 @@ import { ExclamationTriangleIcon } from '@patternfly/react-icons';
12
12
  import { global_warning_color_100 as warningColor } from '@patternfly/react-tokens';
13
13
 
14
14
  import { getApiErrorMessage, handleApiError } from '../../api';
15
- import { updateCluster } from '../../reducers/clusters/currentClusterSlice';
15
+ import { updateCluster } from '../../store/slices/current-cluster/slice';
16
16
  import { calculateCollectedLogsCount } from '../clusters/utils';
17
17
  import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
18
18
  import { ErrorState, LoadingState } from '../../../common';
@@ -4,7 +4,7 @@ import { useDispatch } from 'react-redux';
4
4
  import { useAlerts, LoadingState, ClusterWizardStep } from '../../../common';
5
5
  import { usePullSecret } from '../../hooks';
6
6
  import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../api';
7
- import { setServerUpdateError, updateCluster } from '../../reducers/clusters';
7
+ import { setServerUpdateError, updateCluster } from '../../store/slices/current-cluster/slice';
8
8
  import { useClusterWizardContext } from './ClusterWizardContext';
9
9
  import { canNextClusterDetails, ClusterWizardFlowStateNew } from './wizardTransition';
10
10
  import { useOpenshiftVersions, useManagedDomains, useUsedClusterNames } from '../../hooks';
@@ -10,6 +10,7 @@ import {
10
10
  getClusterDetailsValidationSchema,
11
11
  getRichTextValidation,
12
12
  CpuArchitecture,
13
+ useAlerts,
13
14
  } from '../../../common';
14
15
  import { canNextClusterDetails } from './wizardTransition';
15
16
  import { OpenshiftVersionOptionType, getFormikErrorFields } from '../../../common';
@@ -22,7 +23,7 @@ import {
22
23
  } from '../../services';
23
24
  import { OcmClusterDetailsFormFields } from '../clusterConfiguration/OcmClusterDetailsFormFields';
24
25
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
25
- import { selectCurrentClusterPermissionsState } from '../../selectors';
26
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
26
27
  import { useClusterWizardContext } from './ClusterWizardContext';
27
28
  import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
28
29
  import {
@@ -71,7 +72,7 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
71
72
  const { search } = useLocation();
72
73
  const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
73
74
  const featureSupportLevels = useNewFeatureSupportLevel();
74
-
75
+ const { clearAlerts } = useAlerts();
75
76
  const handleSubmit = React.useCallback(
76
77
  async (values: OcmClusterDetailsValues) => {
77
78
  if (cluster) {
@@ -108,6 +109,7 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
108
109
  cluster?: Cluster,
109
110
  ): (() => void) => {
110
111
  if (isViewerMode || (!dirty && !isUndefined(cluster) && canNextClusterDetails({ cluster }))) {
112
+ clearAlerts();
111
113
  return moveNext;
112
114
  }
113
115
 
@@ -115,7 +117,7 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
115
117
  void submitForm();
116
118
  };
117
119
  },
118
- [isViewerMode, moveNext],
120
+ [isViewerMode, moveNext, clearAlerts],
119
121
  );
120
122
 
121
123
  const initialValues = React.useMemo(
@@ -7,8 +7,8 @@ import { WithErrorBoundary } from '../../../common/components/ErrorHandling/With
7
7
  import { CustomManifestsPage } from '../clusterConfiguration/manifestsConfiguration/CustomManifestsPage';
8
8
  import { CustomManifestFormState } from '../clusterConfiguration/manifestsConfiguration/components/propTypes';
9
9
  import { useSelector } from 'react-redux';
10
- import { selectCurrentClusterPermissionsState } from '../../selectors';
11
10
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
11
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
12
12
 
13
13
  const getInitialFormStateProps = () => {
14
14
  return {
@@ -13,11 +13,11 @@ import HostInventory from '../clusterConfiguration/HostInventory';
13
13
  import { useClusterWizardContext } from './ClusterWizardContext';
14
14
  import { canNextHostDiscovery } from './wizardTransition';
15
15
  import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../api';
16
- import { setServerUpdateError, updateCluster } from '../../reducers/clusters';
16
+ import { setServerUpdateError, updateCluster } from '../../store/slices/current-cluster/slice';
17
17
  import ClusterWizardFooter from './ClusterWizardFooter';
18
18
  import ClusterWizardNavigation from './ClusterWizardNavigation';
19
19
  import { ClustersService, HostDiscoveryService } from '../../services';
20
- import { selectCurrentClusterPermissionsState } from '../../selectors';
20
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
21
21
  import {
22
22
  Cluster,
23
23
  V2ClusterUpdateParams,
@@ -19,7 +19,7 @@ import ClusterWizardFooter from '../clusterWizard/ClusterWizardFooter';
19
19
  import ClusterWizardNavigation from '../clusterWizard/ClusterWizardNavigation';
20
20
  import { OperatorsStep } from './OperatorsStep';
21
21
  import { ClustersService, OperatorsService } from '../../services';
22
- import { setServerUpdateError, updateCluster } from '../../reducers/clusters';
22
+ import { setServerUpdateError, updateCluster } from '../../store/slices/current-cluster/slice';
23
23
  import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../api';
24
24
  import { canNextOperators } from './wizardTransition';
25
25
  import { Cluster, MonitoredOperator } from '@openshift-assisted/types/assisted-installer-service';
@@ -1,41 +1,28 @@
1
1
  import React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { Stack, StackItem } from '@patternfly/react-core';
4
- import { ClusterOperatorProps, ClusterWizardStepHeader, useFeature } from '../../../common';
5
- import { selectIsCurrentClusterSNO } from '../../selectors';
4
+ import { ClusterOperatorProps, ClusterWizardStepHeader } from '../../../common';
6
5
  import CnvCheckbox from '../clusterConfiguration/operators/CnvCheckbox';
7
6
  import OdfCheckbox from '../clusterConfiguration/operators/OdfCheckbox';
8
7
  import LvmCheckbox from '../clusterConfiguration/operators/LvmCheckbox';
9
8
  import MceCheckbox from '../clusterConfiguration/operators/MceCheckbox';
9
+ import { selectIsCurrentClusterSNO } from '../../store/slices/current-cluster/selectors';
10
10
 
11
11
  export const OperatorsStep = (props: ClusterOperatorProps) => {
12
12
  const isSNO = useSelector(selectIsCurrentClusterSNO);
13
- const isOpenshiftDataFoundationEnabled = useFeature('ASSISTED_INSTALLER_OCS_FEATURE') && !isSNO;
14
- const isContainerNativeVirtualizationEnabled = useFeature('ASSISTED_INSTALLER_CNV_FEATURE');
15
13
 
16
14
  return (
17
15
  <Stack hasGutter data-testid={'operators-form'}>
18
16
  <StackItem>
19
17
  <ClusterWizardStepHeader>Operators</ClusterWizardStepHeader>
20
18
  </StackItem>
21
- {isContainerNativeVirtualizationEnabled && (
22
- <StackItem>
23
- <CnvCheckbox {...props} />
24
- </StackItem>
25
- )}
19
+ <StackItem>
20
+ <CnvCheckbox {...props} />
21
+ </StackItem>
26
22
  <StackItem>
27
23
  <MceCheckbox />
28
24
  </StackItem>
29
- {isOpenshiftDataFoundationEnabled && (
30
- <StackItem>
31
- <OdfCheckbox />
32
- </StackItem>
33
- )}
34
- {isSNO && (
35
- <StackItem>
36
- <LvmCheckbox {...props} />
37
- </StackItem>
38
- )}
25
+ <StackItem>{isSNO ? <LvmCheckbox {...props} /> : <OdfCheckbox />}</StackItem>
39
26
  </Stack>
40
27
  );
41
28
  };
@@ -10,8 +10,8 @@ import {
10
10
  } from '../clusterConfiguration/staticIp/components/propTypes';
11
11
  import { StaticIpPage } from '../clusterConfiguration/staticIp/components/StaticIpPage';
12
12
  import { WithErrorBoundary } from '../../../common/components/ErrorHandling/WithErrorBoundary';
13
- import { selectCurrentClusterPermissionsState } from '../../selectors';
14
13
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
14
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
15
15
 
16
16
  const getInitialFormStateProps = () => {
17
17
  return {
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { TextContent, Text, Split, SplitItem } from '@patternfly/react-core';
3
+ import { ASSISTED_INSTALLER_DOCUMENTATION_LINK, ExternalLink } from '../../../common';
4
+
5
+ export const AssistedInstallerHeader = () => {
6
+ return (
7
+ <TextContent>
8
+ <Text component="h1" className="pf-u-display-inline">
9
+ Install OpenShift with the Assisted Installer
10
+ </Text>
11
+ <Split hasGutter>
12
+ <SplitItem>
13
+ <ExternalLink href={ASSISTED_INSTALLER_DOCUMENTATION_LINK}>
14
+ Assisted Installer documentation
15
+ </ExternalLink>
16
+ </SplitItem>
17
+ <SplitItem>
18
+ <Text component="a" data-testid="whats-new-link">
19
+ What's new in Assisted Installer?
20
+ </Text>
21
+ </SplitItem>
22
+ </Split>
23
+ </TextContent>
24
+ );
25
+ };
@@ -1,21 +1,12 @@
1
1
  import React from 'react';
2
2
  import { Redirect, RouteComponentProps } from 'react-router-dom';
3
3
  import { useDispatch } from 'react-redux';
4
+ import { PageSection, PageSectionVariants, Text, TextContent } from '@patternfly/react-core';
4
5
  import {
5
- PageSection,
6
- PageSectionVariants,
7
- Split,
8
- SplitItem,
9
- Text,
10
- TextContent,
11
- } from '@patternfly/react-core';
12
- import {
13
- ASSISTED_INSTALLER_DOCUMENTATION_LINK,
14
6
  AddHostsContextProvider,
15
7
  AlertsContextProvider,
16
8
  CpuArchitecture,
17
9
  ErrorState,
18
- ExternalLink,
19
10
  ResourceUIState,
20
11
  } from '../../../common';
21
12
  import ClusterDetail from '../clusterDetail/ClusterDetail';
@@ -32,7 +23,7 @@ import { routeBasePath } from '../../config';
32
23
  import ClusterWizardContextProvider from '../clusterWizard/ClusterWizardContextProvider';
33
24
  import useInfraEnv from '../../hooks/useInfraEnv';
34
25
  import { SentryErrorMonitorContextProvider } from '../SentryErrorMonitorContextProvider';
35
- import { forceReload } from '../../reducers/clusters';
26
+ import { forceReload } from '../../store/slices/current-cluster/slice';
36
27
  import { ClusterUiError } from './ClusterPageErrors';
37
28
  import ClusterLoading from './ClusterLoading';
38
29
  import ClusterPollingErrorModal from '../clusterDetail/ClusterPollingErrorModal';
@@ -41,6 +32,7 @@ import { BackButton } from '../ui/Buttons/BackButton';
41
32
  import { NewFeatureSupportLevelProvider } from '../featureSupportLevels';
42
33
  import { usePullSecret } from '../../hooks';
43
34
  import { Cluster, InfraEnv } from '@openshift-assisted/types/assisted-installer-service';
35
+ import { AssistedInstallerHeader } from './AssistedInstallerHeader';
44
36
 
45
37
  type MatchParams = {
46
38
  clusterId: string;
@@ -113,23 +105,7 @@ const ClusterPageGeneric: React.FC<{ clusterId: string; showBreadcrumbs?: boolea
113
105
  {showBreadcrumbs && <ClusterBreadcrumbs clusterName={cluster.name} />}
114
106
  {showBreadcrumbs && (
115
107
  <PageSection variant={PageSectionVariants.light}>
116
- <TextContent>
117
- <Text component="h1" className="pf-u-display-inline">
118
- Install OpenShift with the Assisted Installer
119
- </Text>
120
- <Split hasGutter>
121
- <SplitItem>
122
- <ExternalLink href={ASSISTED_INSTALLER_DOCUMENTATION_LINK}>
123
- Assisted Installer documentation
124
- </ExternalLink>
125
- </SplitItem>
126
- <SplitItem>
127
- <Text component="a" data-testid="whats-new-link">
128
- What's new in Assisted Installer?
129
- </Text>
130
- </SplitItem>
131
- </Split>
132
- </TextContent>
108
+ <AssistedInstallerHeader />
133
109
  </PageSection>
134
110
  )}
135
111
 
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { useDispatch, useSelector } from 'react-redux';
3
2
  import { RouteComponentProps } from 'react-router-dom';
4
3
  import {
5
4
  Button,
@@ -10,8 +9,6 @@ import {
10
9
  PageSection,
11
10
  } from '@patternfly/react-core';
12
11
  import { AddCircleOIcon } from '@patternfly/react-icons';
13
-
14
- import { selectClusterTableRows, selectClustersUIState } from '../../selectors/clusters';
15
12
  import {
16
13
  ResourceUIState,
17
14
  Alerts,
@@ -22,11 +19,7 @@ import {
22
19
  AlertsContextProvider,
23
20
  } from '../../../common';
24
21
  import ClustersTable from './ClustersTable';
25
- import {
26
- fetchClustersAsync,
27
- deleteCluster,
28
- ClustersDispatch,
29
- } from '../../reducers/clusters/clustersSlice';
22
+ import { fetchClustersAsync, deleteCluster } from '../../store/slices/clusters/slice';
30
23
  import { handleApiError, getApiErrorMessage } from '../../api';
31
24
  import ClusterBreadcrumbs from './ClusterBreadcrumbs';
32
25
  import { routeBasePath } from '../../config';
@@ -34,6 +27,11 @@ import { ClustersService } from '../../services';
34
27
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
35
28
  import ClusterPollingErrorModal from '../clusterDetail/ClusterPollingErrorModal';
36
29
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
30
+ import { useSelectorDay1, useDispatchDay1 } from '../../store';
31
+ import {
32
+ selectClustersUIState,
33
+ selectClusterTableRows,
34
+ } from '../../store/slices/clusters/selectors';
37
35
 
38
36
  type ClustersProps = RouteComponentProps;
39
37
 
@@ -41,13 +39,13 @@ const Clusters: React.FC<ClustersProps> = ({ history }) => {
41
39
  const { LOADING, EMPTY, POLLING_ERROR, RELOADING } = ResourceUIState;
42
40
  const { addAlert } = useAlerts();
43
41
  const { t } = useTranslation();
44
- const clusterRows = useSelector(selectClusterTableRows(t));
45
- const clustersUIState = useSelector(selectClustersUIState);
42
+ const clusterRows = useSelectorDay1(selectClusterTableRows(t));
43
+ const clustersUIState = useSelectorDay1(selectClustersUIState);
46
44
  const uiState = React.useRef(clustersUIState);
47
45
  if (clustersUIState !== RELOADING) {
48
46
  uiState.current = clustersUIState;
49
47
  }
50
- const dispatch = useDispatch<ClustersDispatch>();
48
+ const dispatch = useDispatchDay1();
51
49
  const deleteClusterAsync = React.useCallback(
52
50
  async (clusterId: Cluster['id']) => {
53
51
  try {
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { useDispatch, useSelector } from 'react-redux';
3
2
  import { useHistory } from 'react-router-dom';
4
3
  import {
5
4
  Toolbar,
@@ -22,13 +21,14 @@ import {
22
21
  import { FilterIcon, SyncIcon } from '@patternfly/react-icons';
23
22
  import { clusterStatusLabels, isSelectEventChecked, ToolbarButton } from '../../../common';
24
23
  import { ResourceUIState } from '../../../common';
25
- import { selectClustersUIState } from '../../selectors';
26
- import { ClustersDispatch, fetchClustersAsync } from '../../reducers/clusters';
24
+ import { fetchClustersAsync } from '../../store/slices/clusters/slice';
27
25
  import { routeBasePath } from '../../config';
28
26
  import omit from 'lodash-es/omit.js';
29
27
  import { TFunction } from 'i18next';
30
28
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
31
29
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
30
+ import { useDispatchDay1, useSelectorDay1 } from '../../store';
31
+ import { selectClustersUIState } from '../../store/slices/clusters/selectors';
32
32
 
33
33
  export type ClusterFiltersType = {
34
34
  [key: string]: string[]; // value from clusterStatusLabels
@@ -52,8 +52,8 @@ const ClustersListToolbar: React.FC<ClustersListToolbarProps> = ({
52
52
  }) => {
53
53
  const [isStatusExpanded, setStatusExpanded] = React.useState(false);
54
54
  const history = useHistory();
55
- const clustersUIState = useSelector(selectClustersUIState);
56
- const dispatch = useDispatch<ClustersDispatch>();
55
+ const clustersUIState = useSelectorDay1(selectClustersUIState);
56
+ const dispatch = useDispatchDay1();
57
57
  const fetchClusters = React.useCallback(() => void dispatch(fetchClustersAsync()), [dispatch]);
58
58
 
59
59
  const onClearAllFilters: ToolbarProps['clearAllFilters'] = () => {
@@ -17,10 +17,13 @@ import {
17
17
  } from '@patternfly/react-table';
18
18
  import { ClusterTableRows } from '../../../common/types/clusters';
19
19
  import DeleteClusterModal from './DeleteClusterModal';
20
- import { ClusterRowDataProps, getClusterTableStatusCell } from '../../selectors/clusters';
21
20
  import { clusterStatusLabels, rowSorter, HumanizedSortable } from '../../../common';
22
21
  import ClustersListToolbar, { ClusterFiltersType } from './ClustersListToolbar';
23
22
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
23
+ import {
24
+ ClusterRowDataProps,
25
+ getClusterTableStatusCell,
26
+ } from '../../store/slices/clusters/selectors';
24
27
 
25
28
  type DeleteClusterID = Pick<ClusterRowDataProps, 'id' | 'name'>;
26
29
 
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
- import { PageSectionVariants, TextContent, Text, PageSection } from '@patternfly/react-core';
2
+ import { PageSectionVariants, PageSection } from '@patternfly/react-core';
3
3
  import { AlertsContextProvider } from '../../../common';
4
4
  import ClusterBreadcrumbs from './ClusterBreadcrumbs';
5
5
  import { ClusterDefaultConfigurationProvider } from '../clusterConfiguration/ClusterDefaultConfigurationContext';
@@ -9,6 +9,7 @@ import { SentryErrorMonitorContextProvider } from '../SentryErrorMonitorContextP
9
9
  import ClusterLoading from './ClusterLoading';
10
10
  import { ClusterUiError } from './ClusterPageErrors';
11
11
  import { NewFeatureSupportLevelProvider } from '../featureSupportLevels';
12
+ import { AssistedInstallerHeader } from './AssistedInstallerHeader';
12
13
 
13
14
  const NewClusterPageGeneric: React.FC<{ pageTitleSection?: ReactNode }> = ({
14
15
  pageTitleSection,
@@ -38,11 +39,7 @@ const NewClusterTitleSection: React.FC = () => (
38
39
  <>
39
40
  <ClusterBreadcrumbs clusterName="New cluster" />
40
41
  <PageSection variant={PageSectionVariants.light}>
41
- <TextContent>
42
- <Text component="h1" className="pf-u-display-inline">
43
- Install OpenShift with the Assisted Installer
44
- </Text>
45
- </TextContent>
42
+ <AssistedInstallerHeader />
46
43
  </PageSection>
47
44
  </>
48
45
  );
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { useSelector, useDispatch } from 'react-redux';
3
2
  import { ResourceUIState, POLLING_INTERVAL } from '../../../common';
4
3
  import {
5
4
  fetchClusterAsync,
@@ -7,10 +6,10 @@ import {
7
6
  forceReload,
8
7
  cancelForceReload,
9
8
  FetchErrorType,
10
- ClusterDispatch,
11
- } from '../../reducers/clusters';
12
- import { selectCurrentClusterState } from '../../selectors';
9
+ } from '../../store/slices/current-cluster/slice';
10
+ import { selectCurrentClusterState } from '../../store/slices/current-cluster/selectors';
13
11
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
12
+ import { useDispatchDay1, useSelectorDay1 } from '../../store';
14
13
 
15
14
  const shouldRefetch = (uiState: ResourceUIState, hasClusterData: boolean) => {
16
15
  if (uiState === ResourceUIState.POLLING_ERROR) {
@@ -24,7 +23,7 @@ const shouldRefetch = (uiState: ResourceUIState, hasClusterData: boolean) => {
24
23
  };
25
24
 
26
25
  export const useFetchCluster = (clusterId: string) => {
27
- const dispatch = useDispatch<ClusterDispatch>();
26
+ const dispatch = useDispatchDay1();
28
27
  return React.useCallback(() => {
29
28
  if (clusterId) {
30
29
  void dispatch(fetchClusterAsync(clusterId));
@@ -39,8 +38,9 @@ export const useClusterPolling = (
39
38
  uiState: ResourceUIState;
40
39
  errorDetail: FetchErrorType | undefined;
41
40
  } => {
42
- const { isReloadScheduled, uiState, data, errorDetail } = useSelector(selectCurrentClusterState);
43
- const dispatch = useDispatch();
41
+ const { isReloadScheduled, uiState, data, errorDetail } =
42
+ useSelectorDay1(selectCurrentClusterState);
43
+ const dispatch = useDispatchDay1();
44
44
  const fetchCluster = useFetchCluster(clusterId);
45
45
  const hasClusterData = !!data;
46
46
 
@@ -134,6 +134,16 @@ const getNetworkTypeSelectionDisabledReason = (cluster: Cluster | undefined) =>
134
134
  return undefined;
135
135
  };
136
136
 
137
+ const getOciDisabledReason = (cpuArchitecture: string | undefined, isSupported: boolean) => {
138
+ if (!isSupported) {
139
+ if (cpuArchitecture === CpuArchitecture.s390x || cpuArchitecture === CpuArchitecture.ppc64le) {
140
+ return `Integration with Oracle is not available with the selected CPU architecture.`;
141
+ } else {
142
+ return 'Integration with Oracle is available for OpenShift 4.14 and later versions.';
143
+ }
144
+ }
145
+ };
146
+
137
147
  export const getNewFeatureDisabledReason = (
138
148
  featureId: FeatureId,
139
149
  cluster: Cluster | undefined,
@@ -164,17 +174,21 @@ export const getNewFeatureDisabledReason = (
164
174
  return 'Cluster-managed networking is not supported for ARM architecture with this version of OpenShift.';
165
175
  }
166
176
  case 'EXTERNAL_PLATFORM_OCI': {
167
- if (cpuArchitecture === 's390x') {
168
- return "Can't set Oracle platform on s390x architecture";
169
- } else {
170
- return 'Integration with Oracle is available for OpenShift 4.14 and later versions.';
171
- }
177
+ return getOciDisabledReason(cpuArchitecture, isSupported);
172
178
  }
173
179
  case 'MCE': {
174
180
  if (!isSupported) {
175
181
  return 'Multicluster engine is not supported in this OpenShift version.';
176
- } else {
177
- return undefined;
182
+ }
183
+ }
184
+ case 'NUTANIX_INTEGRATION': {
185
+ if (!isSupported) {
186
+ return `Integration with Nutanix is not available with the selected CPU architecture.`;
187
+ }
188
+ }
189
+ case 'VSPHERE_INTEGRATION': {
190
+ if (!isSupported) {
191
+ return `Integration with vSphere is not available with the selected CPU architecture.`;
178
192
  }
179
193
  }
180
194
  default: {
@@ -26,7 +26,7 @@ import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
26
26
  import { hardwareStatusColumn } from './HardwareStatus';
27
27
  import HostsTableEmptyState from '../hosts/HostsTableEmptyState';
28
28
  import { useSelector } from 'react-redux';
29
- import { selectCurrentClusterPermissionsState } from '../../selectors';
29
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
30
30
  import { useClusterWizardContext } from '../clusterWizard/ClusterWizardContext';
31
31
  import { Cluster, Host } from '@openshift-assisted/types/assisted-installer-service';
32
32
 
@@ -20,7 +20,7 @@ import {
20
20
  setServerUpdateError,
21
21
  updateCluster,
22
22
  updateHost,
23
- } from '../../reducers/clusters';
23
+ } from '../../store/slices/current-cluster/slice';
24
24
  import { useModalDialogsContext } from './ModalDialogsContext';
25
25
  import { downloadHostInstallationLogs, onAdditionalNtpSourceAction } from './utils';
26
26
  import {
@@ -47,7 +47,6 @@ import UpdateDay2ApiVipModal from './UpdateDay2ApiVipModal';
47
47
  import { UpdateDay2ApiVipFormProps } from './UpdateDay2ApiVipForm';
48
48
  import { usePagination } from '../../../common/components/hosts/usePagination';
49
49
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
50
- import { selectCurrentClusterPermissionsState, selectCurrentClusterState } from '../../selectors';
51
50
  import { hardwareStatusColumn } from './HardwareStatus';
52
51
  import { ClusterWizardContext } from '../clusterWizard/ClusterWizardContext';
53
52
  import {
@@ -57,6 +56,10 @@ import {
57
56
  Host,
58
57
  HostUpdateParams,
59
58
  } from '@openshift-assisted/types/assisted-installer-service';
59
+ import {
60
+ selectCurrentClusterPermissionsState,
61
+ selectCurrentClusterState,
62
+ } from '../../store/slices/current-cluster/selectors';
60
63
 
61
64
  export const useHostsTable = (cluster: Cluster) => {
62
65
  const { addAlert } = useAlerts();
@@ -2,7 +2,7 @@ import { saveAs } from 'file-saver';
2
2
  import type { AlertsContextType } from '../../../common';
3
3
 
4
4
  import { isInOcm, handleApiError, getApiErrorMessage } from '../../api';
5
- import { updateCluster } from '../../reducers/clusters';
5
+ import { updateCluster } from '../../store/slices/current-cluster/slice';
6
6
  import { ClustersService } from '../../services';
7
7
  import ClustersAPI from '../../../common/api/assisted-service/ClustersAPI';
8
8
  import { stringToJSON } from '../../../common/utils';
@@ -1,7 +1,7 @@
1
1
  export * from './clusterDetail';
2
2
  export * from './clusters';
3
3
  export * from './ui';
4
- export * from './Router';
4
+ export * from './Routes';
5
5
  export * from './AddHosts';
6
6
  export * from './clusterWizard';
7
7
  export * from './HostsClusterDetailTab';
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { Checkbox, CheckboxProps, Radio, RadioProps } from '@patternfly/react-core';
4
- import { selectCurrentClusterPermissionsState } from '../../selectors';
4
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
5
5
  import {
6
6
  CheckboxField,
7
7
  CodeField,