summaryrefslogtreecommitdiffstats
path: root/roles/openshift_metrics/tasks/install_heapster.yaml
blob: 73e7454f0c0a981dedd6939af9faab94f8feb564 (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
---
- command: >
    {{ openshift_client_binary }} -n {{ openshift_metrics_project | quote }}
    --config={{ mktemp.stdout }}/admin.kubeconfig
    get rc heapster -o jsonpath='{.spec.replicas}'
  register: heapster_replica_count
  failed_when: false
  changed_when: no

- name: Generate heapster replication controller
  template: src=heapster.j2 dest={{mktemp.stdout}}/templates/metrics-heapster-rc.yaml
  vars:
    replica_count: "{{heapster_replica_count.stdout | default(0)}}"
    node_selector: "{{openshift_metrics_heapster_nodeselector | default('') }}"
  changed_when: no

- set_fact:
    heapster_sa_secrets: ["heapster-secrets"]

- set_fact:
    heapster_sa_secrets: "{{ heapster_sa_secrets + [item] }}"
  with_items:
    - hawkular-metrics-certs
    - hawkular-metrics-account
  when: not openshift_metrics_heapster_standalone | bool

- name: Generating serviceaccount for heapster
  template: src=serviceaccount.j2 dest={{mktemp.stdout}}/templates/metrics-{{obj_name}}-sa.yaml
  vars:
    obj_name: heapster
    labels:
      metrics-infra: support
    secrets: "{{ heapster_sa_secrets }}"
  changed_when: no

- name: Generate service for heapster
  template: src=service.j2 dest={{mktemp.stdout}}/templates/metrics-{{obj_name}}-svc.yaml
  vars:
    obj_name: heapster
    ports:
      - {port: 80, targetPort: http-endpoint}
    selector:
      name: "{{obj_name}}"
    annotations:
      service.alpha.openshift.io/serving-cert-secret-name: heapster-certs
    labels:
      metrics-infra: "{{obj_name}}"
      name: "{{obj_name}}"
  changed_when: no

- name: generate cluster-reader role binding for the heapster service account
  template:
    src: rolebinding.j2
    dest: "{{ mktemp.stdout }}/templates/heapster-rolebinding.yaml"
  vars:
    cluster: True
    obj_name: heapster-cluster-reader
    labels:
      metrics-infra: heapster
    roleRef:
      kind: ClusterRole
      name: cluster-reader
    subjects:
      - kind: ServiceAccount
        name: heapster
        namespace: "{{ openshift_metrics_project }}"
  changed_when: no

- include_tasks: generate_heapster_secrets.yaml