commit 45516b6210cd2a800b332d220833958dc1189c7d Author: Andrew Hutchings Date: Fri Feb 3 14:37:54 2012 +0000 Add planet support Adds planet module and planet.openstack.org site. Change-Id: Id4d495889346e0a0d85d0fd05e40d451b04d21b1 Note: will not work with current openstack-planet git branch. Update for that comming diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..f1c6240 --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,24 @@ +class planet { + + package { 'planet-venus': + ensure => present + } + + package { 'nginx': + ensure => present + } + + file { '/srv/planet': + ensure => directory + } + + file { '/var/lib/planet': + ensure => directory + } + + service { 'nginx': + ensure => running, + hasrestart => true + } + +} diff --git a/manifests/site.pp b/manifests/site.pp new file mode 100644 index 0000000..98ea64c --- /dev/null +++ b/manifests/site.pp @@ -0,0 +1,39 @@ +define planet::site($git_url) { + + file { "/etc/nginx/sites-available/planet-${name}": + ensure => present, + content => template("planet/nginx.erb"), + replace => true, + require => Package[nginx] + } + + file { "/etc/nginx/sites-enabled/planet-${name}": + ensure => link, + target => "/etc/nginx/sites-available/planet-${name}", + require => Package[nginx], + } + +# if we already have the mercurial repo the pull updates + + exec { "update_${name}_planet": + command => "git pull", + cwd => "/var/lib/planet/${name}", + path => "/bin:/usr/bin", + onlyif => "test -d /var/lib/planet/${name}" + } + +# otherwise get a new clone of it + + exec { "create_${name}_planet": + command => "git clone ${git_url} /var/lib/planet/${name}", + path => "/bin:/usr/bin", + onlyif => "test ! -d /var/lib/planet/${name}" + } + + cron { "update_planet_${name}": + user => root, + minute => 3, + command => "planet /var/lib/planet/${name}.ini" + } + +} diff --git a/templates/nginx.erb b/templates/nginx.erb new file mode 100644 index 0000000..9448656 --- /dev/null +++ b/templates/nginx.erb @@ -0,0 +1,5 @@ +server { + listen 80; + server_name planet.<%= name %>.org; + root /srv/planet/<%= name %>; +}