---
|
# Implement your Workload deployment tasks here
|
|
- name: Setting up workload for user
|
debug:
|
msg: "Setting up workload for user ocp_username = {{ ocp_username }}"
|
|
- name: Create openshift-automation-broker project
|
command: "oc create namespace {{ broker_project }}"
|
- name: Annotate openshift-automation-broker project with Project Name
|
command: "oc annotate namespace {{ broker_project }} openshift.io/display-name='{{ broker_project_display }}'"
|
|
- name: Upload YAML files
|
copy:
|
src: "{{ item.src }}"
|
dest: "{{ item.dest }}"
|
owner: root
|
group: root
|
mode: 0664
|
loop:
|
- { src: './files/service_catalog_api_server.yaml', dest: '/tmp/service_catalog_api_server.yaml' }
|
- { src: './files/service_catalog_controller_manager.yaml', dest: '/tmp/service_catalog_controller_manager.yaml' }
|
|
- name: Upload YAML Template
|
template:
|
src: "{{ item.src }}"
|
dest: "{{ item.dest }}"
|
owner: root
|
group: root
|
mode: 0664
|
loop:
|
- { src: './templates/operator_group.j2', dest: '/tmp/operator_group.yaml' }
|
- { src: './templates/subscription.j2', dest: '/tmp/subscription.yaml' }
|
- { src: './templates/automation_broker.j2', dest: '/tmp/automation_broker.yaml' }
|
|
- name: Create OpenShift objects
|
command: "oc create -f {{ item }} -n {{ }}"
|
ignore_errors: true
|
loop:
|
- /tmp/service_catalog_api_server.yaml
|
- /tmp/service_catalog_controller_manager.yaml
|
- /tmp/operator_group.yaml
|
- /tmp/automation-broker-subscription.yaml
|
|
- name: Wait until CSV is Installed
|
command: oc get csv automationbrokeroperator.v0.2.0 -o jsonpath --template='{.status.phase}'
|
register: csv
|
retries: 30
|
delay: 10
|
until: csv.stdout == "Succeeded"
|
|
- name: Create Automation Broker
|
command: "oc create -f /tmp/automation_broker.yaml"
|
ignore_errors: true
|
|
- name: Grant Automation Broker Service Account cluster-admin
|
command: "oc adm policy add-cluster-role-to-user cluster-admin system:serviceaccount:{{ broker_project }}:ansible-service-broker"
|
|
- name: Cleanup files
|
file:
|
path: "{{ item }}"
|
state: absent
|
loop:
|
- /tmp/service_catalog_api_server.yaml
|
- /tmp/service_catalog_controller_manager.yaml
|
- /tmp/operator_group.yaml
|
- /tmp/automation-broker-subscription.yaml
|
- /tmp/automation-broker.yaml
|
|
# Leave this as the last task in the playbook.
|
- name: workload tasks complete
|
debug:
|
msg: "Workload Tasks completed successfully."
|
when: not silent|bool
|