From a332501376ab6380b465455074ed8caba264446a Mon Sep 17 00:00:00 2001 From: Wen Zhou Date: Wed, 9 Oct 2024 10:27:07 +0200 Subject: [PATCH 1/4] update: scope of Operator managed resources --- .../ODH-ADR-Operator-0002-operator-scope.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md b/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md index a6ab0a5..8d67118 100644 --- a/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md +++ b/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md @@ -40,22 +40,24 @@ The operator deploys the following Custom Resource Definitions: - DSCInitialization - DataScienceCluster +- FeatureTracker The operator (optionally) requires and/or manages the following dependent operators, among others: - KServe - ModelMesh +- Data Science Pipeline Operator - Ray -- Codeflare -- ServiceMesh -- Serverless -- NFD -- NVIDIA GPU -- openshift-pipelines +- Codeflare Operator +- Kueue +- Training Operator +- TrustyAI Operator +- Model Registry Operator In order to properly manage these resources, the operator requires access and permissions across namespaces. In particular, the operator creates and/or manages the following namespace (the namespace name can be changed via configuration): - opendatahub +- odh-model-regiestires The operator also leverages the platform’s [Owner References](https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/) capability that ensures all dependent resources are owned by the operator and their life cycles are tracked and managed cleanly. Kubernetes however restricts the use of owner references in a way that only cluster scoped resources can own other cluster scoped resources, leading to the requirement of the operator being cluster scoped. @@ -90,7 +92,7 @@ The use of namespaced operator would prevent us from meeting the requirements of ## Tradeoffs -The main drawback of using a cluster scoped operator is the impossibility of running multiple instances and/or versions of RHODS in the same cluster. Users that need multiple instances/versions of RHODS are required to use one cluster for each. For cases where cost is a concern, alternatives like Hypershift can be considered. +The main drawback of using a cluster scoped operator is the impossibility of running multiple instances and/or versions of RHOAI in the same cluster. Users that need multiple instances/versions of RHODS are required to use one cluster for each. For cases where cost is a concern, alternatives like Hypershift can be considered. ## Stakeholder Impacts From 38342cd56cd471b04bc2f1ecdea2e2ae544afb65 Mon Sep 17 00:00:00 2001 From: Wen Zhou Date: Wed, 9 Oct 2024 14:05:20 +0200 Subject: [PATCH 2/4] Update architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md Co-authored-by: Daniele Zonca --- .../operator/ODH-ADR-Operator-0002-operator-scope.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md b/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md index 8d67118..0ac25d8 100644 --- a/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md +++ b/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md @@ -47,7 +47,7 @@ The operator (optionally) requires and/or manages the following dependent operat - KServe - ModelMesh - Data Science Pipeline Operator -- Ray +- KubeRay - Codeflare Operator - Kueue - Training Operator From b9894b2a7bb23aab9e0f94e26d54fa98e995f92b Mon Sep 17 00:00:00 2001 From: Wen Zhou Date: Wed, 9 Oct 2024 14:05:35 +0200 Subject: [PATCH 3/4] Update architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md Co-authored-by: Daniele Zonca --- .../operator/ODH-ADR-Operator-0002-operator-scope.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md b/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md index 0ac25d8..8719f32 100644 --- a/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md +++ b/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md @@ -57,7 +57,7 @@ The operator (optionally) requires and/or manages the following dependent operat In order to properly manage these resources, the operator requires access and permissions across namespaces. In particular, the operator creates and/or manages the following namespace (the namespace name can be changed via configuration): - opendatahub -- odh-model-regiestires +- odh-model-registries The operator also leverages the platform’s [Owner References](https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/) capability that ensures all dependent resources are owned by the operator and their life cycles are tracked and managed cleanly. Kubernetes however restricts the use of owner references in a way that only cluster scoped resources can own other cluster scoped resources, leading to the requirement of the operator being cluster scoped. From 15caf0e7617232a1f6a52857ea82704506c2123b Mon Sep 17 00:00:00 2001 From: Wen Zhou Date: Wed, 9 Oct 2024 14:05:41 +0200 Subject: [PATCH 4/4] Update architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md Co-authored-by: Daniele Zonca --- .../operator/ODH-ADR-Operator-0002-operator-scope.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md b/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md index 8719f32..4a9ae24 100644 --- a/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md +++ b/architecture-decision-records/operator/ODH-ADR-Operator-0002-operator-scope.md @@ -92,7 +92,7 @@ The use of namespaced operator would prevent us from meeting the requirements of ## Tradeoffs -The main drawback of using a cluster scoped operator is the impossibility of running multiple instances and/or versions of RHOAI in the same cluster. Users that need multiple instances/versions of RHODS are required to use one cluster for each. For cases where cost is a concern, alternatives like Hypershift can be considered. +The main drawback of using a cluster scoped operator is the impossibility of running multiple instances and/or versions of RHOAI in the same cluster. Users that need multiple instances/versions of RHOAI are required to use one cluster for each. For cases where cost is a concern, alternatives like Hosted Control Plane can be considered. ## Stakeholder Impacts