From 57dd82b383eab1c92a31123bc48f0e293dd3d1eb Mon Sep 17 00:00:00 2001 From: Yurii Prokulevych Date: Wed, 19 Dec 2018 12:23:00 +0100 Subject: [PATCH] Address ansible-lint issues Co-Authored-By: Sergii Golovatiuk Change-Id: I9367af823058ef5f4edd5e671cdbb971f0451422 (cherry picked from commit 1d03dfbd80bded860b943a7667ada05a14303f12) (cherry picked from commit 06b3698b53b46372663281e27895532b4f7283ef) --- meta/main.yml | 212 ++---------------- tasks/common/auxilary-facts.yaml | 6 +- tasks/common/controller_post_script.yml | 4 +- tasks/common/convert_ceph_params.yaml | 10 +- tasks/common/convert_cli_opts_params.yaml | 6 +- tasks/common/convert_nic_templates.yaml | 3 +- tasks/common/create_http_test_scripts.yml | 2 +- tasks/common/load_roles_from_inventory.yaml | 6 +- .../queens_to_rocky_adjust_nic_templates.yaml | 3 +- tasks/common/undercloud_validate_upgrade.yaml | 20 +- .../create-prepare-scripts.yaml | 14 +- .../ffu_update_stack_outputs.yaml | 6 +- .../ffu_upgrade_ceph.yaml | 6 +- .../ffu_upgrade_converge.yaml | 6 +- tasks/fast-forward-upgrade/main.yml | 20 +- .../fast-forward-upgrade/overcloud_bulk.yaml | 4 +- .../fast-forward-upgrade/overcloud_role.yaml | 4 +- tasks/update/main.yml | 18 +- tasks/update/overcloud_update_converge.yml | 2 +- tasks/update/overcloud_update_prepare.yml | 4 +- tasks/upgrade/controller_node_upgrade.yml | 2 +- .../create-overcloud-upgrade-scripts.yaml | 4 +- .../create-undercloud-upgrade-scripts.yaml | 2 +- tasks/upgrade/main.yml | 24 +- tasks/upgrade/overcloud_upgrade_converge.yml | 3 +- tasks/upgrade/overcloud_upgrade_prepare.yml | 6 +- tasks/upgrade/use_oooq.yaml | 6 +- templates/check_service_galera.sh.j2 | 2 +- templates/check_service_haproxy.sh.j2 | 2 +- templates/check_service_rabbitmq.sh.j2 | 2 +- templates/check_service_reboot.sh.j2 | 2 +- templates/check_service_redis.sh.j2 | 2 +- 32 files changed, 136 insertions(+), 277 deletions(-) diff --git a/meta/main.yml b/meta/main.yml index f7735229..a32821fd 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,8 +1,10 @@ --- galaxy_info: - author: your name - description: your description - company: your company (optional) + author: + - Mathie Bultel + - Marius Cornea + description: "Manage OpenStack upgrade" + company: # If the issue tracker for your role is not on github, uncomment the # next line and provide a value @@ -15,9 +17,9 @@ galaxy_info: # - GPLv3 # - Apache # - CC-BY - license: license (GPLv2, CC-BY, etc) + license: Apache 2.0 - min_ansible_version: 1.2 + min_ansible_version: 2.4 # Optionally specify the branch Galaxy will use when accessing the GitHub # repo for this role. During role install, if no tags are available, @@ -32,192 +34,22 @@ galaxy_info: # the ones that apply to your role. If you don't see your # platform on this list, let us know and we'll get it added! # - # platforms: - # - name: OpenBSD - # versions: - # - all - # - 5.6 - # - 5.7 - # - 5.8 - # - 5.9 - # - 6.0 - # - 6.1 - # - name: Fedora - # versions: - # - all - # - 16 - # - 17 - # - 18 - # - 19 - # - 20 - # - 21 - # - 22 - # - 23 - # - 24 - # - 25 - # - name: DellOS - # versions: - # - all - # - 10 - # - 6 - # - 9 - # - name: MacOSX - # versions: - # - all - # - 10.10 - # - 10.11 - # - 10.12 - # - 10.7 - # - 10.8 - # - 10.9 - # - name: Synology - # versions: - # - all - # - any - # - name: Junos - # versions: - # - all - # - any - # - name: GenericBSD - # versions: - # - all - # - any - # - name: Void Linux - # versions: - # - all - # - any - # - name: GenericLinux - # versions: - # - all - # - any - # - name: NXOS - # versions: - # - all - # - any - # - name: IOS - # versions: - # - all - # - any - # - name: Amazon - # versions: - # - all - # - 2013.03 - # - 2013.09 - # - 2016.03 - # - 2016.09 - # - name: ArchLinux - # versions: - # - all - # - any - # - name: FreeBSD - # versions: - # - all - # - 10.0 - # - 10.1 - # - 10.2 - # - 10.3 - # - 11.0 - # - 8.0 - # - 8.1 - # - 8.2 - # - 8.3 - # - 8.4 - # - 9.0 - # - 9.1 - # - 9.1 - # - 9.2 - # - 9.3 - # - name: Ubuntu - # versions: - # - all - # - lucid - # - maverick - # - natty - # - oneiric - # - precise - # - quantal - # - raring - # - saucy - # - trusty - # - utopic - # - vivid - # - wily - # - xenial - # - yakkety - # - zesty - # - name: Debian - # versions: - # - all - # - etch - # - jessie - # - lenny - # - sid - # - squeeze - # - stretch - # - wheezy - # - name: Alpine - # versions: - # - all - # - any - # - name: EL - # versions: - # - all - # - 5 - # - 6 - # - 7 - # - name: Windows - # versions: - # - all - # - 2012R2 - # - name: SmartOS - # versions: - # - all - # - any - # - name: opensuse - # versions: - # - all - # - 12.1 - # - 12.2 - # - 12.3 - # - 13.1 - # - 13.2 - # - name: SLES - # versions: - # - all - # - 10SP3 - # - 10SP4 - # - 11 - # - 11SP1 - # - 11SP2 - # - 11SP3 - # - 11SP4 - # - 12 - # - 12SP1 - # - name: GenericUNIX - # versions: - # - all - # - any - # - name: Solaris - # versions: - # - all - # - 10 - # - 11.0 - # - 11.1 - # - 11.2 - # - 11.3 - # - name: eos - # versions: - # - all - # - Any + platforms: + - name: EL + versions: + - 7 - galaxy_tags: [] - # List tags for your role here, one per line. A tag is - # a keyword that describes and categorizes the role. - # Users find roles by searching for tags. Be sure to - # remove the '[]' above if you add tags to this list. - # - # NOTE: A tag is limited to a single word comprised of - # alphanumeric characters. Maximum 20 tags per role. + galaxy_tags: + - system + - redhat + - upgrade + # List tags for your role here, one per line. A tag is + # a keyword that describes and categorizes the role. + # Users find roles by searching for tags. Be sure to + # remove the '[]' above if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of + # alphanumeric characters. Maximum 20 tags per role. dependencies: [] # List your role dependencies here, one per line. diff --git a/tasks/common/auxilary-facts.yaml b/tasks/common/auxilary-facts.yaml index 9cbaeaed..fbadfa3a 100644 --- a/tasks/common/auxilary-facts.yaml +++ b/tasks/common/auxilary-facts.yaml @@ -62,8 +62,8 @@ vars: roles_data: "{{ roles_data_file.stdout }}" set_fact: - roles_data: "{{ (roles_data_file.stdout|length > 0) | ternary(roles_data, default_roles_data)}}" - custom_roles_used: "{{ (roles_data_file.stdout|length > 0) | ternary(true, false)}}" + roles_data: "{{ (roles_data_file.stdout) | ternary(roles_data, default_roles_data) }}" + custom_roles_used: "{{ (roles_data_file.stdout) | ternary(true, false) }}" - name: check if bm nodes are present shell: | @@ -73,4 +73,4 @@ - name: set fact splitstack_deployment set_fact: - splitstack_deployment: "{{ (bm_node_present.stdout_lines|length > 0)|ternary(false, true) }}" + splitstack_deployment: "{{ (bm_node_present.stdout_lines) | ternary(false, true) }}" diff --git a/tasks/common/controller_post_script.yml b/tasks/common/controller_post_script.yml index e424ccef..de0b2f13 100644 --- a/tasks/common/controller_post_script.yml +++ b/tasks/common/controller_post_script.yml @@ -1,13 +1,13 @@ --- - name: create a directory to store post scripts for controller nodes file: - path: "{{working_dir}}/{{ node_name | splitext | first }}_post" + path: "{{ working_dir }}/{{ node_name | splitext | first }}_post" state: directory - name: create post scripts for {{ node_name }} template: src: "check_service_{{ item }}.sh.j2" - dest: "{{working_dir}}/{{ node_name | splitext | first }}_post/{{ item }}.sh" + dest: "{{ working_dir }}/{{ node_name | splitext | first }}_post/{{ item }}.sh" mode: 0775 with_items: - 'haproxy' diff --git a/tasks/common/convert_ceph_params.yaml b/tasks/common/convert_ceph_params.yaml index 34ad39a9..c9cff2ed 100644 --- a/tasks/common/convert_ceph_params.yaml +++ b/tasks/common/convert_ceph_params.yaml @@ -6,7 +6,7 @@ - name: check if ceph osd hieradata has already been removed stat: - path: "{{ working_dir}}/pre_upgrade_ceph_osd_hieradata_env.yaml" + path: "{{ working_dir }}/pre_upgrade_ceph_osd_hieradata_env.yaml" register: ceph_osd_adjusted - block: @@ -34,7 +34,7 @@ - name: make a copy of the initial environment file copy: src: "{{ ceph_env }}" - dest: "{{ working_dir}}/pre_upgrade_ceph_osd_hieradata_env.yaml" + dest: "{{ working_dir }}/pre_upgrade_ceph_osd_hieradata_env.yaml" remote_src: true - name: register environment file @@ -49,8 +49,10 @@ ceph_osds: "{{ (ceph_osds_var.keys()|list if ceph_osds_var | type_debug == 'dict' else ceph_osds_var) | default([]) }}" - name: set ceph_osds_pg fact + vars: + ceph_yaml: "{{ (ceph_puppet.stdout | from_yaml).parameter_defaults }}" set_fact: - ceph_osds_pg: "{{ (ceph_puppet.stdout | from_yaml).parameter_defaults.ExtraConfig['ceph::profile::params::osd_pool_default_pg_num'] }}" + ceph_osds_pg: "{{ ceph_yaml.ExtraConfig['ceph::profile::params::osd_pool_default_pg_num'] }}" ignore_errors: true - name: set ceph_osds_non_collocated fact @@ -61,7 +63,7 @@ - name: generate new environment file template: src: cephosd.yaml.j2 - dest: "{{working_dir}}/ceph-ansible-env.yaml" + dest: "{{ working_dir }}/ceph-ansible-env.yaml" - name: set extra_config fact set_fact: diff --git a/tasks/common/convert_cli_opts_params.yaml b/tasks/common/convert_cli_opts_params.yaml index 9b7f18a7..860eabaf 100644 --- a/tasks/common/convert_cli_opts_params.yaml +++ b/tasks/common/convert_cli_opts_params.yaml @@ -93,7 +93,7 @@ - name: convert cli options into parameters template: src: fast-forward-upgrade/cli_opts_params.yaml.j2 - dest: "{{working_dir}}/cli_opts_params.yaml" + dest: "{{ working_dir }}/cli_opts_params.yaml" force: false when: - > @@ -105,9 +105,9 @@ ceph_flavor|succeeded or ntp_server|succeeded -- name: check "{{working_dir}}/cli_opts_params.yaml" exists +- name: check "{{ working_dir }}/cli_opts_params.yaml" exists stat: - path: "{{working_dir}}/cli_opts_params.yaml" + path: "{{ working_dir }}/cli_opts_params.yaml" register: cli_opts_param_file - name: set cli_converted_options fact diff --git a/tasks/common/convert_nic_templates.yaml b/tasks/common/convert_nic_templates.yaml index e42a127d..85ac9db9 100644 --- a/tasks/common/convert_nic_templates.yaml +++ b/tasks/common/convert_nic_templates.yaml @@ -36,7 +36,8 @@ shell: | set -o pipefail sed -i -E "s/^[ ]{0,}#.*//" {{ '/'.join(nic_config_env.split('/')[0:-1]) }}/{{ item }} - echo y | /usr/share/openstack-tripleo-heat-templates/tools/yaml-nic-config-2-script.py {{ '/'.join(nic_config_env.split('/')[0:-1]) }}/{{ item }} + echo y | /usr/share/openstack-tripleo-heat-templates/tools/yaml-nic-config-2-script.py \ + {{ '/'.join(nic_config_env.split('/')[0:-1]) }}/{{ item }} when: - "item[0] != '/'" - "tht_directory not in '/'.join(nic_config_env.split('/')[0:-1])" diff --git a/tasks/common/create_http_test_scripts.yml b/tasks/common/create_http_test_scripts.yml index 49479203..d04b565a 100644 --- a/tasks/common/create_http_test_scripts.yml +++ b/tasks/common/create_http_test_scripts.yml @@ -2,7 +2,7 @@ - name: Create FIP HTTP check scripts template: src: "{{ item }}" - dest: "{{working_dir}}/{{ item.split('.') | first }}.sh" + dest: "{{ working_dir }}/{{ item.split('.') | first }}.sh" mode: 0775 with_items: - 'fip_http_check_start.sh.j2' diff --git a/tasks/common/load_roles_from_inventory.yaml b/tasks/common/load_roles_from_inventory.yaml index 45372b46..78b629ec 100644 --- a/tasks/common/load_roles_from_inventory.yaml +++ b/tasks/common/load_roles_from_inventory.yaml @@ -3,11 +3,11 @@ shell: | source {{ undercloud_rc }} /usr/bin/tripleo-ansible-inventory --plan {{ overcloud_stack_name }} \ - {% if overcloud_ssh_user != '' %} --ansible_ssh_user {{ overcloud_ssh_user }} {% endif %} \ - --static-yaml-inventory {{working_dir}}//tripleo-ansible-inventory.yaml + {% if overcloud_ssh_user %} --ansible_ssh_user {{ overcloud_ssh_user }} {% endif %} \ + --static-yaml-inventory {{ working_dir }}//tripleo-ansible-inventory.yaml - name: load inventory file - command: cat {{working_dir}}//tripleo-ansible-inventory.yaml + command: cat {{ working_dir }}//tripleo-ansible-inventory.yaml register: upgrade_tripleo_inventory - name: store roles diff --git a/tasks/common/queens_to_rocky_adjust_nic_templates.yaml b/tasks/common/queens_to_rocky_adjust_nic_templates.yaml index 516b2731..ba9f8eac 100644 --- a/tasks/common/queens_to_rocky_adjust_nic_templates.yaml +++ b/tasks/common/queens_to_rocky_adjust_nic_templates.yaml @@ -35,7 +35,8 @@ --discard-comments yes \ --template {{ nic_path }} when: - - "(item[0] == '/' and tht_directory not in item) or (item[0] != '/' and tht_directory not in '/'.join(nic_config_env.split('/')[0:-1]))" + - "(item[0] == '/' and tht_directory not in item) or \ + (item[0] != '/' and tht_directory not in '/'.join(nic_config_env.split('/')[0:-1]))" with_items: - "{{ nic_template_files.stdout_lines }}" diff --git a/tasks/common/undercloud_validate_upgrade.yaml b/tasks/common/undercloud_validate_upgrade.yaml index 78b92e5c..43ae7d2c 100644 --- a/tasks/common/undercloud_validate_upgrade.yaml +++ b/tasks/common/undercloud_validate_upgrade.yaml @@ -20,15 +20,8 @@ become_user: root register: loaded_ovs -- when: - - not tripleo_ci - - > - undercloud_reboot or - (installed_kernel.stdout != loaded_kernel.stdout) or - (installed_ovs.stdout != loaded_ovs.stdout) - tags: undercloud_reboot +- name: handle undercloud reboot block: - - name: reboot the undercloud shell: "sleep 2 && shutdown -r now" async: 1 @@ -76,10 +69,17 @@ - name: assert UC services started shell: | - source {{ undercloud_rc }} ; - timeout 10 openstack stack list -f json | jq -c -r '.[]|.["Stack Name"]' + source {{ undercloud_rc }} ; + timeout 10 openstack stack list -f json | jq -c -r '.[]|.["Stack Name"]' ignore_errors: true register: oc_name until: oc_name.stdout.find('{{ overcloud_stack_name }}') != -1 retries: "{{ service_readiness_count|default(100)|int }}" delay: 3 + when: + - not tripleo_ci + - > + undercloud_reboot or + (installed_kernel.stdout != loaded_kernel.stdout) or + (installed_ovs.stdout != loaded_ovs.stdout) + tags: undercloud_reboot diff --git a/tasks/fast-forward-upgrade/create-prepare-scripts.yaml b/tasks/fast-forward-upgrade/create-prepare-scripts.yaml index 0681eac7..cbeb2cf6 100644 --- a/tasks/fast-forward-upgrade/create-prepare-scripts.yaml +++ b/tasks/fast-forward-upgrade/create-prepare-scripts.yaml @@ -13,12 +13,12 @@ - name: Adjust ffu scenario file. replace: dest: "{{ overcloud_deploy_script }}" - regexp: "{{composable_scenario}}" - replace: "{{upgrade_composable_scenario}}" + regexp: "{{ composable_scenario }}" + replace: "{{ upgrade_composable_scenario }}" when: - tripleo_ci|bool - - upgrade_composable_scenario != "" - - composable_scenario != "" + - upgrade_composable_scenario|default("") + - composable_scenario|default("") - name: Convert CLI options to parameters include: ../common/convert_cli_opts_params.yaml @@ -35,7 +35,7 @@ - name: create ffu upgrade workaround scripts template: src: fast-forward-upgrade/workarounds.sh.j2 - dest: "{{working_dir}}/{{ item }}.sh" + dest: "{{ working_dir }}/{{ item }}.sh" mode: 0775 with_items: - 'post_ffu_undercloud_upgrade_workarounds' @@ -49,13 +49,13 @@ - name: Create FFU custom repos environment template: src: fast-forward-upgrade/ffu_repos.yaml.j2 - dest: "{{working_dir}}/ffu_repos.yaml" + dest: "{{ working_dir }}/ffu_repos.yaml" when: "'tripleo-repos' not in ffu_overcloud_repo_type" - name: create overcloud ffwd run script template: src: "fast-forward-upgrade/overcloud_upgrade_run.sh.j2" - dest: "{{working_dir}}/overcloud_upgrade_run.sh" + dest: "{{ working_dir }}/overcloud_upgrade_run.sh" mode: 0775 force: false diff --git a/tasks/fast-forward-upgrade/ffu_update_stack_outputs.yaml b/tasks/fast-forward-upgrade/ffu_update_stack_outputs.yaml index a0aedf9f..691f388a 100644 --- a/tasks/fast-forward-upgrade/ffu_update_stack_outputs.yaml +++ b/tasks/fast-forward-upgrade/ffu_update_stack_outputs.yaml @@ -9,13 +9,15 @@ - name: print stack failures shell: | source {{ undercloud_rc }} - openstack stack failures list --long {{ overcloud_stack_name }} | tee {{ working_dir}}/ffu_update_stack_outputs_failed.log + openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ + tee {{ working_dir }}/ffu_update_stack_outputs_failed.log when: ffu_stack_output|failed - name: print resource list shell: | source {{ undercloud_rc }} - openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} | tee {{ working_dir}}/ffu_update_stack_outputs_failed_resources.log + openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ + tee {{ working_dir }}/ffu_update_stack_outputs_failed_resources.log when: ffu_stack_output|failed - name: was the ffu update stack outputs successful. diff --git a/tasks/fast-forward-upgrade/ffu_upgrade_ceph.yaml b/tasks/fast-forward-upgrade/ffu_upgrade_ceph.yaml index f3af62a4..c2ebf51b 100644 --- a/tasks/fast-forward-upgrade/ffu_upgrade_ceph.yaml +++ b/tasks/fast-forward-upgrade/ffu_upgrade_ceph.yaml @@ -10,12 +10,14 @@ - name: print stack failures shell: | source {{ undercloud_rc }} - openstack stack failures list --long {{ overcloud_stack_name }} | tee {{ working_dir}}/ffu_upgrade_ceph_failed.log + openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ + tee {{ working_dir }}/ffu_upgrade_ceph_failed.log - name: print resource list shell: | source {{ undercloud_rc }} - openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} | tee {{ working_dir}}/ffu_upgrade_ceph_failed_resources.log + openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} \ + 2>&1 {{ timestamper_cmd }} | tee {{ working_dir }}/ffu_upgrade_ceph_failed_resources.log - name: was the ffu update ceph successful. fail: msg="FFU upgrade ceph step failed... :(" diff --git a/tasks/fast-forward-upgrade/ffu_upgrade_converge.yaml b/tasks/fast-forward-upgrade/ffu_upgrade_converge.yaml index ded12f01..f6aee2ae 100644 --- a/tasks/fast-forward-upgrade/ffu_upgrade_converge.yaml +++ b/tasks/fast-forward-upgrade/ffu_upgrade_converge.yaml @@ -9,13 +9,15 @@ - name: print stack failures shell: | source {{ undercloud_rc }} - openstack stack failures list --long {{ overcloud_stack_name }} | tee {{ working_dir}}/ffu_upgrade_converge_failed.log + openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ + tee {{ working_dir }}/ffu_upgrade_converge_failed.log when: ffu_converge|failed - name: print resource list shell: | source {{ undercloud_rc }} - openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} | tee {{ working_dir}}/ffu_upgrade_converge_failed_resources.log + openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} \ + 2>&1 {{ timestamper_cmd }} | tee {{ working_dir }}/ffu_upgrade_converge_failed_resources.log when: ffu_converge|failed - name: was the ffu converge successful. diff --git a/tasks/fast-forward-upgrade/main.yml b/tasks/fast-forward-upgrade/main.yml index 6def7790..d17894e2 100644 --- a/tasks/fast-forward-upgrade/main.yml +++ b/tasks/fast-forward-upgrade/main.yml @@ -19,13 +19,15 @@ with_items: "{{ ffu_undercloud_releases }}" - name: apply post ffu undercloud upgrade workarounds - command: "{{working_dir}}/post_ffu_undercloud_upgrade_workarounds.sh" + command: "{{ working_dir }}/post_ffu_undercloud_upgrade_workarounds.sh" when: ffu_upgrade_workarounds|bool when: ffu_undercloud_upgrade|bool - block: - name: Ensure ansible-pacemaker module is present in CI. - yum: name=ansible-pacemaker state=latest + yum: + name: ansible-pacemaker + state: latest when: tripleo_ci|default(false)|bool tags: ffu_upgrade_playbook become: true @@ -37,7 +39,7 @@ tags: ffu_overcloud_prepare - name: apply pre ffu overcloud prepare workarounds - command: "{{working_dir}}/pre_ffu_overcloud_prepare_workarounds.sh" + command: "{{ working_dir }}/pre_ffu_overcloud_prepare_workarounds.sh" when: ffu_upgrade_workarounds|bool tags: ffu_overcloud_prepare @@ -46,12 +48,12 @@ - name: set upgrade_prepare_extra_params for ffu prepare with custom repos set_fact: - upgrade_prepare_extra_params: ["{{working_dir}}/ffu_repos.yaml"] + upgrade_prepare_extra_params: ["{{ working_dir }}/ffu_repos.yaml"] when: "'tripleo-repos' not in ffu_overcloud_repo_type" - name: set upgrade_prepare_extra_params for ffu prepare with deployed server set_fact: - upgrade_prepare_extra_params: '{{ upgrade_prepare_extra_params + ["{{tht_directory}}/environments/updates/update-from-deployed-server-newton.yaml"] }}' + upgrade_prepare_extra_params: '{{ upgrade_prepare_extra_params + ["{{ tht_directory }}/environments/updates/update-from-deployed-server-newton.yaml"] }}' when: deployed_server|default(false)|bool - include: ../upgrade/overcloud_upgrade_prepare.yml @@ -64,7 +66,7 @@ tags: ffu_overcloud_prepare - name: apply pre fast forward overcloud upgrade run workarounds - command: "{{working_dir}}/pre_ffu_overcloud_run_workarounds.sh" + command: "{{ working_dir }}/pre_ffu_overcloud_run_workarounds.sh" when: ffu_upgrade_workarounds|bool tags: ffu_overcloud_run @@ -72,7 +74,7 @@ tags: ffu_overcloud_run - name: run overcloud fast forward upgrade - command: "{{working_dir}}/overcloud_upgrade_run.sh" + command: "{{ working_dir }}/overcloud_upgrade_run.sh" tags: ffu_overcloud_run - include: ../common/l3_agent_connectivity_check_stop_script.yml @@ -92,7 +94,7 @@ - when: ceph_osd_enabled|bool block: - name: apply pre ffu ceph upgrade workarounds - command: "{{working_dir}}/pre_ffu_overcloud_ceph_workarounds.sh" + command: "{{ working_dir }}/pre_ffu_overcloud_ceph_workarounds.sh" when: ffu_upgrade_workarounds|bool tags: ffu_overcloud_ceph @@ -113,7 +115,7 @@ tags: ffu_overcloud_ceph - name: apply pre ffu overcloud converge workarounds - command: "{{working_dir}}/pre_ffu_overcloud_converge_workarounds.sh" + command: "{{ working_dir }}/pre_ffu_overcloud_converge_workarounds.sh" when: ffu_upgrade_workarounds|bool tags: ffu_overcloud_converge diff --git a/tasks/fast-forward-upgrade/overcloud_bulk.yaml b/tasks/fast-forward-upgrade/overcloud_bulk.yaml index 39b9a052..b30d069a 100644 --- a/tasks/fast-forward-upgrade/overcloud_bulk.yaml +++ b/tasks/fast-forward-upgrade/overcloud_bulk.yaml @@ -9,7 +9,7 @@ - "all" - name: apply pre overcloud upgrade run workarounds - command: "{{working_dir}}/pre_ffu_overcloud_upgrade_workarounds.sh" + command: "{{ working_dir }}/pre_ffu_overcloud_upgrade_workarounds.sh" when: ffu_upgrade_workarounds|bool tags: ffu_overcloud_upgrade @@ -17,7 +17,7 @@ tags: ffu_overcloud_upgrade - name: run all roles upgrade steps - command: "{{working_dir}}//overcloud_upgrade_all.sh" + command: "{{ working_dir }}//overcloud_upgrade_all.sh" tags: ffu_overcloud_upgrade - include: "{{ item }}" diff --git a/tasks/fast-forward-upgrade/overcloud_role.yaml b/tasks/fast-forward-upgrade/overcloud_role.yaml index 13d8e05a..5e2f4621 100644 --- a/tasks/fast-forward-upgrade/overcloud_role.yaml +++ b/tasks/fast-forward-upgrade/overcloud_role.yaml @@ -14,7 +14,7 @@ tags: ffu_overcloud_upgrade_controller - name: pre controller role upgrade steps workarounds - command: "{{working_dir}}/pre_ffu_overcloud_upgrade_workarounds.sh" + command: "{{ working_dir }}/pre_ffu_overcloud_upgrade_workarounds.sh" when: ffu_upgrade_workarounds|bool tags: ffu_overcloud_upgrade_controller @@ -47,7 +47,7 @@ - block: - name: register compute nodes from tripleo ansible inventory shell: | - awk -F':' '/^[^ \n]*compute-/ {print $1}' {{working_dir}}/tripleo-ansible-inventory.yaml + awk -F':' '/^[^ \n]*compute-/ {print $1}' {{ working_dir }}/tripleo-ansible-inventory.yaml register: tripleo_compute_nodes tags: ffu_overcloud_upgrade_compute diff --git a/tasks/update/main.yml b/tasks/update/main.yml index 3cf310ec..6ccf9505 100644 --- a/tasks/update/main.yml +++ b/tasks/update/main.yml @@ -61,8 +61,18 @@ {{ working_dir }}/post_overcloud_update_prepare_workarounds.log when: updates_workarounds|bool + - name: prepare containers for overcloud update + args: + chdir: "{{ working_dir }}" + shell: | + set -o pipefail + bash {{ working_dir }}/overcloud_prepare_containers.sh {{ timestamper_cmd }} > overcloud_update_prepare_containers.log + tags: overcloud_update_prepare_containers + - name: Ensure ansible-pacemaker module is present in CI. - yum: name=ansible-pacemaker state=latest + yum: + name: ansible-pacemaker + state: latest when: tripleo_ci|default(false)|bool tags: overcloud_update become: true @@ -92,7 +102,7 @@ when: ceph_osd_enabled|bool - name: apply pre overcloud update converge workarounds - command: "{{working_dir}}/pre_overcloud_update_converge_workarounds.sh" + command: "{{ working_dir }}/pre_overcloud_update_converge_workarounds.sh" when: updates_workarounds tags: overcloud_update_converge @@ -100,7 +110,7 @@ tags: overcloud_update_converge - name: apply post overcloud update converge workarounds - command: "{{working_dir}}/post_overcloud_update_converge_workarounds.sh" + command: "{{ working_dir }}/post_overcloud_update_converge_workarounds.sh" when: updates_workarounds tags: overcloud_update_converge @@ -109,7 +119,7 @@ set -o pipefail source {{ undercloud_rc }} bash {{ overcloud_validate_images_script }} 2>&1 {{ timestamper_cmd }} > \ - {{ working_dir}}/validate_oc_images_containers.log + {{ working_dir }}/validate_oc_images_containers.log tags: - overcloud_update - overcloud_images_validate diff --git a/tasks/update/overcloud_update_converge.yml b/tasks/update/overcloud_update_converge.yml index 799e122a..4d4666c3 100644 --- a/tasks/update/overcloud_update_converge.yml +++ b/tasks/update/overcloud_update_converge.yml @@ -15,7 +15,7 @@ set -o pipefail source {{ undercloud_rc }} openstack stack failures list --long {{ overcloud_stack_name }} {{ timestamper_cmd }} | \ - tee {{ working_dir}}/overcloud_composable_failed_update_converge.log + tee {{ working_dir }}/overcloud_composable_failed_update_converge.log - name: was the overcloud update converge successful. fail: msg="Overcloud update converge step failed... :(" diff --git a/tasks/update/overcloud_update_prepare.yml b/tasks/update/overcloud_update_prepare.yml index cfda1c32..e8bdba83 100644 --- a/tasks/update/overcloud_update_prepare.yml +++ b/tasks/update/overcloud_update_prepare.yml @@ -13,13 +13,13 @@ shell: | source {{ undercloud_rc }} openstack stack failures list --long {{ overcloud_stack_name }} {{ timestamper_cmd }} | \ - tee {{ working_dir}}/overcloud_failed_update_prepare.log + tee {{ working_dir }}/overcloud_failed_update_prepare.log - name: print resource list shell: | source {{ undercloud_rc }} openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} {{ timestamper_cmd }} | \ - tee {{ working_dir}}/overcloud_failed_prepare_resources.log + tee {{ working_dir }}/overcloud_failed_prepare_resources.log - name: was the overcloud update prepare successful. fail: msg="Overcloud minor update preparation step failed..." diff --git a/tasks/upgrade/controller_node_upgrade.yml b/tasks/upgrade/controller_node_upgrade.yml index 6c9fca77..683c6809 100644 --- a/tasks/upgrade/controller_node_upgrade.yml +++ b/tasks/upgrade/controller_node_upgrade.yml @@ -1,6 +1,6 @@ --- - name: Running post upgrade scripts for {{ node_name | splitext | first }} - shell: "{{working_dir}}/{{ node_name | splitext | first }}_post/{{ item }}.sh" + shell: "set -o pipefail && {{ working_dir }}/{{ node_name | splitext | first }}_post/{{ item }}.sh" with_items: - 'haproxy' - 'haproxy_backend' diff --git a/tasks/upgrade/create-overcloud-upgrade-scripts.yaml b/tasks/upgrade/create-overcloud-upgrade-scripts.yaml index dd5cbecf..51065a37 100644 --- a/tasks/upgrade/create-overcloud-upgrade-scripts.yaml +++ b/tasks/upgrade/create-overcloud-upgrade-scripts.yaml @@ -32,7 +32,7 @@ - name: create upgrade workaround scripts template: src: workarounds.sh.j2 - dest: "{{working_dir}}/{{ item }}.sh" + dest: "{{ working_dir }}/{{ item }}.sh" mode: 0775 with_items: - 'pre_overcloud_upgrade_prepare_workarounds' @@ -49,7 +49,7 @@ - name: create the custom upgrade init commands template: src: "{{ upgrade_init_command_template }}" - dest: "{{upgrade_init_command_dest}}" + dest: "{{ upgrade_init_command_dest }}" mode: 0775 when: upgrade_init_command is string diff --git a/tasks/upgrade/create-undercloud-upgrade-scripts.yaml b/tasks/upgrade/create-undercloud-upgrade-scripts.yaml index 990fc660..5313c758 100644 --- a/tasks/upgrade/create-undercloud-upgrade-scripts.yaml +++ b/tasks/upgrade/create-undercloud-upgrade-scripts.yaml @@ -9,7 +9,7 @@ - name: create upgrade workaround scripts template: src: workarounds.sh.j2 - dest: "{{working_dir}}/{{ item }}.sh" + dest: "{{ working_dir }}/{{ item }}.sh" mode: 0775 with_items: - 'pre_undercloud_upgrade_workarounds' diff --git a/tasks/upgrade/main.yml b/tasks/upgrade/main.yml index 021f74aa..a0c683b1 100644 --- a/tasks/upgrade/main.yml +++ b/tasks/upgrade/main.yml @@ -10,7 +10,7 @@ set -o pipefail bash {{ working_dir }}/pre_undercloud_upgrade_workarounds.sh 2>&1 {{ timestamper_cmd }} > pre_undercloud_upgrade_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds - name: upgrade undercloud @@ -18,7 +18,7 @@ set -o pipefail bash {{ undercloud_upgrade_script }} 2>&1 {{ timestamper_cmd }} > undercloud_upgrade.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" tags: undercloud_upgrade - name: validate undercloud upgrade @@ -30,7 +30,7 @@ set -o pipefail bash {{ working_dir }}/post_undercloud_upgrade_workarounds.sh 2>&1 {{ timestamper_cmd }} > post_undercloud_upgrade_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds when: undercloud_upgrade|bool @@ -45,7 +45,7 @@ set -o pipefail bash {{ working_dir }}/pre_overcloud_upgrade_prepare_workarounds.sh 2>&1 {{ timestamper_cmd }} > pre_overcloud_upgrade_prepare_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds tags: overcloud_upgrade_prepare @@ -57,12 +57,14 @@ set -o pipefail bash {{ working_dir }}/post_overcloud_upgrade_prepare_workarounds.sh 2>&1 {{ timestamper_cmd }} > post_overcloud_upgrade_prepare_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds tags: overcloud_upgrade_prepare - name: Ensure ansible-pacemaker module is present in CI. - yum: name=ansible-pacemaker state=latest + yum: + name: ansible-pacemaker + state: latest when: tripleo_ci|default(false)|bool tags: overcloud_upgrade_run become: true @@ -72,7 +74,7 @@ set -o pipefail bash {{ working_dir }}/pre_overcloud_upgrade_workarounds.sh 2>&1 {{ timestamper_cmd }} > pre_overcloud_upgrade_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds tags: overcloud_upgrade_run @@ -81,7 +83,7 @@ set -o pipefail bash {{ workload_launch_script }} 2>&1 {{ timestamper_cmd }} > workload_launch.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: workload_launch|bool - include: overcloud_upgrade_run.yml @@ -92,7 +94,7 @@ set -o pipefail bash {{ working_dir }}/post_overcloud_upgrade_workarounds.sh 2>&1 {{ timestamper_cmd }} > post_overcloud_upgrade_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds tags: overcloud_upgrade_run @@ -105,7 +107,7 @@ set -o pipefail bash {{ working_dir }}/pre_overcloud_converge_workarounds.sh 2>&1 {{ timestamper_cmd }} > pre_overcloud_converge_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds tags: overcloud_upgrade_converge @@ -117,7 +119,7 @@ set -o pipefail bash {{ working_dir }}/post_overcloud_converge_workarounds.sh 2>&1 {{ timestamper_cmd }} > post_overcloud_converge_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds tags: overcloud_upgrade_converge diff --git a/tasks/upgrade/overcloud_upgrade_converge.yml b/tasks/upgrade/overcloud_upgrade_converge.yml index a9759eca..d0921aa6 100644 --- a/tasks/upgrade/overcloud_upgrade_converge.yml +++ b/tasks/upgrade/overcloud_upgrade_converge.yml @@ -8,7 +8,8 @@ - name: print stack failures shell: | source {{ undercloud_rc }} - openstack stack failures list --long {{ overcloud_stack_name }} | tee {{ working_dir}}/overcloud_composable_failed_upgrade_converge.log + openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ + tee {{ working_dir }}/overcloud_composable_failed_upgrade_converge.log - name: was the overcloud upgrade converge successful. fail: msg="Overcloud upgrade converge step failed... :(" diff --git a/tasks/upgrade/overcloud_upgrade_prepare.yml b/tasks/upgrade/overcloud_upgrade_prepare.yml index d9586a43..63ffac46 100644 --- a/tasks/upgrade/overcloud_upgrade_prepare.yml +++ b/tasks/upgrade/overcloud_upgrade_prepare.yml @@ -27,12 +27,14 @@ - name: print stack failures shell: | source {{ undercloud_rc }} - openstack stack failures list --long {{ overcloud_stack_name }} | tee {{ working_dir}}/overcloud_failed_upgrade_prepare.log + openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ + tee {{ working_dir }}/overcloud_failed_upgrade_prepare.log - name: print resource list shell: | source {{ undercloud_rc }} - openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} | tee {{ working_dir}}/overcloud_failed_prepare_resources.log + openstack stack resource list --filter status=FAILED --nested-depth 5 {{ overcloud_stack_name }} \ + 2>&1 {{ timestamper_cmd }} | tee {{ working_dir }}/overcloud_failed_prepare_resources.log - name: was the overcloud upgrade preparation successful. fail: msg="Overcloud upgrade preparation step failed... :(" diff --git a/tasks/upgrade/use_oooq.yaml b/tasks/upgrade/use_oooq.yaml index 537af9d2..97ca452f 100644 --- a/tasks/upgrade/use_oooq.yaml +++ b/tasks/upgrade/use_oooq.yaml @@ -1,13 +1,13 @@ --- - name: get the compute ip. - shell: ". {{working_dir}}/stackrc && nova list | awk '$1 !~ /^\\+/ && NR>3 && $0 ~ /compute/ {print $4}'" + shell: ". {{ working_dir }}/stackrc && nova list | awk '$1 !~ /^\\+/ && NR>3 && $0 ~ /compute/ {print $4}'" register: compute - name: create the compute group add_host: - name: "{{item}}" + name: "{{ item }}" group: compute - ansible_fqdn: "{{item}}" + ansible_fqdn: "{{ item }}" with_items: - "{{ compute.stdout_lines|default([]) }}" diff --git a/templates/check_service_galera.sh.j2 b/templates/check_service_galera.sh.j2 index c32fe0a4..8f3e042b 100644 --- a/templates/check_service_galera.sh.j2 +++ b/templates/check_service_galera.sh.j2 @@ -1,5 +1,5 @@ source {{ undercloud_rc }} -OC_USER="{{ (overcloud_ssh_user == '') | ternary('heat-admin', overcloud_ssh_user) }}" +OC_USER="{{ (overcloud_ssh_user) | ternary(overcloud_ssh_user, 'heat-admin') }}" NODE_IP=$(openstack server show {{ node_name | splitext | first }} -f json | jq -r .addresses | grep -oP '[0-9.]+') ## wait for galera resource to come back up diff --git a/templates/check_service_haproxy.sh.j2 b/templates/check_service_haproxy.sh.j2 index 503b1410..4e0ec6a0 100644 --- a/templates/check_service_haproxy.sh.j2 +++ b/templates/check_service_haproxy.sh.j2 @@ -1,5 +1,5 @@ source {{ undercloud_rc }} -OC_USER="{{ (overcloud_ssh_user == '') | ternary('heat-admin', overcloud_ssh_user) }}" +OC_USER="{{ (overcloud_ssh_user) | ternary(overcloud_ssh_user, 'heat-admin') }}" NODE_IP=$(openstack server show {{ node_name | splitext | first }} -f json | jq -r .addresses | grep -oP '[0-9.]+') ## in case of external loadbalancer haproxy resource is not running on controller nodes diff --git a/templates/check_service_rabbitmq.sh.j2 b/templates/check_service_rabbitmq.sh.j2 index ebafdcae..b0f46f4c 100644 --- a/templates/check_service_rabbitmq.sh.j2 +++ b/templates/check_service_rabbitmq.sh.j2 @@ -1,5 +1,5 @@ source {{ undercloud_rc }} -OC_USER="{{ (overcloud_ssh_user == '') | ternary('heat-admin', overcloud_ssh_user) }}" +OC_USER="{{ (overcloud_ssh_user) | ternary(overcloud_ssh_user, 'heat-admin') }}" NODE_IP=$(openstack server show {{ node_name | splitext | first }} -f json | jq -r .addresses | grep -oP '[0-9.]+') ## wait for rabbitmq resource to come back up diff --git a/templates/check_service_reboot.sh.j2 b/templates/check_service_reboot.sh.j2 index 619ce3cc..058bf4d7 100644 --- a/templates/check_service_reboot.sh.j2 +++ b/templates/check_service_reboot.sh.j2 @@ -1,5 +1,5 @@ source {{ undercloud_rc }} -OC_USER="{{ (overcloud_ssh_user == '') | ternary('heat-admin', overcloud_ssh_user) }}" +OC_USER="{{ (overcloud_ssh_user) | ternary(overcloud_ssh_user, 'heat-admin') }}" NODE_IP=$(openstack server show {{ node_name | splitext | first }} -f json | jq -r .addresses | grep -oP '[0-9.]+') {% if controller_reboot %} diff --git a/templates/check_service_redis.sh.j2 b/templates/check_service_redis.sh.j2 index fea8bcee..827c16bb 100644 --- a/templates/check_service_redis.sh.j2 +++ b/templates/check_service_redis.sh.j2 @@ -1,5 +1,5 @@ source {{ undercloud_rc }} -OC_USER="{{ (overcloud_ssh_user == '') | ternary('heat-admin', overcloud_ssh_user) }}" +OC_USER="{{ (overcloud_ssh_user) | ternary(overcloud_ssh_user, 'heat-admin') }}" NODE_IP=$(openstack server show {{ node_name | splitext | first }} -f json | jq -r .addresses | grep -oP '[0-9.]+') ## wait for redis resource to come back up