install_hawkular.yaml 3.6 KB

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