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 d2651c0018..184134c343 100644 --- a/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +++ b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx @@ -1,13 +1,13 @@ import * as React from 'react'; import { ClusterWizardStep, - DeveloperPreview, + TechnologyPreview, ExternalLink, OCP_RELEASES_PAGE, StaticTextField, useTranslation, } from '../../../../common'; -import { Split, SplitItem, Grid, GridItem, Form, Content } from '@patternfly/react-core'; +import { Flex, Grid, GridItem, Form, Content } from '@patternfly/react-core'; import OcmOpenShiftVersion from '../../clusterConfiguration/OcmOpenShiftVersion'; import { useClusterWizardContext } from '../ClusterWizardContext'; import ClusterWizardFooter from '../ClusterWizardFooter'; @@ -43,7 +43,7 @@ const BasicStep = () => { // eslint-disable-next-line @typescript-eslint/no-unsafe-call await ClustersService.registerDisconnected({ name: 'disconnected-cluster', - openshiftVersion: '4.19', + openshiftVersion: '4.20', }); disconnectedClusterId = disconnectedCluster.id; navigate(`${currentPath}/${disconnectedClusterId}`, { @@ -85,21 +85,20 @@ const BasicStep = () => { - - - Basic information - - - - - + Basic information - + + + + + {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/OptionalConfigurationsStep.tsx b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx index 29ffb4ec1b..be3f90fe6c 100644 --- a/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx +++ b/libs/ui-lib/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx @@ -3,7 +3,7 @@ import { Formik, useFormikContext } from 'formik'; import * as Yup from 'yup'; import { ClusterWizardStep, - DeveloperPreview, + TechnologyPreview, getRichTextValidation, sshPublicKeyValidationSchema, pullSecretValidationSchema, @@ -24,6 +24,7 @@ import { InfraEnvsAPI } from '../../../services/apis'; import usePullSecret from '../../../hooks/usePullSecret'; import { useParams } from 'react-router-dom-v5-compat'; import ClustersService from '../../../services/ClustersService'; +import { Cluster } from '@openshift-assisted/types/assisted-installer-service'; type OptionalConfigurationsFormValues = { sshPublicKey?: string; @@ -45,7 +46,7 @@ const PullSecretSync: React.FC<{ pullSecret?: string }> = ({ pullSecret }) => { const OptionalConfigurationsStep = () => { const pullSecret = usePullSecret() || ''; const { clusterId } = useParams<{ clusterId: string }>(); - const [cluster, setCluster] = React.useState<{ id: string } | null>(null); + const [cluster, setCluster] = React.useState(null); const { moveNext, moveBack, setDisconnectedInfraEnv, disconnectedInfraEnv } = useClusterWizardContext(); @@ -121,7 +122,7 @@ const OptionalConfigurationsStep = () => { name: `disconnected-cluster_infra-env`, pullSecret: values.pullSecret || pullSecret, clusterId: cluster.id, - openshiftVersion: '4.19', + openshiftVersion: cluster.openshiftVersion, cpuArchitecture: 'x86_64' as const, ...(values.sshPublicKey && { sshAuthorizedKey: values.sshPublicKey }), }; @@ -172,7 +173,7 @@ const OptionalConfigurationsStep = () => { Optional configurations - + 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 353cd08077..e9fbcc3221 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'; @@ -97,7 +97,7 @@ const ReviewStep = () => { Review and download ISO - + @@ -130,7 +130,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 8b9891d847..e8ab0ca7d3 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 { Content, 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 7cc4312169..b6f129d935 100644 --- a/libs/ui-lib/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +++ b/libs/ui-lib/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx @@ -23,6 +23,7 @@ import { NewFeatureSupportLevelData, useNewFeatureSupportLevel, } from '../../../common/components/newFeatureSupportLevels'; +import { useFeature } from '../../hooks/use-feature'; const getFeatureReviewText = (featureId: FeatureId): string => { switch (featureId) { @@ -127,6 +128,7 @@ export const getSupportLevelInfo = ( featureSupportLevelData: NewFeatureSupportLevelData, isSupportedOpenShiftVersion: (version?: string) => boolean, t: TFunction, + isSingleClusterFeatureEnabled?: boolean, ) => { const limitedClusterFeatures = getLimitedFeatureSupportLevels( cluster, @@ -137,7 +139,10 @@ export const getSupportLevelInfo = ( return { limitedClusterFeatures, hasSupportedVersion, - isFullySupported: hasSupportedVersion && Object.keys(limitedClusterFeatures || {}).length === 0, + isFullySupported: + hasSupportedVersion && + Object.keys(limitedClusterFeatures || {}).length === 0 && + !isSingleClusterFeatureEnabled, }; }; @@ -145,11 +150,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) { @@ -165,7 +184,7 @@ const SupportLevel = ({ cluster }: SupportLevelProps) => { ) : ( ) }