@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,31 +1,48 @@
1
1
  import React from 'react';
2
- import { useFormikContext } from 'formik';
3
- import { Spinner, Alert, AlertVariant } from '@patternfly/react-core';
4
- import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
5
- import { HostSubnets, NetworkConfigurationValues } from '../../../types';
6
- import { CheckboxField, FormikStaticField, InputField } from '../../ui';
7
- import { NO_SUBNET_SET } from '../../../config';
8
- import { FeatureSupportLevelBadge } from '../../featureSupportLevels';
9
- import { useTranslation } from '../../../hooks/use-translation-wrapper';
10
- import { TFunction } from 'i18next';
2
+ import { FieldArray, useFormikContext } from 'formik';
3
+ import {
4
+ Spinner,
5
+ Alert,
6
+ AlertVariant,
7
+ Tooltip,
8
+ FormGroup,
9
+ Stack,
10
+ StackItem,
11
+ } from '@patternfly/react-core';
12
+ import { NetworkConfigurationValues, HostSubnets } from '../../../types';
13
+ import { NETWORK_TYPE_SDN, DUAL_STACK } from '../../../config';
14
+ import { selectMachineNetworkCIDR, selectApiVip, selectIngressVip } from '../../../selectors';
11
15
  import { getVipValidationsById } from '../../clusterConfiguration';
12
- import { selectApiVip, selectIngressVip } from '../../../selectors';
16
+ import { FormikStaticField, PopoverIcon } from '../../ui';
17
+ import { CheckboxField, InputField } from '../../ui/formik';
18
+ import { useTranslation } from '../../../hooks/use-translation-wrapper';
19
+ import NewFeatureSupportLevelBadge from '../../newFeatureSupportLevels/NewFeatureSupportLevelBadge';
20
+ import { Cluster, Ip, SupportLevel } from '@openshift-assisted/types/assisted-installer-service';
13
21
 
14
22
  interface VipStaticValueProps {
15
- vipName: 'apiVips' | 'ingressVips';
23
+ id?: string;
24
+ vipValue: Ip;
16
25
  cluster: Cluster;
17
26
  validationErrorMessage?: string;
18
27
  }
19
28
 
