Tok
2018-11-09 04259f14a042c84a1164402d9ac2009c9db6adf5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
- 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