summaryrefslogtreecommitdiffstats
path: root/roles/openshift_logging/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_logging/tasks')
-rw-r--r--roles/openshift_logging/tasks/install_elasticsearch.yaml46
-rw-r--r--roles/openshift_logging/tasks/install_logging.yaml8
-rw-r--r--roles/openshift_logging/tasks/scale.yaml28
-rw-r--r--roles/openshift_logging/tasks/start_cluster.yaml54
-rw-r--r--roles/openshift_logging/tasks/stop_cluster.yaml54
-rw-r--r--roles/openshift_logging/tasks/upgrade_logging.yaml8
6 files changed, 112 insertions, 86 deletions
diff --git a/roles/openshift_logging/tasks/install_elasticsearch.yaml b/roles/openshift_logging/tasks/install_elasticsearch.yaml
index 9b1c004f2..d12811d56 100644
--- a/roles/openshift_logging/tasks/install_elasticsearch.yaml
+++ b/roles/openshift_logging/tasks/install_elasticsearch.yaml
@@ -1,25 +1,31 @@
---
+- name: Getting current ES deployment size
+ set_fact: openshift_logging_current_es_size={{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length }}
+
- name: Generate PersistentVolumeClaims
include: "{{ role_path}}/tasks/generate_pvcs.yaml"
vars:
es_pvc_names: "{{openshift_logging_facts.elasticsearch.pvcs.keys()}}"
es_dc_names: "{{openshift_logging_facts.elasticsearch.deploymentconfigs.keys()}}"
- when:
- - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length < openshift_logging_es_cluster_size }}"
+# we should initialize the es_dc_pool with the current keys
- name: Init pool of DeploymentConfig names for Elasticsearch
- set_fact: es_dc_pool={{es_dc_pool | default([]) + [deploy_name]}}
+ set_fact: es_dc_pool={{ es_dc_pool | default([]) + [deploy_name] }}
+ with_items: "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() }}"
+ loop_control:
+ loop_var: deploy_name
+
+# This should be used to generate new DC names if necessary
+- name: Create new DeploymentConfig names for Elasticsearch
+ set_fact: es_dc_pool={{es_dc_pool + [deploy_name]}}
vars:
component: es
es_cluster_name: "{{component}}"
deploy_name_prefix: "logging-{{component}}"
deploy_name: "{{deploy_name_prefix}}-{{'abcdefghijklmnopqrstuvwxyz0123456789'|random_word(8)}}"
- with_sequence: count={{(openshift_logging_es_cluster_size - openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length) | abs}}
- when:
- - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length < openshift_logging_es_cluster_size }}"
+ with_sequence: count={{ openshift_logging_current_es_size | int - openshift_logging_es_cluster_size | int }}
check_mode: no
-
- name: Generate Elasticsearch DeploymentConfig
template: src=es.j2 dest={{mktemp.stdout}}/templates/logging-{{deploy_name}}-dc.yaml
vars:
@@ -35,14 +41,15 @@
deploy_name: "{{item.1}}"
es_node_selector: "{{openshift_logging_es_nodeselector | default({})}}"
with_indexed_items:
- - "{{es_dc_pool | default([])}}"
+ - "{{ es_dc_pool }}"
check_mode: no
- when:
- - "{{ openshift_logging_facts.elasticsearch.deploymentconfigs.keys() | length < openshift_logging_es_cluster_size }}"
changed_when: no
# --------- Tasks for Operation clusters ---------
+- name: Getting current ES deployment size
+ set_fact: openshift_logging_current_es_ops_size={{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length }}
+
- name: Validate Elasticsearch cluster size for Ops
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"
vars:
@@ -65,21 +72,27 @@
openshift_logging_es_pv_selector: "{{openshift_logging_es_ops_pv_selector}}"
when:
- openshift_logging_use_ops
- - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length < openshift_logging_es_ops_cluster_size }}"
check_mode: no
-- name: Init pool of DeploymentConfig names for Elasticsearch for Ops
- set_fact: es_dc_pool_ops={{es_dc_pool_ops | default([]) + [deploy_name]}}
+- name: Init pool of DeploymentConfig names for Elasticsearch Ops
+ set_fact: es_ops_dc_pool={{ es_ops_dc_pool | default([]) + [deploy_name] }}
+ with_items: "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() }}"
+ loop_control:
+ loop_var: deploy_name
+ when:
+ - openshift_logging_use_ops
+
+- name: Create new DeploymentConfig names for Elasticsearch Ops
+ set_fact: es_ops_dc_pool={{es_ops_dc_pool + [deploy_name]}}
vars:
component: es-ops
es_cluster_name: "{{component}}"
deploy_name_prefix: "logging-{{component}}"
deploy_name: "{{deploy_name_prefix}}-{{'abcdefghijklmnopqrstuvwxyz0123456789'|random_word(8)}}"
cluster_size: "{{openshift_logging_es_ops_cluster_size}}"
- with_sequence: count={{openshift_logging_es_ops_cluster_size - openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length}}
+ with_sequence: count={{ openshift_logging_current_es_ops_size | int - openshift_logging_es_ops_cluster_size | int }}
when:
- openshift_logging_use_ops
- - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length < openshift_logging_es_ops_cluster_size }}"
check_mode: no
- name: Generate Elasticsearch DeploymentConfig for Ops
@@ -101,9 +114,8 @@
openshift_logging_es_recover_after_time: "{{openshift_logging_es_ops_recover_after_time}}"
es_node_selector: "{{openshift_logging_es_ops_nodeselector | default({})}}"
with_indexed_items:
- - "{{es_dc_pool_ops | default([])}}"
+ - "{{ es_ops_dc_pool | default([]) }}"
when:
- openshift_logging_use_ops
- - "{{ openshift_logging_facts.elasticsearch_ops.deploymentconfigs.keys() | length < openshift_logging_es_ops_cluster_size }}"
check_mode: no
changed_when: no
diff --git a/roles/openshift_logging/tasks/install_logging.yaml b/roles/openshift_logging/tasks/install_logging.yaml
index a9699adb8..8a33498cd 100644
--- a/roles/openshift_logging/tasks/install_logging.yaml
+++ b/roles/openshift_logging/tasks/install_logging.yaml
@@ -8,8 +8,12 @@
check_mode: no
- name: Validate Elasticsearch cluster size
- fail: msg="The openshift_logging_es_cluster_size may not be scaled down more than 1 less (or 0) the number of Elasticsearch nodes already deployed"
- when: "{{openshift_logging_facts.elasticsearch.deploymentconfigs | length - openshift_logging_es_cluster_size | abs > 1}}"
+ fail: msg="The openshift_logging_es_cluster_size may only be scaled down manually. Please see official documentation on how to do this."
+ when: openshift_logging_facts.elasticsearch.deploymentconfigs | length > openshift_logging_es_cluster_size
+
+- name: Validate Elasticsearch Ops cluster size
+ fail: msg="The openshift_logging_es_ops_cluster_size may only be scaled down manually. Please see official documentation on how to do this."
+ when: openshift_logging_facts.elasticsearch_ops.deploymentconfigs | length > openshift_logging_es_ops_cluster_size
- name: Install logging
include: "{{ role_path }}/tasks/install_{{ install_component }}.yaml"
diff --git a/roles/openshift_logging/tasks/scale.yaml b/roles/openshift_logging/tasks/scale.yaml
deleted file mode 100644
index 125d3b8af..000000000
--- a/roles/openshift_logging/tasks/scale.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
----
-- command: >
- {{ openshift.common.client_binary }} --config={{ mktemp.stdout }}/admin.kubeconfig get {{object}}
- -o jsonpath='{.spec.replicas}' -n {{openshift_logging_namespace}}
- register: replica_count
- failed_when: replica_count.rc == 1 and 'exists' not in replica_count.stderr
- when: not ansible_check_mode
- changed_when: no
-
-- command: >
- {{ openshift.common.client_binary }} --config={{ mktemp.stdout }}/admin.kubeconfig scale {{object}}
- --replicas={{desired}} -n {{openshift_logging_namespace}}
- register: scale_result
- failed_when: scale_result.rc == 1 and 'exists' not in scale_result.stderr
- when:
- - not ansible_check_mode
- - replica_count.stdout|int != desired
-
-- command: >
- {{ openshift.common.client_binary }} --config={{ mktemp.stdout }}/admin.kubeconfig get {{object}} -n {{openshift_logging_namespace}} -o jsonpath='{.status.replicas}'
- register: replica_counts
- until: replica_counts.stdout|int == desired
- retries: 30
- delay: 10
- when:
- - not ansible_check_mode
- - replica_count.stdout|int != desired
- changed_when: no
diff --git a/roles/openshift_logging/tasks/start_cluster.yaml b/roles/openshift_logging/tasks/start_cluster.yaml
index 2d8af1385..07489ae79 100644
--- a/roles/openshift_logging/tasks/start_cluster.yaml
+++ b/roles/openshift_logging/tasks/start_cluster.yaml
@@ -26,9 +26,12 @@
changed_when: no
- name: start elasticsearch
- include: scale.yaml
- vars:
- desired: 1
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 1
with_items: "{{es_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -40,9 +43,12 @@
changed_when: no
- name: start kibana
- include: scale.yaml
- vars:
- desired: "{{ openshift_logging_kibana_replica_count | default (1) }}"
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: "{{ openshift_logging_kibana_replica_count | default (1) }}"
with_items: "{{kibana_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -54,9 +60,12 @@
changed_when: no
- name: start curator
- include: scale.yaml
- vars:
- desired: 1
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 1
with_items: "{{curator_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -68,9 +77,12 @@
changed_when: no
- name: start elasticsearch-ops
- include: scale.yaml
- vars:
- desired: 1
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 1
with_items: "{{es_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -83,9 +95,12 @@
changed_when: no
- name: start kibana-ops
- include: scale.yaml
- vars:
- desired: "{{ openshift_logging_kibana_ops_replica_count | default (1) }}"
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: "{{ openshift_logging_kibana_ops_replica_count | default (1) }}"
with_items: "{{kibana_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -98,9 +113,12 @@
changed_when: no
- name: start curator-ops
- include: scale.yaml
- vars:
- desired: 1
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 1
with_items: "{{curator_dc.stdout_lines}}"
loop_control:
loop_var: object
diff --git a/roles/openshift_logging/tasks/stop_cluster.yaml b/roles/openshift_logging/tasks/stop_cluster.yaml
index c8e8fbd2c..8e0df8344 100644
--- a/roles/openshift_logging/tasks/stop_cluster.yaml
+++ b/roles/openshift_logging/tasks/stop_cluster.yaml
@@ -24,9 +24,12 @@
changed_when: no
- name: stop elasticsearch
- include: scale.yaml
- vars:
- desired: 0
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 0
with_items: "{{es_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -37,9 +40,12 @@
changed_when: no
- name: stop kibana
- include: scale.yaml
- vars:
- desired: 0
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 0
with_items: "{{kibana_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -50,9 +56,12 @@
changed_when: no
- name: stop curator
- include: scale.yaml
- vars:
- desired: 0
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 0
with_items: "{{curator_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -63,9 +72,12 @@
changed_when: no
- name: stop elasticsearch-ops
- include: scale.yaml
- vars:
- desired: 0
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 0
with_items: "{{es_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -77,9 +89,12 @@
changed_when: no
- name: stop kibana-ops
- include: scale.yaml
- vars:
- desired: 0
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 0
with_items: "{{kibana_dc.stdout_lines}}"
loop_control:
loop_var: object
@@ -91,9 +106,12 @@
changed_when: no
- name: stop curator-ops
- include: scale.yaml
- vars:
- desired: 0
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{openshift_logging_namespace}}"
+ kubeconfig: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 0
with_items: "{{curator_dc.stdout_lines}}"
loop_control:
loop_var: object
diff --git a/roles/openshift_logging/tasks/upgrade_logging.yaml b/roles/openshift_logging/tasks/upgrade_logging.yaml
index a93463239..cceacd538 100644
--- a/roles/openshift_logging/tasks/upgrade_logging.yaml
+++ b/roles/openshift_logging/tasks/upgrade_logging.yaml
@@ -14,9 +14,11 @@
check_mode: no
- name: start elasticsearch
- include: scale.yaml
- vars:
- desired: 1
+ oc_scale:
+ kind: dc
+ name: "{{object.split('/')[1]}}"
+ namespace: "{{mktemp.stdout}}/admin.kubeconfig"
+ replicas: 1
with_items: "{{es_dc.stdout_lines}}"
loop_control:
loop_var: object