Add etherpad-dev node and host class.
We now host etherpad.openstack.org. To properly test upgrades and things add a proper etherpad-dev host to puppet. Currently the configuration is set to mimic that which is on etherpad.o.o. Once the -dev host is up and running it will be used to test upgrades to more modern etherpad lite and node.js version. Also at some point we will probably want to use the puppetlabs-mysql module to manage the mysql instances for etherpad. This dev host makes that easier. Change-Id: I63500026a1a38d7c4dd5b00cc869586eb2483497 Reviewed-on: https://review.openstack.org/14861 Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Reviewed-by: James E. Blair <corvus@inaugust.com> Approved: Monty Taylor <mordred@inaugust.com> Reviewed-by: Monty Taylor <mordred@inaugust.com> Tested-by: Jenkins
This commit is contained in:
parent
94242e46ac
commit
3cbe0a8409
@ -162,6 +162,13 @@ node 'etherpad.openstack.org' {
|
||||
}
|
||||
}
|
||||
|
||||
node 'etherpad-dev.openstack.org' {
|
||||
class { 'openstack_project::etherpad_dev':
|
||||
database_password => hiera('etherpad-dev_db_password'),
|
||||
sysadmins => hiera('sysadmins'),
|
||||
}
|
||||
}
|
||||
|
||||
node 'wiki.openstack.org' {
|
||||
class { 'openstack_project::wiki':
|
||||
mysql_root_password => hiera('wiki_db_password'),
|
||||
|
@ -45,7 +45,9 @@ define buildsource(
|
||||
class etherpad_lite (
|
||||
$ep_user = 'eplite',
|
||||
$base_log_dir = '/var/log',
|
||||
$base_install_dir = '/opt/etherpad-lite'
|
||||
$base_install_dir = '/opt/etherpad-lite',
|
||||
$nodejs_version = 'v0.6.16',
|
||||
$eplite_version = '',
|
||||
) {
|
||||
|
||||
user { $ep_user:
|
||||
@ -69,11 +71,11 @@ class etherpad_lite (
|
||||
}
|
||||
|
||||
vcsrepo { "${base_install_dir}/nodejs":
|
||||
ensure => present,
|
||||
ensure => present,
|
||||
provider => git,
|
||||
source => 'https://github.com/joyent/node.git',
|
||||
revision => 'v0.6.16',
|
||||
require => Package['git']
|
||||
source => 'https://github.com/joyent/node.git',
|
||||
revision => $nodejs_version,
|
||||
require => Package['git']
|
||||
}
|
||||
|
||||
package { ['gzip',
|
||||
@ -101,12 +103,25 @@ class etherpad_lite (
|
||||
Vcsrepo["${base_install_dir}/nodejs"]]
|
||||
}
|
||||
|
||||
vcsrepo { "${base_install_dir}/etherpad-lite":
|
||||
ensure => present,
|
||||
provider => git,
|
||||
source => "https://github.com/Pita/etherpad-lite.git",
|
||||
owner => $ep_user,
|
||||
require => Package['git'],
|
||||
# Allow existing install to exist without modifying its git repo.
|
||||
# But give the option to specify versions for new installs.
|
||||
if $eplite_version != '' {
|
||||
vcsrepo { "${base_install_dir}/etherpad-lite":
|
||||
ensure => present,
|
||||
provider => git,
|
||||
source => 'https://github.com/Pita/etherpad-lite.git',
|
||||
owner => $ep_user,
|
||||
revision => $eplite_version,
|
||||
require => Package['git'],
|
||||
}
|
||||
} else {
|
||||
vcsrepo { "${base_install_dir}/etherpad-lite":
|
||||
ensure => present,
|
||||
provider => git,
|
||||
source => 'https://github.com/Pita/etherpad-lite.git',
|
||||
owner => $ep_user,
|
||||
require => Package['git'],
|
||||
}
|
||||
}
|
||||
|
||||
exec { 'install_etherpad_dependencies':
|
||||
|
38
modules/openstack_project/manifests/etherpad_dev.pp
Normal file
38
modules/openstack_project/manifests/etherpad_dev.pp
Normal file
@ -0,0 +1,38 @@
|
||||
class openstack_project::etherpad_dev (
|
||||
$database_password,
|
||||
$sysadmins = []
|
||||
) {
|
||||
class { 'openstack_project::server':
|
||||
iptables_public_tcp_ports => [22, 80, 443],
|
||||
sysadmins => $sysadmins
|
||||
}
|
||||
|
||||
class { 'etherpad_lite':
|
||||
# Use the version running on the prod server.
|
||||
eplite_version => '4195e11a41c5992bc555cef71246800bceaf1915',
|
||||
# Use the version running on the prod server.
|
||||
nodejs_version => 'v0.6.16',
|
||||
# Once dev install is working replace the above parameters with
|
||||
# the following to test automated upgrade by puppet.
|
||||
# eplite_version => '1.1.4',
|
||||
# nodejs_version => 'v0.8.14',
|
||||
}
|
||||
|
||||
include etherpad_lite::backup
|
||||
|
||||
class { 'etherpad_lite::apache':
|
||||
ssl_cert_file => '/etc/ssl/certs/ssl-cert-snakeoil.pem',
|
||||
ssl_key_file => '/etc/ssl/private/ssl-cert-snakeoil.key',
|
||||
ssl_chain_file => '',
|
||||
}
|
||||
|
||||
class { 'etherpad_lite::site':
|
||||
database_password => $database_password,
|
||||
}
|
||||
|
||||
class { 'etherpad_lite::mysql':
|
||||
database_password => $database_password,
|
||||
}
|
||||
}
|
||||
|
||||
# vim:sw=2:ts=2:expandtab:textwidth=79
|
Loading…
Reference in New Issue
Block a user