70 lines
2.7 KiB
YAML
70 lines
2.7 KiB
YAML
---
|
|
# Install one OLM operator (Automatic approval) and wait for its CSV.
|
|
# Expects __rhoai_maas_operator: {name, namespace, channel,
|
|
# operator_group_target_namespaces?, namespace_labels?}
|
|
|
|
- name: Create operator namespace {{ __rhoai_maas_operator.namespace }}
|
|
kubernetes.core.k8s:
|
|
state: present
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: "{{ __rhoai_maas_operator.namespace }}"
|
|
labels: "{{ __rhoai_maas_operator.namespace_labels | default({}) }}"
|
|
|
|
# openshift-operators already has the global-operators OperatorGroup
|
|
- name: Create OperatorGroup for {{ __rhoai_maas_operator.name }}
|
|
kubernetes.core.k8s:
|
|
state: present
|
|
definition:
|
|
apiVersion: operators.coreos.com/v1
|
|
kind: OperatorGroup
|
|
metadata:
|
|
name: "{{ __rhoai_maas_operator.name }}"
|
|
namespace: "{{ __rhoai_maas_operator.namespace }}"
|
|
spec: >-
|
|
{{ {'targetNamespaces': __rhoai_maas_operator.operator_group_target_namespaces}
|
|
if __rhoai_maas_operator.operator_group_target_namespaces is defined else {} }}
|
|
when: __rhoai_maas_operator.namespace != 'openshift-operators'
|
|
|
|
- name: Subscribe to {{ __rhoai_maas_operator.name }}
|
|
kubernetes.core.k8s:
|
|
state: present
|
|
definition:
|
|
apiVersion: operators.coreos.com/v1alpha1
|
|
kind: Subscription
|
|
metadata:
|
|
name: "{{ __rhoai_maas_operator.name }}"
|
|
namespace: "{{ __rhoai_maas_operator.namespace }}"
|
|
spec:
|
|
channel: "{{ __rhoai_maas_operator.channel }}"
|
|
installPlanApproval: Automatic
|
|
name: "{{ __rhoai_maas_operator.name }}"
|
|
source: "{{ __rhoai_maas_operator.source | default('redhat-operators') }}"
|
|
sourceNamespace: openshift-marketplace
|
|
|
|
- name: Wait for Subscription to report an installed CSV - {{ __rhoai_maas_operator.name }}
|
|
kubernetes.core.k8s_info:
|
|
api_version: operators.coreos.com/v1alpha1
|
|
kind: Subscription
|
|
namespace: "{{ __rhoai_maas_operator.namespace }}"
|
|
name: "{{ __rhoai_maas_operator.name }}"
|
|
register: __rhoai_maas_sub
|
|
until: (__rhoai_maas_sub.resources[0].status.installedCSV | default('')) | length > 0
|
|
retries: "{{ __rhoai_maas_wait_retries }}"
|
|
delay: 10
|
|
|
|
- name: Wait for CSV to succeed - {{ __rhoai_maas_operator.name }}
|
|
kubernetes.core.k8s_info:
|
|
api_version: operators.coreos.com/v1alpha1
|
|
kind: ClusterServiceVersion
|
|
namespace: "{{ __rhoai_maas_operator.namespace }}"
|
|
name: "{{ __rhoai_maas_sub.resources[0].status.installedCSV }}"
|
|
register: __rhoai_maas_csv
|
|
until: >-
|
|
__rhoai_maas_csv.resources | length > 0 and
|
|
__rhoai_maas_csv.resources[0].status.phase | default('') == 'Succeeded'
|
|
retries: "{{ __rhoai_maas_wait_retries }}"
|
|
delay: 10
|