Migrate from with_X loop.

With the release of Ansible 2.5, the recommended way to perform
 loops is the use the new loop keyword instead of with_X style loops.
This review addresses aforementioned change for common tasks
within tripleo-upgrade role.

Change-Id: I70d387b381b6ce297507cbfe669ea7be902df605
(cherry picked from commit b25817a233)
(cherry picked from commit 876c3334a7)
This commit is contained in:
Yurii Prokulevych 2019-01-29 14:21:02 +01:00 committed by Sofer Athlan-Guyot
parent a3de8962b3
commit 3c3f4d2f50
23 changed files with 69 additions and 87 deletions

View File

@ -9,7 +9,7 @@
src: "check_service_{{ item }}.sh.j2"
dest: "{{ working_dir }}/{{ node_name | splitext | first }}_post/{{ item }}.sh"
mode: 0775
with_items:
loop:
- 'haproxy'
- 'haproxy_backend'
- 'rabbitmq'

View File

@ -8,4 +8,4 @@
- include_tasks: controller_post_script.yml
loop_control:
loop_var: node_name
with_items: "{{ controllers.stdout_lines }}"
loop: "{{ controllers.stdout_lines }}"

View File

@ -20,15 +20,13 @@
grep 'ceph::profile::params::osds' {{ item }}
ignore_errors: true
register: osd_env
with_items:
- "{{ envs.stdout_lines }}"
loop: "{{ envs.stdout_lines }}"
- name: set ceph_env fact
set_fact:
ceph_env: "{{ item.item }}"
when: item.stdout|length > 0
with_items:
- "{{ osd_env.results }}"
loop: "{{ osd_env.results }}"
- block:
- name: make a copy of the initial environment file
@ -74,7 +72,7 @@
path: "{{ ceph_env }}"
regexp: "{{ item }}"
state: absent
with_items:
loop:
- "ceph::profile::params::osd_pool_default_pg_num"
- "ceph::profile::params::osd_pool_default_pgp_num"
- "ceph::profile::params::osds"
@ -90,7 +88,7 @@
path: "{{ ceph_env }}"
regexp: "{{ item }}"
state: absent
with_items: "{{ ceph_osds }}"
loop: "{{ ceph_osds }}"
- name: register new environment file
command: "cat {{ ceph_env }}"

View File

@ -4,15 +4,13 @@
grep "OS::TripleO::.*::Net::SoftwareConfig" {{ item }}
ignore_errors: true
register: nic_config_envs
with_items:
- "{{ initial_env_file.stdout_lines }}"
loop: "{{ initial_env_file.stdout_lines }}"
- name: set nic_config_env fact
set_fact:
nic_config_env: "{{ item.item }}"
when: item.stdout|length > 0
with_items:
- "{{ nic_config_envs.results }}"
loop: "{{ nic_config_envs.results }}"
- block:
- name: register nic templates files defined in the environment file
@ -29,8 +27,7 @@
when:
- "item[0] == '/'"
- "tht_directory not in item"
with_items:
- "{{ nic_template_files.stdout_lines }}"
loop: "{{ nic_template_files.stdout_lines }}"
- name: adjust nic templates in relative paths location
shell: |
@ -41,8 +38,7 @@
when:
- "item[0] != '/'"
- "tht_directory not in '/'.join(nic_config_env.split('/')[0:-1])"
with_items:
- "{{ nic_template_files.stdout_lines }}"
loop: "{{ nic_template_files.stdout_lines }}"
- name: Register roles data file location if exists
shell: "grep '\\-r\\ \\|\\-\\-roles' {{ overcloud_deploy_script }} | awk {'print $2'}"

View File

