@openshift-assisted/ui-lib 2.15.3-cim → 2.15.5-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.
- package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts +1 -1
- package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts +0 -1
- package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
- package/build/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.d.ts.map +1 -1
- package/build/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.d.ts.map +1 -1
- package/build/@types/cim/components/Hypershift/forms/NodePoolAgentsForm.d.ts.map +1 -1
- package/build/@types/cim/components/helpers/versions.d.ts +1 -1
- package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
- package/build/@types/common/api/assisted-service/BundleAPI.d.ts +2 -2
- package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +25 -25
- package/build/@types/common/api/assisted-service/ComponentVersionsAPI.d.ts +1 -1
- package/build/@types/common/api/assisted-service/EventsAPI.d.ts +1 -1
- package/build/@types/common/api/assisted-service/HostsAPI.d.ts +6 -6
- package/build/@types/common/api/assisted-service/InfraEnvsAPI.d.ts +7 -7
- package/build/@types/common/api/assisted-service/ManagedDomainsAPI.d.ts +1 -1
- package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts +2 -2
- package/build/@types/common/api/assisted-service/OperatorsAPI.d.ts +1 -1
- package/build/@types/common/api/assisted-service/SupportedOpenshiftVersionsAPI.d.ts +1 -1
- package/build/@types/common/api/assisted-service/UISettingsAPI.d.ts +2 -2
- package/build/@types/common/components/ui/formik/TextAreaField.d.ts.map +1 -1
- package/build/@types/ocm/services/ClustersService.d.ts +5 -5
- package/build/@types/ocm/services/HostsService.d.ts +11 -11
- package/build/@types/ocm/services/InfraEnvsService.d.ts +2 -2
- package/build/@types/ocm/services/UISettingsService.d.ts +1 -1
- package/build/@types/ocm/store/slices/infra-envs/thunks.d.ts +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js +12 -17
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +7 -5
- package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js +2 -11
- package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.js +0 -28
- package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/forms/NodePoolAgentsForm.js +8 -3
- package/build/cjs/cim/components/Hypershift/forms/NodePoolAgentsForm.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/modals/AddNodePoolModal.js +1 -1
- package/build/cjs/cim/components/Hypershift/modals/AddNodePoolModal.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/modals/ManageHostsModal.js +2 -2
- package/build/cjs/cim/components/Hypershift/modals/ManageHostsModal.js.map +1 -1
- package/build/cjs/cim/components/helpers/versions.js +42 -27
- package/build/cjs/cim/components/helpers/versions.js.map +1 -1
- package/build/cjs/common/components/ui/formik/TextAreaField.js +2 -1
- package/build/cjs/common/components/ui/formik/TextAreaField.js.map +1 -1
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx +9 -19
- package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +5 -5
- package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx +2 -13
- package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.tsx +1 -33
- package/lib/cim/components/Hypershift/forms/NodePoolAgentsForm.tsx +24 -12
- package/lib/cim/components/Hypershift/modals/AddNodePoolModal.tsx +1 -1
- package/lib/cim/components/Hypershift/modals/ManageHostsModal.tsx +2 -2
- package/lib/cim/components/helpers/versions.ts +51 -34
- package/lib/common/components/ui/formik/TextAreaField.tsx +14 -7
- package/package.json +3 -3
|
@@ -10,15 +10,11 @@ const ClusterDeployment_1 = require("../../../ClusterDeployment");
|
|
|
10
10
|
const formik_1 = require("formik");
|
|
11
11
|
const helpers_1 = require("../../../helpers");
|
|
12
12
|
const use_translation_wrapper_1 = require("../../../../../common/hooks/use-translation-wrapper");
|
|
13
|
-
const useFormikHelpers_1 = require("../../../../../common/hooks/useFormikHelpers");
|
|
14
13
|
require("./NodePoolForm.css");
|
|
15
14
|
const NodePoolAgentsForm_1 = tslib_1.__importDefault(require("../../forms/NodePoolAgentsForm"));
|
|
16
15
|
const NodePoolForm = ({ infraEnvs, agents, index, onRemove }) => {
|
|
17
16
|
const { t } = (0, use_translation_wrapper_1.useTranslation)();
|
|
18
17
|
const { values } = (0, formik_1.useFormikContext)();
|
|
19
|
-
const { setValue: setCountValue } = (0, useFormikHelpers_1.useFormikHelpers)(`nodePools[${index}].count`);
|
|
20
|
-
const { setValue: setMinAutoscalingValue } = (0, useFormikHelpers_1.useFormikHelpers)(`nodePools[${index}].autoscaling.minReplicas`);
|
|
21
|
-
const { setValue: setMaxAutoscalingValue } = (0, useFormikHelpers_1.useFormikHelpers)(`nodePools[${index}].autoscaling.maxReplicas`);
|
|
22
18
|
const [isExpanded, setExpanded] = React.useState(true);
|
|
23
19
|
const infraEnvAgents = React.useMemo(() => {
|
|
24
20
|
const infraEnv = infraEnvs.find((ie) => { var _a; return ((_a = ie.metadata) === null || _a === void 0 ? void 0 : _a.namespace) === values.agentNamespace; });
|
|
@@ -43,30 +39,6 @@ const NodePoolForm = ({ infraEnvs, agents, index, onRemove }) => {
|
|
|
43
39
|
: values.nodePools[i].count;
|
|
44
40
|
}
|
|
45
41
|
const maxAgents = Math.max(0, Math.min(matchingAgents.length, availableAgents.length - previousNodePoolsCount));
|
|
46
|
-
const currentCount = values.nodePools[index].useAutoscaling
|
|
47
|
-
? values.nodePools[index].autoscaling.maxReplicas
|
|
48
|
-
: values.nodePools[index].count;
|
|
49
|
-
React.useEffect(() => {
|
|
50
|
-
if (currentCount > maxAgents) {
|
|
51
|
-
if (values.nodePools[index].useAutoscaling) {
|
|
52
|
-
if (maxAgents === 0) {
|
|
53
|
-
void setMinAutoscalingValue(maxAgents);
|
|
54
|
-
}
|
|
55
|
-
void setMaxAutoscalingValue(maxAgents);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
void setCountValue(maxAgents);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}, [
|
|
62
|
-
maxAgents,
|
|
63
|
-
currentCount,
|
|
64
|
-
values.nodePools,
|
|
65
|
-
index,
|
|
66
|
-
setCountValue,
|
|
67
|
-
setMinAutoscalingValue,
|
|
68
|
-
setMaxAutoscalingValue,
|
|
69
|
-
]);
|
|
70
42
|
return (React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
71
43
|
React.createElement(react_core_1.StackItem, null,
|
|
72
44
|
React.createElement(react_core_1.Level, { hasGutter: true },
|
package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodePoolForm.js","sourceRoot":"","sources":["../../../../../../../lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.tsx"],"names":[],"mappings":";;;AAAA,uDAagC;AAChC,qDAA+B;AAC/B,iFAA6E;AAC7E,8EAA2C;AAC3C,kDAAwD;AAExD,kEAA+D;AAE/D,mCAA0C;AAC1C,8CAAyD;AACzD,iGAAqF;
|
|
1
|
+
{"version":3,"file":"NodePoolForm.js","sourceRoot":"","sources":["../../../../../../../lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ const LabelsSelector_1 = require("../../ClusterDeployment/LabelsSelector");
|
|
|
9
9
|
const formik_1 = require("formik");
|
|
10
10
|
const NodePoolAgentsForm = ({ agents, labelName, countName, autoscalingName, maxAgents, useAutoscalingName, isEdit = false, }) => {
|
|
11
11
|
const { t } = (0, use_translation_wrapper_1.useTranslation)();
|
|
12
|
+
const [{ value: count }] = (0, formik_1.useField)(countName);
|
|
12
13
|
const [{ value: minValue }] = (0, formik_1.useField)(`${autoscalingName}.minReplicas`);
|
|
13
14
|
const [{ value: maxValue }] = (0, formik_1.useField)(`${autoscalingName}.maxReplicas`);
|
|
14
15
|
const [{ value: useAutoscalingValue }] = (0, formik_1.useField)(useAutoscalingName);
|
|
@@ -23,10 +24,14 @@ const NodePoolAgentsForm = ({ agents, labelName, countName, autoscalingName, max
|
|
|
23
24
|
React.createElement(common_1.CheckboxField, { name: useAutoscalingName, label: t('ai:Use autoscaling') })),
|
|
24
25
|
useAutoscalingValue ? (React.createElement(React.Fragment, null,
|
|
25
26
|
React.createElement(react_core_1.GridItem, null,
|
|
26
|
-
React.createElement(common_1.NumberInputField, { name: `${autoscalingName}.minReplicas`, label: t('ai:Minimum number of hosts'), isRequired: true, minValue: 1, maxValue: maxValue
|
|
27
|
+
React.createElement(common_1.NumberInputField, { name: `${autoscalingName}.minReplicas`, label: t('ai:Minimum number of hosts'), isRequired: true, minValue: 1, maxValue: maxValue })),
|
|
27
28
|
React.createElement(react_core_1.GridItem, null,
|
|
28
|
-
React.createElement(common_1.NumberInputField, { name: `${autoscalingName}.maxReplicas`, label: t('ai:Maximum number of hosts'), isRequired: true, minValue: minValue || 1,
|
|
29
|
-
React.createElement(
|
|
29
|
+
React.createElement(common_1.NumberInputField, { name: `${autoscalingName}.maxReplicas`, label: t('ai:Maximum number of hosts'), isRequired: true, minValue: minValue || 1, helperText: helperText })))) : (React.createElement(React.Fragment, null,
|
|
30
|
+
React.createElement(react_core_1.GridItem, null,
|
|
31
|
+
React.createElement(common_1.NumberInputField, { label: t('ai:Number of hosts'), idPostfix: "count", name: countName, isRequired: true, minValue: 0, helperText: helperText })))),
|
|
32
|
+
(useAutoscalingValue ? maxValue : count) > maxAgents && (React.createElement(react_core_1.GridItem, null,
|
|
33
|
+
React.createElement(react_core_1.Alert, { isInline: true, variant: react_core_1.AlertVariant.warning, title: t('ai:Host count exceeds the current number of available hosts.') },
|
|
34
|
+
React.createElement(react_core_1.Text, null, t('ai:Scale down the nodepool or make more hosts available.')))))));
|
|
30
35
|
};
|
|
31
36
|
exports.default = NodePoolAgentsForm;
|
|
32
37
|
//# sourceMappingURL=NodePoolAgentsForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodePoolAgentsForm.js","sourceRoot":"","sources":["../../../../../../lib/cim/components/Hypershift/forms/NodePoolAgentsForm.tsx"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"NodePoolAgentsForm.js","sourceRoot":"","sources":["../../../../../../lib/cim/components/Hypershift/forms/NodePoolAgentsForm.tsx"],"names":[],"mappings":";;;AAAA,uDAAmF;AACnF,qDAA+B;AAC/B,+CAAkF;AAClF,8FAAkF;AAElF,2EAA4E;AAC5E,mCAAkC;AAYlC,MAAM,kBAAkB,GAAG,CAAC,EAC1B,MAAM,EACN,SAAS,EACT,SAAS,EACT,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,MAAM,GAAG,KAAK,GACU,EAAE,EAAE;IAC5B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,wCAAc,GAAE,CAAC;IAE/B,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,IAAA,iBAAQ,EAAS,SAAS,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAA,iBAAQ,EAAS,GAAG,eAAe,cAAc,CAAC,CAAC;IACjF,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAA,iBAAQ,EAAS,GAAG,eAAe,cAAc,CAAC,CAAC;IACjF,MAAM,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,GAAG,IAAA,iBAAQ,EAAU,kBAAkB,CAAC,CAAC;IAE/E,MAAM,UAAU,GAAG,CACjB;QACG,CAAC,CAAC,uCAAuC,EAAE,EAAE,SAAS,EAAE,CAAC;QAAE,GAAG;QAC/D,oBAAC,oBAAW,IACV,WAAW,EAAE,CAAC,CACZ,uKAAuK,CACxK,GACD,CACD,CACJ,CAAC;IAEF,OAAO,CACL,oBAAC,iBAAI,IAAC,SAAS;QACZ,CAAC,MAAM,IAAI,CACV,oBAAC,qBAAQ;YACP,oBAAC,mCAAkB,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAI,CAC9C,CACZ;QACD,oBAAC,qBAAQ;YACP,oBAAC,sBAAa,IAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAI,CAClE;QACV,mBAAmB,CAAC,CAAC,CAAC,CACrB;YACE,oBAAC,qBAAQ;gBACP,oBAAC,yBAAgB,IACf,IAAI,EAAE,GAAG,eAAe,cAAc,EACtC,KAAK,EAAE,CAAC,CAAC,4BAA4B,CAAC,EACtC,UAAU,QACV,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,QAAQ,GAClB,CACO;YACX,oBAAC,qBAAQ;gBACP,oBAAC,yBAAgB,IACf,IAAI,EAAE,GAAG,eAAe,cAAc,EACtC,KAAK,EAAE,CAAC,CAAC,4BAA4B,CAAC,EACtC,UAAU,QACV,QAAQ,EAAE,QAAQ,IAAI,CAAC,EACvB,UAAU,EAAE,UAAU,GACtB,CACO,CACV,CACJ,CAAC,CAAC,CAAC,CACF;YACE,oBAAC,qBAAQ;gBACP,oBAAC,yBAAgB,IACf,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAC9B,SAAS,EAAC,OAAO,EACjB,IAAI,EAAE,SAAS,EACf,UAAU,QACV,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,UAAU,GACtB,CACO,CACV,CACJ;QACA,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CACvD,oBAAC,qBAAQ;YACP,oBAAC,kBAAK,IACJ,QAAQ,QACR,OAAO,EAAE,yBAAY,CAAC,OAAO,EAC7B,KAAK,EAAE,CAAC,CAAC,8DAA8D,CAAC;gBAExE,oBAAC,iBAAI,QAAE,CAAC,CAAC,0DAA0D,CAAC,CAAQ,CACtE,CACC,CACZ,CACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
|
|
@@ -17,7 +17,7 @@ const AddNodePoolModal = ({ onSubmit, onClose, agents, hostedCluster, agentsName
|
|
|
17
17
|
var _b, _c;
|
|
18
18
|
setError(undefined);
|
|
19
19
|
const nodePool = {
|
|
20
|
-
apiVersion: 'hypershift.openshift.io/
|
|
20
|
+
apiVersion: 'hypershift.openshift.io/v1beta1',
|
|
21
21
|
kind: 'NodePool',
|
|
22
22
|
metadata: {
|
|
23
23
|
name: values.nodePoolName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNodePoolModal.js","sourceRoot":"","sources":["../../../../../../lib/cim/components/Hypershift/modals/AddNodePoolModal.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,uDAUgC;AAChC,mCAAgC;AAEhC,8FAAkF;AAClF,oDAA2D;AAG3D,oCAAgD;AAChD,0EAA0C;AAW1C,MAAM,gBAAgB,GAAG,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,aAAa,EACb,eAAe,GACO,EAAE,EAAE;;IAC1B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,wCAAc,GAAE,CAAC;IAC/B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,SAAS,MAAK,eAAe,CAAA,EAAA,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,CAAO,MAA0B,EAAE,EAAE;;QACxD,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAwB;YACpC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"AddNodePoolModal.js","sourceRoot":"","sources":["../../../../../../lib/cim/components/Hypershift/modals/AddNodePoolModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ const getPatches = (values, nodePool) => {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
|
-
if (
|
|
36
|
+
if (nodePool.spec.replicas !== undefined) {
|
|
37
37
|
patches.push({
|
|
38
38
|
op: 'replace',
|
|
39
39
|
value: values.count,
|
|
@@ -70,7 +70,7 @@ const ManageHostsModal = ({ onClose, nodePool, hostedCluster, agents, onSubmit,
|
|
|
70
70
|
React.createElement(formik_1.Formik, { initialValues: {
|
|
71
71
|
nodePoolName: ((_a = nodePool.metadata) === null || _a === void 0 ? void 0 : _a.name) || '',
|
|
72
72
|
agentLabels: (0, utils_1.labelsToFormikValue)(((_d = (_c = (_b = nodePool.spec.platform) === null || _b === void 0 ? void 0 : _b.agent) === null || _c === void 0 ? void 0 : _c.agentLabelSelector) === null || _d === void 0 ? void 0 : _d.matchLabels) || {}),
|
|
73
|
-
count: nodePool.spec.replicas ||
|
|
73
|
+
count: nodePool.spec.replicas || 0,
|
|
74
74
|
useAutoscaling: !!nodePool.spec.autoScaling,
|
|
75
75
|
autoscaling: {
|
|
76
76
|
minReplicas: ((_e = nodePool.spec.autoScaling) === null || _e === void 0 ? void 0 : _e.min) || 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageHostsModal.js","sourceRoot":"","sources":["../../../../../../lib/cim/components/Hypershift/modals/ManageHostsModal.tsx"],"names":[],"mappings":";;;AAAA,uDAUgC;AAChC,mCAA8C;AAC9C,qDAA+B;AAQ/B,0EAA0C;AAC1C,oCAA+C;AAC/C,8FAAkF;AAClF,oDAA2D;AAkB3D,MAAM,UAAU,GAAG,CAAC,MAA0B,EAAE,QAA6B,EAAE,EAAE;IAC/E,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,IAAI,MAAM,CAAC,cAAc,EAAE;QACzB,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;YAC/B,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE;oBACL,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBACnC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;iBACpC;gBACD,IAAI,EAAE,mBAAmB;aAC1B,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,IAAI,CACV,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,EACxC;gBACE,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE;oBACL,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBACnC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;iBACpC;gBACD,IAAI,EAAE,mBAAmB;aAC1B,CACF,CAAC;SACH;KACF;SAAM;QACL,IAAI,
|
|
1
|
+
{"version":3,"file":"ManageHostsModal.js","sourceRoot":"","sources":["../../../../../../lib/cim/components/Hypershift/modals/ManageHostsModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -42,35 +42,50 @@ const isValidImageSet = (cis, architectures, extended) => {
|
|
|
42
42
|
return architectures.some((arch) => { var _a, _b, _c; return ((_a = cis.spec) === null || _a === void 0 ? void 0 : _a.releaseImage.endsWith(arch)) || ((_c = (_b = cis.metadata) === null || _b === void 0 ? void 0 : _b.labels) === null || _c === void 0 ? void 0 : _c.architecture) === arch; });
|
|
43
43
|
};
|
|
44
44
|
exports.isValidImageSet = isValidImageSet;
|
|
45
|
+
// Extracts major.minor version, strips any non-numeric prefix (e.g., "img4.18.55" → "4.18")
|
|
46
|
+
const extractMajorMinor = (version) => {
|
|
47
|
+
const versionWithoutPrefix = version.replace(/^[^\d]*/, '');
|
|
48
|
+
return versionWithoutPrefix.split('.').slice(0, 2).join('.');
|
|
49
|
+
};
|
|
50
|
+
// Converts a ClusterImageSet to an OpenshiftVersionOptionType
|
|
51
|
+
const toVersionOption = (clusterImageSet) => {
|
|
52
|
+
var _a, _b, _c, _d;
|
|
53
|
+
const version = (0, exports.getVersionFromReleaseImage)((_a = clusterImageSet.spec) === null || _a === void 0 ? void 0 : _a.releaseImage) ||
|
|
54
|
+
((_b = clusterImageSet.metadata) === null || _b === void 0 ? void 0 : _b.name) ||
|
|
55
|
+
'';
|
|
56
|
+
const cpuArch = getCPUArchFromReleaseImage((_c = clusterImageSet.spec) === null || _c === void 0 ? void 0 : _c.releaseImage);
|
|
57
|
+
return {
|
|
58
|
+
label: `OpenShift ${version}`,
|
|
59
|
+
version,
|
|
60
|
+
value: (_d = clusterImageSet.metadata) === null || _d === void 0 ? void 0 : _d.name,
|
|
61
|
+
default: false,
|
|
62
|
+
// (rawagner) ACM does not have the warning so changing to 'production'
|
|
63
|
+
// supportLevel : getSupportLevelFromChannel(clusterImageSet.metadata?.labels?.channel)
|
|
64
|
+
supportLevel: 'production',
|
|
65
|
+
cpuArchitectures: cpuArch ? [cpuArch] : undefined,
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* In case there are osImages specified on the AgentServiceConfig, we want to limit
|
|
70
|
+
* the availability in the dropdown to only versions that are listed there.
|
|
71
|
+
* Otherwise the installation fails.
|
|
72
|
+
*/
|
|
73
|
+
const hasMatchingOsImage = (version, osImageVersions) => {
|
|
74
|
+
if (!osImageVersions.length)
|
|
75
|
+
return true;
|
|
76
|
+
return osImageVersions.includes(extractMajorMinor(version.version));
|
|
77
|
+
};
|
|
45
78
|
const getOCPVersions = (clusterImageSets, isNutanix, osImages, extended) => {
|
|
46
|
-
const
|
|
79
|
+
const architectures = isNutanix ? exports.supportedNutanixPlatforms : undefined;
|
|
80
|
+
const osImageVersions = [...new Set(osImages === null || osImages === void 0 ? void 0 : osImages.map((img) => img.openshiftVersion))];
|
|
47
81
|
const versions = clusterImageSets
|
|
48
|
-
.filter((clusterImageSet) => (0, exports.isValidImageSet)(clusterImageSet,
|
|
49
|
-
.map(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
version: version || ((_d = clusterImageSet.metadata) === null || _d === void 0 ? void 0 : _d.name) || '',
|
|
56
|
-
value: (_e = clusterImageSet.metadata) === null || _e === void 0 ? void 0 : _e.name,
|
|
57
|
-
default: false,
|
|
58
|
-
// (rawagner) ACM does not have the warning so changing to 'production'
|
|
59
|
-
supportLevel: 'production',
|
|
60
|
-
cpuArchitectures: cpuArch ? [cpuArch] : undefined,
|
|
61
|
-
};
|
|
62
|
-
})
|
|
63
|
-
.filter((ocpVersion) => {
|
|
64
|
-
const ver = ocpVersion.version.split('.').slice(0, 2).join('.');
|
|
65
|
-
return !!ocpImageVersions.length ? ocpImageVersions.includes(ver) : true;
|
|
66
|
-
})
|
|
67
|
-
.sort((versionA, versionB) => /* descending */ -1 * versionA.label.localeCompare(versionB.label));
|
|
68
|
-
if (versions.length) {
|
|
69
|
-
// make sure that the pre-selected one is the first-one after sorting
|
|
70
|
-
versions[0].default = true;
|
|
71
|
-
}
|
|
72
|
-
const deduped = (0, uniqBy_js_1.default)(versions, (v) => v.version);
|
|
73
|
-
return deduped;
|
|
82
|
+
.filter((clusterImageSet) => (0, exports.isValidImageSet)(clusterImageSet, architectures, extended))
|
|
83
|
+
.map(toVersionOption)
|
|
84
|
+
.filter((v) => hasMatchingOsImage(v, osImageVersions))
|
|
85
|
+
.sort((a, b) => b.label.localeCompare(a.label));
|
|
86
|
+
// Mark first version as the default selection
|
|
87
|
+
versions[0] && (versions[0].default = true);
|
|
88
|
+
return (0, uniqBy_js_1.default)(versions, (v) => v.version);
|
|
74
89
|
};
|
|
75
90
|
exports.getOCPVersions = getOCPVersions;
|
|
76
91
|
const getSelectedVersion = (clusterImages, agentClusterInstall) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../lib/cim/components/helpers/versions.ts"],"names":[],"mappings":";;;;AAAA,4EAAyC;AAUzC,iDAA6D;AAEtD,MAAM,0BAA0B,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,EAAE;IAC9D,MAAM,KAAK,GAAG,oCAAoC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACzC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAC;AALW,QAAA,0BAA0B,8BAKrC;AAEF,MAAM,0BAA0B,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,EAAE;IACvD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QACzC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAC;AAEF,2BAA2B;AAC3B,MAAM,0BAA0B,GAAG,CACjC,OAAgB,EAC6B,EAAE;IAC/C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,aAAa,CAAC;KACtB;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC9B,OAAO,MAAM,CAAC,CAAC,iCAAiC;KACjD;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAChC,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEW,QAAA,yBAAyB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEvD,MAAM,eAAe,GAAG,CAC7B,GAA+B,EAC/B,aAAwB,EACxB,QAAkB,EAClB,EAAE;;IACF,IAAI,CAAC,QAAQ,IAAI,CAAA,MAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,MAAM,0CAAE,OAAO,MAAK,MAAM,EAAE;QACzD,OAAO,KAAK,CAAC;KACd;IACD,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,aAAa,CAAC,IAAI,CACvB,CAAC,IAAI,EAAE,EAAE,mBAAC,OAAA,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAA,MAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,MAAM,0CAAE,YAAY,MAAK,IAAI,CAAA,EAAA,CAC/F,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B;
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../lib/cim/components/helpers/versions.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,8 @@ const TextAreaField = (_a) => {
|
|
|
24
24
|
React.createElement(react_core_1.TextArea, Object.assign({}, field, restProps, { id: fieldId, style: { resize: 'vertical' }, validated: isValid ? 'default' : 'error', isRequired: isRequired, "aria-describedby": `${fieldId}-helper`, onChange: (event) => field.onChange(event), disabled: isDisabled })),
|
|
25
25
|
(errorMessage || helperText) && (React.createElement(react_core_1.FormHelperText, null,
|
|
26
26
|
React.createElement(react_core_1.HelperText, null,
|
|
27
|
-
React.createElement(react_core_1.HelperTextItem, { icon:
|
|
27
|
+
errorMessage && (React.createElement(react_core_1.HelperTextItem, { icon: React.createElement(exclamation_circle_icon_1.ExclamationCircleIcon, null), variant: 'error', id: `${fieldId}-helper-error` }, errorMessage)),
|
|
28
|
+
helperText && (React.createElement(react_core_1.HelperTextItem, { variant: 'default', id: `${fieldId}-helper` }, helperText)))))));
|
|
28
29
|
};
|
|
29
30
|
exports.default = TextAreaField;
|
|
30
31
|
//# sourceMappingURL=TextAreaField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextAreaField.js","sourceRoot":"","sources":["../../../../../../lib/common/components/ui/formik/TextAreaField.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,mCAAkC;AAClC,uDAMgC;AAEhC,mCAAqC;AACrC,2GAAsG;AAEtG,MAAM,aAAa,GAAiC,CAAC,EAUpD,EAAE,EAAE;QAVgD,EACnD,KAAK,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,cAAc,OAEf,EADI,KAAK,sBAT2C,6GAUpD,CADS;IAER,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEpC,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE;YACrB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACnD;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,EAAE,UAAU,KAAmB,KAAK,EAAnB,SAAS,kBAAK,KAAK,EAApC,cAA4B,CAAQ,CAAC;IAE3C,OAAO,CACL,oBAAC,sBAAS,IACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,cAAc,EACzB,EAAE,EAAE,iBAAiB,OAAO,EAAE;QAE7B,QAAQ;QACT,oBAAC,qBAAQ,oBACH,KAAK,EACL,SAAS,IACb,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAC7B,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EACxC,UAAU,EAAE,UAAU,sBACJ,GAAG,OAAO,SAAS,EACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC1C,QAAQ,EAAE,UAAU,IACpB;QACD,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,CAC/B,oBAAC,2BAAc;YACb,oBAAC,uBAAU;
|
|
1
|
+
{"version":3,"file":"TextAreaField.js","sourceRoot":"","sources":["../../../../../../lib/common/components/ui/formik/TextAreaField.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,mCAAkC;AAClC,uDAMgC;AAEhC,mCAAqC;AACrC,2GAAsG;AAEtG,MAAM,aAAa,GAAiC,CAAC,EAUpD,EAAE,EAAE;QAVgD,EACnD,KAAK,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,cAAc,OAEf,EADI,KAAK,sBAT2C,6GAUpD,CADS;IAER,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEpC,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE;YACrB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACnD;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,EAAE,UAAU,KAAmB,KAAK,EAAnB,SAAS,kBAAK,KAAK,EAApC,cAA4B,CAAQ,CAAC;IAE3C,OAAO,CACL,oBAAC,sBAAS,IACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,cAAc,EACzB,EAAE,EAAE,iBAAiB,OAAO,EAAE;QAE7B,QAAQ;QACT,oBAAC,qBAAQ,oBACH,KAAK,EACL,SAAS,IACb,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAC7B,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EACxC,UAAU,EAAE,UAAU,sBACJ,GAAG,OAAO,SAAS,EACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC1C,QAAQ,EAAE,UAAU,IACpB;QACD,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,CAC/B,oBAAC,2BAAc;YACb,oBAAC,uBAAU;gBACR,YAAY,IAAI,CACf,oBAAC,2BAAc,IACb,IAAI,EAAE,oBAAC,+CAAqB,OAAG,EAC/B,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,GAAG,OAAO,eAAe,IAE5B,YAAY,CACE,CAClB;gBACA,UAAU,IAAI,CACb,oBAAC,2BAAc,IAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,OAAO,SAAS,IACxD,UAAU,CACI,CAClB,CACU,CACE,CAClB,CACS,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from '@patternfly/react-core';
|
|
11
11
|
import { AgentClusterInstallK8sResource, ClusterDeploymentK8sResource, OsImage } from '../../types';
|
|
12
12
|
import { ClusterImageSetK8sResource } from '../../types/k8s/cluster-image-set';
|
|
13
|
-
import { getOCPVersions
|
|
13
|
+
import { getOCPVersions } from '../helpers';
|
|
14
14
|
import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
|
|
15
15
|
import {
|
|
16
16
|
ClusterDetailsFormFields,
|
|
@@ -38,17 +38,14 @@ export const ClusterDeploymentDetailsFormWrapper = ({
|
|
|
38
38
|
}) => {
|
|
39
39
|
const { activeStep, goToPrevStep, goToNextStep, close } = useWizardContext();
|
|
40
40
|
const { syncError } = React.useContext(ClusterDeploymentWizardContext);
|
|
41
|
-
const {
|
|
42
|
-
useFormikContext<ClusterDetailsValues>();
|
|
41
|
+
const { isSubmitting, isValid, isValidating } = useFormikContext<ClusterDetailsValues>();
|
|
43
42
|
const { t } = useTranslation();
|
|
44
43
|
|
|
44
|
+
// ClusterDeploymentDetailsFormWrapper is exclusively used by ClusterDeploymentWizard (edit flow).
|
|
45
|
+
// No form submission needed here—just navigate to the next step.
|
|
45
46
|
const handleOnNext = React.useCallback(() => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
} else {
|
|
49
|
-
void goToNextStep();
|
|
50
|
-
}
|
|
51
|
-
}, [dirty, goToNextStep, submitForm]);
|
|
47
|
+
void goToNextStep();
|
|
48
|
+
}, [goToNextStep]);
|
|
52
49
|
|
|
53
50
|
const footer = React.useMemo(
|
|
54
51
|
() => (
|
|
@@ -84,8 +81,7 @@ export const ClusterDeploymentDetailsFormWrapper = ({
|
|
|
84
81
|
);
|
|
85
82
|
};
|
|
86
83
|
|
|
87
|
-
const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps> = ({
|
|
88
|
-
agentClusterInstall,
|
|
84
|
+
export const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps> = ({
|
|
89
85
|
clusterDeployment,
|
|
90
86
|
clusterImages,
|
|
91
87
|
extensionAfter,
|
|
@@ -103,18 +99,13 @@ const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps>
|
|
|
103
99
|
[clusterImages, isNutanix, osImages],
|
|
104
100
|
);
|
|
105
101
|
|
|
106
|
-
const forceOpenshiftVersion = agentClusterInstall
|
|
107
|
-
? getSelectedVersion(clusterImages, agentClusterInstall)
|
|
108
|
-
: undefined;
|
|
109
102
|
const isEditFlow = !!clusterDeployment;
|
|
110
103
|
|
|
111
104
|
const { values } = useFormikContext<ClusterDetailsValues>();
|
|
112
105
|
|
|
113
106
|
const [cpuArchitectures, allowHighlyAvailable] = React.useMemo(() => {
|
|
114
107
|
const cpuArchitectures = [CpuArchitecture.x86, CpuArchitecture.ARM, CpuArchitecture.s390x];
|
|
115
|
-
const version = allVersions.find(
|
|
116
|
-
(ver) => ver.value === values.openshiftVersion || ver.version === forceOpenshiftVersion,
|
|
117
|
-
);
|
|
108
|
+
const version = allVersions.find((ver) => ver.value === values.openshiftVersion);
|
|
118
109
|
const isMulti = version?.cpuArchitectures?.[0] === CpuArchitecture.MULTI;
|
|
119
110
|
|
|
120
111
|
const highlyAvailableSupported = toNumber(version?.version?.split('.')?.[1]) >= 18;
|
|
@@ -122,7 +113,7 @@ const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps>
|
|
|
122
113
|
(isMulti ? cpuArchitectures : version?.cpuArchitectures) as SupportedCpuArchitecture[],
|
|
123
114
|
highlyAvailableSupported && !isMulti,
|
|
124
115
|
];
|
|
125
|
-
}, [allVersions,
|
|
116
|
+
}, [allVersions, values.openshiftVersion]);
|
|
126
117
|
|
|
127
118
|
return (
|
|
128
119
|
<>
|
|
@@ -140,7 +131,6 @@ const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps>
|
|
|
140
131
|
versions={versions}
|
|
141
132
|
allVersions={allVersions}
|
|
142
133
|
isEditFlow={isEditFlow}
|
|
143
|
-
forceOpenshiftVersion={forceOpenshiftVersion}
|
|
144
134
|
extensionAfter={extensionAfter}
|
|
145
135
|
isNutanix={isNutanix}
|
|
146
136
|
cpuArchitectures={cpuArchitectures}
|
|
@@ -19,7 +19,6 @@ import { getNetworkType } from '../helpers';
|
|
|
19
19
|
|
|
20
20
|
export type ClusterDetailsFormFieldsProps = {
|
|
21
21
|
isEditFlow: boolean;
|
|
22
|
-
forceOpenshiftVersion?: string;
|
|
23
22
|
extensionAfter?: { [key: string]: React.ReactElement };
|
|
24
23
|
versions: OpenshiftVersionOptionType[];
|
|
25
24
|
allVersions: OpenshiftVersionOptionType[];
|
|
@@ -50,7 +49,6 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
|
|
|
50
49
|
isEditFlow,
|
|
51
50
|
versions,
|
|
52
51
|
allVersions,
|
|
53
|
-
forceOpenshiftVersion,
|
|
54
52
|
extensionAfter,
|
|
55
53
|
isNutanix,
|
|
56
54
|
cpuArchitectures,
|
|
@@ -63,7 +61,7 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
|
|
|
63
61
|
const { name, baseDnsDomain } = values;
|
|
64
62
|
|
|
65
63
|
React.useEffect(() => {
|
|
66
|
-
if (!versions.length && !values.openshiftVersion) {
|
|
64
|
+
if (!versions.length && !values.openshiftVersion && !isEditFlow) {
|
|
67
65
|
const fallbackOpenShiftVersion = allVersions.find((version) => version.default);
|
|
68
66
|
setFieldValue('customOpenshiftSelect', fallbackOpenShiftVersion);
|
|
69
67
|
setFieldValue('openshiftVersion', fallbackOpenShiftVersion?.value);
|
|
@@ -138,9 +136,11 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
|
|
|
138
136
|
isRequired
|
|
139
137
|
/>
|
|
140
138
|
)}
|
|
141
|
-
{
|
|
139
|
+
{isEditFlow ? (
|
|
142
140
|
<StaticTextField name="openshiftVersion" label="OpenShift version" isRequired>
|
|
143
|
-
{t('ai:OpenShift')}
|
|
141
|
+
{t('ai:OpenShift')}{' '}
|
|
142
|
+
{allVersions.find((v) => v.value === values.openshiftVersion)?.version ||
|
|
143
|
+
values.openshiftVersion}
|
|
144
144
|
</StaticTextField>
|
|
145
145
|
) : (
|
|
146
146
|
<>
|
|
@@ -6,8 +6,6 @@ import { Stack, StackItem } from '@patternfly/react-core';
|
|
|
6
6
|
import HostsForm from './HostsForm';
|
|
7
7
|
import { HostsStepProps, HostsFormValues, NodePoolFormValue } from './types';
|
|
8
8
|
import { useTranslation } from '../../../../../common/hooks/use-translation-wrapper';
|
|
9
|
-
import { getAgentsForSelection } from '../../../helpers';
|
|
10
|
-
import { INFRAENV_AGENTINSTALL_LABEL_KEY } from '../../../common';
|
|
11
9
|
import { TFunction } from 'i18next';
|
|
12
10
|
import { NodePoolK8sResource } from '../../types';
|
|
13
11
|
|
|
@@ -61,16 +59,7 @@ const HostsStep: React.FC<HostsStepProps> = ({
|
|
|
61
59
|
olmCatalogPlacement,
|
|
62
60
|
}) => {
|
|
63
61
|
const { t } = useTranslation();
|
|
64
|
-
const availableAgents = getAgentsForSelection(agents);
|
|
65
62
|
|
|
66
|
-
const infraEnvsWithAgents = infraEnvs.filter((ie) =>
|
|
67
|
-
availableAgents.some(
|
|
68
|
-
(a) =>
|
|
69
|
-
a.metadata?.labels?.[INFRAENV_AGENTINSTALL_LABEL_KEY] === ie.metadata?.name &&
|
|
70
|
-
a.metadata?.namespace === ie.metadata?.namespace &&
|
|
71
|
-
!a.spec.clusterDeploymentName,
|
|
72
|
-
),
|
|
73
|
-
);
|
|
74
63
|
return (
|
|
75
64
|
<Stack hasGutter>
|
|
76
65
|
<StackItem>
|
|
@@ -84,7 +73,7 @@ const HostsStep: React.FC<HostsStepProps> = ({
|
|
|
84
73
|
controllerAvailabilityPolicy: controllerAvailabilityPolicy || 'HighlyAvailable',
|
|
85
74
|
infrastructureAvailabilityPolicy: infrastructureAvailabilityPolicy || 'HighlyAvailable',
|
|
86
75
|
olmCatalogPlacement: olmCatalogPlacement || 'management',
|
|
87
|
-
agentNamespace: initInfraEnv ||
|
|
76
|
+
agentNamespace: initInfraEnv || infraEnvs[0]?.metadata?.namespace || '',
|
|
88
77
|
nodePools: initNodePools || [
|
|
89
78
|
{
|
|
90
79
|
nodePoolName: `nodepool-${clusterName}-1`,
|
|
@@ -106,7 +95,7 @@ const HostsStep: React.FC<HostsStepProps> = ({
|
|
|
106
95
|
>
|
|
107
96
|
<HostsForm
|
|
108
97
|
onValuesChanged={onValuesChanged}
|
|
109
|
-
infraEnvs={
|
|
98
|
+
infraEnvs={infraEnvs}
|
|
110
99
|
agents={agents}
|
|
111
100
|
clusterName={clusterName}
|
|
112
101
|
initReleaseImage={initReleaseImage}
|
|
@@ -22,7 +22,6 @@ import { HostsFormValues } from './types';
|
|
|
22
22
|
import { useFormikContext } from 'formik';
|
|
23
23
|
import { getAgentsForSelection } from '../../../helpers';
|
|
24
24
|
import { useTranslation } from '../../../../../common/hooks/use-translation-wrapper';
|
|
25
|
-
import { useFormikHelpers } from '../../../../../common/hooks/useFormikHelpers';
|
|
26
25
|
|
|
27
26
|
import './NodePoolForm.css';
|
|
28
27
|
import NodePoolAgentsForm from '../../forms/NodePoolAgentsForm';
|
|
@@ -37,14 +36,8 @@ type NodePoolFormProps = {
|
|
|
37
36
|
const NodePoolForm: React.FC<NodePoolFormProps> = ({ infraEnvs, agents, index, onRemove }) => {
|
|
38
37
|
const { t } = useTranslation();
|
|
39
38
|
const { values } = useFormikContext<HostsFormValues>();
|
|
40
|
-
const { setValue: setCountValue } = useFormikHelpers(`nodePools[${index}].count`);
|
|
41
|
-
const { setValue: setMinAutoscalingValue } = useFormikHelpers(
|
|
42
|
-
`nodePools[${index}].autoscaling.minReplicas`,
|
|
43
|
-
);
|
|
44
|
-
const { setValue: setMaxAutoscalingValue } = useFormikHelpers(
|
|
45
|
-
`nodePools[${index}].autoscaling.maxReplicas`,
|
|
46
|
-
);
|
|
47
39
|
const [isExpanded, setExpanded] = React.useState(true);
|
|
40
|
+
|
|
48
41
|
const infraEnvAgents = React.useMemo(() => {
|
|
49
42
|
const infraEnv = infraEnvs.find((ie) => ie.metadata?.namespace === values.agentNamespace);
|
|
50
43
|
return agents.filter((agent) => isAgentOfInfraEnv(infraEnv, agent));
|
|
@@ -79,31 +72,6 @@ const NodePoolForm: React.FC<NodePoolFormProps> = ({ infraEnvs, agents, index, o
|
|
|
79
72
|
Math.min(matchingAgents.length, availableAgents.length - previousNodePoolsCount),
|
|
80
73
|
);
|
|
81
74
|
|
|
82
|
-
const currentCount = values.nodePools[index].useAutoscaling
|
|
83
|
-
? values.nodePools[index].autoscaling.maxReplicas
|
|
84
|
-
: values.nodePools[index].count;
|
|
85
|
-
|
|
86
|
-
React.useEffect(() => {
|
|
87
|
-
if (currentCount > maxAgents) {
|
|
88
|
-
if (values.nodePools[index].useAutoscaling) {
|
|
89
|
-
if (maxAgents === 0) {
|
|
90
|
-
void setMinAutoscalingValue(maxAgents);
|
|
91
|
-
}
|
|
92
|
-
void setMaxAutoscalingValue(maxAgents);
|
|
93
|
-
} else {
|
|
94
|
-
void setCountValue(maxAgents);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}, [
|
|
98
|
-
maxAgents,
|
|
99
|
-
currentCount,
|
|
100
|
-
values.nodePools,
|
|
101
|
-
index,
|
|
102
|
-
setCountValue,
|
|
103
|
-
setMinAutoscalingValue,
|
|
104
|
-
setMaxAutoscalingValue,
|
|
105
|
-
]);
|
|
106
|
-
|
|
107
75
|
return (
|
|
108
76
|
<Stack hasGutter>
|
|
109
77
|
<StackItem>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Grid, GridItem } from '@patternfly/react-core';
|
|
1
|
+
import { Alert, AlertVariant, Grid, GridItem, Text } from '@patternfly/react-core';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { CheckboxField, NumberInputField, PopoverIcon } from '../../../../common';
|
|
4
4
|
import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
|
|
@@ -27,6 +27,7 @@ const NodePoolAgentsForm = ({
|
|
|
27
27
|
}: NodePoolAgentsFormProps) => {
|
|
28
28
|
const { t } = useTranslation();
|
|
29
29
|
|
|
30
|
+
const [{ value: count }] = useField<number>(countName);
|
|
30
31
|
const [{ value: minValue }] = useField<number>(`${autoscalingName}.minReplicas`);
|
|
31
32
|
const [{ value: maxValue }] = useField<number>(`${autoscalingName}.maxReplicas`);
|
|
32
33
|
const [{ value: useAutoscalingValue }] = useField<boolean>(useAutoscalingName);
|
|
@@ -60,7 +61,7 @@ const NodePoolAgentsForm = ({
|
|
|
60
61
|
label={t('ai:Minimum number of hosts')}
|
|
61
62
|
isRequired
|
|
62
63
|
minValue={1}
|
|
63
|
-
maxValue={maxValue
|
|
64
|
+
maxValue={maxValue}
|
|
64
65
|
/>
|
|
65
66
|
</GridItem>
|
|
66
67
|
<GridItem>
|
|
@@ -69,22 +70,33 @@ const NodePoolAgentsForm = ({
|
|
|
69
70
|
label={t('ai:Maximum number of hosts')}
|
|
70
71
|
isRequired
|
|
71
72
|
minValue={minValue || 1}
|
|
72
|
-
maxValue={maxAgents}
|
|
73
73
|
helperText={helperText}
|
|
74
74
|
/>
|
|
75
75
|
</GridItem>
|
|
76
76
|
</>
|
|
77
77
|
) : (
|
|
78
|
+
<>
|
|
79
|
+
<GridItem>
|
|
80
|
+
<NumberInputField
|
|
81
|
+
label={t('ai:Number of hosts')}
|
|
82
|
+
idPostfix="count"
|
|
83
|
+
name={countName}
|
|
84
|
+
isRequired
|
|
85
|
+
minValue={0}
|
|
86
|
+
helperText={helperText}
|
|
87
|
+
/>
|
|
88
|
+
</GridItem>
|
|
89
|
+
</>
|
|
90
|
+
)}
|
|
91
|
+
{(useAutoscalingValue ? maxValue : count) > maxAgents && (
|
|
78
92
|
<GridItem>
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
helperText={helperText}
|
|
87
|
-
/>
|
|
93
|
+
<Alert
|
|
94
|
+
isInline
|
|
95
|
+
variant={AlertVariant.warning}
|
|
96
|
+
title={t('ai:Host count exceeds the current number of available hosts.')}
|
|
97
|
+
>
|
|
98
|
+
<Text>{t('ai:Scale down the nodepool or make more hosts available.')}</Text>
|
|
99
|
+
</Alert>
|
|
88
100
|
</GridItem>
|
|
89
101
|
)}
|
|
90
102
|
</Grid>
|
|
@@ -41,7 +41,7 @@ const AddNodePoolModal = ({
|
|
|
41
41
|
const handleSubmit = async (values: NodePoolFormValues) => {
|
|
42
42
|
setError(undefined);
|
|
43
43
|
const nodePool: NodePoolK8sResource = {
|
|
44
|
-
apiVersion: 'hypershift.openshift.io/
|
|
44
|
+
apiVersion: 'hypershift.openshift.io/v1beta1',
|
|
45
45
|
kind: 'NodePool',
|
|
46
46
|
metadata: {
|
|
47
47
|
name: values.nodePoolName,
|
|
@@ -66,7 +66,7 @@ const getPatches = (values: NodePoolFormValues, nodePool: NodePoolK8sResource) =
|
|
|
66
66
|
);
|
|
67
67
|
}
|
|
68
68
|
} else {
|
|
69
|
-
if (
|
|
69
|
+
if (nodePool.spec.replicas !== undefined) {
|
|
70
70
|
patches.push({
|
|
71
71
|
op: 'replace',
|
|
72
72
|
value: values.count,
|
|
@@ -127,7 +127,7 @@ const ManageHostsModal = ({
|
|
|
127
127
|
agentLabels: labelsToFormikValue(
|
|
128
128
|
nodePool.spec.platform?.agent?.agentLabelSelector?.matchLabels || {},
|
|
129
129
|
),
|
|
130
|
-
count: nodePool.spec.replicas ||
|
|
130
|
+
count: nodePool.spec.replicas || 0,
|
|
131
131
|
useAutoscaling: !!nodePool.spec.autoScaling,
|
|
132
132
|
autoscaling: {
|
|
133
133
|
minReplicas: nodePool.spec.autoScaling?.min || 1,
|