From a1c14a2a144106a658ffc947c8b421362726623a Mon Sep 17 00:00:00 2001 From: Elay Aharoni Date: Thu, 4 Dec 2025 16:27:00 +0200 Subject: [PATCH] Adding TechPreview Budge for Assisted installer and agent Signed-off-by: Elay Aharoni --- .../clusterWizard/ClusterDetailsForm.tsx | 19 +++++++------ .../clusterWizard/disconnected/BasicStep.tsx | 14 +++++++--- .../InstallDisconnectedSwitch.tsx | 1 - .../clusterWizard/disconnected/ReviewStep.tsx | 6 ++--- .../clusters/AssistedInstallerHeader.tsx | 4 +-- .../ReviewClusterFeatureSupportLevels.tsx | 27 ++++++++++++++++--- 6 files changed, 47 insertions(+), 24 deletions(-) diff --git a/libs/ui-lib/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx b/libs/ui-lib/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx index ac2497ad72..30e8780e25 100644 --- a/libs/ui-lib/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +++ b/libs/ui-lib/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { useSelector } from 'react-redux'; import { useLocation } from 'react-router-dom-v5-compat'; -import { Grid, GridItem, Split, SplitItem } from '@patternfly/react-core'; +import { Flex, Grid, GridItem } from '@patternfly/react-core'; import isUndefined from 'lodash-es/isUndefined.js'; import { Formik, FormikHelpers } from 'formik'; import { @@ -11,7 +11,7 @@ import { getRichTextValidation, CpuArchitecture, useAlerts, - DeveloperPreview, + TechnologyPreview, } from '../../../common'; import { canNextClusterDetails } from './wizardTransition'; import { OpenshiftVersionOptionType, getFormikErrorFields } from '../../../common'; @@ -167,14 +167,13 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => { {!isSingleClusterFeatureEnabled && ( - - - - - - - - + + + + + {t("ai:I'm installing on a disconnected/air-gapped/secured environment")} + + )} diff --git a/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx index f97628de08..102845bf77 100644 --- a/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +++ b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { ClusterWizardStep, - DeveloperPreview, + TechnologyPreview, ExternalLink, OCP_RELEASES_PAGE, StaticTextField, @@ -16,6 +16,7 @@ import { Grid, GridItem, Form, + Flex, } from '@patternfly/react-core'; import { Formik } from 'formik'; import OcmOpenShiftVersion from '../../clusterConfiguration/OcmOpenShiftVersion'; @@ -50,16 +51,21 @@ const BasicStep = () => { - + - + + + + {t("ai:I'm installing on a disconnected/air-gapped/secured environment")} + +
- + {t('ai:Learn more about OpenShift releases')} diff --git a/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.tsx b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.tsx index 2b0a95f41f..eb5df23728 100644 --- a/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.tsx +++ b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.tsx @@ -10,7 +10,6 @@ const InstallDisconnectedSwitch = ({ isDisabled }: { isDisabled?: boolean }) => const switchBtn = ( setInstallDisconnected(checked)} ouiaId="DisconnectedInstall" diff --git a/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx index c5b7abfcf9..c49a73a449 100644 --- a/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +++ b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx @@ -3,7 +3,7 @@ import ClusterWizardFooter from '../ClusterWizardFooter'; import { useClusterWizardContext } from '../ClusterWizardContext'; import { ClusterWizardStep, - DeveloperPreview, + TechnologyPreview, PULL_SECRET_INFO_LINK, singleClusterOperators, } from '../../../../common'; @@ -69,7 +69,7 @@ const ReviewStep = () => { - + @@ -102,7 +102,7 @@ const ReviewStep = () => { OpenShift version - 4.19 + 4.20 CPU architecture diff --git a/libs/ui-lib/lib/ocm/components/clusters/AssistedInstallerHeader.tsx b/libs/ui-lib/lib/ocm/components/clusters/AssistedInstallerHeader.tsx index 114e3346ab..273366d296 100644 --- a/libs/ui-lib/lib/ocm/components/clusters/AssistedInstallerHeader.tsx +++ b/libs/ui-lib/lib/ocm/components/clusters/AssistedInstallerHeader.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { TextContent, Text, Split, SplitItem } from '@patternfly/react-core'; import { ASSISTED_INSTALLER_DOCUMENTATION_LINK, - DeveloperPreview, + TechnologyPreview, ExternalLink, isInOcm, } from '../../../common'; @@ -15,7 +15,7 @@ export const AssistedInstallerHeader = () => { Install OpenShift with the Assisted Installer - {isSingleClusterFeatureEnabled && } + {isSingleClusterFeatureEnabled && } diff --git a/libs/ui-lib/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx b/libs/ui-lib/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx index a78ff002fc..6c44693f70 100644 --- a/libs/ui-lib/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +++ b/libs/ui-lib/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx @@ -22,6 +22,7 @@ import { NewFeatureSupportLevelData, useNewFeatureSupportLevel, } from '../../../common/components/newFeatureSupportLevels'; +import { useFeature } from '../../hooks/use-feature'; const getFeatureReviewText = (featureId: FeatureId): string => { switch (featureId) { @@ -124,6 +125,7 @@ export const getSupportLevelInfo = ( featureSupportLevelData: NewFeatureSupportLevelData, isSupportedOpenShiftVersion: (version?: string) => boolean, t: TFunction, + isSingleClusterFeatureEnabled?: boolean, ) => { const limitedClusterFeatures = getLimitedFeatureSupportLevels( cluster, @@ -134,7 +136,10 @@ export const getSupportLevelInfo = ( return { limitedClusterFeatures, hasSupportedVersion, - isFullySupported: hasSupportedVersion && Object.keys(limitedClusterFeatures || {}).length === 0, + isFullySupported: + hasSupportedVersion && + Object.keys(limitedClusterFeatures || {}).length === 0 && + !isSingleClusterFeatureEnabled, }; }; @@ -142,11 +147,25 @@ const SupportLevel = ({ cluster }: SupportLevelProps) => { const { t } = useTranslation(); const featureSupportLevelData = useNewFeatureSupportLevel(); const { isSupportedOpenShiftVersion } = useOpenShiftVersionsContext(); + const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE'); const { limitedClusterFeatures, hasSupportedVersion, isFullySupported } = React.useMemo( - () => getSupportLevelInfo(cluster, featureSupportLevelData, isSupportedOpenShiftVersion, t), - [cluster, featureSupportLevelData, t, isSupportedOpenShiftVersion], + () => + getSupportLevelInfo( + cluster, + featureSupportLevelData, + isSupportedOpenShiftVersion, + t, + isSingleClusterFeatureEnabled, + ), + [ + cluster, + featureSupportLevelData, + t, + isSupportedOpenShiftVersion, + isSingleClusterFeatureEnabled, + ], ); if (!limitedClusterFeatures) { @@ -162,7 +181,7 @@ const SupportLevel = ({ cluster }: SupportLevelProps) => { ) : ( ) }