@ -21,7 +21,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: "^(- name: Controller( # the 'primary' role goes first)?$)"
replace: "{{ item }}"
with_items:
loop:
- '\1\n deprecated_param_image: "controllerImage"'
- '\1\n deprecated_param_flavor: "OvercloudControlFlavor"'
- '\1\n deprecated_param_extraconfig: "controllerExtraConfig"'
@ -32,7 +32,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: Controller.*)'
replace: "{{ item }}"
with_items:
loop:
- '\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.'
@ -42,7 +42,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: Compute$)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n deprecated_server_resource_name: "NovaCompute"'
- '\1\n deprecated_param_ips: "NovaComputeIPs"'
- '\1\n deprecated_param_scheduler_hints: "NovaComputeSchedulerHints"'
@ -56,7 +56,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: Compute.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - InternalApi\n - Storage\n - Tenant'
- '\1\n description: |\n Basic Compute Node role'
@ -65,7 +65,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: AltCompute.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - InternalApi\n - Storage\n - Tenant'
- '\1\n description: |\n Basic Compute Node role'
@ -74,7 +74,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: BlockStorage.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - InternalApi\n - Storage\n - StorageMgmt'
- '\1\n description: |\n Cinder Block Storage node role'
@ -83,7 +83,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: ObjectStorage$)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n deprecated_param_flavor: "OvercloudSwiftStorageFlavor"'
- '\1\n deprecated_param_image: "SwiftStorageImage"'
- '\1\n deprecated_param_ips: "SwiftStorageIPs"'
@ -95,7 +95,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: ObjectStorage.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - InternalApi\n - Storage\n - StorageMgmt'
- '\1\n description: |\n Swift Object Storage node role'
@ -104,7 +104,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: CephStorage.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - Storage\n - StorageMgmt'
- '\1\n description: |\n Ceph OSD Storage node role'
@ -113,7 +113,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: Database.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - InternalApi'
- '\1\n description: |\n Standalone database role with the database being managed via Pacemaker'
@ -122,7 +122,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: Galera.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - InternalApi'
- '\1\n description: |\n Standalone database role with the database being managed via Pacemaker'
@ -131,7 +131,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: Networker.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - InternalApi\n - Tenant'
- '\1\n description: |\n Standalone networking role to run Neutron agents'
@ -140,7 +140,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: Messaging.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - InternalApi'
- '\1\n description: |\n Standalone messaging role with RabbitMQ being managed via Pacemaker'
@ -149,7 +149,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '^(- name: Monitor.*)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n networks:\n - Storage'
- '\1\n description: |\n Ceph Monitor role'
@ -158,7 +158,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '(- OS::TripleO::Services::Timezone)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n - OS::TripleO::Services::CertmongerUser'
- '\1\n - OS::TripleO::Services::Docker'
- '\1\n - OS::TripleO::Services::Securetty'
@ -170,7 +170,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '(- .*CinderVolume)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n - OS::TripleO::Services::CinderBackendVRTSHyperScale'
- '\1\n - OS::TripleO::Services::CinderBackendDellEMCUnity'
- '\1\n - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI'
@ -192,7 +192,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: "{{ item }}"
replace: '\1\n - OS::TripleO::Services::Iscsid'
with_items:
loop:
- '(- .*CinderVolume)'
- '(- OS::TripleO::Services::NovaCompute)'
@ -201,7 +201,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '(- OS::TripleO::Services::NeutronApi)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n - OS::TripleO::Services::NeutronBgpVpnApi'
- '\1\n - OS::TripleO::Services::NeutronL2gwApi'
@ -210,7 +210,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '(- OS::TripleO::Services::NeutronL3Agent)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n - OS::TripleO::Services::NeutronL2gwAgent'
- '\1\n - OS::TripleO::Services::NeutronLbaasv2Agent'
@ -219,7 +219,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '(- .*NeutronOvsAgent)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n - OS::TripleO::Services::NeutronVppAgent'
- '\1\n - OS::TripleO::Services::NeutronLinuxbridgeAgent'
- '\1\n - OS::TripleO::Services::Vpp'
@ -241,7 +241,7 @@
dest: '{{ custom_roles_file.stdout }}'
regexp: '(- OS::TripleO::Services::ManilaShare)'
replace: "{{ item }}"
with_items:
loop:
- '\1\n - OS::TripleO::Services::ManilaBackendIsilon'
- '\1\n - OS::TripleO::Services::ManilaBackendUnity'
- '\1\n - OS::TripleO::Services::ManilaBackendVMAX'

