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

Refactor DSC controller #1430

Closed
Closed
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
cfa6cb2
Sync the operator-refactor branch (#1294)
VaishnaviHire Oct 9, 2024
6db3f70
Initialize Internal APIs for components (#1304)
VaishnaviHire Oct 22, 2024
a41e5cf
fix: missing rbac on dashbaord component to start Operator to start C…
zdtsw Oct 24, 2024
9a00ff0
Avoid storing management state n the component CR as it is not needed…
lburgazzoli Oct 24, 2024
7d4613c
Add component reconciliation pipeline framework (#1320)
lburgazzoli Oct 29, 2024
a1f0e62
feat: add support for Ray (#1315)
zdtsw Oct 31, 2024
f3fa346
fix: missing caller for ray to init images (#1331)
zdtsw Oct 31, 2024
86668ce
chore: Join path if NOT empty string (#1335)
grdryn Oct 31, 2024
e273140
update: rbac + test (#1332)
zdtsw Nov 4, 2024
c8df75f
Create ModelRegistry component API and reconciler (#1337)
lburgazzoli Nov 5, 2024
90bd116
Remove generics for ComponentReconciler and ComponentReconcilerBuilde…
lburgazzoli Nov 5, 2024
37f65b6
Replace components.opendatahub.io/managed-by with components.opendata…
lburgazzoli Nov 5, 2024
7dae4c6
Allow to run the e2e test suite locally, against an out of the cluste…
lburgazzoli Nov 7, 2024
4906ffe
Add a reusable update-pod-security-action (#1354)
lburgazzoli Nov 8, 2024
f941791
Cleanup kustomize manifests rendering action (#1353)
lburgazzoli Nov 8, 2024
10197da
chore: support NewUpdatePodSecurityRoleBindingAction with multiple se…
zdtsw Nov 8, 2024
ce28350
Add caching suport to deployment action to minimize pressure on the A…
lburgazzoli Nov 8, 2024
ef5552f
Fix deployment cache action (#1360)
lburgazzoli Nov 9, 2024
1209501
feat: add TrustyAI as component (#1356)
zdtsw Nov 11, 2024
466473e
Enable deployment cache on the TrustyAI component (#1366)
lburgazzoli Nov 11, 2024
d96d039
feat: add support for kueue component (#1333)
zdtsw Nov 12, 2024
4dead12
feat: add support for trainingoperator to component (#1342)
zdtsw Nov 12, 2024
acd89b8
Implement template rendering action (#1364)
lburgazzoli Nov 12, 2024
77ba8e7
fix: missing watch on prometheusrules from application namespace and …
zdtsw Nov 19, 2024
e980df6
refactor: datasciencepipelines component refactor (#1340)
jackdelahunt Nov 19, 2024
d044d64
components: provide common interface (#1375)
ykaliuta Nov 20, 2024
74b3e85
Support to watch/own object not known when the operator starts, but o…
lburgazzoli Nov 20, 2024
d748e02
Implement garbage collection action (#1374)
lburgazzoli Nov 21, 2024
89bf20a
Reduce log verbosity for the gc service (#1392)
lburgazzoli Nov 26, 2024
7da9176
Reduce component reconciler's action verbosity (#1388)
lburgazzoli Nov 27, 2024
7384fe6
update: DSC status update and delete component CR if it is not set Ma…
zdtsw Nov 27, 2024
8e9be7b
feat: codeflare component (#1387)
biswassri Nov 28, 2024
a5756b9
feat: add support for Workbenches (#1349)
mlassak Nov 28, 2024
537af7a
fix: codeflare missing bundle (#1404)
zdtsw Nov 28, 2024
6281fdd
feat: initial move of kserve to new structure (#1347)
grdryn Nov 28, 2024
64c7ea7
Add reusable functions to add/remove/update ReconciliationRequest.Res…
lburgazzoli Nov 29, 2024
bcfa8b6
Make it possible to define predicates along with a dynamic watcher (#…
lburgazzoli Dec 2, 2024
15ca54e
Add special handling for Aggregatin ClusterRole (#1407)
lburgazzoli Dec 2, 2024
970b40b
Introduce services.opendatahub.io api group (#1389)
VaishnaviHire Dec 3, 2024
53352b1
Add an option to set the deployment action cache TTL (#1414)
lburgazzoli Dec 4, 2024
2aff8dc
feat: add support for modelmeshserving as component (#1338)
zdtsw Dec 4, 2024
d4f72fa
Update api version for internal apis to v1alpha1 (#1416)
VaishnaviHire Dec 5, 2024
6f59682
feat: add NIM flag in Operator (#1420)
zdtsw Dec 5, 2024
b27759b
Merge incubation branch commits (#1422)
VaishnaviHire Dec 6, 2024
0d9ac56
Add custom CRD deployment logic (#1418)
lburgazzoli Dec 6, 2024
eae3973
Update DSC status with the related components status"
lburgazzoli Dec 5, 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
Prev Previous commit
Next Next commit
feat: add support for kueue component (#1333)
Signed-off-by: Wen Zhou <wenzhou@redhat.com>
zdtsw authored Nov 12, 2024
commit d96d03921e562649500fba47d0c0d5d39abb763b
54 changes: 34 additions & 20 deletions apis/components/v1/kueue_types.go
Original file line number Diff line number Diff line change
@@ -21,26 +21,21 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!
// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.

// KueueSpec defines the desired state of Kueue
type KueueSpec struct {
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
// Important: Run "make" to regenerate code after modifying this file

// Foo is an example field of Kueue. Edit kueue_types.go to remove/update
Foo string `json:"foo,omitempty"`
}
const (
KueueComponentName = "kueue"
// value should match whats set in the XValidation below
KueueInstanceName = "default-kueue"
KueueKind = "Kueue"
)

// KueueStatus defines the observed state of Kueue
type KueueStatus struct {
components.Status `json:",inline"`
}
// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.

// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster
// +kubebuilder:validation:XValidation:rule="self.metadata.name == 'default-kueue'",message="Kueue name must be default-kueue"
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`,description="Ready"
// +kubebuilder:printcolumn:name="Reason",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].reason`,description="Reason"

// Kueue is the Schema for the kueues API
type Kueue struct {
@@ -51,16 +46,21 @@ type Kueue struct {
Status KueueStatus `json:"status,omitempty"`
}

func (c *Kueue) GetDevFlags() *components.DevFlags {
return nil
// KueueSpec defines the desired state of Kueue
type KueueSpec struct {
KueueCommonSpec `json:",inline"`
}

func (c *Kueue) GetStatus() *components.Status {
return &c.Status.Status
type KueueCommonSpec struct {
components.DevFlagsSpec `json:",inline"`
}

// +kubebuilder:object:root=true
// KueueStatus defines the observed state of Kueue
type KueueStatus struct {
components.Status `json:",inline"`
}

// +kubebuilder:object:root=true
// KueueList contains a list of Kueue
type KueueList struct {
metav1.TypeMeta `json:",inline"`
@@ -71,3 +71,17 @@ type KueueList struct {
func init() {
SchemeBuilder.Register(&Kueue{}, &KueueList{})
}

func (c *Kueue) GetDevFlags() *components.DevFlags {
return c.Spec.DevFlags
}
func (c *Kueue) GetStatus() *components.Status {
return &c.Status.Status
}

// DSCKueue contains all the configuration exposed in DSC instance for Kueue component
type DSCKueue struct {
components.ManagementSpec `json:",inline"`
// configuration fields common across components
KueueCommonSpec `json:",inline"`
}
36 changes: 35 additions & 1 deletion apis/components/v1/zz_generated.deepcopy.go

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

3 changes: 1 addition & 2 deletions apis/datasciencecluster/v1/datasciencecluster_types.go
Original file line number Diff line number Diff line change
@@ -29,7 +29,6 @@ import (
"github.com/opendatahub-io/opendatahub-operator/v2/components/codeflare"
"github.com/opendatahub-io/opendatahub-operator/v2/components/datasciencepipelines"
"github.com/opendatahub-io/opendatahub-operator/v2/components/kserve"
"github.com/opendatahub-io/opendatahub-operator/v2/components/kueue"
"github.com/opendatahub-io/opendatahub-operator/v2/components/modelmeshserving"
"github.com/opendatahub-io/opendatahub-operator/v2/components/trainingoperator"
"github.com/opendatahub-io/opendatahub-operator/v2/components/workbenches"
@@ -64,7 +63,7 @@ type Components struct {
Kserve kserve.Kserve `json:"kserve,omitempty"`

// Kueue component configuration.
Kueue kueue.Kueue `json:"kueue,omitempty"`
Kueue componentsv1.DSCKueue `json:"kueue,omitempty"`

// CodeFlare component configuration.
// If CodeFlare Operator has been installed in the cluster, it should be uninstalled first before enabled component.
44 changes: 39 additions & 5 deletions bundle/manifests/components.opendatahub.io_kueues.yaml
Original file line number Diff line number Diff line change
@@ -14,7 +14,16 @@ spec:
singular: kueue
scope: Cluster
versions:
- name: v1
- additionalPrinterColumns:
- description: Ready
jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- description: Reason
jsonPath: .status.conditions[?(@.type=="Ready")].reason
name: Reason
type: string
name: v1
schema:
openAPIV3Schema:
description: Kueue is the Schema for the kueues API
@@ -39,10 +48,32 @@ spec:
spec:
description: KueueSpec defines the desired state of Kueue
properties:
foo:
description: Foo is an example field of Kueue. Edit kueue_types.go
to remove/update
type: string
devFlags:
description: Add developer fields
properties:
manifests:
description: List of custom manifests for the given component
items:
properties:
contextDir:
default: manifests
description: contextDir is the relative path to the folder
containing manifests in a repository, default value "manifests"
type: string
sourcePath:
default: ""
description: 'sourcePath is the subpath within contextDir
where kustomize builds start. Examples include any sub-folder
or path: `base`, `overlays/dev`, `default`, `odh` etc.'
type: string
uri:
default: ""
description: uri is the URI point to a git repo with tag/branch.
e.g. https://github.com/org/repo/tarball/<tag/branch>
type: string
type: object
type: array
type: object
type: object
status:
description: KueueStatus defines the observed state of Kueue
@@ -110,6 +141,9 @@ spec:
type: string
type: object
type: object
x-kubernetes-validations:
- message: Kueue name must be default-kueue
rule: self.metadata.name == 'default-kueue'
served: true
storage: true
subresources:
14 changes: 12 additions & 2 deletions bundle/manifests/opendatahub-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
@@ -103,7 +103,7 @@ metadata:
categories: AI/Machine Learning, Big Data
certified: "False"
containerImage: quay.io/opendatahub/opendatahub-operator:v2.19.0
createdAt: "2024-10-30T14:18:10Z"
createdAt: "2024-11-01T10:08:53Z"
olm.skipRange: '>=1.0.0 <2.19.0'
operators.operatorframework.io/builder: operator-sdk-v1.31.0
operators.operatorframework.io/internal-objects: '["featuretrackers.features.opendatahub.io",
@@ -837,7 +837,6 @@ spec:
- prometheuses
- prometheuses/finalizers
- prometheuses/status
- prometheusrules
- thanosrulers
- thanosrulers/finalizers
- thanosrulers/status
@@ -859,6 +858,17 @@ spec:
- patch
- update
- watch
- apiGroups:
- monitoring.coreos.com
resources:
- prometheusrules
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- apiGroups:
- monitoring.coreos.com
resources:
110 changes: 0 additions & 110 deletions components/kueue/kueue.go

This file was deleted.

Loading