Skip to content

Commit

Permalink
Map component versions to RHOAI status for better visibility
Browse files Browse the repository at this point in the history
commit 0f1cf7dd9ca20e41c97a1590e18dc888b68e9fd5
Author: Ugo Giordano <[email protected]>
Date:   Wed Jan 29 11:40:58 2025 +0100

    fix lint error

commit 473e86f55fd87e496c5d4251d075dc1082ce6e4c
Author: Ugo Giordano <[email protected]>
Date:   Mon Jan 27 16:42:00 2025 +0100

    Map component versions to RHOAI status for better visibility

commit 3d47679
Merge: d706b92 bd00c9b
Author: Ugo Giordano <[email protected]>
Date:   Wed Jan 29 11:32:16 2025 +0100

    Merge branch 'main' into RHOAIENG-11648/component-mapping-refactor

commit d706b92
Author: Ugo Giordano <[email protected]>
Date:   Tue Jan 28 18:00:29 2025 +0100

    Remove fetch releases action from dashboard & e2e tests

commit 4e0deb2
Author: Ugo Giordano <[email protected]>
Date:   Tue Jan 28 16:10:28 2025 +0100

    unit test

    e2e tests

commit bd00c9b
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jan 28 23:53:01 2025 +0100

    Improve Kserve's FeatureTraker handing (#1562)

    * Improve Kserve's FeatureTraker handing

    - Make it possible to set FT's OwnerReference as Controller reference so
      the kubernetes garbage collector can block owner deletion till the FT
      has been deleted
    - Make it possible to set FT's generated resources OwnerReference as
      Controller reference so the kubernetes garbage collector can block
      FT deletion till the resources have been deleted
    - Add an Kserver reconciler action to remove legacy ownership on
      DSCI/DSC is any and related e2e tests

    * Update RBACs

    * Update RBACs

    * Fix findings

    * Update pkg/cluster/meta.go

    Co-authored-by: Gerard Ryan <[email protected]>

    * Fix renaming

    * Remove unrelated methods

    ---------

    Co-authored-by: Gerard Ryan <[email protected]>

