UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

238 lines 10.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.hostsNetworkConfigurationDisabledReason = exports.isFeatureSupportedAndAvailable = exports.getNewFeatureDisabledReason = exports.clusterExistsReason = void 0; const common_1 = require("../../../common"); const constants_1 = require("../clusterConfiguration/platformIntegration/constants"); const operatorSpecs_1 = require("../../../common/components/operators/operatorSpecs"); exports.clusterExistsReason = 'This option is not editable after the draft cluster is created'; const getSNODisabledReason = (cluster, isSupported) => { if (cluster) { return exports.clusterExistsReason; } if (!isSupported) { return 'Single-Node OpenShift is not supported in this OpenShift version'; } return ''; }; const getArmDisabledReason = (cluster) => { if (cluster) { return exports.clusterExistsReason; } else return 'arm64 is not supported in this OpenShift version'; }; const getOdfDisabledReason = (cluster, activeFeatureConfiguration, isSupported) => { if (!cluster) { return undefined; } const operatorTitle = (0, operatorSpecs_1.getOperatorTitleByFeatureId)('ODF') || ''; const isArm = (activeFeatureConfiguration === null || activeFeatureConfiguration === void 0 ? void 0 : activeFeatureConfiguration.underlyingCpuArchitecture) === common_1.CpuArchitecture.ARM; if (isArm && (0, common_1.isSNO)(cluster)) { return `${operatorTitle} is not available when using Single Node OpenShift or ARM CPU architecture.`; } if (isArm) { return `${operatorTitle} is not available when ARM CPU architecture is selected.`; } if ((0, common_1.isSNO)(cluster)) { return `${operatorTitle} is not available when deploying a Single Node OpenShift.`; } if (!isSupported) { return `The installer cannot currently enable ${operatorTitle} with the selected OpenShift version, but it can be enabled later through the OpenShift Console once the installation is complete.`; } return undefined; }; const getCnvDisabledReason = (activeFeatureConfiguration, isSupported, platformType) => { if (!activeFeatureConfiguration) { return undefined; } const operatorTitle = (0, operatorSpecs_1.getOperatorTitleByFeatureId)('CNV') || ''; if (platformType === 'nutanix') { return `${operatorTitle} is not available when Nutanix platform type is selected.`; } if (!isSupported) { const cpuArchitectureLabel = common_1.architectureData[activeFeatureConfiguration.underlyingCpuArchitecture].label; return `${operatorTitle} is not available when ${cpuArchitectureLabel ? cpuArchitectureLabel : activeFeatureConfiguration.underlyingCpuArchitecture} CPU architecture is selected.`; } else { return undefined; } }; const getLvmDisabledReason = (activeFeatureConfiguration, isSupported, platformType) => { if (!activeFeatureConfiguration) { return undefined; } const operatorTitle = (0, operatorSpecs_1.getOperatorTitleByFeatureId)('LVM') || ''; if (platformType === 'nutanix') { return `${operatorTitle} is not supported when Nutanix platform type is selected.`; } if (!isSupported) { return `${operatorTitle} is not supported in this OpenShift version.`; } return undefined; }; const getOscDisabledReason = (cluster, activeFeatureConfiguration, isSupported) => { if (!cluster) { return undefined; } const operatorTitle = (0, operatorSpecs_1.getOperatorTitleByFeatureId)('OSC') || ''; if (!isSupported) { return `${operatorTitle} is not supported in this OpenShift version.`; } return undefined; }; const getNetworkTypeSelectionDisabledReason = (cluster) => { if (!cluster) { return undefined; } if ((0, common_1.isSNO)(cluster)) { return 'Network management selection is not supported for Single-Node OpenShift'; } return undefined; }; const getOciDisabledReason = (cpuArchitecture, isSupported) => { if (!isSupported) { if (cpuArchitecture === common_1.CpuArchitecture.s390x || cpuArchitecture === common_1.CpuArchitecture.ppc64le) { return `Integration with Oracle is not available with the selected CPU architecture.`; } else { return 'Integration with Oracle is available for OpenShift 4.14 and later versions.'; } } }; const getNewFeatureDisabledReason = (featureId, cluster, activeFeatureConfiguration, isSupported, cpuArchitecture, platformType) => { var _a, _b; switch (featureId) { case 'SNO': { return getSNODisabledReason(cluster, isSupported); } case 'ARM64_ARCHITECTURE': { return getArmDisabledReason(cluster); } case 'CNV': { return getCnvDisabledReason(activeFeatureConfiguration, isSupported, platformType !== null && platformType !== void 0 ? platformType : (_a = cluster === null || cluster === void 0 ? void 0 : cluster.platform) === null || _a === void 0 ? void 0 : _a.type); } case 'LVM': { return getLvmDisabledReason(activeFeatureConfiguration, isSupported, platformType !== null && platformType !== void 0 ? platformType : (_b = cluster === null || cluster === void 0 ? void 0 : cluster.platform) === null || _b === void 0 ? void 0 : _b.type); } case 'ODF': { return getOdfDisabledReason(cluster, activeFeatureConfiguration, isSupported); } case 'OPENSHIFT_AI': { return getOpenShiftAIDisabledReason(cluster, activeFeatureConfiguration, isSupported); } case 'OSC': { return getOscDisabledReason(cluster, activeFeatureConfiguration, isSupported); } case 'NETWORK_TYPE_SELECTION': { return getNetworkTypeSelectionDisabledReason(cluster); } case 'CLUSTER_MANAGED_NETWORKING': { return `Cluster-managed networking is not supported when using ${platformType ? constants_1.ExternalPlatformLabels[platformType] : ''}`; } case 'EXTERNAL_PLATFORM_OCI': { return getOciDisabledReason(cpuArchitecture, isSupported); } case 'MCE': { if (platformType === 'nutanix') { return 'Multicluster engine is not supported with Nutanix platform type.'; } if (!isSupported) { return 'Multicluster engine is not supported in this OpenShift version.'; } } case 'NUTANIX_INTEGRATION': { if (!isSupported) { return `Integration with Nutanix is not available with the selected CPU architecture.`; } } case 'VSPHERE_INTEGRATION': { if (!isSupported) { return `Integration with vSphere is not available with the selected CPU architecture.`; } } case 'USER_MANAGED_NETWORKING': { if (!isSupported) { return `User-Managed Networking is not supported when using ${platformType ? constants_1.ExternalPlatformLabels[platformType] : ''}`; } } case 'MTV': { if (!isSupported) { return 'Migration Toolkit for Virtualization is not supported in this OpenShift version'; } } case 'AUTHORINO': { if (!isSupported) { return `Authorino is not available with the selected CPU architecture.`; } } case 'LSO': { if (!isSupported) { return `Lso is not available with the selected CPU architecture.`; } } case 'NMSTATE': { if (!isSupported) { return `Nmstate is not available with the selected CPU architecture.`; } } case 'NODE_FEATURE_DISCOVERY': { if (!isSupported) { return `Node Feature Discovery is not available with the selected CPU architecture.`; } } case 'NVIDIA_GPU': { if (!isSupported) { return `NVIDIA GPU is not available with the selected CPU architecture.`; } } case 'PIPELINES': { if (!isSupported) { return `Pipelines is not available with the selected CPU architecture.`; } } case 'SERVERLESS': { if (!isSupported) { return `Serverless is not available with the selected CPU architecture.`; } } case 'SERVICEMESH': { if (!isSupported) { return `Service mesh is not available with the selected CPU architecture.`; } } case 'AMD_GPU': { if (!isSupported) { return `AMD GPU is not available with the selected CPU architecture.`; } } default: { return undefined; } } }; exports.getNewFeatureDisabledReason = getNewFeatureDisabledReason; const isFeatureSupportedAndAvailable = (supportLevel) => { return supportLevel !== 'unsupported' && supportLevel !== 'unavailable'; }; exports.isFeatureSupportedAndAvailable = isFeatureSupportedAndAvailable; exports.hostsNetworkConfigurationDisabledReason = "DHCP only is the supported hosts' network configuration when external partner integrations is selected"; const getOpenShiftAIDisabledReason = (cluster, activeFeatureConfiguration, isSupported) => { if (!cluster) { return undefined; } const operatorTitle = (0, operatorSpecs_1.getOperatorTitleByFeatureId)('OPENSHIFT_AI') || ''; const isArm = (activeFeatureConfiguration === null || activeFeatureConfiguration === void 0 ? void 0 : activeFeatureConfiguration.underlyingCpuArchitecture) === common_1.CpuArchitecture.ARM; if (isArm) { return `${operatorTitle} is not available when ARM CPU architecture is selected.`; } if ((0, common_1.isSNO)(cluster)) { return `${operatorTitle} is not available when deploying a Single Node OpenShift.`; } if (!isSupported) { return `The installer cannot currently enable ${operatorTitle} with the selected OpenShift version, but it can be enabled later through the OpenShift Console once the installation is complete.`; } return undefined; }; //# sourceMappingURL=featureStateUtils.js.map