main.yaml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. ---
  2. - name: Set default image variables based on deployment_type
  3. include_vars: "{{ var_file_name }}"
  4. with_first_found:
  5. - "{{ openshift_deployment_type }}.yml"
  6. - "default_images.yml"
  7. loop_control:
  8. loop_var: var_file_name
  9. - name: Set curator image facts
  10. set_fact:
  11. openshift_logging_curator_image_prefix: "{{ openshift_logging_curator_image_prefix | default(__openshift_logging_curator_image_prefix) }}"
  12. openshift_logging_curator_image_version: "{{ openshift_logging_curator_image_version | default(__openshift_logging_curator_image_version) }}"
  13. - include_tasks: determine_version.yaml
  14. - name: Ensure that logging curator has nodes to run on
  15. fail:
  16. msg: |-
  17. No schedulable nodes found matching node selector for logging curator - '{{ openshift_logging_curator_nodeselector }}'
  18. when:
  19. - openshift_schedulable_node_labels | lib_utils_oo_has_no_matching_selector(openshift_logging_curator_nodeselector)
  20. # allow passing in a tempdir
  21. - name: Create temp directory for doing work in
  22. command: mktemp -d /tmp/openshift-logging-ansible-XXXXXX
  23. register: mktemp
  24. changed_when: False
  25. - set_fact:
  26. tempdir: "{{ mktemp.stdout }}"
  27. # This may not be necessary in this role
  28. - name: Create templates subdirectory
  29. file:
  30. state: directory
  31. path: "{{ tempdir }}/templates"
  32. mode: 0755
  33. changed_when: False
  34. # we want to make sure we have all the necessary components here
  35. # service account
  36. - name: Create Curator service account
  37. oc_serviceaccount:
  38. state: present
  39. name: "aggregated-logging-curator"
  40. namespace: "{{ openshift_logging_namespace }}"
  41. image_pull_secrets: "{{ openshift_logging_image_pull_secret }}"
  42. when: openshift_logging_image_pull_secret != ''
  43. - name: Create Curator service account
  44. oc_serviceaccount:
  45. state: present
  46. name: "aggregated-logging-curator"
  47. namespace: "{{ openshift_logging_namespace }}"
  48. when:
  49. - openshift_logging_image_pull_secret == ''
  50. # configmap
  51. - copy:
  52. src: "{{ __base_file_dir }}/curator.yml"
  53. dest: "{{ tempdir }}/curator.yml"
  54. changed_when: no
  55. - import_role:
  56. name: openshift_logging
  57. tasks_from: patch_configmap_files.yaml
  58. vars:
  59. configmap_name: "logging-curator"
  60. configmap_namespace: "logging"
  61. configmap_file_names:
  62. - current_file: "config.yaml"
  63. new_file: "{{ tempdir }}/curator.yml"
  64. - name: Set Curator configmap
  65. oc_configmap:
  66. state: present
  67. name: "logging-curator"
  68. namespace: "{{ openshift_logging_namespace }}"
  69. from_file:
  70. config.yaml: "{{ tempdir }}/curator.yml"
  71. # secret
  72. - name: Set Curator secret
  73. oc_secret:
  74. state: present
  75. name: "logging-curator"
  76. namespace: "{{ openshift_logging_namespace }}"
  77. files:
  78. - name: ca
  79. path: "{{ generated_certs_dir }}/ca.crt"
  80. - name: key
  81. path: "{{ generated_certs_dir }}/system.logging.curator.key"
  82. - name: cert
  83. path: "{{ generated_certs_dir }}/system.logging.curator.crt"
  84. - set_fact:
  85. curator_name: "{{ 'logging-curator' ~ ( (openshift_logging_curator_ops_deployment | default(false) | bool) | ternary('-ops', '') ) }}"
  86. curator_component: "{{ 'curator' ~ ( (openshift_logging_curator_ops_deployment | default(false) | bool) | ternary('-ops', '') ) }}"
  87. # DC
  88. # TODO: scale should not exceed 1
  89. - name: Generate Curator deploymentconfig
  90. template:
  91. src: "{{ __base_file_dir }}/curator.j2"
  92. dest: "{{ tempdir }}/templates/curator-dc.yaml"
  93. vars:
  94. component: "{{ curator_component }}"
  95. logging_component: curator
  96. deploy_name: "{{ curator_name }}"
  97. image: "{{openshift_logging_curator_image_prefix}}logging-curator:{{openshift_logging_curator_image_version}}"
  98. es_host: "{{ openshift_logging_curator_es_host }}"
  99. es_port: "{{ openshift_logging_curator_es_port }}"
  100. curator_cpu_limit: "{{ openshift_logging_curator_cpu_limit }}"
  101. curator_cpu_request: "{{ openshift_logging_curator_cpu_request | min_cpu(openshift_logging_curator_cpu_limit | default(none)) }}"
  102. curator_memory_limit: "{{ openshift_logging_curator_memory_limit }}"
  103. curator_replicas: "{{ openshift_logging_curator_replicas | default (1) }}"
  104. curator_node_selector: "{{openshift_logging_curator_nodeselector | default({})}}"
  105. check_mode: no
  106. changed_when: no
  107. - name: Set Curator DC
  108. oc_obj:
  109. state: present
  110. name: "{{ curator_name }}"
  111. namespace: "{{ openshift_logging_namespace }}"
  112. kind: dc
  113. files:
  114. - "{{ tempdir }}/templates/curator-dc.yaml"
  115. delete_after: true
  116. - name: Delete temp directory
  117. file:
  118. name: "{{ tempdir }}"
  119. state: absent
  120. changed_when: False