@openshift-assisted/ui-lib 2.38.0 → 2.38.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.
Files changed (76) hide show
  1. package/build/@types/common/config/docs_links.d.ts +8 -0
  2. package/build/@types/common/config/docs_links.d.ts.map +1 -1
  3. package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts.map +1 -1
  4. package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts.map +1 -1
  5. package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts +2 -1
  6. package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts.map +1 -1
  7. package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts.map +1 -1
  8. package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts +2 -1
  9. package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts.map +1 -1
  10. package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts +2 -1
  11. package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts.map +1 -1
  12. package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts +2 -1
  13. package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts.map +1 -1
  14. package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts.map +1 -1
  15. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts.map +1 -1
  16. package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts +4 -0
  17. package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts.map +1 -0
  18. package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts.map +1 -1
  19. package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts.map +1 -1
  20. package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts +2 -1
  21. package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts.map +1 -1
  22. package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts +4 -0
  23. package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts.map +1 -0
  24. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
  25. package/build/cjs/common/config/docs_links.js +14 -1
  26. package/build/cjs/common/config/docs_links.js.map +1 -1
  27. package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js +6 -1
  28. package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js.map +1 -1
  29. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js +11 -1
  30. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js.map +1 -1
  31. package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js +9 -4
  32. package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js.map +1 -1
  33. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js +4 -1
  34. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js.map +1 -1
  35. package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js +9 -4
  36. package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js.map +1 -1
  37. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js +9 -4
  38. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js.map +1 -1
  39. package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js +9 -4
  40. package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js.map +1 -1
  41. package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js +9 -1
  42. package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js.map +1 -1
  43. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js +1 -12
  44. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js.map +1 -1
  45. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js +30 -0
  46. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js.map +1 -0
  47. package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js +6 -1
  48. package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js.map +1 -1
  49. package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js +6 -1
  50. package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js.map +1 -1
  51. package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js +10 -5
  52. package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js.map +1 -1
  53. package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js +19 -0
  54. package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js.map +1 -0
  55. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +64 -30
  56. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  57. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +1 -1
  58. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  59. package/lib/common/config/docs_links.ts +33 -0
  60. package/lib/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.tsx +5 -1
  61. package/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx +17 -2
  62. package/lib/ocm/components/clusterConfiguration/operators/LsoCheckbox.tsx +9 -3
  63. package/lib/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.tsx +4 -1
  64. package/lib/ocm/components/clusterConfiguration/operators/NmstateCheckbox.tsx +9 -3
  65. package/lib/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.tsx +15 -3
  66. package/lib/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.tsx +9 -3
  67. package/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx +15 -2
  68. package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.tsx +0 -14
  69. package/lib/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.tsx +36 -0
  70. package/lib/ocm/components/clusterConfiguration/operators/PipelinesChekbox.tsx +5 -1
  71. package/lib/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.tsx +5 -1
  72. package/lib/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.tsx +10 -4
  73. package/lib/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.tsx +26 -0
  74. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +157 -110
  75. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +1 -1
  76. package/package.json +3 -3
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3
- import { getFieldId, PopoverIcon } from '../../../../common';
3
+ import { getFieldId, getLsoLink, PopoverIcon } from '../../../../common';
4
4
  import { OcmCheckboxField } from '../../ui/OcmFormFields';
5
5
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
6
6
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
7
+ import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
7
8
 
8
9
  const LSO_FIELD_NAME = 'useLso';
9
10
 
@@ -29,11 +30,14 @@ const LsoLabel = ({
29
30
  );
30
31
  };
31
32
 
