@openshift-assisted/ui-lib 2.14.0-cim → 2.14.2-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 (199) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts +2 -3
  2. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts +3 -0
  4. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts.map +1 -1
  5. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  6. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.d.ts.map +1 -1
  7. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
  8. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts.map +1 -1
  9. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts +1 -1
  10. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts.map +1 -1
  11. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts +15 -2
  12. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts.map +1 -1
  13. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.d.ts +1 -2
  14. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.d.ts.map +1 -1
  15. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts +1 -2
  16. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -1
  17. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.d.ts +8 -7
  18. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.d.ts.map +1 -1
  19. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
  20. package/build/@types/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.d.ts +17 -0
  21. package/build/@types/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.d.ts.map +1 -0
  22. package/build/@types/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.d.ts +8 -0
  23. package/build/@types/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.d.ts.map +1 -0
  24. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts +16 -0
  25. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts.map +1 -0
  26. package/build/@types/cim/components/ClusterDeployment/constants.d.ts +2 -0
  27. package/build/@types/cim/components/ClusterDeployment/constants.d.ts.map +1 -1
  28. package/build/@types/cim/components/ClusterDeployment/index.d.ts +1 -2
  29. package/build/@types/cim/components/ClusterDeployment/index.d.ts.map +1 -1
  30. package/build/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts +1 -11
  31. package/build/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts.map +1 -1
  32. package/build/@types/cim/components/ClusterDeployment/types.d.ts +7 -9
  33. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  34. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts +8 -2
  35. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts.map +1 -1
  36. package/build/@types/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.d.ts.map +1 -1
  37. package/build/@types/cim/components/Hypershift/types.d.ts +6 -3
  38. package/build/@types/cim/components/Hypershift/types.d.ts.map +1 -1
  39. package/build/@types/cim/components/InfraEnv/InfraEnvAgentTable.d.ts.map +1 -1
  40. package/build/@types/cim/components/common/constants.d.ts.map +1 -1
  41. package/build/@types/cim/components/helpers/agents.d.ts +3 -0
  42. package/build/@types/cim/components/helpers/agents.d.ts.map +1 -1
  43. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  44. package/build/@types/cim/components/modals/AddHostModal.d.ts.map +1 -1
  45. package/build/@types/cim/components/modals/EditAgentModal.d.ts.map +1 -1
  46. package/build/@types/cim/components/modals/ScaleUpModal.d.ts +3 -0
  47. package/build/@types/cim/components/modals/ScaleUpModal.d.ts.map +1 -1
  48. package/build/@types/cim/types/k8s/infra-env-k8s-resource.d.ts +1 -0
  49. package/build/@types/cim/types/k8s/infra-env-k8s-resource.d.ts.map +1 -1
  50. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts +7 -0
  51. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -0
  52. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  53. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  54. package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts.map +1 -1
  55. package/build/@types/common/components/clusterWizard/types.d.ts +1 -0
  56. package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
  57. package/build/@types/common/components/hosts/EditHostForm.d.ts.map +1 -1
  58. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
  59. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +1 -0
  60. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -1
  61. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js +9 -7
  62. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js.map +1 -1
  63. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js +26 -1
  64. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js.map +1 -1
  65. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +13 -29
  66. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
  67. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.js +2 -12
  68. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.js.map +1 -1
  69. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js +50 -26
  70. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js.map +1 -1
  71. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js +3 -3
  72. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js.map +1 -1
  73. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js +39 -21
  74. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js.map +1 -1
  75. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js +58 -27
  76. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js.map +1 -1
  77. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.js +24 -24
  78. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.js.map +1 -1
  79. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +26 -42
  80. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -1
  81. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.js +12 -8
  82. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.js.map +1 -1
  83. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +4 -5
  84. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
  85. package/build/cjs/cim/components/ClusterDeployment/NetworkConfiguration.js +5 -5
  86. package/build/cjs/cim/components/ClusterDeployment/NetworkConfiguration.js.map +1 -1
  87. package/build/cjs/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.js +50 -0
  88. package/build/cjs/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.js.map +1 -0
  89. package/build/cjs/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.js +24 -0
  90. package/build/cjs/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.js.map +1 -0
  91. package/build/cjs/cim/components/ClusterDeployment/components/ValidationSection.js +17 -0
  92. package/build/cjs/cim/components/ClusterDeployment/components/ValidationSection.js.map +1 -0
  93. package/build/cjs/cim/components/ClusterDeployment/constants.js +2 -0
  94. package/build/cjs/cim/components/ClusterDeployment/constants.js.map +1 -1
  95. package/build/cjs/cim/components/ClusterDeployment/index.js +2 -5
  96. package/build/cjs/cim/components/ClusterDeployment/index.js.map +1 -1
  97. package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js +1 -14
  98. package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js.map +1 -1
  99. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js +2 -2
  100. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -1
  101. package/build/cjs/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.js +6 -4
  102. package/build/cjs/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.js.map +1 -1
  103. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +2 -12
  104. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
  105. package/build/cjs/cim/components/InfraEnv/OpenshiftVersionDropdown.js +1 -1
  106. package/build/cjs/cim/components/InfraEnv/OpenshiftVersionDropdown.js.map +1 -1
  107. package/build/cjs/cim/components/common/constants.js +1 -1
  108. package/build/cjs/cim/components/common/constants.js.map +1 -1
  109. package/build/cjs/cim/components/helpers/agents.js +19 -1
  110. package/build/cjs/cim/components/helpers/agents.js.map +1 -1
  111. package/build/cjs/cim/components/helpers/toAssisted.js +25 -22
  112. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  113. package/build/cjs/cim/components/modals/AddHostModal.js +4 -5
  114. package/build/cjs/cim/components/modals/AddHostModal.js.map +1 -1
  115. package/build/cjs/cim/components/modals/EditAgentModal.js +2 -2
  116. package/build/cjs/cim/components/modals/EditAgentModal.js.map +1 -1
  117. package/build/cjs/cim/components/modals/ScaleUpModal.js +3 -2
  118. package/build/cjs/cim/components/modals/ScaleUpModal.js.map +1 -1
  119. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +41 -0
  120. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -0
  121. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +4 -5
  122. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  123. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.js +5 -5
  124. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.js.map +1 -1
  125. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +1 -0
  126. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  127. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js +14 -18
  128. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js.map +1 -1
  129. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js +4 -4
  130. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js.map +1 -1
  131. package/build/cjs/common/components/hosts/EditHostForm.js +3 -3
  132. package/build/cjs/common/components/hosts/EditHostForm.js.map +1 -1
  133. package/build/cjs/common/components/ui/formik/validationSchemas.js +18 -15
  134. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
  135. package/build/cjs/common/config/constants.js +1 -1
  136. package/build/cjs/common/config/constants.js.map +1 -1
  137. package/lib/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.tsx +11 -9
  138. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx +63 -3
  139. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +25 -53
  140. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.tsx +7 -16
  141. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.tsx +102 -59
  142. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.tsx +16 -10
  143. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.tsx +84 -48
  144. package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.tsx +106 -54
  145. package/lib/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.tsx +96 -85
  146. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +109 -119
  147. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.tsx +27 -14
  148. package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +4 -6
  149. package/lib/cim/components/ClusterDeployment/NetworkConfiguration.tsx +5 -5
  150. package/lib/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.tsx +107 -0
  151. package/lib/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.tsx +49 -0
  152. package/lib/cim/components/ClusterDeployment/components/ValidationSection.tsx +41 -0
  153. package/lib/cim/components/ClusterDeployment/constants.ts +3 -1
  154. package/lib/cim/components/ClusterDeployment/index.ts +1 -3
  155. package/lib/cim/components/ClusterDeployment/networkConfigurationValidation.ts +1 -26
  156. package/lib/cim/components/ClusterDeployment/types.ts +7 -10
  157. package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +3 -3
  158. package/lib/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.tsx +4 -2
  159. package/lib/cim/components/Hypershift/types.ts +6 -3
  160. package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +7 -16
  161. package/lib/cim/components/InfraEnv/OpenshiftVersionDropdown.tsx +1 -1
  162. package/lib/cim/components/common/constants.ts +1 -2
  163. package/lib/cim/components/helpers/agents.ts +30 -1
  164. package/lib/cim/components/helpers/toAssisted.ts +13 -8
  165. package/lib/cim/components/modals/AddHostModal.tsx +4 -5
  166. package/lib/cim/components/modals/EditAgentModal.tsx +2 -1
  167. package/lib/cim/components/modals/ScaleUpModal.tsx +12 -2
  168. package/lib/cim/types/k8s/infra-env-k8s-resource.ts +1 -0
  169. package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +93 -0
  170. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +10 -12
  171. package/lib/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.tsx +9 -9
  172. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +1 -0
  173. package/lib/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.tsx +50 -61
  174. package/lib/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.tsx +4 -4
  175. package/lib/common/components/clusterWizard/types.ts +1 -0
  176. package/lib/common/components/hosts/EditHostForm.tsx +16 -6
  177. package/lib/common/components/ui/formik/validationSchemas.ts +13 -10
  178. package/lib/common/config/constants.ts +1 -1
  179. package/package.json +4 -3
  180. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.d.ts +0 -10
  181. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.d.ts.map +0 -1
  182. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.d.ts +0 -13
  183. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.d.ts.map +0 -1
  184. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.d.ts +0 -4
  185. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.d.ts.map +0 -1
  186. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.d.ts +0 -7
  187. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.d.ts.map +0 -1
  188. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.js +0 -31
  189. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.js.map +0 -1
  190. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.js +0 -50
  191. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.js.map +0 -1
  192. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.js +0 -35
  193. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.js.map +0 -1
  194. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.js +0 -9
  195. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.js.map +0 -1
  196. package/lib/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.tsx +0 -79
  197. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.tsx +0 -128
  198. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.tsx +0 -81
  199. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.tsx +0 -13
