@openshift-assisted/ui-lib 2.17.1-cim → 2.17.4-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 (381) hide show
  1. package/build/@types/cim/components/Agent/BMHStatusInfo.d.ts.map +1 -1
  2. package/build/@types/cim/components/Agent/MinimalHWRequirements.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.d.ts.map +1 -1
  4. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts +0 -1
  5. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts.map +1 -1
  6. package/build/@types/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
  7. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts.map +1 -1
  8. package/build/@types/cim/components/Hypershift/DetailsPage/ConditionsTable.d.ts.map +1 -1
  9. package/build/@types/cim/components/Hypershift/DetailsPage/HostedClusterProgress.d.ts.map +1 -1
  10. package/build/@types/cim/components/Hypershift/DetailsPage/NodePoolsProgress.d.ts.map +1 -1
  11. package/build/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.d.ts.map +1 -1
  12. package/build/@types/cim/components/Hypershift/utils/status.d.ts +2 -2
  13. package/build/@types/cim/components/Hypershift/utils/status.d.ts.map +1 -1
  14. package/build/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts.map +1 -1
  15. package/build/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts.map +1 -1
  16. package/build/@types/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.d.ts.map +1 -1
  17. package/build/@types/cim/components/helpers/agentStatus.d.ts +1 -1
  18. package/build/@types/cim/components/helpers/agentStatus.d.ts.map +1 -1
  19. package/build/@types/cim/components/helpers/versions.d.ts +1 -1
  20. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  21. package/build/@types/cim/components/modals/CimConfiguration/CimConfigurationFormFields.d.ts.map +1 -1
  22. package/build/@types/cim/components/modals/CimConfiguration/CimConfigurationModal.d.ts.map +1 -1
  23. package/build/@types/cim/components/modals/CimConfiguration/persist.d.ts.map +1 -1
  24. package/build/@types/cim/components/modals/CimConfiguration/types.d.ts +1 -1
  25. package/build/@types/cim/components/modals/EditProxyModal.d.ts.map +1 -1
  26. package/build/@types/cim/components/modals/EditSSHKeyModal.d.ts.map +1 -1
  27. package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts.map +1 -1
  28. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  29. package/build/@types/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts.map +1 -1
  30. package/build/@types/common/components/clusterDetail/FinalizingProgress.d.ts +1 -1
  31. package/build/@types/common/components/clusterDetail/FinalizingProgress.d.ts.map +1 -1
  32. package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts.map +1 -1
  33. package/build/@types/common/components/clusterDetail/ProgressBarTexts.d.ts.map +1 -1
  34. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  35. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  36. package/build/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts.map +1 -1
  37. package/build/@types/common/components/hosts/AdditionalNTPSourcesDialog.d.ts.map +1 -1
  38. package/build/@types/common/components/hosts/EditHostForm.d.ts.map +1 -1
  39. package/build/@types/common/components/hosts/HostPropertyValidationPopover.d.ts.map +1 -1
  40. package/build/@types/common/components/hosts/HostStatus.d.ts.map +1 -1
  41. package/build/@types/common/components/hosts/HostValidationGroups.d.ts.map +1 -1
  42. package/build/@types/common/components/hosts/Hostname.d.ts.map +1 -1
  43. package/build/@types/common/components/hosts/MassChangeHostnameModal.d.ts.map +1 -1
  44. package/build/@types/common/components/hosts/VMRebootConfigurationInfo.d.ts.map +1 -1
  45. package/build/@types/common/components/hosts/status.d.ts.map +1 -1
  46. package/build/@types/common/components/storage/DisksTable.d.ts.map +1 -1
  47. package/build/@types/common/components/storage/StorageUtils.d.ts +1 -1
  48. package/build/@types/common/components/storage/StorageUtils.d.ts.map +1 -1
  49. package/build/@types/common/components/ui/WizardNavItem.d.ts.map +1 -1
  50. package/build/@types/common/components/ui/formik/RemovableField.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/index.d.ts +0 -2
  53. package/build/@types/common/components/ui/formik/index.d.ts.map +1 -1
  54. package/build/@types/common/components/ui/index.d.ts +0 -1
  55. package/build/@types/common/components/ui/index.d.ts.map +1 -1
  56. package/build/@types/common/index.d.ts +1 -0
  57. package/build/@types/common/index.d.ts.map +1 -1
  58. package/build/@types/common/utils.d.ts +2 -2
  59. package/build/@types/common/utils.d.ts.map +1 -1
  60. package/build/@types/common/validationSchemas/addressValidation.d.ts +18 -0
  61. package/build/@types/common/validationSchemas/addressValidation.d.ts.map +1 -0
  62. package/build/@types/common/validationSchemas/clusterDetailsValidation.d.ts +8 -0
  63. package/build/@types/common/validationSchemas/clusterDetailsValidation.d.ts.map +1 -0
  64. package/build/@types/common/{components/ui/formik → validationSchemas}/constants.d.ts +1 -3
  65. package/build/@types/common/validationSchemas/constants.d.ts.map +1 -0
  66. package/build/@types/common/validationSchemas/hostnameValidation.d.ts +4 -0
  67. package/build/@types/common/validationSchemas/hostnameValidation.d.ts.map +1 -0
  68. package/build/@types/common/validationSchemas/index.d.ts +11 -0
  69. package/build/@types/common/validationSchemas/index.d.ts.map +1 -0
  70. package/build/@types/common/validationSchemas/networkingValidation.d.ts +18 -0
  71. package/build/@types/common/validationSchemas/networkingValidation.d.ts.map +1 -0
  72. package/build/@types/common/validationSchemas/ntpValidation.d.ts +4 -0
  73. package/build/@types/common/validationSchemas/ntpValidation.d.ts.map +1 -0
  74. package/build/@types/common/validationSchemas/proxyValidation.d.ts +11 -0
  75. package/build/@types/common/validationSchemas/proxyValidation.d.ts.map +1 -0
  76. package/build/@types/common/validationSchemas/pullSecretValidation.d.ts +4 -0
  77. package/build/@types/common/validationSchemas/pullSecretValidation.d.ts.map +1 -0
  78. package/build/@types/common/validationSchemas/regexes.d.ts +14 -0
  79. package/build/@types/common/validationSchemas/regexes.d.ts.map +1 -0
  80. package/build/@types/common/validationSchemas/sshValidation.d.ts +5 -0
  81. package/build/@types/common/validationSchemas/sshValidation.d.ts.map +1 -0
  82. package/build/@types/common/validationSchemas/utils.d.ts +7 -0
  83. package/build/@types/common/validationSchemas/utils.d.ts.map +1 -0
  84. package/build/@types/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.d.ts.map +1 -1
  85. package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts.map +1 -1
  86. package/build/@types/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.d.ts.map +1 -1
  87. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.d.ts.map +1 -1
  88. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +2 -1
  89. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -1
  90. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  91. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts +2 -1
  92. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -1
  93. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.d.ts.map +1 -1
  94. package/build/@types/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.d.ts.map +1 -1
  95. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.d.ts.map +1 -1
  96. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts +2 -1
  97. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts.map +1 -1
  98. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.d.ts.map +1 -1
  99. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts +2 -1
  100. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts.map +1 -1
  101. package/build/@types/ocm/components/clusterDetail/HostInventoryExpandable.d.ts +1 -1
  102. package/build/@types/ocm/components/clusterDetail/HostInventoryExpandable.d.ts.map +1 -1
  103. package/build/@types/ocm/components/clusterDetail/OpenShiftVersionDetail.d.ts.map +1 -1
  104. package/build/@types/ocm/components/clusterDetail/ResetClusterModal.d.ts.map +1 -1
  105. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts.map +1 -1
  106. package/build/@types/ocm/components/clusters/ClusterStatus.d.ts.map +1 -1
  107. package/build/@types/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.d.ts.map +1 -1
  108. package/build/@types/ocm/components/hosts/UpdateDay2ApiVipForm.d.ts.map +1 -1
  109. package/build/@types/ocm/components/ui/InfoLinkWithModal.d.ts.map +1 -1
  110. package/build/cjs/cim/components/Agent/BMCForm.js +3 -3
  111. package/build/cjs/cim/components/Agent/BMCForm.js.map +1 -1
  112. package/build/cjs/cim/components/Agent/BMHStatusInfo.js +4 -4
  113. package/build/cjs/cim/components/Agent/BMHStatusInfo.js.map +1 -1
  114. package/build/cjs/cim/components/Agent/MinimalHWRequirements.js +2 -2
  115. package/build/cjs/cim/components/Agent/MinimalHWRequirements.js.map +1 -1
  116. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js +9 -15
  117. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js.map +1 -1
  118. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js +8 -6
  119. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js.map +1 -1
  120. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js +1 -3
  121. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js.map +1 -1
  122. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js +16 -15
  123. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -1
  124. package/build/cjs/cim/components/Hypershift/DetailsPage/ConditionsTable.js +7 -6
  125. package/build/cjs/cim/components/Hypershift/DetailsPage/ConditionsTable.js.map +1 -1
  126. package/build/cjs/cim/components/Hypershift/DetailsPage/HostedClusterProgress.js +3 -2
  127. package/build/cjs/cim/components/Hypershift/DetailsPage/HostedClusterProgress.js.map +1 -1
  128. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsProgress.js +2 -2
  129. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsProgress.js.map +1 -1
  130. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js +2 -2
  131. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js.map +1 -1
  132. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js +2 -11
  133. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js.map +1 -1
  134. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js +8 -8
  135. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js.map +1 -1
  136. package/build/cjs/cim/components/Hypershift/utils/status.js +8 -7
  137. package/build/cjs/cim/components/Hypershift/utils/status.js.map +1 -1
  138. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js +4 -4
  139. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js.map +1 -1
  140. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +8 -6
  141. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
  142. package/build/cjs/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.js +3 -3
  143. package/build/cjs/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.js.map +1 -1
  144. package/build/cjs/cim/components/helpers/agentStatus.js +3 -2
  145. package/build/cjs/cim/components/helpers/agentStatus.js.map +1 -1
  146. package/build/cjs/cim/components/helpers/versions.js +42 -27
  147. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  148. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js +7 -3
  149. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js.map +1 -1
  150. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js +13 -6
  151. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -1
  152. package/build/cjs/cim/components/modals/CimConfiguration/persist.js +7 -0
  153. package/build/cjs/cim/components/modals/CimConfiguration/persist.js.map +1 -1
  154. package/build/cjs/cim/components/modals/EditProxyModal.js +5 -3
  155. package/build/cjs/cim/components/modals/EditProxyModal.js.map +1 -1
  156. package/build/cjs/cim/components/modals/EditPullSecretModal.js +1 -1
  157. package/build/cjs/cim/components/modals/EditPullSecretModal.js.map +1 -1
  158. package/build/cjs/cim/components/modals/EditSSHKeyModal.js +3 -3
  159. package/build/cjs/cim/components/modals/EditSSHKeyModal.js.map +1 -1
  160. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +2 -2
  161. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
  162. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +7 -6
  163. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  164. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js +2 -1
  165. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js.map +1 -1
  166. package/build/cjs/common/components/clusterDetail/FinalizingProgress.js +8 -7
  167. package/build/cjs/common/components/clusterDetail/FinalizingProgress.js.map +1 -1
  168. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js +4 -4
  169. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -1
  170. package/build/cjs/common/components/clusterDetail/ProgressBarTexts.js +5 -4
  171. package/build/cjs/common/components/clusterDetail/ProgressBarTexts.js.map +1 -1
  172. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +7 -6
  173. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  174. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +8 -8
  175. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  176. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js +2 -2
  177. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js.map +1 -1
  178. package/build/cjs/common/components/hosts/AdditionalNTPSourcesDialog.js +2 -1
  179. package/build/cjs/common/components/hosts/AdditionalNTPSourcesDialog.js.map +1 -1
  180. package/build/cjs/common/components/hosts/EditHostForm.js +3 -2
  181. package/build/cjs/common/components/hosts/EditHostForm.js.map +1 -1
  182. package/build/cjs/common/components/hosts/HostPropertyValidationPopover.js +6 -6
  183. package/build/cjs/common/components/hosts/HostPropertyValidationPopover.js.map +1 -1
  184. package/build/cjs/common/components/hosts/HostStatus.js +2 -1
  185. package/build/cjs/common/components/hosts/HostStatus.js.map +1 -1
  186. package/build/cjs/common/components/hosts/HostValidationGroups.js +6 -6
  187. package/build/cjs/common/components/hosts/HostValidationGroups.js.map +1 -1
  188. package/build/cjs/common/components/hosts/Hostname.js +4 -3
  189. package/build/cjs/common/components/hosts/Hostname.js.map +1 -1
  190. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js +8 -7
  191. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js.map +1 -1
  192. package/build/cjs/common/components/hosts/VMRebootConfigurationInfo.js +2 -1
  193. package/build/cjs/common/components/hosts/VMRebootConfigurationInfo.js.map +1 -1
  194. package/build/cjs/common/components/hosts/status.js +19 -13
  195. package/build/cjs/common/components/hosts/status.js.map +1 -1
  196. package/build/cjs/common/components/storage/DisksTable.js +4 -2
  197. package/build/cjs/common/components/storage/DisksTable.js.map +1 -1
  198. package/build/cjs/common/components/storage/StorageUtils.js +3 -2
  199. package/build/cjs/common/components/storage/StorageUtils.js.map +1 -1
  200. package/build/cjs/common/components/ui/WizardNavItem.js +2 -2
  201. package/build/cjs/common/components/ui/WizardNavItem.js.map +1 -1
  202. package/build/cjs/common/components/ui/formik/RemovableField.js +3 -3
  203. package/build/cjs/common/components/ui/formik/RemovableField.js.map +1 -1
  204. package/build/cjs/common/components/ui/formik/RichInputField.js +4 -4
  205. package/build/cjs/common/components/ui/formik/RichInputField.js.map +1 -1
  206. package/build/cjs/common/components/ui/formik/index.js +0 -2
  207. package/build/cjs/common/components/ui/formik/index.js.map +1 -1
  208. package/build/cjs/common/components/ui/index.js +1 -3
  209. package/build/cjs/common/components/ui/index.js.map +1 -1
  210. package/build/cjs/common/config/docs_links.js +1 -1
  211. package/build/cjs/common/index.js +1 -0
  212. package/build/cjs/common/index.js.map +1 -1
  213. package/build/cjs/common/utils.js +5 -3
  214. package/build/cjs/common/utils.js.map +1 -1
  215. package/build/cjs/common/validationSchemas/addressValidation.js +258 -0
  216. package/build/cjs/common/validationSchemas/addressValidation.js.map +1 -0
  217. package/build/cjs/common/validationSchemas/clusterDetailsValidation.js +104 -0
  218. package/build/cjs/common/validationSchemas/clusterDetailsValidation.js.map +1 -0
  219. package/build/cjs/common/{components/ui/formik → validationSchemas}/constants.js +3 -5
  220. package/build/cjs/common/validationSchemas/constants.js.map +1 -0
  221. package/build/cjs/common/validationSchemas/hostnameValidation.js +36 -0
  222. package/build/cjs/common/validationSchemas/hostnameValidation.js.map +1 -0
  223. package/build/cjs/common/validationSchemas/index.js +17 -0
  224. package/build/cjs/common/validationSchemas/index.js.map +1 -0
  225. package/build/cjs/common/validationSchemas/networkingValidation.js +74 -0
  226. package/build/cjs/common/validationSchemas/networkingValidation.js.map +1 -0
  227. package/build/cjs/common/validationSchemas/ntpValidation.js +25 -0
  228. package/build/cjs/common/validationSchemas/ntpValidation.js.map +1 -0
  229. package/build/cjs/common/validationSchemas/proxyValidation.js +43 -0
  230. package/build/cjs/common/validationSchemas/proxyValidation.js.map +1 -0
  231. package/build/cjs/common/validationSchemas/pullSecretValidation.js +21 -0
  232. package/build/cjs/common/validationSchemas/pullSecretValidation.js.map +1 -0
  233. package/build/cjs/common/validationSchemas/regexes.js +17 -0
  234. package/build/cjs/common/validationSchemas/regexes.js.map +1 -0
  235. package/build/cjs/common/validationSchemas/sshValidation.js +32 -0
  236. package/build/cjs/common/validationSchemas/sshValidation.js.map +1 -0
  237. package/build/cjs/common/validationSchemas/utils.js +40 -0
  238. package/build/cjs/common/validationSchemas/utils.js.map +1 -0
  239. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js +7 -6
  240. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -1
  241. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +4 -4
  242. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -1
  243. package/build/cjs/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.js +5 -2
  244. package/build/cjs/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.js.map +1 -1
  245. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js +4 -2
  246. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js.map +1 -1
  247. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js +7 -6
  248. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -1
  249. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +7 -3
  250. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  251. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +11 -11
  252. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
  253. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js +5 -3
  254. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js.map +1 -1
  255. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js +11 -7
  256. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js.map +1 -1
  257. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.js +3 -1
  258. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.js.map +1 -1
  259. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.js +6 -6
  260. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.js.map +1 -1
  261. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.js +3 -1
  262. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.js.map +1 -1
  263. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.js +12 -12
  264. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.js.map +1 -1
  265. package/build/cjs/ocm/components/clusterDetail/HostInventoryExpandable.js +5 -4
  266. package/build/cjs/ocm/components/clusterDetail/HostInventoryExpandable.js.map +1 -1
  267. package/build/cjs/ocm/components/clusterDetail/OpenShiftVersionDetail.js +4 -3
  268. package/build/cjs/ocm/components/clusterDetail/OpenShiftVersionDetail.js.map +1 -1
  269. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +4 -2
  270. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
  271. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js +4 -3
  272. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js.map +1 -1
  273. package/build/cjs/ocm/components/clusters/ClusterStatus.js +13 -7
  274. package/build/cjs/ocm/components/clusters/ClusterStatus.js.map +1 -1
  275. package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js +7 -6
  276. package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js.map +1 -1
  277. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipForm.js +2 -1
  278. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipForm.js.map +1 -1
  279. package/build/cjs/ocm/components/ui/InfoLinkWithModal.js +2 -2
  280. package/build/cjs/ocm/components/ui/InfoLinkWithModal.js.map +1 -1
  281. package/lib/cim/components/Agent/BMCForm.tsx +3 -3
  282. package/lib/cim/components/Agent/BMHStatusInfo.tsx +12 -4
  283. package/lib/cim/components/Agent/MinimalHWRequirements.tsx +4 -2
  284. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.tsx +8 -18
  285. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.tsx +7 -10
  286. package/lib/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.tsx +1 -3
  287. package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +19 -15
  288. package/lib/cim/components/Hypershift/DetailsPage/ConditionsTable.tsx +13 -7
  289. package/lib/cim/components/Hypershift/DetailsPage/HostedClusterProgress.tsx +8 -4
  290. package/lib/cim/components/Hypershift/DetailsPage/NodePoolsProgress.tsx +6 -2
  291. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.tsx +2 -2
  292. package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx +2 -13
  293. package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.tsx +8 -8
  294. package/lib/cim/components/Hypershift/utils/status.tsx +20 -9
  295. package/lib/cim/components/InfraEnv/EnvironmentDetails.tsx +11 -4
  296. package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +8 -6
  297. package/lib/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.tsx +4 -6
  298. package/lib/cim/components/helpers/agentStatus.tsx +7 -3
  299. package/lib/cim/components/helpers/versions.ts +51 -34
  300. package/lib/cim/components/modals/CimConfiguration/CimConfigurationFormFields.tsx +7 -5
  301. package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +13 -6
  302. package/lib/cim/components/modals/CimConfiguration/persist.ts +11 -0
  303. package/lib/cim/components/modals/CimConfiguration/types.ts +1 -1
  304. package/lib/cim/components/modals/EditProxyModal.tsx +6 -3
  305. package/lib/cim/components/modals/EditPullSecretModal.tsx +1 -1
  306. package/lib/cim/components/modals/EditSSHKeyModal.tsx +8 -6
  307. package/lib/cim/components/modals/MassDeleteAgentModal.tsx +12 -5
  308. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +9 -8
  309. package/lib/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.tsx +5 -2
  310. package/lib/common/components/clusterDetail/FinalizingProgress.tsx +21 -10
  311. package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +11 -5
  312. package/lib/common/components/clusterDetail/ProgressBarTexts.tsx +17 -5
  313. package/lib/common/components/clusterWizard/ReviewValidations.tsx +15 -6
  314. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +21 -11
  315. package/lib/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.tsx +0 -2
  316. package/lib/common/components/hosts/AdditionalNTPSourcesDialog.tsx +3 -6
  317. package/lib/common/components/hosts/EditHostForm.tsx +2 -8
  318. package/lib/common/components/hosts/HostPropertyValidationPopover.tsx +9 -5
  319. package/lib/common/components/hosts/HostStatus.tsx +14 -3
  320. package/lib/common/components/hosts/HostValidationGroups.tsx +9 -5
  321. package/lib/common/components/hosts/Hostname.tsx +7 -4
  322. package/lib/common/components/hosts/MassChangeHostnameModal.tsx +10 -8
  323. package/lib/common/components/hosts/VMRebootConfigurationInfo.tsx +12 -3
  324. package/lib/common/components/hosts/status.tsx +46 -13
  325. package/lib/common/components/storage/DisksTable.tsx +15 -4
  326. package/lib/common/components/storage/StorageUtils.tsx +6 -4
  327. package/lib/common/components/ui/WizardNavItem.tsx +4 -7
  328. package/lib/common/components/ui/formik/RemovableField.tsx +8 -4
  329. package/lib/common/components/ui/formik/RichInputField.tsx +10 -6
  330. package/lib/common/components/ui/formik/index.tsx +0 -2
  331. package/lib/common/components/ui/index.ts +0 -2
  332. package/lib/common/config/docs_links.ts +1 -1
  333. package/lib/common/index.ts +2 -0
  334. package/lib/common/utils.ts +5 -7
  335. package/lib/common/{components/ui/formik → validationSchemas}/_validationSchemas.test.ts +51 -39
  336. package/lib/common/validationSchemas/addressValidation.tsx +354 -0
  337. package/lib/common/validationSchemas/clusterDetailsValidation.tsx +168 -0
  338. package/lib/common/{components/ui/formik → validationSchemas}/constants.tsx +3 -6
  339. package/lib/common/validationSchemas/hostnameValidation.tsx +46 -0
  340. package/lib/common/validationSchemas/index.tsx +11 -0
  341. package/lib/common/validationSchemas/networkingValidation.tsx +113 -0
  342. package/lib/common/validationSchemas/ntpValidation.tsx +30 -0
  343. package/lib/common/validationSchemas/proxyValidation.tsx +67 -0
  344. package/lib/common/validationSchemas/pullSecretValidation.tsx +24 -0
  345. package/lib/common/validationSchemas/regexes.tsx +22 -0
  346. package/lib/common/validationSchemas/sshValidation.tsx +46 -0
  347. package/lib/common/validationSchemas/utils.tsx +36 -0
  348. package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +17 -15
  349. package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +11 -5
  350. package/lib/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.tsx +8 -7
  351. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.tsx +4 -2
  352. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +31 -31
  353. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +15 -5
  354. package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +14 -16
  355. package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx +6 -3
  356. package/lib/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.tsx +28 -15
  357. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.tsx +3 -1
  358. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.tsx +11 -6
  359. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.tsx +5 -1
  360. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.tsx +33 -28
  361. package/lib/ocm/components/clusterDetail/HostInventoryExpandable.tsx +11 -5
  362. package/lib/ocm/components/clusterDetail/OpenShiftVersionDetail.tsx +8 -5
  363. package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +6 -3
  364. package/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx +5 -3
  365. package/lib/ocm/components/clusters/ClusterStatus.tsx +30 -8
  366. package/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +12 -8
  367. package/lib/ocm/components/hosts/UpdateDay2ApiVipForm.tsx +3 -7
  368. package/lib/ocm/components/ui/InfoLinkWithModal.tsx +4 -2
  369. package/package.json +3 -3
  370. package/build/@types/common/components/ui/UiIcon.d.ts +0 -11
  371. package/build/@types/common/components/ui/UiIcon.d.ts.map +0 -1
  372. package/build/@types/common/components/ui/formik/constants.d.ts.map +0 -1
  373. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +0 -50
  374. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +0 -1
  375. package/build/cjs/common/components/ui/UiIcon.js +0 -11
  376. package/build/cjs/common/components/ui/UiIcon.js.map +0 -1
  377. package/build/cjs/common/components/ui/formik/constants.js.map +0 -1
  378. package/build/cjs/common/components/ui/formik/validationSchemas.js +0 -553
  379. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +0 -1
  380. package/lib/common/components/ui/UiIcon.tsx +0 -21
  381. package/lib/common/components/ui/formik/validationSchemas.ts +0 -803
