diff --git a/roles/devscripts/defaults/main.yml b/roles/devscripts/defaults/main.yml index a8a675a9c0..e19903c85e 100644 --- a/roles/devscripts/defaults/main.yml +++ b/roles/devscripts/defaults/main.yml @@ -71,3 +71,5 @@ cifmw_devscripts_cinder_volume_pvs: cifmw_devscripts_config_overrides: {} cifmw_devscripts_installer_timeout: 7200 # 2 hours cifmw_devscripts_etcd_slow_profile: true +cifmw_devscripts_disable_console: false +cifmw_devscripts_disable_monitoring: false diff --git a/roles/devscripts/tasks/300_post.yml b/roles/devscripts/tasks/300_post.yml index ded7f6a9b7..f5b53b435c 100644 --- a/roles/devscripts/tasks/300_post.yml +++ b/roles/devscripts/tasks/300_post.yml @@ -33,6 +33,18 @@ - devscripts_deploy ansible.builtin.include_tasks: 320_restore_pull_secret.yml +- name: Disable OpenShift console + when: cifmw_devscripts_disable_console | bool + tags: + - devscripts_deploy + ansible.builtin.import_tasks: 341_remove_console.yml + +- name: Disable OpenShift monitoring + when: cifmw_devscripts_disable_monitoring | bool + tags: + - devscripts_deploy + ansible.builtin.import_tasks: 342_disable_monitoring.yml + - name: Set etcd slow profile when: cifmw_devscripts_etcd_slow_profile | bool tags: diff --git a/roles/devscripts/tasks/341_remove_console.yml b/roles/devscripts/tasks/341_remove_console.yml new file mode 100644 index 0000000000..d339a7a513 --- /dev/null +++ b/roles/devscripts/tasks/341_remove_console.yml @@ -0,0 +1,47 @@ +--- +- name: Disable OpenShift Console + kubernetes.core.k8s: + kubeconfig: "{{ cifmw_openshift_kubeconfig }}" + api_key: "{{ cifmw_openshift_token | default(omit) }}" + context: "{{ cifmw_openshift_context | default(omit) }}" + definition: + apiVersion: operator.openshift.io/v1 + kind: Console + metadata: + name: cluster + spec: + managementState: Removed + state: present + +- name: Scale down console-operator + kubernetes.core.k8s_scale: + kubeconfig: "{{ cifmw_openshift_kubeconfig }}" + api_key: "{{ cifmw_openshift_token | default(omit) }}" + context: "{{ cifmw_openshift_context | default(omit) }}" + api_version: apps/v1 + kind: Deployment + name: console-operator + namespace: openshift-console-operator + replicas: 0 + +- name: Delete console route + kubernetes.core.k8s: + kubeconfig: "{{ cifmw_openshift_kubeconfig }}" + api_key: "{{ cifmw_openshift_token | default(omit) }}" + context: "{{ cifmw_openshift_context | default(omit) }}" + state: absent + api_version: route.openshift.io/v1 + kind: Route + name: console + namespace: openshift-console + +- name: Delete downloads route + kubernetes.core.k8s: + kubeconfig: "{{ cifmw_openshift_kubeconfig }}" + api_key: "{{ cifmw_openshift_token | default(omit) }}" + context: "{{ cifmw_openshift_context | default(omit) }}" + state: absent + api_version: route.openshift.io/v1 + kind: Route + name: downloads + namespace: openshift-console diff --git a/roles/devscripts/tasks/342_disable_monitoring.yml b/roles/devscripts/tasks/342_disable_monitoring.yml new file mode 100644 index 0000000000..d665b8d7c4 --- /dev/null +++ b/roles/devscripts/tasks/342_disable_monitoring.yml @@ -0,0 +1,45 @@ +--- +- name: Attempt to set managementState Removed on monitoring ClusterOperator + kubernetes.core.k8s: + kubeconfig: "{{ cifmw_openshift_kubeconfig }}" + api_key: "{{ cifmw_openshift_token | default(omit) }}" + context: "{{ cifmw_openshift_context | default(omit) }}" + definition: + apiVersion: config.openshift.io/v1 + kind: ClusterOperator + metadata: + name: monitoring + spec: + managementState: Removed + state: present + +- name: Override CVO management for cluster-monitoring-operator + kubernetes.core.k8s: + kubeconfig: "{{ cifmw_openshift_kubeconfig }}" + api_key: "{{ cifmw_openshift_token | default(omit) }}" + context: "{{ cifmw_openshift_context | default(omit) }}" + definition: + apiVersion: config.openshift.io/v1 + kind: ClusterVersion + metadata: + name: version + spec: + overrides: + - group: apps + kind: Deployment + name: cluster-monitoring-operator + namespace: openshift-monitoring + unmanaged: true + state: present + +- name: Scale down cluster-monitoring-operator deployment + kubernetes.core.k8s_scale: + kubeconfig: "{{ cifmw_openshift_kubeconfig }}" + api_key: "{{ cifmw_openshift_token | default(omit) }}" + context: "{{ cifmw_openshift_context | default(omit) }}" + api_version: apps/v1 + kind: Deployment + name: cluster-monitoring-operator + namespace: openshift-monitoring + replicas: 0 + ignore_errors: true # noqa: ignore-errors