-
Notifications
You must be signed in to change notification settings - Fork 13
[minor] Add rhoai support to gitops repository #440
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
Open
Divyesh-Khokhar
wants to merge
52
commits into
main
Choose a base branch
from
MASAIB-2112
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
52 commits
Select commit
Hold shift + click to select a range
29cadbe
[minor] Add RHOAI installation support for Ai service
Divyesh-Khokhar 68a6208
Merge branch 'main' into MASAIB-2112
Divyesh-Khokhar a387ea8
[patch] update version and remove MariaDB
Divyesh-Khokhar 3b89d10
[patch] disable odh part
karol-czarnecki 03f3a71
[patch] update rhoai version
Divyesh-Khokhar ce56e0d
[patch] update logic condition for odh
karol-czarnecki d75b4a2
[patch] fix wrong syntax
karol-czarnecki d889306
[patch] update odh logic
karol-czarnecki a0a9807
[patch] make install plan to automatic
Divyesh-Khokhar 0b91d24
[patch] update approval to Automatic for rhoai
karol-czarnecki 67ff895
[patch] added one missing value
karol-czarnecki 2913590
[patch] fix namespace issue
Divyesh-Khokhar 2522c76
[patch] fix sync issue
Divyesh-Khokhar 7edacfa
[patch] add install param to switch odh/rhoai
Divyesh-Khokhar 42de326
[patch] Configure SLS through Gitops
Divyesh-Khokhar 84bb6fa
[patch] Add SLS template to ibm-aiservice-instance-root
Divyesh-Khokhar 7656adb
Revert "[patch] Add SLS template to ibm-aiservice-instance-root"
Divyesh-Khokhar 187b4c0
Revert "[patch] Configure SLS through Gitops"
Divyesh-Khokhar baed88b
[patch] migrate to rhoai
Divyesh-Khokhar 64280c6
[patch] install odh
Divyesh-Khokhar c789ef4
[patch] odh unin
Divyesh-Khokhar 031a2fa
[patch] revent ArgoCD from deleting namespace
Divyesh-Khokhar aebb359
[patch] test changes
Divyesh-Khokhar c76f92d
[patch] remove odh
Divyesh-Khokhar 6fa640d
[patch] install rhoai
Divyesh-Khokhar d7d9086
Revert "[patch] revent ArgoCD from deleting namespace"
Divyesh-Khokhar b67570a
[patch] AIS+ODH
Divyesh-Khokhar 82da292
[patch] fix lint issue
Divyesh-Khokhar bfe8bd9
Update values.yaml
Divyesh-Khokhar d1faf1b
Revert "Update values.yaml"
Divyesh-Khokhar a301dee
[patch] re-apply changes
Divyesh-Khokhar f98496f
[patch] remove odh
Divyesh-Khokhar 3d14877
[patch] install rhoai
Divyesh-Khokhar 85c689b
AIS 9.1 with ODH
Divyesh-Khokhar 2e8386a
add change
Divyesh-Khokhar e0fc696
remove odh
Divyesh-Khokhar b26e52f
install rhoai
Divyesh-Khokhar 8ffad9b
[patch] Fix manual CSV deletion issue
Divyesh-Khokhar 84b1a88
remove odh
Divyesh-Khokhar 243a051
install rhoai
Divyesh-Khokhar 2dd62b2
Merge remote-tracking branch 'origin/main' into MASAIB-2112
Divyesh-Khokhar 7eb9f3f
[patch] add readme for migration
Divyesh-Khokhar 5ec949e
[patch] Removed commented part
Divyesh-Khokhar 8626a03
Merge branch 'main' into MASAIB-2112
Divyesh-Khokhar 69ee87c
[patch] Added role-based conditions to RHOAI
Divyesh-Khokhar a647090
Merge branch 'main' into MASAIB-2112
Divyesh-Khokhar ae83fc4
Merge branch 'main' into MASAIB-2112
Divyesh-Khokhar 65f8df0
[patch] Used action var
Divyesh-Khokhar c79673d
[patch] update odh/rhoai to action based var
Divyesh-Khokhar 239c874
Merge remote-tracking branch 'origin/main' into MASAIB-2112
Divyesh-Khokhar c66c3e3
[patch] add rhoai application admin role in ArgoCD deployments
Divyesh-Khokhar f57c130
Merge branch 'main' into MASAIB-2112
Divyesh-Khokhar File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| apiVersion: v2 | ||
| name: ibm-rhoai | ||
| description: IBM RHOAI (Red Hat OpenShift AI) | ||
| type: application | ||
| version: 1.0.0 | ||
|
|
||
| dependencies: | ||
| - name: junitreporter | ||
| version: 1.0.0 | ||
| repository: "file://../../sub-charts/junitreporter/" | ||
| condition: junitreporter.devops_mongo_uri != "" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,112 @@ | ||
| IBM RHOAI (Red Hat OpenShift AI) | ||
| =============================================================================== | ||
| Deploy and configure Red Hat OpenShift AI with configurable version | ||
|
|
||
| <!--docs-include-start--> | ||
|
|
||
| ## Migration from ODH to RHOAI | ||
|
|
||
| To migrate from OpenDataHub (ODH) to Red Hat OpenShift AI (RHOAI): | ||
|
|
||
| 1. **Disable ODH**: Set `ibm_odh.install: "false"` in your configuration | ||
| 2. **Sync with Prune**: Sync the ODH application in ArgoCD with the prune option enabled | ||
| 3. **Wait for Uninstallation**: Wait for ODH resources to be removed (shared resources like namespaces, operators, and NetworkPolicies are protected and will not be deleted) | ||
| 4. **Enable RHOAI**: Set `ibm_rhoai.install: "true"` in your configuration | ||
| 5. **Sync RHOAI**: Sync the RHOAI application in ArgoCD | ||
|
|
||
| **Note**: The migration is safe because shared resources (aiservice namespace, ServiceMesh, Authorino, Serverless operators, and NetworkPolicies) have ArgoCD protection annotations (`Prune=false,Delete=false`) that prevent deletion during ODH uninstallation. RHOAI will reuse these existing resources. | ||
|
|
||
| ## Resources Created | ||
|
|
||
| | Resource Type | Resource Name | Namespace | Condition | Installed By | | ||
| |--------------|---------------|-----------|-----------|--------------| | ||
| | `Namespace` | RHOAI and serverless namespaces | RHOAI-related namespaces | Always | `application_admin_role` | | ||
| | `OperatorGroup` | RHOAI operator groups | RHOAI-related namespaces | Always | `application_admin_role` | | ||
| | `Subscription` | RHOAI/operator subscriptions | RHOAI-related namespaces | Always | `application_admin_role` | | ||
| | `ServiceAccount` | RHOAI service mesh service account | RHOAI-related namespaces | Always | `application_admin_role` | | ||
| | `DSCInitialization` | RHOAI DSC initialization CR | RHOAI namespace | Always | `application_admin_role` | | ||
| | `DataScienceCluster` | RHOAI data science cluster CR | RHOAI namespace | Always | `application_admin_role` | | ||
| | `PeerAuthentication` | Istio peer authentication for RHOAI | RHOAI namespace | Always | `application_admin_role` | | ||
| | `DestinationRule` | Istio destination rule for RHOAI | RHOAI namespace | Always | `application_admin_role` | | ||
| | `NetworkPolicy` | RHOAI network policy | RHOAI namespace | Always | `application_admin_role` | | ||
|
|
||
| ## Configuration | ||
|
|
||
| This chart accepts the following configuration values in the ArgoCD Application values: | ||
|
|
||
| ```yaml | ||
| ibm_rhoai: | ||
| install: string # Set to "true" to enable RHOAI installation | ||
| openshift_namespace: string | ||
| rhoai_pipeline_name: string | ||
| rhoai_pipeline_namespace: string | ||
| rhoai_pipeline_operatorName: string | ||
| rhoai_pipeline_source: string | ||
| rhoai_pipeline_sourceNamespace: string | ||
| serverless_namespace: string | ||
| serverless_operator_name: string | ||
| serverless_operator_source: string | ||
| serverless_operator_sourceNamespace: string | ||
| rhoai_OperatorGroup_name: string | ||
| rhoai_name: string | ||
| rhoai_channel: string | ||
| rhoai_namespace: string | ||
| rhoai_applications_namespace: string | ||
| rhoai_monitoring_namespace: string | ||
| rhoai_installPlanApproval: string | ||
| rhoai_source: string | ||
| rhoai_sourceNamespace: string | ||
| rhoai_pipeline_channel: string | ||
| rhoai_pipeline_installplan: string | ||
| service_mesh_namespace: string | ||
| service_mesh_channel: string | ||
| service_mesh_catalog_source: string | ||
| serverless_channel: string | ||
| authorino_catalog_source: string | ||
| rhoai_catalog_source: string | ||
| rhoai_operator_version: string | ||
|
|
||
| aiservice_namespace: string | ||
| pull_secret_name: string (secret reference) | ||
|
|
||
| mas_aiservice_storage_provider: string | ||
| mas_aiservice_storage_accesskey: string (secret reference) | ||
| mas_aiservice_storage_secretkey: string (secret reference) | ||
| mas_aiservice_storage_host: string | ||
| mas_aiservice_storage_port: string | ||
| mas_aiservice_storage_ssl: string | ||
| mas_aiservice_storage_region: string | ||
| mas_aiservice_storage_pipelines_bucket: string | ||
| primary_storage_class: string | ||
| aiservice_rhoai_model_deployment_type: string | ||
| ``` | ||
|
|
||
| **Note**: Values marked with "(secret reference)" should use the format `<path:secrets/path:key>` to reference secrets stored in the Secrets Vault. | ||
|
|
||
| ## Base Instance Values | ||
|
|
||
| This chart inherits common instance configuration values. The most frequently used base values are: | ||
|
|
||
| ```yaml | ||
| account: | ||
| id: string # Account identifier | ||
| name: string # Account name | ||
|
|
||
| region: | ||
| id: string # Region identifier | ||
| name: string # Region name | ||
|
|
||
| cluster: | ||
| id: string # Cluster identifier | ||
| name: string # Cluster name | ||
|
|
||
| instance: | ||
| id: string # MAS instance identifier | ||
|
|
||
| sm: # Secrets Manager configuration | ||
| aws_secret_region: string | ||
| aws_access_key_id: string (secret reference) | ||
| aws_secret_access_key: string (secret reference) | ||
| ``` | ||
|
|
||
| For complete documentation of all base instance values including optional fields like `custom_labels`, `argocluster_instance`, `application_admin_service_account`, `mas_wipe_mongo_data`, `allow_list`, `additional_vpn`, `application_configuration`, `use_postdelete_hooks`, `additional_resources`, `extensions`, `enhanced_dr`, and `cli_image_repo`, see the [Instance Base Values Reference](../../docs/reference/instance-base-values.md). |
33 changes: 33 additions & 0 deletions
33
instance-applications/116-ibm-rhoai/templates/01-rhoai-serverless-subscription.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| {{- if .Values.cluster_admin_role }} | ||
| --- | ||
| apiVersion: v1 | ||
| kind: Namespace | ||
| metadata: | ||
| name: {{ .Values.serverless_namespace}} | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "117" | ||
|
|
||
| --- | ||
| apiVersion: operators.coreos.com/v1 | ||
| kind: OperatorGroup | ||
| metadata: | ||
| name: operatorgroup | ||
| namespace: {{ .Values.serverless_namespace}} | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "117" | ||
|
|
||
| --- | ||
| apiVersion: operators.coreos.com/v1alpha1 | ||
| kind: Subscription | ||
| metadata: | ||
| name: {{ .Values.serverless_operator_name}} | ||
| namespace: {{ .Values.serverless_namespace}} | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "118" | ||
| spec: | ||
| channel: stable | ||
| installPlanApproval: Automatic | ||
| name: {{ .Values.serverless_operator_name}} | ||
| source: {{ .Values.serverless_operator_source}} | ||
| sourceNamespace: {{ .Values.serverless_operator_sourceNamespace}} | ||
| {{- end }} |
26 changes: 26 additions & 0 deletions
26
instance-applications/116-ibm-rhoai/templates/02-rhoai-servicemesh-operator-sa.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| {{- if .Values.cluster_admin_role }} | ||
| --- | ||
| apiVersion: operators.coreos.com/v1alpha1 | ||
| kind: Subscription | ||
| metadata: | ||
| name: servicemeshoperator | ||
| namespace: openshift-operators | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "118" | ||
| spec: | ||
| channel: stable | ||
| installPlanApproval: Automatic | ||
| name: servicemeshoperator | ||
| source: redhat-operators | ||
| sourceNamespace: openshift-marketplace | ||
|
|
||
| --- | ||
| apiVersion: v1 | ||
| kind: ServiceAccount | ||
| metadata: | ||
| name: istio-operator | ||
| namespace: openshift-operators | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "119" | ||
|
|
||
| {{- end }} |
15 changes: 15 additions & 0 deletions
15
instance-applications/116-ibm-rhoai/templates/03-rhoai-authorino-operator.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| {{- if .Values.cluster_admin_role }} | ||
| --- | ||
| apiVersion: operators.coreos.com/v1alpha1 | ||
| kind: Subscription | ||
| metadata: | ||
| name: authorino-operator | ||
| namespace: openshift-operators | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "121" | ||
| spec: | ||
| channel: stable | ||
| name: authorino-operator | ||
| source: community-operators | ||
| sourceNamespace: openshift-marketplace | ||
| {{- end }} |
33 changes: 33 additions & 0 deletions
33
instance-applications/116-ibm-rhoai/templates/04-rhoai-operator-subscription.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| {{- if .Values.cluster_admin_role }} | ||
| --- | ||
| apiVersion: v1 | ||
| kind: Namespace | ||
| metadata: | ||
| name: {{ .Values.rhoai_namespace }} | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "125" | ||
| --- | ||
| apiVersion: operators.coreos.com/v1 | ||
| kind: OperatorGroup | ||
| metadata: | ||
| name: {{ .Values.rhoai_OperatorGroup_name}} | ||
| namespace: {{ .Values.rhoai_namespace}} | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "126" | ||
|
|
||
| --- | ||
| apiVersion: operators.coreos.com/v1alpha1 | ||
| kind: Subscription | ||
| metadata: | ||
| name: {{ .Values.rhoai_name}} | ||
| namespace: {{ .Values.rhoai_namespace}} | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "127" | ||
| spec: | ||
| channel: {{ .Values.rhoai_channel}} | ||
| installPlanApproval: {{ .Values.rhoai_installPlanApproval}} | ||
| name: {{ .Values.rhoai_name}} | ||
| source: {{ .Values.rhoai_source}} | ||
| sourceNamespace: {{ .Values.rhoai_sourceNamespace}} | ||
| startingCSV: {{ .Values.rhoai_operator_version }} | ||
| {{- end }} |
13 changes: 13 additions & 0 deletions
13
instance-applications/116-ibm-rhoai/templates/05-rhoai-namespace.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| {{- if .Values.cluster_admin_role }} | ||
| --- | ||
| apiVersion: v1 | ||
| kind: Namespace | ||
| metadata: | ||
| name: "{{ .Values.aiservice_namespace }}" | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "128" | ||
| # Prevent ArgoCD from deleting this namespace during RHOAI uninstall | ||
| # This namespace is shared with ODH and must persist during migration | ||
| argocd.argoproj.io/sync-options: Prune=false,Delete=false | ||
|
|
||
| {{- end }} | ||
39 changes: 39 additions & 0 deletions
39
instance-applications/116-ibm-rhoai/templates/06-rhoai-dsc-init.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| {{- if .Values.application_admin_role }} | ||
| --- | ||
| apiVersion: dscinitialization.opendatahub.io/v1 | ||
| kind: DSCInitialization | ||
| metadata: | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "130" | ||
| argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true | ||
| finalizers: | ||
| - dscinitialization.opendatahub.io/finalizer | ||
| labels: | ||
| app.kubernetes.io/created-by: rhods-operator | ||
| app.kubernetes.io/instance: default | ||
| app.kubernetes.io/managed-by: kustomize | ||
| app.kubernetes.io/name: dscinitialization | ||
| app.kubernetes.io/part-of: rhods-operator | ||
| name: default-dsci | ||
| spec: | ||
| applicationsNamespace: "{{ .Values.rhoai_applications_namespace }}" | ||
| monitoring: | ||
| managementState: Managed | ||
| namespace: "{{ .Values.rhoai_monitoring_namespace }}" | ||
| serviceMesh: | ||
| auth: | ||
| audiences: | ||
| - 'https://kubernetes.default.svc' | ||
| controlPlane: | ||
| metricsCollection: Istio | ||
| name: data-science-smcp | ||
| namespace: istio-system | ||
| {{- if eq .Values.aiservice_rhoai_model_deployment_type "raw" }} | ||
| managementState: Removed | ||
| {{- else }} | ||
| managementState: Managed | ||
| {{- end }} | ||
| trustedCABundle: | ||
| customCABundle: '' | ||
| managementState: Managed | ||
| {{- end }} |
33 changes: 33 additions & 0 deletions
33
instance-applications/116-ibm-rhoai/templates/07-rhoai-data-science-cluster.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| {{- if .Values.application_admin_role }} | ||
| --- | ||
| kind: DataScienceCluster | ||
| apiVersion: datasciencecluster.opendatahub.io/v1 | ||
| metadata: | ||
| annotations: | ||
| argocd.argoproj.io/sync-wave: "131" | ||
| argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true | ||
| labels: | ||
| app.kubernetes.io/created-by: rhods-operator | ||
| app.kubernetes.io/instance: default | ||
| app.kubernetes.io/managed-by: kustomize | ||
| app.kubernetes.io/name: datasciencecluster | ||
| app.kubernetes.io/part-of: rhods-operator | ||
| name: default-dsc | ||
| spec: | ||
| components: | ||
| datasciencepipelines: | ||
| managementState: Removed | ||
| kserve: | ||
| managementState: Managed | ||
| serving: | ||
| name: knative-serving | ||
| ingressGateway: | ||
| certificate: | ||
| type: SelfSigned | ||
| {{- if eq .Values.aiservice_rhoai_model_deployment_type "raw" }} | ||
| managementState: Removed | ||
| defaultDeploymentMode: RawDeployment | ||
| {{- else }} | ||
| managementState: Managed | ||
| {{- end }} | ||
| {{- end }} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.