Skip to content

Commit 0c56a9d

Browse files
committed
bug fixes
1 parent 7cb1b95 commit 0c56a9d

File tree

6 files changed

+29
-18
lines changed

6 files changed

+29
-18
lines changed

frontend/src/pages/modelServing/screens/global/ServeModelButton.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import { byName, ProjectsContext } from '#~/concepts/projects/ProjectsContext';
1515
import { isProjectNIMSupported } from '#~/pages/modelServing/screens/projects/nimUtils';
1616
import ManageNIMServingModal from '#~/pages/modelServing/screens/projects/NIMServiceModal/ManageNIMServingModal';
1717
import useServingPlatformStatuses from '#~/pages/modelServing/useServingPlatformStatuses';
18-
import { ProjectDetailsContext } from '#~/pages/projects/ProjectDetailsContext';
1918

2019
const ServeModelButton: React.FC = () => {
2120
const [platformSelected, setPlatformSelected] = React.useState<
@@ -30,7 +29,6 @@ const ServeModelButton: React.FC = () => {
3029
connections: { data: connections },
3130
} = React.useContext(ModelServingContext);
3231
const { projects } = React.useContext(ProjectsContext);
33-
const { pvcs } = React.useContext(ProjectDetailsContext);
3432
const { namespace } = useParams<{ namespace: string }>();
3533
const servingPlatformStatuses = useServingPlatformStatuses();
3634
const isNIMAvailable = servingPlatformStatuses.kServeNIM.enabled;
@@ -106,7 +104,6 @@ const ServeModelButton: React.FC = () => {
106104
currentProject: project,
107105
connections,
108106
}}
109-
pvcs={pvcs.data}
110107
servingRuntimeTemplates={templatesEnabled.filter((template) =>
111108
getTemplateEnabledForPlatform(template, ServingRuntimePlatform.SINGLE),
112109
)}

