@openshift-assisted/ui-lib 2.17.0-cim → 2.17.1-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 (397) hide show
  1. package/build/@types/cim/components/Agent/AgentStatus.d.ts +1 -0
  2. package/build/@types/cim/components/Agent/AgentStatus.d.ts.map +1 -1
  3. package/build/@types/cim/components/Agent/AgentTable.d.ts.map +1 -1
  4. package/build/@types/cim/components/Agent/AgentsSelectionTable.d.ts.map +1 -1
  5. package/build/@types/cim/components/Agent/BMCForm.d.ts.map +1 -1
  6. package/build/@types/cim/components/Agent/BMHEventsModal.d.ts +8 -0
  7. package/build/@types/cim/components/Agent/BMHEventsModal.d.ts.map +1 -0
  8. package/build/@types/cim/components/Agent/BMHStatus.d.ts +2 -0
  9. package/build/@types/cim/components/Agent/BMHStatus.d.ts.map +1 -1
  10. package/build/@types/cim/components/Agent/BMHStatusInfo.d.ts +8 -0
  11. package/build/@types/cim/components/Agent/BMHStatusInfo.d.ts.map +1 -0
  12. package/build/@types/cim/components/Agent/MinimalHWRequirements.d.ts.map +1 -1
  13. package/build/@types/cim/components/Agent/index.d.ts +2 -0
  14. package/build/@types/cim/components/Agent/index.d.ts.map +1 -1
  15. package/build/@types/cim/components/Agent/tableColumns.d.ts +29 -0
  16. package/build/@types/cim/components/Agent/tableColumns.d.ts.map +1 -0
  17. package/build/@types/cim/components/Agent/tableUtils.d.ts +2 -22
  18. package/build/@types/cim/components/Agent/tableUtils.d.ts.map +1 -1
  19. package/build/@types/cim/components/ClusterDeployment/NetworkConfiguration.d.ts +1 -1
  20. package/build/@types/cim/components/ClusterDeployment/NetworkConfiguration.d.ts.map +1 -1
  21. package/build/@types/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.d.ts.map +1 -1
  22. package/build/@types/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
  23. package/build/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts +1 -1
  24. package/build/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts.map +1 -1
  25. package/build/@types/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.d.ts.map +1 -1
  26. package/build/@types/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.d.ts.map +1 -1
  27. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts +9 -5
  28. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts.map +1 -1
  29. package/build/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/AdvancedNetworkFields.d.ts.map +1 -0
  30. package/build/@types/cim/components/Hypershift/modals/AddNodePoolModal.d.ts.map +1 -1
  31. package/build/@types/cim/components/Hypershift/modals/ManageHostsModal.d.ts.map +1 -1
  32. package/build/@types/cim/components/Hypershift/modals/RemoveNodePoolModal.d.ts.map +1 -1
  33. package/build/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts.map +1 -1
  34. package/build/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts +0 -1
  35. package/build/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts.map +1 -1
  36. package/build/@types/cim/components/helpers/agentStatus.d.ts.map +1 -1
  37. package/build/@types/cim/components/modals/AddBmcHostModal.d.ts.map +1 -1
  38. package/build/@types/cim/components/modals/AddBmcHostYamlForm.d.ts.map +1 -1
  39. package/build/@types/cim/components/modals/AddBmcHostYamlModal.d.ts.map +1 -1
  40. package/build/@types/cim/components/modals/AddHostModal.d.ts.map +1 -1
  41. package/build/@types/cim/components/modals/CimConfiguration/CimConfigurationModal.d.ts.map +1 -1
  42. package/build/@types/cim/components/modals/EditBMHModal.d.ts.map +1 -1
  43. package/build/@types/cim/components/modals/EditNtpSourcesModal.d.ts.map +1 -1
  44. package/build/@types/cim/components/modals/EditProxyModal.d.ts.map +1 -1
  45. package/build/@types/cim/components/modals/EditPullSecretModal.d.ts.map +1 -1
  46. package/build/@types/cim/components/modals/EditSSHKeyModal.d.ts.map +1 -1
  47. package/build/@types/cim/components/modals/MassApproveAgentModal.d.ts.map +1 -1
  48. package/build/@types/cim/components/modals/ScaleUpModal.d.ts.map +1 -1
  49. package/build/@types/cim/hooks/index.d.ts +1 -0
  50. package/build/@types/cim/hooks/index.d.ts.map +1 -1
  51. package/build/@types/cim/hooks/types.d.ts +1 -1
  52. package/build/@types/cim/hooks/types.d.ts.map +1 -1
  53. package/build/@types/cim/hooks/useEvents.d.ts +4 -0
  54. package/build/@types/cim/hooks/useEvents.d.ts.map +1 -0
  55. package/build/@types/cim/types/fromOCP/k8sTypes.d.ts +12 -0
  56. package/build/@types/cim/types/fromOCP/k8sTypes.d.ts.map +1 -1
  57. package/build/@types/cim/types/k8s/agent-cluster-install.d.ts +4 -0
  58. package/build/@types/cim/types/k8s/agent-cluster-install.d.ts.map +1 -1
  59. package/build/@types/cim/types/k8s/bare-metal-host.d.ts +20 -0
  60. package/build/@types/cim/types/k8s/bare-metal-host.d.ts.map +1 -1
  61. package/build/@types/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts.map +1 -1
  62. package/build/@types/common/components/clusterConfiguration/utils.d.ts +2 -2
  63. package/build/@types/common/components/clusterConfiguration/utils.d.ts.map +1 -1
  64. package/build/@types/common/components/clusterWizard/networkingSteps/AdvancedNetworkFields.d.ts +7 -0
  65. package/build/@types/common/components/clusterWizard/networkingSteps/AdvancedNetworkFields.d.ts.map +1 -0
  66. package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts +10 -6
  67. package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts.map +1 -1
  68. package/build/@types/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.d.ts +13 -0
  69. package/build/@types/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.d.ts.map +1 -0
  70. package/build/@types/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/SubnetsDropdown.d.ts +1 -1
  71. package/build/@types/common/components/clusterWizard/networkingSteps/SubnetsDropdown.d.ts.map +1 -0
  72. package/build/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts +4 -2
  73. package/build/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts.map +1 -1
  74. package/build/@types/common/components/clusterWizard/networkingSteps/index.d.ts +7 -2
  75. package/build/@types/common/components/clusterWizard/networkingSteps/index.d.ts.map +1 -1
  76. package/build/@types/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/reorderNetworks.d.ts +1 -1
  77. package/build/@types/common/components/clusterWizard/networkingSteps/reorderNetworks.d.ts.map +1 -0
  78. package/build/@types/common/components/hosts/HostStatus.d.ts.map +1 -1
  79. package/build/@types/common/components/hosts/HostValidationGroups.d.ts.map +1 -1
  80. package/build/@types/common/components/hosts/MassChangeHostnameModal.d.ts.map +1 -1
  81. package/build/@types/common/components/hosts/index.d.ts +2 -0
  82. package/build/@types/common/components/hosts/index.d.ts.map +1 -1
  83. package/build/@types/common/components/hosts/tableColumns.d.ts +21 -0
  84. package/build/@types/common/components/hosts/tableColumns.d.ts.map +1 -0
  85. package/build/@types/common/components/hosts/tableUtils.d.ts +3 -21
  86. package/build/@types/common/components/hosts/tableUtils.d.ts.map +1 -1
  87. package/build/@types/common/components/hosts/types.d.ts +1 -0
  88. package/build/@types/common/components/hosts/types.d.ts.map +1 -1
  89. package/build/@types/common/components/ui/EventsList.d.ts.map +1 -1
  90. package/build/@types/common/components/ui/PrismCode.d.ts +13 -11
  91. package/build/@types/common/components/ui/PrismCode.d.ts.map +1 -1
  92. package/build/@types/common/components/ui/formik/LabelField.d.ts +3 -11
  93. package/build/@types/common/components/ui/formik/LabelField.d.ts.map +1 -1
  94. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +3 -5
  95. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
  96. package/build/@types/common/components/ui/index.d.ts +1 -1
  97. package/build/@types/common/components/ui/index.d.ts.map +1 -1
  98. package/build/@types/common/config/constants.d.ts +2 -1
  99. package/build/@types/common/config/constants.d.ts.map +1 -1
  100. package/build/@types/common/types/clusters.d.ts +0 -1
  101. package/build/@types/common/types/clusters.d.ts.map +1 -1
  102. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts +1 -1
  103. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
  104. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.d.ts.map +1 -1
  105. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -1
  106. package/build/@types/ocm/components/clusterDetail/ResetClusterModal.d.ts.map +1 -1
  107. package/build/@types/ocm/components/hosts/ClusterHostsTable.d.ts.map +1 -1
  108. package/build/@types/ocm/components/hosts/HostsDiscoveryTable.d.ts.map +1 -1
  109. package/build/@types/ocm/components/hosts/HostsStorageTable.d.ts.map +1 -1
  110. package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
  111. package/build/cjs/cim/components/Agent/AgentStatus.js +2 -2
  112. package/build/cjs/cim/components/Agent/AgentStatus.js.map +1 -1
  113. package/build/cjs/cim/components/Agent/AgentTable.js +10 -9
  114. package/build/cjs/cim/components/Agent/AgentTable.js.map +1 -1
  115. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js +9 -8
  116. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js.map +1 -1
  117. package/build/cjs/cim/components/Agent/BMCForm.js +4 -5
  118. package/build/cjs/cim/components/Agent/BMCForm.js.map +1 -1
  119. package/build/cjs/cim/components/Agent/BMHEventsModal.js +54 -0
  120. package/build/cjs/cim/components/Agent/BMHEventsModal.js.map +1 -0
  121. package/build/cjs/cim/components/Agent/BMHStatus.js +3 -2
  122. package/build/cjs/cim/components/Agent/BMHStatus.js.map +1 -1
  123. package/build/cjs/cim/components/Agent/BMHStatusInfo.js +59 -0
  124. package/build/cjs/cim/components/Agent/BMHStatusInfo.js.map +1 -0
  125. package/build/cjs/cim/components/Agent/MinimalHWRequirements.js +6 -5
  126. package/build/cjs/cim/components/Agent/MinimalHWRequirements.js.map +1 -1
  127. package/build/cjs/cim/components/Agent/index.js +2 -0
  128. package/build/cjs/cim/components/Agent/index.js.map +1 -1
  129. package/build/cjs/cim/components/Agent/tableColumns.js +184 -0
  130. package/build/cjs/cim/components/Agent/tableColumns.js.map +1 -0
  131. package/build/cjs/cim/components/Agent/tableUtils.js +4 -174
  132. package/build/cjs/cim/components/Agent/tableUtils.js.map +1 -1
  133. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.js +10 -10
  134. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.js.map +1 -1
  135. package/build/cjs/cim/components/ClusterDeployment/LocationsSelector.js +2 -2
  136. package/build/cjs/cim/components/ClusterDeployment/LocationsSelector.js.map +1 -1
  137. package/build/cjs/cim/components/ClusterDeployment/NetworkConfiguration.js +28 -38
  138. package/build/cjs/cim/components/ClusterDeployment/NetworkConfiguration.js.map +1 -1
  139. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js +1 -1
  140. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js.map +1 -1
  141. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js +13 -14
  142. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js.map +1 -1
  143. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js +13 -10
  144. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js.map +1 -1
  145. package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js +19 -18
  146. package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js.map +1 -1
  147. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.js +9 -10
  148. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.js.map +1 -1
  149. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingForm.js +2 -2
  150. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingForm.js.map +1 -1
  151. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingStep.js +12 -8
  152. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingStep.js.map +1 -1
  153. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js +6 -4
  154. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js.map +1 -1
  155. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js +15 -9
  156. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -1
  157. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js +2 -2
  158. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.js +1 -1
  159. package/build/cjs/{common/components/clusterConfiguration → cim/components/Hypershift/HostedClusterWizard/NetworkStep}/AdvancedNetworkFields.js +3 -3
  160. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/AdvancedNetworkFields.js.map +1 -0
  161. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.js +1 -1
  162. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.js.map +1 -1
  163. package/build/cjs/cim/components/Hypershift/modals/AddNodePoolModal.js +4 -4
  164. package/build/cjs/cim/components/Hypershift/modals/AddNodePoolModal.js.map +1 -1
  165. package/build/cjs/cim/components/Hypershift/modals/ManageHostsModal.js +4 -4
  166. package/build/cjs/cim/components/Hypershift/modals/ManageHostsModal.js.map +1 -1
  167. package/build/cjs/cim/components/Hypershift/modals/NodePoolForm.js +1 -1
  168. package/build/cjs/cim/components/Hypershift/modals/NodePoolForm.js.map +1 -1
  169. package/build/cjs/cim/components/Hypershift/modals/RemoveNodePoolModal.js +4 -4
  170. package/build/cjs/cim/components/Hypershift/modals/RemoveNodePoolModal.js.map +1 -1
  171. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js +5 -2
  172. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js.map +1 -1
  173. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js +2 -4
  174. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js.map +1 -1
  175. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +11 -11
  176. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
  177. package/build/cjs/cim/components/common/ResourceAlerts.js +2 -4
  178. package/build/cjs/cim/components/common/ResourceAlerts.js.map +1 -1
  179. package/build/cjs/cim/components/helpers/agentStatus.js +5 -0
  180. package/build/cjs/cim/components/helpers/agentStatus.js.map +1 -1
  181. package/build/cjs/cim/components/helpers/toAssisted.js +28 -26
  182. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  183. package/build/cjs/cim/components/modals/AddBmcHostModal.js +7 -5
  184. package/build/cjs/cim/components/modals/AddBmcHostModal.js.map +1 -1
  185. package/build/cjs/cim/components/modals/AddBmcHostYamlForm.js +2 -3
  186. package/build/cjs/cim/components/modals/AddBmcHostYamlForm.js.map +1 -1
  187. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js +7 -5
  188. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js.map +1 -1
  189. package/build/cjs/cim/components/modals/AddHostModal.js +9 -7
  190. package/build/cjs/cim/components/modals/AddHostModal.js.map +1 -1
  191. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js +17 -22
  192. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -1
  193. package/build/cjs/cim/components/modals/EditBMHModal.js +4 -2
  194. package/build/cjs/cim/components/modals/EditBMHModal.js.map +1 -1
  195. package/build/cjs/cim/components/modals/EditNtpSourcesModal.js +4 -4
  196. package/build/cjs/cim/components/modals/EditNtpSourcesModal.js.map +1 -1
  197. package/build/cjs/cim/components/modals/EditProxyModal.js +4 -4
  198. package/build/cjs/cim/components/modals/EditProxyModal.js.map +1 -1
  199. package/build/cjs/cim/components/modals/EditPullSecretModal.js +4 -4
  200. package/build/cjs/cim/components/modals/EditPullSecretModal.js.map +1 -1
  201. package/build/cjs/cim/components/modals/EditSSHKeyModal.js +5 -5
  202. package/build/cjs/cim/components/modals/EditSSHKeyModal.js.map +1 -1
  203. package/build/cjs/cim/components/modals/MassApproveAgentModal.js +4 -4
  204. package/build/cjs/cim/components/modals/MassApproveAgentModal.js.map +1 -1
  205. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +1 -1
  206. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
  207. package/build/cjs/cim/components/modals/ScaleUpModal.js +4 -4
  208. package/build/cjs/cim/components/modals/ScaleUpModal.js.map +1 -1
  209. package/build/cjs/cim/hooks/index.js +1 -0
  210. package/build/cjs/cim/hooks/index.js.map +1 -1
  211. package/build/cjs/cim/hooks/useEvents.js +12 -0
  212. package/build/cjs/cim/hooks/useEvents.js.map +1 -0
  213. package/build/cjs/common/components/clusterConfiguration/DiscoveryInstructions.js +1 -1
  214. package/build/cjs/common/components/clusterConfiguration/DiscoveryInstructions.js.map +1 -1
  215. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js +9 -9
  216. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js.map +1 -1
  217. package/build/cjs/common/components/clusterConfiguration/ProxyFields.js +3 -3
  218. package/build/cjs/common/components/clusterConfiguration/ProxyFields.js.map +1 -1
  219. package/build/cjs/common/components/clusterConfiguration/utils.js +3 -4
  220. package/build/cjs/common/components/clusterConfiguration/utils.js.map +1 -1
  221. package/build/cjs/common/components/clusterWizard/networkingSteps/AdvancedNetworkFields.js +62 -0
  222. package/build/cjs/common/components/clusterWizard/networkingSteps/AdvancedNetworkFields.js.map +1 -0
  223. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js +130 -46
  224. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js.map +1 -1
  225. package/build/cjs/{ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js → common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js} +59 -38
  226. package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js.map +1 -0
  227. package/build/cjs/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/SubnetsDropdown.js +7 -5
  228. package/build/cjs/common/components/clusterWizard/networkingSteps/SubnetsDropdown.js.map +1 -0
  229. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js +96 -38
  230. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js.map +1 -1
  231. package/build/cjs/common/components/clusterWizard/networkingSteps/index.js +13 -3
  232. package/build/cjs/common/components/clusterWizard/networkingSteps/index.js.map +1 -1
  233. package/build/cjs/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/reorderNetworks.js +2 -2
  234. package/build/cjs/common/components/clusterWizard/networkingSteps/reorderNetworks.js.map +1 -0
  235. package/build/cjs/common/components/hosts/HostStatus.js +8 -6
  236. package/build/cjs/common/components/hosts/HostStatus.js.map +1 -1
  237. package/build/cjs/common/components/hosts/HostValidationGroups.js +2 -3
  238. package/build/cjs/common/components/hosts/HostValidationGroups.js.map +1 -1
  239. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js +7 -13
  240. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js.map +1 -1
  241. package/build/cjs/common/components/hosts/index.js +2 -0
  242. package/build/cjs/common/components/hosts/index.js.map +1 -1
  243. package/build/cjs/common/components/hosts/tableColumns.js +336 -0
  244. package/build/cjs/common/components/hosts/tableColumns.js.map +1 -0
  245. package/build/cjs/common/components/hosts/tableUtils.js +1 -331
  246. package/build/cjs/common/components/hosts/tableUtils.js.map +1 -1
  247. package/build/cjs/common/components/ui/EventsList.js +1 -1
  248. package/build/cjs/common/components/ui/EventsList.js.map +1 -1
  249. package/build/cjs/common/components/ui/PrismCode.js +29 -20
  250. package/build/cjs/common/components/ui/PrismCode.js.map +1 -1
  251. package/build/cjs/common/components/ui/formik/LabelField.js +34 -26
  252. package/build/cjs/common/components/ui/formik/LabelField.js.map +1 -1
  253. package/build/cjs/common/components/ui/formik/validationSchemas.js +60 -78
  254. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
  255. package/build/cjs/common/components/ui/index.js +1 -2
  256. package/build/cjs/common/components/ui/index.js.map +1 -1
  257. package/build/cjs/common/config/constants.js +27 -4
  258. package/build/cjs/common/config/constants.js.map +1 -1
  259. package/build/cjs/common/types/clusters.js.map +1 -1
  260. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +1 -1
  261. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
  262. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +6 -12
  263. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  264. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.js +8 -9
  265. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.js.map +1 -1
  266. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +6 -16
  267. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
  268. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +1 -1
  269. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
  270. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +1 -1
  271. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -1
  272. package/build/cjs/ocm/components/hosts/ClusterHostsTable.js +7 -8
  273. package/build/cjs/ocm/components/hosts/ClusterHostsTable.js.map +1 -1
  274. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js +7 -8
  275. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js.map +1 -1
  276. package/build/cjs/ocm/components/hosts/HostsStorageTable.js +5 -6
  277. package/build/cjs/ocm/components/hosts/HostsStorageTable.js.map +1 -1
  278. package/build/cjs/ocm/components/hosts/use-hosts-table.js +2 -3
  279. package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
  280. package/lib/cim/components/Agent/AgentStatus.tsx +3 -0
  281. package/lib/cim/components/Agent/AgentTable.tsx +3 -2
  282. package/lib/cim/components/Agent/AgentsSelectionTable.tsx +3 -12
  283. package/lib/cim/components/Agent/BMCForm.tsx +8 -7
  284. package/lib/cim/components/Agent/BMHEventsModal.tsx +87 -0
  285. package/lib/cim/components/Agent/BMHStatus.tsx +17 -17
  286. package/lib/cim/components/Agent/BMHStatusInfo.tsx +94 -0
  287. package/lib/cim/components/Agent/MinimalHWRequirements.tsx +17 -12
  288. package/lib/cim/components/Agent/index.ts +2 -0
  289. package/lib/cim/components/Agent/tableColumns.tsx +257 -0
  290. package/lib/cim/components/Agent/tableUtils.tsx +4 -243
  291. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.tsx +2 -2
  292. package/lib/cim/components/ClusterDeployment/LocationsSelector.tsx +2 -2
  293. package/lib/cim/components/ClusterDeployment/NetworkConfiguration.tsx +61 -44
  294. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.tsx +2 -2
  295. package/lib/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.tsx +3 -5
  296. package/lib/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.tsx +27 -28
  297. package/lib/cim/components/ClusterDeployment/networkConfigurationValidation.ts +30 -36
  298. package/lib/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.tsx +2 -7
  299. package/lib/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingForm.tsx +3 -3
  300. package/lib/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingStep.tsx +26 -26
  301. package/lib/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.tsx +20 -6
  302. package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +32 -12
  303. package/lib/cim/components/Hypershift/DetailsPage/NodePoolsTable.tsx +2 -2
  304. package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.tsx +1 -1
  305. package/lib/{common/components/clusterConfiguration → cim/components/Hypershift/HostedClusterWizard/NetworkStep}/AdvancedNetworkFields.tsx +4 -4
  306. package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.tsx +1 -1
  307. package/lib/cim/components/Hypershift/modals/AddNodePoolModal.tsx +15 -16
  308. package/lib/cim/components/Hypershift/modals/ManageHostsModal.tsx +15 -16
  309. package/lib/cim/components/Hypershift/modals/NodePoolForm.tsx +1 -1
  310. package/lib/cim/components/Hypershift/modals/RemoveNodePoolModal.tsx +14 -11
  311. package/lib/cim/components/InfraEnv/EnvironmentDetails.tsx +6 -3
  312. package/lib/cim/components/InfraEnv/EnvironmentErrors.tsx +1 -6
  313. package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +6 -6
  314. package/lib/cim/components/common/ResourceAlerts.tsx +4 -4
  315. package/lib/cim/components/helpers/agentStatus.tsx +5 -0
  316. package/lib/cim/components/helpers/toAssisted.ts +15 -15
  317. package/lib/cim/components/modals/AddBmcHostModal.tsx +14 -13
  318. package/lib/cim/components/modals/AddBmcHostYamlForm.tsx +6 -5
  319. package/lib/cim/components/modals/AddBmcHostYamlModal.tsx +8 -7
  320. package/lib/cim/components/modals/AddHostModal.tsx +22 -11
  321. package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +70 -66
  322. package/lib/cim/components/modals/EditBMHModal.tsx +2 -3
  323. package/lib/cim/components/modals/EditNtpSourcesModal.tsx +15 -10
  324. package/lib/cim/components/modals/EditProxyModal.tsx +16 -10
  325. package/lib/cim/components/modals/EditPullSecretModal.tsx +14 -10
  326. package/lib/cim/components/modals/EditSSHKeyModal.tsx +16 -13
  327. package/lib/cim/components/modals/MassApproveAgentModal.tsx +16 -8
  328. package/lib/cim/components/modals/MassDeleteAgentModal.tsx +1 -1
  329. package/lib/cim/components/modals/ScaleUpModal.tsx +9 -7
  330. package/lib/cim/hooks/index.tsx +1 -0
  331. package/lib/cim/hooks/types.tsx +4 -1
  332. package/lib/cim/hooks/useEvents.tsx +14 -0
  333. package/lib/cim/types/fromOCP/k8sTypes.ts +13 -0
  334. package/lib/cim/types/k8s/agent-cluster-install.ts +4 -0
  335. package/lib/cim/types/k8s/bare-metal-host.ts +20 -0
  336. package/lib/common/components/clusterConfiguration/DiscoveryInstructions.tsx +1 -1
  337. package/lib/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.tsx +7 -10
  338. package/lib/common/components/clusterConfiguration/ProxyFields.tsx +3 -3
  339. package/lib/common/components/clusterConfiguration/utils.ts +22 -12
  340. package/lib/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/AdvancedNetworkFields.tsx +54 -38
  341. package/lib/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.tsx +221 -53
  342. package/lib/{ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx → common/components/clusterWizard/networkingSteps/StackTypeControlGroup.tsx} +64 -28
  343. package/lib/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/SubnetsDropdown.tsx +4 -7
  344. package/lib/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.tsx +199 -80
  345. package/lib/common/components/clusterWizard/networkingSteps/index.ts +10 -2
  346. package/lib/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/reorderNetworks.ts +2 -1
  347. package/lib/common/components/hosts/HostStatus.tsx +14 -3
  348. package/lib/common/components/hosts/HostValidationGroups.tsx +5 -4
  349. package/lib/common/components/hosts/MassChangeHostnameModal.tsx +44 -38
  350. package/lib/common/components/hosts/index.ts +2 -0
  351. package/lib/common/components/hosts/tableColumns.tsx +411 -0
  352. package/lib/common/components/hosts/tableUtils.tsx +4 -409
  353. package/lib/common/components/hosts/types.ts +1 -0
  354. package/lib/common/components/ui/EventsList.tsx +4 -2
  355. package/lib/common/components/ui/PrismCode.tsx +35 -22
  356. package/lib/common/components/ui/formik/LabelField.tsx +77 -60
  357. package/lib/common/components/ui/formik/validationSchemas.ts +64 -107
  358. package/lib/common/components/ui/index.ts +1 -1
  359. package/lib/common/config/constants.ts +33 -2
  360. package/lib/common/types/clusters.ts +0 -1
  361. package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +2 -2
  362. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +12 -23
  363. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.tsx +3 -2
  364. package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +10 -18
  365. package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +2 -1
  366. package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +2 -2
  367. package/lib/ocm/components/hosts/ClusterHostsTable.tsx +4 -3
  368. package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +2 -4
  369. package/lib/ocm/components/hosts/HostsStorageTable.tsx +5 -7
  370. package/lib/ocm/components/hosts/use-hosts-table.tsx +2 -1
  371. package/package.json +3 -3
  372. package/build/@types/common/components/clusterConfiguration/AdvancedNetworkFields.d.ts.map +0 -1
  373. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts +0 -4
  374. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts.map +0 -1
  375. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts +0 -12
  376. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts.map +0 -1
  377. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts +0 -11
  378. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts.map +0 -1
  379. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts.map +0 -1
  380. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts +0 -9
  381. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts.map +0 -1
  382. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/reorderNetworks.d.ts.map +0 -1
  383. package/build/cjs/common/components/clusterConfiguration/AdvancedNetworkFields.js.map +0 -1
  384. package/build/cjs/common/components/ui/formik/LabelField.css +0 -43
  385. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js +0 -53
  386. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js.map +0 -1
  387. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js +0 -124
  388. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js.map +0 -1
  389. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +0 -1
  390. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js.map +0 -1
  391. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +0 -98
  392. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +0 -1
  393. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/reorderNetworks.js.map +0 -1
  394. package/lib/common/components/ui/formik/LabelField.css +0 -43
  395. package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx +0 -208
  396. package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +0 -283
  397. /package/build/@types/{common/components/clusterConfiguration → cim/components/Hypershift/HostedClusterWizard/NetworkStep}/AdvancedNetworkFields.d.ts +0 -0
