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:
parent
398173dd29
commit
21dca835a2
|
@ -12,24 +12,17 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
# Define: reviewday
|
# Class: reviewday
|
||||||
#
|
#
|
||||||
define reviewday::init(
|
class reviewday {
|
||||||
$gerrit_url = '',
|
if ! defined(Package['python-launchpadlib']) {
|
||||||
$gerrit_port = '',
|
package { 'python-launchpadlib':
|
||||||
$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':
|
|
||||||
ensure => present,
|
ensure => present,
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
package { 'python-cheetah':
|
||||||
|
ensure => present,
|
||||||
|
}
|
||||||
|
|
||||||
group { 'reviewday':
|
group { 'reviewday':
|
||||||
ensure => present,
|
ensure => present,
|
||||||
|
@ -37,54 +30,13 @@ define reviewday::init(
|
||||||
|
|
||||||
user { 'reviewday':
|
user { 'reviewday':
|
||||||
ensure => present,
|
ensure => present,
|
||||||
home => "/var/lib/${name}",
|
home => '/var/lib/reviewday',
|
||||||
shell => '/bin/bash',
|
shell => '/bin/bash',
|
||||||
gid => 'reviewday',
|
gid => 'reviewday',
|
||||||
managehome => true,
|
managehome => true,
|
||||||
require => Group['reviewday'],
|
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
|
# vim:sw=2:ts=2:expandtab:textwidth=79
|
||||||
|
|
|
@ -15,26 +15,64 @@
|
||||||
# == Define: reviewday
|
# == Define: reviewday
|
||||||
#
|
#
|
||||||
define reviewday::site(
|
define reviewday::site(
|
||||||
|
$gerrit_url = '',
|
||||||
|
$gerrit_port = '',
|
||||||
|
$gerrit_user = '',
|
||||||
|
$reviewday_rsa_key_contents = '',
|
||||||
|
$reviewday_rsa_pubkey_contents = '',
|
||||||
|
$reviewday_gerrit_ssh_key = '',
|
||||||
$git_url = '',
|
$git_url = '',
|
||||||
$httproot = '',
|
$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,
|
ensure => present,
|
||||||
provider => git,
|
provider => git,
|
||||||
source => $git_url,
|
source => $git_url,
|
||||||
}
|
}
|
||||||
|
|
||||||
apache::vhost { $name:
|
|
||||||
docroot => $httproot,
|
|
||||||
port => 80,
|
|
||||||
priority => '50',
|
|
||||||
require => File[$httproot],
|
|
||||||
template => 'reviewday.vhost.erb',
|
|
||||||
}
|
|
||||||
|
|
||||||
file { $httproot:
|
file { $httproot:
|
||||||
ensure => directory,
|
ensure => directory,
|
||||||
owner => 'reviewday',
|
owner => 'reviewday',
|
||||||
|
@ -42,19 +80,20 @@ define reviewday::site(
|
||||||
mode => '0644',
|
mode => '0644',
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/var/lib/${name}/.ssh/config":
|
file { '/var/lib/reviewday/.ssh/config':
|
||||||
ensure => present,
|
ensure => present,
|
||||||
content => template('ssh_config.erb'),
|
content => template('ssh_config.erb'),
|
||||||
owner => reviewday,
|
owner => 'reviewday',
|
||||||
group => reviewday,
|
group => 'reviewday',
|
||||||
mode => '0644',
|
mode => '0644',
|
||||||
}
|
}
|
||||||
|
|
||||||
cron { "update ${name} reviewday":
|
cron { 'update reviewday':
|
||||||
command => "cd /var/lib/${name}/reviewday && PYTHONPATH=\$PWD python bin/reviewday -o /${httproot}",
|
command => "cd /var/lib/reviewday/reviewday && PYTHONPATH=\$PWD python bin/reviewday -o ${httproot}",
|
||||||
minute => '*/15',
|
minute => '*/15',
|
||||||
user => 'reviewday',
|
user => 'reviewday',
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# vim:sw=2:ts=2:expandtab:textwidth=79
|
# vim:sw=2:ts=2:expandtab:textwidth=79
|
||||||
|
|
|
@ -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>
|
|
|
@ -2,5 +2,5 @@ Host review
|
||||||
Hostname <%= gerrit_url %>
|
Hostname <%= gerrit_url %>
|
||||||
Port <%= gerrit_port %>
|
Port <%= gerrit_port %>
|
||||||
User <%= gerrit_user %>
|
User <%= gerrit_user %>
|
||||||
IdentityFile /var/lib/<%= name %>/.ssh/id_rsa
|
IdentityFile /var/lib/reviewday/.ssh/id_rsa
|
||||||
UserKnownHostsFile /var/lib/<%= name %>/.ssh/known_hosts
|
UserKnownHostsFile /var/lib/reviewday/.ssh/known_hosts
|
||||||
|
|
Loading…
Reference in New Issue