View File

@ -4,6 +4,6 @@
src: "{{ item }}"
dest: "{{ working_dir }}/{{ item.split('.') | first }}.sh"
mode: 0775
with_items:
loop:
- 'fip_http_check_start.sh.j2'
- 'fip_http_check_stop.sh.j2'

View File

@ -19,7 +19,7 @@
set_fact:
controller_role_name: "{{ item|regex_search('[A-Za-z0-9]*[Cc]ontroller[A-Za-z0-9]*') }}"
when: item|regex_search('[A-Za-z0-9]*[Cc]ontroller[A-Za-z0-9]*')
with_items: "{{ oc_roles }}"
loop: "{{ oc_roles }}"
- name: store sorted roles with controller first
set_fact:

View File

@ -4,15 +4,13 @@
grep "OS::TripleO::.*::Net::SoftwareConfig" {{ item }}
ignore_errors: true
register: nic_config_envs
with_items:
- "{{ initial_env_file.stdout_lines }}"
loop: "{{ initial_env_file.stdout_lines }}"
- name: set nic_config_env fact
set_fact:
nic_config_env: "{{ item.item }}"
when: item.stdout|length > 0
with_items:
- "{{ nic_config_envs.results }}"
loop: "{{ nic_config_envs.results }}"
- block:
- name: register nic templates files defined in the environment file
@ -37,7 +35,6 @@
when:
- "(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 }}"
loop: "{{ nic_template_files.stdout_lines }}"
when: nic_config_env is defined

View File

@ -99,7 +99,6 @@
.ServicesDefault |= (. += ["OS::TripleO::Services::CephRbdMirror"] | unique)
else . end)' |\
{{ yaml_dump }} > {{ custom_roles_file.stdout }}
when: custom_roles_file.stdout|length > 0 and not custom_roles_adjusted.stat.exists
vars:
json_dump: "python -c 'import sys, yaml, simplejson as json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)'"

View File

@ -40,7 +40,7 @@
src: fast-forward-upgrade/workarounds.sh.j2
dest: "{{ working_dir }}/{{ item }}.sh"
mode: 0775
with_items:
loop:
- 'pre_ffu_undercloud_upgrade_workarounds'
- 'post_ffu_undercloud_upgrade_workarounds'
- 'pre_ffu_overcloud_prepare_workarounds'

View File

@ -16,7 +16,7 @@
tags: create_ffu_scripts
loop_control:
loop_var: current_release
with_items: "{{ ffu_undercloud_releases }}"
loop: "{{ ffu_undercloud_releases }}"
when: ffu_noop|bool or ffu_undercloud_upgrade|bool or ffu_overcloud_upgrade|bool
- block:
@ -24,7 +24,7 @@
include_tasks: undercloud-upgrade.yml
loop_control:
loop_var: current_release
with_items: "{{ ffu_undercloud_releases }}"
loop: "{{ ffu_undercloud_releases }}"
- name: apply post ffu undercloud upgrade workarounds
command: "{{ working_dir }}/post_ffu_undercloud_upgrade_workarounds.sh"
@ -45,7 +45,7 @@
args:
apply:
tags: ffu_overcloud_prepare
with_items:
loop:
- '../common/l3_agent_connectivity_check_start_script.yml'
- '../common/l3_agent_failover_check_pre_script.yml'
tags: ffu_overcloud_prepare
@ -78,7 +78,7 @@
args:
apply:
tags: ffu_overcloud_prepare
with_items:
loop:
- '../common/l3_agent_connectivity_check_stop_script.yml'
- '../common/l3_agent_failover_check_post_script.yml'
tags: ffu_overcloud_prepare
@ -141,7 +141,7 @@
args:
apply:
tags: ffu_overcloud_ceph
with_items:
loop:
- '../common/l3_agent_connectivity_check_stop_script.yml'
- '../common/l3_agent_failover_check_post_script.yml'
tags: ffu_overcloud_ceph