@@ -1,268 +1,29 @@
1
1
  import * as React from 'react';
2
- import { Link } from 'react-router-dom-v5-compat';
3
2
  import countBy from 'lodash-es/countBy';
4
3
 
5
- import {
6
- HostsTableActions,
7
- getInventory,
8
- getHostname,
9
- Hostname,
10
- ActionCheck,
11
- } from '../../../common';
4
+ import { HostsTableActions, ActionCheck } from '../../../common';
12
5
  import { AgentClusterInstallK8sResource, AgentK8sResource, InfraEnvK8sResource } from '../../types';
13
- import AgentStatus from './AgentStatus';
14
- import { ActionsResolver, TableRow } from '../../../common/components/hosts/AITable';
15
- import { AgentTableActions, ClusterDeploymentWizardStepsType } from '../ClusterDeployment/types';
6
+ import { ActionsResolver } from '../../../common/components/hosts/AITable';
7
+ import { AgentTableActions } from '../ClusterDeployment/types';
16
8
  import { hostActionResolver } from '../../../common/components/hosts/tableUtils';
17
- import { getAgentClusterInstallOfAgent, getAIHosts, getInfraEnvNameOfAgent } from '../helpers';
9
+ import { getAgentClusterInstallOfAgent, getAIHosts } from '../helpers';
18
10
  import { isInstallationInProgress } from '../ClusterDeployment/helpers';
