diff options
| author | ewolinetz <ewolinet@redhat.com> | 2017-01-26 18:32:18 -0600 | 
|---|---|---|
| committer | ewolinetz <ewolinet@redhat.com> | 2017-01-26 18:32:18 -0600 | 
| commit | 8ba0486209497183846152dcb2065faa2f6c1345 (patch) | |
| tree | 4d618d631ad6a89a9e4c9e1e117debe3a2a6a37b | |
| parent | a44270f3dfd2c4707138891cfc485e0a82e7dd7c (diff) | |
Updating to reuse previous ES DC names and always generate DCs
| -rw-r--r-- | roles/openshift_logging/tasks/install_elasticsearch.yaml | 46 | 
1 files changed, 29 insertions, 17 deletions
diff --git a/roles/openshift_logging/tasks/install_elasticsearch.yaml b/roles/openshift_logging/tasks/install_elasticsearch.yaml index 9b1c004f2..09daa248d 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_es_cluster_size | int - openshift_logging_current_es_size | int) | abs}}    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_es_ops_cluster_size | int - openshift_logging_current_es_ops_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  | 
