summaryrefslogtreecommitdiffstats
path: root/roles/openshift_metrics/tasks/install_hawkular.yaml
blob: 7c06bc1db1db5bd53f98febdb4951e36761737dd (plain)
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
---
- shell: >
    {{ openshift.common.client_binary }} -n {{ openshift_metrics_project | quote }}
    --config={{ mktemp.stdout }}/admin.kubeconfig
    get rc hawkular-metrics -o jsonpath='{.spec.replicas}' || echo 0
  register: hawkular_metrics_replica_count
  changed_when: false

- name: generate hawkular-metrics replication controller
  template:
    src: hawkular_metrics_rc.j2
    dest: "{{ mktemp.stdout }}/templates/hawkular_metrics_rc.yaml"
  vars:
    replica_count: "{{hawkular_metrics_replica_count.stdout}}"
  changed_when: false

- shell: >
    {{ openshift.common.client_binary }} -n {{ openshift_metrics_project | quote }}
    --config={{ mktemp.stdout }}/admin.kubeconfig
    get rc hawkular-cassandra-{{node}} -o jsonpath='{.spec.replicas}' || echo 0
  vars:
    node: "{{ item }}"
  register: cassandra_replica_count
  with_sequence: count={{ openshift_metrics_cassandra_replicas }}
  changed_when: false

- name: generate hawkular-cassandra replication controllers
  template:
    src: hawkular_cassandra_rc.j2
    dest: "{{ mktemp.stdout }}/templates/hawkular-cassandra-rc{{ item }}.yaml"
  vars:
    node: "{{ item }}"
    master: "{{ (item == '1')|string|lower }}"
    replica_count: "{{cassandra_replica_count.results[item|int - 1].stdout}}"
  with_sequence: count={{ openshift_metrics_cassandra_replicas }}
  changed_when: false

- name: generate hawkular-cassandra persistent volume claims
  template:
    src: pvc.j2
    dest: "{{ mktemp.stdout }}/templates/hawkular-cassandra-pvc{{ item }}.yaml"
  vars:
    obj_name: "{{ openshift_metrics_cassandra_pv_prefix }}-{{ item }}"
    labels:
      metrics-infra: hawkular-cassandra
    access_modes:
    - ReadWriteOnce
    size: "{{ openshift_metrics_cassandra_pv_size }}"
  with_sequence: count={{ openshift_metrics_cassandra_replicas }}
  when: openshift_metrics_cassandra_storage_type == 'pv'
  changed_when: false

- name: generate hawkular-cassandra persistent volume claims (dynamic)
  template:
    src: pvc.j2
    dest: "{{ mktemp.stdout }}/templates/hawkular-cassandra-pvc{{ item }}.yaml"
  vars:
    obj_name: "{{ openshift_metrics_cassandra_pv_prefix }}-{{ item }}"
    labels:
      metrics-infra: hawkular-cassandra
    annotations:
      volume.alpha.kubernetes.io/storage-class: dynamic
    access_modes:
    - ReadWriteOnce
    size: "{{ openshift_metrics_cassandra_pv_size }}"
  with_sequence: count={{ openshift_metrics_cassandra_replicas }}
  when: openshift_metrics_cassandra_storage_type == 'dynamic'
  changed_when: false

- name: read hawkular-metrics route destination ca certificate
  slurp: src={{ openshift_metrics_certs_dir }}/ca.crt
  register: metrics_route_dest_ca_cert
  changed_when: false

- block:
  - set_fact: hawkular_key={{ lookup('file', openshift_metrics_hawkular_key) }}
    when: openshift_metrics_hawkular_key | exists
    changed_when: false

  - set_fact: hawkular_cert={{ lookup('file', openshift_metrics_hawkular_cert) }}
    when: openshift_metrics_hawkular_cert | exists
    changed_when: false

  - set_fact: hawkular_ca={{ lookup('file', openshift_metrics_hawkular_ca) }}
    when: openshift_metrics_hawkular_ca | exists
    changed_when: false

  - name: generate the hawkular-metrics route
    template:
      src: route.j2
      dest: "{{ mktemp.stdout }}/templates/hawkular-metrics-route.yaml"
    vars:
      name: hawkular-metrics
      labels:
        metrics-infra: hawkular-metrics
      host: "{{ openshift_metrics_hawkular_hostname }}"
      to:
        kind: Service
        name: hawkular-metrics
      tls:
        termination: reencrypt
        key: "{{ hawkular_key | default('') }}"
        certificate: "{{ hawkular_cert | default('') }}"
        ca_certificate: "{{ hawkular_ca | default('') }}"
        destination_ca_certificate: "{{ metrics_route_dest_ca_cert.content | b64decode }}"
    changed_when: false