19
11
  import { AGENT_BMH_NAME_LABEL_KEY, INFRAENV_GENERATED_AI_FLOW } from '../common';
20
12
  import { BareMetalHostK8sResource } from '../../types/k8s/bare-metal-host';
21
- import BMHStatus from './BMHStatus';
22
13
  import {
23
14
  getAgentStatus,
24
15
  getAgentStatusKey,
25
16
  getBMHStatus,
26
17
  getBMHStatusKey,
27
- getWizardStepAgentStatus,
28
18
  } from '../helpers/status';
29
19
  import { filterByHostname, getHostLabels } from '../../../common/components/hosts/utils';
30
20
  import { agentStatus } from '../helpers/agentStatus';
31
21
  import noop from 'lodash-es/noop.js';
32
22
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
33
23
  import { TFunction } from 'i18next';
34
- import { AgentMachineK8sResource } from '../Hypershift/types';
35
24
  import { Host } from '@openshift-assisted/types/assisted-installer-service';
36
25
  import { HostStatus } from '../../../common/components/hosts/types';
37
26
 
38
- export const agentHostnameColumn = (
39
- t: TFunction,
40
- hosts: Host[],
41
- agents: AgentK8sResource[],
42
- bareMetalHosts: BareMetalHostK8sResource[],
43
- onEditHostname?: HostsTableActions['onEditHost'],
44
- canEditHostname?: HostsTableActions['canEditHostname'],
45
- canEditBMH?: HostsTableActions['canEditBMH'],
46
- ): TableRow<Host> => ({
47
- header: {
48
- title: t('ai:Hostname'),
49
- props: {
50
- id: 'col-header-hostname', // ACM jest tests require id over testId
51
- modifier: 'breakWord',
52
- },
53
- sort: true,
54
- },
55
- cell: (host) => {
56
- const inventory = getInventory(host);
57
- const editHostname = onEditHostname ? () => onEditHostname(host) : undefined;
58
- const computedHostname = getHostname(host, inventory);
59
-
60
- let readonly = true;
61
-
62
- const agent = agents.find((a) => a.metadata?.uid === host.id);
63
- if (agent) {
64
- readonly = canEditHostname ? !canEditHostname(host) : false;
65
- } else {
66
- const bmh = bareMetalHosts.find((bmh) => bmh.metadata?.uid === host.id);
67
- if (bmh && canEditBMH) {
68
- readonly = !canEditBMH(host);
69
- }
70
- }
71
-
72
- return {
73
- title: (
74
- <Hostname
75
- host={host}
76
- inventory={inventory}
77
- onEditHostname={editHostname}
78
- hosts={hosts}
79
- readonly={readonly}
80
- />
81
- ),
82
- props: { 'data-testid': 'host-name' },
83
- sortableValue: computedHostname || '',
84
- };
85
- },
86
- });
87
-
88
- export const discoveryTypeColumn = (
89
- agents: AgentK8sResource[],
90
- bareMetalHosts: BareMetalHostK8sResource[],
91
- t: TFunction,
92
- ): TableRow<Host> => {
93
- return {
94
- header: {
95
- title: t('ai:Discovery type'),
96
- props: {
97
- id: 'col-header-discovery-type',
98
- },
99
- sort: true,
100
- },
101
- cell: (host) => {
102
- const agent = agents.find((a) => a.metadata?.uid === host.id);
103
- let discoveryType = t('ai:Unknown');
104
- if (agent) {
105
- // eslint-disable-next-line no-prototype-builtins
106
- discoveryType = agent?.metadata?.labels?.hasOwnProperty(AGENT_BMH_NAME_LABEL_KEY)
107
- ? t('ai:BMC')
108
- : t('ai:Discovery ISO');
109
- } else {
110
- const bmh = bareMetalHosts.find((bmh) => bmh.metadata?.uid === host.id);
111
- if (bmh) {
112
- discoveryType = t('ai:BMC');
113
- }
114
- }
115
- return {
116
- title: discoveryType,
117
- props: { 'data-testid': 'discovery-type' },
118
- sortableValue: discoveryType,
119
- };
120
- },
121
- };
122
- };
123
-
124
- type AgentStatusColumnProps = {
125
- agents: AgentK8sResource[];
126
- agentStatuses: HostStatus<string>;
127
- bareMetalHosts?: BareMetalHostK8sResource[];
128
- bmhStatuses?: HostStatus<string>;
129
- onEditHostname?: AgentTableActions['onEditHost'];
130
- onApprove?: AgentTableActions['onApprove'];
131
- wizardStepId?: ClusterDeploymentWizardStepsType;
132
- t: TFunction;
133
- isDay2?: boolean;
134
- };
135
-
136
- export const agentStatusColumn = ({
137
- agents,
138
- agentStatuses,
139
- bareMetalHosts,
140
- bmhStatuses,
141
- onEditHostname,
142
- onApprove,
143
- wizardStepId,
144
- t,
145
- isDay2,
146
- }: AgentStatusColumnProps): TableRow<Host> => {
147
- return {
148
- header: {
149
- title: t('ai:Status'),
150
- props: {
151
- id: 'col-header-infraenvstatus',
152
- },
153
- sort: true,
154
- },
155
- cell: (host) => {
156
- const agent = agents.find((a) => a.metadata?.uid === host.id);
157
- const bmh = bareMetalHosts?.find((b) => b.metadata?.uid === host.id);
158
- let bmhStatus;
159
- let title: React.ReactNode = '--';
160
- if (agent) {
161
- const editHostname = onEditHostname ? () => onEditHostname(agent) : undefined;
162
- title = (
163
- <AgentStatus
164
- agent={agent}
165
- onApprove={onApprove}
166
- onEditHostname={editHostname}
167
- wizardStepId={wizardStepId}
168
- isDay2={isDay2}
169
- />
170
- );
171
- } else if (bmh && bmhStatuses) {
172
- bmhStatus = getBMHStatus(bmh, bmhStatuses);
173
- title = <BMHStatus bmhStatus={bmhStatus} />;
174
- }
175
-
176
- return {
177
- title,
178
- props: { 'data-testid': 'host-status' },
179
- sortableValue: agent
180
- ? wizardStepId
181
- ? getWizardStepAgentStatus(agent, wizardStepId, t).status.title
182
- : getAgentStatus(agent, agentStatuses).status.title
183
- : bmhStatus?.state.title || '',
184
- };
185
- },
186
- };
187
- };
188
-
189
- export const clusterColumn = (
190
- agents: AgentK8sResource[],
191
- agentMachines: AgentMachineK8sResource[],
192
- getClusterDeploymentLink: (cd: { name: string; namespace: string }) => string,
193
- t: TFunction,
194
- ): TableRow<Host> => {
195
- return {
196
- header: {
197
- title: t('ai:Cluster'),
198
- props: {
199
- id: 'col-header-cluster',
200
- },
201
- sort: true,
202
- },
203
- cell: (host) => {
204
- const agent = agents.find((a) => a.metadata?.uid === host.id);
205
- let cdLink: string | undefined = undefined;
206
- if (agent?.spec?.clusterDeploymentName) {
207
- //hypershift
208
- const amNamespace = agent.metadata?.annotations?.['agentMachineRefNamespace'];
209
- if (amNamespace) {
210
- const am = agentMachines.find(
211
- (am) =>
212
- am.status?.agentRef?.name === agent.metadata?.name &&
213
- am.status?.agentRef?.namespace === agent.metadata?.namespace,
214
- );
215
- const nodePool = am?.metadata?.annotations?.['hypershift.openshift.io/nodePool'];
216
- if (nodePool) {
217
- const hcNamespace = nodePool.split('/')[0];
218
- const hcName = agent.spec.clusterDeploymentName.name;
219
- cdLink = getClusterDeploymentLink({ name: hcName, namespace: hcNamespace });
220
- }
221
- } else {
222
- cdLink = getClusterDeploymentLink(agent.spec.clusterDeploymentName);
223
- }
224
- }
225
- return {
226
- title: cdLink ? <Link to={cdLink}>{agent?.spec?.clusterDeploymentName?.name}</Link> : '--',
227
- props: { 'data-testid': 'cluster' },
228
- sortableValue: agent?.spec?.clusterDeploymentName?.name ?? '--',
229
- };
230
- },
231
- };
232
- };
233
-
234
- export const infraEnvColumn = (agents: AgentK8sResource[], t: TFunction): TableRow<Host> => {
235
- return {
236
- header: {
237
- title: t('ai:Infrastructure env'),
238
- props: {
239
- id: 'col-header-infraenv',
240
- },
241
- sort: true,
242
- },
243
- cell: (host) => {
244
- const agent = agents.find((a) => a.metadata?.uid === host.id) as AgentK8sResource;
245
- const infraEnvName = getInfraEnvNameOfAgent(agent);
246
- const title = infraEnvName ? (
247
- <Link
248
- to={`/multicloud/infrastructure/environments/details/${
249
- agent.metadata?.namespace || ''
250
- }/${infraEnvName}/overview`}
251
- >
252
- {infraEnvName}
253
- </Link>
254
- ) : (
255
- 'N/A'
256
- );
257
- return {
258
- title,
259
- props: { 'data-testid': 'infra-env' },
260
- sortableValue: infraEnvName,
261
- };
262
- },
263
- };
264
- };
265
-
266
27
  export const canEditBMH = (bmh: BareMetalHostK8sResource, t: TFunction): ActionCheck => {
267
28
  const canEdit = ['deprovisioning', 'pending', 'registering'].includes(getBMHStatusKey(bmh) || '');
268
29
 
@@ -2,14 +2,14 @@ import * as React from 'react';
2
2
  import { AgentClusterInstallK8sResource, AgentK8sResource } from '../../types';
3
3
  import DefaultEmptyState from '../../../common/components/ui/uiState/EmptyState';
4
4
  import { ConnectedIcon } from '@patternfly/react-icons/dist/js/icons/connected-icon';
5
- import { infraEnvColumn, agentStatusColumn, useAgentsTable } from '../Agent/tableUtils';
5
+ import { useAgentsTable, infraEnvColumn, agentStatusColumn } from '../Agent';
6
6
  import {
7
7
  cpuCoresColumn,
8
8
  disksColumn,
9
9
  hostnameColumn,
10
10
  memoryColumn,
11
11
  roleColumn,
12
- } from '../../../common/components/hosts/tableUtils';
12
+ } from '../../../common';
13
13
  import HostsTable, { DefaultExpandComponent } from '../../../common/components/hosts/HostsTable';
