Force ansible serial to 1 for the Controller

By introducing update_serial variable we parallelize update
execution on non-pacemaker enabled nodes. Custom role data users
need to update their role files. By default we do serial 1 making
sure nothing changes for users who didn't update their role data.

Resolves: rhbz#1652057
Closes-Bug: #1831617

Change-Id: I4ee0110a6c2b9466d81e37e5df27f5f81a6eceb5
This commit is contained in:
Mathieu Bultel 2019-05-13 15:25:57 +02:00 committed by Lukas Bezdicka
parent 31935b70fb
commit a59a188a6b
46 changed files with 80 additions and 8 deletions

View File

@ -574,9 +574,10 @@ outputs:
gather_facts: no
tasks:
- include_vars: global_vars.yaml
- hosts: DEPLOY_TARGET_HOST
{%- for role in roles %}
- hosts: {{role.name}}
name: Run update
serial: {{ deploy_serial | default(1) }}
serial: {{ role.update_serial | default(1) }}
gather_facts: no
any_errors_fatal: yes
vars:
@ -596,10 +597,8 @@ outputs:
with_sequence: start=0 end={{update_steps_max-1}}
loop_control:
loop_var: step
{%- for role in roles %}
- import_tasks: {{role.name}}/host_prep_tasks.yaml
when: tripleo_role_name == '{{role.name}}'
{%- endfor %}
- include_tasks: common_deploy_steps_tasks.yaml
with_sequence: start=1 end={{deploy_steps_max-1}}
loop_control:
@ -608,6 +607,7 @@ outputs:
with_sequence: start=0 end={{post_update_steps_max-1}}
loop_control:
loop_var: step
{%- endfor %}
external_update_steps_tasks: {get_attr: [ExternalUpdateTasks, value]}
external_update_steps_playbook:
str_replace:
@ -676,11 +676,12 @@ outputs:
DEPLOY_SOURCE_HOST: {get_param: deployment_source_hosts}
DEPLOY_TARGET_HOST: {get_param: deployment_target_hosts}
template: |
- hosts: DEPLOY_SOURCE_HOST
{%- for role in roles %}
- hosts: {{role.name}}
name: Gather facts from undercloud
gather_facts: yes
become: false
- hosts: DEPLOY_TARGET_HOST
- hosts: {{role.name}}
name: Gather facts from overcloud
gather_facts: yes
- hosts: all
@ -688,9 +689,9 @@ outputs:
gather_facts: no
tasks:
- include_vars: global_vars.yaml
- hosts: DEPLOY_TARGET_HOST
- hosts: {{role.name}}
name: Run pre-upgrade rolling tasks
serial: {{ deploy_serial | default(1) }}
serial: {{ role.deploy_serial | default(1) }}
gather_facts: no
any_errors_fatal: yes
tasks:
@ -698,6 +699,7 @@ outputs:
with_sequence: start=0 end={{pre_upgrade_rolling_steps_max-1}}
loop_control:
loop_var: step
{%- endfor %}
upgrade_steps_playbook:
str_replace:
params:

View File

@ -0,0 +1,9 @@
---
upgrade:
- |
The new role variable update_serial is introduced
allowing parallel update execution. On Controller
role this variable defaults to 1 as pacemaker
has to be taken down and up in rolling fashion.
The default value is 25 as that is default value
for parallel ansible execution used by tripleo.

View File

@ -13,6 +13,7 @@
subnet: storage_mgmt_subnet
uses_deprecated_params: False
deprecated_nic_config_name: 'cinder-storage.yaml'
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -18,6 +18,7 @@
# each, such as ['ControlPlane', 'External']
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-cellcontrol-%index%'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -10,6 +10,8 @@
StorageMgmt:
subnet: storage_mgmt_subnet
HostnameFormatDefault: '%stackname%-ceph-all-%index%'
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -10,6 +10,8 @@
StorageMgmt:
subnet: storage_mgmt_subnet
HostnameFormatDefault: '%stackname%-ceph-file-%index%'
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -10,6 +10,8 @@
StorageMgmt:
subnet: storage_mgmt_subnet
HostnameFormatDefault: '%stackname%-ceph-object-%index%'
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -11,6 +11,8 @@
subnet: storage_mgmt_subnet
uses_deprecated_params: False
deprecated_nic_config_name: 'ceph-storage.yaml'
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -30,6 +30,7 @@
deprecated_param_ips: 'NovaComputeIPs'
deprecated_server_resource_name: 'NovaCompute'
deprecated_nic_config_name: 'compute.yaml'
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -16,6 +16,7 @@
disable_constraints: True
RoleParametersDefault:
TunedProfileName: "virtual-host"
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::AuditD
- OS::TripleO::Services::BootParams

