--- # 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 }}"