32
- const LsoHelperText = () => {
33
+ const LsoHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
33
34
  return (
34
35
  <HelperText>
35
36
  <HelperTextItem variant="indeterminate">
36
37
  Allows provisioning of persistent storage by using local volumes.{' '}
38
+ <a href={getLsoLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
39
+ {'Learn more'} <ExternalLinkAltIcon />
40
+ </a>
37
41
  </HelperTextItem>
38
42
  </HelperText>
39
43
  );
@@ -42,9 +46,11 @@ const LsoHelperText = () => {
42
46
  const LsoCheckbox = ({
43
47
  disabledReason,
44
48
  supportLevel,
49
+ openshiftVersion,
45
50
  }: {
46
51
  disabledReason?: string;
47
52
  supportLevel?: SupportLevel | undefined;
53
+ openshiftVersion?: string;
48
54
  }) => {
49
55
  const fieldId = getFieldId(LSO_FIELD_NAME, 'input');
50
56
 
@@ -53,7 +59,7 @@ const LsoCheckbox = ({
53
59
  <OcmCheckboxField
54
60
  name={LSO_FIELD_NAME}
55
61
  label={<LsoLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
56
- helperText={<LsoHelperText />}
62
+ helperText={<LsoHelperText openshiftVersion={openshiftVersion || '4.17'} />}
57
63
  isDisabled={!!disabledReason}
58
64
  />
59
65
  </FormGroup>
@@ -13,6 +13,7 @@ import { useFormikContext } from 'formik';
13
13
  import MtvRequirements from './MtvRequirements';
14
14
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
15
15
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
16
+ import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
16
17
 
17
18
  const Mtv_FIELD_NAME = 'useMigrationToolkitforVirtualization';
18
19
 
@@ -64,9 +65,11 @@ const MtvCheckbox = ({
64
65
  }) => {
65
66
  const { setFieldValue } = useFormikContext<OperatorsValues>();
66
67
  const fieldId = getFieldId(Mtv_FIELD_NAME, 'input');
68
+ const featureSupportLevelData = useNewFeatureSupportLevel();
67
69
 
68
70
  const selectCNVOperator = (checked: boolean) => {
69
- setFieldValue('useContainerNativeVirtualization', checked);
71
+ if (featureSupportLevelData.isFeatureSupported('CNV'))
72
+ setFieldValue('useContainerNativeVirtualization', checked);
70
73
  };
71
74
 
72
75
  return (
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3
- import { getFieldId, PopoverIcon, ClusterOperatorProps } from '../../../../common';
3
+ import { getFieldId, PopoverIcon, ClusterOperatorProps, getNmstateLink } from '../../../../common';
4
4
  import { OcmCheckboxField } from '../../ui/OcmFormFields';
5
5
  import NmstateRequirements from './NmstateRequirements';
6
6
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
7
7
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
8
+ import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
8
9
 
9
10
  const NMSTATE_FIELD_NAME = 'useNmstate';
10
11
 
@@ -33,12 +34,15 @@ const NmstateLabel = ({
33
34
  );
34
35
  };
35
36
 
36
- const NmstateHelperText = () => {
37
+ const NmstateHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
37
38
  return (
38
39
  <HelperText>
39
40
  <HelperTextItem variant="indeterminate">
40
41
  Provides users with functionality to configure various network interface types, DNS, and
41
42
  routing on cluster nodes.{' '}
43
+ <a href={getNmstateLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
44
+ {'Learn more'} <ExternalLinkAltIcon />
45
+ </a>
42
46
  </HelperTextItem>
43
47
  </HelperText>
44
48
  );
@@ -48,10 +52,12 @@ const NmstateCheckbox = ({
48
52
  clusterId,
49
53
  disabledReason,
50
54
  supportLevel,
55
+ openshiftVersion,
51
56
  }: {
52
57
  clusterId: ClusterOperatorProps['clusterId'];
53
58
  disabledReason?: string;
54
59
  supportLevel?: SupportLevel | undefined;
60
+ openshiftVersion?: string;
55
61
  }) => {
56
62
  const fieldId = getFieldId(NMSTATE_FIELD_NAME, 'input');
57
63
 
@@ -66,7 +72,7 @@ const NmstateCheckbox = ({
66
72
  supportLevel={supportLevel}
67
73
  />
68
74
  }
69
- helperText={<NmstateHelperText />}
75
+ helperText={<NmstateHelperText openshiftVersion={openshiftVersion || '4.17'} />}
70
76
  isDisabled={!!disabledReason}
71
77
  />
72
78
  </FormGroup>
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3
- import { getFieldId, PopoverIcon } from '../../../../common';
3
+ import { getFieldId, getNodeFeatureDiscoveryLink, PopoverIcon } from '../../../../common';
4
4
  import { OcmCheckboxField } from '../../ui/OcmFormFields';
5
5
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
6
6
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
7
+ import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
7
8
 
8
9
  const NODEFEATUREDISCOVERY_FIELD_NAME = 'useNodeFeatureDiscovery';
9
10
 
@@ -29,12 +30,19 @@ const NodeFeatureDiscoveryLabel = ({
29
30
  );
30
31
  };
31
32
 
32
- const NodeFeatureDiscoveryHelperText = () => {
33
+ const NodeFeatureDiscoveryHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
33
34
  return (
34
35
  <HelperText>
35
36
  <HelperTextItem variant="indeterminate">
36
37
  Manage the detection of hardware features and configuration by labeling nodes with
37
38
  hardware-specific information.{' '}
39
+ <a
40
+ href={getNodeFeatureDiscoveryLink(openshiftVersion)}
41
+ target="_blank"
42
+ rel="noopener noreferrer"
43
+ >
44
+ {'Learn more'} <ExternalLinkAltIcon />
45
+ </a>
38
46
  </HelperTextItem>
39
47
  </HelperText>
40
48
  );
@@ -43,9 +51,11 @@ const NodeFeatureDiscoveryHelperText = () => {
43
51
  const NodeFeatureDiscoveryCheckbox = ({
44
52
  disabledReason,
45
53
  supportLevel,
54
+ openshiftVersion,
46
55
  }: {
47
56
  disabledReason?: string;
48
57
  supportLevel?: SupportLevel | undefined;
58
+ openshiftVersion?: string;
49
59
  }) => {
50
60
  const fieldId = getFieldId(NODEFEATUREDISCOVERY_FIELD_NAME, 'input');
51
61
 
@@ -56,7 +66,9 @@ const NodeFeatureDiscoveryCheckbox = ({
56
66
  label={
57
67
  <NodeFeatureDiscoveryLabel disabledReason={disabledReason} supportLevel={supportLevel} />
58
68
  }
59
- helperText={<NodeFeatureDiscoveryHelperText />}
69
+ helperText={
70
+ <NodeFeatureDiscoveryHelperText openshiftVersion={openshiftVersion || '4.17'} />
71
+ }
60
72
  isDisabled={!!disabledReason}
61
73
  />
62
74
  </FormGroup>
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3
- import { getFieldId, PopoverIcon } from '../../../../common';
3
+ import { getFieldId, getNvidiaGpuLink, PopoverIcon } from '../../../../common';
4
4
  import { OcmCheckboxField } from '../../ui/OcmFormFields';
5
5
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
6
6
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
7
+ import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
7
8
 
8
9
  const NVIDIAGPU_FIELD_NAME = 'useNvidiaGpu';
9
10
 
@@ -29,11 +30,14 @@ const NvidiaGpuLabel = ({
29
30
  );
30
31
  };
31
32
 
32
- const NvidiaGpuHelperText = () => {
33
+ const NvidiaGpuHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
33
34
  return (
34
35
  <HelperText>
35
36
  <HelperTextItem variant="indeterminate">
36
37
  Automate the management of NVIDIA software components needed to provision and monitor GPUs.{' '}
38
+ <a href={getNvidiaGpuLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
39
+ {'Learn more'} <ExternalLinkAltIcon />
40
+ </a>
37
41
  </HelperTextItem>
38
42
  </HelperText>
39
43
  );
@@ -42,9 +46,11 @@ const NvidiaGpuHelperText = () => {
42
46
  const NvidiaGpuCheckbox = ({
43
47
  disabledReason,
44
48
  supportLevel,
49
+ openshiftVersion,
45
50
  }: {
46
51
  disabledReason?: string;
47
52
  supportLevel?: SupportLevel | undefined;
53
+ openshiftVersion?: string;
48
54
  }) => {
49
55
  const fieldId = getFieldId(NVIDIAGPU_FIELD_NAME, 'input');
50
56
 
@@ -53,7 +59,7 @@ const NvidiaGpuCheckbox = ({
53
59
  <OcmCheckboxField
54
60
  name={NVIDIAGPU_FIELD_NAME}
55
61
  label={<NvidiaGpuLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
56
- helperText={<NvidiaGpuHelperText />}
62
+ helperText={<NvidiaGpuHelperText openshiftVersion={openshiftVersion || '4.17'} />}
57
63
  isDisabled={!!disabledReason}
58
64
  />
59
65
  </FormGroup>
@@ -1,10 +1,18 @@
1
1
  import React from 'react';
2
2
  import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3
3
  import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
4
- import { getFieldId, PopoverIcon, ODF_REQUIREMENTS_LINK, ODF_LINK } from '../../../../common';
4
+ import {
5
+ getFieldId,
6
+ PopoverIcon,
7
+ ODF_REQUIREMENTS_LINK,
8
+ ODF_LINK,
9
+ OperatorsValues,
10
+ } from '../../../../common';
5
11
  import { OcmCheckboxField } from '../../ui/OcmFormFields';
6
12
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
7
13
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
14
+ import { useFormikContext } from 'formik';
15
+ import { useNewFeatureSupportLevel } from '../../../../common/components/newFeatureSupportLevels';
8
16
 
9
17
  const ODF_FIELD_NAME = 'useOpenShiftDataFoundation';
10
18
 
@@ -52,8 +60,12 @@ const OdfCheckbox = ({
52
60
  disabledReason?: string;
53
61
  supportLevel?: SupportLevel | undefined;
54
62
  }) => {
63
+ const { setFieldValue } = useFormikContext<OperatorsValues>();
64
+ const featureSupportLevelData = useNewFeatureSupportLevel();
55
65
  const fieldId = getFieldId(ODF_FIELD_NAME, 'input');
56
-
66
+ const selectLsoOperator = (checked: boolean) => {
67
+ if (featureSupportLevelData.isFeatureSupported('LSO')) setFieldValue('useLso', checked);
68
+ };
57
69
  return (
58
70
  <FormGroup isInline fieldId={fieldId}>
59
71
  <OcmCheckboxField
@@ -61,6 +73,7 @@ const OdfCheckbox = ({
61
73
  label={<OdfLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
62
74
  isDisabled={!!disabledReason}
63
75
  helperText={<OdfHelperText />}
76
+ onChange={selectLsoOperator}
64
77
  />
65
78
  </FormGroup>
66
79
  );
@@ -11,20 +11,6 @@ const OpenShiftAIRequirements = () => {
11
11
  <ListItem>
12
12
  Each worker node requires 32 additional GiB of memory and 8 additional CPUs.
13
13
  </ListItem>
14
- <ListItem>At least one supported GPU. Currently only NVIDIA GPUs are supported.</ListItem>
15
- <ListItem>
16
- Nodes that have NVIDIA GPUs installed need to have secure boot disabled.
17
- </ListItem>
18
- </List>
19
- Bundle operators:
20
- <List>
21
- <ListItem>OpenShift Data Foundation</ListItem>
22
- <ListItem>Node Feature Discovery</ListItem>
23
- <ListItem>NVIDIA GPU</ListItem>
24
- <ListItem>Pipelines</ListItem>
25
- <ListItem>Service Mesh</ListItem>
26
- <ListItem>Serverless</ListItem>
27
- <ListItem>Authorino</ListItem>
28
14
  </List>
29
15
  <a href={OPENSHIFT_AI_REQUIREMENTS_LINK} target="_blank" rel="noopener noreferrer">
30
16
  Learn more <ExternalLinkAltIcon />.
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { List, ListItem } from '@patternfly/react-core';
3
+ import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
4
+ import { OPENSHIFT_AI_REQUIREMENTS_LINK } from '../../../../common';
5
+
6
+ const OpenshiftAINvidiaRequirements = () => {
7
+ return (
8
+ <>
9
+ <List>
10
+ <ListItem>At least two worker nodes.</ListItem>
11
+ <ListItem>
12
+ Each worker node requires 32 additional GiB of memory and 8 additional CPUs.
13
+ </ListItem>
14
+ <ListItem>At least one supported GPU. Currently only NVIDIA GPUs are supported.</ListItem>
15
+ <ListItem>
16
+ Nodes that have NVIDIA GPUs installed need to have secure boot disabled.
17
+ </ListItem>
18
+ </List>
19
+ Bundle operators:
20
+ <List>
21
+ <ListItem>Openshift AI</ListItem>
22
+ <ListItem>OpenShift Data Foundation</ListItem>
23
+ <ListItem>NVIDIA GPU</ListItem>
24
+ <ListItem>Pipelines</ListItem>
25
+ <ListItem>Service Mesh</ListItem>
26
+ <ListItem>Serverless</ListItem>
27
+ <ListItem>Authorino</ListItem>
28
+ </List>
29
+ <a href={OPENSHIFT_AI_REQUIREMENTS_LINK} target="_blank" rel="noopener noreferrer">
30
+ Learn more <ExternalLinkAltIcon />.
31
+ </a>
32
+ </>
33
+ );
34
+ };
35
+
36
+ export default OpenshiftAINvidiaRequirements;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3
- import { getFieldId, PopoverIcon } from '../../../../common';
3
+ import { getFieldId, PIPELINES_OPERATOR_LINK, PopoverIcon } from '../../../../common';
4
4
  import { OcmCheckboxField } from '../../ui/OcmFormFields';
5
5
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
6
6
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
7
+ import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
7
8
 
8
9
  const PIPELINES_FIELD_NAME = 'usePipelines';
9
10
 
@@ -35,6 +36,9 @@ const PipelinesHelperText = () => {
35
36
  <HelperTextItem variant="indeterminate">
36
37
  Cloud-native continuous integration and delivery (CI/CD) solution for building pipelines
37
38
  using Tekton.{' '}
39
+ <a href={PIPELINES_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
40
+ {'Learn more'} <ExternalLinkAltIcon />
41
+ </a>
38
42
  </HelperTextItem>
39
43
  </HelperText>
40
44
  );
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3
- import { getFieldId, PopoverIcon } from '../../../../common';
3
+ import { getFieldId, PopoverIcon, SERVERLESS_OPERATOR_LINK } from '../../../../common';
4
4
  import { OcmCheckboxField } from '../../ui/OcmFormFields';
5
5
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
6
6
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
7
+ import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
7
8
 
8
9
  const SERVERLESS_FIELD_NAME = 'useServerless';
9
10
 
@@ -34,6 +35,9 @@ const ServerlessHelperText = () => {
34
35
  <HelperText>
35
36
  <HelperTextItem variant="indeterminate">
36
37
  Deploy workflow applications based on the CNCF Serverless Workflow specification.{' '}
38
+ <a href={SERVERLESS_OPERATOR_LINK} target="_blank" rel="noopener noreferrer">
39
+ {'Learn more'} <ExternalLinkAltIcon />
40
+ </a>
37
41
  </HelperTextItem>
38
42
  </HelperText>
39
43
  );
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FormGroup, HelperText, HelperTextItem, Tooltip } from '@patternfly/react-core';
3
- import { getFieldId, PopoverIcon } from '../../../../common';
3
+ import { getFieldId, getServiceMeshLink, PopoverIcon } from '../../../../common';
4
4
  import { OcmCheckboxField } from '../../ui/OcmFormFields';
5
5
  import { SupportLevel } from '@openshift-assisted/types/./assisted-installer-service';
6
6
  import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
7
+ import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
7
8
 
8
- const SERVICEMESH_FIELD_NAME = 'useServiceMesh';
9
+ const SERVICEMESH_FIELD_NAME = 'useServicemesh';
9
10
 
10
11
  const ServiceMeshLabel = ({
11
12
  disabledReason,
@@ -29,11 +30,14 @@ const ServiceMeshLabel = ({
29
30
  );
30
31
  };
31
32
 
32
- const ServiceMeshHelperText = () => {
33
+ const ServiceMeshHelperText = ({ openshiftVersion }: { openshiftVersion?: string }) => {
33
34
  return (
34
35
  <HelperText>
35
36
  <HelperTextItem variant="indeterminate">
36
37
  Platform that provides behavioral insight and operational control over a service mesh.{' '}
38
+ <a href={getServiceMeshLink(openshiftVersion)} target="_blank" rel="noopener noreferrer">
39
+ {'Learn more'} <ExternalLinkAltIcon />
40
+ </a>
37
41
  </HelperTextItem>
38
42
  </HelperText>
39
43
  );
@@ -42,9 +46,11 @@ const ServiceMeshHelperText = () => {
42
46
  const ServiceMeshCheckbox = ({
43
47
  disabledReason,
44
48
  supportLevel,
49
+ openshiftVersion,
45
50
  }: {
46
51
  disabledReason?: string;
47
52
  supportLevel?: SupportLevel | undefined;
53
+ openshiftVersion?: string;
48
54
  }) => {
49
55
  const fieldId = getFieldId(SERVICEMESH_FIELD_NAME, 'input');
50
56
 
@@ -53,7 +59,7 @@ const ServiceMeshCheckbox = ({
53
59
  <OcmCheckboxField
54
60
  name={SERVICEMESH_FIELD_NAME}
55
61
  label={<ServiceMeshLabel disabledReason={disabledReason} supportLevel={supportLevel} />}
56
- helperText={<ServiceMeshHelperText />}
62
+ helperText={<ServiceMeshHelperText openshiftVersion={openshiftVersion || '4.17'} />}
57
63
  isDisabled={!!disabledReason}
58
64
  />
59
65
  </FormGroup>
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { List, ListItem } from '@patternfly/react-core';
3
+
4
+ const VirtualizationRequirements = () => {
5
+ return (
6
+ <>
7
+ <List>
8
+ <ListItem>
9
+ Enabled CPU virtualization support in BIOS (Intel-VT / AMD-V) on all nodes.
10
+ </ListItem>
11
+ <ListItem>
12
+ Each control plane node requires an additional 1024 MiB of memory and 3 CPUs.
13
+ </ListItem>
14
+ <ListItem>Each worker node requires an additional 1024 MiB of memory and 5 CPUs.</ListItem>
15
+ </List>
16
+ Bundle operators:
17
+ <List>
18
+ <ListItem>OpenShift Virtualization</ListItem>
19
+ <ListItem>Migration Toolkit for Virtualization</ListItem>
20
+ <ListItem>Nmstate</ListItem>
21
+ </List>
22
+ </>
23
+ );
24
+ };
25
+
26
+ export default VirtualizationRequirements;