View File

@ -17,6 +17,7 @@
HostnameFormatDefault: '%stackname%-novacompute-dvr-%index%'
RoleParametersDefault:
TunedProfileName: "virtual-host"
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -15,6 +15,8 @@
subnet: storage_mgmt_subnet
RoleParametersDefault:
TunedProfileName: "throughput-performance"
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -15,6 +15,7 @@
HostnameFormatDefault: '%stackname%-novacomputeiha-%index%'
RoleParametersDefault:
TunedProfileName: "virtual-host"
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -17,6 +17,7 @@
HostnameFormatDefault: '%stackname%-lionovacompute-%index%'
RoleParametersDefault:
TunedProfileName: "virtual-host"
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -18,6 +18,7 @@
TunedProfileName: "cpu-partitioning"
NovaLibvirtRxQueueSize: 1024
NovaLibvirtTxQueueSize: 1024
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -18,6 +18,7 @@
TunedProfileName: "realtime-virtual-host"
NovaLibvirtRxQueueSize: 1024
NovaLibvirtTxQueueSize: 1024
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -14,6 +14,7 @@
TunedProfileName: "cpu-partitioning"
NovaLibvirtRxQueueSize: 1024
NovaLibvirtTxQueueSize: 1024
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -15,6 +15,7 @@
TunedProfileName: "realtime-virtual-host"
NovaLibvirtRxQueueSize: 1024
NovaLibvirtTxQueueSize: 1024
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -16,6 +16,7 @@
ImageDefault: ppc64le-overcloud-full
RoleParametersDefault:
TunedProfileName: "virtual-host"
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -22,6 +22,7 @@
KernelArgs: "" # these must be set in an environment file or similar
IsolCpusList: "" # according to the hardware of real-time nodes
NovaVcpuPinSet: "" #
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -14,6 +14,7 @@
subnet: storage_subnet
RoleParametersDefault:
TunedProfileName: "cpu-partitioning"
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -15,6 +15,7 @@
ImageDefault: overcloud-realtime-compute
RoleParametersDefault:
TunedProfileName: "realtime-virtual-host"
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -31,6 +31,7 @@
deprecated_param_flavor: 'OvercloudControlFlavor'
deprecated_param_image: 'controllerImage'
deprecated_nic_config_name: 'controller.yaml'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AodhApi

View File

@ -22,6 +22,7 @@
subnet: tenant_subnet
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::AodhApi
- OS::TripleO::Services::AodhEvaluator

View File

@ -28,6 +28,7 @@
deprecated_param_extraconfig: 'controllerExtraConfig'
deprecated_param_flavor: 'OvercloudControlFlavor'
deprecated_param_image: 'controllerImage'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AodhApi

View File

@ -21,6 +21,7 @@
subnet: tenant_subnet
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::AodhApi
- OS::TripleO::Services::AodhEvaluator

View File

@ -22,6 +22,7 @@
subnet: tenant_subnet
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AodhApi

View File

@ -32,6 +32,7 @@
deprecated_param_extraconfig: 'controllerExtraConfig'
deprecated_param_flavor: 'OvercloudControlFlavor'
deprecated_param_image: 'controllerImage'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AodhApi

View File

