install_hawkular.yaml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. ---
  2. - shell: >
  3. {{ openshift.common.client_binary }} -n {{ openshift_metrics_project | quote }}
  4. --config={{ mktemp.stdout }}/admin.kubeconfig
  5. get rc hawkular-metrics -o jsonpath='{.spec.replicas}' || echo 0
  6. register: hawkular_metrics_replica_count
  7. changed_when: false
  8. - name: generate hawkular-metrics replication controller
  9. template:
  10. src: hawkular_metrics_rc.j2
  11. dest: "{{ mktemp.stdout }}/templates/hawkular_metrics_rc.yaml"
  12. vars:
  13. replica_count: "{{hawkular_metrics_replica_count.stdout}}"
  14. changed_when: false
  15. - shell: >
  16. {{ openshift.common.client_binary }} -n {{ openshift_metrics_project | quote }}
  17. --config={{ mktemp.stdout }}/admin.kubeconfig
  18. get rc hawkular-cassandra-{{node}} -o jsonpath='{.spec.replicas}' || echo 0
  19. vars:
  20. node: "{{ item }}"
  21. register: cassandra_replica_count
  22. with_sequence: count={{ openshift_metrics_cassandra_replicas }}
  23. changed_when: false
  24. - name: generate hawkular-cassandra replication controllers
  25. template:
  26. src: hawkular_cassandra_rc.j2
  27. dest: "{{ mktemp.stdout }}/templates/hawkular-cassandra-rc{{ item }}.yaml"
  28. vars:
  29. node: "{{ item }}"
  30. master: "{{ (item == '1')|string|lower }}"
  31. replica_count: "{{cassandra_replica_count.results[item|int - 1].stdout}}"
  32. with_sequence: count={{ openshift_metrics_cassandra_replicas }}
  33. changed_when: false
  34. - name: generate hawkular-cassandra persistent volume claims
  35. template:
  36. src: pvc.j2
  37. dest: "{{ mktemp.stdout }}/templates/hawkular-cassandra-pvc{{ item }}.yaml"
  38. vars:
  39. obj_name: "{{ openshift_metrics_cassandra_pv_prefix }}-{{ item }}"
  40. labels:
  41. metrics-infra: hawkular-cassandra
  42. access_modes:
  43. - ReadWriteOnce
  44. size: "{{ openshift_metrics_cassandra_pv_size }}"
  45. with_sequence: count={{ openshift_metrics_cassandra_replicas }}
  46. when: openshift_metrics_cassandra_storage_type == 'pv'
  47. changed_when: false
  48. - name: generate hawkular-cassandra persistent volume claims (dynamic)
  49. template:
  50. src: pvc.j2
  51. dest: "{{ mktemp.stdout }}/templates/hawkular-cassandra-pvc{{ item }}.yaml"
  52. vars:
  53. obj_name: "{{ openshift_metrics_cassandra_pv_prefix }}-{{ item }}"
  54. labels:
  55. metrics-infra: hawkular-cassandra
  56. annotations:
  57. volume.alpha.kubernetes.io/storage-class: dynamic
  58. access_modes:
  59. - ReadWriteOnce
  60. size: "{{ openshift_metrics_cassandra_pv_size }}"
  61. with_sequence: count={{ openshift_metrics_cassandra_replicas }}
  62. when: openshift_metrics_cassandra_storage_type == 'dynamic'
  63. changed_when: false
  64. - name: read hawkular-metrics route destination ca certificate
  65. slurp: src={{ openshift_metrics_certs_dir }}/ca.crt
  66. register: metrics_route_dest_ca_cert
  67. changed_when: false
  68. - block:
  69. - set_fact: hawkular_key={{ lookup('file', openshift_metrics_hawkular_key) }}
  70. when: openshift_metrics_hawkular_key | exists
  71. changed_when: false
  72. - set_fact: hawkular_cert={{ lookup('file', openshift_metrics_hawkular_cert) }}
  73. when: openshift_metrics_hawkular_cert | exists
  74. changed_when: false
  75. - set_fact: hawkular_ca={{ lookup('file', openshift_metrics_hawkular_ca) }}
  76. when: openshift_metrics_hawkular_ca | exists
  77. changed_when: false
  78. - name: generate the hawkular-metrics route
  79. template:
  80. src: route.j2
  81. dest: "{{ mktemp.stdout }}/templates/hawkular-metrics-route.yaml"
  82. vars:
  83. name: hawkular-metrics
  84. labels:
  85. metrics-infra: hawkular-metrics
  86. host: "{{ openshift_metrics_hawkular_hostname }}"
  87. to:
  88. kind: Service
  89. name: hawkular-metrics
  90. tls:
  91. termination: reencrypt
  92. key: "{{ hawkular_key | default('') }}"
  93. certificate: "{{ hawkular_cert | default('') }}"
  94. ca_certificate: "{{ hawkular_ca | default('') }}"
  95. destination_ca_certificate: "{{ metrics_route_dest_ca_cert.content | b64decode }}"
  96. changed_when: false