Guest User

Untitled

a guest
Mar 21st, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.11 KB | None | 0 0
  1. ---
  2. - name: Gather OpenShift Logging Facts
  3. openshift_logging_facts:
  4. oc_bin: "{{openshift.common.client_binary}}"
  5. openshift_logging_namespace: "{{openshift_logging_namespace}}"
  6.  
  7. - name: Set logging project
  8. oc_project:
  9. state: present
  10. name: "{{ openshift_logging_namespace }}"
  11. node_selector: "{{ openshift_logging_nodeselector | default(null) }}"
  12.  
  13. - name: Labeling logging project
  14. oc_label:
  15. state: present
  16. kind: namespace
  17. name: "{{ openshift_logging_namespace }}"
  18. labels:
  19. - key: "{{ item.key }}"
  20. value: "{{ item.value }}"
  21. with_dict: "{{ openshift_logging_labels | default({}) }}"
  22. when:
  23. - openshift_logging_labels is defined
  24. - openshift_logging_labels is dict
  25.  
  26. - name: Labeling logging project
  27. oc_label:
  28. state: present
  29. kind: namespace
  30. name: "{{ openshift_logging_namespace }}"
  31. labels:
  32. - key: "{{ openshift_logging_label_key }}"
  33. value: "{{ openshift_logging_label_value }}"
  34. when:
  35. - openshift_logging_label_key is defined
  36. - openshift_logging_label_key != ""
  37. - openshift_logging_label_value is defined
  38.  
  39. - name: Annotate Logging Project to allow overcommit
  40. oc_edit:
  41. kind: ns
  42. name: "{{ openshift_logging_namespace }}"
  43. separator: '#'
  44. content:
  45. metadata#annotations#quota.openshift.io/cluster-resource-override-enabled: "false"
  46.  
  47. - name: Create logging cert directory
  48. file:
  49. path: "{{ openshift.common.config_base }}/logging"
  50. state: directory
  51. mode: 0755
  52. changed_when: False
  53. check_mode: no
  54.  
  55. - include: generate_certs.yaml
  56. vars:
  57. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  58.  
  59. ## Elasticsearch
  60.  
  61. - set_fact: es_indices={{ es_indices | default([]) + [item | int - 1] }}
  62. with_sequence: count={{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | count }}
  63. when: openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | count > 0
  64.  
  65. - set_fact: es_indices=[]
  66. when: openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | count == 0
  67.  
  68. - set_fact: openshift_logging_es_pvc_prefix="logging-es"
  69. when: openshift_logging_es_pvc_prefix == ""
  70.  
  71. # Using this module for setting this fact because otherwise we were getting a value of "" trying to
  72. # use default() in the set_fact after this which caused us to not correctly evaluate
  73. # openshift_logging_elasticsearch_storage_type
  74. - conditional_set_fact:
  75. facts: "{{ hostvars[inventory_hostname] }}"
  76. vars:
  77. elasticsearch_storage_type: openshift_logging_elasticsearch_storage_type
  78.  
  79. - set_fact:
  80. default_elasticsearch_storage_type: "{{ 'pvc' if ( openshift_logging_es_pvc_dynamic | bool or openshift_logging_storage_kind | default('') == 'nfs' or openshift_logging_es_pvc_size | length > 0) else 'emptydir' }}"
  81.  
  82. - include_role:
  83. name: openshift_logging_elasticsearch
  84. vars:
  85. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  86. openshift_logging_elasticsearch_namespace: "{{ openshift_logging_namespace }}"
  87. openshift_logging_elasticsearch_deployment_name: "{{ outer_item.0.name }}"
  88. openshift_logging_elasticsearch_pvc_name: "{{ outer_item.0.volumes['elasticsearch-storage'].persistentVolumeClaim.claimName if outer_item.0.volumes['elasticsearch-storage'].persistentVolumeClaim is defined else openshift_logging_es_pvc_prefix ~ '-' ~ outer_item.2 if outer_item.1 is none else outer_item.1 }}"
  89. openshift_logging_elasticsearch_pvc_size: "{{ openshift_logging_es_pvc_size }}"
  90. openshift_logging_elasticsearch_replica_count: "{{ openshift_logging_es_cluster_size | int }}"
  91.  
  92. openshift_logging_elasticsearch_storage_type: "{{ elasticsearch_storage_type | default('pvc' if outer_item.0.volumes['elasticsearch-storage'].persistentVolumeClaim is defined else 'hostmount' if outer_item.0.volumes['elasticsearch-storage'].hostPath is defined else 'emptydir' if outer_item.0.volumes['elasticsearch-storage'].emptyDir is defined else default_elasticsearch_storage_type) }}"
  93. openshift_logging_elasticsearch_hostmount_path: "{{ outer_item.0.volumes['elasticsearch-storage'].hostPath.path if outer_item.0.volumes['elasticsearch-storage'].hostPath is defined else '' }}"
  94. openshift_logging_elasticsearch_pvc_pv_selector: "{{ openshift_logging_es_pv_selector }}"
  95. openshift_logging_elasticsearch_pvc_storage_class_name: "{{ openshift_logging_es_pvc_storage_class_name | default() }}"
  96. openshift_logging_elasticsearch_nodeselector: "{{ openshift_logging_es_nodeselector if outer_item.0.nodeSelector | default(None) is none else outer_item.0.nodeSelector }}"
  97. openshift_logging_elasticsearch_storage_group: "{{ [openshift_logging_es_storage_group] if outer_item.0.storageGroups | default([]) | length == 0 else outer_item.0.storageGroups }}"
  98. _es_containers: "{{ outer_item.0.containers}}"
  99. _es_configmap: "{{ openshift_logging_facts | walk('elasticsearch#configmaps#logging-elasticsearch#elasticsearch.yml', '{}', delimiter='#') | from_yaml }}"
  100.  
  101. with_together:
  102. - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.values() }}"
  103. - "{{ openshift_logging_facts.elasticsearch.pvcs }}"
  104. - "{{ es_indices }}"
  105. loop_control:
  106. loop_var: outer_item
  107. when:
  108. - openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | count > 0
  109.  
  110. # Create any new DC that may be required
  111. - include_role:
  112. name: openshift_logging_elasticsearch
  113. vars:
  114. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  115. openshift_logging_elasticsearch_namespace: "{{ openshift_logging_namespace }}"
  116. openshift_logging_elasticsearch_pvc_name: "{{ openshift_logging_es_pvc_prefix }}-{{ outer_item | int + openshift_logging_facts.elasticsearch.deploymentconfigs | count - 1 }}"
  117. openshift_logging_elasticsearch_pvc_size: "{{ openshift_logging_es_pvc_size }}"
  118. openshift_logging_elasticsearch_replica_count: "{{ openshift_logging_es_cluster_size | int }}"
  119.  
  120. openshift_logging_elasticsearch_storage_type: "{{ elasticsearch_storage_type | default(default_elasticsearch_storage_type) }}"
  121. openshift_logging_elasticsearch_pvc_pv_selector: "{{ openshift_logging_es_pv_selector }}"
  122. openshift_logging_elasticsearch_pvc_storage_class_name: "{{ openshift_logging_es_pvc_storage_class_name | default() }}"
  123.  
  124. with_sequence: count={{ openshift_logging_es_cluster_size | int - openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | count }}
  125. loop_control:
  126. loop_var: outer_item
  127.  
  128. - set_fact: es_ops_indices={{ es_ops_indices | default([]) + [item | int - 1] }}
  129. with_sequence: count={{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | count }}
  130. when:
  131. - openshift_logging_use_ops | bool
  132. - openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | count > 0
  133.  
  134. - set_fact: es_ops_indices=[]
  135. when: openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | count == 0
  136.  
  137. - set_fact: openshift_logging_es_ops_pvc_prefix="logging-es-ops"
  138. when: openshift_logging_es_ops_pvc_prefix == ""
  139.  
  140. - set_fact:
  141. default_elasticsearch_storage_type: "{{ 'pvc' if ( openshift_logging_es_ops_pvc_dynamic | bool or openshift_logging_storage_kind | default('') == 'nfs' or openshift_logging_es_ops_pvc_size | length > 0) else 'emptydir' }}"
  142. when:
  143. - openshift_logging_use_ops | bool
  144.  
  145. - include_role:
  146. name: openshift_logging_elasticsearch
  147. vars:
  148. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  149. openshift_logging_elasticsearch_namespace: "{{ openshift_logging_namespace }}"
  150. openshift_logging_elasticsearch_deployment_name: "{{ outer_item.0.name }}"
  151. openshift_logging_elasticsearch_pvc_name: "{{ outer_item.0.volumes['elasticsearch-storage'].persistentVolumeClaim.claimName if outer_item.0.volumes['elasticsearch-storage'].persistentVolumeClaim is defined else openshift_logging_es_ops_pvc_prefix ~ '-' ~ outer_item.2 if outer_item.1 is none else outer_item.1 }}"
  152. openshift_logging_elasticsearch_ops_deployment: true
  153. openshift_logging_elasticsearch_replica_count: "{{ openshift_logging_es_ops_cluster_size | int }}"
  154.  
  155. openshift_logging_elasticsearch_storage_type: "{{ elasticsearch_storage_type | default('pvc' if outer_item.0.volumes['elasticsearch-storage'].persistentVolumeClaim is defined else 'hostmount' if outer_item.0.volumes['elasticsearch-storage'].hostPath is defined else 'emptydir' if outer_item.0.volumes['elasticsearch-storage'].emptyDir is defined else default_elasticsearch_storage_type) }}"
  156. openshift_logging_elasticsearch_hostmount_path: "{{ outer_item.0.volumes['elasticsearch-storage'].hostPath.path if outer_item.0.volumes['elasticsearch-storage'].hostPath is defined else '' }}"
  157. openshift_logging_elasticsearch_pvc_size: "{{ openshift_logging_es_ops_pvc_size }}"
  158. openshift_logging_elasticsearch_pvc_dynamic: "{{ openshift_logging_es_ops_pvc_dynamic }}"
  159. openshift_logging_elasticsearch_pvc_pv_selector: "{{ openshift_logging_es_ops_pv_selector }}"
  160. openshift_logging_elasticsearch_pvc_storage_class_name: "{{ openshift_logging_es_ops_pvc_storage_class_name | default() }}"
  161. openshift_logging_elasticsearch_memory_limit: "{{ openshift_logging_es_ops_memory_limit }}"
  162. openshift_logging_elasticsearch_cpu_limit: "{{ openshift_logging_es_ops_cpu_limit }}"
  163. openshift_logging_elasticsearch_cpu_request: "{{ openshift_logging_es_ops_cpu_request }}"
  164. openshift_logging_elasticsearch_nodeselector: "{{ openshift_logging_es_ops_nodeselector if outer_item.0.nodeSelector | default(None) is none else outer_item.0.nodeSelector }}"
  165. openshift_logging_elasticsearch_storage_group: "{{ [openshift_logging_es_ops_storage_group] if outer_item.0.storageGroups | default([]) | length == 0 else outer_item.0.storageGroups }}"
  166. openshift_logging_es_key: "{{ openshift_logging_es_ops_key }}"
  167. openshift_logging_es_cert: "{{ openshift_logging_es_ops_cert }}"
  168. openshift_logging_es_ca_ext: "{{ openshift_logging_es_ops_ca_ext }}"
  169. openshift_logging_es_hostname: "{{ openshift_logging_es_ops_hostname }}"
  170. openshift_logging_es_edge_term_policy: "{{ openshift_logging_es_ops_edge_term_policy | default('') }}"
  171. openshift_logging_es_allow_external: "{{ openshift_logging_es_ops_allow_external }}"
  172. openshift_logging_es_number_of_shards: "{{ openshift_logging_es_ops_number_of_shards | default(None) }}"
  173. openshift_logging_es_number_of_replicas: "{{ openshift_logging_es_ops_number_of_replicas | default(None) }}"
  174. _es_containers: "{{ outer_item.0.containers}}"
  175. _es_configmap: "{{ openshift_logging_facts | walk('elasticsearch_ops#configmaps#logging-elasticsearch-ops#elasticsearch.yml', '{}', delimiter='#') | from_yaml }}"
  176.  
  177. with_together:
  178. - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.values() }}"
  179. - "{{ openshift_logging_facts.elasticsearch_ops.pvcs }}"
  180. - "{{ es_ops_indices }}"
  181. loop_control:
  182. loop_var: outer_item
  183.  
  184. when:
  185. - openshift_logging_use_ops | bool
  186. - openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | count > 0
  187.  
  188. # Create any new DC that may be required
  189. - include_role:
  190. name: openshift_logging_elasticsearch
  191. vars:
  192. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  193. openshift_logging_elasticsearch_namespace: "{{ openshift_logging_namespace }}"
  194. openshift_logging_elasticsearch_pvc_name: "{{ openshift_logging_es_ops_pvc_prefix }}-{{ outer_item | int + openshift_logging_facts.elasticsearch_ops.deploymentconfigs | count - 1 }}"
  195. openshift_logging_elasticsearch_ops_deployment: true
  196. openshift_logging_elasticsearch_replica_count: "{{ openshift_logging_es_ops_cluster_size | int }}"
  197.  
  198. openshift_logging_elasticsearch_storage_type: "{{ elasticsearch_storage_type | default(default_elasticsearch_storage_type) }}"
  199. openshift_logging_elasticsearch_pvc_size: "{{ openshift_logging_es_ops_pvc_size }}"
  200. openshift_logging_elasticsearch_pvc_dynamic: "{{ openshift_logging_es_ops_pvc_dynamic }}"
  201. openshift_logging_elasticsearch_pvc_pv_selector: "{{ openshift_logging_es_ops_pv_selector }}"
  202. openshift_logging_elasticsearch_pvc_storage_class_name: "{{ openshift_logging_es_ops_pvc_storage_class_name | default() }}"
  203. openshift_logging_elasticsearch_memory_limit: "{{ openshift_logging_es_ops_memory_limit }}"
  204. openshift_logging_elasticsearch_cpu_limit: "{{ openshift_logging_es_ops_cpu_limit }}"
  205. openshift_logging_elasticsearch_cpu_request: "{{ openshift_logging_es_ops_cpu_request }}"
  206. openshift_logging_elasticsearch_nodeselector: "{{ openshift_logging_es_ops_nodeselector }}"
  207. openshift_logging_es_key: "{{ openshift_logging_es_ops_key }}"
  208. openshift_logging_es_cert: "{{ openshift_logging_es_ops_cert }}"
  209. openshift_logging_es_ca_ext: "{{ openshift_logging_es_ops_ca_ext }}"
  210. openshift_logging_es_hostname: "{{ openshift_logging_es_ops_hostname }}"
  211. openshift_logging_es_edge_term_policy: "{{ openshift_logging_es_ops_edge_term_policy | default('') }}"
  212. openshift_logging_es_allow_external: "{{ openshift_logging_es_ops_allow_external }}"
  213.  
  214. with_sequence: count={{ openshift_logging_es_ops_cluster_size | int - openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | count }}
  215. loop_control:
  216. loop_var: outer_item
  217. when:
  218. - openshift_logging_use_ops | bool
  219.  
  220.  
  221. ## Kibana
  222. - include_role:
  223. name: openshift_logging_kibana
  224. vars:
  225. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  226. openshift_logging_kibana_namespace: "{{ openshift_logging_namespace }}"
  227. openshift_logging_kibana_master_url: "{{ openshift_logging_master_url }}"
  228. openshift_logging_kibana_master_public_url: "{{ openshift_logging_master_public_url }}"
  229. openshift_logging_kibana_replicas: "{{ openshift_logging_kibana_replica_count }}"
  230. openshift_logging_kibana_es_host: "{{ openshift_logging_es_host }}"
  231. openshift_logging_kibana_es_port: "{{ openshift_logging_es_port }}"
  232. openshift_logging_kibana_image_pull_secret: "{{ openshift_logging_image_pull_secret }}"
  233.  
  234.  
  235. - include_role:
  236. name: openshift_logging_kibana
  237. vars:
  238. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  239. openshift_logging_kibana_ops_deployment: true
  240. openshift_logging_kibana_namespace: "{{ openshift_logging_namespace }}"
  241. openshift_logging_kibana_master_url: "{{ openshift_logging_master_url }}"
  242. openshift_logging_kibana_master_public_url: "{{ openshift_logging_master_public_url }}"
  243. openshift_logging_kibana_image_pull_secret: "{{ openshift_logging_image_pull_secret }}"
  244. openshift_logging_kibana_es_host: "{{ openshift_logging_es_ops_host }}"
  245. openshift_logging_kibana_es_port: "{{ openshift_logging_es_ops_port }}"
  246. openshift_logging_kibana_nodeselector: "{{ openshift_logging_kibana_ops_nodeselector }}"
  247. openshift_logging_kibana_cpu_limit: "{{ openshift_logging_kibana_ops_cpu_limit }}"
  248. openshift_logging_kibana_cpu_request: "{{ openshift_logging_kibana_ops_cpu_request }}"
  249. openshift_logging_kibana_memory_limit: "{{ openshift_logging_kibana_ops_memory_limit }}"
  250. openshift_logging_kibana_hostname: "{{ openshift_logging_kibana_ops_hostname }}"
  251. openshift_logging_kibana_replicas: "{{ openshift_logging_kibana_ops_replica_count }}"
  252. openshift_logging_kibana_proxy_debug: "{{ openshift_logging_kibana_ops_proxy_debug }}"
  253. openshift_logging_kibana_proxy_cpu_limit: "{{ openshift_logging_kibana_ops_proxy_cpu_limit }}"
  254. openshift_logging_kibana_proxy_cpu_request: "{{ openshift_logging_kibana_ops_proxy_cpu_request }}"
  255. openshift_logging_kibana_proxy_memory_limit: "{{ openshift_logging_kibana_ops_proxy_memory_limit }}"
  256. openshift_logging_kibana_cert: "{{ openshift_logging_kibana_ops_cert }}"
  257. openshift_logging_kibana_key: "{{ openshift_logging_kibana_ops_key }}"
  258. openshift_logging_kibana_ca: "{{ openshift_logging_kibana_ops_ca}}"
  259. when:
  260. - openshift_logging_use_ops | bool
  261.  
  262. - include: annotate_ops_projects.yaml
  263.  
  264. ## Curator
  265. - include_role:
  266. name: openshift_logging_curator
  267. vars:
  268. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  269. openshift_logging_curator_namespace: "{{ openshift_logging_namespace }}"
  270. openshift_logging_curator_es_host: "{{ openshift_logging_es_host }}"
  271. openshift_logging_curator_es_port: "{{ openshift_logging_es_port }}"
  272. openshift_logging_curator_master_url: "{{ openshift_logging_master_url }}"
  273. openshift_logging_curator_image_pull_secret: "{{ openshift_logging_image_pull_secret }}"
  274.  
  275. - include_role:
  276. name: openshift_logging_curator
  277. vars:
  278. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  279. openshift_logging_curator_ops_deployment: true
  280. openshift_logging_curator_es_host: "{{ openshift_logging_es_ops_host }}"
  281. openshift_logging_curator_es_port: "{{ openshift_logging_es_ops_port }}"
  282. openshift_logging_curator_namespace: "{{ openshift_logging_namespace }}"
  283. openshift_logging_curator_master_url: "{{ openshift_logging_master_url }}"
  284. openshift_logging_curator_image_pull_secret: "{{ openshift_logging_image_pull_secret }}"
  285. openshift_logging_curator_cpu_limit: "{{ openshift_logging_curator_ops_cpu_limit }}"
  286. openshift_logging_curator_cpu_request: "{{ openshift_logging_curator_ops_cpu_request }}"
  287. openshift_logging_curator_memory_limit: "{{ openshift_logging_curator_ops_memory_limit }}"
  288. openshift_logging_curator_nodeselector: "{{ openshift_logging_curator_ops_nodeselector }}"
  289. when:
  290. - openshift_logging_use_ops | bool
  291.  
  292. ## Mux
  293. - include_role:
  294. name: openshift_logging_mux
  295. vars:
  296. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  297. openshift_logging_mux_ops_host: "{{ ( openshift_logging_use_ops | bool ) | ternary('logging-es-ops', 'logging-es') }}"
  298. openshift_logging_mux_namespace: "{{ openshift_logging_namespace }}"
  299. openshift_logging_mux_master_url: "{{ openshift_logging_master_url }}"
  300. openshift_logging_mux_image_pull_secret: "{{ openshift_logging_image_pull_secret }}"
  301. when:
  302. - openshift_logging_use_mux | bool
  303.  
  304.  
  305. ## Fluentd
  306. - include_role:
  307. name: openshift_logging_fluentd
  308. vars:
  309. generated_certs_dir: "{{openshift.common.config_base}}/logging"
  310. openshift_logging_fluentd_ops_host: "{{ ( openshift_logging_use_ops | bool ) | ternary('logging-es-ops', 'logging-es') }}"
  311. openshift_logging_fluentd_image_pull_secret: "{{ openshift_logging_image_pull_secret }}"
  312. openshift_logging_fluentd_master_url: "{{ openshift_logging_master_url }}"
  313. openshift_logging_fluentd_namespace: "{{ openshift_logging_namespace }}"
  314.  
  315.  
  316. ## EventRouter
  317. - include_role:
  318. name: openshift_logging_eventrouter
  319. when:
  320. openshift_logging_install_eventrouter | default(false) | bool
  321.  
  322.  
  323. - include: update_master_config.yaml
Add Comment
Please, Sign In to add comment