@openshift-assisted/ui-lib 2.46.2 → 2.47.0

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 (393) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts.map +1 -1
  2. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
  4. package/build/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts.map +1 -1
  5. package/build/@types/cim/components/common/ResourceAlerts.d.ts.map +1 -1
  6. package/build/@types/cim/types/k8s/agent-cluster-install.d.ts +1 -0
  7. package/build/@types/cim/types/k8s/agent-cluster-install.d.ts.map +1 -1
  8. package/build/@types/common/api/assisted-service/BundleAPI.d.ts +2 -2
  9. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +25 -25
  10. package/build/@types/common/api/assisted-service/ComponentVersionsAPI.d.ts +1 -1
  11. package/build/@types/common/api/assisted-service/EventsAPI.d.ts +1 -1
  12. package/build/@types/common/api/assisted-service/HostsAPI.d.ts +6 -6
  13. package/build/@types/common/api/assisted-service/InfraEnvsAPI.d.ts +7 -7
  14. package/build/@types/common/api/assisted-service/ManagedDomainsAPI.d.ts +1 -1
  15. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts +2 -2
  16. package/build/@types/common/api/assisted-service/OperatorsAPI.d.ts +1 -1
  17. package/build/@types/common/api/assisted-service/SupportedOpenshiftVersionsAPI.d.ts +1 -1
  18. package/build/@types/common/api/assisted-service/UISettingsAPI.d.ts +2 -2
  19. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts +2 -1
  20. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
  21. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  22. package/build/@types/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts.map +1 -1
  23. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts.map +1 -1
  24. package/build/@types/common/components/clusterConfiguration/DownloadIpxeScript.d.ts.map +1 -1
  25. package/build/@types/common/components/clusterConfiguration/DownloadIso.d.ts.map +1 -1
  26. package/build/@types/common/components/clusterConfiguration/DownloadIsoModal.d.ts.map +1 -1
  27. package/build/@types/common/components/clusterConfiguration/OcmTNADisclaimer.d.ts.map +1 -0
  28. package/build/@types/common/components/clusterConfiguration/utils.d.ts +3 -1
  29. package/build/@types/common/components/clusterConfiguration/utils.d.ts.map +1 -1
  30. package/build/@types/common/components/clusterConfiguration/utils.test.d.ts +2 -0
  31. package/build/@types/common/components/clusterConfiguration/utils.test.d.ts.map +1 -0
  32. package/build/@types/common/components/clusterDetail/ConsoleModal.d.ts.map +1 -1
  33. package/build/@types/common/components/clusterDetail/FinalizingProgress.d.ts.map +1 -1
  34. package/build/@types/common/components/clusterWizard/ClusterWizardStepHeader.d.ts.map +1 -1
  35. package/build/@types/common/components/hosts/AITableMemo.d.ts.map +1 -1
  36. package/build/@types/common/components/hosts/AdditionalNTPSourcesDialog.d.ts.map +1 -1
  37. package/build/@types/common/components/hosts/EditHostForm.d.ts.map +1 -1
  38. package/build/@types/common/components/hosts/EditHostModal.d.ts.map +1 -1
  39. package/build/@types/common/components/hosts/HostRequirements.d.ts.map +1 -1
  40. package/build/@types/common/components/hosts/MassChangeHostnameModal.d.ts.map +1 -1
  41. package/build/@types/common/components/hosts/MassDeleteHostModal.d.ts.map +1 -1
  42. package/build/@types/common/components/storage/DisksTable.d.ts.map +1 -1
  43. package/build/@types/common/components/storage/StorageUtils.d.ts.map +1 -1
  44. package/build/@types/common/components/ui/ConfirmationModal.d.ts +2 -3
  45. package/build/@types/common/components/ui/ConfirmationModal.d.ts.map +1 -1
  46. package/build/@types/common/components/ui/OpenShiftVersionModal.d.ts.map +1 -1
  47. package/build/@types/common/components/ui/SectionTitle.d.ts.map +1 -1
  48. package/build/@types/common/components/ui/StaticTextField.d.ts.map +1 -1
  49. package/build/@types/common/components/ui/eventsModal.d.ts.map +1 -1
  50. package/build/@types/common/components/ui/formik/AlertFormikError.d.ts.map +1 -1
  51. package/build/@types/common/components/ui/formik/RichInputField.d.ts.map +1 -1
  52. package/build/@types/common/components/ui/formik/TextAreaField.d.ts.map +1 -1
  53. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +1 -1
  54. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
  55. package/build/@types/common/config/constants.d.ts.map +1 -1
  56. package/build/@types/ocm/components/AddHosts/InventoryAddHost.d.ts.map +1 -1
  57. package/build/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts.map +1 -1
  58. package/build/@types/ocm/components/AddHosts/day2Wizard/Day2Wizard.d.ts.map +1 -1
  59. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts.map +1 -1
  60. package/build/@types/ocm/components/clusterConfiguration/HostInventory.d.ts.map +1 -1
  61. package/build/@types/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.d.ts.map +1 -1
  62. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.d.ts.map +1 -1
  63. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.d.ts.map +1 -1
  64. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts.map +1 -1
  65. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts +2 -1
  66. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts.map +1 -1
  67. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
  68. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  69. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts.map +1 -1
  70. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts +2 -1
  71. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts.map +1 -1
  72. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts.map +1 -1
  73. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts +1 -1
  74. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -1
  75. package/build/@types/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.d.ts.map +1 -1
  76. package/build/@types/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.d.ts.map +1 -1
  77. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.d.ts.map +1 -1
  78. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/BondsConfirmationModal.d.ts.map +1 -1
  79. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.d.ts.map +1 -1
  80. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.d.ts.map +1 -1
  81. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.d.ts.map +1 -1
  82. package/build/@types/ocm/components/clusterDetail/CancelInstallationModal.d.ts.map +1 -1
  83. package/build/@types/ocm/components/clusterDetail/ClusterDetail.d.ts.map +1 -1
  84. package/build/@types/ocm/components/clusterDetail/ClusterDetailStatusMessages.d.ts.map +1 -1
  85. package/build/@types/ocm/components/clusterDetail/ClusterInstallationError.d.ts.map +1 -1
  86. package/build/@types/ocm/components/clusterDetail/ClusterPollingErrorModal.d.ts.map +1 -1
  87. package/build/@types/ocm/components/clusterDetail/ClusterProperties.d.ts.map +1 -1
  88. package/build/@types/ocm/components/clusterDetail/ClusterProperties.test.d.ts +2 -0
  89. package/build/@types/ocm/components/clusterDetail/ClusterProperties.test.d.ts.map +1 -0
  90. package/build/@types/ocm/components/clusterDetail/ClusterUpdateErrorModal.d.ts.map +1 -1
  91. package/build/@types/ocm/components/clusterDetail/OpenShiftVersionDetail.d.ts.map +1 -1
  92. package/build/@types/ocm/components/clusterDetail/ProgressBarAlerts.d.ts.map +1 -1
  93. package/build/@types/ocm/components/clusterDetail/ResetClusterModal.d.ts.map +1 -1
  94. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts.map +1 -1
  95. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts.map +1 -1
  96. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  97. package/build/@types/ocm/components/clusters/Clusters.d.ts.map +1 -1
  98. package/build/@types/ocm/components/clusters/DeleteClusterModal.d.ts.map +1 -1
  99. package/build/@types/ocm/components/hosts/DeleteHostModal.d.ts.map +1 -1
  100. package/build/@types/ocm/components/hosts/HostRequirementsContent.d.ts.map +1 -1
  101. package/build/@types/ocm/components/hosts/ResetHostModal.d.ts.map +1 -1
  102. package/build/@types/ocm/components/hosts/UpdateDay2ApiVipForm.d.ts.map +1 -1
  103. package/build/@types/ocm/components/hosts/UpdateDay2ApiVipModal.d.ts.map +1 -1
  104. package/build/@types/ocm/components/ui/InfoLinkWithModal.d.ts +1 -2
  105. package/build/@types/ocm/components/ui/InfoLinkWithModal.d.ts.map +1 -1
  106. package/build/@types/ocm/services/ClustersService.d.ts +5 -5
  107. package/build/@types/ocm/services/HostsService.d.ts +11 -11
  108. package/build/@types/ocm/services/InfraEnvsService.d.ts +2 -2
  109. package/build/@types/ocm/services/UISettingsService.d.ts +1 -1
  110. package/build/@types/ocm/store/slices/infra-envs/thunks.d.ts +1 -1
  111. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js +2 -3
  112. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js.map +1 -1
  113. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js +4 -6
  114. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js.map +1 -1
  115. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +9 -5
  116. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
  117. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js +1 -2
  118. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js.map +1 -1
  119. package/build/cjs/cim/components/common/ResourceAlerts.js +15 -16
  120. package/build/cjs/cim/components/common/ResourceAlerts.js.map +1 -1
  121. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +23 -6
  122. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  123. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +2 -3
  124. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  125. package/build/cjs/common/components/clusterConfiguration/DiscoveryInstructions.js +1 -1
  126. package/build/cjs/common/components/clusterConfiguration/DiscoveryInstructions.js.map +1 -1
  127. package/build/cjs/common/components/clusterConfiguration/DiscoveryIpxeInstructions.js +1 -1
  128. package/build/cjs/common/components/clusterConfiguration/DiscoveryIpxeInstructions.js.map +1 -1
  129. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js +7 -6
  130. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js.map +1 -1
  131. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js +1 -2
  132. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js.map +1 -1
  133. package/build/cjs/common/components/clusterConfiguration/DownloadIpxeScript.js +2 -3
  134. package/build/cjs/common/components/clusterConfiguration/DownloadIpxeScript.js.map +1 -1
  135. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js +5 -6
  136. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
  137. package/build/cjs/common/components/clusterConfiguration/DownloadIsoModal.js +3 -2
  138. package/build/cjs/common/components/clusterConfiguration/DownloadIsoModal.js.map +1 -1
  139. package/build/cjs/{ocm → common}/components/clusterConfiguration/OcmTNADisclaimer.js +1 -1
  140. package/build/cjs/common/components/clusterConfiguration/OcmTNADisclaimer.js.map +1 -0
  141. package/build/cjs/common/components/clusterConfiguration/utils.js +23 -12
  142. package/build/cjs/common/components/clusterConfiguration/utils.js.map +1 -1
  143. package/build/cjs/common/components/clusterConfiguration/utils.test.js +242 -0
  144. package/build/cjs/common/components/clusterConfiguration/utils.test.js.map +1 -0
  145. package/build/cjs/common/components/clusterDetail/ConsoleModal.js +5 -3
  146. package/build/cjs/common/components/clusterDetail/ConsoleModal.js.map +1 -1
  147. package/build/cjs/common/components/clusterDetail/FinalizingProgress.js +1 -2
  148. package/build/cjs/common/components/clusterDetail/FinalizingProgress.js.map +1 -1
  149. package/build/cjs/common/components/clusterWizard/ClusterWizardStepHeader.js +1 -2
  150. package/build/cjs/common/components/clusterWizard/ClusterWizardStepHeader.js.map +1 -1
  151. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +1 -1
  152. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  153. package/build/cjs/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.js +1 -1
  154. package/build/cjs/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.js.map +1 -1
  155. package/build/cjs/common/components/hosts/AITableMemo.js +2 -1
  156. package/build/cjs/common/components/hosts/AITableMemo.js.map +1 -1
  157. package/build/cjs/common/components/hosts/AdditionalNTPSourcesDialog.js +4 -4
  158. package/build/cjs/common/components/hosts/AdditionalNTPSourcesDialog.js.map +1 -1
  159. package/build/cjs/common/components/hosts/EditHostForm.js +2 -3
  160. package/build/cjs/common/components/hosts/EditHostForm.js.map +1 -1
  161. package/build/cjs/common/components/hosts/EditHostModal.js +3 -2
  162. package/build/cjs/common/components/hosts/EditHostModal.js.map +1 -1
  163. package/build/cjs/common/components/hosts/HostRequirements.js +1 -2
  164. package/build/cjs/common/components/hosts/HostRequirements.js.map +1 -1
  165. package/build/cjs/common/components/hosts/HostStatus.js +2 -2
  166. package/build/cjs/common/components/hosts/HostStatus.js.map +1 -1
  167. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js +4 -4
  168. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js.map +1 -1
  169. package/build/cjs/common/components/hosts/MassDeleteHostModal.js +4 -4
  170. package/build/cjs/common/components/hosts/MassDeleteHostModal.js.map +1 -1
  171. package/build/cjs/common/components/storage/DisksTable.js +1 -2
  172. package/build/cjs/common/components/storage/DisksTable.js.map +1 -1
  173. package/build/cjs/common/components/storage/StorageUtils.js +1 -2
  174. package/build/cjs/common/components/storage/StorageUtils.js.map +1 -1
  175. package/build/cjs/common/components/ui/ConfirmationModal.js +5 -4
  176. package/build/cjs/common/components/ui/ConfirmationModal.js.map +1 -1
  177. package/build/cjs/common/components/ui/OpenShiftVersionModal.js +7 -6
  178. package/build/cjs/common/components/ui/OpenShiftVersionModal.js.map +1 -1
  179. package/build/cjs/common/components/ui/SectionTitle.js +1 -2
  180. package/build/cjs/common/components/ui/SectionTitle.js.map +1 -1
  181. package/build/cjs/common/components/ui/StaticTextField.js +1 -2
  182. package/build/cjs/common/components/ui/StaticTextField.js.map +1 -1
  183. package/build/cjs/common/components/ui/eventsModal.js +9 -9
  184. package/build/cjs/common/components/ui/eventsModal.js.map +1 -1
  185. package/build/cjs/common/components/ui/formik/AlertFormikError.js +1 -2
  186. package/build/cjs/common/components/ui/formik/AlertFormikError.js.map +1 -1
  187. package/build/cjs/common/components/ui/formik/RichInputField.css +0 -7
  188. package/build/cjs/common/components/ui/formik/RichInputField.js +1 -1
  189. package/build/cjs/common/components/ui/formik/RichInputField.js.map +1 -1
  190. package/build/cjs/common/components/ui/formik/TextAreaField.js +2 -1
  191. package/build/cjs/common/components/ui/formik/TextAreaField.js.map +1 -1
  192. package/build/cjs/common/components/ui/formik/validationSchemas.js +13 -3
  193. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
  194. package/build/cjs/common/config/constants.js +5 -10
  195. package/build/cjs/common/config/constants.js.map +1 -1
  196. package/build/cjs/ocm/components/AddHosts/InventoryAddHost.js +3 -4
  197. package/build/cjs/ocm/components/AddHosts/InventoryAddHost.js.map +1 -1
  198. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js +1 -2
  199. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js.map +1 -1
  200. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2Wizard.js +1 -2
  201. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2Wizard.js.map +1 -1
  202. package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js +1 -1
  203. package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  204. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js +2 -2
  205. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js.map +1 -1
  206. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js +3 -5
  207. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js.map +1 -1
  208. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js +11 -9
  209. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -1
  210. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.js +7 -7
  211. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.js.map +1 -1
  212. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js +0 -1
  213. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js.map +1 -1
  214. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js +60 -18
  215. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js.map +1 -1
  216. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js +49 -12
  217. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js.map +1 -1
  218. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +3 -3
  219. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  220. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +2 -3
  221. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  222. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js +67 -7
  223. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +1 -1
  224. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js +31 -6
  225. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js.map +1 -1
  226. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +7 -16
  227. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +1 -1
  228. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +8 -8
  229. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
  230. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js +26 -8
  231. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js.map +1 -1
  232. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js +5 -5
  233. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js.map +1 -1
  234. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.js +1 -2
  235. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.js.map +1 -1
  236. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/BondsConfirmationModal.js +4 -4
  237. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/BondsConfirmationModal.js.map +1 -1
  238. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.js +1 -2
  239. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.js.map +1 -1
  240. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js +1 -1
  241. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js.map +1 -1
  242. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.js +6 -7
  243. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.js.map +1 -1
  244. package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js +6 -6
  245. package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js.map +1 -1
  246. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +1 -2
  247. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
  248. package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js +17 -14
  249. package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js.map +1 -1
  250. package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js +4 -5
  251. package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js.map +1 -1
  252. package/build/cjs/ocm/components/clusterDetail/ClusterPollingErrorModal.js +5 -4
  253. package/build/cjs/ocm/components/clusterDetail/ClusterPollingErrorModal.js.map +1 -1
  254. package/build/cjs/ocm/components/clusterDetail/ClusterProperties.js +3 -4
  255. package/build/cjs/ocm/components/clusterDetail/ClusterProperties.js.map +1 -1
  256. package/build/cjs/ocm/components/clusterDetail/ClusterProperties.test.js +180 -0
  257. package/build/cjs/ocm/components/clusterDetail/ClusterProperties.test.js.map +1 -0
  258. package/build/cjs/ocm/components/clusterDetail/ClusterUpdateErrorModal.js +5 -4
  259. package/build/cjs/ocm/components/clusterDetail/ClusterUpdateErrorModal.js.map +1 -1
  260. package/build/cjs/ocm/components/clusterDetail/OpenShiftVersionDetail.js +1 -2
  261. package/build/cjs/ocm/components/clusterDetail/OpenShiftVersionDetail.js.map +1 -1
  262. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +4 -5
  263. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
  264. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +5 -3
  265. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
  266. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js +1 -2
  267. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js.map +1 -1
  268. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js +1 -2
  269. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js.map +1 -1
  270. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js +1 -1
  271. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js.map +1 -1
  272. package/build/cjs/ocm/components/clusters/ClusterPage.js +1 -2
  273. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  274. package/build/cjs/ocm/components/clusters/Clusters.js +1 -2
  275. package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
  276. package/build/cjs/ocm/components/clusters/DeleteClusterModal.js +8 -7
  277. package/build/cjs/ocm/components/clusters/DeleteClusterModal.js.map +1 -1
  278. package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js +1 -1
  279. package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js.map +1 -1
  280. package/build/cjs/ocm/components/hosts/DeleteHostModal.js +5 -4
  281. package/build/cjs/ocm/components/hosts/DeleteHostModal.js.map +1 -1
  282. package/build/cjs/ocm/components/hosts/HostRequirementsContent.js +1 -2
  283. package/build/cjs/ocm/components/hosts/HostRequirementsContent.js.map +1 -1
  284. package/build/cjs/ocm/components/hosts/ResetHostModal.js +8 -7
  285. package/build/cjs/ocm/components/hosts/ResetHostModal.js.map +1 -1
  286. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipForm.js +2 -3
  287. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipForm.js.map +1 -1
  288. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipModal.js +3 -2
  289. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipModal.js.map +1 -1
  290. package/build/cjs/ocm/components/ui/InfoLinkWithModal.js +5 -4
  291. package/build/cjs/ocm/components/ui/InfoLinkWithModal.js.map +1 -1
  292. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.tsx +3 -5
  293. package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.tsx +8 -12
  294. package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +17 -35
  295. package/lib/cim/components/InfraEnv/EnvironmentDetails.tsx +1 -5
  296. package/lib/cim/components/common/ResourceAlerts.tsx +26 -28
  297. package/lib/cim/types/k8s/agent-cluster-install.ts +1 -0
  298. package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +61 -31
  299. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +14 -6
  300. package/lib/common/components/clusterConfiguration/DiscoveryInstructions.tsx +2 -2
  301. package/lib/common/components/clusterConfiguration/DiscoveryIpxeInstructions.tsx +2 -2
  302. package/lib/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.tsx +15 -12
  303. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.tsx +1 -3
  304. package/lib/common/components/clusterConfiguration/DownloadIpxeScript.tsx +6 -5
  305. package/lib/common/components/clusterConfiguration/DownloadIso.tsx +13 -7
  306. package/lib/common/components/clusterConfiguration/DownloadIsoModal.tsx +2 -3
  307. package/lib/{ocm → common}/components/clusterConfiguration/OcmTNADisclaimer.tsx +1 -1
  308. package/lib/common/components/clusterConfiguration/utils.test.ts +275 -0
  309. package/lib/common/components/clusterConfiguration/utils.ts +28 -9
  310. package/lib/common/components/clusterDetail/ConsoleModal.tsx +17 -10
  311. package/lib/common/components/clusterDetail/FinalizingProgress.tsx +4 -6
  312. package/lib/common/components/clusterWizard/ClusterWizardStepHeader.tsx +1 -3
  313. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +1 -1
  314. package/lib/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.tsx +2 -2
  315. package/lib/common/components/hosts/AITableMemo.tsx +1 -0
  316. package/lib/common/components/hosts/AdditionalNTPSourcesDialog.tsx +11 -10
  317. package/lib/common/components/hosts/EditHostForm.tsx +6 -5
  318. package/lib/common/components/hosts/EditHostModal.tsx +2 -3
  319. package/lib/common/components/hosts/HostRequirements.tsx +2 -4
  320. package/lib/common/components/hosts/HostStatus.tsx +5 -5
  321. package/lib/common/components/hosts/MassChangeHostnameModal.tsx +9 -7
  322. package/lib/common/components/hosts/MassDeleteHostModal.tsx +15 -9
  323. package/lib/common/components/storage/DisksTable.tsx +1 -3
  324. package/lib/common/components/storage/StorageUtils.tsx +1 -3
  325. package/lib/common/components/ui/ConfirmationModal.tsx +18 -15
  326. package/lib/common/components/ui/OpenShiftVersionModal.tsx +32 -22
  327. package/lib/common/components/ui/SectionTitle.tsx +2 -4
  328. package/lib/common/components/ui/StaticTextField.tsx +2 -4
  329. package/lib/common/components/ui/eventsModal.tsx +29 -20
  330. package/lib/common/components/ui/formik/AlertFormikError.tsx +8 -10
  331. package/lib/common/components/ui/formik/RichInputField.css +0 -7
  332. package/lib/common/components/ui/formik/RichInputField.tsx +2 -1
  333. package/lib/common/components/ui/formik/TextAreaField.tsx +13 -4
  334. package/lib/common/components/ui/formik/_validationSchemas.test.ts +82 -0
  335. package/lib/common/components/ui/formik/validationSchemas.ts +16 -10
  336. package/lib/common/config/constants.ts +5 -11
  337. package/lib/ocm/components/AddHosts/InventoryAddHost.tsx +4 -6
  338. package/lib/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.tsx +1 -5
  339. package/lib/ocm/components/AddHosts/day2Wizard/Day2Wizard.tsx +2 -4
  340. package/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +1 -1
  341. package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.tsx +6 -7
  342. package/lib/ocm/components/clusterConfiguration/HostInventory.tsx +7 -11
  343. package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +43 -25
  344. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.tsx +22 -16
  345. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.tsx +1 -7
  346. package/lib/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.tsx +64 -18
  347. package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx +98 -36
  348. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +3 -2
  349. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +4 -5
  350. package/lib/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx +78 -11
  351. package/lib/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.tsx +79 -11
  352. package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +4 -9
  353. package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +17 -6
  354. package/lib/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.tsx +34 -4
  355. package/lib/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.tsx +7 -9
  356. package/lib/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.tsx +1 -3
  357. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/BondsConfirmationModal.tsx +15 -9
  358. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.tsx +1 -3
  359. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.tsx +10 -3
  360. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.tsx +6 -8
  361. package/lib/ocm/components/clusterDetail/CancelInstallationModal.tsx +19 -17
  362. package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +1 -3
  363. package/lib/ocm/components/clusterDetail/ClusterDetailStatusMessages.tsx +34 -26
  364. package/lib/ocm/components/clusterDetail/ClusterInstallationError.tsx +5 -7
  365. package/lib/ocm/components/clusterDetail/ClusterPollingErrorModal.tsx +15 -13
  366. package/lib/ocm/components/clusterDetail/ClusterProperties.test.ts +215 -0
  367. package/lib/ocm/components/clusterDetail/ClusterProperties.tsx +3 -5
  368. package/lib/ocm/components/clusterDetail/ClusterUpdateErrorModal.tsx +17 -13
  369. package/lib/ocm/components/clusterDetail/OpenShiftVersionDetail.tsx +2 -4
  370. package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +5 -7
  371. package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +16 -12
  372. package/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +1 -3
  373. package/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +1 -3
  374. package/lib/ocm/components/clusters/AssistedInstallerHeader.tsx +2 -2
  375. package/lib/ocm/components/clusters/ClusterPage.tsx +1 -3
  376. package/lib/ocm/components/clusters/Clusters.tsx +1 -3
  377. package/lib/ocm/components/clusters/DeleteClusterModal.tsx +16 -11
  378. package/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +2 -2
  379. package/lib/ocm/components/hosts/DeleteHostModal.tsx +18 -9
  380. package/lib/ocm/components/hosts/HostRequirementsContent.tsx +3 -5
  381. package/lib/ocm/components/hosts/ResetHostModal.tsx +16 -13
  382. package/lib/ocm/components/hosts/UpdateDay2ApiVipForm.tsx +12 -6
  383. package/lib/ocm/components/hosts/UpdateDay2ApiVipModal.tsx +2 -3
  384. package/lib/ocm/components/ui/InfoLinkWithModal.tsx +16 -13
  385. package/package.json +3 -3
  386. package/build/@types/ocm/components/clusterConfiguration/OcmTNADisclaimer.d.ts.map +0 -1
  387. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.d.ts +0 -6
  388. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.d.ts.map +0 -1
  389. package/build/cjs/ocm/components/clusterConfiguration/OcmTNADisclaimer.js.map +0 -1
  390. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.js +0 -25
  391. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.js.map +0 -1
  392. package/lib/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.tsx +0 -30
  393. /package/build/@types/{ocm → common}/components/clusterConfiguration/OcmTNADisclaimer.d.ts +0 -0
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import {
3
+ Content,
3
4
  Divider,
4
5
  ExpandableSection,
5
- Flex,
6
- FlexItem,
7
6
  Grid,
8
7
  GridItem,
9
8
  gridSpans,
@@ -94,12 +93,9 @@ const PreflightCheckInfo = ({
94
93
  }) => {
95
94
  return (
96
95
  <GridItem span={span} offset={offset} className={className}>
97
- <Flex spaceItems={{ default: 'spaceItemsSm' }} alignItems={{ default: 'alignItemsCenter' }}>
98
- <FlexItem style={{ display: 'flex', alignItems: 'center' }}>{icon}</FlexItem>
99
- <FlexItem style={{ display: 'flex', alignItems: 'center' }}>
100
- <b>{title}</b>
101
- </FlexItem>
102
- </Flex>
96
+ <Content className="pf-v6-u-text-wrap pf-v6-u-font-weight-bold">
97
+ {icon} {title}
98
+ </Content>
103
99
  </GridItem>
104
100
  );
105
101
  };
@@ -186,7 +182,9 @@ const ReviewPreflightChecks = ({ cluster }: { cluster: Cluster }) => {
186
182
  <ExpandableSection
187
183
  toggleContent={
188
184
  <Grid>
189
- <GridItem span={2}>Preflight checks</GridItem>
185
+ <GridItem span={2} className="pf-v6-u-text-wrap">
186
+ Preflight checks
187
+ </GridItem>
190
188
  {!isChecksExpanded && <PreflightChecksDetailCollapsed cluster={cluster} />}
191
189
  </Grid>
192
190
  }
@@ -41,9 +41,7 @@ const HostSummary: React.FC<HostSummaryProps> = ({
41
41
  <StackItem data-testid={`collapsed-host-${hostIdx}`}>
42
42
  <Flex>
43
43
  <FlexItem>
44
- <Content>
45
- <Content component={ContentVariants.small}>{title}</Content>
46
- </Content>
44
+ <Content component={ContentVariants.small}>{title}</Content>
47
45
  </FlexItem>
48
46
  {hasError && (
49
47
  <Label
@@ -1,6 +1,14 @@
1
1
  import * as React from 'react';
2
- import { Button, ButtonVariant, Stack, StackItem } from '@patternfly/react-core';
3
- import { Modal, ModalBoxBody, ModalBoxFooter } from '@patternfly/react-core/deprecated';
2
+ import {
3
+ Button,
4
+ ButtonVariant,
5
+ Modal,
6
+ ModalBody,
7
+ ModalFooter,
8
+ ModalHeader,
9
+ Stack,
10
+ StackItem,
11
+ } from '@patternfly/react-core';
4
12
 
5
13
  import { useTranslation } from '../../../../../../common/hooks/use-translation-wrapper';
6
14
 
@@ -16,27 +24,25 @@ const BondDeleteModalModal = ({ isOpen, onConfirm, onCancel }: BondDeleteModalMo
16
24
  return (
17
25
  <Modal
18
26
  aria-label={t('ai:Remove bond dialog')}
19
- title={t('ai:Remove bond?')}
20
27
  isOpen={isOpen}
21
28
  onClose={onCancel}
22
- hasNoBodyWrapper
23
29
  id="remove-bond-modal"
24
30
  variant="medium"
25
- titleIconVariant="warning"
26
31
  >
27
- <ModalBoxBody>
32
+ <ModalHeader title={t('ai:Remove bond?')} titleIconVariant="warning" />
33
+ <ModalBody>
28
34
  <Stack hasGutter>
29
35
  <StackItem>{t('ai:The bond associated with the host will be removed.')}</StackItem>
30
36
  </Stack>
31
- </ModalBoxBody>
32
- <ModalBoxFooter>
37
+ </ModalBody>
38
+ <ModalFooter>
33
39
  <Button onClick={onConfirm} variant={ButtonVariant.danger}>
34
40
  {t('ai:Remove bond')}
35
41
  </Button>
36
42
  <Button onClick={onCancel} variant={ButtonVariant.secondary}>
37
43
  {t('ai:Cancel')}
38
44
  </Button>
39
- </ModalBoxFooter>
45
+ </ModalFooter>
40
46
  </Modal>
41
47
  );
42
48
  };
@@ -150,9 +150,7 @@ export const FormViewHostsFields: React.FC<{ protocolType: StaticProtocolType }>
150
150
  const ExpandedHostComponent = getExpandedHostComponent(protocolType);
151
151
  return (
152
152
  <>
153
- <Content>
154
- <Content component={ContentVariants.h3}>Host specific configurations</Content>
155
- </Content>
153
+ <Content component={ContentVariants.h3}>Host specific configurations</Content>
156
154
  <StaticIpHostsArray<FormViewHost>
157
155
  CollapsedHostComponent={CollapsedHostComponent}
158
156
  ExpandedHostComponent={ExpandedHostComponent}
@@ -1,5 +1,12 @@
1
1
  import React from 'react';
2
- import { Content, ContentVariants, Alert, AlertVariant, Grid } from '@patternfly/react-core';
2
+ import {
3
+ Content,
4
+ ContentVariants,
5
+ Alert,
6
+ AlertVariant,
7
+ Grid,
8
+ GridItem,
9
+ } from '@patternfly/react-core';
3
10
  import { StaticIpInfo, StaticIpView } from '../data/dataTypes';
4
11
  import StaticIpViewRadioGroup from './StaticIpViewRadioGroup';
5
12
  import { getStaticIpInfo } from '../data/fromInfraEnv';
@@ -77,13 +84,13 @@ export const StaticIpPage: React.FC<StaticIpPageProps> = ({
77
84
  }
78
85
  return (
79
86
  <Grid hasGutter>
80
- <Content>
87
+ <GridItem>
81
88
  <Content component={ContentVariants.h2}>Static network configurations</Content>
82
89
  <Content component={ContentVariants.small}>
83
90
  Network configuration can be done using either the form view or YAML view. Configurations
84
91
  done in this step are for discovering hosts.
85
92
  </Content>
86
- </Content>
93
+ </GridItem>
87
94
 
88
95
  {clusterWizardContext.currentStepId === 'static-ip-network-wide-configurations' && (
89
96
  <StaticIpViewRadioGroup
@@ -83,14 +83,12 @@ export const YamlViewFields = () => {
83
83
  const emptyHostData = getEmptyYamlHost();
84
84
  return (
85
85
  <Grid hasGutter>
86
- <Content>
87
- <Content component={ContentVariants.small}>
88
- Upload, drag and drop, or copy and paste a YAML file that contains NMState into the editor
89
- for network configurations. Each host also needs the MAC to interface name mapping.{' '}
90
- <a href={NMSTATE_EXAMPLES_LINK} target="_blank" rel="noopener noreferrer">
91
- Learn more about NMState <ExternalLinkAltIcon />
92
- </a>
93
- </Content>
86
+ <Content component={ContentVariants.small}>
87
+ Upload, drag and drop, or copy and paste a YAML file that contains NMState into the editor
88
+ for network configurations. Each host also needs the MAC to interface name mapping.{' '}
89
+ <a href={NMSTATE_EXAMPLES_LINK} target="_blank" rel="noopener noreferrer">
90
+ Learn more about NMState <ExternalLinkAltIcon />
91
+ </a>
94
92
  </Content>
95
93
 
96
94
  <StaticIpHostsArray<HostStaticNetworkConfig>
@@ -1,7 +1,15 @@
1
1
  import React from 'react';
2
2
  import { useDispatch } from 'react-redux';
3
- import { Button, ButtonVariant, Content } from '@patternfly/react-core';
4
- import { Modal, ModalVariant } from '@patternfly/react-core/deprecated';
3
+ import {
4
+ Button,
5
+ ButtonVariant,
6
+ Content,
7
+ Modal,
8
+ ModalBody,
9
+ ModalFooter,
10
+ ModalHeader,
11
+ ModalVariant,
12
+ } from '@patternfly/react-core';
5
13
  import { getApiErrorMessage, handleApiError } from '../../../common/api';
6
14
  import { updateCluster } from '../../store/slices/current-cluster/slice';
7
15
  import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
@@ -43,20 +51,17 @@ const CancelInstallationModal: React.FC = () => {
43
51
  return <ErrorState title={error.title} content={error.message} />;
44
52
  }
45
53
  return (
46
- <Content>
47
- <Content component="p">
48
- This will abort cluster installation. Are you sure you want to proceed?
49
- </Content>
54
+ <Content component="p">
55
+ This will abort cluster installation. Are you sure you want to proceed?
50
56
  </Content>
51
57
  );
52
58
  };
53
59
 
54
60
  return (
55
- <Modal
56
- title="Abort Cluster Installation"
57
- isOpen={isOpen}
58
- variant={ModalVariant.small}
59
- actions={[
61
+ <Modal isOpen={isOpen} variant={ModalVariant.small} onClose={onClose}>
62
+ <ModalHeader title="Abort Cluster Installation" />
63
+ <ModalBody>{getModalContent()}</ModalBody>
64
+ <ModalFooter>
60
65
  <Button
61
66
  key="submit"
62
67
  variant={ButtonVariant.danger}
@@ -66,7 +71,7 @@ const CancelInstallationModal: React.FC = () => {
66
71
  isDisabled={isSubmitting}
67
72
  >
68
73
  Abort installation
69
- </Button>,
74
+ </Button>
70
75
  <Button
71
76
  key="cancel"
72
77
  variant={ButtonVariant.link}
@@ -74,11 +79,8 @@ const CancelInstallationModal: React.FC = () => {
74
79
  isDisabled={isSubmitting}
75
80
  >
76
81
  Cancel
77
- </Button>,
78
- ]}
79
- onClose={onClose}
80
- >
81
- {getModalContent()}
82
+ </Button>
83
+ </ModalFooter>
82
84
  </Modal>
83
85
  );
84
86
  };
@@ -54,9 +54,7 @@ const ClusterDetail: React.FC<ClusterDetailProps> = ({ cluster }) => {
54
54
  <StackItem>
55
55
  <Grid hasGutter>
56
56
  <GridItem>
57
- <Content>
58
- <Content component="h2">Installation progress</Content>
59
- </Content>
57
+ <Content component="h2">Installation progress</Content>
60
58
  </GridItem>
61
59
  <GridItem span={6}>
62
60
  <ClusterProgress
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Alert } from '@patternfly/react-core';
2
+ import { Alert, Stack, StackItem } from '@patternfly/react-core';
3
3
  import {
4
4
  REDHAT_CONSOLE_OPENSHIFT,
5
5
  canDownloadKubeconfig,
@@ -43,41 +43,49 @@ const ClusterDetailStatusMessages = ({
43
43
  : '';
44
44
 
45
45
  return (
46
- <>
46
+ <Stack hasGutter>
47
47
  {!isSingleClusterFeatureEnabled &&
48
48
  typeof inactiveDeletionHours === 'number' &&
49
49
  canDownloadKubeconfig(cluster.status) && (
50
+ <StackItem>
51
+ <Alert
52
+ variant="info"
53
+ isInline
54
+ title={
55
+ dateDifference > 0
56
+ ? `Download and save your kubeconfig file in a safe place. This file will be automatically ` +
57
+ `deleted from Assisted Installer's service in ${dateDifference} days.`
58
+ : `Kubeconfig file was automatically deleted ${inactiveDeletionDays} days after installation.`
59
+ }
60
+ />
61
+ </StackItem>
62
+ )}
63
+ {showAddHostsAlert && (
64
+ <StackItem>
50
65
  <Alert
51
66
  variant="info"
52
67
  isInline
68
+ data-testid="alert-add-hosts"
53
69
  title={
54
- dateDifference > 0
55
- ? `Download and save your kubeconfig file in a safe place. This file will be automatically ` +
56
- `deleted from Assisted Installer's service in ${dateDifference} days.`
57
- : `Kubeconfig file was automatically deleted ${inactiveDeletionDays} days after installation.`
70
+ <p>
71
+ {isClusterPlatformTypeVM(cluster)
72
+ ? 'Add new hosts by using the platform auto-scale feature or manually generating a new Discovery ISO under the "Add hosts" tab on '
73
+ : 'Add new hosts by generating a new Discovery ISO under your cluster\'s "Add hosts" tab on '}
74
+ <a href={REDHAT_CONSOLE_OPENSHIFT} target="_blank" rel="noopener noreferrer">
75
+ console.redhat.com/openshift <ExternalLinkAltIcon />
76
+ </a>
77
+ .
78
+ </p>
58
79
  }
59
80
  />
60
- )}
61
- {showAddHostsAlert && (
62
- <Alert
63
- variant="info"
64
- isInline
65
- data-testid="alert-add-hosts"
66
- title={
67
- <p>
68
- {isClusterPlatformTypeVM(cluster)
69
- ? 'Add new hosts by using the platform auto-scale feature or manually generating a new Discovery ISO under the "Add hosts" tab on '
70
- : 'Add new hosts by generating a new Discovery ISO under your cluster\'s "Add hosts" tab on '}
71
- <a href={REDHAT_CONSOLE_OPENSHIFT} target="_blank" rel="noopener noreferrer">
72
- console.redhat.com/openshift <ExternalLinkAltIcon />
73
- </a>
74
- .
75
- </p>
76
- }
77
- />
81
+ </StackItem>
82
+ )}
83
+ {platformLink && (
84
+ <StackItem>
85
+ <PostInstallAlert link={platformLink} />
86
+ </StackItem>
78
87
  )}
79
- {platformLink && <PostInstallAlert link={platformLink} />}
80
- </>
88
+ </Stack>
81
89
  );
82
90
  };
83
91
 
@@ -51,13 +51,11 @@ const ClusterInstallationError: React.FC<ClusterInstallationErrorProps> = ({
51
51
  }
52
52
  isInline
53
53
  >
54
- <Content>
55
- <Content component="p">
56
- {toSentence(cluster.statusInfo)}
57
- <br />
58
- Reset the installation process to return to the configuration and try again. Some hosts
59
- may need to be re-registered by rebooting into the Discovery ISO.
60
- </Content>
54
+ <Content component="p">
55
+ {toSentence(cluster.statusInfo)}
56
+ <br />
57
+ Reset the installation process to return to the configuration and try again. Some hosts
58
+ may need to be re-registered by rebooting into the Discovery ISO.
61
59
  </Content>
62
60
  </Alert>
63
61
  </GridItem>
@@ -1,6 +1,13 @@
1
1
  import React from 'react';
2
- import { Button, ButtonVariant } from '@patternfly/react-core';
3
- import { Modal, ModalVariant } from '@patternfly/react-core/deprecated';
2
+ import {
3
+ Button,
4
+ ButtonVariant,
5
+ Modal,
6
+ ModalBody,
7
+ ModalFooter,
8
+ ModalHeader,
9
+ ModalVariant,
10
+ } from '@patternfly/react-core';
4
11
 
5
12
  const defaultTitle = 'Unable to fetch the latest data';
6
13
 
@@ -15,23 +22,18 @@ const ClusterPollingErrorModal = ({
15
22
  content?: string;
16
23
  }) => {
17
24
  return (
18
- <Modal
19
- title={title}
20
- isOpen
21
- variant={ModalVariant.small}
22
- showClose={false}
23
- titleIconVariant="danger"
24
- actions={[
25
+ <Modal isOpen variant={ModalVariant.small} onClose={undefined}>
26
+ <ModalHeader title={title} titleIconVariant="danger" />
27
+ <ModalBody>{content}</ModalBody>
28
+ <ModalFooter>
25
29
  <Button
26
30
  key="refresh"
27
31
  variant={ButtonVariant.primary}
28
32
  onClick={() => window.location.reload()}
29
33
  >
30
34
  Refresh page
31
- </Button>,
32
- ]}
33
- >
34
- {content}
35
+ </Button>
36
+ </ModalFooter>
35
37
  </Modal>
36
38
  );
37
39
  };
@@ -0,0 +1,215 @@
1
+ import { test, describe, expect } from 'vitest';
2
+ import { getStackTypeLabel } from './ClusterProperties';
3
+ import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
4
+
5
+ const createCluster = (overrides: Partial<Cluster> = {}): Cluster =>
6
+ ({
7
+ id: 'test-cluster',
8
+ name: 'test-cluster',
9
+ kind: 'Cluster',
10
+ href: '/api/assisted-install/v2/clusters/test-cluster',
11
+ openshiftVersion: '4.11',
12
+ status: 'ready',
13
+ statusInfo: 'Cluster is ready',
14
+ machineNetworks: [],
15
+ clusterNetworks: [],
16
+ serviceNetworks: [],
17
+ ...overrides,
18
+ } as Cluster);
19
+
20
+ const createMachineNetwork = (cidr: string) => ({ cidr, clusterId: 'test' });
21
+ const createClusterNetwork = (cidr: string, hostPrefix: number) => ({
22
+ cidr,
23
+ hostPrefix,
24
+ clusterId: 'test',
25
+ });
26
+ const createServiceNetwork = (cidr: string) => ({ cidr, clusterId: 'test' });
27
+
28
+ describe('getStackTypeLabel', () => {
29
+ describe('OCP < 4.12 (legacy behavior)', () => {
30
+ test('returns "Dual-stack" for valid dual stack with IPv4 primary', () => {
31
+ const cluster = createCluster({
32
+ openshiftVersion: '4.11',
33
+ machineNetworks: [
34
+ createMachineNetwork('192.168.1.0/24'),
35
+ createMachineNetwork('2001:db8::/64'),
36
+ ],
37
+ clusterNetworks: [
38
+ createClusterNetwork('10.128.0.0/14', 23),
39
+ createClusterNetwork('fd01::/48', 64),
40
+ ],
41
+ serviceNetworks: [
42
+ createServiceNetwork('172.30.0.0/16'),
43
+ createServiceNetwork('fd02::/112'),
44
+ ],
45
+ });
46
+
47
+ expect(getStackTypeLabel(cluster)).toBe('Dual-stack');
48
+ });
49
+
50
+ test('returns "IPv4" for single stack', () => {
51
+ const cluster = createCluster({
52
+ openshiftVersion: '4.11',
53
+ machineNetworks: [createMachineNetwork('192.168.1.0/24')],
54
+ clusterNetworks: [createClusterNetwork('10.128.0.0/14', 23)],
55
+ serviceNetworks: [createServiceNetwork('172.30.0.0/16')],
56
+ });
57
+
58
+ expect(getStackTypeLabel(cluster)).toBe('IPv4');
59
+ });
60
+
61
+ test('returns "IPv4" for IPv6 primary (invalid for OCP < 4.12)', () => {
62
+ const cluster = createCluster({
63
+ openshiftVersion: '4.11',
64
+ machineNetworks: [
65
+ createMachineNetwork('2001:db8::/64'),
66
+ createMachineNetwork('192.168.1.0/24'),
67
+ ],
68
+ clusterNetworks: [
69
+ createClusterNetwork('fd01::/48', 64),
70
+ createClusterNetwork('10.128.0.0/14', 23),
71
+ ],
72
+ serviceNetworks: [
73
+ createServiceNetwork('fd02::/112'),
74
+ createServiceNetwork('172.30.0.0/16'),
75
+ ],
76
+ });
77
+
78
+ expect(getStackTypeLabel(cluster)).toBe('IPv4');
79
+ });
80
+ });
81
+
82
+ describe('OCP >= 4.12 (new behavior)', () => {
83
+ test('returns "Dual-stack" for IPv4 primary and IPv6 secondary', () => {
84
+ const cluster = createCluster({
85
+ openshiftVersion: '4.12',
86
+ machineNetworks: [
87
+ createMachineNetwork('192.168.1.0/24'),
88
+ createMachineNetwork('2001:db8::/64'),
89
+ ],
90
+ clusterNetworks: [
91
+ createClusterNetwork('10.128.0.0/14', 23),
92
+ createClusterNetwork('fd01::/48', 64),
93
+ ],
94
+ serviceNetworks: [
95
+ createServiceNetwork('172.30.0.0/16'),
96
+ createServiceNetwork('fd02::/112'),
97
+ ],
98
+ });
99
+
100
+ expect(getStackTypeLabel(cluster)).toBe('Dual-stack');
101
+ });
102
+
103
+ test('returns "Dual-stack" for IPv6 primary and IPv4 secondary', () => {
104
+ const cluster = createCluster({
105
+ openshiftVersion: '4.12',
106
+ machineNetworks: [
107
+ createMachineNetwork('2001:db8::/64'),
108
+ createMachineNetwork('192.168.1.0/24'),
109
+ ],
110
+ clusterNetworks: [
111
+ createClusterNetwork('fd01::/48', 64),
112
+ createClusterNetwork('10.128.0.0/14', 23),
113
+ ],
114
+ serviceNetworks: [
115
+ createServiceNetwork('fd02::/112'),
116
+ createServiceNetwork('172.30.0.0/16'),
117
+ ],
118
+ });
119
+
120
+ expect(getStackTypeLabel(cluster)).toBe('Dual-stack');
121
+ });
122
+
123
+ test('returns "IPv4" for IPv6 primary and IPv6 secondary (not dual-stack)', () => {
124
+ const cluster = createCluster({
125
+ openshiftVersion: '4.12',
126
+ machineNetworks: [
127
+ createMachineNetwork('2001:db8::/64'),
128
+ createMachineNetwork('2001:db9::/64'),
129
+ ],
130
+ clusterNetworks: [
131
+ createClusterNetwork('fd01::/48', 64),
132
+ createClusterNetwork('fd02::/48', 64),
133
+ ],
134
+ serviceNetworks: [createServiceNetwork('fd03::/112'), createServiceNetwork('fd04::/112')],
135
+ });
136
+
137
+ expect(getStackTypeLabel(cluster)).toBe('IPv4');
138
+ });
139
+
140
+ test('returns "IPv4" for IPv4 primary and IPv4 secondary (not dual-stack)', () => {
141
+ const cluster = createCluster({
142
+ openshiftVersion: '4.12',
143
+ machineNetworks: [
144
+ createMachineNetwork('192.168.1.0/24'),
145
+ createMachineNetwork('10.0.0.0/24'),
146
+ ],
147
+ clusterNetworks: [
148
+ createClusterNetwork('10.128.0.0/14', 23),
149
+ createClusterNetwork('172.16.0.0/14', 23),
150
+ ],
151
+ serviceNetworks: [
152
+ createServiceNetwork('172.30.0.0/16'),
153
+ createServiceNetwork('172.31.0.0/16'),
154
+ ],
155
+ });
156
+
157
+ expect(getStackTypeLabel(cluster)).toBe('IPv4');
158
+ });
159
+
160
+ test('returns "IPv4" for single stack', () => {
161
+ const cluster = createCluster({
162
+ openshiftVersion: '4.12',
163
+ machineNetworks: [createMachineNetwork('192.168.1.0/24')],
164
+ clusterNetworks: [createClusterNetwork('10.128.0.0/14', 23)],
165
+ serviceNetworks: [createServiceNetwork('172.30.0.0/16')],
166
+ });
167
+
168
+ expect(getStackTypeLabel(cluster)).toBe('IPv4');
169
+ });
170
+ });
171
+
172
+ describe('edge cases', () => {
173
+ test('handles undefined openshiftVersion', () => {
174
+ const cluster = createCluster({
175
+ openshiftVersion: undefined,
176
+ machineNetworks: [
177
+ createMachineNetwork('192.168.1.0/24'),
178
+ createMachineNetwork('2001:db8::/64'),
179
+ ],
180
+ clusterNetworks: [
181
+ createClusterNetwork('10.128.0.0/14', 23),
182
+ createClusterNetwork('fd01::/48', 64),
183
+ ],
184
+ serviceNetworks: [
185
+ createServiceNetwork('172.30.0.0/16'),
186
+ createServiceNetwork('fd02::/112'),
187
+ ],
188
+ });
189
+
190
+ expect(getStackTypeLabel(cluster)).toBe('Dual-stack');
191
+ });
192
+
193
+ test('handles empty networks', () => {
194
+ const cluster = createCluster({
195
+ openshiftVersion: '4.12',
196
+ machineNetworks: [],
197
+ clusterNetworks: [],
198
+ serviceNetworks: [],
199
+ });
200
+
201
+ expect(getStackTypeLabel(cluster)).toBe('IPv4');
202
+ });
203
+
204
+ test('handles undefined networks', () => {
205
+ const cluster = createCluster({
206
+ openshiftVersion: '4.12',
207
+ machineNetworks: undefined,
208
+ clusterNetworks: undefined,
209
+ serviceNetworks: undefined,
210
+ });
211
+
212
+ expect(getStackTypeLabel(cluster)).toBe('IPv4');
213
+ });
214
+ });
215
+ });
@@ -41,7 +41,7 @@ export const getManagementType = ({ userManagedNetworking }: Cluster): string =>
41
41
  };
42
42
 
43
43
  export const getStackTypeLabel = (cluster: Cluster): string =>
44
- isDualStack(cluster) ? 'Dual-stack' : 'IPv4';
44
+ isDualStack({ ...cluster, openshiftVersion: cluster.openshiftVersion }) ? 'Dual-stack' : 'IPv4';
45
45
 
46
46
  export const getDiskEncryptionEnabledOnStatus = (diskEncryption: DiskEncryption['enableOn']) => {
47
47
  let diskEncryptionType = null;
@@ -67,7 +67,7 @@ export const getDiskEncryptionEnabledOnStatus = (diskEncryption: DiskEncryption[
67
67
 
68
68
  const ClusterProperties = ({ cluster, externalMode = false }: ClusterPropertiesProps) => {
69
69
  const { t } = useTranslation();
70
- const isDualStackType = isDualStack(cluster);
70
+ const isDualStackType = isDualStack({ ...cluster, openshiftVersion: cluster.openshiftVersion });
71
71
  const featureSupportLevelContext = useNewFeatureSupportLevel();
72
72
 
73
73
  const activeFeatureConfiguration = featureSupportLevelContext.activeFeatureConfiguration;
@@ -78,9 +78,7 @@ const ClusterProperties = ({ cluster, externalMode = false }: ClusterPropertiesP
78
78
  <>
79
79
  {!externalMode && (
80
80
  <GridItem>
81
- <Content>
82
- <Content component="h2">{t('ai:Cluster Details')}</Content>
83
- </Content>
81
+ <Content component="h2">{t('ai:Cluster Details')}</Content>
84
82
  </GridItem>
85
83
  )}
86
84
  <GridItem md={6} data-testid="cluster-details">