@@ -1,18 +1,20 @@
1
1
  import * as React from 'react';
2
- import classNames from 'classnames';
3
- import { Grid, GridItem } from '@patternfly/react-core';
2
+ import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
3
+ import { Grid, GridItem, Wizard, WizardStep } from '@patternfly/react-core';
4
4
  import { AlertsContextProvider, LoadingState } from '../../../common';
5
- import ClusterDeploymentWizardContext from './ClusterDeploymentWizardContext';
6
5
  import ClusterDeploymentDetailsStep from './ClusterDeploymentDetailsStep';
7
6
  import ClusterDeploymentNetworkingStep from './ClusterDeploymentNetworkingStep';
8
7
  import ClusterDeploymentHostSelectionStep from './ClusterDeploymentHostSelectionStep';
9
- import { ClusterDeploymentWizardProps, ClusterDeploymentWizardStepsType } from './types';
8
+ import { ClusterDeploymentWizardProps } from './types';
10
9
  import ClusterDeploymentHostsDiscoveryStep from './ClusterDeploymentHostsDiscoveryStep';
11
10
  import { ACMFeatureSupportLevelProvider } from '../featureSupportLevels';
12
11
  import ClusterDeploymentReviewStep from './ClusterDeploymentReviewStep';
13
12
  import { YamlPreview, useYamlPreview } from '../YamlPreview';
