Skip to content

Commit d001f80

Browse files
committed
Assisted Operators Review
Signed-off-by: Elay Aharoni <elayaha@gmail.com>
1 parent 3f51a62 commit d001f80

25 files changed

+57
-69
lines changed

libs/ui-lib-tests/cypress/integration/ui-behaviour/cluster-updates.cy.ts

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ describe('Assisted Installer UI behaviour - cluster updates', () => {
3636
Cypress.env('AI_ERROR_CLUSTER_PATCH', true);
3737

3838
navbar.clickOnNavItem('Operators');
39+
operatorsPage.singleOperatorsToggle().click();
3940
operatorsPage.openshiftVirtualization().click();
4041
cy.wait('@update-cluster').then(() => {
4142
commonActions.getDangerAlert().should('exist');

libs/ui-lib-tests/cypress/integration/use-cases/create-cluster/with-mce-operator.cy.ts

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { commonActions } from '../../../views/common';
22
import OperatorsForm from '../../../views/forms/Operators/OperatorsForm';
3+
import { operatorsPage } from '../../../views/operatorsPage';
34

45
describe(`Create cluster with mce operator enabled`, () => {
56
const setTestStartSignal = (activeSignal: string) => {
@@ -15,6 +16,7 @@ describe(`Create cluster with mce operator enabled`, () => {
1516
setTestStartSignal('CLUSTER_CREATED');
1617
commonActions.visitClusterDetailsPage();
1718
commonActions.startAtWizardStep('Operators');
19+
operatorsPage.singleOperatorsToggle().click();
1820
});
1921

2022
describe('When the feature is enabled:', () => {

libs/ui-lib-tests/cypress/integration/use-cases/create-cluster/with-mtv-operator.cy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ describe(`Create cluster with MTV operator enabled`, () => {
2222
OperatorsForm.mtvOperatorControl.findHelperText();
2323
});
2424
it('The user can select the MTV checkbox', () => {
25-
OperatorsForm.mtvOperatorControl.findLabel().click();
25+
OperatorsForm.mtvOperatorControl.findLabel().click({ force: true });
2626
commonActions.toNextStepAfter('Operators');
2727

2828
cy.wait('@update-cluster').then(({ request }) => {

libs/ui-lib-tests/cypress/views/forms/Operators/OperatorsForm.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class MceOperatorControl {
2929
}
3030

3131
static findLabel() {
32-
return MceOperatorControl.body.findByText(/install multicluster engine/i);
32+
return MceOperatorControl.body.findByText(/Multicluster engine/i);
3333
}
3434

3535
static findHelperText() {
@@ -60,12 +60,12 @@ class MtvOperatorControl {
6060
}
6161

6262
static findLabel() {
63-
return MtvOperatorControl.body.findByText(/install migration toolkit for virtualization/i);
63+
return MtvOperatorControl.body.findByText(/Migration toolkit for virtualization/i);
6464
}
6565

6666
static findHelperText() {
6767
return MtvOperatorControl.body.findByText(
68-
/The Migration Toolkit for Virtualization \(MTV\) enables you to migrate virtual machines from VMware vSphere, Red Hat Virtualization, or OpenStack to OpenShift Virtualization running on Red Hat OpenShift\./i,
68+
/This Toolkit \(MTV\) enables you to migrate virtual machines from VMware vSphere, Red Hat Virtualization, or OpenStack to OpenShift Virtualization running on Red Hat OpenShift\./i,
6969
);
7070
}
7171
}

libs/ui-lib-tests/cypress/views/operatorsPage.ts

+3
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,7 @@ export const operatorsPage = {
22
openshiftVirtualization: () => {
33
return cy.get('#form-checkbox-useContainerNativeVirtualization-field');
44
},
5+
singleOperatorsToggle: () => {
6+
return cy.contains('Single Operators ');
7+
},
58
};

libs/ui-lib/lib/common/config/docs_links.ts

+3
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ export const OSC_REQUIREMENTS_LINK =
9090

9191
export const CNV_LINK = 'https://cloud.redhat.com/learn/topics/virtualization/';
9292

93+
export const KMM_LINK =
94+
'https://docs.redhat.com/en/documentation/openshift_container_platform/4.12/html/specialized_hardware_and_driver_enablement/kernel-module-management-operator';
95+
9396
export const ODF_LINK = 'https://www.redhat.com/en/resources/openshift-data-foundation-datasheet';
9497

9598
export const getMceDocsLink = (ocpVersion?: string) =>

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/AmdGpuCheckbox.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ const AmdGpuLabel = ({
1717
return (
1818
<>
1919
<Tooltip hidden={!disabledReason} content={disabledReason}>
20-
<span>Install AMD GPU </span>
20+
<span>AMD GPU </span>
2121
</Tooltip>
2222
<PopoverIcon
2323
id={AMDGPU_FIELD_NAME}
24+
headerContent="Additional requirements"
2425
component={'a'}
2526
bodyContent={'Requires at least one supported AMD GPU'}
2627
/>

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.tsx

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { AUTHORINO_OPERATOR_LINK, getFieldId, PopoverIcon } from '../../../../common';
3+
import { AUTHORINO_OPERATOR_LINK, getFieldId } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
66
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
@@ -18,13 +18,9 @@ const AuthorinoLabel = ({
1818
return (
1919
<>
2020
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install Authorino </span>
21+
<span>Authorino </span>
2222
</Tooltip>
23-
<PopoverIcon
24-
id={AUTHORINO_FIELD_NAME}
25-
component={'a'}
26-
bodyContent={'No additional requirements needed'}
27-
/>
23+
2824
<NewFeatureSupportLevelBadge featureId="AUTHORINO" supportLevel={supportLevel} />
2925
</>
3026
);

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const CnvLabel = ({
3333
return (
3434
<>
3535
<Tooltip hidden={!disabledReason} content={disabledReason}>
36-
<span>Install OpenShift Virtualization </span>
36+
<span>OpenShift Virtualization </span>
3737
</Tooltip>
3838
<PopoverIcon
3939
component={'a'}

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/KmmCheckbox.tsx

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import React, { useState } from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, PopoverIcon } from '../../../../common';
3+
import { getFieldId, KMM_LINK } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
66
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
77
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
8+
import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
89

910
const KMM_FIELD_NAME = 'useKmm';
1011

@@ -18,13 +19,8 @@ const KmmLabel = ({
1819
return (
1920
<>
2021
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install Kernel Module Management </span>
22+
<span>Kernel Module Management </span>
2223
</Tooltip>
23-
<PopoverIcon
24-
id={KMM_FIELD_NAME}
25-
component={'a'}
26-
bodyContent={'No additional requirements needed'}
27-
/>
2824
<NewFeatureSupportLevelBadge featureId="KMM" supportLevel={supportLevel} />
2925
</>
3026
);
@@ -33,7 +29,12 @@ const KmmLabel = ({
3329
const KmmHelperText = () => {
3430
return (
3531
<HelperText>
36-
<HelperTextItem variant="indeterminate">Management of kernel modules. </HelperTextItem>
32+
<HelperTextItem variant="indeterminate">
33+
Management of kernel modules.{' '}
34+
<a href={KMM_LINK} target="_blank" rel="noopener noreferrer">
35+
{'Learn more'} <ExternalLinkAltIcon />
36+
</a>
37+
</HelperTextItem>
3738
</HelperText>
3839
);
3940
};

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/LsoCheckbox.tsx

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, getLsoLink, PopoverIcon } from '../../../../common';
3+
import { getFieldId, getLsoLink } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
66
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
@@ -18,13 +18,8 @@ const LsoLabel = ({
1818
return (
1919
<>
2020
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install Local Storage Operator </span>
21+
<span>Local Storage Operator </span>
2222
</Tooltip>
23-
<PopoverIcon
24-
id={LSO_FIELD_NAME}
25-
component={'a'}
26-
bodyContent={'No additional requirements needed'}
27-
/>
2823
<NewFeatureSupportLevelBadge featureId="LSO" supportLevel={supportLevel} />
2924
</>
3025
);

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/LvmCheckbox.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const LvmLabel = ({ clusterId, operatorLabel, disabledReason, supportLevel }: Lv
4949
return (
5050
<>
5151
<Tooltip hidden={!disabledReason} content={disabledReason}>
52-
<span>Install {operatorLabel} </span>
52+
<span>{operatorLabel} </span>
5353
</Tooltip>
5454
<PopoverIcon
5555
component={'a'}

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/MceCheckbox.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const MceLabel = ({
2323
return (
2424
<>
2525
<Tooltip hidden={!disabledReason} content={disabledReason}>
26-
<span>Install multicluster engine </span>
26+
<span>Multicluster engine </span>
2727
</Tooltip>
2828
<PopoverIcon
2929
id={MCE_FIELD_NAME}

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.tsx

+3-4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const MtvLabel = ({
2828
}) => (
2929
<>
3030
<Tooltip hidden={!disabledReason} content={disabledReason}>
31-
<span>Install Migration Toolkit for Virtualization </span>
31+
<span>Migration Toolkit for Virtualization </span>
3232
</Tooltip>
3333
<PopoverIcon
3434
component={'a'}
@@ -43,9 +43,8 @@ const MtvHelperText = () => {
4343
return (
4444
<HelperText>
4545
<HelperTextItem variant="indeterminate">
46-
The Migration Toolkit for Virtualization (MTV) enables you to migrate virtual machines from
47-
VMware vSphere, Red Hat Virtualization, or OpenStack to OpenShift Virtualization running on
48-
Red Hat OpenShift.{' '}
46+
This Toolkit (MTV) enables you to migrate virtual machines from VMware vSphere, Red Hat
47+
Virtualization, or OpenStack to OpenShift Virtualization running on Red Hat OpenShift.{' '}
4948
<a href={MTV_LINK} target="_blank" rel="noopener noreferrer">
5049
{'Learn more'} <ExternalLinkAltIcon />
5150
</a>

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/NmstateCheckbox.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const NmstateLabel = ({
2121
return (
2222
<>
2323
<Tooltip hidden={!disabledReason} content={disabledReason}>
24-
<span>Install NMState </span>
24+
<span>NMState </span>
2525
</Tooltip>
2626
<PopoverIcon
2727
id={NMSTATE_FIELD_NAME}

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.tsx

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, getNodeFeatureDiscoveryLink, PopoverIcon } from '../../../../common';
3+
import { getFieldId, getNodeFeatureDiscoveryLink } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
66
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
@@ -18,13 +18,8 @@ const NodeFeatureDiscoveryLabel = ({
1818
return (
1919
<>
2020
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install Node Feature Discovery </span>
21+
<span>Node Feature Discovery </span>
2222
</Tooltip>
23-
<PopoverIcon
24-
id={NODEFEATUREDISCOVERY_FIELD_NAME}
25-
component={'a'}
26-
bodyContent={'No additional requirements needed'}
27-
/>
2823
<NewFeatureSupportLevelBadge featureId="NODE_FEATURE_DISCOVERY" supportLevel={supportLevel} />
2924
</>
3025
);

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ const NvidiaGpuLabel = ({
1818
return (
1919
<>
2020
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install NVIDIA GPU </span>
21+
<span>NVIDIA GPU </span>
2222
</Tooltip>
2323
<PopoverIcon
2424
id={NVIDIAGPU_FIELD_NAME}
25+
headerContent="Additional requirements"
2526
component={'a'}
2627
bodyContent={'Requires at least one supported NVIDIA GPU'}
2728
/>

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const OdfLabel = ({
2525
}) => (
2626
<>
2727
<Tooltip hidden={!disabledReason} content={disabledReason}>
28-
<span>Install OpenShift Data Foundation </span>
28+
<span>OpenShift Data Foundation </span>
2929
</Tooltip>
3030
<PopoverIcon
3131
component={'a'}

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/OpenShiftAICheckbox.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const OpenShiftAILabel = ({ disabledReason, supportLevel }: OpenShiftAILabelProp
1818
return (
1919
<>
2020
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install OpenShift AI </span>
21+
<span>OpenShift AI </span>
2222
</Tooltip>
2323
<PopoverIcon
2424
component={'a'}

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/OscCheckbox.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const OscLabel = ({ disabledReason, supportLevel }: OscLabelProps) => {
1717
return (
1818
<>
1919
<Tooltip hidden={!disabledReason} content={disabledReason}>
20-
<span>Install OpenShift sandboxed containers </span>
20+
<span>OpenShift sandboxed containers </span>
2121
</Tooltip>
2222
<PopoverIcon
2323
component={'a'}

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/PipelinesChekbox.tsx

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, PIPELINES_OPERATOR_LINK, PopoverIcon } from '../../../../common';
3+
import { getFieldId, PIPELINES_OPERATOR_LINK } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
66
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
@@ -18,13 +18,8 @@ const PipelinesLabel = ({
1818
return (
1919
<>
2020
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install Pipelines </span>
21+
<span>Pipelines </span>
2222
</Tooltip>
23-
<PopoverIcon
24-
id={PIPELINES_FIELD_NAME}
25-
component={'a'}
26-
bodyContent={'No additional requirements needed'}
27-
/>
2823
<NewFeatureSupportLevelBadge featureId="PIPELINES" supportLevel={supportLevel} />
2924
</>
3025
);

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.tsx

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, PopoverIcon, SERVERLESS_OPERATOR_LINK } from '../../../../common';
3+
import { getFieldId, SERVERLESS_OPERATOR_LINK } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
66
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
@@ -18,13 +18,8 @@ const ServerlessLabel = ({
1818
return (
1919
<>
2020
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install Serverless </span>
21+
<span>Serverless </span>
2222
</Tooltip>
23-
<PopoverIcon
24-
id={SERVERLESS_FIELD_NAME}
25-
component={'a'}
26-
bodyContent={'No additional requirements needed'}
27-
/>
2823
<NewFeatureSupportLevelBadge featureId="SERVERLESS" supportLevel={supportLevel} />
2924
</>
3025
);

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.tsx

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react';
22
import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3-
import { getFieldId, getServiceMeshLink, PopoverIcon } from '../../../../common';
3+
import { getFieldId, getServiceMeshLink } from '../../../../common';
44
import { OcmCheckboxField } from '../../ui/OcmFormFields';
55
import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
66
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
@@ -18,13 +18,8 @@ const ServiceMeshLabel = ({
1818
return (
1919
<>
2020
<Tooltip hidden={!disabledReason} content={disabledReason}>
21-
<span>Install Service Mesh </span>
21+
<span>Service Mesh </span>
2222
</Tooltip>
23-
<PopoverIcon
24-
id={SERVICEMESH_FIELD_NAME}
25-
component={'a'}
26-
bodyContent={'No additional requirements needed'}
27-
/>
2823
<NewFeatureSupportLevelBadge featureId="SERVICEMESH" supportLevel={supportLevel} />
2924
</>
3025
);

libs/ui-lib/lib/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,16 @@ const VirtualizationRequirements = () => {
1212
Each control plane node requires an additional 1024 MiB of memory and 3 CPUs.
1313
</ListItem>
1414
<ListItem>Each worker node requires an additional 1024 MiB of memory and 5 CPUs.</ListItem>
15+
<ListItem>
16+
Additional resources may be required to support the selected storage operator.
17+
</ListItem>
1518
</List>
1619
Bundle operators:
1720
<List>
1821
<ListItem>OpenShift Virtualization</ListItem>
1922
<ListItem>Migration Toolkit for Virtualization</ListItem>
2023
<ListItem>Nmstate</ListItem>
24+
<ListItem>Storage operator (either LSO/LVMS)</ListItem>
2125
</List>
2226
</>
2327
);

0 commit comments

Comments
 (0)