@openshift-assisted/ui-lib 2.41.2 → 2.42.1
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.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/LabelsSelector.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/ScaleUpForm.d.ts +1 -0
- package/build/@types/cim/components/ClusterDeployment/ScaleUpForm.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/InfraEnvOpenShiftVersionDropdown.d.ts.map +1 -1
- package/build/@types/cim/components/common/CpuArchitectureDropdown.d.ts.map +1 -1
- package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
- package/build/@types/cim/components/modals/ScaleUpModal.d.ts +1 -0
- package/build/@types/cim/components/modals/ScaleUpModal.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.d.ts +1 -0
- package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/types.d.ts +1 -0
- package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
- package/build/@types/common/components/hosts/DiskRole.d.ts.map +1 -1
- package/build/@types/common/components/hosts/TableToolbar.d.ts.map +1 -1
- package/build/@types/common/components/newFeatureSupportLevels/types.d.ts +1 -1
- package/build/@types/common/components/newFeatureSupportLevels/types.d.ts.map +1 -1
- package/build/@types/common/components/operators/operatorDescriptions.d.ts +23 -0
- package/build/@types/common/components/operators/operatorDescriptions.d.ts.map +1 -0
- package/build/@types/common/components/operators/operatorSpecs.d.ts +25 -4
- package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -1
- package/build/@types/common/components/ui/ClusterEventsToolbar.d.ts.map +1 -1
- package/build/@types/common/components/ui/OpenShiftVersionDropdown.d.ts +0 -1
- package/build/@types/common/components/ui/OpenShiftVersionDropdown.d.ts.map +1 -1
- package/build/@types/common/components/ui/SimpleDropdown.d.ts +2 -2
- package/build/@types/common/components/ui/SimpleDropdown.d.ts.map +1 -1
- package/build/@types/common/config/constants.d.ts.map +1 -1
- package/build/@types/common/config/docs_links.d.ts +1 -2
- package/build/@types/common/config/docs_links.d.ts.map +1 -1
- package/build/@types/common/index.d.ts +1 -0
- package/build/@types/common/index.d.ts.map +1 -1
- package/build/@types/common/types/ui-settings.d.ts +1 -0
- package/build/@types/common/types/ui-settings.d.ts.map +1 -1
- package/build/@types/common/utils.d.ts +8 -0
- package/build/@types/common/utils.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts +2 -0
- package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmTNADisclaimer.d.ts +4 -0
- package/build/@types/ocm/components/clusterConfiguration/OcmTNADisclaimer.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
- package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
- package/build/@types/ocm/services/DiskEncryptionService.d.ts +1 -1
- package/build/@types/ocm/services/DiskEncryptionService.d.ts.map +1 -1
- package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js +2 -2
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js +2 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/LabelsSelector.js +5 -5
- package/build/cjs/cim/components/ClusterDeployment/LabelsSelector.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ScaleUpForm.js +2 -2
- package/build/cjs/cim/components/ClusterDeployment/ScaleUpForm.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +29 -28
- package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js +16 -14
- package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +2 -2
- package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/InfraEnvOpenShiftVersionDropdown.js +4 -8
- package/build/cjs/cim/components/InfraEnv/InfraEnvOpenShiftVersionDropdown.js.map +1 -1
- package/build/cjs/cim/components/common/CpuArchitectureDropdown.js +3 -3
- package/build/cjs/cim/components/common/CpuArchitectureDropdown.js.map +1 -1
- package/build/cjs/cim/components/helpers/versions.js +1 -1
- package/build/cjs/cim/components/helpers/versions.js.map +1 -1
- package/build/cjs/cim/components/modals/MassApproveAction.js +2 -2
- package/build/cjs/cim/components/modals/MassApproveAction.js.map +1 -1
- package/build/cjs/cim/components/modals/ScaleUpModal.js +3 -3
- package/build/cjs/cim/components/modals/ScaleUpModal.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +5 -6
- package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js +11 -6
- package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js.map +1 -1
- package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js +1 -1
- package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +2 -1
- package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
- package/build/cjs/common/components/hosts/DiskRole.js +5 -5
- package/build/cjs/common/components/hosts/DiskRole.js.map +1 -1
- package/build/cjs/common/components/hosts/HostToolbarActions.js +3 -3
- package/build/cjs/common/components/hosts/HostToolbarActions.js.map +1 -1
- package/build/cjs/common/components/hosts/TableToolbar.js +15 -15
- package/build/cjs/common/components/hosts/TableToolbar.js.map +1 -1
- package/build/cjs/common/components/operators/operatorDescriptions.js +26 -0
- package/build/cjs/common/components/operators/operatorDescriptions.js.map +1 -0
- package/build/cjs/common/components/operators/operatorSpecs.js +332 -189
- package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -1
- package/build/cjs/common/components/ui/ClusterEventsToolbar.js +1 -1
- package/build/cjs/common/components/ui/ClusterEventsToolbar.js.map +1 -1
- package/build/cjs/common/components/ui/OpenShiftVersionDropdown.js +13 -16
- package/build/cjs/common/components/ui/OpenShiftVersionDropdown.js.map +1 -1
- package/build/cjs/common/components/ui/SimpleDropdown.js +4 -5
- package/build/cjs/common/components/ui/SimpleDropdown.js.map +1 -1
- package/build/cjs/common/config/constants.js +10 -0
- package/build/cjs/common/config/constants.js.map +1 -1
- package/build/cjs/common/config/docs_links.js +41 -25
- package/build/cjs/common/config/docs_links.js.map +1 -1
- package/build/cjs/common/index.js +1 -0
- package/build/cjs/common/index.js.map +1 -1
- package/build/cjs/common/utils.js +27 -1
- package/build/cjs/common/utils.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js +23 -13
- package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js +3 -5
- package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.js +15 -17
- package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +5 -7
- package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +16 -0
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmTNADisclaimer.js +14 -0
- package/build/cjs/ocm/components/clusterConfiguration/OcmTNADisclaimer.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js +6 -8
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js +7 -10
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js +2 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +11 -13
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js +4 -0
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +1 -1
- package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +7 -4
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js +14 -10
- package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +13 -15
- package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +5 -15
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
- package/build/cjs/ocm/components/hosts/use-hosts-table.js +9 -2
- package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
- package/build/cjs/ocm/services/DiskEncryptionService.js +11 -3
- package/build/cjs/ocm/services/DiskEncryptionService.js.map +1 -1
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx +4 -2
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.tsx +8 -6
- package/lib/cim/components/ClusterDeployment/LabelsSelector.tsx +27 -14
- package/lib/cim/components/ClusterDeployment/ScaleUpForm.tsx +3 -0
- package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +60 -47
- package/lib/cim/components/InfraEnv/EnvironmentDetails.tsx +7 -10
- package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +1 -1
- package/lib/cim/components/InfraEnv/InfraEnvOpenShiftVersionDropdown.tsx +34 -22
- package/lib/cim/components/common/CpuArchitectureDropdown.tsx +6 -3
- package/lib/cim/components/helpers/versions.ts +2 -2
- package/lib/cim/components/modals/MassApproveAction.tsx +1 -1
- package/lib/cim/components/modals/ScaleUpModal.tsx +5 -2
- package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +30 -17
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.tsx +20 -5
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.ts +1 -0
- package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +1 -1
- package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +3 -0
- package/lib/common/components/clusterWizard/types.ts +1 -0
- package/lib/common/components/hosts/DiskRole.tsx +23 -17
- package/lib/common/components/hosts/HostToolbarActions.tsx +1 -1
- package/lib/common/components/hosts/TableToolbar.tsx +54 -48
- package/lib/common/components/newFeatureSupportLevels/types.ts +1 -0
- package/lib/common/components/operators/operatorDescriptions.tsx +58 -0
- package/lib/common/components/operators/operatorSpecs.tsx +425 -257
- package/lib/common/components/ui/ClusterEventsToolbar.tsx +1 -0
- package/lib/common/components/ui/OpenShiftVersionDropdown.tsx +38 -44
- package/lib/common/components/ui/SimpleDropdown.tsx +23 -22
- package/lib/common/config/constants.ts +11 -0
- package/lib/common/config/docs_links.ts +44 -30
- package/lib/common/index.ts +1 -0
- package/lib/common/types/ui-settings.ts +1 -0
- package/lib/common/utils.ts +30 -0
- package/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +46 -15
- package/lib/ocm/components/clusterConfiguration/CpuArchitectureDropdown.tsx +26 -20
- package/lib/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.tsx +47 -46
- package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +16 -13
- package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +33 -1
- package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/OcmTNADisclaimer.tsx +23 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.tsx +26 -26
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.tsx +26 -30
- package/lib/ocm/components/clusterConfiguration/operators/OperatorCheckbox.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/operators/utils.tsx +2 -1
- package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +34 -33
- package/lib/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.tsx +2 -1
- package/lib/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.tsx +4 -0
- package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +1 -1
- package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +15 -5
- package/lib/ocm/components/clusterWizard/OperatorsBundle.tsx +15 -17
- package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +33 -27
- package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +7 -18
- package/lib/ocm/components/hosts/use-hosts-table.tsx +9 -3
- package/lib/ocm/services/DiskEncryptionService.ts +7 -1
- package/package.json +3 -3
- package/build/cjs/common/components/ui/OpenShiftVersionDropdown.css +0 -9
- package/lib/common/components/ui/OpenShiftVersionDropdown.css +0 -9
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
|
|
3
3
|
import { useDispatch } from 'react-redux';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
useAlerts,
|
|
6
|
+
LoadingState,
|
|
7
|
+
ClusterWizardStep,
|
|
8
|
+
ErrorState,
|
|
9
|
+
UISettingsValues,
|
|
10
|
+
} from '../../../common';
|
|
5
11
|
import { usePullSecret } from '../../hooks';
|
|
6
12
|
import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../../common/api';
|
|
7
13
|
import { setServerUpdateError, updateCluster } from '../../store/slices/current-cluster/slice';
|
|
@@ -81,11 +87,15 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
|
|
|
81
87
|
}
|
|
82
88
|
const cluster = await ClustersService.create(params, isAssistedMigration);
|
|
83
89
|
navigate(`../${cluster.id}`, { state: ClusterWizardFlowStateNew });
|
|
84
|
-
|
|
85
|
-
|
|
90
|
+
|
|
91
|
+
const uiPatch: UISettingsValues = { addCustomManifests };
|
|
86
92
|
if (isAssistedMigration) {
|
|
87
|
-
|
|
93
|
+
//For Assisted Migration we need to enable virtualization bundle
|
|
94
|
+
uiPatch.bundlesSelected = ['virtualization'];
|
|
95
|
+
uiPatch.isAssistedMigration = true;
|
|
88
96
|
}
|
|
97
|
+
await UISettingService.update(cluster.id, uiPatch);
|
|
98
|
+
await clusterWizardContext.updateUISettings(uiPatch); // keeps local state current
|
|
89
99
|
} catch (e) {
|
|
90
100
|
handleApiError(e, () =>
|
|
91
101
|
addAlert({ title: 'Failed to create new cluster', message: getApiErrorMessage(e) }),
|
|
@@ -95,7 +105,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
|
|
|
95
105
|
}
|
|
96
106
|
}
|
|
97
107
|
},
|
|
98
|
-
[clearAlerts, location.search, navigate, addAlert, dispatch],
|
|
108
|
+
[clearAlerts, location.search, navigate, clusterWizardContext, addAlert, dispatch],
|
|
99
109
|
);
|
|
100
110
|
|
|
101
111
|
const navigation = <ClusterWizardNavigation cluster={cluster} />;
|
|
@@ -24,21 +24,18 @@ import NewFeatureSupportLevelBadge, {
|
|
|
24
24
|
} from '../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
25
25
|
import { ExternalLink, OperatorsValues, PopoverIcon, singleClusterBundles } from '../../../common';
|
|
26
26
|
import { useFormikContext } from 'formik';
|
|
27
|
-
import {
|
|
28
|
-
GetFeatureSupportLevel,
|
|
29
|
-
useNewFeatureSupportLevel,
|
|
30
|
-
} from '../../../common/components/newFeatureSupportLevels';
|
|
27
|
+
import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
|
|
31
28
|
import { useFeature } from '../../hooks/use-feature';
|
|
32
29
|
import { useSelector } from 'react-redux';
|
|
33
30
|
import { selectIsCurrentClusterSNO } from '../../store/slices/current-cluster/selectors';
|
|
34
31
|
import { getNewBundleOperators } from '../clusterConfiguration/operators/utils';
|
|
35
32
|
import { bundleSpecs } from '../clusterConfiguration/operators/bundleSpecs';
|
|
36
|
-
import { useOperatorSpecs } from '../../../common/components/operators/operatorSpecs';
|
|
37
|
-
|
|
33
|
+
import { OperatorSpec, useOperatorSpecs } from '../../../common/components/operators/operatorSpecs';
|
|
34
|
+
import { useClusterWizardContext } from './ClusterWizardContext';
|
|
38
35
|
import './OperatorsBundle.css';
|
|
39
36
|
|
|
40
37
|
const BundleLabel = ({ bundle }: { bundle: Bundle }) => {
|
|
41
|
-
const opSpecs = useOperatorSpecs();
|
|
38
|
+
const { byKey: opSpecs } = useOperatorSpecs();
|
|
42
39
|
const bundleSpec = bundleSpecs[bundle.id || ''];
|
|
43
40
|
|
|
44
41
|
return (
|
|
@@ -80,19 +77,17 @@ const BundleLabel = ({ bundle }: { bundle: Bundle }) => {
|
|
|
80
77
|
|
|
81
78
|
const getBundleSupportLevel = (
|
|
82
79
|
bundle: Bundle,
|
|
83
|
-
|
|
84
|
-
getFeatureSupportLevel: GetFeatureSupportLevel,
|
|
80
|
+
opSpecsByKey: Record<string, OperatorSpec>,
|
|
85
81
|
): NewSupportLevelBadgeProps['supportLevel'] => {
|
|
86
82
|
let supportLevel: NewSupportLevelBadgeProps['supportLevel'] = undefined;
|
|
87
83
|
if (bundle.operators) {
|
|
88
84
|
for (const op of bundle.operators) {
|
|
89
|
-
const operatorSpec =
|
|
85
|
+
const operatorSpec = opSpecsByKey[op];
|
|
90
86
|
if (operatorSpec) {
|
|
91
|
-
|
|
92
|
-
if (opSupportLevel === 'dev-preview') {
|
|
87
|
+
if (operatorSpec.supportLevel === 'dev-preview') {
|
|
93
88
|
supportLevel = 'dev-preview';
|
|
94
89
|
break;
|
|
95
|
-
} else if (
|
|
90
|
+
} else if (operatorSpec.supportLevel === 'tech-preview') {
|
|
96
91
|
supportLevel = 'tech-preview';
|
|
97
92
|
}
|
|
98
93
|
}
|
|
@@ -112,10 +107,11 @@ const BundleCard = ({
|
|
|
112
107
|
}) => {
|
|
113
108
|
const { values, setFieldValue } = useFormikContext<OperatorsValues>();
|
|
114
109
|
const isSNO = useSelector(selectIsCurrentClusterSNO);
|
|
115
|
-
const { isFeatureSupported
|
|
116
|
-
const opSpecs = useOperatorSpecs();
|
|
110
|
+
const { isFeatureSupported } = useNewFeatureSupportLevel();
|
|
111
|
+
const { byKey: opSpecs } = useOperatorSpecs();
|
|
112
|
+
const { uiSettings } = useClusterWizardContext();
|
|
117
113
|
|
|
118
|
-
const supportLevel = getBundleSupportLevel(bundle, opSpecs
|
|
114
|
+
const supportLevel = getBundleSupportLevel(bundle, opSpecs);
|
|
119
115
|
|
|
120
116
|
const hasUnsupportedOperators = !!bundle.operators?.some((op) => {
|
|
121
117
|
const operatorSpec = opSpecs[op];
|
|
@@ -130,7 +126,7 @@ const BundleCard = ({
|
|
|
130
126
|
const incompatibleBundle = bundleSpec?.incompatibleBundles?.find((b) =>
|
|
131
127
|
values.selectedBundles.includes(b),
|
|
132
128
|
);
|
|
133
|
-
|
|
129
|
+
const isAssistedMigration = uiSettings?.isAssistedMigration;
|
|
134
130
|
const disabledReason = hasUnsupportedOperators
|
|
135
131
|
? 'Some operators in this bundle are not supported with the current configuration.'
|
|
136
132
|
: isSNO && bundleSpec?.noSNO
|
|
@@ -139,6 +135,8 @@ const BundleCard = ({
|
|
|
139
135
|
? `Bundle cannot be installed together with ${
|
|
140
136
|
bundles.find(({ id }) => id === incompatibleBundle)?.title || incompatibleBundle
|
|
141
137
|
}`
|
|
138
|
+
: isAssistedMigration
|
|
139
|
+
? 'This bundle needs to be selected for clusters created from Migration Assessment'
|
|
142
140
|
: undefined;
|
|
143
141
|
|
|
144
142
|
const onSelect = (checked: boolean) => {
|
|
@@ -53,51 +53,57 @@ const OperatorsSelect = ({
|
|
|
53
53
|
void fetchSupportedOperators();
|
|
54
54
|
}, [addAlert, setSupportedOperators, setIsLoading]);
|
|
55
55
|
|
|
56
|
-
const opSpecs = useOperatorSpecs();
|
|
56
|
+
const { byCategory, byKey: opSpecs } = useOperatorSpecs();
|
|
57
57
|
|
|
58
58
|
const operators = React.useMemo(() => {
|
|
59
|
-
return supportedOperators
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (!isSingleClusterFeatureEnabled) {
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
return singleClusterOperators.includes(op);
|
|
70
|
-
});
|
|
71
|
-
}, [isSingleClusterFeatureEnabled, supportedOperators, opSpecs]);
|
|
59
|
+
return supportedOperators.filter((op) => {
|
|
60
|
+
if (!isSingleClusterFeatureEnabled) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
return singleClusterOperators.includes(op);
|
|
64
|
+
});
|
|
65
|
+
}, [isSingleClusterFeatureEnabled, supportedOperators]);
|
|
72
66
|
|
|
73
67
|
if (isLoading) {
|
|
74
68
|
return <LoadingState />;
|
|
75
69
|
}
|
|
76
70
|
|
|
71
|
+
const selectedOperators = values.selectedOperators.filter(
|
|
72
|
+
(opKey) => operators.includes(opKey) && !!opSpecs[opKey],
|
|
73
|
+
);
|
|
74
|
+
|
|
77
75
|
return (
|
|
78
76
|
<ExpandableSection
|
|
79
|
-
toggleText={`Single Operators (${operators.length} | ${
|
|
77
|
+
toggleText={`Single Operators (${operators.length} | ${selectedOperators.length} selected)`}
|
|
80
78
|
onToggle={() => setIsExpanded(!isExpanded)}
|
|
81
79
|
isExpanded={isExpanded}
|
|
82
80
|
data-testid="single-operators-section"
|
|
83
81
|
>
|
|
84
82
|
<Stack hasGutter data-testid={'operators-form'}>
|
|
85
|
-
{
|
|
86
|
-
|
|
83
|
+
{Object.entries(byCategory).map(([categoryName, specs]) => {
|
|
84
|
+
const categoryOperators = specs.filter((spec) => operators.includes(spec.operatorKey));
|
|
85
|
+
if (categoryOperators.length === 0) {
|
|
87
86
|
return null;
|
|
88
87
|
}
|
|
89
88
|
|
|
90
89
|
return (
|
|
91
|
-
<
|
|
92
|
-
<
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
90
|
+
<React.Fragment key={categoryName}>
|
|
91
|
+
<StackItem>
|
|
92
|
+
<strong>{categoryName}</strong>
|
|
93
|
+
</StackItem>
|
|
94
|
+
{categoryOperators.map((spec) => (
|
|
95
|
+
<StackItem key={spec.operatorKey}>
|
|
96
|
+
<OperatorCheckbox
|
|
97
|
+
bundles={bundles}
|
|
98
|
+
operatorId={spec.operatorKey}
|
|
99
|
+
cluster={cluster}
|
|
100
|
+
openshiftVersion={cluster.openshiftVersion}
|
|
101
|
+
preflightRequirements={preflightRequirements}
|
|
102
|
+
{...spec}
|
|
103
|
+
/>
|
|
104
|
+
</StackItem>
|
|
105
|
+
))}
|
|
106
|
+
</React.Fragment>
|
|
101
107
|
);
|
|
102
108
|
})}
|
|
103
109
|
</Stack>
|
|
@@ -4,11 +4,6 @@ import {
|
|
|
4
4
|
CpuArchitecture,
|
|
5
5
|
FeatureId,
|
|
6
6
|
isSNO,
|
|
7
|
-
OPERATOR_NAME_CNV,
|
|
8
|
-
OPERATOR_NAME_LVM,
|
|
9
|
-
OPERATOR_NAME_ODF,
|
|
10
|
-
OPERATOR_NAME_OPENSHIFT_AI,
|
|
11
|
-
OPERATOR_NAME_OSC,
|
|
12
7
|
SupportedCpuArchitecture,
|
|
13
8
|
} from '../../../common';
|
|
14
9
|
import {
|
|
@@ -17,7 +12,7 @@ import {
|
|
|
17
12
|
SupportLevel,
|
|
18
13
|
} from '@openshift-assisted/types/assisted-installer-service';
|
|
19
14
|
import { ExternalPlatformLabels } from '../clusterConfiguration/platformIntegration/constants';
|
|
20
|
-
import {
|
|
15
|
+
import { getOperatorTitleByFeatureId } from '../../../common/components/operators/operatorSpecs';
|
|
21
16
|
|
|
22
17
|
export const clusterExistsReason = 'This option is not editable after the draft cluster is created';
|
|
23
18
|
|
|
@@ -46,10 +41,7 @@ const getOdfDisabledReason = (
|
|
|
46
41
|
return undefined;
|
|
47
42
|
}
|
|
48
43
|
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
const operatorTitle = opSpecs[OPERATOR_NAME_ODF]?.title || '';
|
|
52
|
-
|
|
44
|
+
const operatorTitle = getOperatorTitleByFeatureId('ODF') || '';
|
|
53
45
|
const isArm = activeFeatureConfiguration?.underlyingCpuArchitecture === CpuArchitecture.ARM;
|
|
54
46
|
if (isArm && isSNO(cluster)) {
|
|
55
47
|
return `${operatorTitle} is not available when using Single Node OpenShift or ARM CPU architecture.`;
|
|
@@ -75,8 +67,8 @@ const getCnvDisabledReason = (
|
|
|
75
67
|
return undefined;
|
|
76
68
|
}
|
|
77
69
|
|
|
78
|
-
const
|
|
79
|
-
|
|
70
|
+
const operatorTitle = getOperatorTitleByFeatureId('CNV') || '';
|
|
71
|
+
|
|
80
72
|
if (platformType === 'nutanix') {
|
|
81
73
|
return `${operatorTitle} is not available when Nutanix platform type is selected.`;
|
|
82
74
|
}
|
|
@@ -105,8 +97,7 @@ const getLvmDisabledReason = (
|
|
|
105
97
|
return undefined;
|
|
106
98
|
}
|
|
107
99
|
|
|
108
|
-
const
|
|
109
|
-
const operatorTitle = opSpecs[OPERATOR_NAME_LVM]?.title;
|
|
100
|
+
const operatorTitle = getOperatorTitleByFeatureId('LVM') || '';
|
|
110
101
|
if (platformType === 'nutanix') {
|
|
111
102
|
return `${operatorTitle} is not supported when Nutanix platform type is selected.`;
|
|
112
103
|
}
|
|
@@ -125,8 +116,7 @@ const getOscDisabledReason = (
|
|
|
125
116
|
return undefined;
|
|
126
117
|
}
|
|
127
118
|
|
|
128
|
-
const
|
|
129
|
-
const operatorTitle = opSpecs[OPERATOR_NAME_OSC]?.title || '';
|
|
119
|
+
const operatorTitle = getOperatorTitleByFeatureId('OSC') || '';
|
|
130
120
|
if (!isSupported) {
|
|
131
121
|
return `${operatorTitle} is not supported in this OpenShift version.`;
|
|
132
122
|
}
|
|
@@ -299,8 +289,7 @@ const getOpenShiftAIDisabledReason = (
|
|
|
299
289
|
return undefined;
|
|
300
290
|
}
|
|
301
291
|
|
|
302
|
-
const
|
|
303
|
-
const operatorTitle = opSpecs[OPERATOR_NAME_OPENSHIFT_AI]?.title || '';
|
|
292
|
+
const operatorTitle = getOperatorTitleByFeatureId('OPENSHIFT_AI') || '';
|
|
304
293
|
const isArm = activeFeatureConfiguration?.underlyingCpuArchitecture === CpuArchitecture.ARM;
|
|
305
294
|
if (isArm) {
|
|
306
295
|
return `${operatorTitle} is not available when ARM CPU architecture is selected.`;
|
|
@@ -60,8 +60,10 @@ import {
|
|
|
60
60
|
selectCurrentClusterPermissionsState,
|
|
61
61
|
selectCurrentClusterState,
|
|
62
62
|
} from '../../store/slices/current-cluster/selectors';
|
|
63
|
+
import { useFeature } from '../../hooks/use-feature';
|
|
63
64
|
|
|
64
65
|
export const useHostsTable = (cluster: Cluster) => {
|
|
66
|
+
const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
|
|
65
67
|
const { addAlert } = useAlerts();
|
|
66
68
|
const {
|
|
67
69
|
eventsDialog,
|
|
@@ -248,8 +250,12 @@ export const useHostsTable = (cluster: Cluster) => {
|
|
|
248
250
|
|
|
249
251
|
const actionChecks = React.useMemo(
|
|
250
252
|
() => ({
|
|
251
|
-
canEditRole: (host: Host) =>
|
|
252
|
-
|
|
253
|
+
canEditRole: (host: Host) => {
|
|
254
|
+
if (isSingleClusterFeatureEnabled && host.bootstrap) {
|
|
255
|
+
return false;
|
|
256
|
+
}
|
|
257
|
+
return !isViewerMode && canEditRoleUtil(cluster.status, host.status, isSNO(cluster));
|
|
258
|
+
},
|
|
253
259
|
canInstallHost: (host: Host) => !isViewerMode && canInstallHostUtil(cluster, host.status),
|
|
254
260
|
canEditDisks: (host: Host) => !isViewerMode && canEditDisksUtil(cluster.status, host.status),
|
|
255
261
|
canEnable: (host: Host) => !isViewerMode && canEnableUtil(cluster.status, host.status),
|
|
@@ -259,7 +265,7 @@ export const useHostsTable = (cluster: Cluster) => {
|
|
|
259
265
|
canReset: (host: Host) => !isViewerMode && canResetUtil(cluster.status, host.status),
|
|
260
266
|
canEditHostname: () => !isViewerMode && canEditHostnameUtil(cluster.status),
|
|
261
267
|
}),
|
|
262
|
-
[cluster, isViewerMode],
|
|
268
|
+
[cluster, isViewerMode, isSingleClusterFeatureEnabled],
|
|
263
269
|
);
|
|
264
270
|
|
|
265
271
|
const onReset = React.useCallback(() => {
|
|
@@ -8,9 +8,14 @@ const DiskEncryptionService = {
|
|
|
8
8
|
diskEncryptionEnableOn(
|
|
9
9
|
isEnableOnMasters: boolean,
|
|
10
10
|
isEnableOnWorkers: boolean,
|
|
11
|
+
isEnableOnArbiters: boolean,
|
|
11
12
|
): DiskEncryption['enableOn'] {
|
|
12
13
|
let enableOnParam: DiskEncryption['enableOn'];
|
|
13
|
-
if (isEnableOnMasters && isEnableOnWorkers) enableOnParam = 'all';
|
|
14
|
+
if (isEnableOnMasters && isEnableOnWorkers && isEnableOnArbiters) enableOnParam = 'all';
|
|
15
|
+
else if (isEnableOnMasters && isEnableOnWorkers) enableOnParam = 'masters,workers';
|
|
16
|
+
else if (isEnableOnMasters && isEnableOnArbiters) enableOnParam = 'masters,arbiters';
|
|
17
|
+
else if (isEnableOnWorkers && isEnableOnArbiters) enableOnParam = 'arbiters,workers';
|
|
18
|
+
else if (isEnableOnArbiters) enableOnParam = 'arbiters';
|
|
14
19
|
else if (isEnableOnWorkers) enableOnParam = 'workers';
|
|
15
20
|
else if (isEnableOnMasters) enableOnParam = 'masters';
|
|
16
21
|
else enableOnParam = 'none';
|
|
@@ -28,6 +33,7 @@ const DiskEncryptionService = {
|
|
|
28
33
|
: DiskEncryptionService.diskEncryptionEnableOn(
|
|
29
34
|
values.enableDiskEncryptionOnMasters,
|
|
30
35
|
values.enableDiskEncryptionOnWorkers,
|
|
36
|
+
values.enableDiskEncryptionOnArbiters,
|
|
31
37
|
),
|
|
32
38
|
tangServers:
|
|
33
39
|
values.diskEncryptionMode === 'tang'
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@openshift-assisted/locales": "2.
|
|
4
|
-
"@openshift-assisted/types": "2.
|
|
3
|
+
"@openshift-assisted/locales": "2.42.1",
|
|
4
|
+
"@openshift-assisted/types": "2.42.1",
|
|
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.
|
|
143
|
+
"version": "2.42.1"
|
|
144
144
|
}
|