---
|
# Setup OpenShift Serverless via operator
|
- name: Create OpenShift Objects for serverless
|
k8s:
|
state: present
|
merge_type:
|
- strategic-merge
|
- merge
|
definition: "{{ lookup('file', item ) | from_yaml }}"
|
loop:
|
- ./files/serverless_subscription.yaml
|
- ./files/serverless_eventing_subscription.yaml
|
|
# wait for serverless CRDs
|
- name: Wait for knative-serving CRD
|
k8s_facts:
|
api_version: apiextensions.k8s.io/v1beta1
|
kind: CustomResourceDefinition
|
name: knativeservings.serving.knative.dev
|
register: r_knserving_crd
|
retries: 200
|
delay: 10
|
until: r_knserving_crd.resources | list | length == 1
|
|
- name: create knative projects
|
k8s:
|
state: present
|
kind: Project
|
api_version: project.openshift.io/v1
|
definition:
|
metadata:
|
name: "{{ item }}"
|
loop:
|
- "knative-serving"
|
- "knative-eventing"
|
|
- name: wait for serving project to exist
|
k8s_facts:
|
kind: Project
|
api_version: project.openshift.io/v1
|
name: "knative-serving"
|
register: r_serving_proj
|
retries: 200
|
delay: 10
|
until: r_serving_proj.resources | list | length == 1
|
|
# workaround for OOMKilled bug in knative-serving webhook https://github.com/knative/serving/issues/7195
|
- name: add ConfigMap with updated memory limits for knative-serving webhook
|
k8s:
|
api_version: v1
|
kind: ConfigMap
|
name: ko-data
|
namespace: openshift-operators
|
state: present
|
merge_type:
|
- strategic-merge
|
- merge
|
definition: "{{ lookup('file', './files/knative-serving-cm.yaml' ) | from_yaml }}"
|
register: r_serving_cm
|
retries: 200
|
delay: 10
|
until: r_serving_cm is succeeded
|
|
- name: replace knative CSV
|
k8s:
|
api_version: operators.coreos.com/v1alpha1
|
kind: ClusterServiceVersion
|
name: serverless-operator.v1.5.0
|
namespace: openshift-operators
|
state: present
|
merge_type:
|
- strategic-merge
|
- merge
|
definition: "{{ lookup('file', './files/serverless-operator.v1.5.0.csv.yaml' ) | from_yaml }}"
|
register: r_serving_crd_update
|
retries: 200
|
delay: 10
|
until: r_serving_crd_update is succeeded
|
|
# End workaround
|
|
- name: create knative serving CR
|
k8s:
|
state: present
|
merge_type:
|
- strategic-merge
|
- merge
|
definition: "{{ lookup('file', item ) | from_yaml }}"
|
loop:
|
- ./files/knative_serving_cr.yaml
|
|
- name: Wait for knative-eventing CRD
|
k8s_facts:
|
api_version: apiextensions.k8s.io/v1beta1
|
kind: CustomResourceDefinition
|
name: knativeeventings.eventing.knative.dev
|
register: r_kneventing_crd
|
retries: 200
|
delay: 10
|
until: r_kneventing_crd.resources | list | length == 1
|
|
# workaround for OOMKilled bug in knative-eventing webhook https://github.com/knative/serving/issues/7195
|
- name: replace knative eventing CSV
|
k8s:
|
api_version: operators.coreos.com/v1alpha1
|
kind: ClusterServiceVersion
|
name: knative-eventing-operator.v0.12.0
|
namespace: openshift-operators
|
state: present
|
merge_type:
|
- strategic-merge
|
- merge
|
definition: "{{ lookup('file', './files/eventing-operator.v0.12.0.csv.yaml' ) | from_yaml }}"
|
register: r_eventing_crd_update
|
retries: 200
|
delay: 10
|
until: r_eventing_crd_update is succeeded
|
|
# End workaround
|
|
- name: Wait for knative-eventing project to exist
|
k8s_facts:
|
api_version: project.openshift.io/v1
|
kind: Project
|
name: "knative-eventing"
|
register: r_kneventing_project
|
retries: 200
|
delay: 10
|
until: r_kneventing_project.resources | list | length == 1
|
|
- name: Add view role for users to knative-serving project
|
include_tasks: add_role.yaml
|
vars:
|
user: "{{ item }}"
|
role: "view"
|
namespace: "knative-serving"
|
with_list: "{{ users }}"
|