Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 9 additions & 0 deletions roles/ocp4_workload_openshift_ai/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,12 @@ ocp4_workload_openshift_ai_catalog_snapshot_image: quay.io/rhpds/olm_snapshot_re

# Catalog snapshot image tag
ocp4_workload_openshift_ai_catalog_snapshot_image_tag: v4.19_2025_07_21

# --------------------------------
# Dashboard Replica Scaling
# --------------------------------
# Set ocp4_workload_openshift_ai_scale_dashboard to true to override operator default
# Useful for SNO clusters where 1 replica is preferred
# When enabled, dashboard component will be set to Unmanaged to prevent operator reconciliation
ocp4_workload_openshift_ai_scale_dashboard: false
ocp4_workload_openshift_ai_dashboard_replicas: 2
41 changes: 41 additions & 0 deletions roles/ocp4_workload_openshift_ai/tasks/workload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,47 @@
retries: 10
delay: 30

- name: Scale dashboard deployment for resource-constrained clusters
when: ocp4_workload_openshift_ai_scale_dashboard | default(false) | bool
block:
- name: Wait for dashboard deployment to be created
kubernetes.core.k8s_info:
api_version: apps/v1
kind: Deployment
name: rhods-dashboard
namespace: redhat-ods-applications
register: r_dashboard_deployment
until:
- r_dashboard_deployment.resources is defined
- r_dashboard_deployment.resources | length > 0
retries: 30
delay: 10

- name: Scale dashboard deployment
when:
- r_dashboard_deployment.resources[0].spec.replicas | int != ocp4_workload_openshift_ai_dashboard_replicas | int
kubernetes.core.k8s:
api_version: apps/v1
kind: Deployment
name: rhods-dashboard
namespace: redhat-ods-applications
definition:
spec:
replicas: "{{ ocp4_workload_openshift_ai_dashboard_replicas }}"

- name: Set dashboard component to Unmanaged after scaling
when:
- r_dashboard_deployment.resources[0].spec.replicas | int != ocp4_workload_openshift_ai_dashboard_replicas | int
kubernetes.core.k8s:
api_version: datasciencecluster.opendatahub.io/{{ 'v2' if _ocp4_workload_openshift_ai_version_3 else 'v1' }}
kind: DataScienceCluster
name: default-dsc
definition:
spec:
components:
dashboard:
managementState: Unmanaged

- name: Check if Data Science Cluster is ready
kubernetes.core.k8s_info:
api_version: datasciencecluster.opendatahub.io/{{ 'v2' if _ocp4_workload_openshift_ai_version_3 else 'v1' }}
Expand Down
Loading