@ -8,6 +8,7 @@
InternalApi:
subnet: internal_api_subnet
HostnameFormatDefault: '%stackname%-database-%index%'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -14,6 +14,7 @@
subnet: storage_subnet
RoleParametersDefault:
TunedProfileName: "virtual-host"
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -15,6 +15,8 @@
subnet: storage_mgmt_subnet
RoleParametersDefault:
TunedProfileName: "throughput-performance"
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -16,6 +16,8 @@
HostnameFormatDefault: '%stackname%-hci-ceph-all-%index%'
RoleParametersDefault:
TunedProfileName: "throughput-performance"
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -16,6 +16,8 @@
HostnameFormatDefault: '%stackname%-hci-ceph-file-%index%'
RoleParametersDefault:
TunedProfileName: "throughput-performance"
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -16,6 +16,8 @@
HostnameFormatDefault: '%stackname%-hci-ceph-mon-%index%'
RoleParametersDefault:
TunedProfileName: "throughput-performance"
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -16,6 +16,8 @@
HostnameFormatDefault: '%stackname%-hci-ceph-object-%index%'
RoleParametersDefault:
TunedProfileName: "throughput-performance"
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -10,6 +10,7 @@
Storage:
subnet: storage_subnet
HostnameFormatDefault: '%stackname%-ironic-%index%'
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -7,6 +7,7 @@
networks:
InternalApi:
subnet: internal_api_subnet
update_serial: 1
HostnameFormatDefault: '%stackname%-messaging-%index%'
ServicesDefault:
- OS::TripleO::Services::Aide

View File

@ -12,6 +12,7 @@
tags:
- external_bridge
HostnameFormatDefault: '%stackname%-networker-%index%'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -10,6 +10,7 @@
Storage:
subnet: storage_subnet
HostnameFormatDefault: '%stackname%-novacontrol-%index%'
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::AuditD
- OS::TripleO::Services::BootParams

View File

@ -20,6 +20,8 @@
deprecated_param_flavor: 'OvercloudSwiftStorageFlavor'
deprecated_nic_config_name: 'swift-storage.yaml'
deprecated_server_resource_name: 'SwiftStorage'
# SwiftStorage present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -22,6 +22,7 @@
# For systems with both IPv4 and IPv6, you may specify a gateway network for
# each, such as ['ControlPlane', 'External']
default_route_networks: ['External']
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::BootParams
- OS::TripleO::Services::Docker

View File

@ -18,6 +18,7 @@
# For systems with both IPv4 and IPv6, you may specify a gateway network for
# each, such as ['ControlPlane', 'External']
default_route_networks: ['ControlPlane']
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::BootParams
- OS::TripleO::Services::Docker

View File

@ -22,6 +22,7 @@
# For systems with both IPv4 and IPv6, you may specify a gateway network for
# each, such as ['ControlPlane', 'External']
default_route_networks: ['External']
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::BootParams
- OS::TripleO::Services::ContainerImagePrepare

View File

@ -18,6 +18,7 @@
# For systems with both IPv4 and IPv6, you may specify a gateway network for
# each, such as ['ControlPlane', 'External']
default_route_networks: ['ControlPlane']
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::BootParams
- OS::TripleO::Services::Docker

View File

@ -10,6 +10,7 @@
Storage:
subnet: storage_subnet
HostnameFormatDefault: '%stackname%-telemetry-%index%'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AodhApi

View File

@ -34,6 +34,7 @@
deprecated_param_flavor: 'OvercloudControlFlavor'
deprecated_param_image: 'controllerImage'
deprecated_nic_config_name: 'controller.yaml'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AodhApi
@ -218,6 +219,7 @@
deprecated_param_ips: 'NovaComputeIPs'
deprecated_server_resource_name: 'NovaCompute'
deprecated_nic_config_name: 'compute.yaml'
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
@ -281,6 +283,7 @@
subnet: storage_mgmt_subnet
uses_deprecated_params: False
deprecated_nic_config_name: 'cinder-storage.yaml'
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
@ -334,6 +337,8 @@
deprecated_param_flavor: 'OvercloudSwiftStorageFlavor'
deprecated_nic_config_name: 'swift-storage.yaml'
deprecated_server_resource_name: 'SwiftStorage'
# SwiftStorage present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
@ -378,6 +383,8 @@
subnet: storage_mgmt_subnet
uses_deprecated_params: False
deprecated_nic_config_name: 'ceph-storage.yaml'
# CephOSD present so serial has to be 1
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD