summaryrefslogtreecommitdiffstats
path: root/roles/openshift_logging_elasticsearch
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2018-01-02 16:08:15 -0800
committerGitHub <noreply@github.com>2018-01-02 16:08:15 -0800
commitb1be9cd5d7573dc9d18ca27915bb383f8591117b (patch)
treefa76d72a4ecf648056dfedc6c68cb5f315341409 /roles/openshift_logging_elasticsearch
parent8119a5c87a1560c2f607c06f30383133cc7137e5 (diff)
parent8cb27ae800df71ee816852df56cd2c861a0f0a0a (diff)
downloadopenshift-b1be9cd5d7573dc9d18ca27915bb383f8591117b.tar.gz
openshift-b1be9cd5d7573dc9d18ca27915bb383f8591117b.tar.bz2
openshift-b1be9cd5d7573dc9d18ca27915bb383f8591117b.tar.xz
openshift-b1be9cd5d7573dc9d18ca27915bb383f8591117b.zip
Merge pull request #5894 from ewolinetz/logging_defaults_from_existing
Automatic merge from submit-queue. Update logging to use existing cluster deployment for defaults This will allow us to use logging facts to set defaults of specific configurations such as ES index replicas and shard count. The update to logging facts yields us output like: ```json "elasticsearch": { "clusterrolebindings": {}, "configmaps": { "logging-elasticsearch": { "elasticsearch.yml": { "cloud": { "kubernetes": { "namespace": "${NAMESPACE}", "pod_label": "${POD_LABEL}", "pod_port": 9300 } }, "cluster": { "name": "${CLUSTER_NAME}" }, "discovery": { "type": "kubernetes", "zen.minimum_master_nodes": "${NODE_QUORUM}", "zen.ping.multicast.enabled": false }, "gateway": { "expected_nodes": "${RECOVER_EXPECTED_NODES}", "recover_after_nodes": "${NODE_QUORUM}", "recover_after_time": "${RECOVER_AFTER_TIME}" }, "index": { "number_of_replicas": 0, "number_of_shards": 1, "translog": { "flush_threshold_period": "5m", "flush_threshold_size": "256mb" }, "unassigned.node_left.delayed_timeout": "2m" }, "io.fabric8.elasticsearch.authentication.users": [ "system.logging.kibana", "system.logging.fluentd", "system.logging.curator", "system.admin" ], ``` TODO: - [x] Update logging facts to pull out settings from config maps - [x] Move `openshift_sanitize_inventory/library/conditional_set_fact.py` up to repo level - [x] Generate diffs against currently deployed configs and correctly patch in custom changes from customers - [x] Use `conditional_set_fact` to easily set defaults for logging based on logging facts, or falling back to role defaults when not specified in the inventory - [x] Update all components to follow patching configmaps
Diffstat (limited to 'roles/openshift_logging_elasticsearch')
-rw-r--r--roles/openshift_logging_elasticsearch/tasks/main.yaml32
1 files changed, 15 insertions, 17 deletions
diff --git a/roles/openshift_logging_elasticsearch/tasks/main.yaml b/roles/openshift_logging_elasticsearch/tasks/main.yaml
index 6ddeb122e..9e7646379 100644
--- a/roles/openshift_logging_elasticsearch/tasks/main.yaml
+++ b/roles/openshift_logging_elasticsearch/tasks/main.yaml
@@ -168,33 +168,31 @@
when: es_logging_contents is undefined
changed_when: no
-- set_fact:
- __es_num_of_shards: "{{ _es_configmap | default({}) | walk('index.number_of_shards', '1') }}"
- __es_num_of_replicas: "{{ _es_configmap | default({}) | walk('index.number_of_replicas', '0') }}"
-
- template:
src: elasticsearch.yml.j2
dest: "{{ tempdir }}/elasticsearch.yml"
vars:
allow_cluster_reader: "{{ openshift_logging_elasticsearch_ops_allow_cluster_reader | lower | default('false') }}"
- es_number_of_shards: "{{ openshift_logging_es_number_of_shards | default(None) or __es_num_of_shards }}"
- es_number_of_replicas: "{{ openshift_logging_es_number_of_replicas | default(None) or __es_num_of_replicas }}"
+ es_number_of_shards: "{{ openshift_logging_es_number_of_shards | default(1) }}"
+ es_number_of_replicas: "{{ openshift_logging_es_number_of_replicas| default(0) }}"
es_kibana_index_mode: "{{ openshift_logging_elasticsearch_kibana_index_mode | default('unique') }}"
when: es_config_contents is undefined
changed_when: no
-- copy:
- content: "{{ es_logging_contents }}"
- dest: "{{ tempdir }}/elasticsearch-logging.yml"
- when: es_logging_contents is defined
- changed_when: no
-
-- copy:
- content: "{{ es_config_contents }}"
- dest: "{{ tempdir }}/elasticsearch.yml"
- when: es_config_contents is defined
- changed_when: no
+# create diff between current configmap files and our current files
+- include_role:
+ name: openshift_logging
+ tasks_from: patch_configmap_files.yaml
+ vars:
+ configmap_name: "logging-elasticsearch"
+ configmap_namespace: "logging"
+ configmap_file_names:
+ - current_file: "elasticsearch.yml"
+ new_file: "{{ tempdir }}/elasticsearch.yml"
+ protected_lines: ["number_of_shards", "number_of_replicas"]
+ - current_file: "logging.yml"
+ new_file: "{{ tempdir }}/elasticsearch-logging.yml"
- name: Set ES configmap
oc_configmap: