@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.
- package/build/@types/common/config/docs_links.d.ts +8 -0
- package/build/@types/common/config/docs_links.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts +2 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts +2 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts +2 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts +2 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts +4 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts +2 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts +4 -0
- package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
- package/build/cjs/common/config/docs_links.js +14 -1
- package/build/cjs/common/config/docs_links.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js +6 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js +11 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js +9 -4
- package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js +4 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js +9 -4
- package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js +9 -4
- package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js +9 -4
- package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js +9 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js +1 -12
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js +30 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js +6 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js +6 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js +10 -5
- package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js +19 -0
- package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js.map +1 -0
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +64 -30
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
- package/lib/common/config/docs_links.ts +33 -0
- package/lib/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.tsx +5 -1
- package/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx +17 -2
- package/lib/ocm/components/clusterConfiguration/operators/LsoCheckbox.tsx +9 -3
- package/lib/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.tsx +4 -1
- package/lib/ocm/components/clusterConfiguration/operators/NmstateCheckbox.tsx +9 -3
- package/lib/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.tsx +15 -3
- package/lib/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.tsx +9 -3
- package/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx +15 -2
- package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.tsx +0 -14
- package/lib/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.tsx +36 -0
- package/lib/ocm/components/clusterConfiguration/operators/PipelinesChekbox.tsx +5 -1
- package/lib/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.tsx +5 -1
- package/lib/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.tsx +10 -4
- package/lib/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.tsx +26 -0
- package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +157 -110
- package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +1 -1
- package/package.json +3 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
1
2
|
import React, { useEffect, useState } from 'react';
|
|
2
3
|
import { useSelector } from 'react-redux';
|
|
3
4
|
import {
|
|
@@ -20,6 +21,8 @@ import {
|
|
|
20
21
|
ClusterOperatorProps,
|
|
21
22
|
ClusterWizardStepHeader,
|
|
22
23
|
numberOfEnabledOperators,
|
|
24
|
+
OPERATOR_NAME_CNV,
|
|
25
|
+
OPERATOR_NAME_ODF,
|
|
23
26
|
OperatorsValues,
|
|
24
27
|
PopoverIcon,
|
|
25
28
|
} from '../../../common';
|
|
@@ -45,6 +48,8 @@ import {
|
|
|
45
48
|
getOdfIncompatibleWithLvmsReason,
|
|
46
49
|
getOpenShiftAIIncompatibleWithLvmsReason,
|
|
47
50
|
} from '../featureSupportLevels/featureStateUtils';
|
|
51
|
+
import OpenshiftAINvidiaRequirements from '../clusterConfiguration/operators/OpenshiftAINvidiaRequirements';
|
|
52
|
+
import VirtualizationRequirements from '../clusterConfiguration/operators/VirtualizationRequirements';
|
|
48
53
|
|
|
49
54
|
const operatorsThatCanNotBeInstalledAlone = [
|
|
50
55
|
'nvdia-gpu',
|
|
@@ -73,6 +78,8 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
|
|
|
73
78
|
const { updateUISettings, uiSettings } = useClusterWizardContext();
|
|
74
79
|
const { values, setFieldValue } = useFormikContext<OperatorsValues>();
|
|
75
80
|
const featureSupportLevelData = useNewFeatureSupportLevel();
|
|
81
|
+
const [hasUnsupportedOperators, setHasUnsupportedOperators] = useState<boolean>(false);
|
|
82
|
+
const [hasIncompatibleOperators, setHasIncompatibleOperators] = useState<boolean>(false);
|
|
76
83
|
|
|
77
84
|
useEffect(() => {
|
|
78
85
|
const fetchBundles = async () => {
|
|
@@ -156,6 +163,9 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
|
|
|
156
163
|
newBundleOperators.push(op);
|
|
157
164
|
const fieldId = mapOperatorsToFieldIds[op]; // Obtener el ID del campo correspondiente
|
|
158
165
|
setFieldValue(fieldId, checked);
|
|
166
|
+
if (op === OPERATOR_NAME_CNV || op === OPERATOR_NAME_ODF) {
|
|
167
|
+
if (featureSupportLevelData.isFeatureSupported('LSO')) setFieldValue('useLso', checked);
|
|
168
|
+
}
|
|
159
169
|
}
|
|
160
170
|
});
|
|
161
171
|
} else {
|
|
@@ -165,6 +175,9 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
|
|
|
165
175
|
operators.forEach((op) => {
|
|
166
176
|
const fieldId = mapOperatorsToFieldIds[op]; // Obtener el ID del campo correspondiente
|
|
167
177
|
setFieldValue(fieldId, checked);
|
|
178
|
+
if (op === OPERATOR_NAME_CNV || op === OPERATOR_NAME_ODF) {
|
|
179
|
+
if (featureSupportLevelData.isFeatureSupported('LSO')) setFieldValue('useLso', checked);
|
|
180
|
+
}
|
|
168
181
|
});
|
|
169
182
|
}
|
|
170
183
|
|
|
@@ -178,7 +191,7 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
|
|
|
178
191
|
setBundleOperators(newBundleOperators);
|
|
179
192
|
};
|
|
180
193
|
|
|
181
|
-
const getBundleLabel = (title: string | undefined
|
|
194
|
+
const getBundleLabel = (title: string | undefined) => {
|
|
182
195
|
return (
|
|
183
196
|
<>
|
|
184
197
|
<span>{title} </span>
|
|
@@ -186,15 +199,11 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
|
|
|
186
199
|
component={'a'}
|
|
187
200
|
bodyContent={
|
|
188
201
|
<>
|
|
189
|
-
<
|
|
190
|
-
{
|
|
191
|
-
<
|
|
192
|
-
{operators.map((operator, index) => (
|
|
193
|
-
<li key={index}>{operator}</li>
|
|
194
|
-
))}
|
|
195
|
-
</ul>
|
|
202
|
+
<span style={{ fontSize: '1.1em' }}>{'Requirements and dependencies'}</span>
|
|
203
|
+
{title === 'Virtualization' ? (
|
|
204
|
+
<VirtualizationRequirements />
|
|
196
205
|
) : (
|
|
197
|
-
<
|
|
206
|
+
<OpenshiftAINvidiaRequirements />
|
|
198
207
|
)}
|
|
199
208
|
</>
|
|
200
209
|
}
|
|
@@ -202,49 +211,81 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
|
|
|
202
211
|
</>
|
|
203
212
|
);
|
|
204
213
|
};
|
|
205
|
-
const bundleHasOperatorsNotSupported = (operators: string[] | undefined) => {
|
|
206
|
-
return (
|
|
207
|
-
operators?.some(
|
|
208
|
-
(operator) =>
|
|
209
|
-
!featureSupportLevelData.isFeatureSupported(mapOperatorIdToFeatureId[operator]),
|
|
210
|
-
) ?? false
|
|
211
|
-
);
|
|
212
|
-
};
|
|
213
214
|
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
215
|
+
const bundleHasOperatorsNotSupported = React.useCallback(
|
|
216
|
+
(operators: string[] | undefined) => {
|
|
217
|
+
return (
|
|
218
|
+
operators?.some(
|
|
219
|
+
(operator) =>
|
|
220
|
+
!featureSupportLevelData.isFeatureSupported(mapOperatorIdToFeatureId[operator]),
|
|
221
|
+
) ?? false
|
|
222
|
+
);
|
|
223
|
+
},
|
|
224
|
+
[featureSupportLevelData],
|
|
225
|
+
);
|
|
226
|
+
|
|
227
|
+
const getDisabledReasonForOperator = React.useCallback(
|
|
228
|
+
(operatorKey: string, values: OperatorsValues) => {
|
|
229
|
+
let disabledReason = featureSupportLevelData.getFeatureDisabledReason(
|
|
230
|
+
mapOperatorIdToFeatureId[operatorKey],
|
|
231
|
+
);
|
|
232
|
+
if (operatorKey === 'cnv') {
|
|
233
|
+
if (!disabledReason) {
|
|
234
|
+
const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
|
|
235
|
+
disabledReason = getCnvIncompatibleWithLvmReason(values, lvmSupport);
|
|
236
|
+
}
|
|
237
|
+
if (!disabledReason) {
|
|
238
|
+
if (featureSupportLevelData.isFeatureSupported('MTV')) {
|
|
239
|
+
disabledReason = getCnvDisabledWithMtvReason(values);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
225
242
|
}
|
|
226
|
-
|
|
227
|
-
if (operatorKey === 'lvm') {
|
|
228
|
-
if (!disabledReason) {
|
|
229
|
-
const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
|
|
230
|
-
disabledReason = getLvmIncompatibleWithCnvReason(values, lvmSupport);
|
|
243
|
+
if (operatorKey === 'lvm') {
|
|
231
244
|
if (!disabledReason) {
|
|
232
|
-
|
|
245
|
+
const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
|
|
246
|
+
disabledReason = getLvmIncompatibleWithCnvReason(values, lvmSupport);
|
|
247
|
+
if (!disabledReason) {
|
|
248
|
+
disabledReason = getLvmsIncompatibleWithOdfReason(values);
|
|
249
|
+
}
|
|
233
250
|
}
|
|
234
251
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
252
|
+
if (operatorKey === 'odf') {
|
|
253
|
+
if (!disabledReason) {
|
|
254
|
+
disabledReason = getOdfIncompatibleWithLvmsReason(values);
|
|
255
|
+
}
|
|
239
256
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
257
|
+
if (operatorKey === 'openshift-ai') {
|
|
258
|
+
if (!disabledReason) {
|
|
259
|
+
disabledReason = getOpenShiftAIIncompatibleWithLvmsReason(values);
|
|
260
|
+
}
|
|
244
261
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
262
|
+
return disabledReason;
|
|
263
|
+
},
|
|
264
|
+
[featureSupportLevelData],
|
|
265
|
+
);
|
|
266
|
+
|
|
267
|
+
const bundleHasOperatorsNotCompatibles = React.useCallback(
|
|
268
|
+
(operators: string[] | undefined, values: OperatorsValues) => {
|
|
269
|
+
return (
|
|
270
|
+
operators?.some((operatorKey) => {
|
|
271
|
+
const disabledReason = getDisabledReasonForOperator(operatorKey, values);
|
|
272
|
+
console.log(disabledReason);
|
|
273
|
+
return disabledReason !== undefined;
|
|
274
|
+
}) ?? false
|
|
275
|
+
);
|
|
276
|
+
},
|
|
277
|
+
[getDisabledReasonForOperator],
|
|
278
|
+
);
|
|
279
|
+
|
|
280
|
+
useEffect(() => {
|
|
281
|
+
setHasUnsupportedOperators(
|
|
282
|
+
bundles.some((bundle) => bundleHasOperatorsNotSupported(bundle.operators)),
|
|
283
|
+
);
|
|
284
|
+
|
|
285
|
+
setHasIncompatibleOperators(
|
|
286
|
+
bundles.some((bundle) => bundleHasOperatorsNotCompatibles(bundle.operators, values)),
|
|
287
|
+
);
|
|
288
|
+
}, [values, bundles, bundleHasOperatorsNotSupported, bundleHasOperatorsNotCompatibles]);
|
|
248
289
|
|
|
249
290
|
return (
|
|
250
291
|
<Stack hasGutter data-testid={'operators-page'}>
|
|
@@ -274,75 +315,81 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
|
|
|
274
315
|
</StackItem>
|
|
275
316
|
{/* Mostrar bundles como tarjetas */}
|
|
276
317
|
<Gallery hasGutter minWidths={{ default: '350px' }} maxWidths={{ default: '2fr' }}>
|
|
277
|
-
{filteredBundles.map((bundle) =>
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
bundle.id && selectedBundles[bundle.id]
|
|
295
|
-
? { border: '1px solid #004080', height: '200px' }
|
|
296
|
-
: { height: '200px' }
|
|
297
|
-
}
|
|
298
|
-
isDisabled={
|
|
299
|
-
bundleHasOperatorsNotSupported(bundle.operators) ||
|
|
300
|
-
(isSNO && bundle.id === 'openshift-ai-nvidia')
|
|
318
|
+
{filteredBundles.map((bundle) => {
|
|
319
|
+
const isSnoAndBlockedBundle = isSNO && bundle.id === 'openshift-ai-nvidia';
|
|
320
|
+
|
|
321
|
+
const tooltipContent = hasUnsupportedOperators
|
|
322
|
+
? 'Some operators in this bundle are not supported with the current configuration.'
|
|
323
|
+
: hasIncompatibleOperators
|
|
324
|
+
? 'Some operators in this bundle can not be installed with some single operators selected.'
|
|
325
|
+
: isSnoAndBlockedBundle
|
|
326
|
+
? 'This bundle is not available when deploying a Single Node OpenShift.'
|
|
327
|
+
: '';
|
|
328
|
+
|
|
329
|
+
return (
|
|
330
|
+
<GalleryItem key={bundle.id}>
|
|
331
|
+
<Tooltip
|
|
332
|
+
content={tooltipContent}
|
|
333
|
+
hidden={
|
|
334
|
+
!hasUnsupportedOperators && !hasIncompatibleOperators && !isSnoAndBlockedBundle
|
|
301
335
|
}
|
|
302
336
|
>
|
|
303
|
-
<
|
|
304
|
-
style={
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
onChange={(_event, checked) =>
|
|
313
|
-
void handleBundleSelection(bundle.id || '', bundle.operators || [], checked)
|
|
314
|
-
}
|
|
315
|
-
isDisabled={
|
|
316
|
-
bundleHasOperatorsNotSupported(bundle.operators) ||
|
|
317
|
-
(isSNO && bundle.id === 'openshift-ai-nvidia')
|
|
318
|
-
}
|
|
319
|
-
/>
|
|
320
|
-
</CardTitle>
|
|
321
|
-
<CardBody
|
|
322
|
-
style={{
|
|
323
|
-
display: 'flex',
|
|
324
|
-
flexDirection: 'column',
|
|
325
|
-
justifyContent: 'space-between',
|
|
326
|
-
height: '100%',
|
|
327
|
-
}}
|
|
337
|
+
<Card
|
|
338
|
+
style={
|
|
339
|
+
bundle.id && selectedBundles[bundle.id]
|
|
340
|
+
? { border: '1px solid #004080', height: '200px' }
|
|
341
|
+
: { height: '200px' }
|
|
342
|
+
}
|
|
343
|
+
isDisabled={
|
|
344
|
+
hasUnsupportedOperators || hasIncompatibleOperators || isSnoAndBlockedBundle
|
|
345
|
+
}
|
|
328
346
|
>
|
|
329
|
-
<
|
|
330
|
-
|
|
331
|
-
|
|
347
|
+
<CardTitle
|
|
348
|
+
style={{
|
|
349
|
+
display: 'flex',
|
|
350
|
+
justifyContent: 'space-between',
|
|
351
|
+
alignItems: 'center',
|
|
352
|
+
}}
|
|
353
|
+
>
|
|
354
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
|
|
355
|
+
{getBundleLabel(bundle.title)}
|
|
356
|
+
</div>
|
|
357
|
+
<Checkbox
|
|
358
|
+
id={`bundle-${bundle.id || ''}`}
|
|
359
|
+
isChecked={bundle.id ? selectedBundles[bundle.id] : false}
|
|
360
|
+
onChange={(_event, checked) =>
|
|
361
|
+
void handleBundleSelection(bundle.id || '', bundle.operators || [], checked)
|
|
362
|
+
}
|
|
363
|
+
isDisabled={
|
|
364
|
+
hasUnsupportedOperators || hasIncompatibleOperators || isSnoAndBlockedBundle
|
|
365
|
+
}
|
|
366
|
+
/>
|
|
367
|
+
</CardTitle>
|
|
368
|
+
<CardBody
|
|
369
|
+
style={{
|
|
370
|
+
display: 'flex',
|
|
371
|
+
flexDirection: 'column',
|
|
372
|
+
justifyContent: 'space-between',
|
|
373
|
+
height: '100%',
|
|
374
|
+
}}
|
|
375
|
+
>
|
|
376
|
+
<div>{bundle.description}</div>
|
|
332
377
|
|
|
333
|
-
|
|
334
|
-
{
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
378
|
+
{/* Badge aligned to the bottom-left */}
|
|
379
|
+
<div style={{ marginTop: '10px', alignSelf: 'flex-end', height: '25px' }}>
|
|
380
|
+
{bundle.id === 'openshift-ai-nvidia' && (
|
|
381
|
+
<NewFeatureSupportLevelBadge
|
|
382
|
+
featureId="OPENSHIFT_AI"
|
|
383
|
+
supportLevel="dev-preview"
|
|
384
|
+
/>
|
|
385
|
+
)}
|
|
386
|
+
</div>
|
|
387
|
+
</CardBody>
|
|
388
|
+
</Card>
|
|
389
|
+
</Tooltip>
|
|
390
|
+
</GalleryItem>
|
|
391
|
+
);
|
|
392
|
+
})}
|
|
346
393
|
</Gallery>
|
|
347
394
|
<ExpandableSection
|
|
348
395
|
toggleText={`Single Operators (${supportedOperators.length} | ${
|
|
@@ -351,7 +351,7 @@ const getOpenShiftAIDisabledReason = (
|
|
|
351
351
|
export const getCnvDisabledWithMtvReason = (operatorValues: OperatorsValues) => {
|
|
352
352
|
const mustDisableCnv =
|
|
353
353
|
operatorValues.useContainerNativeVirtualization &&
|
|
354
|
-
operatorValues.useMigrationToolkitforVirtualization;
|
|
354
|
+
!operatorValues.useMigrationToolkitforVirtualization;
|
|
355
355
|
return mustDisableCnv
|
|
356
356
|
? `Currently, you need to install ${CNV_OPERATOR_LABEL} operator at the same time as ${MTV_OPERATOR_LABEL} operator.`
|
|
357
357
|
: undefined;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@openshift-assisted/locales": "2.38.
|
|
4
|
-
"@openshift-assisted/types": "2.38.
|
|
3
|
+
"@openshift-assisted/locales": "2.38.2",
|
|
4
|
+
"@openshift-assisted/types": "2.38.2",
|
|
5
5
|
"@openshift-console/dynamic-plugin-sdk": "0.0.3",
|
|
6
6
|
"@patternfly/patternfly": "5.2.0",
|
|
7
7
|
"@patternfly/react-code-editor": "5.2.0",
|
|
@@ -139,5 +139,5 @@
|
|
|
139
139
|
]
|
|
140
140
|
}
|
|
141
141
|
},
|
|
142
|
-
"version": "2.38.
|
|
142
|
+
"version": "2.38.2"
|
|
143
143
|
}
|