install_elasticsearch.yaml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. ---
  2. - name: Getting current ES deployment size
  3. set_fact: openshift_logging_current_es_size={{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length }}
  4. - set_fact: openshift_logging_es_pvc_prefix="logging-es"
  5. when: "not openshift_logging_es_pvc_prefix or openshift_logging_es_pvc_prefix == ''"
  6. - set_fact: es_indices={{ es_indices | default([]) + [item | int - 1] }}
  7. with_sequence: count={{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | count }}
  8. ### evaluate if the PVC attached to the dc currently matches the provided vars
  9. ## if it does then we reuse that pvc in the DC
  10. - include: set_es_storage.yaml
  11. vars:
  12. es_component: es
  13. es_name: "{{ deployment.0 }}"
  14. es_spec: "{{ deployment.1 }}"
  15. es_pvc_count: "{{ deployment.2 | int }}"
  16. es_node_selector: "{{ openshift_logging_es_nodeselector | default({}) }}"
  17. es_pvc_names_count: "{{ openshift_logging_facts.elasticsearch.pvcs.keys() | count }}"
  18. es_pvc_size: "{{ openshift_logging_es_pvc_size }}"
  19. es_pvc_prefix: "{{ openshift_logging_es_pvc_prefix }}"
  20. es_pvc_dynamic: "{{ openshift_logging_es_pvc_dynamic | bool }}"
  21. es_pv_selector: "{{ openshift_logging_es_pv_selector }}"
  22. es_cpu_limit: "{{ openshift_logging_es_cpu_limit }}"
  23. es_memory_limit: "{{ openshift_logging_es_memory_limit }}"
  24. es_number_of_shards: "{{ openshift_logging_es_number_of_shards }}"
  25. es_number_of_replicas: "{{ openshift_logging_es_number_of_replicas }}"
  26. with_together:
  27. - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() }}"
  28. - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.values() }}"
  29. - "{{ es_indices | default([]) }}"
  30. loop_control:
  31. loop_var: deployment
  32. ## if it does not then we should create one that does and attach it
  33. ## create new dc/pvc is needed
  34. - include: set_es_storage.yaml
  35. vars:
  36. es_component: es
  37. es_name: "logging-es-{{'abcdefghijklmnopqrstuvwxyz0123456789'|random_word(8)}}"
  38. es_spec: "{}"
  39. es_pvc_count: "{{ item | int - 1 }}"
  40. es_node_selector: "{{ openshift_logging_es_nodeselector | default({}) }}"
  41. es_pvc_names_count: "{{ [openshift_logging_facts.elasticsearch.pvcs.keys() | count, openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | count] | max }}"
  42. es_pvc_size: "{{ openshift_logging_es_pvc_size }}"
  43. es_pvc_prefix: "{{ openshift_logging_es_pvc_prefix }}"
  44. es_pvc_dynamic: "{{ openshift_logging_es_pvc_dynamic | bool }}"
  45. es_pv_selector: "{{ openshift_logging_es_pv_selector }}"
  46. es_cpu_limit: "{{ openshift_logging_es_cpu_limit }}"
  47. es_memory_limit: "{{ openshift_logging_es_memory_limit }}"
  48. es_number_of_shards: "{{ openshift_logging_es_number_of_shards }}"
  49. es_number_of_replicas: "{{ openshift_logging_es_number_of_replicas }}"
  50. with_sequence: count={{ openshift_logging_es_cluster_size | int - openshift_logging_facts.elasticsearch.deploymentconfigs | count }}
  51. # --------- Tasks for Operation clusters ---------
  52. - name: Getting current ES deployment size
  53. set_fact: openshift_logging_current_es_ops_size={{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length }}
  54. - set_fact: openshift_logging_es_ops_pvc_prefix="{{ openshift_logging_es_ops_pvc_prefix | default('logging-es-ops') }}"
  55. - name: Validate Elasticsearch cluster size for Ops
  56. fail: msg="The openshift_logging_es_ops_cluster_size may not be scaled down more than 1 less (or 0) the number of Elasticsearch nodes already deployed"
  57. vars:
  58. es_dcs: "{{openshift_logging_facts.elasticsearch_ops.deploymentconfigs}}"
  59. cluster_size: "{{openshift_logging_es_ops_cluster_size|int}}"
  60. when:
  61. - openshift_logging_use_ops | bool
  62. - "{{es_dcs | length - openshift_logging_es_ops_cluster_size|int | abs > 1}}"
  63. check_mode: no
  64. - set_fact: openshift_logging_es_ops_pvc_prefix="logging-es-ops"
  65. when: "not openshift_logging_es_ops_pvc_prefix or openshift_logging_es_ops_pvc_prefix == ''"
  66. - set_fact: es_ops_indices={{ es_ops_indices | default([]) + [item | int - 1] }}
  67. with_sequence: count={{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | count }}
  68. when:
  69. - openshift_logging_use_ops | bool
  70. - include: set_es_storage.yaml
  71. vars:
  72. es_component: es-ops
  73. es_name: "{{ deployment.0 }}"
  74. es_spec: "{{ deployment.1 }}"
  75. es_pvc_count: "{{ deployment.2 | int }}"
  76. es_node_selector: "{{ openshift_logging_es_ops_nodeselector | default({}) }}"
  77. es_pvc_names_count: "{{ openshift_logging_facts.elasticsearch_ops.pvcs.keys() | count }}"
  78. es_pvc_size: "{{ openshift_logging_es_ops_pvc_size }}"
  79. es_pvc_prefix: "{{ openshift_logging_es_ops_pvc_prefix }}"
  80. es_pvc_dynamic: "{{ openshift_logging_es_ops_pvc_dynamic | bool }}"
  81. es_pv_selector: "{{ openshift_logging_es_ops_pv_selector }}"
  82. es_cpu_limit: "{{ openshift_logging_es_ops_cpu_limit }}"
  83. es_memory_limit: "{{ openshift_logging_es_ops_memory_limit }}"
  84. es_number_of_shards: "{{ openshift_logging_es_ops_number_of_shards }}"
  85. es_number_of_replicas: "{{ openshift_logging_es_ops_number_of_replicas }}"
  86. with_together:
  87. - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() }}"
  88. - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.values() }}"
  89. - "{{ es_ops_indices | default([]) }}"
  90. loop_control:
  91. loop_var: deployment
  92. when:
  93. - openshift_logging_use_ops | bool
  94. ## if it does not then we should create one that does and attach it
  95. ## create new dc/pvc is needed
  96. - include: set_es_storage.yaml
  97. vars:
  98. es_component: es-ops
  99. es_name: "logging-es-ops-{{'abcdefghijklmnopqrstuvwxyz0123456789'|random_word(8)}}"
  100. es_spec: "{}"
  101. es_pvc_count: "{{ item | int - 1 }}"
  102. es_node_selector: "{{ openshift_logging_es_ops_nodeselector | default({}) }}"
  103. es_pvc_names_count: "{{ [openshift_logging_facts.elasticsearch_ops.pvcs.keys() | count, openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | count] | max }}"
  104. es_pvc_size: "{{ openshift_logging_es_ops_pvc_size }}"
  105. es_pvc_prefix: "{{ openshift_logging_es_ops_pvc_prefix }}"
  106. es_pvc_dynamic: "{{ openshift_logging_es_ops_pvc_dynamic | bool }}"
  107. es_pv_selector: "{{ openshift_logging_es_ops_pv_selector }}"
  108. es_cpu_limit: "{{ openshift_logging_es_ops_cpu_limit }}"
  109. es_memory_limit: "{{ openshift_logging_es_ops_memory_limit }}"
  110. es_number_of_shards: "{{ openshift_logging_es_ops_number_of_shards }}"
  111. es_number_of_replicas: "{{ openshift_logging_es_ops_number_of_replicas }}"
  112. with_sequence: count={{ openshift_logging_es_ops_cluster_size | int - openshift_logging_facts.elasticsearch_ops.deploymentconfigs | count }}
  113. when:
  114. - openshift_logging_use_ops | bool