Refactor reviewday into class and definition

The reviewday puppet files have been split between static class and a
definition that pulls several variables for openstack-specific use.

Change-Id: Ibeb450900a75269c4c8a5aaaa51fb105aff7af15
Reviewed-on: https://review.openstack.org/24915
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
This commit is contained in:
Elizabeth Krumbach 2013-03-20 10:39:08 -07:00 committed by Jenkins
parent 3ba87b6a05
commit 5d5a435dbf
6 changed files with 73 additions and 98 deletions

View File

@ -156,12 +156,10 @@ class openstack_project::static (
include reviewday
reviewday::site { 'reviewday.openstack.org':
git_url => 'https://github.com/openstack-infra/reviewday.git',
serveradmin => 'webmaster@openstack.org',
httproot => "/srv/static/${name}",
}
reviewday::init { 'reviewday.openstack.org':
reviewday::site { 'reviewday':
git_url => 'https://github.com/openstack-infra/reviewday.git',
serveradmin => 'webmaster@openstack.org',
httproot => '/srv/static/reviewday',
gerrit_url => 'review.openstack.org',
gerrit_port => '29418',
gerrit_user => 'reviewday',

View File

@ -35,13 +35,6 @@ NameVirtualHost <%= vhost_name %>:<%= port %>
Allow from all
</Location>
RewriteRule ^/reviews$ /reviews/ [R]
RewriteRule ^/reviews/(.*)$ http://old-wiki.openstack.org/reviews/$1 [P]
<Location /reviews/>
Order allow,deny
Allow from all
</Location>
RewriteRule ^/bugday$ /bugday/ [R]
RewriteRule ^/bugday/(.*)$ http://old-wiki.openstack.org/bugday/$1 [P]
<Location /bugday/>
@ -49,12 +42,15 @@ NameVirtualHost <%= vhost_name %>:<%= port %>
Allow from all
</Location>
Alias /reviews <%= $reviewday::site::httproot %>
<Directory <%= docroot %>>
Options <%= options %>
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/<%= name %>_error.log
LogLevel warn
CustomLog /var/log/apache2/<%= name %>_access.log combined

View File

@ -12,24 +12,17 @@
# License for the specific language governing permissions and limitations
# under the License.
#
# Define: reviewday
# Class: reviewday
#
define reviewday::init(
$gerrit_url = '',
$gerrit_port = '',
$gerrit_user = '',
$reviewday_rsa_key_contents = '',
$reviewday_rsa_pubkey_contents = '',
$reviewday_gerrit_ssh_key = ''
) {
if ! defined(Package['python-launchpadlib']) {
package { 'python-launchpadlib':
ensure => present,
}
}
package { 'python-cheetah':
class reviewday {
if ! defined(Package['python-launchpadlib']) {
package { 'python-launchpadlib':
ensure => present,
}
}
package { 'python-cheetah':
ensure => present,
}
group { 'reviewday':
ensure => present,
@ -37,54 +30,13 @@ define reviewday::init(
user { 'reviewday':
ensure => present,
home => "/var/lib/${name}",
home => '/var/lib/reviewday',
shell => '/bin/bash',
gid => 'reviewday',
managehome => true,
require => Group['reviewday'],
}
file { "/var/lib/${name}/.ssh/":
ensure => directory,
owner => 'reviewday',
group => 'reviewday',
mode => '0700',
require => User['reviewday'],
}
if $reviewday_rsa_key_contents != '' {
file { "/var/lib/${name}/.ssh/id_rsa":
owner => 'reviewday',
group => 'reviewday',
mode => '0600',
content => $reviewday_rsa_key_contents,
replace => true,
require => File["/var/lib/${name}/.ssh/"]
}
}
if $reviewday_rsa_pubkey_contents != '' {
file { "/var/lib/${name}/.ssh/id_rsa.pub":
owner => 'reviewday',
group => 'reviewday',
mode => '0600',
content => $reviewday_rsa_pubkey_contents,
replace => true,
require => File["/var/lib/${name}/.ssh/"]
}
}
if $reviewday_gerrit_ssh_key != '' {
file { "/var/lib/${name}/.ssh/known_hosts":
owner => 'reviewday',
group => 'reviewday',
mode => '0600',
content => $reviewday_gerrit_ssh_key,
replace => true,
require => File["/var/lib/${name}/.ssh/"]
}
}
}
# vim:sw=2:ts=2:expandtab:textwidth=79

View File

@ -15,26 +15,64 @@
# == Define: reviewday
#
define reviewday::site(
$gerrit_url = '',
$gerrit_port = '',
$gerrit_user = '',
$reviewday_rsa_key_contents = '',
$reviewday_rsa_pubkey_contents = '',
$reviewday_gerrit_ssh_key = '',
$git_url = '',
$httproot = '',
$serveradmin = '',
$serveradmin = ''
) {
include apache
vcsrepo { "/var/lib/${name}/reviewday":
file { '/var/lib/reviewday/.ssh/':
ensure => directory,
owner => 'reviewday',
group => 'reviewday',
mode => '0700',
require => User['reviewday'],
}
if $reviewday_rsa_key_contents != '' {
file { '/var/lib/reviewday/.ssh/id_rsa':
owner => 'reviewday',
group => 'reviewday',
mode => '0600',
content => $reviewday_rsa_key_contents,
replace => true,
require => File['/var/lib/reviewday/.ssh/']
}
}
if $reviewday_rsa_pubkey_contents != '' {
file { '/var/lib/reviewday/.ssh/id_rsa.pub':
owner => 'reviewday',
group => 'reviewday',
mode => '0600',
content => $reviewday_rsa_pubkey_contents,
replace => true,
require => File['/var/lib/reviewday/.ssh/']
}
}
if $reviewday_gerrit_ssh_key != '' {
file { '/var/lib/reviewday/.ssh/known_hosts':
owner => 'reviewday',
group => 'reviewday',
mode => '0600',
content => $reviewday_gerrit_ssh_key,
replace => true,
require => File['/var/lib/reviewday/.ssh/']
}
}
vcsrepo { '/var/lib/reviewday/reviewday':
ensure => present,
provider => git,
source => $git_url,
}
apache::vhost { $name:
docroot => $httproot,
port => 80,
priority => '50',
require => File[$httproot],
template => 'reviewday.vhost.erb',
}
file { $httproot:
ensure => directory,
owner => 'reviewday',
@ -42,19 +80,20 @@ define reviewday::site(
mode => '0644',
}
file { "/var/lib/${name}/.ssh/config":
file { '/var/lib/reviewday/.ssh/config':
ensure => present,
content => template('ssh_config.erb'),
owner => reviewday,
group => reviewday,
owner => 'reviewday',
group => 'reviewday',
mode => '0644',
}
cron { "update ${name} reviewday":
command => "cd /var/lib/${name}/reviewday && PYTHONPATH=\$PWD python bin/reviewday -o /${httproot}",
cron { 'update reviewday':
command => "cd /var/lib/reviewday/reviewday && PYTHONPATH=\$PWD python bin/reviewday -o ${httproot}",
minute => '*/15',
user => 'reviewday',
}
}
# vim:sw=2:ts=2:expandtab:textwidth=79

View File

@ -1,10 +0,0 @@
<VirtualHost <%= name %>:80>
ServerAdmin <%= serveradmin %>
DocumentRoot <%= httproot %>
ErrorLog ${APACHE_LOG_DIR}/<%= name %>-error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/<%= name %>-access.log combined
</VirtualHost>

View File

@ -2,5 +2,5 @@ Host review
Hostname <%= gerrit_url %>
Port <%= gerrit_port %>
User <%= gerrit_user %>
IdentityFile /var/lib/<%= name %>/.ssh/id_rsa
UserKnownHostsFile /var/lib/<%= name %>/.ssh/known_hosts
IdentityFile /var/lib/reviewday/.ssh/id_rsa
UserKnownHostsFile /var/lib/reviewday/.ssh/known_hosts