commit df5495e
Author: Wen Zhou <[email protected]>
Date:   Tue Jan 28 21:21:23 2025 +0100

    docs: remove duplicated files and update integration docs (#1575)

    Signed-off-by: Wen Zhou <[email protected]>

commit ca2f619
Author: Wen Zhou <[email protected]>
Date:   Tue Jan 28 21:02:36 2025 +0100

    fix: missing update permission on dashboard object (#1576)

    - add update on all cases

    Signed-off-by: Wen Zhou <[email protected]>

commit a996732
Author: Wen Zhou <[email protected]>
Date:   Tue Jan 28 20:50:56 2025 +0100

    fix: fix wrong map for DSP images (#1577)

    - the old images are from 2.15 which have been updated during 2.16

    Signed-off-by: Wen Zhou <[email protected]>

commit 94095f9
Author: Dipanshu Gupta <[email protected]>
Date:   Tue Jan 28 21:57:25 2025 +0530

    Setup admin permissions for hardware profiles (#1573)

commit 3056ab4
Author: Ajay Jaganathan <[email protected]>
Date:   Tue Jan 28 17:58:06 2025 +0530

    (fix): point to correct path for component integration doc (#1574)

commit d538956
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jan 28 10:01:48 2025 +0100

    chore: use constants from the status package where possible (#1541)

    Co-authored-by: Wen Zhou <[email protected]>

commit 9aed5e0
Author: Andrew Ballantyne <[email protected]>
Date:   Mon Jan 27 13:20:04 2025 -0500

    Clarify and update permissions (#1538)

    * Add readme to explain values of permissions

    * NIM Accounts are namespaced resources

    * Update permissions to fulfill doc design

    * Based on feedback, less hard-fast ruling wording in the README

commit 5e60591
Author: Wen Zhou <[email protected]>
Date:   Mon Jan 27 17:33:51 2025 +0100

    test: disable monitoring config in DSCI for ODH e2e test (#1570)

    - we do not enable monitoring in ODH logic
    - we should keep it enable for rhoai branch

    Signed-off-by: Wen Zhou <[email protected]>

commit a8eb6ff
Author: Ugo Giordano <[email protected]>
Date:   Mon Jan 27 16:51:31 2025 +0100

    fix lint add updated api doc

commit 4b76ca4
Author: Ugo Giordano <[email protected]>
Date:   Mon Jan 27 16:42:00 2025 +0100

    Map component versions to RHOAI status for better visibility

commit 48341ff
Author: Luca Burgazzoli <[email protected]>
Date:   Mon Jan 27 15:38:21 2025 +0100

    It takes more than 10 minutes for kserve-controller to be created during 2.17 installation (#1564)

    * It takes more than 10 minutes for kserve-controller to be created during 2.17 installation

    * cleanup

commit b0a0f87
Author: Wen Zhou <[email protected]>
Date:   Mon Jan 27 13:53:40 2025 +0100

    update: clean up old code before refactor (#1494)

    * update: clean up old code before refactor

    - remove reference we explicilty check on odhdashboardconfig and kserve
    - remove customized config on controller QPS
    - remove RemoveLabel which is not called anywhere

    Signed-off-by: Wen Zhou <[email protected]>

    * update:

    - remove function for upgrade cleanup introduced before 2.8
    - remove flags to main: operator namespace and application namespace
      ( operator namespace is passing as env variable, app namespace is done by DSCI )

    Signed-off-by: Wen Zhou <[email protected]>

    * fix: Auth CR is cluster-scoped no need to set namespace for request

    - application namespace is removed from reconciler of dsci

    Signed-off-by: Wen Zhou <[email protected]>

    * fix: wrong code for upgrade path + rebase error

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

commit 7b4dfc2
Author: Wen Zhou <[email protected]>
Date:   Mon Jan 27 12:01:07 2025 +0100

    fix: for upgrade case we will need update permission on buildconfig to revmoew ownerref from dsc (#1567)

    Signed-off-by: Wen Zhou <[email protected]>

commit a00aa61
Author: Wen Zhou <[email protected]>
Date:   Mon Jan 27 09:00:32 2025 +0100

    fix: add matchlabel on NWP for customized appliation (#1566)

    - update README and troubleshooting

    Signed-off-by: Wen Zhou <[email protected]>

commit eb42450
Author: Manjunath Kumatagi <[email protected]>
Date:   Fri Jan 24 19:11:14 2025 +0530

    Build platform independent binary based on the target platform (#1549)

commit bc63cfd
Author: Wen Zhou <[email protected]>
Date:   Thu Jan 23 21:04:44 2025 +0100

    update: change previous workaround for subscription and add smcp in the list (#1557)

    - remove subs from client cache
    - add smcp into exclude cache

    Signed-off-by: Wen Zhou <[email protected]>

commit 63d4eab
Author: Wen Zhou <[email protected]>
Date:   Thu Jan 23 18:44:37 2025 +0100

    fix: missing monitoring NS for NWP if user opt customized app NS (#1558)

    Signed-off-by: Wen Zhou <[email protected]>

commit 912dcaa
Author: Ugo Giordano <[email protected]>
Date:   Thu Jan 23 16:56:32 2025 +0100

    Align get_all_manifests.sh with Kubeflow main branch (#1550)

commit ce7b381
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Thu Jan 23 14:08:54 2025 +0100

    Update version to 2.23.1 (#1553)

    Co-authored-by: zdtsw <[email protected]>

commit 9845f7e
Author: Wen Zhou <[email protected]>
Date:   Thu Jan 23 14:07:25 2025 +0100

    update: various fix backport from RHOAI (#1536)

    - fix missing RHOAI monitoring namespace for self-managed
    - fix wrong namespace name in  manifests
    - update hardcode label name
    - fix misleading log message

    Signed-off-by: Wen Zhou <[email protected]>

commit 871c799
Author: Wen Zhou <[email protected]>
Date:   Thu Jan 23 13:21:29 2025 +0100

    fix: as a workaround for getting knative opreator check, set cache (#1555)

    Signed-off-by: Wen Zhou <[email protected]>

commit 28d0fa1
Author: Wen Zhou <[email protected]>
Date:   Thu Jan 23 11:49:37 2025 +0100

    fix: add missing namespace for console in managed cluster (#1552)

    - blackbox require this
    - move into const in cluster pkg

    Signed-off-by: Wen Zhou <[email protected]>

commit 5bcbaba
Author: Luca Burgazzoli <[email protected]>
Date:   Wed Jan 22 19:31:20 2025 +0100

    Avoid modelmesh and Kserve loop on updating shared CRDs (#1547)

    The KServe and ModelMesh are shipping the same CRDs as part of
    their manifests but with different versions, this cause the
    respective component reconcilers to keep trying to install
    their respective version, ending in a infinite loop.

    This commit does not solve the underlying problem of having two
    components shipping the same CRDs with different versions, but
    avoids the infinite reconcile loop. The CRDs that is actually
    installed on the cluster is undefined, the latest one that is
    applied wins

commit 8c7fef2
Author: Luca Burgazzoli <[email protected]>
Date:   Wed Jan 22 15:45:51 2025 +0100

    chore: remove unused code (#1543)

    * chore: remove unused TrimToRFC1123Name function

    * chore: remove unused pkg/cluster/roles functions

    * chore: remove unused pkg/cluster/resources functions

commit e83f2fc
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Jan 22 13:49:00 2025 +0100

    Update version to 2.23.0 (#1544)

    Co-authored-by: zdtsw <[email protected]>

commit 21eba1b
Author: Luca Burgazzoli <[email protected]>
Date:   Wed Jan 22 12:38:49 2025 +0100

    chore: cleanup Monitoring's initialize action (#1542)

    The Monitoring controller is initialized only when the platform is
    managed, hence there's no need to conditionally add manifests

commit 5321b8c
Author: Luca Burgazzoli <[email protected]>
Date:   Wed Jan 22 11:05:23 2025 +0100

    fix: use Monitoring.Spec.Namespace instead of the DSCI one (#1540)

    This reduce the direct dependency from Monitoring to DSCI
  • Loading branch information
ugiordan committed Jan 29, 2025
1 parent 2258161 commit 2571965
Show file tree
Hide file tree
Showing 108 changed files with 2,277 additions and 749 deletions.
2 changes: 1 addition & 1 deletion Dockerfiles/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ COPY main.go main.go
COPY pkg/ pkg/

# Build
RUN CGO_ENABLED=${CGO_ENABLED} GOOS=linux GOARCH=amd64 go build -a -o manager main.go
RUN CGO_ENABLED=${CGO_ENABLED} GOOS=linux GOARCH=${TARGETARCH} go build -a -o manager main.go

################################################################################
FROM registry.access.redhat.com/ubi8/ubi-minimal:latest
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# To re-generate a bundle for another specific version without changing the standard setup, you can:
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
VERSION ?= 2.21.0
VERSION ?= 2.23.1
# IMAGE_TAG_BASE defines the opendatahub.io namespace and part of the image name for remote images.
# This variable is used to construct full image tags for bundle and catalog images.
#
Expand Down
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ and configure these applications.
- [Usage](#usage)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Configuration](#configuration)
- [Developer Guide](#developer-guide)
- [Pre-requisites](#pre-requisites)
- [Download manifests](#download-manifests)
Expand Down Expand Up @@ -74,6 +75,26 @@ Additionally installing `Authorino operator` & `Service Mesh operator` enhances

3. Create [DataScienceCluster](#example-datasciencecluster) CR to enable components


### Configuration

- in ODH 2.23.1, we introduced a new feature which allows user to use their own application namespace than default one "opendatahub".

1. for new cluster, as this cluster has not been used for ODH or RHOAI.
Here we use namespace A for example as targeted application namespace, please follow below steps before install ODH operator:

- create namespace A
- add label `opendatahub.io/application-namespace: true` onto namespace A. Only one namespace in the cluster can have this label.
- install ODH operator either from UI or by GitOps/CLI
- once Operator is up and running, manually create DSCI CR by set `.spec.applicationsNamespace:A`
- wait till DSCI status update to "Ready"
- continue to create DSC CR

2. for upgrade case, as ODH is running in the cluster.

Be aware: to switch to a different application namespace can cause more issues and require manual cleanup, therefore we suggest this to be done for new cluster.


## Developer Guide

#### Pre-requisites
Expand Down Expand Up @@ -409,7 +430,7 @@ Please refer to [api documentation](docs/api-overview.md)

### Component Integration

Please refer to [components docs](components/README.md)
Please refer to [components docs](docs/COMPONENT_INTEGRATION.md)

### Troubleshooting

Expand Down
16 changes: 16 additions & 0 deletions apis/common/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package common

import (
operatorv1 "github.com/openshift/api/operator/v1"
"github.com/operator-framework/api/pkg/lib/version"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
)
Expand Down Expand Up @@ -70,6 +71,16 @@ type Status struct {
Conditions []metav1.Condition `json:"conditions,omitempty"`
}

// ComponentReleaseStatus represents the detailed status of a component release.
// +kubebuilder:object:generate=true
type ComponentReleaseStatus struct {
// +required
// +kubebuilder:validation:Required
Name string `json:"name"`
Version version.OperatorVersion `json:"version,omitempty"`
RepoURL string `json:"repoUrl,omitempty"`
}

type WithStatus interface {
GetStatus() *Status
}
Expand All @@ -78,6 +89,11 @@ type WithDevFlags interface {
GetDevFlags() *DevFlags
}

type WithReleases interface {
GetReleaseStatus() *[]ComponentReleaseStatus
SetReleaseStatus(status []ComponentReleaseStatus)
}

type PlatformObject interface {
client.Object
WithStatus
Expand Down
16 changes: 16 additions & 0 deletions apis/common/zz_generated.deepcopy.go

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

11 changes: 11 additions & 0 deletions apis/components/v1alpha1/codeflare_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ const (

// CodeFlareCommonStatus defines the shared observed state of CodeFlare
type CodeFlareCommonStatus struct {
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// CodeFlareStatus defines the observed state of CodeFlare
Expand Down Expand Up @@ -70,6 +75,12 @@ func (c *CodeFlare) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *CodeFlare) GetReleaseStatus() *[]common.ComponentReleaseStatus { return &c.Status.Releases }

func (c *CodeFlare) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

func init() {
SchemeBuilder.Register(&CodeFlare{}, &CodeFlareList{})
}
Expand Down
11 changes: 11 additions & 0 deletions apis/components/v1alpha1/dashboard_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ type DashboardSpec struct {
// DashboardCommonStatus defines the shared observed state of Dashboard
type DashboardCommonStatus struct {
URL string `json:"url,omitempty"`
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// DashboardStatus defines the observed state of Dashboard
Expand Down Expand Up @@ -79,6 +84,12 @@ func (c *Dashboard) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *Dashboard) GetReleaseStatus() *[]common.ComponentReleaseStatus { return &c.Status.Releases }

func (c *Dashboard) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

// +kubebuilder:object:root=true

// DashboardList contains a list of Dashboard
Expand Down
13 changes: 13 additions & 0 deletions apis/components/v1alpha1/datasciencepipelines_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ type DataSciencePipelinesCommonSpec struct {

// DataSciencePipelinesCommonStatus defines the shared observed state of DataSciencePipelines
type DataSciencePipelinesCommonStatus struct {
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// DataSciencePipelinesStatus defines the observed state of DataSciencePipelines
Expand All @@ -71,6 +76,14 @@ func (c *DataSciencePipelines) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *DataSciencePipelines) GetReleaseStatus() *[]common.ComponentReleaseStatus {
return &c.Status.Releases
}

func (c *DataSciencePipelines) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

// +kubebuilder:object:root=true

// DataSciencePipelinesList contains a list of DataSciencePipelines
Expand Down
13 changes: 13 additions & 0 deletions apis/components/v1alpha1/kserve_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ type KserveCommonStatus struct {
// DefaultDeploymentMode is the value of the defaultDeploymentMode field
// as read from the "deploy" JSON in the inferenceservice-config ConfigMap
DefaultDeploymentMode string `json:"defaultDeploymentMode,omitempty"`
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// KserveStatus defines the observed state of Kserve
Expand Down Expand Up @@ -109,6 +114,14 @@ func (c *Kserve) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *Kserve) GetReleaseStatus() *[]common.ComponentReleaseStatus {
return &c.Status.Releases
}

func (c *Kserve) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

// +kubebuilder:object:root=true

// KserveList contains a list of Kserve
Expand Down
12 changes: 12 additions & 0 deletions apis/components/v1alpha1/kueue_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ type KueueCommonSpec struct {

// KueueCommonStatus defines the shared observed state of Kueue
type KueueCommonStatus struct {
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// KueueStatus defines the observed state of Kueue
Expand All @@ -80,10 +85,17 @@ func init() {
func (c *Kueue) GetDevFlags() *common.DevFlags {
return c.Spec.DevFlags
}

func (c *Kueue) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *Kueue) GetReleaseStatus() *[]common.ComponentReleaseStatus { return &c.Status.Releases }

func (c *Kueue) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

// DSCKueue contains all the configuration exposed in DSC instance for Kueue component
type DSCKueue struct {
common.ManagementSpec `json:",inline"`
Expand Down
14 changes: 14 additions & 0 deletions apis/components/v1alpha1/modelmeshserving_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ type ModelMeshServingCommonSpec struct {

// ModelMeshServingCommonStatus defines the shared observed state of ModelMeshServing
type ModelMeshServingCommonStatus struct {
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// ModelMeshServingStatus defines the observed state of ModelMeshServing
Expand All @@ -80,10 +85,19 @@ func init() {
func (c *ModelMeshServing) GetDevFlags() *common.DevFlags {
return c.Spec.DevFlags
}

func (c *ModelMeshServing) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *ModelMeshServing) GetReleaseStatus() *[]common.ComponentReleaseStatus {
return &c.Status.Releases
}

func (c *ModelMeshServing) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

// DSCModelMeshServing contains all the configuration exposed in DSC instance for ModelMeshServing component
type DSCModelMeshServing struct {
common.ManagementSpec `json:",inline"`
Expand Down
11 changes: 10 additions & 1 deletion apis/components/v1alpha1/modelregistry_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ type ModelRegistrySpec struct {

// ModelRegistryCommonStatus defines the shared observed state of ModelRegistry
type ModelRegistryCommonStatus struct {
RegistriesNamespace string `json:"registriesNamespace,omitempty"`
RegistriesNamespace string `json:"registriesNamespace,omitempty"`
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// ModelRegistryStatus defines the observed state of ModelRegistry
Expand Down Expand Up @@ -83,6 +84,14 @@ func (c *ModelRegistry) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *ModelRegistry) GetReleaseStatus() *[]common.ComponentReleaseStatus {
return &c.Status.Releases
}

func (c *ModelRegistry) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

// +kubebuilder:object:root=true

// ModelRegistryList contains a list of ModelRegistry
Expand Down
12 changes: 12 additions & 0 deletions apis/components/v1alpha1/ray_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ type RayCommonSpec struct {

// RayCommonStatus defines the shared observed state of Ray
type RayCommonStatus struct {
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// RayStatus defines the observed state of Ray
Expand All @@ -80,10 +85,17 @@ func init() {
func (c *Ray) GetDevFlags() *common.DevFlags {
return c.Spec.DevFlags
}

func (c *Ray) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *Ray) GetReleaseStatus() *[]common.ComponentReleaseStatus { return &c.Status.Releases }

func (c *Ray) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

// DSCRay contains all the configuration exposed in DSC instance for Ray component
type DSCRay struct {
common.ManagementSpec `json:",inline"`
Expand Down
14 changes: 14 additions & 0 deletions apis/components/v1alpha1/trainingoperator_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ type TrainingOperatorCommonSpec struct {

// TrainingOperatorCommonStatus defines the shared observed state of TrainingOperator
type TrainingOperatorCommonStatus struct {
// +patchMergeKey=name
// +patchStrategy=merge
// +listType=map
// +listMapKey=name
Releases []common.ComponentReleaseStatus `json:"releases,omitempty"`
}

// TrainingOperatorStatus defines the observed state of TrainingOperator
Expand All @@ -80,10 +85,19 @@ func init() {
func (c *TrainingOperator) GetDevFlags() *common.DevFlags {
return c.Spec.DevFlags
}

func (c *TrainingOperator) GetStatus() *common.Status {
return &c.Status.Status
}

func (c *TrainingOperator) GetReleaseStatus() *[]common.ComponentReleaseStatus {
return &c.Status.Releases
}

func (c *TrainingOperator) SetReleaseStatus(releases []common.ComponentReleaseStatus) {
c.Status.Releases = releases
}

// DSCTrainingOperator contains all the configuration exposed in DSC instance for TrainingOperator component
type DSCTrainingOperator struct {
common.ManagementSpec `json:",inline"`
Expand Down
Loading

0 comments on commit 2571965

Please sign in to comment.