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
(cherry picked from commit a59a188a6b)
This commit is contained in:
Mathieu Bultel 2019-05-13 15:25:57 +02:00 committed by mathieu bultel
parent 11e842d8b2
commit ab67b73749
43 changed files with 73 additions and 9 deletions

View File

@ -616,9 +616,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:
@ -628,10 +629,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:
@ -640,6 +639,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:
@ -708,11 +708,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
@ -720,9 +721,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:
@ -731,7 +732,6 @@ outputs:
loop_control:
loop_var: step
upgrade_steps_tasks: |
{%- for role in roles %}
- import_tasks: {{role.name}}/upgrade_tasks.yaml
when: tripleo_role_name == '{{role.name}}'
{%- endfor %}

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

@ -10,6 +10,7 @@
- StorageMgmt
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

@ -8,6 +8,8 @@
- Storage
- StorageMgmt
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

@ -8,6 +8,8 @@
- Storage
- StorageMgmt
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

@ -8,6 +8,8 @@
- Storage
- StorageMgmt
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

@ -9,6 +9,8 @@
- StorageMgmt
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

@ -22,6 +22,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

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

View File

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

View File

@ -11,6 +11,8 @@
- StorageMgmt
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

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

View File

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

View File

@ -15,6 +15,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

@ -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

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

View File

@ -19,6 +19,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

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

View File

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

View File

@ -26,6 +26,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

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

View File

@ -23,6 +23,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

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

View File

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

View File

@ -26,6 +26,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

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

View File

@ -12,6 +12,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

@ -12,6 +12,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

@ -12,6 +12,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

@ -12,6 +12,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

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

View File

@ -6,6 +6,7 @@
Standalone messaging role with backends being managed via Pacemaker
networks:
- InternalApi
update_serial: 1
HostnameFormatDefault: '%stackname%-messaging-%index%'
ServicesDefault:
- OS::TripleO::Services::Aide

View File

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

View File

@ -8,6 +8,7 @@
- InternalApi
- Storage
HostnameFormatDefault: '%stackname%-novacontrol-%index%'
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::AuditD
- OS::TripleO::Services::CACerts

View File

@ -16,6 +16,7 @@
deprecated_param_image: 'SwiftStorageImage'
deprecated_param_flavor: 'OvercloudSwiftStorageFlavor'
deprecated_nic_config_name: 'swift-storage.yaml'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD

View File

@ -19,6 +19,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::Docker
- OS::TripleO::Services::Ntp

View File

@ -16,6 +16,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::Docker
- OS::TripleO::Services::Ntp

View File

@ -19,6 +19,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::ContainerImagePrepare
- OS::TripleO::Services::Docker

View File

@ -16,6 +16,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::Docker
- OS::TripleO::Services::Ntp

View File

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

View File

@ -29,6 +29,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
@ -210,6 +211,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
@ -269,6 +271,7 @@
- StorageMgmt
uses_deprecated_params: False
deprecated_nic_config_name: 'cinder-storage.yaml'
update_serial: 25
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
@ -317,6 +320,7 @@
deprecated_param_image: 'SwiftStorageImage'
deprecated_param_flavor: 'OvercloudSwiftStorageFlavor'
deprecated_nic_config_name: 'swift-storage.yaml'
update_serial: 1
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
@ -357,6 +361,8 @@
- StorageMgmt
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