13
+ import { wizardStepNames } from './constants';
14
+ import { ClusterDeploymentWizardContextProvider } from './ClusterDeploymentWizardContext';
15
+ import { isCIMFlow } from './helpers';
14
16
 
15
- const ClusterDeploymentWizard: React.FC<ClusterDeploymentWizardProps> = ({
17
+ export const ClusterDeploymentWizard = ({
16
18
  className,
17
19
  onSaveDetails,
18
20
  onSaveNetworking,
@@ -25,6 +27,7 @@ const ClusterDeploymentWizard: React.FC<ClusterDeploymentWizardProps> = ({
25
27
  clusterDeployment,
26
28
  agentClusterInstall,
27
29
  agents,
30
+ bareMetalHosts,
28
31
  clusterImages,
29
32
  aiConfigMap,
30
33
  infraEnv,
@@ -37,13 +40,10 @@ const ClusterDeploymentWizard: React.FC<ClusterDeploymentWizardProps> = ({
37
40
  onSaveISOParams,
38
41
  onCreateBMH,
39
42
  isNutanix,
43
+ onChangeBMHHostname,
40
44
  ...rest
41
- }) => {
42
- const [currentStepId, setCurrentStepId] = React.useState<ClusterDeploymentWizardStepsType>(
43
- initialStep || 'cluster-details',
44
- );
45
-
46
- const isAIFlow = infraEnv;
45
+ }: ClusterDeploymentWizardProps) => {
46
+ const { t } = useTranslation();
47
47
 
48
48
  const { code, loadingResources } = useYamlPreview({
49
49
  agentClusterInstall,
@@ -53,118 +53,110 @@ const ClusterDeploymentWizard: React.FC<ClusterDeploymentWizardProps> = ({
53
53
  fetchKlusterletAddonConfig,
54
54
  });
55
55
 
56
- const renderCurrentStep = () => {
57
- const stepId: ClusterDeploymentWizardStepsType = !clusterDeployment
58
- ? 'cluster-details'
59
- : currentStepId;
60
-
61
- switch (stepId) {
62
- case 'hosts-selection':
63
- if (agentClusterInstall?.metadata?.name) {
64
- return (
65
- <ClusterDeploymentHostSelectionStep
66
- clusterDeployment={clusterDeployment}
67
- agentClusterInstall={agentClusterInstall}
68
- onClose={onClose}
69
- onSaveHostsSelection={onSaveHostsSelection}
70
- agents={agents}
71
- aiConfigMap={aiConfigMap}
72
- onEditRole={hostActions.onEditRole}
73
- onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
74
- isNutanix={isNutanix}
75
- />
76
- );
77
- }
78
- return <LoadingState />;
79
- case 'hosts-discovery':
80
- if (isAIFlow) {
81
- return onSaveISOParams && onCreateBMH ? (
82
- <ClusterDeploymentHostsDiscoveryStep
83
- clusterDeployment={clusterDeployment}
84
- agentClusterInstall={agentClusterInstall}
85
- agents={agents}
86
- bareMetalHosts={[] /* TODO(mlibra) */}
87
- aiConfigMap={aiConfigMap}
88
- infraEnv={infraEnv}
89
- fetchSecret={fetchSecret}
90
- onClose={onClose}
91
- onChangeBMHHostname={(bmh, _hostname) => {
92
- // console.log('onChangeBMHHostname is not implemented: ', hostname);
93
- return Promise.resolve(bmh);
94
- }}
95
- onEditRole={hostActions.onEditRole}
96
- onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
97
- onDeleteHost={hostActions.onDeleteHost}
98
- onSaveISOParams={onSaveISOParams}
99
- onCreateBMH={onCreateBMH}
100
- {...rest}
101
- />
102
- ) : (
103
- <LoadingState />
104
- );
105
- }
106
- return <LoadingState />;
107
- case 'networking':
108
- return (
109
- <ClusterDeploymentNetworkingStep
110
- clusterDeployment={clusterDeployment}
111
- agentClusterInstall={agentClusterInstall}
112
- agents={agents}
113
- onSaveNetworking={onSaveNetworking}
114
- onClose={onClose}
115
- onEditHost={hostActions.onEditHost}
116
- onEditRole={hostActions.onEditRole}
117
- fetchInfraEnv={fetchInfraEnv}
118
- isPreviewOpen={isPreviewOpen}
119
- onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
120
- isNutanix={isNutanix}
121
- />
122
- );
123
- case 'review':
124
- return (
125
- <ClusterDeploymentReviewStep
126
- onFinish={onFinish}
127
- clusterDeployment={clusterDeployment}
128
- agentClusterInstall={agentClusterInstall}
129
- agents={agents}
130
- onClose={onClose}
131
- clusterImages={clusterImages}
132
- infraEnv={infraEnv}
133
- />
134
- );
135
- case 'cluster-details':
136
- default:
137
- return (
138
- <ClusterDeploymentDetailsStep
139
- clusterImages={clusterImages}
140
- usedClusterNames={usedClusterNames}
141
- clusterDeployment={clusterDeployment}
142
- agentClusterInstall={agentClusterInstall}
143
- agents={agents}
144
- onSaveDetails={onSaveDetails}
145
- onClose={onClose}
146
- isPreviewOpen={isPreviewOpen}
147
- infraEnv={infraEnv}
148
- isNutanix={isNutanix}
149
- />
150
- );
151
- }
152
- };
56
+ // if initialStep is set, it is either 'host-selection' or 'host-discovery', both at index 4
57
+ // if initialStep is not set, start at 'cluster-details' which is at index 2
58
+ const startIndex = initialStep ? 4 : 2;
59
+ const stepNames = wizardStepNames(t);
60
+ const isAIFlow = !!infraEnv;
153
61
 
154
62
  return (
155
63
  <Grid style={{ height: '100%' }}>
156
64
  <GridItem span={isPreviewOpen ? 7 : 12}>
157
65
  <AlertsContextProvider>
158
66
  <ACMFeatureSupportLevelProvider clusterImages={clusterImages} isEditClusterFlow={true}>
159
- <ClusterDeploymentWizardContext.Provider
160
- value={{
161
- currentStepId,
162
- setCurrentStepId,
163
- clusterDeployment /* Hotfix: agentClusterInstall, agents */,
164
- }}
165
- >
166
- <div className={classNames('pf-v5-c-wizard', className)}>{renderCurrentStep()}</div>
167
- </ClusterDeploymentWizardContext.Provider>
67
+ <ClusterDeploymentWizardContextProvider agentClusterInstall={agentClusterInstall}>
68
+ <Wizard
69
+ isVisitRequired
70
+ startIndex={startIndex}
71
+ className={className}
72
+ onClose={onClose}
73
+ >
74
+ <WizardStep
75
+ name={stepNames['installation-type']}
76
+ id={'installation-type'}
77
+ isDisabled
78
+ />
79
+ <WizardStep name={stepNames['cluster-details']} id={'cluster-details'}>
80
+ <ClusterDeploymentDetailsStep
81
+ clusterImages={clusterImages}
82
+ usedClusterNames={usedClusterNames}
83
+ clusterDeployment={clusterDeployment}
84
+ agentClusterInstall={agentClusterInstall}
85
+ agents={agents}
86
+ onSaveDetails={onSaveDetails}
87
+ isPreviewOpen={isPreviewOpen}
88
+ infraEnv={infraEnv}
89
+ isNutanix={isNutanix}
90
+ />
91
+ </WizardStep>
92
+ <WizardStep name={stepNames['automation']} id={'automation'} isDisabled />
93
+ {isCIMFlow(clusterDeployment) ? (
94
+ <WizardStep name={stepNames['hosts-selection']} id={'host-selection'}>
95
+ {agentClusterInstall?.metadata?.name ? (
96
+ <ClusterDeploymentHostSelectionStep
97
+ clusterDeployment={clusterDeployment}
98
+ agentClusterInstall={agentClusterInstall}
99
+ onSaveHostsSelection={onSaveHostsSelection}
100
+ agents={agents}
101
+ aiConfigMap={aiConfigMap}
102
+ onEditRole={hostActions.onEditRole}
103
+ onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
104
+ isNutanix={isNutanix}
105
+ />
106
+ ) : (
107
+ <LoadingState />
108
+ )}
109
+ </WizardStep>
110
+ ) : (
111
+ <WizardStep name={stepNames['hosts-discovery']} id={'host-discovery'}>
112
+ {isAIFlow && onSaveISOParams && onCreateBMH ? (
113
+ <ClusterDeploymentHostsDiscoveryStep
114
+ clusterDeployment={clusterDeployment}
115
+ agentClusterInstall={agentClusterInstall}
116
+ agents={agents}
117
+ bareMetalHosts={bareMetalHosts}
118
+ aiConfigMap={aiConfigMap}
119
+ infraEnv={infraEnv}
120
+ fetchSecret={fetchSecret}
121
+ onChangeBMHHostname={onChangeBMHHostname}
122
+ onEditRole={hostActions.onEditRole}
123
+ onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
124
+ onDeleteHost={hostActions.onDeleteHost}
125
+ onSaveISOParams={onSaveISOParams}
126
+ onCreateBMH={onCreateBMH}
127
+ {...rest}
128
+ />
129
+ ) : (
130
+ <LoadingState />
131
+ )}
132
+ </WizardStep>
133
+ )}
134
+ <WizardStep name={stepNames['networking']} id={'networking'}>
135
+ <ClusterDeploymentNetworkingStep
136
+ clusterDeployment={clusterDeployment}
137
+ agentClusterInstall={agentClusterInstall}
138
+ agents={agents}
139
+ onSaveNetworking={onSaveNetworking}
140
+ onEditHost={hostActions.onEditHost}
141
+ onEditRole={hostActions.onEditRole}
142
+ fetchInfraEnv={fetchInfraEnv}
143
+ isPreviewOpen={isPreviewOpen}
144
+ onSetInstallationDiskId={hostActions.onSetInstallationDiskId}
145
+ isNutanix={isNutanix}
146
+ />
147
+ </WizardStep>
148
+ <WizardStep name={stepNames['review']} id={'review'}>
149
+ <ClusterDeploymentReviewStep
150
+ onFinish={onFinish}
151
+ clusterDeployment={clusterDeployment}
152
+ agentClusterInstall={agentClusterInstall}
153
+ agents={agents}
154
+ clusterImages={clusterImages}
155
+ infraEnv={infraEnv}
156
+ />
157
+ </WizardStep>
158
+ </Wizard>
159
+ </ClusterDeploymentWizardContextProvider>
168
160
  </ACMFeatureSupportLevelProvider>
169
161
  </AlertsContextProvider>
170
162
  </GridItem>
@@ -178,5 +170,3 @@ const ClusterDeploymentWizard: React.FC<ClusterDeploymentWizardProps> = ({
178
170
  </Grid>
179
171
  );
180
172
  };
181
-
182
- export default ClusterDeploymentWizard;
@@ -1,20 +1,33 @@
1
1
  import React from 'react';
2
- import { ClusterDeploymentK8sResource } from '../../types';
3
- import { ClusterDeploymentWizardStepsType } from './types';
2
+ import { AgentClusterInstallK8sResource } from '../../types';
4
3
 
5
4
  type ClusterDeploymentWizardContextType = {
6
- currentStepId: ClusterDeploymentWizardStepsType;
7
- setCurrentStepId: (stepId: ClusterDeploymentWizardStepsType) => void;
8
- clusterDeployment?: ClusterDeploymentK8sResource;
5
+ syncError?: string;
9
6
  };
10
7
 
11
- const ClusterDeploymentWizardContext = React.createContext<ClusterDeploymentWizardContextType>({
12
- currentStepId: 'cluster-details',
13
- setCurrentStepId: () => {
14
- // console.error(
15
- // 'Tried to use ClusterDeploymentWizardContext but there was no provider rendered.',
16
- // );
17
- },
18
- });
8
+ export const ClusterDeploymentWizardContext =
9
+ React.createContext<ClusterDeploymentWizardContextType>({
10
+ syncError: undefined,
11
+ });
19
12
 
20
- export default ClusterDeploymentWizardContext;
13
+ export const ClusterDeploymentWizardContextProvider = ({
14
+ children,
15
+ agentClusterInstall,
16
+ }: {
17
+ children: React.ReactNode;
18
+ agentClusterInstall?: AgentClusterInstallK8sResource;
19
+ }) => {
20
+ const syncError = React.useMemo(
21
+ () =>
22
+ agentClusterInstall?.status?.conditions?.find(
23
+ (c) => c.type === 'SpecSynced' && c.status === 'False',
24
+ )?.message,
25
+ [agentClusterInstall?.status?.conditions],
26
+ );
27
+
28
+ return (
29
+ <ClusterDeploymentWizardContext.Provider value={{ syncError }}>
30
+ {children}
31
+ </ClusterDeploymentWizardContext.Provider>
32
+ );
33
+ };
@@ -14,8 +14,8 @@ import {
14
14
  import { ClusterDetailsValues } from '../../../common/components/clusterWizard/types';
15
15
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
16
16
  import CpuArchitectureDropdown from '../common/CpuArchitectureDropdown';
17
- import { SNOControlGroup } from '../../../common';
18
17
  import { getNetworkType } from '../helpers';
18
+ import ControlPlaneNodesDropdown from '../../../common/components/clusterConfiguration/ControlPlaneNodesDropdown';
19
19
  export type ClusterDetailsFormFieldsProps = {
20
20
  isEditFlow: boolean;
21
21
  forceOpenshiftVersion?: string;
@@ -52,7 +52,7 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
52
52
  cpuArchitectures,
53
53
  }) => {
54
54
  const { values, setFieldValue } = useFormikContext<ClusterDetailsValues>();
55
- const { name, baseDnsDomain, highAvailabilityMode } = values;
55
+ const { name, baseDnsDomain } = values;
56
56
 
57
57
  const nameInputRef = React.useRef<HTMLInputElement>();
58
58
  React.useEffect(() => {
@@ -110,11 +110,9 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
110
110
  }}
111
111
  />
112
112
  )}
113
+ <ControlPlaneNodesDropdown isNutanix={isNutanix} isDisabled={isEditFlow} />
113
114
  {!isNutanix && (
114
- <>
115
- <SNOControlGroup versions={versions} highAvailabilityMode={highAvailabilityMode} />
116
- <CpuArchitectureDropdown isDisabled={isEditFlow} cpuArchitectures={cpuArchitectures} />
117
- </>
115
+ <CpuArchitectureDropdown cpuArchitectures={cpuArchitectures} isDisabled={isEditFlow} />
118
116
  )}
119
117
  {extensionAfter?.['openshiftVersion'] && extensionAfter['openshiftVersion']}
120
118
  {!isEditFlow && <PullSecret />}
@@ -97,12 +97,12 @@ const NetworkConfiguration = ({
97
97
 
98
98
  // We need to reset these fields' values in order to align with the values the server sends
99
99
  setFieldValue('vipDhcpAllocation', false);
100
- setFieldValue('ingressVip', '', shouldValidate);
101
- setFieldValue('apiVip', '', shouldValidate);
100
+ setFieldValue('ingressVips', [], shouldValidate);
101
+ setFieldValue('apiVips', [], shouldValidate);
102
102
  } else {
103
- if (!values.vipDhcpAllocation && touched.hostSubnet) {
104
- validateField('ingressVip');
105
- validateField('apiVip');
103
+ if (!values.vipDhcpAllocation) {
104
+ validateField('ingressVips');
105
+ validateField('apiVips');
106
106
  }
107
107
  }
108
108
  }, [
@@ -0,0 +1,107 @@
1
+ import React from 'react';
2
+ import Measure from 'react-measure';
3
+ import isMatch from 'lodash-es/isMatch.js';
4
+ import { useFormikContext } from 'formik';
5
+ import { Alert, AlertVariant, Grid, GridItem } from '@patternfly/react-core';
6
+
7
+ import { AgentK8sResource } from '../../../types';
8
+ import { AGENT_LOCATION_LABEL_KEY, AGENT_NOLOCATION_VALUE } from '../../common';
9
+ import { ClusterDeploymentHostsSelectionValues, ScaleUpFormValues } from '../types';
10
+ import AgentsSelectionTable from '../../Agent/AgentsSelectionTable';
11
+ import { AgentTableActions } from '../types';
12
+ import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
13
+ import { CpuArchitecture } from '../../../../common';
14
+ import LocationsSelector from '../LocationsSelector';
15
+ import LabelsSelector, { infraEnvLabelKeys } from '../LabelsSelector';
16
+
17
+ type ClusterDeploymentHostsSelectionAdvancedProps = {
18
+ availableAgents: AgentK8sResource[];
19
+ onEditRole?: AgentTableActions['onEditRole'];
20
+ onEditHost?: AgentTableActions['onEditHost'];
21
+ onSetInstallationDiskId?: AgentTableActions['onSetInstallationDiskId'];
22
+ onHostSelect?: VoidFunction;
23
+ cpuArchitecture?: CpuArchitecture;
24
+ };
25
+
26
+ type FormValues = ClusterDeploymentHostsSelectionValues | ScaleUpFormValues;
27
+
28
+ const ClusterDeploymentHostsSelectionAdvanced = <T extends FormValues>({
29
+ availableAgents,
30
+ onEditRole,
31
+ onSetInstallationDiskId,
32
+ onEditHost,
33
+ onHostSelect,
34
+ cpuArchitecture,
35
+ }: ClusterDeploymentHostsSelectionAdvancedProps) => {
36
+ const { t } = useTranslation();
37
+ const { values } = useFormikContext<T>();
38
+ const { locations, agentLabels } = values;
39
+
40
+ const matchingAgents = React.useMemo(
41
+ () =>
42
+ availableAgents.filter((agent) => {
43
+ const labels = agentLabels.reduce((acc, curr) => {
44
+ const label = curr.split('=');
45
+ acc[label[0]] = label[1];
46
+ return acc;
47
+ }, {} as Record<string, string>);
48
+ const matchesLocation = locations.length
49
+ ? locations.includes(
50
+ agent.metadata?.labels?.[AGENT_LOCATION_LABEL_KEY] || AGENT_NOLOCATION_VALUE,
51
+ )
52
+ : true;
53
+ const matchesLabels = agent.metadata?.labels
54
+ ? isMatch(agent.metadata?.labels, labels)
55
+ : true;
56
+ return matchesLocation && matchesLabels;
57
+ }),
58
+ [availableAgents, locations, agentLabels],
59
+ );
60
+
61
+ return (
62
+ <>
63
+ <Grid hasGutter>
64
+ <GridItem>
65
+ <LocationsSelector agents={availableAgents} />
66
+ </GridItem>
67
+ <GridItem>
68
+ <LabelsSelector
69
+ agents={matchingAgents}
70
+ name="agentLabels"
71
+ labelKeysFilter={infraEnvLabelKeys}
72
+ />
73
+ </GridItem>
74
+ {cpuArchitecture && (
75
+ <Alert
76
+ variant={AlertVariant.info}
77
+ title={t(
78
+ 'ai:Displaying only hosts with {{cpuArchitecture}} architecture in the table.',
79
+ {
80
+ cpuArchitecture,
81
+ },
82
+ )}
83
+ isInline
84
+ />
85
+ )}
86
+ <GridItem>
87
+ <Measure bounds>
88
+ {({ measureRef, contentRect }) => (
89
+ <div ref={measureRef}>
90
+ <AgentsSelectionTable
91
+ matchingAgents={matchingAgents}
92
+ onEditRole={onEditRole}
93
+ onSetInstallationDiskId={onSetInstallationDiskId}
94
+ width={contentRect.bounds?.width}
95
+ onEditHost={onEditHost}
96
+ onHostSelect={onHostSelect}
97
+ />
98
+ </div>
99
+ )}
100
+ </Measure>
101
+ </GridItem>
102
+ </Grid>
103
+ </>
104
+ );
105
+ };
106
+
107
+ export default ClusterDeploymentHostsSelectionAdvanced;
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import { Grid, GridItem } from '@patternfly/react-core';
3
+ import { NumberInputField } from '../../../../common';
4
+ import { AgentK8sResource } from '../../../types';
5
+ import AgentsSelectionHostCountAlerts from '../../Agent/AgentsSelectionHostCountAlerts';
6
+ import AgentsSelectionHostCountLabelIcon from '../../Agent/AgentsSelectionHostCountLabelIcon';
7
+ import { useAgentsAutoSelection } from '../../Agent/AgentsSelectionUtils';
8
+ import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
9
+ import LocationsSelector from '../LocationsSelector';
10
+
11
+ type ClusterScaleUpAutoHostsSelectionProps = {
12
+ availableAgents: AgentK8sResource[];
13
+ };
14
+
15
+ const ClusterScaleUpAutoHostsSelection: React.FC<ClusterScaleUpAutoHostsSelectionProps> = ({
16
+ availableAgents,
17
+ }) => {
18
+ const { matchingAgents, selectedAgents, hostCount } = useAgentsAutoSelection(availableAgents);
19
+ const { t } = useTranslation();
20
+
21
+ return (
22
+ <>
23
+ <Grid hasGutter>
24
+ <GridItem span={12} lg={10} xl={9} xl2={7}>
25
+ <NumberInputField
26
+ label={t('ai:Number of hosts')}
27
+ labelIcon={<AgentsSelectionHostCountLabelIcon />}
28
+ idPostfix="hostcount"
29
+ name="hostCount"
30
+ minValue={1}
31
+ maxValue={matchingAgents.length}
32
+ isRequired
33
+ />
34
+ </GridItem>
35
+ <GridItem span={12} lg={10} xl={9} xl2={7}>
36
+ <LocationsSelector agents={availableAgents} />
37
+ </GridItem>
38
+ </Grid>
39
+
40
+ <AgentsSelectionHostCountAlerts
41
+ matchingAgentsCount={matchingAgents.length}
42
+ selectedAgents={selectedAgents}
43
+ targetHostCount={hostCount}
44
+ />
45
+ </>
46
+ );
47
+ };
48
+
49
+ export default ClusterScaleUpAutoHostsSelection;
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { AlertGroup } from '@patternfly/react-core';
3
+ import { Cluster } from '@openshift-assisted/types/./assisted-installer-service';
4
+ import { ValidationsInfo, ClusterWizardStepValidationsAlert } from '../../../../common';
5
+ import { ClusterWizardStepHostStatusDeterminationObject } from '../../../../common/types/hosts';
6
+ import ValidationsRunningAlert from '../../common/ValidationsRunningAlert';
7
+ import { ClusterWizardStepsType, wizardStepsValidationsMap } from '../wizardTransition';
8
+
9
+ type ValidationSectionProps = {
10
+ requireProxy?: boolean;
11
+ currentStepId: ClusterWizardStepsType;
12
+ validationsInfo?: ValidationsInfo;
13
+ clusterStatus?: Cluster['status'];
14
+ hosts: ClusterWizardStepHostStatusDeterminationObject[];
15
+ children: React.ReactNode;
16
+ };
17
+
18
+ export const ValidationSection = ({
19
+ currentStepId,
20
+ clusterStatus,
21
+ validationsInfo,
22
+ hosts,
23
+ children,
24
+ }: ValidationSectionProps) => {
25
+ return (
26
+ <AlertGroup>
27
+ {children}
28
+ {clusterStatus && (
29
+ <ClusterWizardStepValidationsAlert
30
+ currentStepId={currentStepId}
31
+ clusterStatus={clusterStatus}
32
+ hosts={hosts}
33
+ validationsInfo={validationsInfo}
34
+ wizardStepsValidationsMap={wizardStepsValidationsMap}
35
+ >
36
+ <ValidationsRunningAlert />
37
+ </ClusterWizardStepValidationsAlert>
38
+ )}
39
+ </AlertGroup>
40
+ );
41
+ };
@@ -10,8 +10,10 @@ export const clusterHostsSelectionLabel = (t: TFunction): { [key in string]: str
10
10
  export const wizardStepNames = (
11
11
  t: TFunction,
12
12
  ): {
13
- [key in ClusterDeploymentWizardStepsType]: string;
13
+ [key in ClusterDeploymentWizardStepsType | 'installation-type' | 'automation']: string;
14
14
  } => ({
15
+ 'installation-type': t('ai:Installation type'),
16
+ automation: t('ai:Automation'),
15
17
  'cluster-details': t('ai:Cluster details'),
16
18
  'hosts-selection': t('ai:Cluster hosts'),
17
19
  'hosts-discovery': t('ai:Cluster hosts'),
@@ -4,17 +4,15 @@ export * from './AdditionalNTPSourcesDialogToggle';
4
4
  export * from './LogsDownloadButton';
5
5
  export * from './wizardTransition';
6
6
  export * from './networkConfigurationValidation';
7
+ export * from './ClusterDeploymentWizard';
7
8
 
8
9
  export { default as ClusterDeploymentValidationsOverview } from './ClusterDeploymentValidationsOverview';
9
10
  export { default as ClusterDeploymentDetails } from './ClusterDeploymentDetails';
10
11
  export { default as ClusterDeploymentProgress } from './ClusterDeploymentProgress';
11
12
  export { default as ClusterDeploymentCredentials } from './ClusterDeploymentCredentials';
12
13
  export { default as ClusterDeploymentKubeconfigDownload } from './ClusterDeploymentKubeconfigDownload';
13
- export { default as ClusterDeploymentWizard } from './ClusterDeploymentWizard';
14
14
  export { default as ClusterInstallationError } from './ClusterInstallationError';
15
15
  export { default as NetworkConfiguration } from './NetworkConfiguration';
16
-
17
16
  export { default as ACMClusterDeploymentDetailsStep } from './ACMClusterDeploymentDetailsStep';
18
17
 
19
- export { default as ClusterDeploymentCreateProgress } from './ClusterDeploymentCreateProgress';
20
18
  export { getTotalCompute } from './ShortCapacitySummary';
@@ -1,17 +1,8 @@
1
- import * as Yup from 'yup';
2
1
  import {
3
2
  Cluster,
4
3
  ClusterDefaultConfig,
5
4
  } from '@openshift-assisted/types/assisted-installer-service';
6
- import { HostSubnets, NetworkConfigurationValues } from '../../../common/types/clusters';
7
- import {
8
- hostPrefixValidationSchema,
9
- hostSubnetValidationSchema,
10
- ipBlockValidationSchema,
11
- sshPublicKeyValidationSchema,
12
- vipValidationSchema,
13
- } from '../../../common/components/ui';
14
-
5
+ import { NetworkConfigurationValues } from '../../../common/types/clusters';
15
6
  import {
16
7
  getSubnetFromMachineNetworkCidr,
17
8
  getHostSubnets,
@@ -63,19 +54,3 @@ export const getNetworkInitialValues = (
63
54
  networkType: cluster.networkType || NETWORK_TYPE_OVN,
64
55
  };
65
56
  };
66
-
67
- export const getNetworkConfigurationValidationSchema = (
68
- initialValues: NetworkConfigurationValues,
69
- hostSubnets: HostSubnets,
70
- ) =>
71
- Yup.lazy((values: NetworkConfigurationValues) =>
72
- Yup.object<NetworkConfigurationValues>().shape({
73
- clusterNetworkHostPrefix: hostPrefixValidationSchema(values.clusterNetworkCidr),
74
- clusterNetworkCidr: ipBlockValidationSchema(values.serviceNetworkCidr),
75
- serviceNetworkCidr: ipBlockValidationSchema(values.clusterNetworkCidr),
76
- apiVip: vipValidationSchema(hostSubnets, values, initialValues.apiVip),
77
- ingressVip: vipValidationSchema(hostSubnets, values, initialValues.ingressVip),
78
- sshPublicKey: sshPublicKeyValidationSchema,
79
- hostSubnet: hostSubnetValidationSchema,
80
- }),
81
- );