commit c30747111f98e0cd872857ff7a8a90bd0941687f Author: Elizabeth Krumbach Joseph Date: Fri Mar 21 07:36:18 2014 -0700 Move bugdaystats to to status.openstack.org The bugdaystats script still runs on old-wiki. Now that we've brought the repo into -infra we can move it over. Closes-Bug: #1172440 Change-Id: Id02e280ad7261b01b00f3fe0782bd39bcc8409f8 diff --git a/files/config.js b/files/config.js new file mode 100644 index 0000000..f5be464 --- /dev/null +++ b/files/config.js @@ -0,0 +1,16 @@ +{ + "projects": [ + { "project": "nova", "height": 380 }, + { "project": "glance" }, + { "project": "keystone" }, + { "project": "neutron" }, + { "project": "cinder" }, + { "project": "horizon" }, + { "project": "swift" }, + { "project": "openstack-manuals", "title": "Manuals" }, + { "project": "openstack-api-site", "title": "API Site" }, + { "project": "tempest" } + ], + "openstack_status": 1, + "rotation": 3 +} diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..abc2a78 --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,56 @@ +# 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. +# +# Class: bugdaystats +# +class bugdaystats { + if ! defined(Package['python-launchpadlib']) { + package { 'python-launchpadlib': + ensure => present, + } + } + + if ! defined(Package['python-jinja2']) { + package { 'python-jinja2': + ensure => present, + } + } + + if ! defined(Package['python-simplejson']) { + package { 'python-simplejson': + ensure => present, + } + } + + group { 'bugdaystats': + ensure => present, + } + + user { 'bugdaystats': + ensure => present, + home => '/var/lib/bugdaystats', + shell => '/bin/bash', + gid => 'bugdaystats', + managehome => true, + require => Group['bugdaystats'], + } + + file { '/var/lib/bugdaystats': + ensure => directory, + owner => 'bugdaystats', + group => 'bugdaystats', + mode => '0755', + require => User['bugdaystats'], + } +} diff --git a/manifests/site.pp b/manifests/site.pp new file mode 100644 index 0000000..e40f9af --- /dev/null +++ b/manifests/site.pp @@ -0,0 +1,61 @@ +# 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( + $git_url = '', + $configfile = '', + $httproot = '', + $serveradmin = '' +) { + 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 => 'https://git.openstack.org/openstack-infra/bugdaystats', + 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', + } +}