From 3a4a77356fe372fbbd70d8902af65067646ad81b Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Thu, 7 Mar 2019 15:02:55 +0900 Subject: [PATCH] Add parameter to configure maxdelay in db purge/archive job This patch introduces new parameters, CinderCronDbPurgeMaxDelay and NovaCronDBArchivedMaxDelay, which enable us to configure maxdelay parameter in cinder db purge cron job and nova db archive cron job, like HeatCronPurgeDeletedMaxDelay which is used to configure maxdelay in heat cron job. Closes-Bug: #1823274 Change-Id: I112a228ed90a50aeee787e83a58a014519db7992 (cherry picked from commit 2a34ccb62b1037c420bff6e5f9d19f8887cf774a) --- deployment/cinder/cinder-base.yaml | 6 ++++++ deployment/nova/nova-api-container-puppet.yaml | 6 ++++++ releasenotes/notes/bug-1823274-ca992c1055035c7b.yaml | 7 +++++++ 3 files changed, 19 insertions(+) create mode 100644 releasenotes/notes/bug-1823274-ca992c1055035c7b.yaml diff --git a/deployment/cinder/cinder-base.yaml b/deployment/cinder/cinder-base.yaml index 5b7be04dd3..480d0f1a27 100644 --- a/deployment/cinder/cinder-base.yaml +++ b/deployment/cinder/cinder-base.yaml @@ -88,6 +88,11 @@ parameters: description: > Cron to move deleted instances to another table - Log destination default: '/var/log/cinder/cinder-rowsflush.log' + CinderCronDbPurgeMaxDelay: + type: string + description: > + Cron to move deleted instances to another table - Max Delay + default: '3600' RpcPort: default: 5672 description: The network port for messaging backend @@ -161,6 +166,7 @@ outputs: cinder::cron::db_purge::user: {get_param: CinderCronDbPurgeUser} cinder::cron::db_purge::age: {get_param: CinderCronDbPurgeAge} cinder::cron::db_purge::destination: {get_param: CinderCronDbPurgeDestination} + cinder::cron::db_purge::max_delay: {get_param: CinderCronDbPurgeMaxDelay} cinder::glance::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]} cinder::nova::interface: admin cinder::nova::auth_type: password diff --git a/deployment/nova/nova-api-container-puppet.yaml b/deployment/nova/nova-api-container-puppet.yaml index e89613808b..a059b705f6 100644 --- a/deployment/nova/nova-api-container-puppet.yaml +++ b/deployment/nova/nova-api-container-puppet.yaml @@ -120,6 +120,11 @@ parameters: description: > Cron to move deleted instances to another table that doesn't need backup - Week Day default: '*' + NovaCronDBArchivedMaxDelay: + type: string + description: > + Cron to move deleted instances to another table that doesn't need backup - Max Delay + default: '3600' conditions: @@ -228,6 +233,7 @@ outputs: nova::cron::archive_deleted_rows::monthday: {get_param: NovaCronDBArchivedMonthday} nova::cron::archive_deleted_rows::month: {get_param: NovaCronDBArchivedMonth} nova::cron::archive_deleted_rows::weekday: {get_param: NovaCronDBArchivedWeekday} + nova::cron::archive_deleted_rows::maxdelay: {get_param: NovaCronDBArchivedMaxDelay} nova_enable_db_archive: {get_param: NovaEnableDBArchive} nova::policy::policies: {get_param: NovaApiPolicies} - diff --git a/releasenotes/notes/bug-1823274-ca992c1055035c7b.yaml b/releasenotes/notes/bug-1823274-ca992c1055035c7b.yaml new file mode 100644 index 0000000000..fefae3df06 --- /dev/null +++ b/releasenotes/notes/bug-1823274-ca992c1055035c7b.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + New parameters, NovaCronDBArchivedMaxDelay and CinderCronDbPurgeMaxDelay, + are introduced to configure max_delay parameter to calculate randomized + sleep time before db archive/purge. This avoids db collisions when + performing db archive/purge operations on multiple controller nodes.