2 # Copyright (C) 2014 eNovance SAS <licensing@enovance.com>
4 # Author: Emilien Macchi <emilien.macchi@enovance.com>
6 # Licensed under the Apache License, Version 2.0 (the "License"); you may
7 # not use this file except in compliance with the License. You may obtain
8 # a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15 # License for the specific language governing permissions and limitations
18 # == Class: keystone::cron::token_flush
20 # Installs a cron job to purge expired tokens.
25 # (optional) Defaults to present.
26 # Valid values are present, absent.
29 # (optional) Defaults to '1'.
32 # (optional) Defaults to '0'.
35 # (optional) Defaults to '*'.
38 # (optional) Defaults to '*'.
41 # (optional) Defaults to '*'.
44 # (optional) Seconds. Defaults to 0. Should be a positive integer.
45 # Induces a random delay before running the cronjob to avoid running all
46 # cron jobs at the same time on all hosts this job is configured.
48 class keystone::cron::token_flush (
61 $sleep = "sleep `expr \${RANDOM} \\% ${maxdelay}`; "
64 cron { 'keystone-manage token_flush':
66 command => "${sleep}keystone-manage token_flush >>/var/log/keystone/keystone-tokenflush.log 2>&1",
67 environment => 'PATH=/bin:/usr/bin:/usr/sbin SHELL=/bin/sh',
71 monthday => $monthday,