@openshift-assisted/ui-lib 2.42.3 → 2.43.0

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 (161) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  2. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
  3. package/build/@types/common/components/clusterConfiguration/index.d.ts +0 -2
  4. package/build/@types/common/components/clusterConfiguration/index.d.ts.map +1 -1
  5. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts +1 -4
  6. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  7. package/build/@types/common/components/clusterWizard/types.d.ts +0 -2
  8. package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
  9. package/build/@types/common/components/hosts/DiskRole.d.ts.map +1 -1
  10. package/build/@types/common/components/hosts/TableToolbar.d.ts.map +1 -1
  11. package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -1
  12. package/build/@types/common/components/ui/SimpleDropdown.d.ts.map +1 -1
  13. package/build/@types/common/components/ui/formik/index.d.ts +0 -1
  14. package/build/@types/common/components/ui/formik/index.d.ts.map +1 -1
  15. package/build/@types/common/config/constants.d.ts.map +1 -1
  16. package/build/@types/common/config/docs_links.d.ts +3 -3
  17. package/build/@types/common/config/docs_links.d.ts.map +1 -1
  18. package/build/@types/common/selectors/clusterSelectors.d.ts +1 -1
  19. package/build/@types/common/selectors/clusterSelectors.d.ts.map +1 -1
  20. package/build/@types/common/types/cpuArchitecture.d.ts.map +1 -1
  21. package/build/@types/ocm/components/Routes.d.ts +2 -1
  22. package/build/@types/ocm/components/Routes.d.ts.map +1 -1
  23. package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
  24. package/build/@types/ocm/components/clusterConfiguration/OcmSNODisclaimer.d.ts +1 -4
  25. package/build/@types/ocm/components/clusterConfiguration/OcmSNODisclaimer.d.ts.map +1 -1
  26. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts.map +1 -1
  27. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  28. package/build/@types/ocm/components/clusterWizard/CredentialsDownload.d.ts.map +1 -1
  29. package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
  30. package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts.map +1 -1
  31. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  32. package/build/@types/ocm/components/clusters/NewClusterPage.d.ts.map +1 -1
  33. package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
  34. package/build/@types/ocm/services/OperatorsService.d.ts.map +1 -1
  35. package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts.map +1 -1
  36. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +1 -1
  37. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +1 -4
  38. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
  39. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +9 -1
  40. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
  41. package/build/cjs/common/components/clusterConfiguration/index.js +1 -5
  42. package/build/cjs/common/components/clusterConfiguration/index.js.map +1 -1
  43. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +3 -23
  44. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  45. package/build/cjs/common/components/hosts/DiskRole.js +1 -1
  46. package/build/cjs/common/components/hosts/DiskRole.js.map +1 -1
  47. package/build/cjs/common/components/hosts/TableToolbar.js +3 -3
  48. package/build/cjs/common/components/hosts/TableToolbar.js.map +1 -1
  49. package/build/cjs/common/components/operators/operatorSpecs.js +5 -3
  50. package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -1
  51. package/build/cjs/common/components/ui/OpenShiftVersionDropdown.js +6 -7
  52. package/build/cjs/common/components/ui/OpenShiftVersionDropdown.js.map +1 -1
  53. package/build/cjs/common/components/ui/SimpleDropdown.js +1 -1
  54. package/build/cjs/common/components/ui/SimpleDropdown.js.map +1 -1
  55. package/build/cjs/common/components/ui/formik/index.js +1 -3
  56. package/build/cjs/common/components/ui/formik/index.js.map +1 -1
  57. package/build/cjs/common/config/constants.js +0 -4
  58. package/build/cjs/common/config/constants.js.map +1 -1
  59. package/build/cjs/common/config/docs_links.js +13 -9
  60. package/build/cjs/common/config/docs_links.js.map +1 -1
  61. package/build/cjs/common/selectors/clusterSelectors.js +1 -1
  62. package/build/cjs/common/selectors/clusterSelectors.js.map +1 -1
  63. package/build/cjs/common/types/cpuArchitecture.js +3 -5
  64. package/build/cjs/common/types/cpuArchitecture.js.map +1 -1
  65. package/build/cjs/ocm/components/Routes.js +3 -2
  66. package/build/cjs/ocm/components/Routes.js.map +1 -1
  67. package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js +2 -4
  68. package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  69. package/build/cjs/ocm/components/clusterConfiguration/OcmSNODisclaimer.js +5 -21
  70. package/build/cjs/ocm/components/clusterConfiguration/OcmSNODisclaimer.js.map +1 -1
  71. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js +12 -18
  72. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js.map +1 -1
  73. package/build/cjs/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js +1 -1
  74. package/build/cjs/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js.map +1 -1
  75. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.js +1 -1
  76. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.js.map +1 -1
  77. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/staticIp.css +3 -3
  78. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js +1 -1
  79. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js.map +1 -1
  80. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +1 -1
  81. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
  82. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +0 -1
  83. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  84. package/build/cjs/ocm/components/clusterWizard/CredentialsDownload.js +2 -1
  85. package/build/cjs/ocm/components/clusterWizard/CredentialsDownload.js.map +1 -1
  86. package/build/cjs/ocm/components/clusterWizard/Operators.js +4 -1
  87. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  88. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js +3 -0
  89. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js.map +1 -1
  90. package/build/cjs/ocm/components/clusters/ClusterPage.js +2 -0
  91. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  92. package/build/cjs/ocm/components/clusters/NewClusterPage.js +6 -7
  93. package/build/cjs/ocm/components/clusters/NewClusterPage.js.map +1 -1
  94. package/build/cjs/ocm/components/hosts/use-hosts-table.js +8 -1
  95. package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
  96. package/build/cjs/ocm/services/DiskEncryptionService.js +1 -1
  97. package/build/cjs/ocm/services/DiskEncryptionService.js.map +1 -1
  98. package/build/cjs/ocm/services/OperatorsService.js +12 -2
  99. package/build/cjs/ocm/services/OperatorsService.js.map +1 -1
  100. package/build/cjs/ocm/store/slices/current-cluster/selectors.js +1 -1
  101. package/build/cjs/ocm/store/slices/current-cluster/selectors.js.map +1 -1
  102. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +1 -5
  103. package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +11 -2
  104. package/lib/common/components/clusterConfiguration/index.ts +0 -2
  105. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +2 -33
  106. package/lib/common/components/clusterWizard/types.ts +0 -2
  107. package/lib/common/components/hosts/DiskRole.tsx +0 -1
  108. package/lib/common/components/hosts/TableToolbar.tsx +9 -10
  109. package/lib/common/components/operators/operatorSpecs.tsx +6 -4
  110. package/lib/common/components/ui/OpenShiftVersionDropdown.tsx +10 -10
  111. package/lib/common/components/ui/SimpleDropdown.tsx +0 -1
  112. package/lib/common/components/ui/formik/index.tsx +0 -1
  113. package/lib/common/config/constants.ts +0 -4
  114. package/lib/common/config/docs_links.ts +15 -15
  115. package/lib/common/selectors/clusterSelectors.ts +1 -2
  116. package/lib/common/types/cpuArchitecture.ts +3 -9
  117. package/lib/ocm/components/Routes.tsx +3 -0
  118. package/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +3 -16
  119. package/lib/ocm/components/clusterConfiguration/OcmSNODisclaimer.tsx +14 -60
  120. package/lib/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.tsx +18 -25
  121. package/lib/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.tsx +1 -1
  122. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.tsx +2 -2
  123. package/lib/ocm/components/clusterConfiguration/staticIp/components/staticIp.css +3 -3
  124. package/lib/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.ts +1 -1
  125. package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +1 -1
  126. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +0 -1
  127. package/lib/ocm/components/clusterWizard/CredentialsDownload.tsx +2 -1
  128. package/lib/ocm/components/clusterWizard/Operators.tsx +5 -1
  129. package/lib/ocm/components/clusters/AssistedInstallerHeader.tsx +9 -1
  130. package/lib/ocm/components/clusters/ClusterPage.tsx +3 -0
  131. package/lib/ocm/components/clusters/NewClusterPage.tsx +9 -13
  132. package/lib/ocm/components/hosts/use-hosts-table.tsx +8 -1
  133. package/lib/ocm/services/DiskEncryptionService.ts +1 -1
  134. package/lib/ocm/services/OperatorsService.tsx +18 -2
  135. package/lib/ocm/store/slices/current-cluster/selectors.ts +1 -1
  136. package/package.json +3 -3
  137. package/build/@types/common/components/clusterConfiguration/SNOControlGroup.d.ts +0 -10
  138. package/build/@types/common/components/clusterConfiguration/SNOControlGroup.d.ts.map +0 -1
  139. package/build/@types/common/components/clusterConfiguration/SNODisclaimer.d.ts +0 -10
  140. package/build/@types/common/components/clusterConfiguration/SNODisclaimer.d.ts.map +0 -1
  141. package/build/@types/common/components/operators/test.d.ts +0 -50
  142. package/build/@types/common/components/operators/test.d.ts.map +0 -1
  143. package/build/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts +0 -9
  144. package/build/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts.map +0 -1
  145. package/build/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts +0 -11
  146. package/build/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts.map +0 -1
  147. package/build/cjs/common/components/clusterConfiguration/SNOControlGroup.js +0 -20
  148. package/build/cjs/common/components/clusterConfiguration/SNOControlGroup.js.map +0 -1
  149. package/build/cjs/common/components/clusterConfiguration/SNODisclaimer.js +0 -31
  150. package/build/cjs/common/components/clusterConfiguration/SNODisclaimer.js.map +0 -1
  151. package/build/cjs/common/components/operators/test.js +0 -323
  152. package/build/cjs/common/components/operators/test.js.map +0 -1
  153. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js +0 -45
  154. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js.map +0 -1
  155. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js +0 -51
  156. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js.map +0 -1
  157. package/lib/common/components/clusterConfiguration/SNOControlGroup.tsx +0 -41
  158. package/lib/common/components/clusterConfiguration/SNODisclaimer.tsx +0 -79
  159. package/lib/common/components/operators/test.tsx +0 -469
  160. package/lib/common/components/ui/formik/SingleNodeCheckbox.tsx +0 -98
  161. package/lib/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.tsx +0 -107
