@openshift-assisted/ui-lib 2.14.11-cim → 2.14.13-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/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/helpers/versions.js +42 -27
- package/build/cjs/cim/components/helpers/versions.js.map +1 -1
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx +10 -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/helpers/versions.ts +51 -34
- package/package.json +3 -3
|
@@ -13,6 +13,6 @@ type ClusterDeploymentDetailsFormProps = {
|
|
|
13
13
|
export declare const ClusterDeploymentDetailsFormWrapper: ({ children, }: {
|
|
14
14
|
children: React.ReactNode;
|
|
15
15
|
}) => React.JSX.Element;
|
|
16
|
-
declare const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps>;
|
|
16
|
+
export declare const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps>;
|
|
17
17
|
export default ClusterDeploymentDetailsForm;
|
|
18
18
|
//# sourceMappingURL=ClusterDeploymentDetailsForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterDeploymentDetailsForm.d.ts","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"ClusterDeploymentDetailsForm.d.ts","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAI/E,OAAO,EAEL,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AAOpC,KAAK,iCAAiC,GAAG;IACvC,aAAa,EAAE,0BAA0B,EAAE,CAAC;IAC5C,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;IACjD,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACrD,cAAc,CAAC,EAAE,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,mCAAmC;cAGpC,MAAM,SAAS;uBA6C1B,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,CA0DpF,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
|
|
@@ -2,7 +2,6 @@ import * as React from 'react';
|
|
|
2
2
|
import { OpenshiftVersionOptionType, SupportedCpuArchitecture } from '../../../common/types';
|
|
3
3
|
export type ClusterDetailsFormFieldsProps = {
|
|
4
4
|
isEditFlow: boolean;
|
|
5
|
-
forceOpenshiftVersion?: string;
|
|
6
5
|
extensionAfter?: {
|
|
7
6
|
[key: string]: React.ReactElement;
|
|
8
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterDetailsFormFields.d.ts","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAY7F,MAAM,MAAM,6BAA6B,GAAG;IAC1C,UAAU,EAAE,OAAO,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"ClusterDetailsFormFields.d.ts","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAY7F,MAAM,MAAM,6BAA6B,GAAG;IAC1C,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAA;KAAE,CAAC;IACvD,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC9C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBjF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CA8J5E,CAAC"}
|
package/build/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostsStep.d.ts","sourceRoot":"","sources":["../../../../../../../lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,cAAc,EAAsC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"HostsStep.d.ts","sourceRoot":"","sources":["../../../../../../../lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,cAAc,EAAsC,MAAM,SAAS,CAAC;AAwC7E,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4DvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
package/build/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodePoolForm.d.ts","sourceRoot":"","sources":["../../../../../../../lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"NodePoolForm.d.ts","sourceRoot":"","sources":["../../../../../../../lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAO1E,OAAO,oBAAoB,CAAC;AAG5B,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwG7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodePoolAgentsForm.d.ts","sourceRoot":"","sources":["../../../../../../lib/cim/components/Hypershift/forms/NodePoolAgentsForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,KAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,kBAAkB,8FAQrB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"NodePoolAgentsForm.d.ts","sourceRoot":"","sources":["../../../../../../lib/cim/components/Hypershift/forms/NodePoolAgentsForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,KAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,kBAAkB,8FAQrB,uBAAuB,sBA6EzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { OpenshiftVersionOptionType } from '../../../common';
|
|
|
3
3
|
export declare const getVersionFromReleaseImage: (releaseImage?: string) => string | undefined;
|
|
4
4
|
export declare const supportedNutanixPlatforms: string[];
|
|
5
5
|
export declare const isValidImageSet: (cis: ClusterImageSetK8sResource, architectures?: string[], extended?: boolean) => boolean;
|
|
6
|
-
export declare const getOCPVersions: (clusterImageSets: ClusterImageSetK8sResource[], isNutanix?: boolean
|
|
6
|
+
export declare const getOCPVersions: (clusterImageSets: ClusterImageSetK8sResource[], isNutanix?: boolean, osImages?: OsImage[], extended?: boolean) => OpenshiftVersionOptionType[];
|
|
7
7
|
export declare const getSelectedVersion: (clusterImages: ClusterImageSetK8sResource[], agentClusterInstall: AgentClusterInstallK8sResource) => string | undefined;
|
|
8
8
|
export declare const getCurrentClusterVersion: (cv?: ClusterVersionK8sResource) => string | undefined;
|
|
9
9
|
export declare const getMajorMinorVersion: (version?: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../lib/cim/components/helpers/versions.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAmB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG9E,eAAO,MAAM,0BAA0B,+CAKtC,CAAC;AA4BF,eAAO,MAAM,yBAAyB,UAAuB,CAAC;AAE9D,eAAO,MAAM,eAAe,QACrB,0BAA0B,kBACf,MAAM,EAAE,aACb,OAAO,YAWnB,CAAC;
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../lib/cim/components/helpers/versions.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAmB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG9E,eAAO,MAAM,0BAA0B,+CAKtC,CAAC;AA4BF,eAAO,MAAM,yBAAyB,UAAuB,CAAC;AAE9D,eAAO,MAAM,eAAe,QACrB,0BAA0B,kBACf,MAAM,EAAE,aACb,OAAO,YAWnB,CAAC;AA0CF,eAAO,MAAM,cAAc,qBACP,0BAA0B,EAAE,cAClC,OAAO,aACR,OAAO,EAAE,aACT,OAAO,KACjB,0BAA0B,EAc5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,kBACd,0BAA0B,EAAE,uBACtB,8BAA8B,uBASpD,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAS,yBAAyB,KAAG,MAAM,GAAG,SACZ,CAAC;AAExE,eAAO,MAAM,oBAAoB,8BAGhC,CAAC;AAEF,eAAO,MAAM,cAAc,eACb,0BAA0B,GAAG,SAAS,KACjD,eAAe,GAAG,cAC6E,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClusterDeploymentDetailsFormWrapper = void 0;
|
|
3
|
+
exports.ClusterDeploymentDetailsForm = exports.ClusterDeploymentDetailsFormWrapper = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const react_core_1 = require("@patternfly/react-core");
|
|
@@ -15,16 +15,13 @@ const lodash_es_1 = require("lodash-es");
|
|
|
15
15
|
const ClusterDeploymentDetailsFormWrapper = ({ children, }) => {
|
|
16
16
|
const { activeStep, goToPrevStep, goToNextStep, close } = (0, react_core_1.useWizardContext)();
|
|
17
17
|
const { syncError } = React.useContext(ClusterDeploymentWizardContext_1.ClusterDeploymentWizardContext);
|
|
18
|
-
const {
|
|
18
|
+
const { isSubmitting, isValid, isValidating } = (0, formik_1.useFormikContext)();
|
|
19
19
|
const { t } = (0, use_translation_wrapper_1.useTranslation)();
|
|
20
|
+
// ClusterDeploymentDetailsFormWrapper is exclusively used by ClusterDeploymentWizard (edit flow).
|
|
21
|
+
// No form submission needed here—just navigate to the next step.
|
|
20
22
|
const handleOnNext = React.useCallback(() => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
void goToNextStep();
|
|
26
|
-
}
|
|
27
|
-
}, [dirty, goToNextStep, submitForm]);
|
|
23
|
+
void goToNextStep();
|
|
24
|
+
}, [goToNextStep]);
|
|
28
25
|
const footer = React.useMemo(() => (React.createElement(react_core_1.WizardFooter, { activeStep: activeStep, onNext: handleOnNext, isNextDisabled: !isValid || isValidating || isSubmitting, nextButtonProps: { isLoading: isSubmitting }, nextButtonText: t('ai:Next'), onBack: goToPrevStep, onClose: close, isBackHidden: true })), [activeStep, close, goToPrevStep, handleOnNext, isSubmitting, isValid, isValidating, t]);
|
|
29
26
|
(0, react_core_1.useWizardFooter)(footer);
|
|
30
27
|
return (React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
@@ -34,31 +31,29 @@ const ClusterDeploymentDetailsFormWrapper = ({ children, }) => {
|
|
|
34
31
|
React.createElement(react_core_1.Alert, { variant: react_core_1.AlertVariant.danger, title: t('ai:An error occured'), isInline: true }, syncError))))));
|
|
35
32
|
};
|
|
36
33
|
exports.ClusterDeploymentDetailsFormWrapper = ClusterDeploymentDetailsFormWrapper;
|
|
37
|
-
const ClusterDeploymentDetailsForm = ({
|
|
34
|
+
const ClusterDeploymentDetailsForm = ({ clusterDeployment, clusterImages, extensionAfter, isNutanix, osImages, }) => {
|
|
38
35
|
const { t } = (0, use_translation_wrapper_1.useTranslation)();
|
|
39
36
|
const versions = React.useMemo(() => (0, helpers_1.getOCPVersions)(clusterImages, isNutanix, osImages), [clusterImages, isNutanix, osImages]);
|
|
40
37
|
const allVersions = React.useMemo(() => (0, helpers_1.getOCPVersions)(clusterImages, isNutanix, osImages, true), [clusterImages, isNutanix, osImages]);
|
|
41
|
-
const forceOpenshiftVersion = agentClusterInstall
|
|
42
|
-
? (0, helpers_1.getSelectedVersion)(clusterImages, agentClusterInstall)
|
|
43
|
-
: undefined;
|
|
44
38
|
const isEditFlow = !!clusterDeployment;
|
|
45
39
|
const { values } = (0, formik_1.useFormikContext)();
|
|
46
40
|
const [cpuArchitectures, allowHighlyAvailable] = React.useMemo(() => {
|
|
47
41
|
var _a, _b, _c;
|
|
48
42
|
const cpuArchitectures = [common_1.CpuArchitecture.x86, common_1.CpuArchitecture.ARM, common_1.CpuArchitecture.s390x];
|
|
49
|
-
const version = allVersions.find((ver) => ver.value === values.openshiftVersion
|
|
43
|
+
const version = allVersions.find((ver) => ver.value === values.openshiftVersion);
|
|
50
44
|
const isMulti = ((_a = version === null || version === void 0 ? void 0 : version.cpuArchitectures) === null || _a === void 0 ? void 0 : _a[0]) === common_1.CpuArchitecture.MULTI;
|
|
51
45
|
const highlyAvailableSupported = (0, lodash_es_1.toNumber)((_c = (_b = version === null || version === void 0 ? void 0 : version.version) === null || _b === void 0 ? void 0 : _b.split('.')) === null || _c === void 0 ? void 0 : _c[1]) >= 18;
|
|
52
46
|
return [
|
|
53
47
|
(isMulti ? cpuArchitectures : version === null || version === void 0 ? void 0 : version.cpuArchitectures),
|
|
54
48
|
highlyAvailableSupported && !isMulti,
|
|
55
49
|
];
|
|
56
|
-
}, [allVersions,
|
|
50
|
+
}, [allVersions, values.openshiftVersion]);
|
|
57
51
|
return (React.createElement(React.Fragment, null,
|
|
58
52
|
isEditFlow && (React.createElement(react_core_1.StackItem, null,
|
|
59
53
|
React.createElement(react_core_1.Alert, { isInline: true, variant: "info", title: t('ai:Some details are not editable after the draft cluster was created.') }))),
|
|
60
54
|
React.createElement(react_core_1.StackItem, null,
|
|
61
|
-
React.createElement(ClusterDetailsFormFields_1.ClusterDetailsFormFields, { versions: versions, allVersions: allVersions, isEditFlow: isEditFlow,
|
|
55
|
+
React.createElement(ClusterDetailsFormFields_1.ClusterDetailsFormFields, { versions: versions, allVersions: allVersions, isEditFlow: isEditFlow, extensionAfter: extensionAfter, isNutanix: isNutanix, cpuArchitectures: cpuArchitectures, allowHighlyAvailable: allowHighlyAvailable }))));
|
|
62
56
|
};
|
|
63
|
-
exports.
|
|
57
|
+
exports.ClusterDeploymentDetailsForm = ClusterDeploymentDetailsForm;
|
|
58
|
+
exports.default = exports.ClusterDeploymentDetailsForm;
|
|
64
59
|
//# sourceMappingURL=ClusterDeploymentDetailsForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterDeploymentDetailsForm.js","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,uDAQgC;AAGhC,
|
|
1
|
+
{"version":3,"file":"ClusterDeploymentDetailsForm.js","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,14 +25,15 @@ const BaseDnsHelperText = ({ name, baseDnsDomain, }) => {
|
|
|
25
25
|
baseDnsDomain || '[example.com]')));
|
|
26
26
|
};
|
|
27
27
|
exports.BaseDnsHelperText = BaseDnsHelperText;
|
|
28
|
-
const ClusterDetailsFormFields = ({ isEditFlow, versions, allVersions,
|
|
28
|
+
const ClusterDetailsFormFields = ({ isEditFlow, versions, allVersions, extensionAfter, isNutanix, cpuArchitectures, allowHighlyAvailable, }) => {
|
|
29
|
+
var _a;
|
|
29
30
|
const { t } = (0, use_translation_wrapper_1.useTranslation)();
|
|
30
31
|
const nameInputRef = React.useRef();
|
|
31
32
|
const [openshiftVersionModalOpen, setOpenshiftVersionModalOpen] = React.useState(false);
|
|
32
33
|
const { values, setFieldValue } = (0, formik_1.useFormikContext)();
|
|
33
34
|
const { name, baseDnsDomain } = values;
|
|
34
35
|
React.useEffect(() => {
|
|
35
|
-
if (!versions.length && !values.openshiftVersion) {
|
|
36
|
+
if (!versions.length && !values.openshiftVersion && !isEditFlow) {
|
|
36
37
|
const fallbackOpenShiftVersion = allVersions.find((version) => version.default);
|
|
37
38
|
setFieldValue('customOpenshiftSelect', fallbackOpenShiftVersion);
|
|
38
39
|
setFieldValue('openshiftVersion', fallbackOpenShiftVersion === null || fallbackOpenShiftVersion === void 0 ? void 0 : fallbackOpenShiftVersion.value);
|
|
@@ -65,10 +66,11 @@ const ClusterDetailsFormFields = ({ isEditFlow, versions, allVersions, forceOpen
|
|
|
65
66
|
isEditFlow ? (React.createElement(StaticTextField_1.StaticTextField, { name: "name", label: t('ai:Cluster name'), isRequired: true }, name)) : (React.createElement(formik_2.RichInputField, { ref: nameInputRef, label: t('ai:Cluster name'), name: "name", placeholder: t('ai:Enter cluster name'), richValidationMessages: (0, formik_2.acmClusterNameValidationMessages)(t), isRequired: true })),
|
|
66
67
|
(extensionAfter === null || extensionAfter === void 0 ? void 0 : extensionAfter['name']) && extensionAfter['name'],
|
|
67
68
|
isEditFlow ? (React.createElement(StaticTextField_1.StaticTextField, { name: "baseDnsDomain", label: t('ai:Base domain'), helperText: React.createElement(exports.BaseDnsHelperText, { name: name, baseDnsDomain: baseDnsDomain }), isRequired: true }, baseDnsDomain)) : (React.createElement(formik_2.InputField, { label: t('ai:Base domain'), name: "baseDnsDomain", helperText: React.createElement(exports.BaseDnsHelperText, { name: name, baseDnsDomain: baseDnsDomain }), placeholder: "example.com", isRequired: true })),
|
|
68
|
-
|
|
69
|
+
isEditFlow ? (React.createElement(StaticTextField_1.StaticTextField, { name: "openshiftVersion", label: "OpenShift version", isRequired: true },
|
|
69
70
|
t('ai:OpenShift'),
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
' ',
|
|
72
|
+
((_a = allVersions.find((v) => v.value === values.openshiftVersion)) === null || _a === void 0 ? void 0 : _a.version) ||
|
|
73
|
+
values.openshiftVersion)) : (React.createElement(React.Fragment, null,
|
|
72
74
|
React.createElement(common_1.OpenShiftVersionDropdown, { name: "openshiftVersion", items: selectOptions, versions: versions, showReleasesLink: false, showOpenshiftVersionModal: () => setOpenshiftVersionModalOpen(true), customItems: additionalSelectOptions }),
|
|
73
75
|
openshiftVersionModalOpen && (React.createElement(common_1.OpenShiftVersionModal, { allVersions: allVersions, setOpenshiftVersionModalOpen: setOpenshiftVersionModalOpen })))),
|
|
74
76
|
React.createElement(ControlPlaneNodesDropdown_1.default, { isDisabled: isEditFlow, allowHighlyAvailable: allowHighlyAvailable }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterDetailsFormFields.js","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,uDAA6E;AAC7E,mCAA0C;AAE1C,4CAAkF;AAClF,mFAAgF;AAChF,kEAAiE;AAEjE,iEAI8C;AAE9C,2FAA+E;AAC/E,wGAAwE;AACxE,kJAAkH;AAClH,wCAA4C;
|
|
1
|
+
{"version":3,"file":"ClusterDetailsFormFields.js","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,6 @@ const noop_js_1 = tslib_1.__importDefault(require("lodash-es/noop.js"));
|
|
|
8
8
|
const react_core_1 = require("@patternfly/react-core");
|
|
9
9
|
const HostsForm_1 = tslib_1.__importDefault(require("./HostsForm"));
|
|
10
10
|
const use_translation_wrapper_1 = require("../../../../../common/hooks/use-translation-wrapper");
|
|
11
|
-
const helpers_1 = require("../../../helpers");
|
|
12
|
-
const common_1 = require("../../../common");
|
|
13
11
|
const validationSchema = (clusterName, nodePools, t) => Yup.lazy((values) => Yup.object().shape({
|
|
14
12
|
agentNamespace: Yup.string().required(t('ai:Required field')),
|
|
15
13
|
nodePools: Yup.array().of(Yup.object()
|
|
@@ -37,13 +35,6 @@ const validationSchema = (clusterName, nodePools, t) => Yup.lazy((values) => Yup
|
|
|
37
35
|
const HostsStep = ({ formRef, onValuesChanged, infraEnvs, agents, clusterName, initInfraEnv, initNodePools, initReleaseImage, nodePools, controllerAvailabilityPolicy, infrastructureAvailabilityPolicy, olmCatalogPlacement, }) => {
|
|
38
36
|
var _a, _b;
|
|
39
37
|
const { t } = (0, use_translation_wrapper_1.useTranslation)();
|
|
40
|
-
const availableAgents = (0, helpers_1.getAgentsForSelection)(agents);
|
|
41
|
-
const infraEnvsWithAgents = infraEnvs.filter((ie) => availableAgents.some((a) => {
|
|
42
|
-
var _a, _b, _c, _d, _e;
|
|
43
|
-
return ((_b = (_a = a.metadata) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b[common_1.INFRAENV_AGENTINSTALL_LABEL_KEY]) === ((_c = ie.metadata) === null || _c === void 0 ? void 0 : _c.name) &&
|
|
44
|
-
((_d = a.metadata) === null || _d === void 0 ? void 0 : _d.namespace) === ((_e = ie.metadata) === null || _e === void 0 ? void 0 : _e.namespace) &&
|
|
45
|
-
!a.spec.clusterDeploymentName;
|
|
46
|
-
}));
|
|
47
38
|
return (React.createElement(react_core_1.Stack, { hasGutter: true },
|
|
48
39
|
React.createElement(react_core_1.StackItem, null, t('ai:Define the quantity of worker nodes and nodepools to create for your cluster. Additional worker nodes and nodepools can be added after the cluster is created.')),
|
|
49
40
|
React.createElement(react_core_1.StackItem, null,
|
|
@@ -51,7 +42,7 @@ const HostsStep = ({ formRef, onValuesChanged, infraEnvs, agents, clusterName, i
|
|
|
51
42
|
controllerAvailabilityPolicy: controllerAvailabilityPolicy || 'HighlyAvailable',
|
|
52
43
|
infrastructureAvailabilityPolicy: infrastructureAvailabilityPolicy || 'HighlyAvailable',
|
|
53
44
|
olmCatalogPlacement: olmCatalogPlacement || 'management',
|
|
54
|
-
agentNamespace: initInfraEnv || ((_b = (_a =
|
|
45
|
+
agentNamespace: initInfraEnv || ((_b = (_a = infraEnvs[0]) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.namespace) || '',
|
|
55
46
|
nodePools: initNodePools || [
|
|
56
47
|
{
|
|
57
48
|
nodePoolName: `nodepool-${clusterName}-1`,
|
|
@@ -67,7 +58,7 @@ const HostsStep = ({ formRef, onValuesChanged, infraEnvs, agents, clusterName, i
|
|
|
67
58
|
},
|
|
68
59
|
],
|
|
69
60
|
}, validationSchema: validationSchema(clusterName, nodePools, t), innerRef: formRef, onSubmit: noop_js_1.default },
|
|
70
|
-
React.createElement(HostsForm_1.default, { onValuesChanged: onValuesChanged, infraEnvs:
|
|
61
|
+
React.createElement(HostsForm_1.default, { onValuesChanged: onValuesChanged, infraEnvs: infraEnvs, agents: agents, clusterName: clusterName, initReleaseImage: initReleaseImage })))));
|
|
71
62
|
};
|
|
72
63
|
exports.default = HostsStep;
|
|
73
64
|
//# sourceMappingURL=HostsStep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostsStep.js","sourceRoot":"","sources":["../../../../../../../lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,iDAA2B;AAC3B,mCAAgC;AAChC,wEAAqC;AACrC,uDAA0D;AAC1D,oEAAoC;AAEpC,iGAAqF;
|
|
1
|
+
{"version":3,"file":"HostsStep.js","sourceRoot":"","sources":["../../../../../../../lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,iDAA2B;AAC3B,mCAAgC;AAChC,wEAAqC;AACrC,uDAA0D;AAC1D,oEAAoC;AAEpC,iGAAqF;AAIrF,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAE,SAAgC,EAAE,CAAY,EAAE,EAAE,CAC/F,GAAG,CAAC,IAAI,CAAC,CAAC,MAAuB,EAAE,EAAE,CACnC,GAAG,CAAC,MAAM,EAAmB,CAAC,KAAK,CAAC;IAClC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC7D,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CACvB,GAAG,CAAC,MAAM,EAAqB;SAC5B,KAAK,CAAC;QACL,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;aACvB,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;aAChC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9D,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,MAAM;gBAC1E,CAAC;gBACH,CAAC,SAAS,CAAC,IAAI,CACb,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACf,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,KAAK,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,MAAK,WAAW,CAClE,CACF,CAAC;QACJ,CAAC,CAAC;QACJ,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC1D,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC3D,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;YAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC5D,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC;SAC7D,CAAC;KACH,CAAC;SACD,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CACpC;CACF,CAAC,CACH,CAAC;AAEJ,MAAM,SAAS,GAA6B,CAAC,EAC3C,OAAO,EACP,eAAe,EACf,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,4BAA4B,EAC5B,gCAAgC,EAChC,mBAAmB,GACpB,EAAE,EAAE;;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,wCAAc,GAAE,CAAC;IAE/B,OAAO,CACL,oBAAC,kBAAK,IAAC,SAAS;QACd,oBAAC,sBAAS,QACP,CAAC,CACA,mKAAmK,CACpK,CACS;QACZ,oBAAC,sBAAS;YACR,oBAAC,eAAM,IACL,aAAa,EAAE;oBACb,4BAA4B,EAAE,4BAA4B,IAAI,iBAAiB;oBAC/E,gCAAgC,EAAE,gCAAgC,IAAI,iBAAiB;oBACvF,mBAAmB,EAAE,mBAAmB,IAAI,YAAY;oBACxD,cAAc,EAAE,YAAY,KAAI,MAAA,MAAA,SAAS,CAAC,CAAC,CAAC,0CAAE,QAAQ,0CAAE,SAAS,CAAA,IAAI,EAAE;oBACvE,SAAS,EAAE,aAAa,IAAI;wBAC1B;4BACE,YAAY,EAAE,YAAY,WAAW,IAAI;4BACzC,KAAK,EAAE,CAAC;4BACR,WAAW,EAAE,EAAE;4BACf,YAAY,EAAE,gBAAgB;4BAC9B,WAAW;4BACX,cAAc,EAAE,KAAK;4BACrB,WAAW,EAAE;gCACX,WAAW,EAAE,CAAC;gCACd,WAAW,EAAE,CAAC;6BACf;yBACF;qBACF;iBACF,EACD,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,EAC7D,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,iBAAI;gBAEd,oBAAC,mBAAS,IACR,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,GAClC,CACK,CACC,CACN,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}
|
|
@@ -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"}
|
|
@@ -41,35 +41,50 @@ const isValidImageSet = (cis, architectures, extended) => {
|
|
|
41
41
|
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; });
|
|
42
42
|
};
|
|
43
43
|
exports.isValidImageSet = isValidImageSet;
|
|
44
|
+
// Extracts major.minor version, strips any non-numeric prefix (e.g., "img4.18.55" → "4.18")
|
|
45
|
+
const extractMajorMinor = (version) => {
|
|
46
|
+
const versionWithoutPrefix = version.replace(/^[^\d]*/, '');
|
|
47
|
+
return versionWithoutPrefix.split('.').slice(0, 2).join('.');
|
|
48
|
+
};
|
|
49
|
+
// Converts a ClusterImageSet to an OpenshiftVersionOptionType
|
|
50
|
+
const toVersionOption = (clusterImageSet) => {
|
|
51
|
+
var _a, _b, _c, _d;
|
|
52
|
+
const version = (0, exports.getVersionFromReleaseImage)((_a = clusterImageSet.spec) === null || _a === void 0 ? void 0 : _a.releaseImage) ||
|
|
53
|
+
((_b = clusterImageSet.metadata) === null || _b === void 0 ? void 0 : _b.name) ||
|
|
54
|
+
'';
|
|
55
|
+
const cpuArch = getCPUArchFromReleaseImage((_c = clusterImageSet.spec) === null || _c === void 0 ? void 0 : _c.releaseImage);
|
|
56
|
+
return {
|
|
57
|
+
label: `OpenShift ${version}`,
|
|
58
|
+
version,
|
|
59
|
+
value: (_d = clusterImageSet.metadata) === null || _d === void 0 ? void 0 : _d.name,
|
|
60
|
+
default: false,
|
|
61
|
+
// (rawagner) ACM does not have the warning so changing to 'production'
|
|
62
|
+
// supportLevel : getSupportLevelFromChannel(clusterImageSet.metadata?.labels?.channel)
|
|
63
|
+
supportLevel: 'production',
|
|
64
|
+
cpuArchitectures: cpuArch ? [cpuArch] : undefined,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* In case there are osImages specified on the AgentServiceConfig, we want to limit
|
|
69
|
+
* the availability in the dropdown to only versions that are listed there.
|
|
70
|
+
* Otherwise the installation fails.
|
|
71
|
+
*/
|
|
72
|
+
const hasMatchingOsImage = (version, osImageVersions) => {
|
|
73
|
+
if (!osImageVersions.length)
|
|
74
|
+
return true;
|
|
75
|
+
return osImageVersions.includes(extractMajorMinor(version.version));
|
|
76
|
+
};
|
|
44
77
|
const getOCPVersions = (clusterImageSets, isNutanix, osImages, extended) => {
|
|
45
|
-
const
|
|
78
|
+
const architectures = isNutanix ? exports.supportedNutanixPlatforms : undefined;
|
|
79
|
+
const osImageVersions = [...new Set(osImages === null || osImages === void 0 ? void 0 : osImages.map((img) => img.openshiftVersion))];
|
|
46
80
|
const versions = clusterImageSets
|
|
47
|
-
.filter((clusterImageSet) => (0, exports.isValidImageSet)(clusterImageSet,
|
|
48
|
-
.map(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
version: version || ((_d = clusterImageSet.metadata) === null || _d === void 0 ? void 0 : _d.name) || '',
|
|
55
|
-
value: (_e = clusterImageSet.metadata) === null || _e === void 0 ? void 0 : _e.name,
|
|
56
|
-
default: false,
|
|
57
|
-
// (rawagner) ACM does not have the warning so changing to 'production'
|
|
58
|
-
supportLevel: 'production',
|
|
59
|
-
cpuArchitectures: cpuArch ? [cpuArch] : undefined,
|
|
60
|
-
};
|
|
61
|
-
})
|
|
62
|
-
.filter((ocpVersion) => {
|
|
63
|
-
const ver = ocpVersion.version.split('.').slice(0, 2).join('.');
|
|
64
|
-
return !!ocpImageVersions.length ? ocpImageVersions.includes(ver) : true;
|
|
65
|
-
})
|
|
66
|
-
.sort((versionA, versionB) => /* descending */ -1 * versionA.label.localeCompare(versionB.label));
|
|
67
|
-
if (versions.length) {
|
|
68
|
-
// make sure that the pre-selected one is the first-one after sorting
|
|
69
|
-
versions[0].default = true;
|
|
70
|
-
}
|
|
71
|
-
const deduped = (0, uniqBy_js_1.default)(versions, (v) => v.version);
|
|
72
|
-
return deduped;
|
|
81
|
+
.filter((clusterImageSet) => (0, exports.isValidImageSet)(clusterImageSet, architectures, extended))
|
|
82
|
+
.map(toVersionOption)
|
|
83
|
+
.filter((v) => hasMatchingOsImage(v, osImageVersions))
|
|
84
|
+
.sort((a, b) => b.label.localeCompare(a.label));
|
|
85
|
+
// Mark first version as the default selection
|
|
86
|
+
versions[0] && (versions[0].default = true);
|
|
87
|
+
return (0, uniqBy_js_1.default)(versions, (v) => v.version);
|
|
73
88
|
};
|
|
74
89
|
exports.getOCPVersions = getOCPVersions;
|
|
75
90
|
const getSelectedVersion = (clusterImages, agentClusterInstall) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../lib/cim/components/helpers/versions.ts"],"names":[],"mappings":";;;;AAAA,4EAAyC;AAWlC,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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"}
|
|
@@ -10,8 +10,9 @@ 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
16
|
import {
|
|
16
17
|
ClusterDetailsFormFields,
|
|
17
18
|
ClusterDetailsFormFieldsProps,
|
|
@@ -38,17 +39,14 @@ export const ClusterDeploymentDetailsFormWrapper = ({
|
|
|
38
39
|
}) => {
|
|
39
40
|
const { activeStep, goToPrevStep, goToNextStep, close } = useWizardContext();
|
|
40
41
|
const { syncError } = React.useContext(ClusterDeploymentWizardContext);
|
|
41
|
-
const {
|
|
42
|
-
useFormikContext<ClusterDetailsValues>();
|
|
42
|
+
const { isSubmitting, isValid, isValidating } = useFormikContext<ClusterDetailsValues>();
|
|
43
43
|
const { t } = useTranslation();
|
|
44
44
|
|
|
45
|
+
// ClusterDeploymentDetailsFormWrapper is exclusively used by ClusterDeploymentWizard (edit flow).
|
|
46
|
+
// No form submission needed here—just navigate to the next step.
|
|
45
47
|
const handleOnNext = React.useCallback(() => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
} else {
|
|
49
|
-
void goToNextStep();
|
|
50
|
-
}
|
|
51
|
-
}, [dirty, goToNextStep, submitForm]);
|
|
48
|
+
void goToNextStep();
|
|
49
|
+
}, [goToNextStep]);
|
|
52
50
|
|
|
53
51
|
const footer = React.useMemo(
|
|
54
52
|
() => (
|
|
@@ -84,8 +82,7 @@ export const ClusterDeploymentDetailsFormWrapper = ({
|
|
|
84
82
|
);
|
|
85
83
|
};
|
|
86
84
|
|
|
87
|
-
const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps> = ({
|
|
88
|
-
agentClusterInstall,
|
|
85
|
+
export const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps> = ({
|
|
89
86
|
clusterDeployment,
|
|
90
87
|
clusterImages,
|
|
91
88
|
extensionAfter,
|
|
@@ -103,18 +100,13 @@ const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps>
|
|
|
103
100
|
[clusterImages, isNutanix, osImages],
|
|
104
101
|
);
|
|
105
102
|
|
|
106
|
-
const forceOpenshiftVersion = agentClusterInstall
|
|
107
|
-
? getSelectedVersion(clusterImages, agentClusterInstall)
|
|
108
|
-
: undefined;
|
|
109
103
|
const isEditFlow = !!clusterDeployment;
|
|
110
104
|
|
|
111
105
|
const { values } = useFormikContext<ClusterDetailsValues>();
|
|
112
106
|
|
|
113
107
|
const [cpuArchitectures, allowHighlyAvailable] = React.useMemo(() => {
|
|
114
108
|
const cpuArchitectures = [CpuArchitecture.x86, CpuArchitecture.ARM, CpuArchitecture.s390x];
|
|
115
|
-
const version = allVersions.find(
|
|
116
|
-
(ver) => ver.value === values.openshiftVersion || ver.version === forceOpenshiftVersion,
|
|
117
|
-
);
|
|
109
|
+
const version = allVersions.find((ver) => ver.value === values.openshiftVersion);
|
|
118
110
|
const isMulti = version?.cpuArchitectures?.[0] === CpuArchitecture.MULTI;
|
|
119
111
|
|
|
120
112
|
const highlyAvailableSupported = toNumber(version?.version?.split('.')?.[1]) >= 18;
|
|
@@ -122,7 +114,7 @@ const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps>
|
|
|
122
114
|
(isMulti ? cpuArchitectures : version?.cpuArchitectures) as SupportedCpuArchitecture[],
|
|
123
115
|
highlyAvailableSupported && !isMulti,
|
|
124
116
|
];
|
|
125
|
-
}, [allVersions,
|
|
117
|
+
}, [allVersions, values.openshiftVersion]);
|
|
126
118
|
|
|
127
119
|
return (
|
|
128
120
|
<>
|
|
@@ -140,7 +132,6 @@ const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps>
|
|
|
140
132
|
versions={versions}
|
|
141
133
|
allVersions={allVersions}
|
|
142
134
|
isEditFlow={isEditFlow}
|
|
143
|
-
forceOpenshiftVersion={forceOpenshiftVersion}
|
|
144
135
|
extensionAfter={extensionAfter}
|
|
145
136
|
isNutanix={isNutanix}
|
|
146
137
|
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>
|
|
@@ -60,48 +60,65 @@ export const isValidImageSet = (
|
|
|
60
60
|
);
|
|
61
61
|
};
|
|
62
62
|
|
|
63
|
+
// Extracts major.minor version, strips any non-numeric prefix (e.g., "img4.18.55" → "4.18")
|
|
64
|
+
const extractMajorMinor = (version: string): string => {
|
|
65
|
+
const versionWithoutPrefix = version.replace(/^[^\d]*/, '');
|
|
66
|
+
return versionWithoutPrefix.split('.').slice(0, 2).join('.');
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// Converts a ClusterImageSet to an OpenshiftVersionOptionType
|
|
70
|
+
const toVersionOption = (
|
|
71
|
+
clusterImageSet: ClusterImageSetK8sResource,
|
|
72
|
+
): OpenshiftVersionOptionType => {
|
|
73
|
+
const version =
|
|
74
|
+
getVersionFromReleaseImage(clusterImageSet.spec?.releaseImage) ||
|
|
75
|
+
clusterImageSet.metadata?.name ||
|
|
76
|
+
'';
|
|
77
|
+
const cpuArch = getCPUArchFromReleaseImage(clusterImageSet.spec?.releaseImage);
|
|
78
|
+
return {
|
|
79
|
+
label: `OpenShift ${version}`,
|
|
80
|
+
version,
|
|
81
|
+
value: clusterImageSet.metadata?.name as string,
|
|
82
|
+
default: false,
|
|
83
|
+
// (rawagner) ACM does not have the warning so changing to 'production'
|
|
84
|
+
// supportLevel : getSupportLevelFromChannel(clusterImageSet.metadata?.labels?.channel)
|
|
85
|
+
supportLevel: 'production',
|
|
86
|
+
cpuArchitectures: cpuArch ? [cpuArch as CpuArchitecture] : undefined,
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* In case there are osImages specified on the AgentServiceConfig, we want to limit
|
|
92
|
+
* the availability in the dropdown to only versions that are listed there.
|
|
93
|
+
* Otherwise the installation fails.
|
|
94
|
+
*/
|
|
95
|
+
const hasMatchingOsImage = (
|
|
96
|
+
version: OpenshiftVersionOptionType,
|
|
97
|
+
osImageVersions: (string | undefined)[],
|
|
98
|
+
): boolean => {
|
|
99
|
+
if (!osImageVersions.length) return true;
|
|
100
|
+
return osImageVersions.includes(extractMajorMinor(version.version));
|
|
101
|
+
};
|
|
102
|
+
|
|
63
103
|
export const getOCPVersions = (
|
|
64
104
|
clusterImageSets: ClusterImageSetK8sResource[],
|
|
65
|
-
isNutanix?: boolean
|
|
105
|
+
isNutanix?: boolean,
|
|
66
106
|
osImages?: OsImage[],
|
|
67
107
|
extended?: boolean,
|
|
68
108
|
): OpenshiftVersionOptionType[] => {
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
);
|
|
109
|
+
const architectures = isNutanix ? supportedNutanixPlatforms : undefined;
|
|
110
|
+
const osImageVersions = [...new Set(osImages?.map((img) => img.openshiftVersion))];
|
|
72
111
|
|
|
73
112
|
const versions = clusterImageSets
|
|
74
|
-
.filter((clusterImageSet) =>
|
|
75
|
-
|
|
76
|
-
)
|
|
77
|
-
.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
label: `OpenShift ${version ? version : (clusterImageSet.metadata?.name as string)}`,
|
|
82
|
-
version: version || clusterImageSet.metadata?.name || '',
|
|
83
|
-
value: clusterImageSet.metadata?.name as string,
|
|
84
|
-
default: false,
|
|
85
|
-
// (rawagner) ACM does not have the warning so changing to 'production'
|
|
86
|
-
supportLevel: 'production', // getSupportLevelFromChannel(clusterImageSet.metadata?.labels?.channel),
|
|
87
|
-
cpuArchitectures: cpuArch ? [cpuArch as CpuArchitecture] : undefined,
|
|
88
|
-
};
|
|
89
|
-
})
|
|
90
|
-
.filter((ocpVersion) => {
|
|
91
|
-
const ver = ocpVersion.version.split('.').slice(0, 2).join('.');
|
|
92
|
-
return !!ocpImageVersions.length ? ocpImageVersions.includes(ver) : true;
|
|
93
|
-
})
|
|
94
|
-
.sort(
|
|
95
|
-
(versionA, versionB) => /* descending */ -1 * versionA.label.localeCompare(versionB.label),
|
|
96
|
-
);
|
|
97
|
-
|
|
98
|
-
if (versions.length) {
|
|
99
|
-
// make sure that the pre-selected one is the first-one after sorting
|
|
100
|
-
versions[0].default = true;
|
|
101
|
-
}
|
|
113
|
+
.filter((clusterImageSet) => isValidImageSet(clusterImageSet, architectures, extended))
|
|
114
|
+
.map(toVersionOption)
|
|
115
|
+
.filter((v) => hasMatchingOsImage(v, osImageVersions))
|
|
116
|
+
.sort((a, b) => b.label.localeCompare(a.label));
|
|
117
|
+
|
|
118
|
+
// Mark first version as the default selection
|
|
119
|
+
versions[0] && (versions[0].default = true);
|
|
102
120
|
|
|
103
|
-
|
|
104
|
-
return deduped;
|
|
121
|
+
return uniqBy(versions, (v) => v.version);
|
|
105
122
|
};
|
|
106
123
|
|
|
107
124
|
export const getSelectedVersion = (
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@openshift-assisted/locales": "2.14.
|
|
4
|
-
"@openshift-assisted/types": "2.14.
|
|
3
|
+
"@openshift-assisted/locales": "2.14.13-cim",
|
|
4
|
+
"@openshift-assisted/types": "2.14.13-cim",
|
|
5
5
|
"@openshift-console/dynamic-plugin-sdk": "0.0.3",
|
|
6
6
|
"@patternfly/patternfly": "5.2.0",
|
|
7
7
|
"@patternfly/react-code-editor": "5.2.0",
|
|
@@ -140,5 +140,5 @@
|
|
|
140
140
|
]
|
|
141
141
|
}
|
|
142
142
|
},
|
|
143
|
-
"version": "2.14.
|
|
143
|
+
"version": "2.14.13-cim"
|
|
144
144
|
}
|