14
14
  import { usePagination } from '../../../common/components/hosts/usePagination';
15
15
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
@@ -19,14 +19,14 @@ const LocationsLabelIcon: React.FC = () => {
19
19
  <br />
20
20
  <Trans
21
21
  t={t}
22
- components={{ bold: <strong /> }}
22
+ components={{ bold: <span className="pf-v6-u-font-weight-bold" /> }}
23
23
  i18nKey="ai:Keep the field empty to match <bold>any</bold> location."
24
24
  />
25
25
 
26
26
  <br />
27
27
  <Trans
28
28
  t={t}
29
- components={{ bold: <strong /> }}
29
+ components={{ bold: <span className="pf-v6-u-font-weight-bold" /> }}
30
30
  i18nKey="ai:Set <bold>{{agent_location_label_key}}</bold> label in Agent resource to specify its location."
31
31
  values={{ agent_location_label_key: AGENT_LOCATION_LABEL_KEY }}
32
32
  />
@@ -1,30 +1,36 @@
1
- import React, { useEffect } from 'react';
1
+ import React, { useEffect, useCallback } from 'react';
2
2
  import { useFormikContext } from 'formik';
3
3
  import { Checkbox, Grid } from '@patternfly/react-core';
4
- import AdvancedNetworkFields from '../../../common/components/clusterConfiguration/AdvancedNetworkFields';
5
4
  import { NetworkConfigurationValues } from '../../../common/types/clusters';
6
- import { Address6 } from 'ip-address';
7
5
  import {
8
- AvailableSubnetsControl,
9
6
  ManagedNetworkingControlGroup,
10
7
  UserManagedNetworkingTextContent,
8
+ StackTypeControlGroup,
9
+ AvailableSubnetsControl,
11
10
  VirtualIPControlGroup,
12
11
  VirtualIPControlGroupProps,
12
+ AdvancedNetworkFields,
13
13
  } from '../../../common/components/clusterWizard/networkingSteps';
14
14
  import {
15
+ canBeDualStack,
15
16
  canSelectNetworkTypeSDN,
17
+ DUAL_STACK,
16
18
  isAdvNetworkConf,
17
19
  isSNO,
18
- isSubnetInIPv6,
19
20
  NETWORK_TYPE_OVN,
20
- NO_SUBNET_SET,
21
21
  } from '../../../common';
22
22
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
23
23
  import { NetworkTypeControlGroup } from '../../../common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup';
24
24
  import { ClusterDefaultConfig } from '@openshift-assisted/types/assisted-installer-service';
25
25
 
26
26
  export type NetworkConfigurationProps = VirtualIPControlGroupProps & {
27
- defaultNetworkSettings: ClusterDefaultConfig;
27
+ defaultNetworkSettings: Pick<
28
+ ClusterDefaultConfig,
29
+ | 'clusterNetworksIpv4'
30
+ | 'clusterNetworksDualstack'
31
+ | 'serviceNetworksIpv4'
32
+ | 'serviceNetworksDualstack'
33
+ >;
28
34
  hideManagedNetworking?: boolean;
29
35
  };
30
36
 
@@ -40,60 +46,57 @@ const NetworkConfiguration = ({
40
46
  useFormikContext<NetworkConfigurationValues>();
41
47
 
42
48
  const isMultiNodeCluster = !isSNO(cluster);
43
- const isClusterCIDRIPv6 = Address6.isValid(values.clusterNetworkCidr || '');
44
- const { isIPv6, isSDNSelectable } = React.useMemo(() => {
45
- const isIPv6 = isSubnetInIPv6({
46
- machineNetworkCidr: cluster.machineNetworkCidr,
47
- clusterNetworkCidr: values.clusterNetworkCidr,
48
- serviceNetworkCidr: values.serviceNetworkCidr,
49
- });
50
- return {
51
- isIPv6,
52
- isSDNSelectable: canSelectNetworkTypeSDN(!isMultiNodeCluster, isIPv6),
53
- };
54
- }, [
55
- isMultiNodeCluster,
56
- values.clusterNetworkCidr,
57
- cluster.machineNetworkCidr,
58
- values.serviceNetworkCidr,
59
- ]);
49
+ const isDualStackSelectable = React.useMemo(() => canBeDualStack(hostSubnets), [hostSubnets]);
50
+
51
+ const isDualStack = values.stackType === DUAL_STACK;
52
+ const isSDNSelectable = React.useMemo(
53
+ () => canSelectNetworkTypeSDN(!isMultiNodeCluster, isDualStack),
54
+ [isMultiNodeCluster, isDualStack],
55
+ );
60
56
 
61
57
  const [isAdvanced, setAdvanced] = React.useState(
62
- isAdvNetworkConf(cluster, defaultNetworkSettings),
58
+ isDualStack || isAdvNetworkConf(cluster, defaultNetworkSettings),
63
59
  );
64
60
 
65
- const toggleAdvConfiguration = (checked: boolean) => {
66
- setAdvanced(checked);
61
+ const toggleAdvConfiguration = useCallback(
62
+ (checked: boolean) => {
63
+ setAdvanced(checked);
64
+
65
+ if (!checked) {
66
+ setFieldValue('clusterNetworks', defaultNetworkSettings.clusterNetworksIpv4);
67
+ setFieldValue('serviceNetworks', defaultNetworkSettings.serviceNetworksIpv4);
68
+ }
69
+ },
70
+ [setFieldValue, defaultNetworkSettings],
71
+ );
67
72
 
68
- if (!checked) {
69
- setFieldValue('clusterNetworkCidr', defaultNetworkSettings.clusterNetworkCidr);
70
- setFieldValue('serviceNetworkCidr', defaultNetworkSettings.serviceNetworkCidr);
71
- setFieldValue('clusterNetworkHostPrefix', defaultNetworkSettings.clusterNetworkHostPrefix);
73
+ // Auto-enable advanced networking when switching to dual-stack
74
+ useEffect(() => {
75
+ if (isDualStack) {
76
+ toggleAdvConfiguration(true);
72
77
  }
73
- };
78
+ }, [isDualStack, toggleAdvConfiguration]);
74
79
 
75
80
  const isUserManagedNetworking = values.managedNetworkingType === 'userManaged';
76
- const firstSubnet = hostSubnets[0]?.subnet;
81
+ const primaryMachineNetwork = values.machineNetworks?.[0]?.cidr;
77
82
 
83
+ // Clear machine networks when switching to user-managed networking for multi-node clusters
78
84
  useEffect(() => {
79
- if (isUserManagedNetworking && isMultiNodeCluster) {
80
- values.hostSubnet !== NO_SUBNET_SET && setFieldValue('hostSubnet', NO_SUBNET_SET, false);
81
- } else if (values.hostSubnet === NO_SUBNET_SET && firstSubnet) {
82
- setFieldValue('hostSubnet', firstSubnet, false);
85
+ if (isUserManagedNetworking && isMultiNodeCluster && values.machineNetworks?.length) {
86
+ setFieldValue('machineNetworks', [], false);
83
87
  }
84
- }, [isUserManagedNetworking, isMultiNodeCluster, values.hostSubnet, setFieldValue, firstSubnet]);
85
-
88
+ }, [isUserManagedNetworking, isMultiNodeCluster, values.machineNetworks?.length, setFieldValue]);
86
89
  useEffect(() => {
87
90
  if (!cluster.networkType) {
88
91
  setFieldValue('networkType', NETWORK_TYPE_OVN);
89
92
  }
90
93
  // Skipping "cluster.networkType" as it's ultimately the value we are setting in the form
91
94
  // eslint-disable-next-line react-hooks/exhaustive-deps
92
- }, [isIPv6, isMultiNodeCluster, setFieldValue]);
95
+ }, [isDualStack, isMultiNodeCluster, setFieldValue]);
93
96
 
94
97
  useEffect(() => {
95
98
  if (isUserManagedNetworking) {
96
- const shouldValidate = !!touched.hostSubnet;
99
+ const shouldValidate = !!touched.machineNetworks;
97
100
 
98
101
  // We need to reset these fields' values in order to align with the values the server sends
99
102
  setFieldValue('vipDhcpAllocation', false);
@@ -106,12 +109,13 @@ const NetworkConfiguration = ({
106
109
  }
107
110
  }
108
111
  }, [
109
- touched.hostSubnet,
112
+ touched.machineNetworks,
110
113
  isMultiNodeCluster,
111
114
  isUserManagedNetworking,
112
115
  setFieldValue,
113
116
  values.vipDhcpAllocation,
114
117
  validateField,
118
+ primaryMachineNetwork,
115
119
  ]);
116
120
  return (
117
121
  <Grid hasGutter>
@@ -124,13 +128,25 @@ const NetworkConfiguration = ({
124
128
  />
125
129
  )}
126
130
 
131
+ {(!isMultiNodeCluster || !isUserManagedNetworking) && (
132
+ <StackTypeControlGroup
133
+ clusterId={cluster.id}
134
+ isDualStackSelectable={isDualStackSelectable}
135
+ hostSubnets={hostSubnets}
136
+ defaultNetworkValues={defaultNetworkSettings}
137
+ />
138
+ )}
139
+
127
140
  <NetworkTypeControlGroup isSDNSelectable={isSDNSelectable} />
128
141
 
129
142
  {!(isMultiNodeCluster && isUserManagedNetworking) && (
130
143
  <AvailableSubnetsControl
144
+ clusterId={cluster.id}
131
145
  hostSubnets={hostSubnets}
132
- hosts={cluster.hosts || []}
133
146
  isRequired={!isUserManagedNetworking}
147
+ isDisabled={hostSubnets.length === 0}
148
+ openshiftVersion={cluster.openshiftVersion}
149
+ hosts={cluster.hosts || []}
134
150
  isMultiNodeCluster={isMultiNodeCluster}
135
151
  />
136
152
  )}
@@ -149,7 +165,8 @@ const NetworkConfiguration = ({
149
165
  description={t('ai:Configure advanced networking properties (e.g. CIDR ranges).')}
150
166
  isChecked={isAdvanced}
151
167
  onChange={(_event, checked: boolean) => toggleAdvConfiguration(checked)}
152
- body={isAdvanced && <AdvancedNetworkFields isClusterCIDRIPv6={isClusterCIDRIPv6} />}
168
+ isDisabled={isDualStack}
169
+ body={isAdvanced && <AdvancedNetworkFields />}
153
170
  />
154
171
  </Grid>
155
172
  );
@@ -44,9 +44,9 @@ export const BaseDnsHelperText: React.FC<{ name?: string; baseDnsDomain?: string
44
44
  'ai:All DNS records must be subdomains of this base and include the cluster name. This cannot be changed after cluster installation. The full cluster address will be:',
45
45
  )}{' '}
46
46
  <br />
47
- <strong>
47
+ <span className="pf-v6-u-font-weight-bold">
48
48
  {name || '[Cluster Name]'}.{baseDnsDomain || '[example.com]'}
49
- </strong>
49
+ </span>
50
50
  </>
51
51
  );
52
52
  };
@@ -2,11 +2,11 @@ import * as React from 'react';
2
2
  import { Stack, StackItem } from '@patternfly/react-core';
3
3
  import { Host } from '@openshift-assisted/types/assisted-installer-service';
4
4
  import {
5
- discoveryTypeColumn,
6
- agentStatusColumn,
7
5
  useAgentsTable,
8
6
  canChangeHostname,
9
- } from '../../Agent/tableUtils';
7
+ discoveryTypeColumn,
8
+ agentStatusColumn,
9
+ } from '../../Agent';
10
10
  import HostsTable, {
11
11
  DefaultExpandComponent,
12
12
  HostsTableEmptyState,
@@ -20,8 +20,6 @@ import {
20
20
  labelsColumn,
21
21
  memoryColumn,
22
22
  roleColumn,
23
- } from '../../../../common/components/hosts/tableUtils';
24
- import {
25
23
  DiscoveryTroubleshootingModal,
26
24
  ChangeHostnameAction,
27
25
  MassChangeHostnameModal,
@@ -171,7 +171,7 @@ const HostSelectionForm: React.FC<HostSelectionFormProps> = ({
171
171
  setSubmitting,
172
172
  } = useFormikContext<ClusterDeploymentHostsSelectionValues>();
173
173
  const [nextRequested, setNextRequested] = React.useState(false);
174
- const [showFormErrors, setShowFormErrors] = React.useState(false);
174
+ const [hasAttemptedSubmit, setHasAttemptedSubmit] = React.useState(false);
175
175
  const selectedAgents = getSelectedAgents(agents, values);
176
176
  const { t } = useTranslation();
177
177
  const onEditRole = React.useCallback(
@@ -189,7 +189,7 @@ const HostSelectionForm: React.FC<HostSelectionFormProps> = ({
189
189
  const onAutoSelectChange = React.useCallback(() => {
190
190
  setNextRequested(false);
191
191
  setShowClusterErrors(false);
192
- setShowFormErrors(false);
192
+ setHasAttemptedSubmit(false);
193
193
  }, []);
194
194
 
195
195
  const onHostSelect = React.useCallback(() => {
@@ -198,8 +198,8 @@ const HostSelectionForm: React.FC<HostSelectionFormProps> = ({
198
198
  }, []);
199
199
 
200
200
  const onNext = React.useCallback(async () => {
201
- if (!showFormErrors) {
202
- setShowFormErrors(true);
201
+ if (!hasAttemptedSubmit) {
202
+ setHasAttemptedSubmit(true);
203
203
  const errors = await validateForm();
204
204
  setTouched(
205
205
  Object.keys(errors).reduce((acc, curr) => {
@@ -213,7 +213,7 @@ const HostSelectionForm: React.FC<HostSelectionFormProps> = ({
213
213
  }
214
214
  void submitForm();
215
215
  setNextRequested(true);
216
- }, [setTouched, showFormErrors, submitForm, validateForm]);
216
+ }, [setTouched, hasAttemptedSubmit, submitForm, validateForm]);
217
217
 
218
218
  React.useEffect(() => {
219
219
  if (nextRequested && !isSubmitting) {
@@ -265,35 +265,34 @@ const HostSelectionForm: React.FC<HostSelectionFormProps> = ({
265
265
  </ValidationSection>
266
266
  );
267
267
 
268
- const footer = React.useMemo(
269
- () => (
268
+ const footer = React.useMemo(() => {
269
+ const hasValidationErrors = hasAttemptedSubmit && (!isValid || isValidating);
270
+ const isNextDisabled = nextRequested || isSubmitting || hasValidationErrors; // || !!syncError
271
+
272
+ return (
270
273
  <WizardFooter
271
274
  activeStep={activeStep}
272
275
  onNext={onNext}
273
- isNextDisabled={
274
- nextRequested || isSubmitting || (showFormErrors ? !isValid || isValidating : false) // ||
275
- // !!syncError
276
- }
276
+ isNextDisabled={isNextDisabled}
277
277
  nextButtonText={submittingText || t('ai:Next')}
278
278
  nextButtonProps={{ isLoading: !!submittingText }}
279
279
  onBack={goToPrevStep}
280
280
  onClose={close}
281
281
  />
282
- ),
283
- [
284
- activeStep,
285
- onNext,
286
- nextRequested,
287
- isSubmitting,
288
- showFormErrors,
289
- isValid,
290
- isValidating,
291
- submittingText,
292
- t,
293
- goToPrevStep,
294
- close,
295
- ],
296
- );
282
+ );
283
+ }, [
284
+ activeStep,
285
+ onNext,
286
+ nextRequested,
287
+ isSubmitting,
288
+ hasAttemptedSubmit,
289
+ isValid,
290
+ isValidating,
291
+ submittingText,
292
+ t,
293
+ goToPrevStep,
294
+ close,
295
+ ]);
297
296
 
298
297
  useWizardFooter(footer);
299
298
 
@@ -316,14 +315,14 @@ const HostSelectionForm: React.FC<HostSelectionFormProps> = ({
316
315
  hostsBinding={nextRequested && !showClusterErrors}
317
316
  />
318
317
  </GridItem>
319
- {(showClusterErrors || showFormErrors) && !!alerts.length && (
318
+ {(showClusterErrors || hasAttemptedSubmit) && !!alerts.length && (
320
319
  <GridItem>
321
320
  <Alerts />
322
321
  </GridItem>
323
322
  )}
324
323
 
325
324
  {syncError && <GridItem>{errorsSection}</GridItem>}
326
- {showFormErrors && errors.selectedHostIds && touched.selectedHostIds && (
325
+ {hasAttemptedSubmit && errors.selectedHostIds && touched.selectedHostIds && (
327
326
  <GridItem>
328
327
  <Alert
329
328
  variant={AlertVariant.danger}