Colleen Murphy 0404830aca Add Gemfile and puppet 4 checks
In anticipation of puppet 4, start trying to deal with puppet 4 things
that can be helpfully predicted by puppet lint plugins.

This patch also corrects errors caught by the
puppet-lint-empty_string-check gem. It makes the
$bugdaystats::site::configfile and $bugdaystats::site::httproot
parameters required since the file resources named after them could not
possibly work if they were left undefined or empty string. The
parameter $bugdaystats::site::serveradmin is currently unused in this
module, so we make it optional and default to undef in preparation for
when this functionality is added.

Change-Id: I9eef9a8d49c1ca597783b19fbbbe0129c6157cd5
2015-07-14 19:59:50 -07:00

62 lines
1.7 KiB
Puppet

# Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# == Define: bugdaystats
#
define bugdaystats::site(
$configfile,
$httproot,
$git_url = 'https://git.openstack.org/openstack-infra/bugdaystats',
$serveradmin = undef
) {
file { $configfile:
mode => '0444',
source => 'puppet:///modules/bugdaystats/config.js',
require => File['/var/lib/bugdaystats'],
}
file { $httproot:
ensure => directory,
owner => 'bugdaystats',
group => 'bugdaystats',
mode => '0755',
}
vcsrepo { '/var/lib/bugdaystats/bugdaystats':
ensure => latest,
provider => git,
source => $git_url,
revision => 'master',
require => File['/var/lib/bugdaystats'],
}
file { "${httproot}/js":
ensure => link,
target => '/var/lib/bugdaystats/bugdaystats/output/js',
require => Vcsrepo['/var/lib/bugdaystats/bugdaystats'],
}
file { '/var/lib/bugdaystats/bugdaystats/config.js':
ensure => link,
target => $configfile,
require => Vcsrepo['/var/lib/bugdaystats/bugdaystats'],
}
cron { 'update bugdaystats':
command => "/var/lib/bugdaystats/bugdaystats/bugdaystats.py ${httproot}",
minute => '*/30',
user => 'bugdaystats',
}
}