Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add enablement flag for nim #1330

Merged
merged 24 commits into from
Nov 27, 2024
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
42089a8
add enablement flag for nim
trujillm Oct 31, 2024
8b09a92
add generated files
trujillm Oct 31, 2024
cf86046
add api generated file
trujillm Oct 31, 2024
59daf4d
revert image for csv
trujillm Oct 31, 2024
11582fa
update NIM with its own spec
trujillm Oct 31, 2024
1395504
create nim struct remove from serverless
trujillm Oct 31, 2024
b19d8bf
updated generated files
trujillm Nov 1, 2024
da745e8
update nim to default removed
trujillm Nov 1, 2024
5dfaee8
update image to correct var
trujillm Nov 1, 2024
6078979
update to managed as default
trujillm Nov 4, 2024
a9321b6
add nim-state to params.env
trujillm Nov 6, 2024
8206fcb
fix NVIDIA typo
trujillm Nov 7, 2024
c4a92ca
Merge branch 'opendatahub-io:incubation' into add_nim_enablement
trujillm Nov 7, 2024
2ee890c
Merge branch 'opendatahub-io:incubation' into add_nim_enablement
trujillm Nov 18, 2024
d5a6a33
resolve conflict
trujillm Nov 20, 2024
44dac58
Merge branch 'opendatahub-io:incubation' into add_nim_enablement
trujillm Nov 20, 2024
7ad5727
add NIM flag check to model mesh
trujillm Nov 21, 2024
ea63a9e
fix condtional for standard practice nim flag
trujillm Nov 21, 2024
473db6c
fix to conditional for standards
trujillm Nov 21, 2024
ba4cc15
update typo for error output nim flag kserve
trujillm Nov 22, 2024
7c57ea4
Fix deploy to dependent path
trujillm Nov 22, 2024
d60bc76
update doc/manifests references for nim flag
trujillm Nov 22, 2024
c96bf75
fix image typo csv
trujillm Nov 25, 2024
9245d19
update if on nim-state
trujillm Nov 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions apis/infrastructure/v1/nim_types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package v1

import (
operatorv1 "github.com/openshift/api/operator/v1"
)

// nimSpec enables Nvidida's NIM integration
type NimSpec struct {
// +kubebuilder:validation:Enum=Managed;Removed
// +kubebuilder:default=Managed
trujillm marked this conversation as resolved.
Show resolved Hide resolved
ManagementState operatorv1.ManagementState `json:"managementState,omitempty"`
}
15 changes: 15 additions & 0 deletions apis/infrastructure/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,17 @@ spec:
- Removed
pattern: ^(Managed|Unmanaged|Force|Removed)$
type: string
nim:
description: Configures and enables Nvidida's NIM integration
trujillm marked this conversation as resolved.
Show resolved Hide resolved
properties:
managementState:
default: Managed
enum:
- Managed
- Removed
pattern: ^(Managed|Unmanaged|Force|Removed)$
type: string
type: object
serving:
description: |-
Serving configures the KNative-Serving stack used for model serving. A Service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ metadata:
categories: AI/Machine Learning, Big Data
certified: "False"
containerImage: quay.io/opendatahub/opendatahub-operator:v2.20.0
createdAt: "2024-10-30T17:34:17Z"
createdAt: "2024-11-04T14:21:11Z"
olm.skipRange: '>=1.0.0 <2.20.0'
operators.operatorframework.io/builder: operator-sdk-v1.31.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
Expand Down
2 changes: 2 additions & 0 deletions components/kserve/kserve.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ type Kserve struct {
// This field is optional. If no default deployment mode is specified, Kserve will use Serverless mode.
// +kubebuilder:validation:Enum=Serverless;RawDeployment
DefaultDeploymentMode DefaultDeploymentMode `json:"defaultDeploymentMode,omitempty"`
// Configures and enables Nvidida's NIM integration
trujillm marked this conversation as resolved.
Show resolved Hide resolved
NIM infrav1.NimSpec `json:"nim,omitempty"`
}

func (k *Kserve) Init(ctx context.Context, _ cluster.Platform) error {
Expand Down
1 change: 1 addition & 0 deletions components/kserve/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,17 @@ spec:
- Removed
pattern: ^(Managed|Unmanaged|Force|Removed)$
type: string
nim:
description: Configures and enables Nvidida's NIM integration
properties:
managementState:
default: Managed
enum:
- Managed
- Removed
pattern: ^(Managed|Unmanaged|Force|Removed)$
type: string
type: object
serving:
description: |-
Serving configures the KNative-Serving stack used for model serving. A Service
Expand Down
17 changes: 17 additions & 0 deletions docs/api-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ _Appears in:_
| `Component` _[Component](#component)_ | | | |
| `serving` _[ServingSpec](#servingspec)_ | Serving configures the KNative-Serving stack used for model serving. A Service<br />Mesh (Istio) is prerequisite, since it is used as networking layer. | | |
| `defaultDeploymentMode` _[DefaultDeploymentMode](#defaultdeploymentmode)_ | Configures the default deployment mode for Kserve. This can be set to 'Serverless' or 'RawDeployment'.<br />The value specified in this field will be used to set the default deployment mode in the 'inferenceservice-config' configmap for Kserve.<br />This field is optional. If no default deployment mode is specified, Kserve will use Serverless mode. | | Enum: [Serverless RawDeployment] <br />Pattern: `^(Serverless\|RawDeployment)$` <br /> |
| `nim` _[NimSpec](#nimspec)_ | Configures and enables Nvidida's NIM integration | | |



Expand Down Expand Up @@ -523,6 +524,22 @@ _Appears in:_
| `certificate` _[CertificateSpec](#certificatespec)_ | Certificate specifies configuration of the TLS certificate securing communication<br />for the gateway. | | |


#### NimSpec



nimSpec enables Nvidida's NIM integration



_Appears in:_
- [Kserve](#kserve)

| Field | Description | Default | Validation |
| --- | --- | --- | --- |
| `managementState` _[ManagementState](#managementstate)_ | | Managed | Enum: [Managed Removed] <br /> |


#### ServiceMeshSpec


Expand Down