---
|
- name: Install workloads
|
hosts: masters
|
gather_facts: false
|
run_once: true
|
become: yes
|
vars_files:
|
- "{{ ANSIBLE_REPO_PATH }}/configs/{{ env_type }}/env_vars.yml"
|
- "{{ ANSIBLE_REPO_PATH }}/configs/{{ env_type }}/env_secret_vars.yml"
|
tasks:
|
- name: Install ocp-infra workloads
|
when:
|
- infra_workloads|d("")|length > 0
|
tags:
|
- infra_workloads
|
block:
|
- name: Check if admin_user is set
|
fail:
|
msg: admin_user must be set for ocp-infra workloads
|
when:
|
- not admin_user is defined or admin_user|length == 0
|
- name: Install ocp-infra-workloads
|
when:
|
- infra_workloads|d("")|length >0
|
block:
|
- name: Deploy ocp-infra workloads
|
include_role:
|
name: "{{ ANSIBLE_REPO_PATH }}/roles/{{ workload_loop_var }}"
|
vars:
|
ocp_username: "{{ admin_user }}"
|
become_override: yes
|
ACTION: "provision"
|
loop: "{{ infra_workloads.split(',')|list }}"
|
loop_control:
|
loop_var: workload_loop_var
|
|
- name: Install ocp-workloads
|
when:
|
- user_count|d(0)|int > 0
|
- student_workloads|d("")|length > 0
|
tags:
|
- student_workloads
|
block:
|
- name: Check if authentication mechanism is set to htpasswd
|
fail:
|
msg: Authentication Mechanism must be htpasswd
|
when:
|
- install_idm|d("") != "htpasswd"
|
- name: Check if remove_self_provisioners=true
|
fail:
|
msg: remove_self_provisioners must be set to true
|
tags:
|
- remove_self_provisioners
|
when:
|
- not remove_self_provisioners|d(False)|bool
|
|
- name: Generate list of User IDs
|
set_fact:
|
users: "{{ lookup('sequence', 'start=1 end={{ user_count|int }}', wantlist=true) | map('int') | list }}"
|
|
- name: Deploy ocp-workloads for each user ID
|
include_role:
|
name: "{{ ANSIBLE_REPO_PATH }}/roles/{{ workload_loop_var[1] }}"
|
vars:
|
ocp_username: "user{{ workload_loop_var[0] }}"
|
become_override: yes
|
ACTION: "provision"
|
loop: "{{ users | product(student_workloads.split(','))|list }}"
|
loop_control:
|
loop_var: workload_loop_var
|