@@ -1 +1 @@
1
- {"version":3,"file":"OperatorsService.js","sourceRoot":"","sources":["../../../../lib/ocm/services/OperatorsService.tsx"],"names":[],"mappings":";;;AAAA,0GAA0E;AAE1E,MAAM,gBAAgB,GAAG;IACvB,qBAAqB,EAAE,GAA4B,EAAE;QACnD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,sBAAY,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAA;CACF,CAAC;AACF,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"OperatorsService.js","sourceRoot":"","sources":["../../../../lib/ocm/services/OperatorsService.tsx"],"names":[],"mappings":";;;AAAA,0GAA0E;AAC1E,mFAAmF;AAEnF,MAAM,uBAAuB,GAAG,GAAgB,EAAE;IAChD,MAAM,kBAAkB,GAAG,IAAA,gCAAgB,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;SAC9C,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEnC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,qBAAqB,EAAE,GAA4B,EAAE;QACnD,MAAM,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;QACpD,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,MAAM,sBAAY,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CACjE,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CACpC,CAAC;QAEF,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAA;CACF,CAAC;AACF,kBAAe,gBAAgB,CAAC"}
@@ -7,7 +7,7 @@ const selectCurrentCluster = (state) => state.currentCluster.data;
7
7
  exports.selectCurrentCluster = selectCurrentCluster;
8
8
  const selectCurrentClusterUIState = (state) => state.currentCluster.uiState;
9
9
  exports.selectCurrentClusterUIState = selectCurrentClusterUIState;
10
- const selectIsCurrentClusterSNO = (state) => { var _a; return ((_a = state.currentCluster.data) === null || _a === void 0 ? void 0 : _a.highAvailabilityMode) === 'None'; };
10
+ const selectIsCurrentClusterSNO = (state) => { var _a; return ((_a = state.currentCluster.data) === null || _a === void 0 ? void 0 : _a.controlPlaneCount) === 1; };
11
11
  exports.selectIsCurrentClusterSNO = selectIsCurrentClusterSNO;
12
12
  const selectCurrentClusterPermissionsState = (state) => {
13
13
  if (state.currentCluster) {
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/current-cluster/selectors.ts"],"names":[],"mappings":";;;AAGO,MAAM,yBAAyB,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;AAA3E,QAAA,yBAAyB,6BAAkD;AACjF,MAAM,oBAAoB,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;AAA3E,QAAA,oBAAoB,wBAAuD;AACjF,MAAM,2BAA2B,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;AAArF,QAAA,2BAA2B,+BAA0D;AAC3F,MAAM,yBAAyB,GAAG,CAAC,KAAoB,EAAE,EAAE,WAChE,OAAA,CAAA,MAAA,KAAK,CAAC,cAAc,CAAC,IAAI,0CAAE,oBAAoB,MAAK,MAAM,CAAA,EAAA,CAAC;AADhD,QAAA,yBAAyB,6BACuB;AACtD,MAAM,oCAAoC,GAAG,CAClD,KAAoB,EACsB,EAAE;IAC5C,IAAI,KAAK,CAAC,cAAc,EAAE;QACxB,OAAO,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;KACzC;IACD,oFAAoF;IACpF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,oCAAoC,wCAQ/C"}
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/current-cluster/selectors.ts"],"names":[],"mappings":";;;AAGO,MAAM,yBAAyB,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;AAA3E,QAAA,yBAAyB,6BAAkD;AACjF,MAAM,oBAAoB,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;AAA3E,QAAA,oBAAoB,wBAAuD;AACjF,MAAM,2BAA2B,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;AAArF,QAAA,2BAA2B,+BAA0D;AAC3F,MAAM,yBAAyB,GAAG,CAAC,KAAoB,EAAE,EAAE,WAChE,OAAA,CAAA,MAAA,KAAK,CAAC,cAAc,CAAC,IAAI,0CAAE,iBAAiB,MAAK,CAAC,CAAA,EAAA,CAAC;AADxC,QAAA,yBAAyB,6BACe;AAC9C,MAAM,oCAAoC,GAAG,CAClD,KAAoB,EACsB,EAAE;IAC5C,IAAI,KAAK,CAAC,cAAc,EAAE;QACxB,OAAO,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;KACzC;IACD,oFAAoF;IACpF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,oCAAoC,wCAQ/C"}
@@ -9,7 +9,6 @@ import {
9
9
  getClusterDetailsValidationSchema,
10
10
  ClusterWizardStepHeader,
11
11
  ClusterDetailsValues,
12
- useFeatureSupportLevel,
13
12
  getRichTextValidation,
14
13
  OpenshiftVersionOptionType,
15
14
  } from '../../../common';
@@ -49,7 +48,6 @@ export const useDetailsFormik = ({
49
48
  Lazy<{ baseDnsDomain: string }>,
50
49
  ] => {
51
50
  const { t } = useTranslation();
52
- const featureSupportLevels = useFeatureSupportLevel();
53
51
  const isEdit = !!clusterDeployment || !!agentClusterInstall;
54
52
 
55
53
  const cluster = React.useMemo(
@@ -88,13 +86,11 @@ export const useDetailsFormik = ({
88
86
  () =>
89
87
  getClusterDetailsValidationSchema({
90
88
  usedClusterNames,
91
- featureSupportLevels,
92
89
  pullSecretSet: isEdit,
93
- ocpVersions,
94
90
  validateUniqueName: true,
95
91
  t,
96
92
  }),
97
- [usedClusterNames, ocpVersions, featureSupportLevels, isEdit, t],
93
+ [usedClusterNames, isEdit, t],
98
94
  );
99
95
 
100
96
  return [initialValues, validationSchema];
@@ -55,7 +55,7 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
55
55
  cpuArchitectures,
56
56
  allowHighlyAvailable,
57
57
  }) => {
58
- const { values } = useFormikContext<ClusterDetailsValues>();
58
+ const { values, setFieldValue } = useFormikContext<ClusterDetailsValues>();
59
59
  const { name, baseDnsDomain } = values;
60
60
  const [openshiftVersionModalOpen, setOpenshiftVersionModalOpen] = React.useState(false);
61
61
 
@@ -68,6 +68,15 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
68
68
  [versions],
69
69
  );
70
70
 
71
+ React.useEffect(() => {
72
+ if (!versions.length && !values.openshiftVersion) {
73
+ const fallbackOpenShiftVersion = allVersions.find((version) => version.default);
74
+ setFieldValue('customOpenshiftSelect', fallbackOpenShiftVersion);
75
+ setFieldValue('openshiftVersion', fallbackOpenShiftVersion?.value);
76
+ }
77
+ // eslint-disable-next-line react-hooks/exhaustive-deps
78
+ }, []);
79
+
71
80
  const additionalSelectOptions = React.useMemo(() => {
72
81
  if (
73
82
  values.customOpenshiftSelect &&
@@ -161,7 +170,7 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
161
170
  {/* <DiskEncryptionControlGroup
162
171
  values={values}
163
172
  isDisabled={isPullSecretSet}
164
- isSNO={isSNO({ highAvailabilityMode })}
173
+ isSNO={isSNO({ controlPlaneCount })}
165
174
  /> */}
166
175
  {atListOneDiskEncryptionEnableOn && values.diskEncryptionMode === 'tpmv2' && (
167
176
  <Alert
@@ -1,5 +1,3 @@
1
- export { default as SNOControlGroup } from './SNOControlGroup';
2
- export { default as SNODisclaimer } from './SNODisclaimer';
3
1
  export { default as OpenShiftVersionSelect } from './OpenShiftVersionSelect';
4
2
  export { default as UploadSSH } from './UploadSSH';
5
3
  export { default as ProxyFields, ProxyInputFields } from './ProxyFields';
@@ -15,8 +15,6 @@ import {
15
15
  pullSecretValidationSchema,
16
16
  } from '../ui';
17
17
  import { ClusterDetailsValues } from './types';
18
- import { FeatureSupportLevelData } from '../featureSupportLevels';
19
- import toNumber from 'lodash-es/toNumber';
20
18
 
21
19
  const emptyTangServers = (): TangServer[] => {
22
20
  return [
@@ -55,18 +53,16 @@ export const getClusterDetailsInitialValues = ({
55
53
  }): ClusterDetailsValues => {
56
54
  const {
57
55
  name = '',
58
- highAvailabilityMode = 'Full',
59
56
  baseDnsDomain = baseDomain || '',
60
57
  openshiftVersion = getDefaultOpenShiftVersion(ocpVersions),
58
+ controlPlaneCount = 3,
61
59
  } = cluster || {};
62
-
63
60
  return {
64
61
  name,
65
- highAvailabilityMode,
66
62
  openshiftVersion,
67
63
  pullSecret: pullSecret || '',
68
64
  baseDnsDomain,
69
- SNODisclaimer: highAvailabilityMode === 'None',
65
+ controlPlaneCount,
70
66
  useRedHatDnsService:
71
67
  !!baseDnsDomain && managedDomains.map((d) => d.domain).includes(baseDnsDomain),
72
68
  enableDiskEncryptionOnMasters: ['all', 'masters'].includes(
@@ -82,7 +78,6 @@ export const getClusterDetailsInitialValues = ({
82
78
  platform: cluster?.platform?.type || 'none',
83
79
  customOpenshiftSelect: null,
84
80
  userManagedNetworking: cluster?.userManagedNetworking || false,
85
- controlPlaneCount: cluster?.controlPlaneCount || 3,
86
81
  enableDiskEncryptionOnArbiters: ['all', 'arbiters'].includes(
87
82
  cluster?.diskEncryption?.enableOn ?? 'none',
88
83
  ),
@@ -91,17 +86,13 @@ export const getClusterDetailsInitialValues = ({
91
86
 
92
87
  export const getClusterDetailsValidationSchema = ({
93
88
  usedClusterNames,
94
- featureSupportLevels,
95
89
  pullSecretSet,
96
- ocpVersions,
97
90
  validateUniqueName,
98
91
  isOcm,
99
92
  t,
100
93
  }: {
101
94
  usedClusterNames: string[];
102
- featureSupportLevels?: FeatureSupportLevelData;
103
95
  pullSecretSet?: boolean;
104
- ocpVersions?: OpenshiftVersionOptionType[];
105
96
  validateUniqueName?: boolean;
106
97
  isOcm?: boolean;
107
98
  t: TFunction;
@@ -123,28 +114,6 @@ export const getClusterDetailsValidationSchema = ({
123
114
  ? baseDomainValidationSchema.required('Required')
124
115
  : dnsNameValidationSchema.required('Required'),
125
116
  pullSecret: pullSecretValidationSchema.required('Required.'),
126
- SNODisclaimer: Yup.boolean().when(['controlPlaneCount', 'openshiftVersion'], {
127
- // The disclaimer is required only if SNO is enabled and SNO feature is not fully supported in that version
128
- is: (
129
- controlPlaneCount: Cluster['controlPlaneCount'],
130
- openshiftVersion: Cluster['openshiftVersion'],
131
- ) => {
132
- const selectedVersion = (ocpVersions || []).find((v) => v.value === openshiftVersion);
133
- const versionToUse = selectedVersion?.value ?? openshiftVersion;
134
- if (featureSupportLevels) {
135
- return toNumber(controlPlaneCount) === 1 && versionToUse && featureSupportLevels
136
- ? featureSupportLevels.getFeatureSupportLevel(versionToUse, 'SNO') === 'dev-preview'
137
- : false;
138
- } else {
139
- return toNumber(controlPlaneCount) === 1 && versionToUse && values.isSNODevPreview;
140
- }
141
- },
142
- then: () =>
143
- Yup.boolean().oneOf(
144
- [true],
145
- t('ai:Confirm the Single Node OpenShift disclaimer to continue.'),
146
- ),
147
- }),
148
117
  diskEncryptionTangServers: Yup.array().when('diskEncryptionMode', {
149
118
  is: (diskEncryptionMode: DiskEncryption['mode']) => {
150
119
  return diskEncryptionMode === 'tang';
@@ -19,11 +19,9 @@ import { OpenshiftVersionOptionType } from '../../types';
19
19
 
20
20
  export type ClusterDetailsValues = {
21
21
  name: string;
22
- highAvailabilityMode: 'Full' | 'None';
23
22
  openshiftVersion: string;
24
23
  pullSecret: string;
25
24
  baseDnsDomain: string;
26
- SNODisclaimer: boolean;
27
25
  useRedHatDnsService: boolean;
28
26
  enableDiskEncryptionOnMasters: boolean;
29
27
  enableDiskEncryptionOnWorkers: boolean;
@@ -122,7 +122,6 @@ const DiskRoleDropdown: React.FC<DiskRoleDropdownProps> = ({
122
122
  onSelect={onSelect}
123
123
  toggle={toggle}
124
124
  isOpen={isOpen}
125
- isPlain
126
125
  >
127
126
  <DropdownList>{dropdownItems}</DropdownList>
128
127
  </Dropdown>
@@ -10,7 +10,6 @@ import {
10
10
  ToolbarContent,
11
11
  ToolbarItem,
12
12
  ToolbarProps,
13
- Tooltip,
14
13
  Dropdown,
15
14
  DropdownItem,
16
15
  MenuToggle,
@@ -68,14 +67,20 @@ const TableToolbar: React.FC<TableToolbarProps> = ({
68
67
  : null;
69
68
  }
70
69
 
71
- const isDisabled = isChecked === false;
70
+ const isActionsDisabled = isChecked === false;
72
71
 
73
72
  const actionsDropdown = (
74
73
  <Dropdown
75
74
  onSelect={onActionsToggle}
76
75
  onOpenChange={onActionsToggle}
77
76
  toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
78
- <MenuToggle ref={toggleRef} isFullWidth onClick={onActionsToggle} isExpanded={actionsOpen}>
77
+ <MenuToggle
78
+ ref={toggleRef}
79
+ isFullWidth
80
+ onClick={onActionsToggle}
81
+ isExpanded={actionsOpen}
82
+ isDisabled={isActionsDisabled}
83
+ >
79
84
  {t('ai:Actions')}
80
85
  </MenuToggle>
81
86
  )}
@@ -130,13 +135,7 @@ const TableToolbar: React.FC<TableToolbarProps> = ({
130
135
  <ToolbarContent className="table-toolbar__content">
131
136
  <ToolbarItem>{SelectDropdown}</ToolbarItem>
132
137
  {children}
133
- <ToolbarItem>
134
- {isDisabled ? (
135
- <Tooltip content={t('ai:Select one or more hosts')}>{actionsDropdown}</Tooltip>
136
- ) : (
137
- actionsDropdown
138
- )}
139
- </ToolbarItem>
138
+ <ToolbarItem>{actionsDropdown}</ToolbarItem>
140
139
  </ToolbarContent>
141
140
  </Toolbar>
142
141
  </SplitItem>
@@ -34,7 +34,6 @@ import {
34
34
  getNmstateLink,
35
35
  getNodeFeatureDiscoveryLink,
36
36
  getNvidiaGpuLink,
37
- getServiceMeshLink,
38
37
  MTV_LINK,
39
38
  NODE_MAINTENANCE_LINK,
40
39
  ODF_LINK,
@@ -45,6 +44,7 @@ import {
45
44
  OSC_REQUIREMENTS_LINK,
46
45
  PIPELINES_OPERATOR_LINK,
47
46
  SERVERLESS_OPERATOR_LINK,
47
+ SERVICE_MESH_OPERATOR_LINK,
48
48
  } from '../../config';
49
49
  import { getMajorMinorVersion } from '../../utils';
50
50
  import { GetFeatureSupportLevel, useNewFeatureSupportLevel } from '../newFeatureSupportLevels';
@@ -148,7 +148,9 @@ export const getOperatorSpecs = (
148
148
  <ExternalLink href={getLvmsDocsLink(openshiftVersion)}>Learn more</ExternalLink>
149
149
  </>
150
150
  ) : (
151
- <>{DESCRIPTION_LVM}</>
151
+ <>
152
+ <HighlightedText text={DESCRIPTION_LVM} searchTerm={searchTerm} />{' '}
153
+ </>
152
154
  ),
153
155
  supportLevel: getFeatureSupportLevel('LVM'),
154
156
  },
@@ -285,10 +287,10 @@ export const getOperatorSpecs = (
285
287
  title: 'Service Mesh',
286
288
  featureId: 'SERVICEMESH',
287
289
  descriptionText: DESCRIPTION_SERVICEMESH,
288
- Description: ({ openshiftVersion, searchTerm }) => (
290
+ Description: ({ searchTerm }) => (
289
291
  <>
290
292
  <HighlightedText text={DESCRIPTION_SERVICEMESH} searchTerm={searchTerm} />{' '}
291
- <ExternalLink href={getServiceMeshLink(openshiftVersion)}>Learn more</ExternalLink>
293
+ <ExternalLink href={SERVICE_MESH_OPERATOR_LINK}>Learn more</ExternalLink>
292
294
  </>
293
295
  ),
294
296
  notStandalone: true,
@@ -55,7 +55,6 @@ export const OpenShiftVersionDropdown = ({
55
55
  const [isOpen, setOpen] = React.useState(false);
56
56
  const { t } = useTranslation();
57
57
  const fieldId = getFieldId(name, 'input');
58
- const isDisabled = versions.length === 0;
59
58
  const {
60
59
  values: { customOpenshiftSelect },
61
60
  } = useFormikContext<ClusterDetailsValues>();
@@ -107,28 +106,30 @@ export const OpenShiftVersionDropdown = ({
107
106
  {dropdownItems}
108
107
  </DropdownGroup>
109
108
  ),
110
- <DropdownGroup label="Custom releases" key="custom-releases">
111
- {customDropdownItems}
112
- </DropdownGroup>,
109
+ customDropdownItems.length && (
110
+ <DropdownGroup label="Custom releases" key="custom-releases">
111
+ {customDropdownItems}
112
+ </DropdownGroup>
113
+ ),
113
114
  <DropdownGroup key="all-available-versions">
114
- <DropdownItem key="all-versions" id="all-versions">
115
+ <DropdownItem key="all-versions" id="all-versions" onSelect={(e) => e.preventDefault()}>
115
116
  <Button
116
117
  variant="link"
117
118
  isInline
118
119
  onClick={() => showOpenshiftVersionModal()}
119
120
  id="show-all-versions"
120
121
  >
121
- Show all available versions
122
+ {t('ai:Show all available versions')}
122
123
  </Button>
123
124
  </DropdownItem>
124
125
  </DropdownGroup>,
125
- ];
126
+ ].filter(Boolean);
126
127
 
127
128
  const onSelect = React.useCallback(
128
129
  (event?: React.MouseEvent<Element, MouseEvent>, val?: string | number) => {
129
130
  const newLabel = event?.currentTarget.textContent;
130
131
  const newValue = (val as string) || '';
131
- if (newLabel && newValue !== 'all-versions') {
132
+ if (newLabel && event.currentTarget.id !== 'all-versions') {
132
133
  setCurrent(newLabel);
133
134
  setValue(newValue);
134
135
  setOpen(false);
@@ -144,10 +145,9 @@ export const OpenShiftVersionDropdown = ({
144
145
  ref={toggleRef}
145
146
  isFullWidth
146
147
  onClick={() => setOpen(!isOpen)}
147
- isDisabled={isDisabled}
148
148
  isExpanded={isOpen}
149
149
  >
150
- {current}
150
+ {current || t('ai:OpenShift version')}
151
151
  </MenuToggle>
152
152
  );
153
153
 
@@ -63,7 +63,6 @@ export const SimpleDropdown = ({
63
63
  onOpenChange={() => setOpen(!isOpen)}
64
64
  toggle={toggle}
65
65
  isOpen={isOpen}
66
- isPlain
67
66
  id={idPrefix ? `${idPrefix}-dropdown-toggle` : undefined}
68
67
  popperProps={{ appendTo: menuAppendTo }}
69
68
  >
@@ -9,7 +9,6 @@ export { default as SwitchField } from './SwitchField';
9
9
  export { default as FormikAutoSave, useFormikAutoSave } from './FormikAutoSave';
10
10
  export { default as PullSecretField } from './PullSecretField';
11
11
  export { default as RadioField } from './RadioField';
12
- export { default as SingleNodeCheckbox } from './SingleNodeCheckbox';
13
12
  export { default as NumberInputField } from './NumberInputField';
14
13
  export { default as CodeField } from './CodeField';
15
14
  export { default as RichInputField } from './RichInputField';
@@ -70,7 +70,6 @@ export const clusterFieldLabels = (t: TFunction): { [key in string]: string } =>
70
70
  ingressVips: t('ai:Ingress IP'),
71
71
  pullSecret: t('ai:Pull secret'),
72
72
  sshPublicKey: t('ai:SSH public key'),
73
- SNODisclaimer: t('ai:Single Node OpenShift disclaimer'),
74
73
  diskEncryptionTangServers: t("ai:Tang servers' URLs or thumbprints"),
75
74
  selectedHostIds: t('ai:Hosts selection'),
76
75
  httpProxy: t('ai:HTTP proxy'),
@@ -332,10 +331,7 @@ export const singleClusterOperators = [
332
331
  OPERATOR_NAME_CNV,
333
332
  OPERATOR_NAME_MTV,
334
333
  OPERATOR_NAME_NMSTATE,
335
- OPERATOR_NAME_NODE_HEALTHCHECK,
336
334
  OPERATOR_NAME_NODE_MAINTENANCE,
337
- OPERATOR_NAME_FENCE_AGENTS_REMEDIATION,
338
- OPERATOR_NAME_SELF_NODE_REMEDIATION,
339
335
  OPERATOR_NAME_KUBE_DESCHEDULER,
340
336
  ];
341
337
 
@@ -1,6 +1,6 @@
1
1
  import { isMajorMinorVersionEqualOrGreater } from '../utils';
2
2
 
3
- const LATEST_OPENSHIFT_DOCS_VERSION = '4.18';
3
+ const LATEST_OPENSHIFT_DOCS_VERSION = '4.19';
4
4
  const MIN_OPENSHIFT_DOCS_VERSION = '4.14';
5
5
 
6
6
  const getDocsOpenshiftVersion = (ocpVersion?: string): string => {
@@ -164,20 +164,22 @@ export const getMtuLink = (ocpVersion?: string) =>
164
164
 
165
165
  export const AUTHORINO_OPERATOR_LINK = 'https://github.com/Kuadrant/authorino-operator';
166
166
 
167
- export const getLsoLink = (ocpVersion?: string) =>
168
- `https://docs.openshift.com/container-platform/${getDocsOpenshiftVersion(
169
- ocpVersion,
170
- )}/storage/persistent_storage/persistent_storage_local/ways-to-provision-local-storage.html`;
167
+ export const getLsoLink = (ocpVersion?: string) => {
168
+ const version = getDocsOpenshiftVersion(ocpVersion);
169
+ return isMajorMinorVersionEqualOrGreater(ocpVersion, '4.19')
170
+ ? `https://docs.redhat.com/en/documentation/openshift_container_platform/${version}/html/storage/configuring-persistent-storage#persistent-storage-using-local-storage`
171
+ : `https://docs.openshift.com/container-platform/${version}/storage/persistent_storage/persistent_storage_local/ways-to-provision-local-storage.html`;
172
+ };
171
173
 
172
174
  export const getNmstateLink = (ocpVersion?: string) =>
173
- `https://docs.openshift.com/container-platform/${getDocsOpenshiftVersion(
175
+ `https://docs.redhat.com/en/documentation/openshift_container_platform/${getDocsOpenshiftVersion(
174
176
  ocpVersion,
175
- )}/networking/networking_operators/k8s-nmstate-about-the-k8s-nmstate-operator.html`;
177
+ )}/html/networking/networking-operators#k8s-nmstate-about-the-k8s-nmstate-operator`;
176
178
 
177
179
  export const getNodeFeatureDiscoveryLink = (ocpVersion?: string) =>
178
- `https://docs.openshift.com/container-platform/${getDocsOpenshiftVersion(
180
+ `https://docs.redhat.com/en/documentation/openshift_container_platform/${getDocsOpenshiftVersion(
179
181
  ocpVersion,
180
- )}/hardware_enablement/psap-node-feature-discovery-operator.html`;
182
+ )}/html/specialized_hardware_and_driver_enablement/psap-node-feature-discovery-operator`;
181
183
 
182
184
  export const getNvidiaGpuLink = (ocpVersion?: string) => {
183
185
  const version = getDocsOpenshiftVersion(ocpVersion);
@@ -187,15 +189,13 @@ export const getNvidiaGpuLink = (ocpVersion?: string) => {
187
189
  };
188
190
 
189
191
  export const PIPELINES_OPERATOR_LINK =
190
- 'https://docs.openshift.com/pipelines/1.17/install_config/installing-pipelines.html';
192
+ 'https://docs.redhat.com/en/documentation/red_hat_openshift_pipelines/1.18/html/installing_and_configuring/installing-pipelines';
191
193
 
192
- export const getServiceMeshLink = (ocpVersion?: string) =>
193
- `https://docs.openshift.com/container-platform/${getDocsOpenshiftVersion(
194
- ocpVersion,
195
- )}/service_mesh/v1x/preparing-ossm-installation.html`;
194
+ export const SERVICE_MESH_OPERATOR_LINK =
195
+ 'https://docs.redhat.com/en/documentation/red_hat_openshift_service_mesh/3.0/html/installing/ossm-installing-service-mesh';
196
196
 
197
197
  export const SERVERLESS_OPERATOR_LINK =
198
- 'https://docs.openshift.com/serverless/1.28/install/install-serverless-operator.html#serverless-install-web-console_install-serverless-operator';
198
+ 'https://docs.redhat.com/en/documentation/red_hat_openshift_serverless/1.36/html/installing_openshift_serverless/install-serverless-operator#serverless-install-web-console_install-serverless-operator';
199
199
 
200
200
  export const KUBECONFIG_INFO_LINK =
201
201
  'https://docs.redhat.com/en/documentation/openshift_container_platform/4.18/html/cli_tools/openshift-cli-oc#about-switches-between-cli-profiles_managing-cli-profiles';
@@ -56,8 +56,7 @@ export const isCompact = (cluster: Pick<Cluster, 'hosts'>) => {
56
56
  return !cluster.hosts || cluster.hosts.length <= 3;
57
57
  };
58
58
 
59
- export const isSNO = ({ highAvailabilityMode }: Partial<Cluster>) =>
60
- highAvailabilityMode === 'None';
59
+ export const isSNO = ({ controlPlaneCount }: Partial<Cluster>) => controlPlaneCount === 1;
61
60
 
62
61
  export const selectClusterValidationsInfo = ({
63
62
  validationsInfo,
@@ -76,18 +76,12 @@ export const getSupportedCpuArchitectures = (
76
76
  day1CpuArchitecture?: SupportedCpuArchitecture,
77
77
  ): SupportedCpuArchitecture[] => {
78
78
  const newSupportedCpuArchs: SupportedCpuArchitecture[] = [];
79
- //Power/Z clusters can be only homogeneous clusters
80
- if (
81
- day1CpuArchitecture === CpuArchitecture.ppc64le ||
82
- day1CpuArchitecture === CpuArchitecture.s390x
83
- ) {
79
+ //Power clusters can be only homogeneous clusters
80
+ if (day1CpuArchitecture === CpuArchitecture.ppc64le) {
84
81
  newSupportedCpuArchs.push(day1CpuArchitecture);
85
82
  } else {
86
83
  cpuArchitectures.forEach((cpuArch) => {
87
- if (
88
- day1CpuArchitecture === undefined &&
89
- (cpuArch === CpuArchitecture.ppc64le || cpuArch === CpuArchitecture.s390x)
90
- ) {
84
+ if (day1CpuArchitecture === undefined && cpuArch === CpuArchitecture.ppc64le) {
91
85
  newSupportedCpuArchs.push(cpuArch);
92
86
  } else if (
93
87
  cpuArch !== CpuArchitecture.MULTI &&
@@ -19,11 +19,13 @@ export const UILibRoutes = ({
19
19
  children,
20
20
  history,
21
21
  basename,
22
+ additionalComponents,
22
23
  }: {
23
24
  allEnabledFeatures: FeatureListType;
24
25
  children?: React.ReactNode;
25
26
  history?: HistoryRouterProps['history'];
26
27
  basename?: string;
28
+ additionalComponents?: React.ReactNode;
27
29
  }) => {
28
30
  useFeatureDetection(allEnabledFeatures);
29
31
 
@@ -49,6 +51,7 @@ export const UILibRoutes = ({
49
51
  ) : (
50
52
  routes
51
53
  )}
54
+ {additionalComponents}
52
55
  </Provider>
53
56
  );
54
57
  };
@@ -9,14 +9,15 @@ import {
9
9
  DropdownList,
10
10
  } from '@patternfly/react-core';
11
11
  import { useField } from 'formik';
12
+ import toNumber from 'lodash-es/toNumber';
12
13
  import { getFieldId, PopoverIcon, PreviewBadgePosition, TechnologyPreview } from '../../../common';
14
+
13
15
  import {
14
16
  NewFeatureSupportLevelMap,
15
17
  useNewFeatureSupportLevel,
16
18
  } from '../../../common/components/newFeatureSupportLevels';
17
19
  import { isFeatureSupportedAndAvailable } from '../featureSupportLevels/featureStateUtils';
18
20
  import OcmTNADisclaimer from './OcmTNADisclaimer';
19
- import toNumber from 'lodash-es/toNumber';
20
21
  import OcmSNODisclaimer from './OcmSNODisclaimer';
21
22
 
22
23
  const INPUT_NAME = 'controlPlaneCount';
@@ -71,18 +72,10 @@ const ControlPlaneNodesDropdown: React.FC<ControlPlaneNodesDropdownProps> = ({
71
72
  const [isOpen, setOpen] = React.useState<boolean>(false);
72
73
  const newFeatureSupportLevelContext = useNewFeatureSupportLevel();
73
74
 
74
- const snoSupportLevel = newFeatureSupportLevelContext.getFeatureSupportLevel(
75
- 'SNO',
76
- featureSupportLevelData ?? undefined,
77
- );
78
75
  const snoExpansion = newFeatureSupportLevelContext.isFeatureSupported(
79
76
  'SINGLE_NODE_EXPANSION',
80
77
  featureSupportLevelData ?? undefined,
81
78
  );
82
- const isDisabled = newFeatureSupportLevelContext.isFeatureDisabled(
83
- 'SNO',
84
- featureSupportLevelData ?? undefined,
85
- );
86
79
 
87
80
  const disabledReason =
88
81
  'This option is not available with the current configurations. Make sure that OpenShift version is 4.19 or newer and no external platform integration is selected.';
@@ -171,13 +164,7 @@ const ControlPlaneNodesDropdown: React.FC<ControlPlaneNodesDropdownProps> = ({
171
164
  <DropdownList>{dropdownItems}</DropdownList>
172
165
  </Dropdown>
173
166
  </FormGroup>
174
- {field.value === 1 && (
175
- <OcmSNODisclaimer
176
- isDisabled={isDisabled}
177
- snoSupportLevel={snoSupportLevel || 'supported'}
178
- snoExpansionSupported={snoExpansion}
179
- />
180
- )}
167
+ {field.value === 1 && <OcmSNODisclaimer snoExpansionSupported={snoExpansion} />}
181
168
  {field.value === 2 && <OcmTNADisclaimer />}
182
169
  </>
183
170
  );
@@ -1,77 +1,31 @@
1
1
  import React from 'react';
2
- import { Alert, AlertVariant, List, ListItem, Stack, StackItem } from '@patternfly/react-core';
3
- import { CheckboxField } from '../../../common';
2
+ import { Alert, AlertVariant, List, ListItem } from '@patternfly/react-core';
4
3
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
5
- import { SupportLevel } from '@openshift-assisted/types/assisted-installer-service';
6
4
 
7
5
  type OcmSNODisclaimerProps = {
8
- snoSupportLevel: SupportLevel;
9
- isDisabled?: boolean;
10
6
  snoExpansionSupported?: boolean;
11
7
  };
12
- const OcmSNODisclaimer = ({
13
- snoSupportLevel,
14
- isDisabled = false,
15
- snoExpansionSupported = false,
16
- }: OcmSNODisclaimerProps) => {
8
+ const OcmSNODisclaimer = ({ snoExpansionSupported = false }: OcmSNODisclaimerProps) => {
17
9
  const { t } = useTranslation();
18
- if (!['dev-preview', 'supported'].includes(snoSupportLevel)) {
19
- //if tech preview or unsupported there's no definition which warning to show
20
- return null;
21
- }
22
- const isDevPreview = snoSupportLevel === 'dev-preview';
23
- const generalSNOFacts = (
24
- <>
25
- <ListItem>
26
- {t(
27
- 'ai:Installing SNO will result in an OpenShift deployment that is not highly available.',
28
- )}
29
- </ListItem>
30
- {!snoExpansionSupported && (
31
- <ListItem>
32
- {t('ai:Currently, adding additional machines to your cluster is not supported.')}
33
- </ListItem>
34
- )}
35
- </>
36
- );
37
- const unsupportedWarnings = (
38
- <>
39
- <ListItem>
40
- {t('ai:SNO is in a proof-of-concept stage and is not supported in any way.')}
41
- </ListItem>
42
- <ListItem>
43
- {t(
44
- "ai:OpenShift in-place upgrades aren't expected to work with SNO. If an upgrade is needed, your system will need a redeployment.",
45
- )}
46
- </ListItem>
47
- </>
48
- );
49
10
 
50
11
  return (
51
12
  <Alert
52
- variant={isDevPreview ? AlertVariant.warning : AlertVariant.info}
13
+ variant={AlertVariant.info}
53
14
  title={t('ai:Limitations for using Single Node OpenShift')}
54
15
  isInline
55
16
  >
56
- <Stack hasGutter>
57
- <StackItem>
58
- <List>
59
- {generalSNOFacts}
60
- {isDevPreview && unsupportedWarnings}
61
- </List>
62
- </StackItem>
63
- {isDevPreview && (
64
- <StackItem>
65
- <CheckboxField
66
- name="SNODisclaimer"
67
- label={t(
68
- 'ai:I understand, accept, and agree to the limitations associated with using Single Node OpenShift.',
69
- )}
70
- isDisabled={isDisabled}
71
- />
72
- </StackItem>
17
+ <List>
18
+ <ListItem>
19
+ {t(
20
+ 'ai:Installing SNO will result in an OpenShift deployment that is not highly available.',
21
+ )}
22
+ </ListItem>
23
+ {!snoExpansionSupported && (
24
+ <ListItem>
25
+ {t('ai:Currently, adding additional machines to your cluster is not supported.')}
26
+ </ListItem>
73
27
  )}
74
- </Stack>
28
+ </List>
75
29
  </Alert>
76
30
  );
77
31
  };