Wolfgang Kulhanek
2020-03-10 a4b7a9dc127d4266309b25aaa256258d74579ab6
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
71
72
73
74
75
76
---
# 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 Objects for Nexus Operator
  k8s:
    state: present
    definition: "{{ lookup('template', item ) | from_yaml }}"
  loop:
  - ./templates/project.j2
  - ./templates/crd.j2
  - ./templates/service_account.j2
  - ./templates/role.j2
  - ./templates/role_binding.j2
  - ./templates/operator.j2
 
- name: Wait for Nexus operator Pod to be ready
  k8s_facts:
    api_version: v1
    kind: Deployment
    namespace: "{{ _nexus_operator_project }}"
    name: "nexus-operator"
  register: r_nexus_operator_deployment
  retries: 20
  delay: 10
  until:
  - r_nexus_operator_deployment.resources | length | int > 0
  - r_nexus_operator_deployment.resources[0].status.availableReplicas is defined
  - r_nexus_operator_deployment.resources[0].status.availableReplicas | int == r_nexus_operator_deployment.resources[0].spec.replicas | int
 
- name: Deploy default Nexus instance
  when: _nexus_deploy_nexus_instance | bool
  block:
  - name: Create OpenShift Custom Resource for Nexus Instance
    k8s:
      state: present
      definition: "{{ lookup('template', './templates/opentlc-nexus.j2' ) | from_yaml }}"
 
  - name: Wait for Nexus Pod to be ready
    k8s_facts:
      api_version: v1
      kind: Deployment
      namespace: "{{ _nexus_operator_project }}"
      name: "{{ _nexus_name }}"
    register: r_nexus_deployment
    retries: 20
    delay: 10
    until:
    - r_nexus_deployment.resources | length | int > 0
    - r_nexus_deployment.resources[0].status.availableReplicas is defined
    - r_nexus_deployment.resources[0].status.availableReplicas | int == r_nexus_deployment.resources[0].spec.replicas | int
 
  - name: Get Nexus admin password
    k8s:
      api_version: gpte.opentlc.com/v1alpha1
      kind: Nexus
      name: "{{ _nexus_name }}"
      namespace: "{{ _nexus_operator_project }}"
    register: r_nexus
    until:
    - r_nexus.result.status.admin_password is defined
    retries: 20
    delay: 5
 
  - name: Display Nexus password
    debug:
      msg: "user.info: Nexus password is {{ r_nexus.result.status.admin_password }}"
 
# Leave this as the last task in the playbook.
- name: workload tasks complete
  debug:
    msg: "Workload Tasks completed successfully."
  when: not silent|bool