@openshift-assisted/ui-lib 2.39.1 → 2.39.2
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/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts.map +1 -1
- package/build/@types/cim/components/helpers/versions.d.ts +0 -1
- package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
- package/build/@types/common/components/clusterDetail/ClusterProgressItems.d.ts.map +1 -1
- package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts +2 -3
- package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/types.d.ts +2 -4
- package/build/@types/common/components/clusterWizard/types.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/operatorSpecs.d.ts +22 -0
- package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -0
- package/build/@types/common/config/constants.d.ts +2 -15
- package/build/@types/common/config/constants.d.ts.map +1 -1
- package/build/@types/common/selectors/clusterSelectors.d.ts +1 -2
- package/build/@types/common/selectors/clusterSelectors.d.ts.map +1 -1
- package/build/@types/common/types/clusters.d.ts +3 -23
- package/build/@types/common/types/clusters.d.ts.map +1 -1
- package/build/@types/common/utils.d.ts +1 -0
- package/build/@types/common/utils.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmClusterProgressItems.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts +2 -3
- package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts +12 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/bundleSpecs.d.ts +13 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/bundleSpecs.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts +6 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts +1 -1
- package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/review/ReviewSummary.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/ProgressBarAlerts.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/Operators.d.ts +1 -3
- package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts +9 -0
- package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts +9 -0
- package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts +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/clusters/utils.d.ts +1 -5
- package/build/@types/ocm/components/clusters/utils.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts +1 -8
- package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
- package/build/@types/ocm/components/utils.d.ts +0 -2
- package/build/@types/ocm/components/utils.d.ts.map +1 -1
- package/build/@types/ocm/services/OperatorsService.d.ts +1 -10
- package/build/@types/ocm/services/OperatorsService.d.ts.map +1 -1
- package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js +2 -1
- package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js.map +1 -1
- package/build/cjs/cim/components/helpers/versions.js +3 -7
- package/build/cjs/cim/components/helpers/versions.js.map +1 -1
- package/build/cjs/common/components/clusterDetail/ClusterProgressItems.js +1 -1
- package/build/cjs/common/components/clusterDetail/ClusterProgressItems.js.map +1 -1
- package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js +7 -8
- package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -1
- package/build/cjs/common/components/operators/operatorSpecs.js +215 -0
- package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -0
- package/build/cjs/common/config/constants.js +6 -87
- package/build/cjs/common/config/constants.js.map +1 -1
- package/build/cjs/common/selectors/clusterSelectors.js.map +1 -1
- package/build/cjs/common/types/clusters.js.map +1 -1
- package/build/cjs/common/utils.js +6 -1
- package/build/cjs/common/utils.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +6 -8
- package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js +91 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js +39 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js +54 -19
- package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js +24 -18
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js +1 -6
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +3 -21
- package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/Operators.js +11 -38
- package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.css +6 -0
- package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js +123 -0
- package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js.map +1 -0
- package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +63 -0
- package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -0
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +25 -272
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +1 -4
- package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
- package/build/cjs/ocm/components/clusters/utils.js +1 -14
- package/build/cjs/ocm/components/clusters/utils.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js +0 -1
- package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +29 -78
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
- package/build/cjs/ocm/components/utils.js +1 -10
- package/build/cjs/ocm/components/utils.js.map +1 -1
- package/build/cjs/ocm/services/OperatorsService.js +4 -64
- package/build/cjs/ocm/services/OperatorsService.js.map +1 -1
- package/lib/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.tsx +2 -1
- package/lib/cim/components/helpers/versions.ts +1 -5
- package/lib/common/components/clusterDetail/ClusterProgressItems.tsx +1 -4
- package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +6 -12
- package/lib/common/components/clusterWizard/types.ts +3 -3
- package/lib/common/components/newFeatureSupportLevels/types.ts +4 -1
- package/lib/common/components/operators/operatorSpecs.tsx +343 -0
- package/lib/common/config/constants.ts +5 -99
- package/lib/common/selectors/clusterSelectors.ts +1 -2
- package/lib/common/types/clusters.ts +3 -23
- package/lib/common/utils.ts +5 -0
- package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/OcmClusterProgressItems.tsx +1 -4
- package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +5 -10
- package/lib/ocm/components/clusterConfiguration/operators/OperatorCheckbox.tsx +209 -0
- package/lib/ocm/components/clusterConfiguration/operators/bundleSpecs.tsx +64 -0
- package/lib/ocm/components/clusterConfiguration/operators/utils.tsx +88 -31
- package/lib/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.tsx +46 -43
- package/lib/ocm/components/clusterConfiguration/review/ReviewSummary.tsx +1 -15
- package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +3 -36
- package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +0 -1
- package/lib/ocm/components/clusterWizard/Operators.tsx +17 -77
- package/lib/ocm/components/clusterWizard/OperatorsBundle.css +6 -0
- package/lib/ocm/components/clusterWizard/OperatorsBundle.tsx +245 -0
- package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +108 -0
- package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +38 -445
- package/lib/ocm/components/clusterWizard/wizardTransition.ts +0 -4
- package/lib/ocm/components/clusters/utils.ts +0 -19
- package/lib/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.tsx +0 -1
- package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +33 -86
- package/lib/ocm/components/utils.ts +0 -12
- package/lib/ocm/services/OperatorsService.tsx +1 -100
- package/package.json +3 -3
- package/build/@types/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts +0 -11
- package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/KmmCheckbox.d.ts +0 -6
- package/build/@types/ocm/components/clusterConfiguration/operators/KmmCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts +0 -9
- package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts +0 -11
- package/build/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts +0 -7
- package/build/@types/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MceCheckbox.d.ts +0 -12
- package/build/@types/ocm/components/clusterConfiguration/operators/MceCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MceRequirements.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/MceRequirements.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts +0 -10
- package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MtvRequirements.d.ts +0 -7
- package/build/@types/ocm/components/clusterConfiguration/operators/MtvRequirements.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts +0 -11
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateRequirements.d.ts +0 -7
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateRequirements.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts +0 -9
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts +0 -9
- package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts +0 -4
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.d.ts +0 -4
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts +0 -4
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OscCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/OscCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts +0 -9
- package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/SupportedOperators.d.ts +0 -24
- package/build/@types/ocm/components/clusterConfiguration/operators/SupportedOperators.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts +0 -4
- package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.js +0 -29
- package/build/cjs/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js +0 -33
- package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js +0 -45
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js +0 -55
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.js +0 -34
- package/build/cjs/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/KmmCheckbox.js +0 -40
- package/build/cjs/ocm/components/clusterConfiguration/operators/KmmCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.js +0 -34
- package/build/cjs/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js +0 -33
- package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/LvmCheckbox.js +0 -44
- package/build/cjs/ocm/components/clusterConfiguration/operators/LvmCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/LvmHostRequirements.js +0 -22
- package/build/cjs/ocm/components/clusterConfiguration/operators/LvmHostRequirements.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/MceCheckbox.js +0 -35
- package/build/cjs/ocm/components/clusterConfiguration/operators/MceCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/MceRequirements.js +0 -54
- package/build/cjs/ocm/components/clusterConfiguration/operators/MceRequirements.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js +0 -43
- package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/MtvRequirements.js +0 -51
- package/build/cjs/ocm/components/clusterConfiguration/operators/MtvRequirements.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js +0 -35
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateRequirements.js +0 -48
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateRequirements.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js +0 -33
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.js +0 -34
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.js +0 -34
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js +0 -34
- package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js +0 -43
- package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.js +0 -35
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js +0 -19
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.js +0 -32
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js +0 -31
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OscCheckbox.js +0 -38
- package/build/cjs/ocm/components/clusterConfiguration/operators/OscCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js +0 -33
- package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.js +0 -34
- package/build/cjs/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js +0 -33
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js +0 -33
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/SupportedOperators.js +0 -101
- package/build/cjs/ocm/components/clusterConfiguration/operators/SupportedOperators.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js +0 -26
- package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js.map +0 -1
- package/lib/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.tsx +0 -64
- package/lib/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.tsx +0 -63
- package/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx +0 -105
- package/lib/ocm/components/clusterConfiguration/operators/CnvHostRequirements.tsx +0 -64
- package/lib/ocm/components/clusterConfiguration/operators/FenceAgentsRemediationCheckbox.tsx +0 -71
- package/lib/ocm/components/clusterConfiguration/operators/KmmCheckbox.tsx +0 -69
- package/lib/ocm/components/clusterConfiguration/operators/KubeDeschedulerCheckbox.tsx +0 -66
- package/lib/ocm/components/clusterConfiguration/operators/LsoCheckbox.tsx +0 -64
- package/lib/ocm/components/clusterConfiguration/operators/LvmCheckbox.tsx +0 -112
- package/lib/ocm/components/clusterConfiguration/operators/LvmHostRequirements.tsx +0 -38
- package/lib/ocm/components/clusterConfiguration/operators/MceCheckbox.tsx +0 -90
- package/lib/ocm/components/clusterConfiguration/operators/MceRequirements.tsx +0 -61
- package/lib/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.tsx +0 -94
- package/lib/ocm/components/clusterConfiguration/operators/MtvRequirements.tsx +0 -52
- package/lib/ocm/components/clusterConfiguration/operators/NmstateCheckbox.tsx +0 -82
- package/lib/ocm/components/clusterConfiguration/operators/NmstateRequirements.tsx +0 -53
- package/lib/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.tsx +0 -73
- package/lib/ocm/components/clusterConfiguration/operators/NodeHealthcheckCheckbox.tsx +0 -66
- package/lib/ocm/components/clusterConfiguration/operators/NodeMaintenanceOperatorCheckbox.tsx +0 -66
- package/lib/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.tsx +0 -70
- package/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx +0 -82
- package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.tsx +0 -67
- package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.tsx +0 -22
- package/lib/ocm/components/clusterConfiguration/operators/OpenshiftAIAmdRequirements.tsx +0 -36
- package/lib/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.tsx +0 -37
- package/lib/ocm/components/clusterConfiguration/operators/OscCheckbox.tsx +0 -73
- package/lib/ocm/components/clusterConfiguration/operators/PipelinesChekbox.tsx +0 -63
- package/lib/ocm/components/clusterConfiguration/operators/SelfNodeRemediationCheckbox.tsx +0 -68
- package/lib/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.tsx +0 -62
- package/lib/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.tsx +0 -64
- package/lib/ocm/components/clusterConfiguration/operators/SupportedOperators.tsx +0 -140
- package/lib/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.tsx +0 -35
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Checkbox,
|
|
4
|
+
FormGroup,
|
|
5
|
+
HelperText,
|
|
6
|
+
HelperTextItem,
|
|
7
|
+
List,
|
|
8
|
+
ListItem,
|
|
9
|
+
Stack,
|
|
10
|
+
StackItem,
|
|
11
|
+
Tooltip,
|
|
12
|
+
} from '@patternfly/react-core';
|
|
13
|
+
import { useFormikContext } from 'formik';
|
|
14
|
+
import { useSelector } from 'react-redux';
|
|
15
|
+
import {
|
|
16
|
+
Bundle,
|
|
17
|
+
Cluster,
|
|
18
|
+
PreflightHardwareRequirements,
|
|
19
|
+
} from '@openshift-assisted/types/assisted-installer-service';
|
|
20
|
+
import {
|
|
21
|
+
selectCurrentClusterPermissionsState,
|
|
22
|
+
selectIsCurrentClusterSNO,
|
|
23
|
+
} from '../../../store/slices/current-cluster/selectors';
|
|
24
|
+
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
25
|
+
import { getFieldId, OperatorsValues, PopoverIcon } from '../../../../common';
|
|
26
|
+
import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
|
|
27
|
+
import { getNewOperators } from './utils';
|
|
28
|
+
import {
|
|
29
|
+
OperatorSpec,
|
|
30
|
+
useOperatorSpecs,
|
|
31
|
+
} from '../../../../common/components/operators/operatorSpecs';
|
|
32
|
+
|
|
33
|
+
const OperatorRequirements = ({
|
|
34
|
+
operatorId,
|
|
35
|
+
preflightRequirements,
|
|
36
|
+
Requirements,
|
|
37
|
+
cluster,
|
|
38
|
+
}: {
|
|
39
|
+
cluster: Cluster;
|
|
40
|
+
operatorId: string;
|
|
41
|
+
preflightRequirements: PreflightHardwareRequirements | undefined;
|
|
42
|
+
Requirements?: React.ComponentType<{
|
|
43
|
+
cluster: Cluster;
|
|
44
|
+
}>;
|
|
45
|
+
}) => {
|
|
46
|
+
const isSingleNode = useSelector(selectIsCurrentClusterSNO);
|
|
47
|
+
|
|
48
|
+
const operator = preflightRequirements?.operators?.find(
|
|
49
|
+
(operatorRequirements) => operatorRequirements.operatorName === operatorId,
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const workerRequirements = operator?.requirements?.worker?.quantitative;
|
|
53
|
+
const masterRequirements = operator?.requirements?.master?.quantitative;
|
|
54
|
+
|
|
55
|
+
const hasWorkerRequirements = !!Object.keys(workerRequirements || {}).length;
|
|
56
|
+
const hasMasterRequirements = !!Object.keys(masterRequirements || {}).length;
|
|
57
|
+
|
|
58
|
+
if (!hasWorkerRequirements && !hasMasterRequirements && !Requirements) {
|
|
59
|
+
return (
|
|
60
|
+
<PopoverIcon
|
|
61
|
+
component={'a'}
|
|
62
|
+
id={operatorId}
|
|
63
|
+
bodyContent="No additional requirements needed"
|
|
64
|
+
/>
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<PopoverIcon
|
|
70
|
+
component={'a'}
|
|
71
|
+
headerContent="Additional requirements"
|
|
72
|
+
id={operatorId}
|
|
73
|
+
bodyContent={
|
|
74
|
+
<Stack hasGutter>
|
|
75
|
+
{Requirements && (
|
|
76
|
+
<StackItem>
|
|
77
|
+
<Requirements cluster={cluster} />
|
|
78
|
+
</StackItem>
|
|
79
|
+
)}
|
|
80
|
+
<StackItem>
|
|
81
|
+
<List>
|
|
82
|
+
{!isSingleNode && hasWorkerRequirements && (
|
|
83
|
+
<ListItem>
|
|
84
|
+
Each worker node requires an additional {workerRequirements?.ramMib || 360} MiB of
|
|
85
|
+
memory {workerRequirements?.diskSizeGb ? ',' : ' and'}{' '}
|
|
86
|
+
{workerRequirements?.cpuCores || 2} CPUs
|
|
87
|
+
{workerRequirements?.diskSizeGb
|
|
88
|
+
? ` and ${workerRequirements?.diskSizeGb} storage space`
|
|
89
|
+
: ''}
|
|
90
|
+
</ListItem>
|
|
91
|
+
)}
|
|
92
|
+
{hasMasterRequirements && (
|
|
93
|
+
<ListItem>
|
|
94
|
+
Each control plane node requires an additional {masterRequirements?.ramMib || 150}{' '}
|
|
95
|
+
MiB of memory {masterRequirements?.diskSizeGb ? ',' : ' and'}{' '}
|
|
96
|
+
{masterRequirements?.cpuCores || 4} CPUs
|
|
97
|
+
{masterRequirements?.diskSizeGb
|
|
98
|
+
? ` and ${masterRequirements?.diskSizeGb} storage space`
|
|
99
|
+
: ''}
|
|
100
|
+
</ListItem>
|
|
101
|
+
)}
|
|
102
|
+
</List>
|
|
103
|
+
</StackItem>
|
|
104
|
+
</Stack>
|
|
105
|
+
}
|
|
106
|
+
/>
|
|
107
|
+
);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
const OperatorCheckbox = ({
|
|
111
|
+
bundles,
|
|
112
|
+
cluster,
|
|
113
|
+
operatorId,
|
|
114
|
+
title,
|
|
115
|
+
featureId,
|
|
116
|
+
notStandalone,
|
|
117
|
+
Description,
|
|
118
|
+
Requirements,
|
|
119
|
+
openshiftVersion,
|
|
120
|
+
preflightRequirements,
|
|
121
|
+
}: {
|
|
122
|
+
bundles: Bundle[];
|
|
123
|
+
cluster: Cluster;
|
|
124
|
+
operatorId: string;
|
|
125
|
+
openshiftVersion?: string;
|
|
126
|
+
preflightRequirements: PreflightHardwareRequirements | undefined;
|
|
127
|
+
} & OperatorSpec) => {
|
|
128
|
+
const { getFeatureSupportLevel, getFeatureDisabledReason } = useNewFeatureSupportLevel();
|
|
129
|
+
const opSpecs = useOperatorSpecs();
|
|
130
|
+
|
|
131
|
+
const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
|
|
132
|
+
const { values, setFieldValue } = useFormikContext<OperatorsValues>();
|
|
133
|
+
const fieldId = getFieldId(operatorId, 'input');
|
|
134
|
+
const supportLevel = getFeatureSupportLevel(featureId);
|
|
135
|
+
|
|
136
|
+
const isInBundle = values.selectedBundles.some(
|
|
137
|
+
(sb) => !!bundles.find((b) => b.id === sb)?.operators?.includes(operatorId),
|
|
138
|
+
);
|
|
139
|
+
|
|
140
|
+
const isChecked = values.selectedOperators.includes(operatorId) || isInBundle;
|
|
141
|
+
|
|
142
|
+
const parentOperator = preflightRequirements?.operators?.find((op) =>
|
|
143
|
+
op.dependencies?.includes(operatorId),
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
let parentOperatorName = '';
|
|
147
|
+
if (
|
|
148
|
+
parentOperator?.operatorName &&
|
|
149
|
+
values.selectedOperators.includes(parentOperator.operatorName)
|
|
150
|
+
) {
|
|
151
|
+
parentOperatorName = opSpecs[parentOperator.operatorName]?.title || parentOperator.operatorName;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const disabledReason = isInBundle
|
|
155
|
+
? 'This operator is part of a bundle and cannot be deselected.'
|
|
156
|
+
: notStandalone
|
|
157
|
+
? 'This operator cannot be installed as a standalone'
|
|
158
|
+
: parentOperatorName
|
|
159
|
+
? `This operator is a dependency of ${parentOperatorName}`
|
|
160
|
+
: getFeatureDisabledReason(featureId);
|
|
161
|
+
|
|
162
|
+
return (
|
|
163
|
+
<FormGroup fieldId={fieldId} id={`form-control__${fieldId}`}>
|
|
164
|
+
<Checkbox
|
|
165
|
+
id={fieldId}
|
|
166
|
+
label={
|
|
167
|
+
<>
|
|
168
|
+
<Tooltip hidden={!disabledReason} content={disabledReason}>
|
|
169
|
+
<span>{title} </span>
|
|
170
|
+
</Tooltip>
|
|
171
|
+
<OperatorRequirements
|
|
172
|
+
operatorId={operatorId}
|
|
173
|
+
preflightRequirements={preflightRequirements}
|
|
174
|
+
Requirements={Requirements}
|
|
175
|
+
cluster={cluster}
|
|
176
|
+
/>
|
|
177
|
+
<NewFeatureSupportLevelBadge featureId={featureId} supportLevel={supportLevel} />
|
|
178
|
+
</>
|
|
179
|
+
}
|
|
180
|
+
aria-describedby={`${fieldId}-helper`}
|
|
181
|
+
isChecked={isChecked}
|
|
182
|
+
onChange={(_, checked) => {
|
|
183
|
+
setFieldValue(
|
|
184
|
+
'selectedOperators',
|
|
185
|
+
getNewOperators(
|
|
186
|
+
values.selectedOperators,
|
|
187
|
+
operatorId,
|
|
188
|
+
preflightRequirements,
|
|
189
|
+
checked,
|
|
190
|
+
opSpecs,
|
|
191
|
+
),
|
|
192
|
+
);
|
|
193
|
+
}}
|
|
194
|
+
isDisabled={isViewerMode || !!disabledReason}
|
|
195
|
+
description={
|
|
196
|
+
!!Description && (
|
|
197
|
+
<HelperText>
|
|
198
|
+
<HelperTextItem variant="indeterminate">
|
|
199
|
+
<Description openshiftVersion={openshiftVersion} />
|
|
200
|
+
</HelperTextItem>
|
|
201
|
+
</HelperText>
|
|
202
|
+
)
|
|
203
|
+
}
|
|
204
|
+
/>
|
|
205
|
+
</FormGroup>
|
|
206
|
+
);
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
export default OperatorCheckbox;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { List, ListItem } from '@patternfly/react-core';
|
|
3
|
+
import { FeatureId, OPENSHIFT_AI_REQUIREMENTS_LINK } from '../../../../common';
|
|
4
|
+
|
|
5
|
+
export type BundleSpec = {
|
|
6
|
+
featureId?: FeatureId;
|
|
7
|
+
noSNO?: boolean;
|
|
8
|
+
incompatibleBundles?: string[];
|
|
9
|
+
Description: React.ComponentType;
|
|
10
|
+
docsLink?: string;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const bundleSpecs: { [key: string]: BundleSpec } = {
|
|
14
|
+
virtualization: {
|
|
15
|
+
Description: () => (
|
|
16
|
+
<List>
|
|
17
|
+
<ListItem>
|
|
18
|
+
Enabled CPU virtualization support in BIOS (Intel-VT / AMD-V) on all nodes.
|
|
19
|
+
</ListItem>
|
|
20
|
+
<ListItem>
|
|
21
|
+
Each control plane node requires an additional 1024 MiB of memory and 3 CPUs.
|
|
22
|
+
</ListItem>
|
|
23
|
+
<ListItem>Each worker node requires an additional 1024 MiB of memory and 5 CPUs.</ListItem>
|
|
24
|
+
<ListItem>
|
|
25
|
+
Additional resources may be required to support the selected storage operator.
|
|
26
|
+
</ListItem>
|
|
27
|
+
</List>
|
|
28
|
+
),
|
|
29
|
+
},
|
|
30
|
+
'openshift-ai-nvidia': {
|
|
31
|
+
featureId: 'OPENSHIFT_AI',
|
|
32
|
+
noSNO: true,
|
|
33
|
+
incompatibleBundles: ['openshift-ai-amd'],
|
|
34
|
+
Description: () => (
|
|
35
|
+
<List>
|
|
36
|
+
<ListItem>At least two worker nodes.</ListItem>
|
|
37
|
+
<ListItem>
|
|
38
|
+
Each worker node requires 32 additional GiB of memory and 8 additional CPUs.
|
|
39
|
+
</ListItem>
|
|
40
|
+
<ListItem>At least one supported NVIDIA GPU.</ListItem>
|
|
41
|
+
<ListItem>
|
|
42
|
+
Nodes that have NVIDIA GPUs installed need to have secure boot disabled.
|
|
43
|
+
</ListItem>
|
|
44
|
+
</List>
|
|
45
|
+
),
|
|
46
|
+
docsLink: OPENSHIFT_AI_REQUIREMENTS_LINK,
|
|
47
|
+
},
|
|
48
|
+
'openshift-ai-amd': {
|
|
49
|
+
featureId: 'OPENSHIFT_AI',
|
|
50
|
+
noSNO: true,
|
|
51
|
+
incompatibleBundles: ['openshift-ai-nvidia'],
|
|
52
|
+
Description: () => (
|
|
53
|
+
<List>
|
|
54
|
+
<ListItem>At least two worker nodes.</ListItem>
|
|
55
|
+
<ListItem>
|
|
56
|
+
Each worker node requires 32 additional GiB of memory and 8 additional CPUs.
|
|
57
|
+
</ListItem>
|
|
58
|
+
<ListItem>At least one supported AMD GPU.</ListItem>
|
|
59
|
+
<ListItem>Nodes that have AMD GPUs installed need to have secure boot disabled.</ListItem>
|
|
60
|
+
</List>
|
|
61
|
+
),
|
|
62
|
+
docsLink: OPENSHIFT_AI_REQUIREMENTS_LINK,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
@@ -1,38 +1,95 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
2
|
+
Bundle,
|
|
3
|
+
PreflightHardwareRequirements,
|
|
4
|
+
} from '@openshift-assisted/types/assisted-installer-service';
|
|
5
|
+
import { OperatorSpec } from '../../../../common/components/operators/operatorSpecs';
|
|
6
|
+
|
|
7
|
+
const getOperatorDependencies = (
|
|
8
|
+
operatorId: string,
|
|
9
|
+
preflightRequirements: PreflightHardwareRequirements | undefined,
|
|
10
|
+
dependencies: Set<string> = new Set(),
|
|
11
|
+
) => {
|
|
12
|
+
const originalSize = dependencies.size;
|
|
13
|
+
const deps =
|
|
14
|
+
preflightRequirements?.operators?.find(({ operatorName }) => operatorName === operatorId)
|
|
15
|
+
?.dependencies || [];
|
|
16
|
+
|
|
17
|
+
deps.forEach((dep) => dependencies.add(dep));
|
|
18
|
+
|
|
19
|
+
if (originalSize !== dependencies.size) {
|
|
20
|
+
// add deps of new deps
|
|
21
|
+
deps.forEach((op) => {
|
|
22
|
+
getOperatorDependencies(op, preflightRequirements, dependencies);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return [...dependencies];
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const getNewOperators = (
|
|
29
|
+
currentOperators: string[],
|
|
30
|
+
operatorId: string,
|
|
31
|
+
preflightRequirements: PreflightHardwareRequirements | undefined,
|
|
32
|
+
add: boolean,
|
|
33
|
+
opSpecs: { [key: string]: OperatorSpec },
|
|
34
|
+
): string[] => {
|
|
35
|
+
const dependencies = getOperatorDependencies(operatorId, preflightRequirements);
|
|
36
|
+
|
|
37
|
+
if (add) {
|
|
38
|
+
return [...new Set([...currentOperators, ...dependencies, operatorId])];
|
|
23
39
|
}
|
|
24
40
|
|
|
25
|
-
|
|
41
|
+
const newOperators = currentOperators.filter((op) => op !== operatorId);
|
|
42
|
+
// uncheck unneeded not-standalone dependencies too
|
|
43
|
+
const notStandaloneDeps = dependencies
|
|
44
|
+
.filter((dep) => opSpecs[dep]?.notStandalone)
|
|
45
|
+
.filter((dep) =>
|
|
46
|
+
// some other operator may still depend on the not-standalone operator
|
|
47
|
+
newOperators.every((op) => !getOperatorDependencies(op, preflightRequirements).includes(dep)),
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
return currentOperators.filter((op) => op !== operatorId && !notStandaloneDeps.includes(op));
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const getBundleOperators = (
|
|
54
|
+
bundle: Bundle,
|
|
55
|
+
preflightRequirements: PreflightHardwareRequirements | undefined,
|
|
56
|
+
) => {
|
|
57
|
+
const bundleOperators = new Set(bundle.operators || []);
|
|
58
|
+
bundle.operators?.forEach((op) => {
|
|
59
|
+
getOperatorDependencies(op, preflightRequirements).forEach((dep) => bundleOperators.add(dep));
|
|
60
|
+
});
|
|
61
|
+
return [...bundleOperators];
|
|
26
62
|
};
|
|
27
63
|
|
|
28
|
-
export const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
64
|
+
export const getNewBundleOperators = (
|
|
65
|
+
currentOperators: string[],
|
|
66
|
+
currentBundles: string[],
|
|
67
|
+
allBundles: Bundle[],
|
|
68
|
+
newBundle: Bundle,
|
|
69
|
+
preflightRequirements: PreflightHardwareRequirements | undefined,
|
|
70
|
+
add: boolean,
|
|
71
|
+
): string[] => {
|
|
72
|
+
const newBundleOperators = getBundleOperators(newBundle, preflightRequirements);
|
|
73
|
+
|
|
74
|
+
if (add) {
|
|
75
|
+
return [...new Set([...currentOperators, ...newBundleOperators])];
|
|
37
76
|
}
|
|
77
|
+
|
|
78
|
+
const newBundles = currentBundles.filter((b) => b !== newBundle.id);
|
|
79
|
+
const operatorsToKeep = [
|
|
80
|
+
...newBundles.reduce((acc, bundleId) => {
|
|
81
|
+
const bundle = allBundles.find(({ id }) => id === bundleId);
|
|
82
|
+
if (bundle) {
|
|
83
|
+
const bundleOperators = getBundleOperators(bundle, preflightRequirements);
|
|
84
|
+
bundleOperators.forEach((op) => {
|
|
85
|
+
acc.add(op);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return acc;
|
|
89
|
+
}, new Set<string>()),
|
|
90
|
+
];
|
|
91
|
+
|
|
92
|
+
const operatorsToRemove = newBundleOperators.filter((op) => !operatorsToKeep.includes(op));
|
|
93
|
+
|
|
94
|
+
return currentOperators.filter((op) => !operatorsToRemove.includes(op));
|
|
38
95
|
};
|
|
@@ -1,53 +1,56 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Table, TableVariant, Tbody, Td, Tr } from '@patternfly/react-table';
|
|
3
|
-
import {
|
|
4
|
-
ExposedOperatorNames,
|
|
5
|
-
hasEnabledOperators,
|
|
6
|
-
genericTableRowKey,
|
|
7
|
-
operatorLabels,
|
|
8
|
-
} from '../../../../common';
|
|
9
|
-
import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
|
|
10
|
-
import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
|
|
3
|
+
import { genericTableRowKey } from '../../../../common';
|
|
11
4
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
5
|
+
import { TableSummaryExpandable } from './TableSummaryExpandable';
|
|
6
|
+
import { useOperatorSpecs } from '../../../../common/components/operators/operatorSpecs';
|
|
12
7
|
|
|
13
8
|
export const ReviewOperatorsTable = ({ cluster }: { cluster: Cluster }) => {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
9
|
+
const opSpecs = useOperatorSpecs();
|
|
10
|
+
const rows = React.useMemo(
|
|
11
|
+
() =>
|
|
12
|
+
cluster.monitoredOperators
|
|
13
|
+
?.filter(({ name }) => !!name && !!opSpecs[name])
|
|
14
|
+
.map((op) => {
|
|
15
|
+
const opId = op.name as string;
|
|
16
|
+
return {
|
|
17
|
+
rowId: `operator-${opId}`,
|
|
18
|
+
cells: [
|
|
19
|
+
{ title: opSpecs[opId].title },
|
|
20
|
+
{
|
|
21
|
+
title: 'Enabled',
|
|
22
|
+
props: { 'data-testid': `operator-${opId}` },
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
}),
|
|
27
|
+
[cluster.monitoredOperators, opSpecs],
|
|
28
|
+
);
|
|
17
29
|
|
|
18
|
-
|
|
19
|
-
return
|
|
20
|
-
|
|
21
|
-
).map((operator) => ({
|
|
22
|
-
rowId: `operator-${operator}`,
|
|
23
|
-
cells: [
|
|
24
|
-
{ title: operatorNames[operator] },
|
|
25
|
-
{
|
|
26
|
-
title: 'Enabled',
|
|
27
|
-
props: { 'data-testid': `operator-${operator}` },
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
}));
|
|
31
|
-
}, [cluster.monitoredOperators, operatorNames]);
|
|
30
|
+
if (!rows?.length) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
32
33
|
|
|
33
34
|
return (
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
{row.
|
|
44
|
-
|
|
45
|
-
{cell.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
35
|
+
<TableSummaryExpandable title={'Operators'} id={'operators-expandable'}>
|
|
36
|
+
<Table
|
|
37
|
+
variant={TableVariant.compact}
|
|
38
|
+
borders={false}
|
|
39
|
+
aria-label={'Operators review table'}
|
|
40
|
+
className="review-table"
|
|
41
|
+
>
|
|
42
|
+
<Tbody>
|
|
43
|
+
{rows.map((row, i) => (
|
|
44
|
+
<Tr key={genericTableRowKey(row.rowId)}>
|
|
45
|
+
{row.cells.map((cell, j) => (
|
|
46
|
+
<Td key={`cell-${i}-${j}`} {...cell.props}>
|
|
47
|
+
{cell.title}
|
|
48
|
+
</Td>
|
|
49
|
+
))}
|
|
50
|
+
</Tr>
|
|
51
|
+
))}
|
|
52
|
+
</Tbody>
|
|
53
|
+
</Table>
|
|
54
|
+
</TableSummaryExpandable>
|
|
52
55
|
);
|
|
53
56
|
};
|
|
@@ -3,15 +3,10 @@ import { ExpandableSection } from '@patternfly/react-core';
|
|
|
3
3
|
import {
|
|
4
4
|
DetailItem,
|
|
5
5
|
DetailList,
|
|
6
|
-
hasEnabledOperators,
|
|
7
6
|
isClusterPlatformTypeVM,
|
|
8
|
-
OPERATOR_NAME_CNV,
|
|
9
|
-
OPERATOR_NAME_LVM,
|
|
10
|
-
OPERATOR_NAME_ODF,
|
|
11
7
|
ReviewHostsInventory,
|
|
12
8
|
SupportedPlatformType,
|
|
13
9
|
RenderIf,
|
|
14
|
-
OPERATOR_NAME_MCE,
|
|
15
10
|
} from '../../../../common';
|
|
16
11
|
import {
|
|
17
12
|
ReviewClusterDetailTable,
|
|
@@ -26,11 +21,6 @@ import useClusterCustomManifests from '../../../hooks/useClusterCustomManifests'
|
|
|
26
21
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
27
22
|
|
|
28
23
|
export const ReviewSummaryContent = ({ cluster }: { cluster: Cluster }) => {
|
|
29
|
-
const showOperatorsSummary =
|
|
30
|
-
hasEnabledOperators(cluster.monitoredOperators, OPERATOR_NAME_CNV) ||
|
|
31
|
-
hasEnabledOperators(cluster.monitoredOperators, OPERATOR_NAME_ODF) ||
|
|
32
|
-
hasEnabledOperators(cluster.monitoredOperators, OPERATOR_NAME_LVM) ||
|
|
33
|
-
hasEnabledOperators(cluster.monitoredOperators, OPERATOR_NAME_MCE);
|
|
34
24
|
const { customManifests } = useClusterCustomManifests(cluster.id, false);
|
|
35
25
|
return (
|
|
36
26
|
<>
|
|
@@ -38,11 +28,7 @@ export const ReviewSummaryContent = ({ cluster }: { cluster: Cluster }) => {
|
|
|
38
28
|
<ReviewClusterDetailTable cluster={cluster} />
|
|
39
29
|
</TableSummaryExpandable>
|
|
40
30
|
|
|
41
|
-
{
|
|
42
|
-
<TableSummaryExpandable title={'Operators'} id={'operators-expandable'}>
|
|
43
|
-
<ReviewOperatorsTable cluster={cluster} />
|
|
44
|
-
</TableSummaryExpandable>
|
|
45
|
-
)}
|
|
31
|
+
<ReviewOperatorsTable cluster={cluster} />
|
|
46
32
|
|
|
47
33
|
<TableSummaryExpandable title={'Host inventory'} id={'host-inventory-expandable'}>
|
|
48
34
|
<>
|
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Alert, AlertActionLink, Text, TextContent } from '@patternfly/react-core';
|
|
3
3
|
import { pluralize } from 'humanize-plus';
|
|
4
|
-
import { TFunction } from 'i18next';
|
|
5
4
|
import {
|
|
6
5
|
RenderIf,
|
|
7
6
|
toSentence,
|
|
8
7
|
canDownloadClusterLogs,
|
|
9
8
|
getReportIssueLink,
|
|
10
|
-
operatorLabels,
|
|
11
9
|
useAlerts,
|
|
12
|
-
OperatorName,
|
|
13
10
|
} from '../../../common';
|
|
14
|
-
import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
|
|
15
11
|
import { downloadClusterInstallationLogs } from './utils';
|
|
16
12
|
import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
|
|
17
13
|
import { isInOcm } from '../../../common/api';
|
|
18
|
-
import {
|
|
19
|
-
NewFeatureSupportLevelData,
|
|
20
|
-
useNewFeatureSupportLevel,
|
|
21
|
-
} from '../../../common/components/newFeatureSupportLevels';
|
|
22
14
|
import { Cluster, MonitoredOperator } from '@openshift-assisted/types/assisted-installer-service';
|
|
15
|
+
import { useOperatorSpecs } from '../../../common/components/operators/operatorSpecs';
|
|
23
16
|
|
|
24
17
|
type InstallationProgressWarningProps = {
|
|
25
18
|
cluster: Cluster;
|
|
@@ -32,26 +25,6 @@ type InstallationProgressWarningProps = {
|
|
|
32
25
|
isCriticalNumberOfWorkersFailed?: boolean;
|
|
33
26
|
};
|
|
34
27
|
|
|
35
|
-
const getFailedOperatorsNames = (
|
|
36
|
-
failedOperators: MonitoredOperator[],
|
|
37
|
-
openshiftVersion: Cluster['openshiftVersion'],
|
|
38
|
-
featureSupportLevel: NewFeatureSupportLevelData,
|
|
39
|
-
t: TFunction,
|
|
40
|
-
): string => {
|
|
41
|
-
let failedOperatorsNames = '';
|
|
42
|
-
const translatedOperatorLabels = operatorLabels(t, featureSupportLevel);
|
|
43
|
-
for (let i = 0; i < failedOperators.length; i++) {
|
|
44
|
-
const operatorName = (failedOperators[i].name as OperatorName) || '';
|
|
45
|
-
const operatorLabel: string = (operatorName && translatedOperatorLabels[operatorName]) || '';
|
|
46
|
-
if (i > 0) {
|
|
47
|
-
if (i === failedOperators.length - 1) failedOperatorsNames += ' and ';
|
|
48
|
-
else failedOperatorsNames += ', ';
|
|
49
|
-
}
|
|
50
|
-
failedOperatorsNames += `${operatorLabel} (${operatorName.toUpperCase()})`;
|
|
51
|
-
}
|
|
52
|
-
return failedOperatorsNames;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
28
|
const getFailedHostsMessage = (
|
|
56
29
|
failedHosts: number,
|
|
57
30
|
totalHosts: number,
|
|
@@ -93,8 +66,7 @@ export const HostInstallationWarning = ({
|
|
|
93
66
|
message,
|
|
94
67
|
}: InstallationProgressWarningProps) => {
|
|
95
68
|
const { addAlert, clearAlerts } = useAlerts();
|
|
96
|
-
const
|
|
97
|
-
const featureSupportLevel = useNewFeatureSupportLevel();
|
|
69
|
+
const opSpecs = useOperatorSpecs();
|
|
98
70
|
|
|
99
71
|
return (
|
|
100
72
|
<>
|
|
@@ -121,12 +93,7 @@ export const HostInstallationWarning = ({
|
|
|
121
93
|
</RenderIf>
|
|
122
94
|
<RenderIf condition={failedOperators?.length > 0}>
|
|
123
95
|
<p>
|
|
124
|
-
{
|
|
125
|
-
failedOperators,
|
|
126
|
-
cluster.openshiftVersion,
|
|
127
|
-
featureSupportLevel,
|
|
128
|
-
t,
|
|
129
|
-
)}{' '}
|
|
96
|
+
{failedOperators.map(({ name }) => opSpecs[name || '']?.title || name).join(' and ')}{' '}
|
|
130
97
|
failed to install. Due to this, the cluster will be degraded, but you can try to install
|
|
131
98
|
the operator from the Operator Hub. Please check the installation log for more
|
|
132
99
|
information.
|