Enable heat-manage purge_deleted cron job
authorSteve Baker <sbaker@redhat.com>
Fri, 12 Feb 2016 01:07:25 +0000 (14:07 +1300)
committerSteve Baker <sbaker@redhat.com>
Fri, 12 Feb 2016 01:07:25 +0000 (14:07 +1300)
Without this the heat database tables will grow without limit.

Change-Id: I687e733db1a73ebc2047609a03be768093010dd4
DependsOn: Ia2b80e5003450cd794ebb0c9ca72200ec8616e81

puppet/controller.yaml
puppet/hieradata/controller.yaml
puppet/manifests/overcloud_controller.pp
puppet/manifests/overcloud_controller_pacemaker.pp

index 8fdddff..1f27928 100644 (file)
@@ -245,6 +245,11 @@ parameters:
     default: 0
     description: Number of workers for Heat service.
     type: number
+  HeatEnableDBPurge:
+    type: boolean
+    default: true
+    description: |
+        Whether to create cron job for purging soft deleted rows in the Heat database.
   HorizonSecret:
     description: Secret key for Django
     type: string
@@ -892,6 +897,7 @@ resources:
               - {get_param: HeatApiVirtualIP}
               - ':8000/v1/waitcondition'
         heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
+        heat_enable_db_purge: {get_param: HeatEnableDBPurge}
         horizon_allowed_hosts: {get_param: HorizonAllowedHosts}
         horizon_secret: {get_param: HorizonSecret}
         admin_email: {get_param: AdminEmail}
@@ -1325,6 +1331,7 @@ resources:
                 heat::database_connection: {get_input: heat_dsn}
                 heat::debug: {get_input: debug}
                 heat::db::mysql::password: {get_input: heat_password}
+                heat_enable_db_purge: {get_input: heat_enable_db_purge}
 
                 # Keystone
                 keystone::admin_token: {get_input: admin_token}
index 13f4eec..d0216b5 100644 (file)
@@ -105,6 +105,10 @@ cinder::config::cinder_config:
 heat::engine::configure_delegated_roles: false
 heat::engine::trusts_delegated_roles: []
 heat::instance_user: ''
+heat::cron::purge_deleted::age: 30
+heat::cron::purge_deleted::age_type: 'days'
+heat::cron::purge_deleted::maxdelay: 3600
+heat::cron::purge_deleted::destination: '/dev/null'
 
 # pacemaker
 pacemaker::corosync::cluster_name: 'tripleo_cluster'
index ae27233..13fc818 100644 (file)
@@ -599,6 +599,7 @@ if hiera('step') >= 4 {
   $keystone_enable_db_purge = hiera('keystone_enable_db_purge', true)
   $nova_enable_db_purge = hiera('nova_enable_db_purge', true)
   $cinder_enable_db_purge = hiera('cinder_enable_db_purge', true)
+  $heat_enable_db_purge = hiera('heat_enable_db_purge', true)
 
   if $keystone_enable_db_purge {
     include ::keystone::cron::token_flush
@@ -609,6 +610,9 @@ if hiera('step') >= 4 {
   if $cinder_enable_db_purge {
     include ::cinder::cron::db_purge
   }
+  if $heat_enable_db_purge {
+    include ::heat::cron::purge_deleted
+  }
 } #END STEP 4
 
 $package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_controller', hiera('step')])
index a34d070..95bf2f6 100644 (file)
@@ -1028,6 +1028,7 @@ if hiera('step') >= 4 {
   $keystone_enable_db_purge = hiera('keystone_enable_db_purge', true)
   $nova_enable_db_purge = hiera('nova_enable_db_purge', true)
   $cinder_enable_db_purge = hiera('cinder_enable_db_purge', true)
+  $heat_enable_db_purge = hiera('heat_enable_db_purge', true)
 
   if $keystone_enable_db_purge {
     include ::keystone::cron::token_flush
@@ -1038,6 +1039,9 @@ if hiera('step') >= 4 {
   if $cinder_enable_db_purge {
     include ::cinder::cron::db_purge
   }
+  if $heat_enable_db_purge {
+    include ::heat::cron::purge_deleted
+  }
 
   if $pacemaker_master {