@openshift-assisted/ui-lib 2.37.3 → 2.38.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/ClusterDetailsFormFields.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts +1 -1
- package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
- package/build/@types/cim/components/common/constants.d.ts.map +1 -1
- package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
- package/build/@types/cim/components/modals/AddHostModal.d.ts.map +1 -1
- package/build/@types/cim/types/k8s/infra-env-k8s-resource.d.ts +1 -0
- package/build/@types/cim/types/k8s/infra-env-k8s-resource.d.ts.map +1 -1
- package/build/@types/common/api/assisted-service/BundleAPI.d.ts +8 -0
- package/build/@types/common/api/assisted-service/BundleAPI.d.ts.map +1 -0
- package/build/@types/common/api/assisted-service/OperatorsAPI.d.ts +6 -0
- package/build/@types/common/api/assisted-service/OperatorsAPI.d.ts.map +1 -0
- package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts +7 -0
- package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -0
- package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/types.d.ts +3 -1
- package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
- package/build/@types/common/components/hosts/HostRowDetail.d.ts.map +1 -1
- package/build/@types/common/components/storage/DisksTable.d.ts.map +1 -1
- package/build/@types/common/config/constants.d.ts +5 -0
- package/build/@types/common/config/constants.d.ts.map +1 -1
- package/build/@types/common/config/docs_links.d.ts +9 -1
- package/build/@types/common/config/docs_links.d.ts.map +1 -1
- package/build/@types/common/selectors/clusterSelectors.d.ts +1 -0
- package/build/@types/common/selectors/clusterSelectors.d.ts.map +1 -1
- package/build/@types/common/types/clusters.d.ts +8 -0
- package/build/@types/common/types/clusters.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/ocm/components/SentryErrorMonitorContextProvider.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts +8 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts +4 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts +8 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts +4 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MceCheckbox.d.ts +4 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MceCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts +4 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts +10 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateRequirements.d.ts +7 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateRequirements.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts +8 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts +8 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts +5 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.d.ts +5 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts +4 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/OscCheckbox.d.ts +5 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OscCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts +8 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts +8 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts +8 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/SupportedOperators.d.ts +24 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/SupportedOperators.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts +4 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +1 -1
- package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
- package/build/@types/ocm/config/constants.d.ts +2 -0
- package/build/@types/ocm/config/constants.d.ts.map +1 -1
- package/build/@types/ocm/sentry.d.ts +2 -2
- package/build/@types/ocm/sentry.d.ts.map +1 -1
- package/build/@types/ocm/services/BundleService.d.ts +6 -0
- package/build/@types/ocm/services/BundleService.d.ts.map +1 -0
- package/build/@types/ocm/services/ClustersService.d.ts +1 -0
- package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
- package/build/@types/ocm/services/OperatorsService.d.ts +1 -0
- package/build/@types/ocm/services/OperatorsService.d.ts.map +1 -1
- package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +1 -0
- package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +4 -5
- package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/OpenshiftVersionDropdown.js +1 -1
- package/build/cjs/cim/components/InfraEnv/OpenshiftVersionDropdown.js.map +1 -1
- package/build/cjs/cim/components/common/constants.js +1 -1
- package/build/cjs/cim/components/common/constants.js.map +1 -1
- package/build/cjs/cim/components/helpers/toAssisted.js +2 -1
- package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
- package/build/cjs/cim/components/modals/AddHostModal.js +4 -5
- package/build/cjs/cim/components/modals/AddHostModal.js.map +1 -1
- package/build/cjs/common/api/assisted-service/BundleAPI.js +16 -0
- package/build/cjs/common/api/assisted-service/BundleAPI.js.map +1 -0
- package/build/cjs/common/api/assisted-service/OperatorsAPI.js +13 -0
- package/build/cjs/common/api/assisted-service/OperatorsAPI.js.map +1 -0
- package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +41 -0
- package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -0
- package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +4 -5
- package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.js +5 -5
- package/build/cjs/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +2 -2
- package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
- package/build/cjs/common/components/hosts/AITableMemo.js +16 -13
- package/build/cjs/common/components/hosts/AITableMemo.js.map +1 -1
- package/build/cjs/common/components/hosts/HostRowDetail.js +35 -1
- package/build/cjs/common/components/hosts/HostRowDetail.js.map +1 -1
- package/build/cjs/common/components/storage/DisksTable.js +16 -10
- package/build/cjs/common/components/storage/DisksTable.js.map +1 -1
- package/build/cjs/common/config/constants.js +11 -1
- package/build/cjs/common/config/constants.js.map +1 -1
- package/build/cjs/common/config/docs_links.js +10 -2
- package/build/cjs/common/config/docs_links.js.map +1 -1
- package/build/cjs/common/selectors/clusterSelectors.js +7 -1
- package/build/cjs/common/selectors/clusterSelectors.js.map +1 -1
- package/build/cjs/common/types/clusters.js.map +1 -1
- package/build/cjs/ocm/components/SentryErrorMonitorContextProvider.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js +10 -9
- package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +2 -2
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js +34 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js +8 -20
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js +34 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/LvmCheckbox.js +5 -21
- package/build/cjs/ocm/components/clusterConfiguration/operators/LvmCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/MceCheckbox.js +6 -7
- package/build/cjs/ocm/components/clusterConfiguration/operators/MceCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js +8 -13
- package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js +35 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateRequirements.js +48 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateRequirements.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js +34 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js +34 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js +11 -17
- package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.js +4 -17
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js +1 -12
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js +30 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/OscCheckbox.js +3 -12
- package/build/cjs/ocm/components/clusterConfiguration/operators/OscCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js +34 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js +34 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js +34 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/SupportedOperators.js +73 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/SupportedOperators.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js +19 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +4 -0
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/Operators.js +9 -1
- package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +239 -22
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +1 -1
- package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +41 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
- package/build/cjs/ocm/config/constants.js +155 -1
- package/build/cjs/ocm/config/constants.js.map +1 -1
- package/build/cjs/ocm/sentry.js +1 -1
- package/build/cjs/ocm/sentry.js.map +1 -1
- package/build/cjs/ocm/services/BundleService.js +20 -0
- package/build/cjs/ocm/services/BundleService.js.map +1 -0
- package/build/cjs/ocm/services/ClustersService.js +26 -0
- package/build/cjs/ocm/services/ClustersService.js.map +1 -1
- package/build/cjs/ocm/services/OperatorsService.js +16 -8
- package/build/cjs/ocm/services/OperatorsService.js.map +1 -1
- package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +4 -6
- package/lib/cim/components/InfraEnv/OpenshiftVersionDropdown.tsx +1 -1
- package/lib/cim/components/common/constants.ts +1 -2
- package/lib/cim/components/helpers/toAssisted.ts +1 -0
- package/lib/cim/components/modals/AddHostModal.tsx +4 -5
- package/lib/cim/types/k8s/infra-env-k8s-resource.ts +1 -0
- package/lib/common/api/assisted-service/BundleAPI.ts +18 -0
- package/lib/common/api/assisted-service/OperatorsAPI.ts +13 -0
- package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +93 -0
- package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +10 -12
- package/lib/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.tsx +9 -9
- package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +1 -1
- package/lib/common/components/clusterWizard/types.ts +4 -2
- package/lib/common/components/hosts/AITableMemo.tsx +1 -1
- package/lib/common/components/hosts/HostRowDetail.tsx +71 -1
- package/lib/common/components/storage/DisksTable.tsx +25 -18
- package/lib/common/config/constants.ts +10 -0
- package/lib/common/config/docs_links.ts +24 -1
- package/lib/common/selectors/clusterSelectors.ts +8 -0
- package/lib/common/types/clusters.ts +8 -0
- package/lib/common/types/ui-settings.ts +1 -0
- package/lib/ocm/components/SentryErrorMonitorContextProvider.tsx +1 -2
- package/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +13 -12
- package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +2 -2
- package/lib/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.tsx +67 -0
- package/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx +12 -25
- package/lib/ocm/components/clusterConfiguration/operators/LsoCheckbox.tsx +67 -0
- package/lib/ocm/components/clusterConfiguration/operators/LvmCheckbox.tsx +8 -26
- package/lib/ocm/components/clusterConfiguration/operators/MceCheckbox.tsx +10 -3
- package/lib/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.tsx +23 -12
- package/lib/ocm/components/clusterConfiguration/operators/NmstateCheckbox.tsx +85 -0
- package/lib/ocm/components/clusterConfiguration/operators/NmstateRequirements.tsx +53 -0
- package/lib/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.tsx +70 -0
- package/lib/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.tsx +67 -0
- package/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx +24 -18
- package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.tsx +11 -24
- package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.tsx +0 -14
- package/lib/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.tsx +36 -0
- package/lib/ocm/components/clusterConfiguration/operators/OscCheckbox.tsx +10 -25
- package/lib/ocm/components/clusterConfiguration/operators/PipelinesChekbox.tsx +68 -0
- package/lib/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.tsx +67 -0
- package/lib/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.tsx +67 -0
- package/lib/ocm/components/clusterConfiguration/operators/SupportedOperators.tsx +105 -0
- package/lib/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.tsx +26 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.tsx +1 -1
- package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +4 -0
- package/lib/ocm/components/clusterWizard/Operators.tsx +21 -1
- package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +419 -38
- package/lib/ocm/components/clusterWizard/wizardTransition.ts +1 -1
- package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +41 -1
- package/lib/ocm/config/constants.ts +156 -0
- package/lib/ocm/sentry.ts +2 -1
- package/lib/ocm/services/BundleService.ts +14 -0
- package/lib/ocm/services/ClustersService.ts +28 -0
- package/lib/ocm/services/OperatorsService.tsx +21 -10
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
|
|
3
3
|
import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
4
4
|
import {
|
|
@@ -9,18 +9,21 @@ import {
|
|
|
9
9
|
ClusterOperatorProps,
|
|
10
10
|
} from '../../../../common';
|
|
11
11
|
import { OcmCheckboxField } from '../../ui/OcmFormFields';
|
|
12
|
-
import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
|
|
13
12
|
import { useFormikContext } from 'formik';
|
|
14
13
|
import MtvRequirements from './MtvRequirements';
|
|
14
|
+
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
|
|
15
|
+
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
15
16
|
|
|
16
17
|
const Mtv_FIELD_NAME = 'useMigrationToolkitforVirtualization';
|
|
17
18
|
|
|
18
19
|
const MtvLabel = ({
|
|
19
20
|
disabledReason,
|
|
20
21
|
clusterId,
|
|
22
|
+
supportLevel,
|
|
21
23
|
}: {
|
|
22
24
|
disabledReason?: string;
|
|
23
25
|
clusterId: string;
|
|
26
|
+
supportLevel?: SupportLevel;
|
|
24
27
|
}) => (
|
|
25
28
|
<>
|
|
26
29
|
<Tooltip hidden={!disabledReason} content={disabledReason}>
|
|
@@ -31,6 +34,7 @@ const MtvLabel = ({
|
|
|
31
34
|
headerContent="Additional requirements"
|
|
32
35
|
bodyContent={<MtvRequirements clusterId={clusterId} />}
|
|
33
36
|
/>
|
|
37
|
+
<NewFeatureSupportLevelBadge featureId="MTV" supportLevel={supportLevel} />
|
|
34
38
|
</>
|
|
35
39
|
);
|
|
36
40
|
|
|
@@ -49,26 +53,33 @@ const MtvHelperText = () => {
|
|
|
49
53
|
);
|
|
50
54
|
};
|
|
51
55
|
|
|
52
|
-
const MtvCheckbox = ({
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
const MtvCheckbox = ({
|
|
57
|
+
clusterId,
|
|
58
|
+
disabledReason,
|
|
59
|
+
supportLevel,
|
|
60
|
+
}: {
|
|
61
|
+
clusterId: ClusterOperatorProps['clusterId'];
|
|
62
|
+
disabledReason?: string;
|
|
63
|
+
supportLevel?: SupportLevel | undefined;
|
|
64
|
+
}) => {
|
|
65
|
+
const { setFieldValue } = useFormikContext<OperatorsValues>();
|
|
55
66
|
const fieldId = getFieldId(Mtv_FIELD_NAME, 'input');
|
|
56
|
-
const [disabledReason, setDisabledReason] = useState<string | undefined>();
|
|
57
67
|
|
|
58
68
|
const selectCNVOperator = (checked: boolean) => {
|
|
59
69
|
setFieldValue('useContainerNativeVirtualization', checked);
|
|
60
70
|
};
|
|
61
71
|
|
|
62
|
-
React.useEffect(() => {
|
|
63
|
-
const disabledReason = featureSupportLevelContext.getFeatureDisabledReason('MTV');
|
|
64
|
-
setDisabledReason(disabledReason);
|
|
65
|
-
}, [values, featureSupportLevelContext]);
|
|
66
|
-
|
|
67
72
|
return (
|
|
68
73
|
<FormGroup isInline fieldId={fieldId}>
|
|
69
74
|
<OcmCheckboxField
|
|
70
75
|
name={Mtv_FIELD_NAME}
|
|
71
|
-
label={
|
|
76
|
+
label={
|
|
77
|
+
<MtvLabel
|
|
78
|
+
disabledReason={disabledReason}
|
|
79
|
+
clusterId={clusterId}
|
|
80
|
+
supportLevel={supportLevel}
|
|
81
|
+
/>
|
|
82
|
+
}
|
|
72
83
|
isDisabled={!!disabledReason}
|
|
73
84
|
helperText={<MtvHelperText />}
|
|
74
85
|
onChange={selectCNVOperator}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
|
|
3
|
+
import {
|
|
4
|
+
getFieldId,
|
|
5
|
+
PopoverIcon,
|
|
6
|
+
ClusterOperatorProps,
|
|
7
|
+
NMSTATE_OPERATOR_LINK,
|
|
8
|
+
} from '../../../../common';
|
|
9
|
+
import { OcmCheckboxField } from '../../ui/OcmFormFields';
|
|
10
|
+
import NmstateRequirements from './NmstateRequirements';
|
|
11
|
+
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
|
|
12
|
+
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
13
|
+
import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
14
|
+
|
|
15
|
+
const NMSTATE_FIELD_NAME = 'useNmstate';
|
|
16
|
+
|
|
17
|
+
const NmstateLabel = ({
|
|
18
|
+
disabledReason,
|
|
19
|
+
clusterId,
|
|
20
|
+
supportLevel,
|
|
21
|
+
}: {
|
|
22
|
+
disabledReason?: string;
|
|
23
|
+
clusterId: ClusterOperatorProps['clusterId'];
|
|
24
|
+
supportLevel?: SupportLevel;
|
|
25
|
+
}) => {
|
|
26
|
+
return (
|
|
27
|
+
<>
|
|
28
|
+
<Tooltip hidden={!disabledReason} content={disabledReason}>
|
|
29
|
+
<span>Install NMState </span>
|
|
30
|
+
</Tooltip>
|
|
31
|
+
<PopoverIcon
|
|
32
|
+
id={NMSTATE_FIELD_NAME}
|
|
33
|
+
component={'a'}
|
|
34
|
+
headerContent="Additional requirements"
|
|
35
|
+
bodyContent={<NmstateRequirements clusterId={clusterId} />}
|
|
36
|
+
/>
|
|
37
|
+
<NewFeatureSupportLevelBadge featureId="NMSTATE" supportLevel={supportLevel} />
|
|
38
|
+
</>
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const NmstateHelperText = () => {
|
|
43
|
+
return (
|
|
44
|
+
<HelperText>
|
|
45
|
+
<HelperTextItem variant="indeterminate">
|
|
46
|
+
Provides users with functionality to configure various network interface types, DNS, and
|
|
47
|
+
routing on cluster nodes.{' '}
|
|
48
|
+
<a href={NMSTATE_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
|
|
49
|
+
{'Learn more'} <ExternalLinkAltIcon />
|
|
50
|
+
</a>
|
|
51
|
+
</HelperTextItem>
|
|
52
|
+
</HelperText>
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const NmstateCheckbox = ({
|
|
57
|
+
clusterId,
|
|
58
|
+
disabledReason,
|
|
59
|
+
supportLevel,
|
|
60
|
+
}: {
|
|
61
|
+
clusterId: ClusterOperatorProps['clusterId'];
|
|
62
|
+
disabledReason?: string;
|
|
63
|
+
supportLevel?: SupportLevel | undefined;
|
|
64
|
+
}) => {
|
|
65
|
+
const fieldId = getFieldId(NMSTATE_FIELD_NAME, 'input');
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<FormGroup isInline fieldId={fieldId}>
|
|
69
|
+
<OcmCheckboxField
|
|
70
|
+
name={NMSTATE_FIELD_NAME}
|
|
71
|
+
label={
|
|
72
|
+
<NmstateLabel
|
|
73
|
+
clusterId={clusterId}
|
|
74
|
+
disabledReason={disabledReason}
|
|
75
|
+
supportLevel={supportLevel}
|
|
76
|
+
/>
|
|
77
|
+
}
|
|
78
|
+
helperText={<NmstateHelperText />}
|
|
79
|
+
isDisabled={!!disabledReason}
|
|
80
|
+
/>
|
|
81
|
+
</FormGroup>
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export default NmstateCheckbox;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import { List, ListItem } from '@patternfly/react-core';
|
|
4
|
+
import { useClusterPreflightRequirements } from '../../../hooks';
|
|
5
|
+
import { ErrorState, LoadingState, OPERATOR_NAME_NMSTATE, RenderIf } from '../../../../common';
|
|
6
|
+
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
7
|
+
import { selectIsCurrentClusterSNO } from '../../../store/slices/current-cluster/selectors';
|
|
8
|
+
|
|
9
|
+
const NmstateRequirements = ({ clusterId }: { clusterId: Cluster['id'] }) => {
|
|
10
|
+
const { preflightRequirements, error, isLoading } = useClusterPreflightRequirements(clusterId);
|
|
11
|
+
const isSingleNode = useSelector(selectIsCurrentClusterSNO);
|
|
12
|
+
|
|
13
|
+
if (isLoading) {
|
|
14
|
+
return <LoadingState content="Loading hardware requirements ..." />;
|
|
15
|
+
}
|
|
16
|
+
if (error) {
|
|
17
|
+
return <ErrorState />;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const NmstateRequirements = preflightRequirements?.operators?.find(
|
|
21
|
+
(operatorRequirements) => operatorRequirements.operatorName === OPERATOR_NAME_NMSTATE,
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const workerRequirements = NmstateRequirements?.requirements?.worker?.quantitative;
|
|
25
|
+
const masterRequirements = NmstateRequirements?.requirements?.master?.quantitative;
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<>
|
|
29
|
+
<List>
|
|
30
|
+
<RenderIf condition={!isSingleNode}>
|
|
31
|
+
<ListItem>
|
|
32
|
+
Each worker node requires an additional {workerRequirements?.ramMib || 360} MiB of
|
|
33
|
+
memory {workerRequirements?.diskSizeGb ? ',' : ''}{' '}
|
|
34
|
+
{workerRequirements?.cpuCores ? ` and ${workerRequirements?.cpuCores} CPUs` : ''}
|
|
35
|
+
{workerRequirements?.diskSizeGb
|
|
36
|
+
? ` and ${workerRequirements?.diskSizeGb} storage space`
|
|
37
|
+
: ''}
|
|
38
|
+
</ListItem>
|
|
39
|
+
</RenderIf>
|
|
40
|
+
<ListItem>
|
|
41
|
+
Each control plane node requires an additional {masterRequirements?.ramMib || 150} MiB of
|
|
42
|
+
memory {masterRequirements?.diskSizeGb ? ',' : ''}{' '}
|
|
43
|
+
{masterRequirements?.cpuCores ? ` and ${masterRequirements?.cpuCores} CPUs` : ''}
|
|
44
|
+
{masterRequirements?.diskSizeGb
|
|
45
|
+
? ` and ${masterRequirements?.diskSizeGb} storage space`
|
|
46
|
+
: ''}
|
|
47
|
+
</ListItem>
|
|
48
|
+
</List>
|
|
49
|
+
</>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default NmstateRequirements;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
|
|
3
|
+
import { getFieldId, NODE_FEATURE_DISCOVERY_OPERATOR_LINK, PopoverIcon } from '../../../../common';
|
|
4
|
+
import { OcmCheckboxField } from '../../ui/OcmFormFields';
|
|
5
|
+
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
6
|
+
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
|
|
7
|
+
import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
8
|
+
|
|
9
|
+
const NODEFEATUREDISCOVERY_FIELD_NAME = 'useNodeFeatureDiscovery';
|
|
10
|
+
|
|
11
|
+
const NodeFeatureDiscoveryLabel = ({
|
|
12
|
+
disabledReason,
|
|
13
|
+
supportLevel,
|
|
14
|
+
}: {
|
|
15
|
+
disabledReason?: string;
|
|
16
|
+
supportLevel?: SupportLevel;
|
|
17
|
+
}) => {
|
|
18
|
+
return (
|
|
19
|
+
<>
|
|
20
|
+
<Tooltip hidden={!disabledReason} content={disabledReason}>
|
|
21
|
+
<span>Install Node Feature Discovery </span>
|
|
22
|
+
</Tooltip>
|
|
23
|
+
<PopoverIcon
|
|
24
|
+
id={NODEFEATUREDISCOVERY_FIELD_NAME}
|
|
25
|
+
component={'a'}
|
|
26
|
+
bodyContent={'No additional requirements needed'}
|
|
27
|
+
/>
|
|
28
|
+
<NewFeatureSupportLevelBadge featureId="NODE_FEATURE_DISCOVERY" supportLevel={supportLevel} />
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const NodeFeatureDiscoveryHelperText = () => {
|
|
34
|
+
return (
|
|
35
|
+
<HelperText>
|
|
36
|
+
<HelperTextItem variant="indeterminate">
|
|
37
|
+
Manage the detection of hardware features and configuration by labeling nodes with
|
|
38
|
+
hardware-specific information.{' '}
|
|
39
|
+
<a href={NODE_FEATURE_DISCOVERY_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
|
|
40
|
+
{'Learn more'} <ExternalLinkAltIcon />
|
|
41
|
+
</a>
|
|
42
|
+
</HelperTextItem>
|
|
43
|
+
</HelperText>
|
|
44
|
+
);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const NodeFeatureDiscoveryCheckbox = ({
|
|
48
|
+
disabledReason,
|
|
49
|
+
supportLevel,
|
|
50
|
+
}: {
|
|
51
|
+
disabledReason?: string;
|
|
52
|
+
supportLevel?: SupportLevel | undefined;
|
|
53
|
+
}) => {
|
|
54
|
+
const fieldId = getFieldId(NODEFEATUREDISCOVERY_FIELD_NAME, 'input');
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<FormGroup isInline fieldId={fieldId}>
|
|
58
|
+
<OcmCheckboxField
|
|
59
|
+
name={NODEFEATUREDISCOVERY_FIELD_NAME}
|
|
60
|
+
label={
|
|
61
|
+
<NodeFeatureDiscoveryLabel disabledReason={disabledReason} supportLevel={supportLevel} />
|
|
62
|
+
}
|
|
63
|
+
helperText={<NodeFeatureDiscoveryHelperText />}
|
|
64
|
+
isDisabled={!!disabledReason}
|
|
65
|
+
/>
|
|
66
|
+
</FormGroup>
|
|
67
|
+
);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export default NodeFeatureDiscoveryCheckbox;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
|
|
3
|
+
import { getFieldId, NVIDIA_GPU_OPERATOR_LINK, PopoverIcon } from '../../../../common';
|
|
4
|
+
import { OcmCheckboxField } from '../../ui/OcmFormFields';
|
|
5
|
+
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
|
|
6
|
+
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
7
|
+
import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
8
|
+
|
|
9
|
+
const NVIDIAGPU_FIELD_NAME = 'useNvidiaGpu';
|
|
10
|
+
|
|
11
|
+
const NvidiaGpuLabel = ({
|
|
12
|
+
disabledReason,
|
|
13
|
+
supportLevel,
|
|
14
|
+
}: {
|
|
15
|
+
disabledReason?: string;
|
|
16
|
+
supportLevel?: SupportLevel;
|
|
17
|
+
}) => {
|
|
18
|
+
return (
|
|
19
|
+
<>
|
|
20
|
+
<Tooltip hidden={!disabledReason} content={disabledReason}>
|
|
21
|
+
<span>Install NVIDIA GPU </span>
|
|
22
|
+
</Tooltip>
|
|
23
|
+
<PopoverIcon
|
|
24
|
+
id={NVIDIAGPU_FIELD_NAME}
|
|
25
|
+
component={'a'}
|
|
26
|
+
bodyContent={'No additional requirements needed'}
|
|
27
|
+
/>
|
|
28
|
+
<NewFeatureSupportLevelBadge featureId="NVIDIA_GPU" supportLevel={supportLevel} />
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const NvidiaGpuHelperText = () => {
|
|
34
|
+
return (
|
|
35
|
+
<HelperText>
|
|
36
|
+
<HelperTextItem variant="indeterminate">
|
|
37
|
+
Automate the management of NVIDIA software components needed to provision and monitor GPUs.{' '}
|
|
38
|
+
<a href={NVIDIA_GPU_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
|
|
39
|
+
{'Learn more'} <ExternalLinkAltIcon />
|
|
40
|
+
</a>
|
|
41
|
+
</HelperTextItem>
|
|
42
|
+
</HelperText>
|
|
43
|
+
);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const NvidiaGpuCheckbox = ({
|
|
47
|
+
disabledReason,
|
|
48
|
+
supportLevel,
|
|
49
|
+
}: {
|
|
50
|
+
disabledReason?: string;
|
|
51
|
+
supportLevel?: SupportLevel | undefined;
|
|
52
|
+
}) => {
|
|
53
|
+
const fieldId = getFieldId(NVIDIAGPU_FIELD_NAME, 'input');
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<FormGroup isInline fieldId={fieldId}>
|
|
57
|
+
<OcmCheckboxField
|
|
58
|
+
name={NVIDIAGPU_FIELD_NAME}
|
|
59
|
+
label={<NvidiaGpuLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
|
|
60
|
+
helperText={<NvidiaGpuHelperText />}
|
|
61
|
+
isDisabled={!!disabledReason}
|
|
62
|
+
/>
|
|
63
|
+
</FormGroup>
|
|
64
|
+
);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export default NvidiaGpuCheckbox;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
|
|
3
3
|
import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
4
4
|
import {
|
|
@@ -9,13 +9,19 @@ import {
|
|
|
9
9
|
OperatorsValues,
|
|
10
10
|
} from '../../../../common';
|
|
11
11
|
import { OcmCheckboxField } from '../../ui/OcmFormFields';
|
|
12
|
-
import
|
|
12
|
+
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
13
|
+
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
|
|
13
14
|
import { useFormikContext } from 'formik';
|
|
14
|
-
import { getOdfIncompatibleWithLvmsReason } from '../../featureSupportLevels/featureStateUtils';
|
|
15
15
|
|
|
16
16
|
const ODF_FIELD_NAME = 'useOpenShiftDataFoundation';
|
|
17
17
|
|
|
18
|
-
const OdfLabel = ({
|
|
18
|
+
const OdfLabel = ({
|
|
19
|
+
disabledReason,
|
|
20
|
+
supportLevel,
|
|
21
|
+
}: {
|
|
22
|
+
disabledReason?: string;
|
|
23
|
+
supportLevel?: SupportLevel;
|
|
24
|
+
}) => (
|
|
19
25
|
<>
|
|
20
26
|
<Tooltip hidden={!disabledReason} content={disabledReason}>
|
|
21
27
|
<span>Install OpenShift Data Foundation </span>
|
|
@@ -29,6 +35,7 @@ const OdfLabel = ({ disabledReason }: { disabledReason?: string }) => (
|
|
|
29
35
|
</a>
|
|
30
36
|
}
|
|
31
37
|
/>
|
|
38
|
+
<NewFeatureSupportLevelBadge featureId="ODF" supportLevel={supportLevel} />
|
|
32
39
|
</>
|
|
33
40
|
);
|
|
34
41
|
|
|
@@ -45,27 +52,26 @@ const OdfHelperText = () => {
|
|
|
45
52
|
);
|
|
46
53
|
};
|
|
47
54
|
|
|
48
|
-
const OdfCheckbox = (
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
const OdfCheckbox = ({
|
|
56
|
+
disabledReason,
|
|
57
|
+
supportLevel,
|
|
58
|
+
}: {
|
|
59
|
+
disabledReason?: string;
|
|
60
|
+
supportLevel?: SupportLevel | undefined;
|
|
61
|
+
}) => {
|
|
62
|
+
const { setFieldValue } = useFormikContext<OperatorsValues>();
|
|
51
63
|
const fieldId = getFieldId(ODF_FIELD_NAME, 'input');
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
let disabledReason = featureSupportLevelContext.getFeatureDisabledReason('ODF');
|
|
56
|
-
if (!disabledReason) {
|
|
57
|
-
disabledReason = getOdfIncompatibleWithLvmsReason(values);
|
|
58
|
-
}
|
|
59
|
-
setDisabledReason(disabledReason);
|
|
60
|
-
}, [values, featureSupportLevelContext]);
|
|
61
|
-
|
|
64
|
+
const selectLsoOperator = (checked: boolean) => {
|
|
65
|
+
setFieldValue('useLso', checked);
|
|
66
|
+
};
|
|
62
67
|
return (
|
|
63
68
|
<FormGroup isInline fieldId={fieldId}>
|
|
64
69
|
<OcmCheckboxField
|
|
65
70
|
name={ODF_FIELD_NAME}
|
|
66
|
-
label={<OdfLabel disabledReason={disabledReason} />}
|
|
71
|
+
label={<OdfLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
|
|
67
72
|
isDisabled={!!disabledReason}
|
|
68
73
|
helperText={<OdfHelperText />}
|
|
74
|
+
onChange={selectLsoOperator}
|
|
69
75
|
/>
|
|
70
76
|
</FormGroup>
|
|
71
77
|
);
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
|
|
3
3
|
import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
4
|
-
import {
|
|
5
|
-
import { getFieldId, PopoverIcon, OPENSHIFT_AI_LINK, OperatorsValues } from '../../../../common';
|
|
4
|
+
import { getFieldId, PopoverIcon, OPENSHIFT_AI_LINK } from '../../../../common';
|
|
6
5
|
import OpenShiftAIRequirements from './OpenShiftAIRequirements';
|
|
7
6
|
import { OcmCheckboxField } from '../../ui/OcmFormFields';
|
|
8
|
-
import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
|
|
9
7
|
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
10
8
|
import { SupportLevel } from '@openshift-assisted/types/assisted-installer-service';
|
|
11
|
-
import { getOpenShiftAIIncompatibleWithLvmsReason } from '../../featureSupportLevels/featureStateUtils';
|
|
12
9
|
|
|
13
10
|
const OPENSHIFT_AI_FIELD_NAME = 'useOpenShiftAI';
|
|
14
11
|
|
|
@@ -21,7 +18,7 @@ const OpenShiftAILabel = ({ disabledReason, supportLevel }: OpenShiftAILabelProp
|
|
|
21
18
|
return (
|
|
22
19
|
<>
|
|
23
20
|
<Tooltip hidden={!disabledReason} content={disabledReason}>
|
|
24
|
-
<span>Install OpenShift AI
|
|
21
|
+
<span>Install OpenShift AI </span>
|
|
25
22
|
</Tooltip>
|
|
26
23
|
<PopoverIcon
|
|
27
24
|
component={'a'}
|
|
@@ -46,30 +43,20 @@ const OpenShiftAIHelperText = () => {
|
|
|
46
43
|
);
|
|
47
44
|
};
|
|
48
45
|
|
|
49
|
-
const OpenShiftAICheckbox = (
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
const OpenShiftAICheckbox = ({
|
|
47
|
+
disabledReason,
|
|
48
|
+
supportLevel,
|
|
49
|
+
}: {
|
|
50
|
+
disabledReason?: string;
|
|
51
|
+
supportLevel?: SupportLevel | undefined;
|
|
52
|
+
}) => {
|
|
52
53
|
const fieldId = getFieldId(OPENSHIFT_AI_FIELD_NAME, 'input');
|
|
53
|
-
const [disabledReason, setDisabledReason] = useState<string | undefined>();
|
|
54
|
-
|
|
55
|
-
React.useEffect(() => {
|
|
56
|
-
let disabledReason = featureSupportLevel.getFeatureDisabledReason('OPENSHIFT_AI');
|
|
57
|
-
if (!disabledReason) {
|
|
58
|
-
disabledReason = getOpenShiftAIIncompatibleWithLvmsReason(values);
|
|
59
|
-
}
|
|
60
|
-
setDisabledReason(disabledReason);
|
|
61
|
-
}, [values, featureSupportLevel]);
|
|
62
54
|
|
|
63
55
|
return (
|
|
64
56
|
<FormGroup isInline fieldId={fieldId}>
|
|
65
57
|
<OcmCheckboxField
|
|
66
58
|
name={OPENSHIFT_AI_FIELD_NAME}
|
|
67
|
-
label={
|
|
68
|
-
<OpenShiftAILabel
|
|
69
|
-
disabledReason={disabledReason}
|
|
70
|
-
supportLevel={featureSupportLevel.getFeatureSupportLevel('OPENSHIFT_AI')}
|
|
71
|
-
/>
|
|
72
|
-
}
|
|
59
|
+
label={<OpenShiftAILabel disabledReason={disabledReason} supportLevel={supportLevel} />}
|
|
73
60
|
isDisabled={!!disabledReason}
|
|
74
61
|
helperText={<OpenShiftAIHelperText />}
|
|
75
62
|
/>
|
|
@@ -11,20 +11,6 @@ const OpenShiftAIRequirements = () => {
|
|
|
11
11
|
<ListItem>
|
|
12
12
|
Each worker node requires 32 additional GiB of memory and 8 additional CPUs.
|
|
13
13
|
</ListItem>
|
|
14
|
-
<ListItem>At least one supported GPU. Currently only NVIDIA GPUs are supported.</ListItem>
|
|
15
|
-
<ListItem>
|
|
16
|
-
Nodes that have NVIDIA GPUs installed need to have secure boot disabled.
|
|
17
|
-
</ListItem>
|
|
18
|
-
</List>
|
|
19
|
-
Bundle operators:
|
|
20
|
-
<List>
|
|
21
|
-
<ListItem>OpenShift Data Foundation</ListItem>
|
|
22
|
-
<ListItem>Node Feature Discovery</ListItem>
|
|
23
|
-
<ListItem>NVIDIA GPU</ListItem>
|
|
24
|
-
<ListItem>Pipelines</ListItem>
|
|
25
|
-
<ListItem>Service Mesh</ListItem>
|
|
26
|
-
<ListItem>Serverless</ListItem>
|
|
27
|
-
<ListItem>Authorino</ListItem>
|
|
28
14
|
</List>
|
|
29
15
|
<a href={OPENSHIFT_AI_REQUIREMENTS_LINK} target="_blank" rel="noopener noreferrer">
|
|
30
16
|
Learn more <ExternalLinkAltIcon />.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { List, ListItem } from '@patternfly/react-core';
|
|
3
|
+
import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
4
|
+
import { OPENSHIFT_AI_REQUIREMENTS_LINK } from '../../../../common';
|
|
5
|
+
|
|
6
|
+
const OpenshiftAINvidiaRequirements = () => {
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<List>
|
|
10
|
+
<ListItem>At least two worker nodes.</ListItem>
|
|
11
|
+
<ListItem>
|
|
12
|
+
Each worker node requires 32 additional GiB of memory and 8 additional CPUs.
|
|
13
|
+
</ListItem>
|
|
14
|
+
<ListItem>At least one supported GPU. Currently only NVIDIA GPUs are supported.</ListItem>
|
|
15
|
+
<ListItem>
|
|
16
|
+
Nodes that have NVIDIA GPUs installed need to have secure boot disabled.
|
|
17
|
+
</ListItem>
|
|
18
|
+
</List>
|
|
19
|
+
Bundle operators:
|
|
20
|
+
<List>
|
|
21
|
+
<ListItem>Openshift AI</ListItem>
|
|
22
|
+
<ListItem>OpenShift Data Foundation</ListItem>
|
|
23
|
+
<ListItem>NVIDIA GPU</ListItem>
|
|
24
|
+
<ListItem>Pipelines</ListItem>
|
|
25
|
+
<ListItem>Service Mesh</ListItem>
|
|
26
|
+
<ListItem>Serverless</ListItem>
|
|
27
|
+
<ListItem>Authorino</ListItem>
|
|
28
|
+
</List>
|
|
29
|
+
<a href={OPENSHIFT_AI_REQUIREMENTS_LINK} target="_blank" rel="noopener noreferrer">
|
|
30
|
+
Learn more <ExternalLinkAltIcon />.
|
|
31
|
+
</a>
|
|
32
|
+
</>
|
|
33
|
+
);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export default OpenshiftAINvidiaRequirements;
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
|
|
3
3
|
import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
getFieldId,
|
|
7
|
-
PopoverIcon,
|
|
8
|
-
OSC_REQUIREMENTS_LINK,
|
|
9
|
-
OSC_LINK,
|
|
10
|
-
OperatorsValues,
|
|
11
|
-
} from '../../../../common';
|
|
4
|
+
import { getFieldId, PopoverIcon, OSC_REQUIREMENTS_LINK, OSC_LINK } from '../../../../common';
|
|
12
5
|
import { OcmCheckboxField } from '../../ui/OcmFormFields';
|
|
13
|
-
import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
|
|
14
6
|
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
15
7
|
import { SupportLevel } from '@openshift-assisted/types/assisted-installer-service';
|
|
16
8
|
|
|
@@ -57,27 +49,20 @@ const OscHelperText = () => {
|
|
|
57
49
|
);
|
|
58
50
|
};
|
|
59
51
|
|
|
60
|
-
const OscCheckbox = (
|
|
61
|
-
|
|
62
|
-
|
|
52
|
+
const OscCheckbox = ({
|
|
53
|
+
disabledReason,
|
|
54
|
+
supportLevel,
|
|
55
|
+
}: {
|
|
56
|
+
disabledReason?: string;
|
|
57
|
+
supportLevel?: SupportLevel | undefined;
|
|
58
|
+
}) => {
|
|
63
59
|
const fieldId = getFieldId(OSC_FIELD_NAME, 'input');
|
|
64
|
-
const [disabledReason, setDisabledReason] = useState<string | undefined>();
|
|
65
|
-
|
|
66
|
-
React.useEffect(() => {
|
|
67
|
-
const disabledReason = featureSupportLevel.getFeatureDisabledReason('OSC');
|
|
68
|
-
setDisabledReason(disabledReason);
|
|
69
|
-
}, [values, featureSupportLevel]);
|
|
70
60
|
|
|
71
61
|
return (
|
|
72
62
|
<FormGroup isInline fieldId={fieldId}>
|
|
73
63
|
<OcmCheckboxField
|
|
74
64
|
name={OSC_FIELD_NAME}
|
|
75
|
-
label={
|
|
76
|
-
<OscLabel
|
|
77
|
-
disabledReason={disabledReason}
|
|
78
|
-
supportLevel={featureSupportLevel.getFeatureSupportLevel('OSC')}
|
|
79
|
-
/>
|
|
80
|
-
}
|
|
65
|
+
label={<OscLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
|
|
81
66
|
isDisabled={!!disabledReason}
|
|
82
67
|
helperText={<OscHelperText />}
|
|
83
68
|
/>
|