From 5fc5646cdd7c7cdbc9ce43e8fbcc579346fb0164 Mon Sep 17 00:00:00 2001 From: Elizabeth Krumbach Joseph Date: Fri, 21 Mar 2014 07:36:18 -0700 Subject: [PATCH] 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 --- modules/bugdaystats/files/config.js | 16 +++++ modules/bugdaystats/manifests/init.pp | 56 +++++++++++++++++ modules/bugdaystats/manifests/site.pp | 61 +++++++++++++++++++ modules/openstack_project/manifests/status.pp | 11 ++++ .../templates/status.vhost.erb | 12 ++-- 5 files changed, 150 insertions(+), 6 deletions(-) create mode 100644 modules/bugdaystats/files/config.js create mode 100644 modules/bugdaystats/manifests/init.pp create mode 100644 modules/bugdaystats/manifests/site.pp diff --git a/modules/bugdaystats/files/config.js b/modules/bugdaystats/files/config.js new file mode 100644 index 0000000000..f5be464ac4 --- /dev/null +++ b/modules/bugdaystats/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/modules/bugdaystats/manifests/init.pp b/modules/bugdaystats/manifests/init.pp new file mode 100644 index 0000000000..abc2a7821d --- /dev/null +++ b/modules/bugdaystats/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/modules/bugdaystats/manifests/site.pp b/modules/bugdaystats/manifests/site.pp new file mode 100644 index 0000000000..e40f9afcf9 --- /dev/null +++ b/modules/bugdaystats/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', + } +} diff --git a/modules/openstack_project/manifests/status.pp b/modules/openstack_project/manifests/status.pp index 39765bffd2..8923c0265b 100644 --- a/modules/openstack_project/manifests/status.pp +++ b/modules/openstack_project/manifests/status.pp @@ -241,4 +241,15 @@ class openstack_project::status ( configfile => 'integrated.yaml', httproot => '/srv/static/release', } + ########################################################### + # Status - bugdaystats + + include bugdaystats + + bugdaystats::site { 'bugdaystats': + git_url => 'git://git.openstack.org/openstack-infra/bugdaystats', + serveradmin => 'webmaster@openstack.org', + httproot => '/srv/static/bugdaystats', + configfile => '/var/lib/bugdaystats/config.js', + } } diff --git a/modules/openstack_project/templates/status.vhost.erb b/modules/openstack_project/templates/status.vhost.erb index 8ed3061a4a..3071d63921 100644 --- a/modules/openstack_project/templates/status.vhost.erb +++ b/modules/openstack_project/templates/status.vhost.erb @@ -21,12 +21,12 @@ NameVirtualHost <%= vhost_name %>:<%= port %> Allow from all - RewriteRule ^/bugday$ /bugday/ [R] - RewriteRule ^/bugday/(.*)$ http://old-wiki.openstack.org/bugday/$1 [P] - - Order allow,deny - Allow from all - + Alias /bugday /srv/static/bugdaystats + + AllowOverride None + Order allow,deny + allow from all + Alias /reviews /srv/static/reviewday