View File

@ -5,7 +5,7 @@
dest: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
mode: 0775
tags: ffu_overcloud_upgrade
with_items:
loop:
- "all"
- name: apply pre overcloud upgrade run workarounds
@ -26,7 +26,7 @@
args:
apply:
tags: ffu_overcloud_upgrade
with_items:
loop:
- '../common/l3_agent_connectivity_check_stop_script.yml'
- '../common/l3_agent_failover_check_post_script.yml'
tags: ffu_overcloud_upgrade

View File

@ -8,7 +8,7 @@
dest: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
mode: 0775
tags: ffu_overcloud_upgrade_controller
with_items: "{{ oc_roles|default([]) }}"
loop: "{{ oc_roles|default([]) }}"
- name: start L3 connectivity check
import_tasks: ../common/l3_agent_connectivity_check_start_script.yml
@ -22,12 +22,11 @@
- name: run FFU control plane ugrade scripts
command: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
tags: ffu_overcloud_upgrade_controller
with_items:
- "{{ oc_roles|difference(['Compute','ComputeAlt','CephStorage']) }}"
loop: "{{ oc_roles|difference(['Compute','ComputeAlt','CephStorage']) }}"
- name: run L3 validation
include_tasks: "{{ item }}"
with_items:
loop:
- '../common/l3_agent_connectivity_check_stop_script.yml'
- '../common/l3_agent_failover_check_post_script.yml'
tags: ffu_overcloud_upgrade_controller
@ -39,8 +38,7 @@
- name: run FFU compute ugrade scripts
command: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
tags: ffu_overcloud_upgrade_compute
with_items:
- "{{ oc_roles|intersect(['Compute','ComputeAlt']) }}"
loop: "{{ oc_roles|intersect(['Compute','ComputeAlt']) }}"
when:
- not ffu_computes_rolling|bool
@ -61,8 +59,7 @@
dest: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
mode: 0775
tags: ffu_overcloud_upgrade_compute
with_items:
- '{{ tripleo_compute_nodes.stdout_lines }}'
loop: '{{ tripleo_compute_nodes.stdout_lines }}'
- name: start L3 connectivity check
import_tasks: ../common/l3_agent_connectivity_check_start_script.yml
@ -71,8 +68,7 @@
- name: Rolling upgrade compute nodes
command: "{{ working_dir }}/overcloud_upgrade_{{ item }}.sh"
tags: ffu_overcloud_upgrade_compute
with_items:
- '{{ tripleo_compute_nodes.stdout_lines }}'
loop: '{{ tripleo_compute_nodes.stdout_lines }}'
- name: validate L3 connectivity result
import_tasks: ../common/l3_agent_connectivity_check_stop_script.yml

View File

@ -20,7 +20,7 @@
dest: "{{ working_dir }}/{{ item.script }}"
mode: 0755
force: true
with_items:
loop:
- '{{ pre_overcloud_update_prepare_workarounds|default([]) }}'
- '{{ post_overcloud_update_prepare_workarounds|default([]) }}'
- '{{ pre_overcloud_update_run_workarounds|default([]) }}'
@ -48,8 +48,7 @@
dest: "{{ overcloud_update_run_script_base }}-{{ item }}.sh"
mode: 0775
force: true
with_items:
- "{{ oc_roles|default('all') }}"
loop: "{{ oc_roles|default(['all']) }}"
- name: create overcloud update converge script
template:

View File

@ -12,7 +12,6 @@
dest: "{{ working_dir }}/{{ item.script }}"
mode: 0755
force: true
with_items:
- '{{ pre_undercloud_update_workarounds|default([]) }}'
- '{{ post_undercloud_update_workarounds|default([]) }}'
loop: '{{ pre_undercloud_update_workarounds|default([])
+ post_undercloud_update_workarounds|default([]) }}'
when: updates_workarounds|bool

