install_elasticsearch.yaml 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. ---
  2. - name: Generate PersistentVolumeClaims
  3. include: "{{ role_path}}/tasks/generate_pvcs.yaml"
  4. vars:
  5. es_pvc_names: "{{openshift_logging_facts.elasticsearch.pvcs.keys()}}"
  6. es_dc_names: "{{openshift_logging_facts.elasticsearch.deploymentconfigs.keys()}}"
  7. when:
  8. - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length < openshift_logging_es_cluster_size }}"
  9. - name: Init pool of DeploymentConfig names for Elasticsearch
  10. set_fact: es_dc_pool={{es_dc_pool | default([]) + [deploy_name]}}
  11. vars:
  12. component: es
  13. es_cluster_name: "{{component}}"
  14. deploy_name_prefix: "logging-{{component}}"
  15. deploy_name: "{{deploy_name_prefix}}-{{'abcdefghijklmnopqrstuvwxyz0123456789'|random_word(8)}}"
  16. with_sequence: count={{(openshift_logging_es_cluster_size - openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length) | abs}}
  17. when:
  18. - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length < openshift_logging_es_cluster_size }}"
  19. check_mode: no
  20. - name: Generate Elasticsearch DeploymentConfig
  21. template: src=es.j2 dest={{mktemp.stdout}}/templates/logging-{{deploy_name}}-dc.yaml
  22. vars:
  23. component: es
  24. logging_component: elasticsearch
  25. deploy_name_prefix: "logging-{{component}}"
  26. image: "{{openshift_logging_image_prefix}}logging-elasticsearch:{{openshift_logging_image_version}}"
  27. es_cluster_name: "{{component}}"
  28. es_cpu_limit: "{{openshift_logging_es_cpu_limit }}"
  29. es_memory_limit: "{{openshift_logging_es_memory_limit}}"
  30. volume_names: "{{es_pvc_pool | default([])}}"
  31. pvc_claim: "{{(volume_names | length > item.0) | ternary(volume_names[item.0], None)}}"
  32. deploy_name: "{{item.1}}"
  33. es_node_selector: "{{openshift_logging_es_nodeselector | default({})}}"
  34. with_indexed_items:
  35. - "{{es_dc_pool | default([])}}"
  36. check_mode: no
  37. when:
  38. - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length < openshift_logging_es_cluster_size }}"
  39. changed_when: no
  40. # --------- Tasks for Operation clusters ---------
  41. - name: Validate Elasticsearch cluster size for Ops
  42. 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"
  43. vars:
  44. es_dcs: "{{openshift_logging_facts.elasticsearch_ops.deploymentconfigs}}"
  45. cluster_size: "{{openshift_logging_es_ops_cluster_size}}"
  46. when:
  47. - openshift_logging_use_ops
  48. - "{{es_dcs | length - openshift_logging_es_ops_cluster_size | abs > 1}}"
  49. check_mode: no
  50. - name: Generate PersistentVolumeClaims for Ops
  51. include: "{{ role_path}}/tasks/generate_pvcs.yaml"
  52. vars:
  53. es_pvc_names: "{{openshift_logging_facts.elasticsearch_ops.pvcs.keys()}}"
  54. es_dc_names: "{{openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys()}}"
  55. openshift_logging_es_pvc_prefix: "{{openshift_logging_es_ops_pvc_prefix}}"
  56. openshift_logging_es_cluster_size: "{{openshift_logging_es_ops_cluster_size}}"
  57. openshift_logging_es_pvc_size: "{{openshift_logging_es_ops_pvc_size}}"
  58. openshift_logging_es_pvc_dynamic: "{{openshift_logging_es_ops_pvc_dynamic}}"
  59. openshift_logging_es_pv_selector: "{{openshift_logging_es_ops_pv_selector}}"
  60. when:
  61. - openshift_logging_use_ops
  62. - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length < openshift_logging_es_ops_cluster_size }}"
  63. check_mode: no
  64. - name: Init pool of DeploymentConfig names for Elasticsearch for Ops
  65. set_fact: es_dc_pool_ops={{es_dc_pool_ops | default([]) + [deploy_name]}}
  66. vars:
  67. component: es-ops
  68. es_cluster_name: "{{component}}"
  69. deploy_name_prefix: "logging-{{component}}"
  70. deploy_name: "{{deploy_name_prefix}}-{{'abcdefghijklmnopqrstuvwxyz0123456789'|random_word(8)}}"
  71. cluster_size: "{{openshift_logging_es_ops_cluster_size}}"
  72. with_sequence: count={{openshift_logging_es_ops_cluster_size - openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length}}
  73. when:
  74. - openshift_logging_use_ops
  75. - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length < openshift_logging_es_ops_cluster_size }}"
  76. check_mode: no
  77. - name: Generate Elasticsearch DeploymentConfig for Ops
  78. template: src=es.j2 dest={{mktemp.stdout}}/templates/logging-{{deploy_name}}-dc.yaml
  79. vars:
  80. component: es-ops
  81. logging_component: elasticsearch
  82. deploy_name_prefix: "logging-{{component}}"
  83. image: "{{openshift_logging_image_prefix}}logging-elasticsearch:{{openshift_logging_image_version}}"
  84. volume_names: "{{es_pvc_pool | default([])}}"
  85. pvc_claim: "{{(volume_names | length > item.0) | ternary(volume_names[item.0], None)}}"
  86. deploy_name: "{{item.1}}"
  87. es_cluster_name: "{{component}}"
  88. es_cpu_limit: "{{openshift_logging_es_ops_cpu_limit }}"
  89. es_memory_limit: "{{openshift_logging_es_ops_memory_limit}}"
  90. es_node_quorum: "{{es_ops_node_quorum}}"
  91. es_recover_after_nodes: "{{es_ops_recover_after_nodes}}"
  92. es_recover_expected_nodes: "{{es_ops_recover_expected_nodes}}"
  93. openshift_logging_es_recover_after_time: "{{openshift_logging_es_ops_recover_after_time}}"
  94. es_node_selector: "{{openshift_logging_es_ops_nodeselector | default({})}}"
  95. with_indexed_items:
  96. - "{{es_dc_pool_ops | default([])}}"
  97. when:
  98. - openshift_logging_use_ops
  99. - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length < openshift_logging_es_ops_cluster_size }}"
  100. check_mode: no
  101. changed_when: no