From cfbf68bdacd5c2af69cde6602da038621b3cca28 Mon Sep 17 00:00:00 2001 From: Mathieu Bultel Date: Mon, 13 May 2019 15:25:57 +0200 Subject: [PATCH] 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 a59a188a6b6ef7275d318d95b17d3a692065e16a) --- common/deploy-steps.j2 | 8 ++++---- releasenotes/notes/update_serial-785ff794ff88fb2e.yaml | 9 +++++++++ roles/BlockStorage.yaml | 1 + roles/CephAll.yaml | 2 ++ roles/CephFile.yaml | 2 ++ roles/CephObject.yaml | 2 ++ roles/CephStorage.yaml | 2 ++ roles/Compute.yaml | 1 + roles/ComputeAlt.yaml | 1 + roles/ComputeDVR.yaml | 1 + roles/ComputeHCI.yaml | 2 ++ roles/ComputeInstanceHA.yaml | 1 + roles/ComputeLiquidio.yaml | 1 + roles/ComputeOvsDpdk.yaml | 1 + roles/ComputeOvsDpdkRT.yaml | 1 + roles/ComputeOvsDpdkSriov.yaml | 1 + roles/ComputeOvsDpdkSriovRT.yaml | 1 + roles/ComputeRealTime.yaml | 1 + roles/ComputeSriov.yaml | 1 + roles/ComputeSriovRT.yaml | 1 + roles/Controller.yaml | 1 + roles/ControllerAllNovaStandalone.yaml | 1 + roles/ControllerNoCeph.yaml | 1 + roles/ControllerNovaStandalone.yaml | 1 + roles/ControllerOpenstack.yaml | 1 + roles/ControllerStorageNfs.yaml | 1 + roles/Database.yaml | 1 + roles/HciCephAll.yaml | 2 ++ roles/HciCephFile.yaml | 2 ++ roles/HciCephMon.yaml | 2 ++ roles/HciCephObject.yaml | 2 ++ roles/IronicConductor.yaml | 1 + roles/Messaging.yaml | 1 + roles/Networker.yaml | 1 + roles/Novacontrol.yaml | 1 + roles/ObjectStorage.yaml | 1 + roles/Telemetry.yaml | 1 + roles_data.yaml | 6 ++++++ 38 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 releasenotes/notes/update_serial-785ff794ff88fb2e.yaml diff --git a/common/deploy-steps.j2 b/common/deploy-steps.j2 index 8741c7bba5..4a59ffb438 100644 --- a/common/deploy-steps.j2 +++ b/common/deploy-steps.j2 @@ -560,9 +560,10 @@ outputs: gather_facts: no tasks: - include_vars: global_vars.yaml - - hosts: overcloud +{%- for role in roles %} + - hosts: {{role.name}} name: Run update - serial: {{ deploy_serial | default(1) }} + serial: {{ role.update_serial | default(1) }} gather_facts: no vars: tripleo_minor_update: true @@ -571,10 +572,8 @@ outputs: with_sequence: start=0 end={{update_steps_max-1}} loop_control: loop_var: step -{%- for role in roles %} - include: {{role.name}}/host_prep_tasks.yaml when: role_name == '{{role.name}}' -{%- endfor %} - include: common_deploy_steps_tasks.yaml with_sequence: start=1 end={{deploy_steps_max-1}} loop_control: @@ -583,6 +582,7 @@ outputs: with_sequence: start=0 end={{post_update_steps_max-1}} loop_control: loop_var: step +{%- endfor %} pre_upgrade_rolling_steps_tasks: | {%- for role in roles %} - include: {{role.name}}/pre_upgrade_rolling_tasks.yaml diff --git a/releasenotes/notes/update_serial-785ff794ff88fb2e.yaml b/releasenotes/notes/update_serial-785ff794ff88fb2e.yaml new file mode 100644 index 0000000000..6dc46fc215 --- /dev/null +++ b/releasenotes/notes/update_serial-785ff794ff88fb2e.yaml @@ -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. diff --git a/roles/BlockStorage.yaml b/roles/BlockStorage.yaml index b49c529313..6ba608186b 100644 --- a/roles/BlockStorage.yaml +++ b/roles/BlockStorage.yaml @@ -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 diff --git a/roles/CephAll.yaml b/roles/CephAll.yaml index 0d11581df5..fbfbad32b2 100644 --- a/roles/CephAll.yaml +++ b/roles/CephAll.yaml @@ -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 diff --git a/roles/CephFile.yaml b/roles/CephFile.yaml index 61a01f9fa8..cd601d4410 100644 --- a/roles/CephFile.yaml +++ b/roles/CephFile.yaml @@ -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 diff --git a/roles/CephObject.yaml b/roles/CephObject.yaml index 033c55bda4..801a4887a4 100644 --- a/roles/CephObject.yaml +++ b/roles/CephObject.yaml @@ -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 diff --git a/roles/CephStorage.yaml b/roles/CephStorage.yaml index 149db44c9c..998311906f 100644 --- a/roles/CephStorage.yaml +++ b/roles/CephStorage.yaml @@ -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 diff --git a/roles/Compute.yaml b/roles/Compute.yaml index 77d04c9d71..c75584f156 100644 --- a/roles/Compute.yaml +++ b/roles/Compute.yaml @@ -23,6 +23,7 @@ deprecated_server_resource_name: 'NovaCompute' deprecated_nic_config_name: 'compute.yaml' disable_upgrade_deployment: True + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeAlt.yaml b/roles/ComputeAlt.yaml index ca374f80ad..e63918be3a 100644 --- a/roles/ComputeAlt.yaml +++ b/roles/ComputeAlt.yaml @@ -14,6 +14,7 @@ disable_constraints: True RoleParametersDefault: TunedProfileName: "virtual-host" + update_serial: 25 ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts diff --git a/roles/ComputeDVR.yaml b/roles/ComputeDVR.yaml index fa7101886d..eec7dd891c 100644 --- a/roles/ComputeDVR.yaml +++ b/roles/ComputeDVR.yaml @@ -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 diff --git a/roles/ComputeHCI.yaml b/roles/ComputeHCI.yaml index 66da58c9aa..5b8f941cb4 100644 --- a/roles/ComputeHCI.yaml +++ b/roles/ComputeHCI.yaml @@ -12,6 +12,8 @@ disable_upgrade_deployment: True RoleParametersDefault: TunedProfileName: "throughput-performance" + # CephOSD present so serial has to be 1 + update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeInstanceHA.yaml b/roles/ComputeInstanceHA.yaml index 8c90ef998a..f576f7bcaf 100644 --- a/roles/ComputeInstanceHA.yaml +++ b/roles/ComputeInstanceHA.yaml @@ -13,6 +13,7 @@ disable_upgrade_deployment: True RoleParametersDefault: TunedProfileName: "virtual-host" + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeLiquidio.yaml b/roles/ComputeLiquidio.yaml index c70da5a9a6..ec60c1e652 100644 --- a/roles/ComputeLiquidio.yaml +++ b/roles/ComputeLiquidio.yaml @@ -14,6 +14,7 @@ HostnameFormatDefault: '%stackname%-lionovacompute-%index%' RoleParametersDefault: TunedProfileName: "virtual-host" + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeOvsDpdk.yaml b/roles/ComputeOvsDpdk.yaml index 6c09a20f12..afb487338d 100644 --- a/roles/ComputeOvsDpdk.yaml +++ b/roles/ComputeOvsDpdk.yaml @@ -17,6 +17,7 @@ TunedProfileName: "cpu-partitioning" NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024 + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeOvsDpdkRT.yaml b/roles/ComputeOvsDpdkRT.yaml index 174bffd9af..a4a9ba5a53 100644 --- a/roles/ComputeOvsDpdkRT.yaml +++ b/roles/ComputeOvsDpdkRT.yaml @@ -17,6 +17,7 @@ NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024 disable_upgrade_deployment: True + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeOvsDpdkSriov.yaml b/roles/ComputeOvsDpdkSriov.yaml index 2c5051697f..dfa74b762f 100644 --- a/roles/ComputeOvsDpdkSriov.yaml +++ b/roles/ComputeOvsDpdkSriov.yaml @@ -15,6 +15,7 @@ NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024 disable_upgrade_deployment: True + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeOvsDpdkSriovRT.yaml b/roles/ComputeOvsDpdkSriovRT.yaml index 7cb40f51ee..79dd1e8a42 100644 --- a/roles/ComputeOvsDpdkSriovRT.yaml +++ b/roles/ComputeOvsDpdkSriovRT.yaml @@ -16,6 +16,7 @@ NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024 disable_upgrade_deployment: True + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeRealTime.yaml b/roles/ComputeRealTime.yaml index c800be1c51..9e3cfd74a4 100644 --- a/roles/ComputeRealTime.yaml +++ b/roles/ComputeRealTime.yaml @@ -20,6 +20,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 diff --git a/roles/ComputeSriov.yaml b/roles/ComputeSriov.yaml index a4367de9d8..4ea06402ea 100644 --- a/roles/ComputeSriov.yaml +++ b/roles/ComputeSriov.yaml @@ -13,6 +13,7 @@ disable_upgrade_deployment: True RoleParametersDefault: TunedProfileName: "cpu-partitioning" + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/ComputeSriovRT.yaml b/roles/ComputeSriovRT.yaml index 17446db808..0d55c77239 100644 --- a/roles/ComputeSriovRT.yaml +++ b/roles/ComputeSriovRT.yaml @@ -14,6 +14,7 @@ ImageDefault: overcloud-realtime-compute RoleParametersDefault: TunedProfileName: "realtime-virtual-host" + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/Controller.yaml b/roles/Controller.yaml index c593d05480..57d5823d09 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -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 diff --git a/roles/ControllerAllNovaStandalone.yaml b/roles/ControllerAllNovaStandalone.yaml index 45ecc20d2c..d9170590fd 100644 --- a/roles/ControllerAllNovaStandalone.yaml +++ b/roles/ControllerAllNovaStandalone.yaml @@ -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 diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml index 7efad7df96..ddfccfe927 100644 --- a/roles/ControllerNoCeph.yaml +++ b/roles/ControllerNoCeph.yaml @@ -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 diff --git a/roles/ControllerNovaStandalone.yaml b/roles/ControllerNovaStandalone.yaml index a0a17a2597..2f6cb855c1 100644 --- a/roles/ControllerNovaStandalone.yaml +++ b/roles/ControllerNovaStandalone.yaml @@ -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 diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml index c20c2fe4ae..7757ef53b0 100644 --- a/roles/ControllerOpenstack.yaml +++ b/roles/ControllerOpenstack.yaml @@ -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 diff --git a/roles/ControllerStorageNfs.yaml b/roles/ControllerStorageNfs.yaml index d699b794aa..6db966b181 100644 --- a/roles/ControllerStorageNfs.yaml +++ b/roles/ControllerStorageNfs.yaml @@ -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 diff --git a/roles/Database.yaml b/roles/Database.yaml index 82ed1d97e0..f42f78ef0d 100644 --- a/roles/Database.yaml +++ b/roles/Database.yaml @@ -7,6 +7,7 @@ networks: - InternalApi HostnameFormatDefault: '%stackname%-database-%index%' + update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/HciCephAll.yaml b/roles/HciCephAll.yaml index e2a8028726..69983059d2 100644 --- a/roles/HciCephAll.yaml +++ b/roles/HciCephAll.yaml @@ -13,6 +13,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 diff --git a/roles/HciCephFile.yaml b/roles/HciCephFile.yaml index 558243579e..503b1a2c9f 100644 --- a/roles/HciCephFile.yaml +++ b/roles/HciCephFile.yaml @@ -13,6 +13,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 diff --git a/roles/HciCephMon.yaml b/roles/HciCephMon.yaml index c765e48e8a..b09e547afb 100644 --- a/roles/HciCephMon.yaml +++ b/roles/HciCephMon.yaml @@ -13,6 +13,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 diff --git a/roles/HciCephObject.yaml b/roles/HciCephObject.yaml index ff595d097a..f21b60967a 100644 --- a/roles/HciCephObject.yaml +++ b/roles/HciCephObject.yaml @@ -13,6 +13,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 diff --git a/roles/IronicConductor.yaml b/roles/IronicConductor.yaml index 28e23b7c61..161c5741e6 100644 --- a/roles/IronicConductor.yaml +++ b/roles/IronicConductor.yaml @@ -8,6 +8,7 @@ - InternalApi - Storage HostnameFormatDefault: '%stackname%-ironic-%index%' + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/Messaging.yaml b/roles/Messaging.yaml index f8b10cb183..9af1debbbb 100644 --- a/roles/Messaging.yaml +++ b/roles/Messaging.yaml @@ -6,6 +6,7 @@ Standalone messaging role with RabbitMQ being managed via Pacemaker networks: - InternalApi + update_serial: 1 HostnameFormatDefault: '%stackname%-messaging-%index%' ServicesDefault: - OS::TripleO::Services::Aide diff --git a/roles/Networker.yaml b/roles/Networker.yaml index 854cda20bb..80b08222c8 100644 --- a/roles/Networker.yaml +++ b/roles/Networker.yaml @@ -8,6 +8,7 @@ - InternalApi - Tenant HostnameFormatDefault: '%stackname%-networker-%index%' + update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/Novacontrol.yaml b/roles/Novacontrol.yaml index efe40d2e1e..e525cc5c1e 100644 --- a/roles/Novacontrol.yaml +++ b/roles/Novacontrol.yaml @@ -8,6 +8,7 @@ - InternalApi - Storage HostnameFormatDefault: '%stackname%-novacontrol-%index%' + update_serial: 25 ServicesDefault: - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts diff --git a/roles/ObjectStorage.yaml b/roles/ObjectStorage.yaml index 8695f315a6..96b9eaffda 100644 --- a/roles/ObjectStorage.yaml +++ b/roles/ObjectStorage.yaml @@ -17,6 +17,7 @@ deprecated_param_flavor: 'OvercloudSwiftStorageFlavor' deprecated_nic_config_name: 'swift-storage.yaml' disable_upgrade_deployment: True + update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD diff --git a/roles/Telemetry.yaml b/roles/Telemetry.yaml index d1af23b3e3..839fcaf818 100644 --- a/roles/Telemetry.yaml +++ b/roles/Telemetry.yaml @@ -8,6 +8,7 @@ - InternalApi - Storage HostnameFormatDefault: '%stackname%-telemetry-%index%' + update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AodhApi diff --git a/roles_data.yaml b/roles_data.yaml index fe2b800ad6..321b485c9c 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -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 @@ -201,6 +202,7 @@ deprecated_server_resource_name: 'NovaCompute' deprecated_nic_config_name: 'compute.yaml' disable_upgrade_deployment: True + update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD @@ -258,6 +260,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 @@ -306,6 +309,7 @@ deprecated_param_flavor: 'OvercloudSwiftStorageFlavor' deprecated_nic_config_name: 'swift-storage.yaml' disable_upgrade_deployment: True + update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD @@ -345,6 +349,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