Wolfgang Kulhanek
2020-01-30 046b0534b33fc6cbb278711181e3879e4473f763
commit | author | age
1874b6 1 ---
GC 2 # Workloads should run on bastion. This enables using the k8s module in the workload.
3 # Masters don't have Python/pip/openshift python module installed
4 # And in OCP 4 we don't have access to masters anyway anymore...
5 - name: Install workloads
6   hosts: bastions
7   gather_facts: false
8   run_once: true
9   become: false
10   tasks:
046b05 11   - name: Set Ansible Python interpreter to k8s virtualenv
WK 12     set_fact:
13       ansible_python_interpreter: /opt/virtualenvs/k8s/bin/python
1874b6 14   - name: Install ocp-default workloads
GC 15     when:
16     - default_workloads | d("") | length > 0
17     tags:
18     - default_workloads
19     block:
20     - name: Install ocp-default-workloads
21       when:
22       - default_workloads | d("") | length >0
23       block:
24       - name: Deploy ocp-default workloads
25         include_role:
26           name: "{{ workload_loop_var }}"
27         vars:
28           ocp_username: "system:admin"
29           ACTION: "provision"
30         loop: "{{ default_workloads }}"
31         loop_control:
32           loop_var: workload_loop_var
33
34   - name: Install ocp-infra workloads
35     when:
36     - infra_workloads|d("")|length > 0
37     tags:
38       - infra_workloads
39     block:
40     - name: Check if admin_user is set
41       fail:
42         msg: admin_user must be set for ocp-infra workloads
43       when:
44       - not admin_user is defined or admin_user|length == 0
45     - name: Install ocp-infra-workloads
46       when:
47       - infra_workloads|d("")|length >0
48       block:
49       - name: Deploy ocp-infra workloads
50         include_role:
51           name: "{{ workload_loop_var }}"
52         vars:
53           ocp_username: "{{ admin_user }}"
54           ACTION: "provision"
55         loop: "{{ infra_workloads.split(',')|list }}"
56         loop_control:
57           loop_var: workload_loop_var
58
59   - name: Install ocp-workloads
60     when:
61     - user_count|d(0)|int > 0
62     - student_workloads|d("")|length > 0
63     tags:
64       - student_workloads
65     block:
66     - name: Check if authentication mechanism is set to htpasswd
67       fail:
68         msg: Authentication Mechanism must be htpasswd
69       when:
70       - install_idm|d("") != "htpasswd"
71     - name: Check if remove_self_provisioners=true
72       fail:
73         msg: remove_self_provisioners must be set to true
74       tags:
75         - remove_self_provisioners
76       when:
77       - not remove_self_provisioners|d(False)|bool
6bb8c0 78       - not ignore_self_provisioners|d(False)|bool
WK 79       # WK Add this so that I can run a student workload for RHTE. I don't understand why self provisioners has be be false...
1874b6 80
GC 81     - name: Generate list of User IDs
82       set_fact:
83         users: "{{ lookup('sequence', 'start=1 end={{ user_count|int }}', wantlist=true) | map('int') | list }}"
84
85     - name: Deploy ocp-workloads for each user ID
86       include_role:
87         name: "{{ workload_loop_var[1] }}"
88       vars:
89         ocp_username: "user{{ workload_loop_var[0] }}"
90         become_override: yes
91         ACTION: "provision"
92       loop: "{{ users | product(student_workloads.split(','))|list }}"
93       loop_control:
94         loop_var: workload_loop_var