View File

@ -7,14 +7,13 @@
set -o pipefail
bash {{ overcloud_update_run_script_base }}-{{ item }}.sh 2>&1 {{ timestamper_cmd }} > \
{{ working_dir }}/overcloud_update_run_{{ item }}.log
with_items:
- "{{ oc_roles|default('all') }}"
loop: "{{ oc_roles|default(['all']) }}"
register: overcloud_update_nodes
ignore_errors: true
- name: was the overcloud minor update successful.
fail: msg="Overcloud minor update execution step failed..."
with_items: "{{ overcloud_update_nodes.results }}"
loop: "{{ overcloud_update_nodes.results }}"
when: item.rc != 0
- name: import tasks from l3_agent_connectivity_check_stop_script

View File

@ -1,7 +1,7 @@
---
- name: Running post upgrade scripts for {{ node_name | splitext | first }}
shell: "set -o pipefail && {{ working_dir }}/{{ node_name | splitext | first }}_post/{{ item }}.sh"
with_items:
loop:
- 'haproxy'
- 'haproxy_backend'
- 'rabbitmq'

View File

@ -6,6 +6,6 @@
register: controllers
- include_tasks: controller_node_upgrade.yml
with_items: "{{ controllers.stdout_lines }}"
loop: "{{ controllers.stdout_lines }}"
loop_control:
loop_var: node_name

View File

@ -39,7 +39,7 @@
src: workarounds.sh.j2
dest: "{{ working_dir }}/{{ item }}.sh"
mode: 0775
with_items:
loop:
- 'pre_overcloud_upgrade_prepare_workarounds'
- 'post_overcloud_upgrade_prepare_workarounds'
- 'pre_overcloud_upgrade_workarounds'
@ -66,8 +66,7 @@
dest: "{{ overcloud_upgrade_run_script_base }}-{{ item }}.sh"
mode: 0775
force: true
with_items:
- "{{ oc_roles|default('all') }}"
loop: "{{ oc_roles|default(['all']) }}"
- name: create overcloud converge script
template:

View File

@ -11,7 +11,7 @@
src: workarounds.sh.j2
dest: "{{ working_dir }}/{{ item }}.sh"
mode: 0775
with_items:
loop:
- 'pre_undercloud_upgrade_workarounds'
- 'post_undercloud_upgrade_workarounds'
when: upgrade_workarounds

View File

@ -1,12 +1,14 @@
---
- name: run overcloud major upgrade in each of the roles/hostgroups
shell: "bash {{ overcloud_upgrade_run_script_base }}-{{ item }}.sh &> {{ working_dir }}/overcloud_upgrade_run_{{ item }}.log"
with_items:
- "{{ oc_roles|default('all') }}"
shell: |
set -o pipefail
bash {{ overcloud_upgrade_run_script_base }}-{{ item }}.sh 2>&1 {{ timestamper_cmd }} > \
{{ working_dir }}/overcloud_upgrade_run_{{ item }}.log
loop: "{{ oc_roles|default(['all']) }}"
register: overcloud_upgrade_nodes
ignore_errors: true
- name: was the overcloud upgrade composable step successful.
fail: msg="Overcloud upgrade composable step failed... :("
with_items: "{{ overcloud_upgrade_nodes.results }}"
loop: "{{ overcloud_upgrade_nodes.results }}"
when: item.rc != 0

View File

@ -94,6 +94,5 @@
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'
with_items:
- "{{ node_ip.stdout_lines }}"
loop: "{{ node_ip.stdout_lines }}"
when: uc_keystone_conn|failed

View File

@ -8,8 +8,7 @@
name: "{{ item }}"
group: compute
ansible_fqdn: "{{ item }}"
with_items:
- "{{ compute.stdout_lines|default([]) }}"
loop: "{{ compute.stdout_lines|default([]) }}"
- name: create transformation script
template: