Puppet Class: aodh::expirer

Defined in:
manifests/expirer.pp

Overview

Class: aodh::expirer

Setups Aodh Expirer service to enable TTL feature.

Parameters

[*ensure*]
  (optional) The state of cron job.
  Defaults to present.

[*package_ensure*]
  (optional) ensure state for package.
  Defaults to 'present'

[*minute*]
  (optional) Defaults to '1'.

[*hour*]
  (optional) Defaults to '0'.

[*monthday*]
  (optional) Defaults to '*'.

[*month*]
  (optional) Defaults to '*'.

[*weekday*]
  (optional) Defaults to '*'.

[*maxdelay*]
  (optional) In Seconds. Should be a positive integer.
  Induces a random delay before running the cronjob to avoid running
  all cron jobs at the same time on all hosts this job is configured.
  Defaults to 0.

[*alarm_histories_delete_batch_size*]
  (optional) Limit number of deleted alarm histories in single purge run
  Defaults to $facts['os_service_default'].

Parameters:

  • ensure (Enum['present', 'absent']) (defaults to: 'present')
  • package_ensure (Any) (defaults to: 'present')
  • minute (Any) (defaults to: 1)
  • hour (Any) (defaults to: 0)
  • monthday (Any) (defaults to: '*')
  • month (Any) (defaults to: '*')
  • weekday (Any) (defaults to: '*')
  • maxdelay (Integer[0]) (defaults to: 0)
  • alarm_histories_delete_batch_size (Any) (defaults to: $facts['os_service_default'])


41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'manifests/expirer.pp', line 41

class aodh::expirer (
  Enum['present', 'absent'] $ensure  = 'present',
  $package_ensure                    = 'present',
  $minute                            = 1,
  $hour                              = 0,
  $monthday                          = '*',
  $month                             = '*',
  $weekday                           = '*',
  Integer[0] $maxdelay               = 0,
  $alarm_histories_delete_batch_size = $facts['os_service_default'],
) {

  include aodh::params
  include aodh::deps

  package { 'aodh-expirer':
    ensure => $package_ensure,
    name   => $::aodh::params::expirer_package_name,
    tag    => ['openstack', 'aodh-package']
  }

  if $maxdelay == 0 {
    $sleep = ''
  } else {
    $sleep = "sleep `expr \${RANDOM} \\% ${maxdelay}`; "
  }

  aodh_config { 'database/alarm_histories_delete_batch_size':
    value => $alarm_histories_delete_batch_size
  }

  cron { 'aodh-expirer':
    ensure      => $ensure,
    command     => "${sleep}${aodh::params::expirer_command}",
    environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
    user        => $::aodh::params::user,
    minute      => $minute,
    hour        => $hour,
    monthday    => $monthday,
    month       => $month,
    weekday     => $weekday,
    require     => Anchor['aodh::dbsync::end'],
  }

}