frontend/src/pages/modelServing/screens/projects/InferenceServiceModal/ConnectionSection.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ import {
3939
import { isModelPathValid } from '#~/pages/modelServing/screens/projects/utils';
4040
import DashboardPopupIconButton from '#~/concepts/dashboard/DashboardPopupIconButton';
4141
import { AccessTypes } from '#~/pages/projects/dataConnections/const';
42-
import { SupportedArea, useIsAreaAvailable } from '#~/concepts/areas/index.ts';
42+
import { SupportedArea, useIsAreaAvailable } from '#~/concepts/areas/index';
4343
import { PersistentVolumeClaimKind } from '#~/k8sTypes.ts';
44+
import { ServingRuntimePlatform } from '#~/types';
4445
import ConnectionS3FolderPathField from './ConnectionS3FolderPathField';
4546
import ConnectionOciPathField from './ConnectionOciPathField';
4647
import { ConnectionOciAlert } from './ConnectionOciAlert';
@@ -247,6 +248,7 @@ type Props = {
247248
connections?: LabeledConnection[];
248249
pvcs?: PersistentVolumeClaimKind[];
249250
connectionTypeFilter?: (ct: ConnectionTypeConfigMapObj) => boolean;
251+
platform?: ServingRuntimePlatform;
250252
};
251253

252254
// todo convert 'data' into a generic 'modelLocation' obj
@@ -264,8 +266,10 @@ export const ConnectionSection: React.FC<Props> = ({
264266
connections,
265267
pvcs,
266268
connectionTypeFilter = () => true,
269+
platform,
267270
}) => {
268271
const [modelServingConnectionTypes] = useWatchConnectionTypes(true);
272+
269273
const connectionTypes = React.useMemo(
270274
() => modelServingConnectionTypes.filter(connectionTypeFilter),
271275
// eslint-disable-next-line react-hooks/exhaustive-deps
@@ -306,7 +310,7 @@ export const ConnectionSection: React.FC<Props> = ({
306310

307311
return (
308312
<>
309-
{pvcServingEnabled && (
313+
{pvcServingEnabled && platform === ServingRuntimePlatform.SINGLE && (
310314
<Radio
311315
label="Existing cluster storage"
312316
name="pvc-serving-radio"

frontend/src/pages/modelServing/screens/projects/InferenceServiceModal/ManageInferenceServiceModal.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
import { EitherOrNone } from '@openshift/dynamic-plugin-sdk';
1313
import {
1414
getCreateInferenceServiceLabels,
15+
getProjectModelServingPlatform,
1516
submitInferenceServiceResourceWithDryRun,
1617
useCreateInferenceServiceObject,
1718
} from '#~/pages/modelServing/screens/projects/utils';
@@ -32,6 +33,7 @@ import {
3233
ModelServingCompatibleTypes,
3334
} from '#~/concepts/connectionTypes/utils';
3435
import { useModelDeploymentNotification } from '#~/pages/modelServing/screens/projects/useModelDeploymentNotification';
36+
import useServingPlatformStatuses from '#~/pages/modelServing/useServingPlatformStatuses';
3537
import ProjectSection from './ProjectSection';
3638
import InferenceServiceFrameworkSection from './InferenceServiceFrameworkSection';
3739
import InferenceServiceServingRuntimeSection from './InferenceServiceServingRuntimeSection';
@@ -72,6 +74,11 @@ const ManageInferenceServiceModal: React.FC<ManageInferenceServiceModalProps> =
7274
createData.k8sName,
7375
false,
7476
);
77+
const currentProject = projectContext?.currentProject;
78+
const platformStatuses = useServingPlatformStatuses();
79+
const { platform } = currentProject
80+
? getProjectModelServingPlatform(currentProject, platformStatuses)
81+
: { platform: undefined };
7582

7683
const currentProjectName = projectContext?.currentProject.metadata.name || '';
7784
const currentServingRuntimeName = projectContext?.currentServingRuntime?.metadata.name || '';
@@ -237,6 +244,7 @@ const ManageInferenceServiceModal: React.FC<ManageInferenceServiceModalProps> =
237244
connectionTypeFilter={(ct) =>
238245
!isModelServingCompatible(ct, ModelServingCompatibleTypes.OCI)
239246
}
247+
platform={platform}
240248
/>
241249
</FormSection>
242250
</>

frontend/src/pages/modelServing/screens/projects/InferenceServiceModal/PVCSelect.tsx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ import { Alert, FormGroup, Label, Stack, StackItem } from '@patternfly/react-cor
33
import TypeaheadSelect, { TypeaheadSelectOption } from '#~/components/TypeaheadSelect';
44
import { PersistentVolumeClaimKind } from '#~/k8sTypes';
55
import { getDisplayNameFromK8sResource } from '#~/concepts/k8s/utils';
6-
import {
7-
getModelServingPVCAccessMode,
8-
getModelServingPVCAnnotations,
9-
} from '#~/pages/modelServing/utils';
10-
import { PVCAccessMode } from '#~/types';
6+
import { getModelServingPVCAnnotations } from '#~/pages/modelServing/utils';
7+
import { AccessMode } from '#~/pages/storageClasses/storageEnums';
8+
import { getPvcAccessMode } from '#~/pages/projects/utils';
119
import { PVCFields } from './PVCFields';
1210

1311
type PvcSelectProps = {
@@ -82,7 +80,7 @@ export const PvcSelect: React.FC<PvcSelectProps> = ({
8280
[pvcs, selectedPVC],
8381
);
8482

85-
const accessMode = selectedPVC ? getModelServingPVCAccessMode(selectedPVC) : undefined;
83+
const accessMode = selectedPVC ? getPvcAccessMode(selectedPVC) : undefined;
8684

8785
return (
8886
<FormGroup label="Cluster storage" isRequired>
@@ -100,7 +98,7 @@ export const PvcSelect: React.FC<PvcSelectProps> = ({
10098
}}
10199
/>
102100
</StackItem>
103-
{selectedPVC && accessMode !== PVCAccessMode.READ_WRITE_MANY && (
101+
{selectedPVC && accessMode !== AccessMode.RWX && (
104102
<StackItem>
105103
<Alert variant="warning" title="Warning" isInline>
106104
This cluster storage access mode is not ReadWriteMany.

frontend/src/pages/modelServing/screens/projects/kServeModal/ManageKServeModal.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
import { EitherOrNone } from '@openshift/dynamic-plugin-sdk';
1212
import {
1313
getCreateInferenceServiceLabels,
14+
getProjectModelServingPlatform,
1415
getSubmitInferenceServiceResourceFn,
1516
getSubmitServingRuntimeResourcesFn,
1617
useCreateInferenceServiceObject,
@@ -67,6 +68,7 @@ import { useKServeDeploymentMode } from '#~/pages/modelServing/useKServeDeployme
6768
import { SERVING_RUNTIME_SCOPE } from '#~/pages/modelServing/screens/const';
6869
import { useModelDeploymentNotification } from '#~/pages/modelServing/screens/projects/useModelDeploymentNotification';
6970
import { getDashboardPvcs } from '#~/api/k8s/pvcs';
71+
import useServingPlatformStatuses from '#~/pages/modelServing/useServingPlatformStatuses';
7072
import KServeAutoscalerReplicaSection from './KServeAutoscalerReplicaSection';
7173
import EnvironmentVariablesSection from './EnvironmentVariablesSection';
7274
import ServingRuntimeArgsSection from './ServingRuntimeArgsSection';
@@ -141,13 +143,19 @@ const ManageKServeModal: React.FC<ManageKServeModalProps> = ({
141143
createDataInferenceService.isKServeRawDeployment;
142144
const currentProjectName = projectContext?.currentProject.metadata.name;
143145
const namespace = currentProjectName || createDataInferenceService.project;
146+
const currentProject = projectContext?.currentProject;
147+
const platformStatuses = useServingPlatformStatuses();
148+
const { platform } = currentProject
149+
? getProjectModelServingPlatform(currentProject, platformStatuses)
150+
: { platform: undefined };
144151

145152
const projectTemplates = useTemplates(namespace);
146153
const [fallbackPvcs, setFallbackPvcs] = React.useState<PersistentVolumeClaimKind[]>([]);
147154
React.useEffect(() => {
148155
getDashboardPvcs(namespace)
149156
.then((data) => {
150-
setFallbackPvcs(data.filter((pvc) => pvc.metadata.namespace === namespace));
157+
//setFallbackPvcs(data.filter((pvc) => pvc.metadata.namespace === namespace));
158+
setFallbackPvcs(data);
151159
})
152160
.catch(() => {
153161
setFallbackPvcs([]);
@@ -488,6 +496,7 @@ const ManageKServeModal: React.FC<ManageKServeModalProps> = ({
488496
setIsConnectionValid={setIsConnectionValid}
489497
connections={connections}
490498
pvcs={pvcs?.length && pvcs.length > 0 ? pvcs : fallbackPvcs}
499+
platform={platform}
491500
/>
492501
</FormSection>
493502
)}

frontend/src/pages/modelServing/utils.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -390,8 +390,3 @@ export const getModelServingPVCAnnotations = (
390390

391391
return { modelName, modelPath };
392392
};
393-
394-
export const getModelServingPVCAccessMode = (pvc: PersistentVolumeClaimKind): string | null => {
395-
const accessMode = pvc.spec.accessModes[0];
396-
return accessMode;
397-
};

0 commit comments

Comments
 (0)