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 9bb3fd62..31dbd788 100644 --- a/tasks/common/auxilary-facts.yaml +++ b/tasks/common/auxilary-facts.yaml @@ -34,8 +34,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: assert CephOSD is enabled shell: | @@ -45,7 +45,7 @@ - name: set ceph_osd_enabled fact set_fact: - ceph_osd_enabled: "{{ (ceph_osd_service.stdout|length > 0) | ternary(true, false) }}" + ceph_osd_enabled: "{{ (ceph_osd_service.stdout) | ternary(true, false) }}" - name: check if bm nodes are present shell: | @@ -55,4 +55,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 7b3db1df..6df57ecf 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 @@ -42,12 +42,16 @@ register: ceph_puppet - name: set ceph_osds fact + vars: + ceph_yaml: "{{ (ceph_puppet.stdout | from_yaml).parameter_defaults }}" set_fact: - ceph_osds: "{{ (ceph_puppet.stdout | from_yaml).parameter_defaults.ExtraConfig['ceph::profile::params::osds'] | default([]) }}" + ceph_osds: "{{ ceph_yaml.ExtraConfig['ceph::profile::params::osds'] | 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 @@ -58,7 +62,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 2c657e02..ec9f7d9d 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/convert_roles_data.yaml b/tasks/fast-forward-upgrade/convert_roles_data.yaml index 5e6ea517..59228762 100644 --- a/tasks/fast-forward-upgrade/convert_roles_data.yaml +++ b/tasks/fast-forward-upgrade/convert_roles_data.yaml @@ -39,6 +39,10 @@ - '\1\n uses_deprecated_params: True' - name: Assigns network attributes to Controller role or custom controller roles + vars: + ctr_desc: >- + description: |\n Controller role that has all the controler services loaded and handles + Database, Messaging and Network functions. replace: dest: '{{ custom_roles_file.stdout }}' regexp: '^(- name: Controller.*)' @@ -46,7 +50,7 @@ with_items: - '\1\n networks:\n - External\n - InternalApi\n - Storage\n - StorageMgmt\n - Tenant' - '\1\n tags:\n - primary\n - controller' - - '\1\n description: |\n Controller role that has all the controler services loaded and handles\n Database, Messaging and Network functions.' + - '\1\n {{ ctr_desc }}' - name: Assigns deprecated params to Compute role replace: diff --git a/tasks/fast-forward-upgrade/create-prepare-scripts.yaml b/tasks/fast-forward-upgrade/create-prepare-scripts.yaml index 040747f6..ac641d5e 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 69e787eb..644f5e50 100644 --- a/tasks/fast-forward-upgrade/ffu_update_stack_outputs.yaml +++ b/tasks/fast-forward-upgrade/ffu_update_stack_outputs.yaml @@ -12,7 +12,7 @@ set -o pipefail source {{ undercloud_rc }} openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ - tee {{ working_dir}}/ffu_update_stack_outputs_failed.log + tee {{ working_dir }}/ffu_update_stack_outputs_failed.log when: ffu_stack_output|failed - name: print resource list @@ -20,7 +20,7 @@ set -o pipefail source {{ undercloud_rc }} 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 + 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 94639d06..85357ac5 100644 --- a/tasks/fast-forward-upgrade/ffu_upgrade_ceph.yaml +++ b/tasks/fast-forward-upgrade/ffu_upgrade_ceph.yaml @@ -13,14 +13,14 @@ set -o pipefail source {{ undercloud_rc }} openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ - tee {{ working_dir}}/ffu_upgrade_ceph_failed.log + tee {{ working_dir }}/ffu_upgrade_ceph_failed.log - name: print resource list shell: | set -o pipefail source {{ undercloud_rc }} 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 + 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 c7ade7bf..b2c91a97 100644 --- a/tasks/fast-forward-upgrade/ffu_upgrade_converge.yaml +++ b/tasks/fast-forward-upgrade/ffu_upgrade_converge.yaml @@ -12,7 +12,7 @@ set -o pipefail source {{ undercloud_rc }} openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ - tee {{ working_dir}}/ffu_upgrade_converge_failed.log + tee {{ working_dir }}/ffu_upgrade_converge_failed.log when: ffu_converge|failed - name: print resource list @@ -20,7 +20,7 @@ set -o pipefail source {{ undercloud_rc }} 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 + 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 4dd5b8d0..2e6430f5 100644 --- a/tasks/update/main.yml +++ b/tasks/update/main.yml @@ -63,14 +63,16 @@ - name: prepare containers for overcloud update args: - chdir: "{{working_dir}}" + 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 @@ -101,13 +103,13 @@ - name: run online data migration args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" shell: | set -o pipefail bash {{ working_dir }}/overcloud_online_data_migration.sh 2>&1 {{ timestamper_cmd }} > overcloud_update_data_migration.log - 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 @@ -115,7 +117,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 @@ -124,7 +126,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 be62e942..6efec39d 100644 --- a/tasks/update/overcloud_update_prepare.yml +++ b/tasks/update/overcloud_update_prepare.yml @@ -14,14 +14,14 @@ set -o pipefail 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: | set -o pipefail 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 3a5513cc..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: "set -o pipefail && {{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 d439223e..32893e51 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' @@ -50,7 +50,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 35d76b0a..fa90e306 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: configure container specific parameters @@ -21,7 +21,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 @@ -33,7 +33,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 @@ -48,7 +48,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 @@ -60,20 +60,22 @@ 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: prepare containers for overcloud upgrade args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" shell: | set -o pipefail bash {{ working_dir }}/overcloud_prepare_containers.sh {{ timestamper_cmd }} > overcloud_upgrade_prepare_containers.log tags: overcloud_upgrade_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_upgrade_run become: true @@ -83,7 +85,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 @@ -92,7 +94,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 @@ -103,7 +105,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 @@ -112,7 +114,7 @@ set -o pipefail bash {{ working_dir }}/pre_ceph_upgrade_workarounds.sh 2>&1 {{ timestamper_cmd }} > pre_ceph_upgrade_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds - name: upgrade Ceph @@ -124,7 +126,7 @@ set -o pipefail bash {{ working_dir }}/pre_overcloud_upgrade_converge_workarounds.sh 2>&1 {{ timestamper_cmd }} > pre_overcloud_upgrade_converge_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds tags: overcloud_upgrade_converge @@ -133,12 +135,12 @@ set -o pipefail bash {{ working_dir }}/post_ceph_upgrade_workarounds.sh 2>&1 {{ timestamper_cmd }} > post_ceph_upgrade_workarounds.log args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" when: upgrade_workarounds - name: run online data migration args: - chdir: "{{working_dir}}" + chdir: "{{ working_dir }}" shell: | set -o pipefail bash {{ working_dir }}/overcloud_online_data_migration.sh 2>&1 {{ timestamper_cmd }} > overcloud_upgrade_data_migration.log @@ -151,7 +153,7 @@ set -o pipefail bash {{ working_dir }}/post_overcloud_upgrade_converge_workarounds.sh 2>&1 {{ timestamper_cmd }} > post_overcloud_upgrade_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 5dfa36e9..6c8d3e67 100644 --- a/tasks/upgrade/overcloud_upgrade_converge.yml +++ b/tasks/upgrade/overcloud_upgrade_converge.yml @@ -13,7 +13,7 @@ set -o pipefail source {{ undercloud_rc }} openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ - tee {{ working_dir}}/overcloud_composable_failed_upgrade_converge.log + 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 606037b9..ffe1caa3 100644 --- a/tasks/upgrade/overcloud_upgrade_prepare.yml +++ b/tasks/upgrade/overcloud_upgrade_prepare.yml @@ -34,14 +34,14 @@ set -o pipefail source {{ undercloud_rc }} openstack stack failures list --long {{ overcloud_stack_name }} 2>&1 {{ timestamper_cmd }} | \ - tee {{ working_dir}}/overcloud_failed_upgrade_prepare.log + tee {{ working_dir }}/overcloud_failed_upgrade_prepare.log - name: print resource list shell: | set -o pipefail source {{ undercloud_rc }} 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 + 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/undercloud_ssl_camap.yaml b/tasks/upgrade/undercloud_ssl_camap.yaml index b193c708..d54f171b 100644 --- a/tasks/upgrade/undercloud_ssl_camap.yaml +++ b/tasks/upgrade/undercloud_ssl_camap.yaml @@ -8,12 +8,14 @@ - name: register first controller ip address shell: | source {{ undercloud_rc }} - openstack server list -f json | jq -r -c '.[] | select(.Name | contains("controller","ctrl")) | .Networks' | grep -oP '[0-9.]+' | head -1 + openstack server list -f json | \ + jq -r -c '.[] | select(.Name | contains("controller","ctrl")) | .Networks' | \ + grep -oP '[0-9.]+' | head -1 register: ctrl_ip - name: test undercloud keystone reachability vars: - oc_user: "{{ (overcloud_ssh_user == '') | ternary('heat-admin', overcloud_ssh_user) }}" + oc_user: "{{ (overcloud_ssh_user) | ternary(overcloud_ssh_user, 'heat-admin') }}" shell: | ssh -q -o StrictHostKeyChecking=no {{ oc_user }}@{{ ctrl_ip.stdout }} curl --silent {{ keystone_endpoint.stdout }} register: uc_keystone_conn @@ -36,20 +38,20 @@ - name: get generate_service_certificate option from undercloud.conf shell: | - awk -F '=' '/^[[:space:]]*generate_service_certificate/ {gsub(/[[:space:]]/, "", $2) ; print tolower($2)}' {{ undercloud_conf}} + awk -F '=' '/^[[:space:]]*generate_service_certificate/ {gsub(/[[:space:]]/, "", $2) ; print tolower($2)}' {{ undercloud_conf }} register: uc_generate_service_certificate changed_when: uc_generate_service_certificate.stdout|length > 0 - name: get undercloud_public_host option from undercloud.conf shell: | - awk -F '=' '/^[[:space:]]*undercloud_public_host/ {gsub(/[[:space:]]/, "", $2) ; print $2}' {{ undercloud_conf}} + awk -F '=' '/^[[:space:]]*undercloud_public_host/ {gsub(/[[:space:]]/, "", $2) ; print $2}' {{ undercloud_conf }} register: uc_undercloud_public_host changed_when: uc_undercloud_public_host.stdout|length > 0 - name: get undercloud_public_vip option from undercloud.conf # undercloud_public_vip is deprecated name of undercloud_public_host shell: | - awk -F '=' '/^[[:space:]]*undercloud_public_vip/ {gsub(/[[:space:]]/, "", $2) ; print $2}' {{ undercloud_conf}} + awk -F '=' '/^[[:space:]]*undercloud_public_vip/ {gsub(/[[:space:]]/, "", $2) ; print $2}' {{ undercloud_conf }} register: uc_undercloud_public_vip changed_when: uc_undercloud_public_vip.stdout|length > 0 @@ -58,7 +60,7 @@ uc_ssl_part: "{{ uc_undercloud_public_host.stdout if uc_undercloud_public_host.stdout|length > 0 else uc_undercloud_public_vip.stdout }}" find: path: /etc/pki/tls/certs/ - patterns: 'undercloud-{{uc_ssl_part}}*.pem$' + patterns: 'undercloud-{{ uc_ssl_part }}*.pem$' use_regex: true register: autogenerated_ssl_cert @@ -90,7 +92,7 @@ - name: copy certificate to the overcloud nodes and update the trusted store vars: - oc_user: "{{ (overcloud_ssh_user == '') | ternary('heat-admin', overcloud_ssh_user) }}" + oc_user: "{{ (overcloud_ssh_user) | ternary(overcloud_ssh_user, 'heat-admin') }}" shell: | scp -q -o StrictHostKeyChecking=no {{ working_dir }}/undercloud.pem {{ oc_user }}@{{ item }}: ssh -q -o StrictHostKeyChecking=no {{ oc_user }}@{{ item }} 'sudo cp undercloud.pem /etc/pki/ca-trust/source/anchors/; sudo update-ca-trust extract' 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