Configure Max Delay for purge job about shadow tables in nova

Recently we have a cron job to purge records in nova shadow tables.
This cron job runs on all controller nodes, but as all controllers
have configuration to run the job at the really same time, which
can result in db lock timeout or db spike.

This patch makes sure that we set a default value to Max Delay
parameter for the cron job, to avoid the problem caused by the
collision.

Change-Id: Id372ce98d8ba761ef313bd90a406737250503cab
This commit is contained in:
Takashi Kajinami 2019-06-25 08:02:14 +09:00
parent b546b425f9
commit 5d1a01429b
2 changed files with 13 additions and 0 deletions

View File

@ -176,6 +176,11 @@ parameters:
description: >
Cron to purge shadow tables - Log destination
default: '/var/log/nova/nova-rowspurge.log'
NovaCronPurgeShadowTablesMaxDelay:
type: string
description: >
Cron to purge shadow tables - Max Delay
default: '3600'
NovaCronPurgeShadowTablesAge:
type: number
description: >
@ -331,6 +336,7 @@ outputs:
nova::cron::purge_shadow_tables::weekday: {get_param: NovaCronPurgeShadowTablesWeekday}
nova::cron::purge_shadow_tables::user: {get_param: NovaCronPurgeShadowTablesUser}
nova::cron::purge_shadow_tables::destination: {get_param: NovaCronPurgeShadowTablesDestination}
nova::cron::purge_shadow_tables::maxdelay: {get_param: NovaCronPurgeShadowTablesMaxDelay}
nova::cron::purge_shadow_tables::age: {get_param: NovaCronPurgeShadowTablesAge}
nova::cron::purge_shadow_tables::verbose: {get_param: NovaCronPurgeShadowTablesVerbose}
nova::cron::purge_shadow_tables::all_cells: {get_param: NovaCronPurgeShadowTablesAllCells}

View File

@ -0,0 +1,7 @@
---
features:
- |
New parameter, NovaCronPurgeShadowTablesMaxDelay, is introduced to
configure max delay parameter, which controles randomized sleep before
each controller node executes the cron job to purge items in nova shadow
tables.