@@ -1,14 +1,13 @@
1
+ import React from 'react';
2
+ import { TFunction } from 'i18next';
3
+ import { Icon } from '@patternfly/react-core';
1
4
  import { CheckCircleIcon } from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
2
5
  import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
3
6
  import { InProgressIcon } from '@patternfly/react-icons/dist/js/icons/in-progress-icon';
4
- import React from 'react';
5
- import { t_global_color_status_success_default as okColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_success_default';
6
- import { t_global_icon_color_status_danger_default as dangerColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_danger_default';
7
- import { t_global_icon_color_status_warning_default as warningColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_warning_default';
7
+
8
+ import { NodePoolK8sResource } from '../types';
8
9
  import { AgentK8sResource } from '../../../types';
9
10
  import { getAgentStatus } from '../../helpers';
10
- import { NodePoolK8sResource } from '../types';
11
- import { TFunction } from 'i18next';
12
11
  import { agentStatus } from '../../helpers/agentStatus';
13
12
 
14
13
  export type NodePoolStatus = {
@@ -40,7 +39,11 @@ export const getNodePoolStatus = (
40
39
  if (hasErrorAgents) {
41
40
  return {
42
41
  type: 'error',
43
- icon: <ExclamationCircleIcon color={dangerColor.value} />,
42
+ icon: (
43
+ <Icon status="danger">
44
+ <ExclamationCircleIcon />
45
+ </Icon>
46
+ ),
44
47
  text: t('ai:Error'),
45
48
  };
46
49
  }
@@ -58,7 +61,11 @@ export const getNodePoolStatus = (
58
61
  if (hasWarningAgents) {
59
62
  return {
60
63
  type: 'warning',
61
- icon: <ExclamationCircleIcon color={warningColor.value} />,
64
+ icon: (
65
+ <Icon status="warning">
66
+ <ExclamationCircleIcon />
67
+ </Icon>
68
+ ),
62
69
  text: t('ai:Warning'),
63
70
  };
64
71
  }
@@ -66,7 +73,11 @@ export const getNodePoolStatus = (
66
73
  return nodePool.status?.conditions?.find(({ type }) => type === 'Ready')?.status === 'True'
67
74
  ? {
68
75
  type: 'ok',
69
- icon: <CheckCircleIcon color={okColor.value} />,
76
+ icon: (
77
+ <Icon status="success">
78
+ <CheckCircleIcon />
79
+ </Icon>
80
+ ),
70
81
  text: t('ai:Ready'),
71
82
  }
72
83
  : {
@@ -13,12 +13,11 @@ import {
13
13
  Title,
14
14
  TitleSizes,
15
15
  Label,
16
+ Icon,
16
17
  } from '@patternfly/react-core';
17
18
  import { CheckCircleIcon } from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
18
19
  import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
19
20
  import { PencilAltIcon } from '@patternfly/react-icons/dist/js/icons/pencil-alt-icon';
20
- import { t_global_color_status_success_default as okColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_success_default';
21
- import { t_global_icon_color_status_warning_default as warningColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_warning_default';
22
21
 
23
22
  import { architectureData } from '../../../common';
24
23
  import { InfraEnvK8sResource, SecretK8sResource } from '../../types';
@@ -39,11 +38,19 @@ type EditItemProps = {
39
38
  };
40
39
 
41
40
  const EditItem: React.FC<EditItemProps> = ({ title, onEdit, isLoading, isWarning, noIcon }) => {
42
- let icon = <CheckCircleIcon color={okColor.value} />;
41
+ let icon = (
42
+ <Icon status="success">
43
+ <CheckCircleIcon />
44
+ </Icon>
45
+ );
43
46
  if (isLoading) {
44
47
  icon = <Spinner size="md" />;
45
48
  } else if (isWarning) {
46
- icon = <ExclamationTriangleIcon color={warningColor.value} />;
49
+ icon = (
50
+ <Icon status="warning">
51
+ <ExclamationTriangleIcon />
52
+ </Icon>
53
+ );
47
54
  }
48
55
  const btn = (
49
56
  <>
@@ -76,32 +76,34 @@ const validationSchema = (usedNames: string[], t: TFunction) =>
76
76
  Yup.lazy((values: EnvironmentStepFormValues) =>
77
77
  Yup.object<EnvironmentStepFormValues>().shape({
78
78
  name: richNameValidationSchema(t, usedNames),
79
- location: locationValidationSchema(t).required(t('ai:Location is a required field.')),
80
- pullSecret: pullSecretValidationSchema.required(t('ai:Pull secret is a required field.')),
81
- sshPublicKey: sshPublicKeyValidationSchema,
79
+ location: locationValidationSchema(t),
80
+ pullSecret: pullSecretValidationSchema(t).required(t('ai:Required field')),
81
+ sshPublicKey: sshPublicKeyValidationSchema(t),
82
82
  httpProxy: httpProxyValidationSchema({
83
83
  values,
84
84
  pairValueName: 'httpsProxy',
85
85
  allowEmpty: true,
86
+ t,
86
87
  }),
87
88
  httpsProxy: httpProxyValidationSchema({
88
89
  values,
89
90
  pairValueName: 'httpProxy',
90
91
  allowEmpty: true,
92
+ t,
91
93
  }), // share the schema, httpS is currently not supported
92
- noProxy: noProxyValidationSchema,
94
+ noProxy: noProxyValidationSchema(t),
93
95
  labels: Yup.array()
94
96
  .of(Yup.string())
95
97
  .test(
96
98
  'label-equals-validation',
97
- 'Label selector needs to be in a `key=value` form',
99
+ t('ai:Label needs to be in a `key=value` form'),
98
100
  (values) =>
99
101
  (values as string[]).every((value) => {
100
102
  const parts = value.split('=');
101
103
  return parts.length === 2;
102
104
  }),
103
105
  ),
104
- additionalNtpSources: ntpSourceValidationSchema,
106
+ additionalNtpSources: ntpSourceValidationSchema(t),
105
107
  }),
106
108
  );
107
109
 
@@ -1,10 +1,9 @@
1
1
  import * as React from 'react';
2
+ import { Icon, Tooltip } from '@patternfly/react-core';
2
3
  import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
3
- import { t_global_icon_color_status_warning_default as warningColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_warning_default';
4
4
  import { getAgentStatus, getBMHStatus } from '../helpers';
5
5
  import { AgentK8sResource, BareMetalHostK8sResource } from '../../types';
6
6
  import { AGENT_BMH_NAME_LABEL_KEY } from '../common';
7
- import { Tooltip } from '@patternfly/react-core';
8
7
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
9
8
  import { agentStatus, bmhStatus } from '../helpers/agentStatus';
10
9
 
@@ -51,10 +50,9 @@ const InfraEnvHostsTabAgentsWarning: React.FC<InfraEnvHostsTabAgentsWarning> = (
51
50
  if (hostsWithProblemsCount) {
52
51
  return (
53
52
  <Tooltip content={t('ai:{{count}} host has problems', { count: hostsWithProblemsCount })}>
54
- <ExclamationTriangleIcon
55
- color={warningColor.value}
56
- className="infra-env-hosts-tab-title__icon"
57
- />
53
+ <Icon status="warning">
54
+ <ExclamationTriangleIcon className="infra-env-hosts-tab-title__icon" />
55
+ </Icon>
58
56
  </Tooltip>
59
57
  );
60
58
  }
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
+ import { TFunction } from 'i18next';
3
+ import { Icon } from '@patternfly/react-core';
2
4
  import { ConnectedIcon } from '@patternfly/react-icons/dist/js/icons/connected-icon';
3
5
  import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
4
- import { t_global_icon_color_status_danger_default as dangerColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_danger_default';
5
6
  import { hostStatus } from '../../../common';
6
7
  import { HostStatus } from '../../../common/components/hosts/types';
7
- import { TFunction } from 'i18next';
8
8
 
9
9
  export const bmhStatus = (t: TFunction): HostStatus<string> => ({
10
10
  'bmh-error': {
@@ -68,7 +68,11 @@ export const agentStatus = (t: TFunction): HostStatus<string> => ({
68
68
  specSyncErr: {
69
69
  key: 'specSyncErr',
70
70
  title: t('ai:Sync error'),
71
- icon: <ExclamationCircleIcon color={dangerColor.value} />,
71
+ icon: (
72
+ <Icon status="danger">
73
+ <ExclamationCircleIcon />
74
+ </Icon>
75
+ ),
72
76
  category: 'Discovery related',
73
77
  },
74
78
  });
@@ -61,48 +61,65 @@ export const isValidImageSet = (
61
61
  );
62
62
  };
63
63
 
64
+ // Extracts major.minor version, strips any non-numeric prefix (e.g., "img4.18.55" → "4.18")
65
+ const extractMajorMinor = (version: string): string => {
66
+ const versionWithoutPrefix = version.replace(/^[^\d]*/, '');
67
+ return versionWithoutPrefix.split('.').slice(0, 2).join('.');
68
+ };
69
+
70
+ // Converts a ClusterImageSet to an OpenshiftVersionOptionType
71
+ const toVersionOption = (
72
+ clusterImageSet: ClusterImageSetK8sResource,
73
+ ): OpenshiftVersionOptionType => {
74
+ const version =
75
+ getVersionFromReleaseImage(clusterImageSet.spec?.releaseImage) ||
76
+ clusterImageSet.metadata?.name ||
77
+ '';
78
+ const cpuArch = getCPUArchFromReleaseImage(clusterImageSet.spec?.releaseImage);
79
+ return {
80
+ label: `OpenShift ${version}`,
81
+ version,
82
+ value: clusterImageSet.metadata?.name as string,
83
+ default: false,
84
+ // (rawagner) ACM does not have the warning so changing to 'production'
85
+ // supportLevel : getSupportLevelFromChannel(clusterImageSet.metadata?.labels?.channel)
86
+ supportLevel: 'production',
87
+ cpuArchitectures: cpuArch ? [cpuArch as CpuArchitecture] : undefined,
88
+ };
89
+ };
90
+
91
+ /**
92
+ * In case there are osImages specified on the AgentServiceConfig, we want to limit
93
+ * the availability in the dropdown to only versions that are listed there.
94
+ * Otherwise the installation fails.
95
+ */
96
+ const hasMatchingOsImage = (
97
+ version: OpenshiftVersionOptionType,
98
+ osImageVersions: (string | undefined)[],
99
+ ): boolean => {
100
+ if (!osImageVersions.length) return true;
101
+ return osImageVersions.includes(extractMajorMinor(version.version));
102
+ };
103
+
64
104
  export const getOCPVersions = (
65
105
  clusterImageSets: ClusterImageSetK8sResource[],
66
- isNutanix?: boolean | undefined,
106
+ isNutanix?: boolean,
67
107
  osImages?: OsImage[],
68
108
  extended?: boolean,
69
109
  ): OpenshiftVersionOptionType[] => {
70
- const ocpImageVersions = Array.from(
71
- new Set(osImages?.map((osImage) => osImage.openshiftVersion)),
72
- );
110
+ const architectures = isNutanix ? supportedNutanixPlatforms : undefined;
111
+ const osImageVersions = [...new Set(osImages?.map((img) => img.openshiftVersion))];
73
112
 
74
113
  const versions = clusterImageSets
75
- .filter((clusterImageSet) =>
76
- isValidImageSet(clusterImageSet, isNutanix ? supportedNutanixPlatforms : undefined, extended),
77
- )
78
- .map((clusterImageSet): OpenshiftVersionOptionType => {
79
- const version = getVersionFromReleaseImage(clusterImageSet.spec?.releaseImage);
80
- const cpuArch = getCPUArchFromReleaseImage(clusterImageSet.spec?.releaseImage);
81
- return {
82
- label: `OpenShift ${version ? version : (clusterImageSet.metadata?.name as string)}`,
83
- version: version || clusterImageSet.metadata?.name || '',
84
- value: clusterImageSet.metadata?.name as string,
85
- default: false,
86
- // (rawagner) ACM does not have the warning so changing to 'production'
87
- supportLevel: 'production', // getSupportLevelFromChannel(clusterImageSet.metadata?.labels?.channel),
88
- cpuArchitectures: cpuArch ? [cpuArch as CpuArchitecture] : undefined,
89
- };
90
- })
91
- .filter((ocpVersion) => {
92
- const ver = ocpVersion.version.split('.').slice(0, 2).join('.');
93
- return !!ocpImageVersions.length ? ocpImageVersions.includes(ver) : true;
94
- })
95
- .sort(
96
- (versionA, versionB) => /* descending */ -1 * versionA.label.localeCompare(versionB.label),
97
- );
98
-
99
- if (versions.length) {
100
- // make sure that the pre-selected one is the first-one after sorting
101
- versions[0].default = true;
102
- }
114
+ .filter((clusterImageSet) => isValidImageSet(clusterImageSet, architectures, extended))
115
+ .map(toVersionOption)
116
+ .filter((v) => hasMatchingOsImage(v, osImageVersions))
117
+ .sort((a, b) => b.label.localeCompare(a.label));
118
+
119
+ // Mark first version as the default selection
120
+ versions[0] && (versions[0].default = true);
103
121
 
104
- const deduped = uniqBy(versions, (v) => v.version);
105
- return deduped;
122
+ return uniqBy(versions, (v) => v.version);
106
123
  };
107
124
 
108
125
  export const getSelectedVersion = (
@@ -33,7 +33,6 @@ export const CimConfigurationFormFields = ({
33
33
  setConfigureLoadBalancerInitial,
34
34
  }: CimConfigurationFormFieldsProps) => {
35
35
  const { t } = useTranslation();
36
-
37
36
  const { setFieldValue, values } = useFormikContext<CimConfigurationValues>();
38
37
 
39
38
  React.useEffect(
@@ -223,8 +222,7 @@ export const CimConfigurationFormFields = ({
223
222
 
224
223
  <StackItem>
225
224
  <CheckboxField
226
- name={'addCiscoIntersightUrl'}
227
- isDisabled={isEdit}
225
+ name={'addCiscoIntersightURL'}
228
226
  label={
229
227
  <>
230
228
  {t('ai:Configure custom URL for Cisco Intersight')}{' '}
@@ -240,14 +238,18 @@ export const CimConfigurationFormFields = ({
240
238
  </PopoverIcon>
241
239
  </>
242
240
  }
241
+ onChange={(checked) => {
242
+ if (!checked) {
243
+ setFieldValue('ciscoIntersightURL', '', false);
244
+ }
245
+ }}
243
246
  />
244
247
 
245
- {values.addCiscoIntersightUrl && (
248
+ {values.addCiscoIntersightURL && (
246
249
  <InputField
247
250
  name={'ciscoIntersightURL'}
248
251
  label={t('ai:Cisco Intersight URL')}
249
252
  isRequired
250
- isDisabled={isEdit}
251
253
  placeholder="https://www.intersight.com/an/workflow/workflow-definitions/execute/AddServersFromISO"
252
254
  helperText={t('ai:Provide the complete URL, including the protocol and parameters.')}
253
255
  />
@@ -62,7 +62,7 @@ export const CimConfigurationModal: React.FC<CimConfigurationModalProps> = ({
62
62
  fsVolSizeGiB: values.fsVolSize,
63
63
  imgVolSizeGiB: values.imgVolSize,
64
64
  configureLoadBalancer: values.configureLoadBalancer,
65
- ciscoIntersightURL: values.addCiscoIntersightUrl ? values.ciscoIntersightURL : undefined,
65
+ ciscoIntersightURL: values.addCiscoIntersightURL ? values.ciscoIntersightURL : undefined,
66
66
  })
67
67
  ) {
68
68
  // successfully persisted
@@ -95,16 +95,23 @@ export const CimConfigurationModal: React.FC<CimConfigurationModalProps> = ({
95
95
  agentServiceConfig?.spec?.imageStorage?.resources?.requests?.storage,
96
96
  ),
97
97
  configureLoadBalancer: platform === 'AWS',
98
- addCiscoIntersightUrl: !!agentServiceConfig?.metadata?.annotations?.['ciscoIntersightURL'],
98
+ addCiscoIntersightURL: !!agentServiceConfig?.metadata?.annotations?.['ciscoIntersightURL'],
99
99
  ciscoIntersightURL: agentServiceConfig?.metadata?.annotations?.['ciscoIntersightURL'] || '',
100
100
  };
101
101
 
102
102
  const validationSchema = Yup.object<CimConfigurationValues>({
103
- dbVolSize: Yup.number().min(MIN_DB_VOL_SIZE, t('ai:Minimal value is 1Gi')).required(),
104
- fsVolSize: Yup.number().min(MIN_FS_VOL_SIZE, t('ai:Minimal value is 1Gi')).required(),
105
- imgVolSize: Yup.number().min(MIN_IMG_VOL_SIZE, t('ai:Minimal value is 10Gi')).required(),
103
+ dbVolSize: Yup.number()
104
+ .min(MIN_DB_VOL_SIZE, t('ai:Minimal value is 1Gi'))
105
+ .required(t('ai:Required field')),
106
+ fsVolSize: Yup.number()
107
+ .min(MIN_FS_VOL_SIZE, t('ai:Minimal value is 1Gi'))
108
+ .required(t('ai:Required field')),
109
+ imgVolSize: Yup.number()
110
+ .min(MIN_IMG_VOL_SIZE, t('ai:Minimal value is 10Gi'))
111
+ .required(t('ai:Required field')),
106
112
  configureLoadBalancer: Yup.boolean(),
107
- ciscoIntersightURL: Yup.string().when('addCiscoIntersightUrl', {
113
+ addCiscoIntersightURL: Yup.boolean(),
114
+ ciscoIntersightURL: Yup.string().when('addCiscoIntersightURL', {
108
115
  is: true,
109
116
  then: (schema) =>
110
117
  schema
@@ -13,11 +13,13 @@ import {
13
13
  AgentServiceConfigK8sResource,
14
14
  AgentServiceConfigModel,
15
15
  IngressControllerModel,
16
+ K8sPatch,
16
17
  ProvisioningModel,
17
18
  RouteK8sResource,
18
19
  RouteModel,
19
20
  } from '../../../types';
20
21
  import { LOCAL_STORAGE_ID_LAST_UPDATE_TIMESTAMP } from './utils';
22
+ import { appendPatch } from '../../../utils';
21
23
 
22
24
  export type SetErrorFuncType = ({
23
25
  title,
@@ -352,6 +354,15 @@ export const onEnableCIM = async ({
352
354
  ) {
353
355
  return false;
354
356
  }
357
+ } else {
358
+ const patches = [] as K8sPatch;
359
+ appendPatch(
360
+ patches,
361
+ '/metadata/annotations/ciscoIntersightURL',
362
+ ciscoIntersightURL,
363
+ agentServiceConfig.metadata?.annotations?.['ciscoIntersightURL'],
364
+ );
365
+ await k8sPatch({ model: AgentServiceConfigModel, resource: agentServiceConfig, data: patches });
355
366
  }
356
367
 
357
368
  // see isCIMConfigProgressing()
@@ -5,7 +5,7 @@ export type CimConfigurationValues = {
5
5
  fsVolSize: number;
6
6
  imgVolSize: number;
7
7
  configureLoadBalancer: boolean;
8
- addCiscoIntersightUrl: boolean;
8
+ addCiscoIntersightURL: boolean;
9
9
  ciscoIntersightURL: string;
10
10
  };
11
11
 
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import * as Yup from 'yup';
3
+ import { TFunction } from 'i18next';
3
4
  import {
4
5
  Alert,
5
6
  Button,
@@ -25,20 +26,22 @@ import {
25
26
  import { getErrorMessage } from '../../../common/utils';
26
27
  import { getWarningMessage } from './utils';
27
28
 
28
- const validationSchema = () =>
29
+ const validationSchema = (t: TFunction) =>
29
30
  Yup.lazy((values: ProxyFieldsType) =>
30
31
  Yup.object<ProxyFieldsType>().shape({
31
32
  httpProxy: httpProxyValidationSchema({
32
33
  values,
33
34
  pairValueName: 'httpsProxy',
34
35
  allowEmpty: true,
36
+ t,
35
37
  }),
36
38
  httpsProxy: httpProxyValidationSchema({
37
39
  values,
38
40
  pairValueName: 'httpProxy',
39
41
  allowEmpty: true,
42
+ t,
40
43
  }),
41
- noProxy: noProxyValidationSchema,
44
+ noProxy: noProxyValidationSchema(t),
42
45
  }),
43
46
  );
44
47
 
@@ -91,7 +94,7 @@ const EditProxyModal: React.FC<EditProxyModalProps> = ({
91
94
  noProxy: infraEnv.spec?.proxy?.noProxy,
92
95
  enableProxy,
93
96
  }}
94
- validationSchema={validationSchema}
97
+ validationSchema={validationSchema(t)}
95
98
  onSubmit={async (values: ProxyFieldsType) => {
96
99
  setError(undefined);
97
100
  try {
@@ -23,7 +23,7 @@ import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
23
23
 
24
24
  const validationSchema = (t: TFunction) =>
25
25
  Yup.object({
26
- pullSecret: pullSecretValidationSchema.required(t('ai:Pull secret is a required field.')),
26
+ pullSecret: pullSecretValidationSchema(t).required(t('ai:Pull secret is a required field.')),
27
27
  });
28
28
 
29
29
  type EditPullSecretFormProps = {
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import * as Yup from 'yup';
3
+ import { TFunction } from 'i18next';
3
4
  import {
4
5
  Alert,
5
6
  Button,
@@ -20,11 +21,12 @@ import { EditSSHKeyFormikValues } from './types';
20
21
  import { getWarningMessage } from './utils';
21
22
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
22
23
 
23
- const validationSchema = Yup.object({
24
- sshPublicKey: sshPublicKeyValidationSchema.required(
25
- 'An SSH key is required to debug hosts as they register.',
26
- ),
27
- });
24
+ const validationSchema = (t: TFunction) =>
25
+ Yup.object({
26
+ sshPublicKey: sshPublicKeyValidationSchema(t).required(
27
+ t('ai:An SSH key is required to debug hosts as they register.'),
28
+ ),
29
+ });
28
30
 
29
31
  export type EditSSHKeyModalProps = {
30
32
  isOpen: boolean;
@@ -61,7 +63,7 @@ const EditSSHKeyModal: React.FC<EditSSHKeyModalProps> = ({
61
63
  initialValues={{
62
64
  sshPublicKey: infraEnv.spec?.sshAuthorizedKey || '',
63
65
  }}
64
- validationSchema={validationSchema}
66
+ validationSchema={validationSchema(t)}
65
67
  onSubmit={async (values) => {
66
68
  try {
67
69
  await onSubmit(values, infraEnv);
@@ -1,8 +1,10 @@
1
1
  import * as React from 'react';
2
- import { Button, Flex, FlexItem, Popover } from '@patternfly/react-core';
2
+ import { TFunction } from 'i18next';
3
+ import { Button, Flex, FlexItem, Icon, Popover } from '@patternfly/react-core';
3
4
  import { InfoCircleIcon } from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
4
5
  import { Link } from 'react-router-dom-v5-compat';
5
- import { t_global_icon_color_status_info_default as blueInfoColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_info_default';
6
+
7
+ import { Host } from '@openshift-assisted/types/assisted-installer-service';
6
8
  import {
7
9
  getHostname,
8
10
  getInventory,
@@ -23,8 +25,6 @@ import BMHStatus from '../Agent/BMHStatus';
23
25
  import { getBMHStatus, getAgentStatus } from '../helpers';
24
26
  import { usePagination } from '../../../common/components/hosts/usePagination';
25
27
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
26
- import { TFunction } from 'i18next';
27
- import { Host } from '@openshift-assisted/types/assisted-installer-service';
28
28
  import { agentStatus, bmhStatus } from '../helpers/agentStatus';
29
29
 
30
30
  const hostnameColumn = (agents: AgentK8sResource[], t: TFunction): TableRow<Host> => {
@@ -99,7 +99,14 @@ const statusColumn = (
99
99
  </Link>
100
100
  }
101
101
  >
102
- <Button variant="link" icon={<InfoCircleIcon color={blueInfoColor.value} />}>
102
+ <Button
103
+ variant="link"
104
+ icon={
105
+ <Icon status="info">
106
+ <InfoCircleIcon />
107
+ </Icon>
108
+ }
109
+ >
103
110
  {t('ai:Cannot be deleted')}
104
111
  </Button>
105
112
  </Popover>
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import * as Yup from 'yup';
3
+ import { TFunction } from 'i18next';
3
4
  import {
4
5
  Button,
5
6
  Form,
@@ -17,12 +18,12 @@ import {
17
18
  ImageType,
18
19
  Proxy,
19
20
  } from '@openshift-assisted/types/assisted-installer-service';
21
+ import { AlertFormikError } from '../../../common/components/ui';
20
22
  import {
21
- AlertFormikError,
22
23
  httpProxyValidationSchema,
23
24
  noProxyValidationSchema,
24
25
  sshPublicKeyValidationSchema,
25
- } from '../../../common/components/ui';
26
+ } from '../../validationSchemas';
26
27
  import { ProxyFieldsType, StatusErrorType } from '../../types';
27
28
  import ProxyFields from './ProxyFields';
28
29
  import UploadSSH from './UploadSSH';
@@ -55,13 +56,13 @@ export const StaticIPInfo = ({ docVersion }: { docVersion?: string }) => {
55
56
 
56
57
  export type DiscoveryImageFormValues = ImageCreateParams & ProxyFieldsType;
57
58
 
58
- const getValidationSchema = (allowEmpty: boolean) =>
59
+ const getValidationSchema = (allowEmpty: boolean, t: TFunction) =>
59
60
  Yup.lazy((values: DiscoveryImageFormValues) =>
60
61
  Yup.object<DiscoveryImageFormValues>().shape({
61
- sshPublicKey: sshPublicKeyValidationSchema,
62
- httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy', allowEmpty }),
63
- httpsProxy: httpProxyValidationSchema({ values, pairValueName: 'httpProxy', allowEmpty }), // share the schema, httpS is currently not supported
64
- noProxy: noProxyValidationSchema,
62
+ sshPublicKey: sshPublicKeyValidationSchema(t),
63
+ httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy', allowEmpty, t }),
64
+ httpsProxy: httpProxyValidationSchema({ values, pairValueName: 'httpProxy', allowEmpty, t }), // share the schema, httpS is currently not supported
65
+ noProxy: noProxyValidationSchema(t),
65
66
  }),
66
67
  );
67
68
 
@@ -108,7 +109,7 @@ export const DiscoveryImageConfigForm: React.FC<DiscoveryImageConfigFormProps> =
108
109
  <Formik
109
110
  initialValues={initialValues}
110
111
  initialStatus={{ error: null }}
111
- validationSchema={getValidationSchema(!!allowEmpty)}
112
+ validationSchema={getValidationSchema(!!allowEmpty, t)}
112
113
  onSubmit={handleSubmit}
113
114
  >
114
115
  {({ submitForm, isSubmitting, status }) => {
@@ -14,9 +14,10 @@ import {
14
14
  ModalHeader,
15
15
  ModalFooter,
16
16
  ModalBody,
17
+ Icon,
17
18
  } from '@patternfly/react-core';
18
19
  import { InfoCircleIcon } from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
19
- import { PrismCode, UiIcon } from '../ui';
20
+ import { PrismCode } from '../ui';
20
21
  import { useTranslation } from '../../hooks/use-translation-wrapper';
21
22
  import { Trans } from 'react-i18next';
22
23
  import { saveAs } from 'file-saver';
@@ -207,7 +208,9 @@ export const HostsNotShowingLink = ({
207
208
  <Button variant={ButtonVariant.link} onClick={() => setDiscoveryHintModalOpen(true)} isInline>
208
209
  {!isInline && (
209
210
  <>
210
- <UiIcon size="sm" icon={<InfoCircleIcon />} />
211
+ <Icon size="sm">
212
+ <InfoCircleIcon />
213
+ </Icon>
211
214
  &nbsp;
212
215
  </>
213
216
  )}