20
- const VipStaticValue = ({ vipName, cluster, validationErrorMessage }: VipStaticValueProps) => {
21
- const { vipDhcpAllocation, machineNetworkCidr } = cluster;
29
+ const VipStaticValue = ({
30
+ vipValue,
31
+ cluster,
32
+ validationErrorMessage,
33
+ id = 'vip-static',
34
+ }: VipStaticValueProps) => {
35
+ const { vipDhcpAllocation } = cluster;
36
+ const machineNetworkCidr = selectMachineNetworkCIDR(cluster);
22
37
  const { t } = useTranslation();
23
- if (vipDhcpAllocation && cluster[vipName]) {
24
- return <>{cluster[vipName]}</>;
38
+
39
+ if (vipDhcpAllocation && !!vipValue) {
40
+ return <span id={`${id}-allocated`}>{vipValue}</span>;
25
41
  }
26
42
  if (vipDhcpAllocation && validationErrorMessage) {
27
43
  return (
28
44
  <Alert
45
+ id={`${id}-alert-allocation-failed`}
29
46
  variant={AlertVariant.danger}
30
47
  title={t('ai:The DHCP server failed to allocate the IP')}
31
48
  isInline
@@ -37,61 +54,37 @@ const VipStaticValue = ({ vipName, cluster, validationErrorMessage }: VipStaticV
37
54
  if (vipDhcpAllocation && machineNetworkCidr) {
38
55
  return (
39
56
  <>
40
- <Spinner size="md" data-testid="vip-static-value-spinner" />
57
+ <Spinner size="md" id={`${id}-allocating`} data-testid={`vip-static-${id}-value-spinner`} />
41
58
  <i>{t('ai:This IP is being allocated by the DHCP server')}</i>
42
59
  </>
43
60
  );
44
61
  }
45
- return <>{t('ai:<i>This IP will be allocated by the DHCP server</i>')}</>;
46
- };
47
-
48
- const getVipHelperSuffix = (
49
- t: TFunction,
50
- vip?: string,
51
- vipDhcpAllocation?: boolean,
52
- vipDhcpAllocationFormValue?: boolean,
53
- ): string => {
54
- if (!vipDhcpAllocationFormValue) {
55
- return t(
56
- 'ai:Make sure that the VIP is unique and not used by any other device on your network.',
57
- );
58
- }
59
- if (vipDhcpAllocation && vip) {
60
- return t('ai:This IP was allocated by the DHCP server.');
61
- }
62
- return '';
62
+ return <i>{t('ai:This IP will be allocated by the DHCP server')}</i>;
63
63
  };
64
64
 
65
65
  export type VirtualIPControlGroupProps = {
66
66
  cluster: Cluster;
67
67
  hostSubnets: HostSubnets;
68
68
  isVipDhcpAllocationDisabled?: boolean;
69
+ supportLevel?: SupportLevel;
70
+ isViewerMode?: boolean;
69
71
  };
70
72
 
71
73
  export const VirtualIPControlGroup = ({
72
74
  cluster,
73
75
  hostSubnets,
74
76
  isVipDhcpAllocationDisabled,
77
+ supportLevel,
78
+ isViewerMode = false,
75
79
  }: VirtualIPControlGroupProps) => {
76
- const { values } = useFormikContext<NetworkConfigurationValues>();
80
+ const { values, setFieldValue } = useFormikContext<NetworkConfigurationValues>();
77
81
  const { t } = useTranslation();
78
- const vipHelperSuffix = getVipHelperSuffix(
79
- t,
80
- selectApiVip(cluster),
81
- cluster.vipDhcpAllocation,
82
- values.vipDhcpAllocation,
83
- );
84
- const apiVipHelperText = t(
85
- 'ai:Provide an endpoint for users, both human and machine, to interact with and configure the platform. If needed, contact your IT manager for more information. {{vipHelperSuffix}}',
86
- {
87
- vipHelperSuffix: vipHelperSuffix,
88
- },
82
+
83
+ const apiVipPopoverContent = t(
84
+ 'ai:Provides an endpoint for users, both human and machine, to interact with and configure the platform. If needed, contact your IT manager for more information.',
89
85
  );
90
- const ingressVipHelperText = t(
91
- 'ai:Provide an endpoint for application traffic flowing in from outside the cluster. If needed, contact your IT manager for more information. {{vipHelperSuffix}}',
92
- {
93
- vipHelperSuffix: vipHelperSuffix,
94
- },
86
+ const ingressVipPopoverContent = t(
87
+ 'ai:Provides an endpoint for application traffic flowing in from outside the cluster. If needed, contact your IT manager for more information.',
95
88
  );
96
89
 
97
90
  const {
@@ -102,70 +95,196 @@ export const VirtualIPControlGroup = ({
102
95
  [t, cluster.validationsInfo],
103
96
  );
104
97
 
98
+ const enableAllocation = values.networkType === NETWORK_TYPE_SDN;
99
+ const isDualStack = values.stackType === DUAL_STACK;
100
+ const isVipInputDisabled = !hostSubnets.length || !values.machineNetworks?.[0]?.cidr;
101
+
102
+ React.useEffect(() => {
103
+ if (!isViewerMode && !enableAllocation) {
104
+ setFieldValue('vipDhcpAllocation', false);
105
+ }
106
+ }, [enableAllocation, isViewerMode, setFieldValue]);
107
+
108
+ // Ensure VIP arrays exist when (re-)entering cluster-managed networking.
109
+ React.useEffect(() => {
110
+ if (
111
+ isViewerMode ||
112
+ values.managedNetworkingType !== 'clusterManaged' ||
113
+ values.vipDhcpAllocation
114
+ ) {
115
+ return;
116
+ }
117
+
118
+ const vipCount = values.stackType === DUAL_STACK ? 2 : 1;
119
+ const blankVipEntriesArray = Array.from({ length: vipCount }, () => ({
120
+ ip: '',
121
+ clusterId: cluster.id,
122
+ }));
123
+
124
+ const apiVipsEmpty = !values.apiVips || values.apiVips.length === 0;
125
+ const ingressVipsEmpty = !values.ingressVips || values.ingressVips.length === 0;
126
+
127
+ if (apiVipsEmpty) {
128
+ setFieldValue('apiVips', blankVipEntriesArray, false);
129
+ }
130
+ if (ingressVipsEmpty) {
131
+ setFieldValue('ingressVips', blankVipEntriesArray, false);
132
+ }
133
+ }, [
134
+ cluster.id,
135
+ isViewerMode,
136
+ setFieldValue,
137
+ values.apiVips,
138
+ values.ingressVips,
139
+ values.managedNetworkingType,
140
+ values.stackType,
141
+ values.vipDhcpAllocation,
142
+ ]);
143
+
144
+ const onChangeDhcp = React.useCallback(
145
+ (hasDhcp: boolean) => {
146
+ // We need to sync the values back to the form
147
+ setFieldValue('apiVips', hasDhcp ? [] : cluster.apiVips, true);
148
+ setFieldValue('ingressVips', hasDhcp ? [] : cluster.ingressVips, true);
149
+ },
150
+ [cluster.apiVips, cluster.ingressVips, setFieldValue],
151
+ );
152
+
105
153
  return (
106
154
  <>
107
155
  {!isVipDhcpAllocationDisabled && (
108
156
  <CheckboxField
157
+ onChange={onChangeDhcp}
109
158
  label={
110
159
  <>
111
- {t('ai:Allocate IPs via DHCP server')}
112
- <FeatureSupportLevelBadge
113
- featureId="VIP_AUTO_ALLOC"
114
- openshiftVersion={cluster.openshiftVersion}
115
- />
160
+ <Tooltip
161
+ hidden={enableAllocation}
162
+ content={t(
163
+ "ai:A cluster with OVN networking type cannot use 'allocate IPs via DHCP server'",
164
+ )}
165
+ >
166
+ <span>{t('ai:Allocate IPs via DHCP server')}</span>
167
+ </Tooltip>
168
+ <NewFeatureSupportLevelBadge featureId="VIP_AUTO_ALLOC" supportLevel={supportLevel} />
116
169
  </>
117
170
  }
118
171
  name="vipDhcpAllocation"
172
+ isDisabled={!enableAllocation || isViewerMode}
119
173
  />
120
174
  )}
121
175
  {values.vipDhcpAllocation ? (
122
176
  <>
123
177
  <FormikStaticField
124
- label={t('ai:API IP')}
178
+ label={
179
+ <>
180
+ <span>{t('ai:API IP')}</span> <PopoverIcon bodyContent={apiVipPopoverContent} />
181
+ </>
182
+ }
125
183
  name="apiVips.0.ip"
126
- helperText={apiVipHelperText}
127
- value={selectApiVip(cluster)}
184
+ value={selectApiVip(values)}
128
185
  isValid={!apiVipFailedValidationMessage}
129
186
  isRequired
130
187
  >
131
188
  <VipStaticValue
132
- vipName="apiVips"
189
+ id="vip-api"
190
+ vipValue={selectApiVip(cluster)}
133
191
  cluster={cluster}
134
192
  validationErrorMessage={apiVipFailedValidationMessage}
135
193
  />
136
194
  </FormikStaticField>
137
195
  <FormikStaticField
138
- label={t('ai:Ingress IP')}
196
+ label={
197
+ <>
198
+ <span>{t('ai:Ingress IP')}</span>{' '}
199
+ <PopoverIcon bodyContent={ingressVipPopoverContent} />
200
+ </>
201
+ }
139
202
  name="ingressVips.0.ip"
140
- helperText={ingressVipHelperText}
141
- value={selectIngressVip(cluster)}
203
+ value={selectIngressVip(values)}
142
204
  isValid={!ingressVipFailedValidationMessage}
143
205
  isRequired
144
206
  >
145
207
  <VipStaticValue
146
- vipName="ingressVips"
208
+ id="vip-ingress"
209
+ vipValue={selectIngressVip(cluster)}
147
210
  cluster={cluster}
148
211
  validationErrorMessage={ingressVipFailedValidationMessage}
149
212
  />
150
213
  </FormikStaticField>
151
214
  </>
152
215
  ) : (
153
- <>
154
- <InputField
155
- label={t('ai:API IP')}
156
- name="apiVips.0.ip"
157
- helperText={apiVipHelperText}
158
- isRequired
159
- isDisabled={!hostSubnets.length || values.hostSubnet === NO_SUBNET_SET}
160
- />
161
- <InputField
162
- name="ingressVips.0.ip"
163
- label={t('ai:Ingress IP')}
164
- helperText={ingressVipHelperText}
165
- isRequired
166
- isDisabled={!hostSubnets.length || values.hostSubnet === NO_SUBNET_SET}
167
- />
168
- </>
216
+ <FormGroup>
217
+ <FieldArray name="vips">
218
+ {() => (
219
+ <Stack>
220
+ <StackItem>
221
+ <InputField
222
+ label={
223
+ <>
224
+ <span>{t('ai:API IP')}</span>{' '}
225
+ <PopoverIcon bodyContent={apiVipPopoverContent} />
226
+ </>
227
+ }
228
+ name="apiVips.0.ip"
229
+ isRequired
230
+ maxLength={45}
231
+ isDisabled={isVipInputDisabled || isViewerMode}
232
+ labelInfo={isDualStack ? t('ai:Primary') : undefined}
233
+ />
234
+ </StackItem>
235
+ {isDualStack && (
236
+ <StackItem>
237
+ <InputField
238
+ label={
239
+ <>
240
+ <span>{t('ai:API IP')}</span>{' '}
241
+ <PopoverIcon bodyContent={apiVipPopoverContent} />
242
+ </>
243
+ }
244
+ name="apiVips.1.ip"
245
+ maxLength={45}
246
+ isRequired
247
+ isDisabled={isVipInputDisabled || isViewerMode}
248
+ labelInfo={t('ai:Secondary')}
249
+ />
250
+ </StackItem>
251
+ )}
252
+ <StackItem>
253
+ <InputField
254
+ name="ingressVips.0.ip"
255
+ label={
256
+ <>
257
+ <span>{t('ai:Ingress IP')}</span>{' '}
258
+ <PopoverIcon bodyContent={ingressVipPopoverContent} />
259
+ </>
260
+ }
261
+ isRequired
262
+ maxLength={45}
263
+ isDisabled={isVipInputDisabled || isViewerMode}
264
+ labelInfo={isDualStack ? t('ai:Primary') : undefined}
265
+ />
266
+ </StackItem>
267
+ {isDualStack && (
268
+ <StackItem>
269
+ <InputField
270
+ name="ingressVips.1.ip"
271
+ label={
272
+ <>
273
+ <span>{t('ai:Ingress IP')}</span>{' '}
274
+ <PopoverIcon bodyContent={ingressVipPopoverContent} />
275
+ </>
276
+ }
277
+ maxLength={45}
278
+ isRequired
279
+ isDisabled={isVipInputDisabled || isViewerMode}
280
+ labelInfo={t('ai:Secondary')}
281
+ />
282
+ </StackItem>
283
+ )}
284
+ </Stack>
285
+ )}
286
+ </FieldArray>
287
+ </FormGroup>
169
288
  )}
170
289
  </>
171
290
  );
@@ -1,8 +1,16 @@
1
- export { AvailableSubnetsControl } from './AvailableSubnetsControl';
2
- export type { AvailableSubnetsControlProps } from './AvailableSubnetsControl';
3
1
  export { UserManagedNetworkingTextContent } from './UserManagedNetworkingTextContent';
4
2
  export type { UserManagedNetworkingTextContentProps } from './UserManagedNetworkingTextContent';
5
3
  export { ManagedNetworkingControlGroup } from './ManagedNetworkingControlGroup';
6
4
  export type { ManagedNetworkingControlGroupProps } from './ManagedNetworkingControlGroup';
5
+ export { StackTypeControlGroup } from './StackTypeControlGroup';
6
+ export type {
7
+ StackTypeControlGroupProps,
8
+ StackTypeDefaultNetworkValues,
9
+ } from './StackTypeControlGroup';
10
+ export { reorderNetworksForPrimary, reorderNetworksByCurrentPrimary } from './reorderNetworks';
11
+ export { AvailableSubnetsControl } from './AvailableSubnetsControl';
12
+ export type { AvailableSubnetsControlProps } from './AvailableSubnetsControl';
7
13
  export { VirtualIPControlGroup } from './VirtualIPControlGroup';
8
14
  export type { VirtualIPControlGroupProps } from './VirtualIPControlGroup';
15
+ export { default as AdvancedNetworkFields } from './AdvancedNetworkFields';
16
+ export type { AdvancedNetworkFieldsProps } from './AdvancedNetworkFields';
@@ -1,5 +1,6 @@
1
1
  import { Address6 } from 'ip-address';
2
- import { DUAL_STACK, NetworkConfigurationValues } from '../../../../common';
2
+ import { DUAL_STACK } from '../../../config';
3
+ import { NetworkConfigurationValues } from '../../../types';
3
4
  import type { FormikHelpers } from 'formik';
4
5
 
5
6
  const reorderByPrimaryCidr = (
@@ -1,6 +1,9 @@
1
1
  import React from 'react';
2
2
  import { Popover, Button, Content, FlexItem, Flex, Stack, StackItem } from '@patternfly/react-core';
3
3
  import { PopoverProps } from '@patternfly/react-core/dist/js/components/Popover/Popover';
4
+ import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
5
+ import { UnknownIcon } from '@patternfly/react-icons/dist/js/icons/unknown-icon';
6
+
4
7
  import hdate from 'human-date';
5
8
 
6
9
  import { Host, HostProgressInfo } from '@openshift-assisted/types/assisted-installer-service';
@@ -18,11 +21,9 @@ import OcpConsoleNodesSectionLink from './OcpConsoleNodesSectionLink';
18
21
  import { toSentence } from '../ui/table/utils';
19
22
  import { HostStatusProps } from './types';
20
23
  import { UpdateDay2ApiVipPropsType } from './HostValidationGroups';
21
- import { UnknownIcon } from '@patternfly/react-icons/dist/js/icons/unknown-icon';
22
24
  import { useTranslation } from '../../hooks/use-translation-wrapper';
23
25
  import { hostStatus } from './status';
24
26
  import { getApproveNodesInClLink } from '../../config';
25
- import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
26
27
 
27
28
  const getTitleWithProgress = (host: Host, status: HostStatusProps['status']) => {
28
29
  const stages = getHostProgressStages(host);
@@ -35,6 +36,7 @@ type HostStatusPopoverContentProps = ValidationInfoActionProps & {
35
36
  validationsInfo: ValidationsInfo;
36
37
  autoCSR?: boolean;
37
38
  additionalPopoverContent?: React.ReactNode;
39
+ additionalBMHInfo?: React.ReactNode;
38
40
  openshiftVersion?: string;
39
41
  };
40
42
 
@@ -42,6 +44,7 @@ const HostStatusPopoverContent: React.FC<HostStatusPopoverContentProps> = ({
42
44
  details,
43
45
  autoCSR,
44
46
  additionalPopoverContent,
47
+ additionalBMHInfo,
45
48
  openshiftVersion,
46
49
  ...props
47
50
  }) => {
@@ -132,6 +135,7 @@ const HostStatusPopoverContent: React.FC<HostStatusPopoverContentProps> = ({
132
135
  )}
133
136
  <StackItem>
134
137
  <HostValidationGroups openshiftVersion={openshiftVersion} {...props} />
138
+ {additionalBMHInfo}
135
139
  </StackItem>
136
140
  </Stack>
137
141
  );
@@ -180,6 +184,7 @@ type WithHostStatusPopoverProps = AdditionNtpSourcePropsType &
180
184
  zIndex?: number;
181
185
  autoCSR?: boolean;
182
186
  additionalPopoverContent?: React.ReactNode;
187
+ additionalBMHInfo?: React.ReactNode;
183
188
  openshiftVersion?: string;
184
189
  };
185
190
 
@@ -237,6 +242,7 @@ const HostStatus: React.FC<HostStatusProps> = ({
237
242
  zIndex,
238
243
  autoCSR,
239
244
  additionalPopoverContent,
245
+ additionalBMHInfo,
240
246
  openshiftVersion,
241
247
  }) => {
242
248
  const [keepOnOutsideClick, onValidationActionToggle] = React.useState(false);
@@ -262,12 +268,17 @@ const HostStatus: React.FC<HostStatusProps> = ({
262
268
  zIndex,
263
269
  autoCSR,
264
270
  additionalPopoverContent,
271
+ additionalBMHInfo,
265
272
  openshiftVersion,
266
273
  };
267
274
 
268
275
  const hostIcon = getHostStatusIcon(icon, host.progress, status);
269
276
  return (
270
- <Flex alignItems={{ default: 'alignItemsCenter' }} spaceItems={{ default: 'spaceItemsXs' }}>
277
+ <Flex
278
+ alignItems={{ default: 'alignItemsCenter' }}
279
+ spaceItems={{ default: 'spaceItemsXs' }}
280
+ flexWrap={{ default: 'nowrap' }}
281
+ >
271
282
  {
272
283
  <FlexItem>
273
284
  {(autoCSR && status.key === 'added-to-existing-cluster'
@@ -67,7 +67,10 @@ const ValidationsAlert = ({
67
67
  <ul>
68
68
  {validations.map((v) => (
69
69
  <li key={v.id}>
70
- <strong>{hostValidationLabels(t)[v.id] || v.id}:</strong>&nbsp;
70
+ <span className="pf-v6-u-font-weight-bold">
71
+ {hostValidationLabels(t)[v.id] || v.id}:
72
+ </span>
73
+ &nbsp;
71
74
  {toSentence(v.message.replace(/\\n/, ' '))}{' '}
72
75
  {v.status === 'failure' && hostValidationFailureHints(t)[v.id]}
73
76
  </li>
@@ -310,9 +313,7 @@ export const HostValidationGroups = ({
310
313
  return (
311
314
  <Fragment key={groupName}>
312
315
  <Level className="host-validation-groups__validation-group">
313
- <LevelItem>
314
- <strong>{groupLabel}</strong>
315
- </LevelItem>
316
+ <LevelItem className="pf-v6-u-font-weight-bold">{groupLabel}</LevelItem>
316
317
  <LevelItem>{getValidationGroupState()}</LevelItem>
317
318
  </Level>
318
319
  {
@@ -3,6 +3,7 @@ import {
3
3
  Button,
4
4
  ButtonType,
5
5
  ButtonVariant,
6
+ Content,
6
7
  Form,
7
8
  HelperText,
8
9
  HelperTextItem,
@@ -57,6 +58,7 @@ const getNewHostnames = (
57
58
  const hostnameRes = {
58
59
  newHostname: changeEnabled ? templateToHostname(index, values) : undefined,
59
60
  reason: changeEnabled ? undefined : reason,
61
+ oldHostname: h.requestedHostname,
60
62
  };
61
63
  if (changeEnabled) {
62
64
  index++;
@@ -183,7 +185,7 @@ const MassChangeHostnameForm = ({
183
185
  <StackItem>
184
186
  <div>{t('ai:Rename hostnames using the custom template:')}</div>
185
187
  <div>
186
- <strong>{`{{n}}`}</strong> {t('ai:to add a number.')}
188
+ <span className="pf-v6-u-font-weight-bold">{`{{n}}`}</span> {t('ai:to add a number.')}
187
189
  </div>
188
190
  </StackItem>
189
191
  <StackItem>
@@ -206,44 +208,48 @@ const MassChangeHostnameForm = ({
206
208
  </StackItem>
207
209
  <StackItem>
208
210
  {t('ai:Preview')}
209
- <div className="hostname-preview">
210
- {selectedHosts.map((h, index) => {
211
- const { newHostname, reason } = newHostnames[index];
212
- return (
213
- <Split key={h.id || index} hasGutter>
214
- <SplitItem className="hostname-column">
215
- <div className="hostname-column__text">
216
- <strong>{getHostname(h)}</strong>
217
- </div>
218
- </SplitItem>
219
- <SplitItem>
220
- <div>
221
- <strong>{'>'}</strong>
222
- </div>
223
- </SplitItem>
224
- <SplitItem isFilled>
225
- {reason ? (
226
- <Popover
227
- aria-label={t('ai:Cannot change hostname popover')}
228
- headerContent={<div>{t('ai:Hostname cannot be changed')}</div>}
229
- bodyContent={<div>{reason}</div>}
211
+ <Split className="hostname-preview" hasGutter>
212
+ <SplitItem className="hostname-column">
213
+ {newHostnames.map((host, i) => (
214
+ <Content
215
+ className="hostname-column__text pf-v6-u-font-weight-bold"
216
+ key={`old-hostname-${i}`}
217
+ >
218
+ {host.oldHostname}
219
+ </Content>
220
+ ))}
221
+ </SplitItem>
222
+ <SplitItem>
223
+ {newHostnames.map((_, i) => (
224
+ <Content key={`divider-${i}`} className="pf-v6-u-font-weight-bold">
225
+ {'>'}
226
+ </Content>
227
+ ))}
228
+ </SplitItem>
229
+ <SplitItem>
230
+ {newHostnames.map((host, i) => (
231
+ <div key={`new-hostname-${i}`}>
232
+ {host.reason ? (
233
+ <Popover
234
+ aria-label={t('ai:Cannot change hostname popover')}
235
+ headerContent={<div>{t('ai:Hostname cannot be changed')}</div>}
236
+ bodyContent={<div>{host.reason}</div>}
237
+ >
238
+ <Button
239
+ variant="link"
240
+ icon={<InfoCircleIcon color={blueInfoColor.value} />}
241
+ isInline
230
242
  >
231
- <Button
232
- variant="link"
233
- icon={<InfoCircleIcon color={blueInfoColor.value} />}
234
- isInline
235
- >
236
- {t('ai:Not changeable')}
237
- </Button>
238
- </Popover>
239
- ) : (
240
- newHostname || t('ai:New hostname will appear here...')
241
- )}
242
- </SplitItem>
243
- </Split>
244
- );
245
- })}
246
- </div>
243
+ {t('ai:Not changeable')}
244
+ </Button>
245
+ </Popover>
246
+ ) : (
247
+ host.newHostname || t('ai:New hostname will appear here...')
248
+ )}
249
+ </div>
250
+ ))}
251
+ </SplitItem>
252
+ </Split>
247
253
  </StackItem>
248
254
  <StackItem>
249
255
  <ModalProgress
@@ -1,6 +1,8 @@
1
1
  export * from './utils';
2
2
  export * from './types';
3
3
  export * from './HostValidationGroups';
4
+ export * from './tableColumns';
5
+ export * from './tableUtils';
4
6
 
5
7
  export { default as RoleCell } from './RoleCell';
6
8
  export { default as RoleDropdown } from './RoleDropdown';