diff --git a/manifests/openstack.pp b/manifests/openstack.pp new file mode 100644 index 0000000000..d1d18b5454 --- /dev/null +++ b/manifests/openstack.pp @@ -0,0 +1,70 @@ +import "users" +# +# Abstract classes: +# +class openstack_base ($iptables_public_tcp_ports) { + include openstack_project::users + include ssh + include snmpd + include sudoers + + class { 'iptables': + public_tcp_ports => $iptables_public_tcp_ports, + } + + file { '/etc/profile.d/Z98-byobu.sh': + ensure => 'absent' + } + + package { "ntp": + ensure => installed + } + + package { "popularity-contest": + ensure => purged + } + + service { 'ntpd': + name => 'ntp', + ensure => running, + enable => true, + hasrestart => true, + require => Package['ntp'], + } + + $packages = ["python-software-properties", + "puppet", + "bzr", + "git", + "python-setuptools", + "python-virtualenv", + "byobu"] + package { $packages: ensure => "latest" } +} + +# A template host with no running services +class openstack_template ($iptables_public_tcp_ports) { + class { 'openstack_base': + iptables_public_tcp_ports => $iptables_public_tcp_ports + } + realize ( + User::Virtual::Localuser["mordred"], + User::Virtual::Localuser["corvus"], + User::Virtual::Localuser["soren"], + User::Virtual::Localuser["linuxjedi"], + User::Virtual::Localuser["devananda"], + ) +} + +# A server that we expect to run for some time +class openstack_server ($iptables_public_tcp_ports) { + class { 'openstack_template': + iptables_public_tcp_ports => $iptables_public_tcp_ports + } + class { 'exim': + sysadmin => ['corvus@inaugust.com', + 'mordred@inaugust.com', + 'andrew@linuxjedi.co.uk', + 'devananda.vdv@gmail.com'] + } +} diff --git a/manifests/site.pp b/manifests/site.pp index ac44a991f6..d0e706bd55 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -1,85 +1,4 @@ -import "doc_server" # TODO: refactor out of module -import "users" -# -# Abstract classes: -# -class openstack_base ($iptables_public_tcp_ports) { - include openstack_project::users - include ssh - include snmpd - - include sudoers - - class { 'iptables': - public_tcp_ports => $iptables_public_tcp_ports, - } - - file { '/etc/profile.d/Z98-byobu.sh': - ensure => 'absent' - } - - package { "ntp": - ensure => installed - } - - package { "popularity-contest": - ensure => purged - } - - service { 'ntpd': - name => 'ntp', - ensure => running, - enable => true, - hasrestart => true, - require => Package['ntp'], - } - - $packages = ["python-software-properties", - "puppet", - "bzr", - "git", - "python-setuptools", - "python-virtualenv", - "byobu"] - package { $packages: ensure => "latest" } -} - -class openstack_cron { - cron { "updatepuppet": - user => root, - minute => "*/15", - command => 'apt-get update >/dev/null 2>&1 ; sleep $((RANDOM\%600)) && cd /root/openstack-ci-puppet && /usr/bin/git pull -q && puppet apply -l /tmp/manifest.log --modulepath=/root/openstack-ci-puppet/modules manifests/site.pp', - environment => "PATH=/var/lib/gems/1.8/bin:/usr/bin:/bin:/usr/sbin:/sbin", - } -} - -# A template host with no running services -class openstack_template ($iptables_public_tcp_ports) { - class { 'openstack_base': - iptables_public_tcp_ports => $iptables_public_tcp_ports - } - realize ( - User::Virtual::Localuser["mordred"], - User::Virtual::Localuser["corvus"], - User::Virtual::Localuser["soren"], - User::Virtual::Localuser["linuxjedi"], - User::Virtual::Localuser["devananda"], - ) -} - -# A server that we expect to run for some time -class openstack_server ($iptables_public_tcp_ports) { - class { 'openstack_template': - iptables_public_tcp_ports => $iptables_public_tcp_ports - } - class { 'exim': - sysadmin => ['corvus@inaugust.com', - 'mordred@inaugust.com', - 'andrew@linuxjedi.co.uk', - 'devananda.vdv@gmail.com'] - } - include openstack_cron -} +import "openstack" class openstack_jenkins_slave { include tmpreaper diff --git a/manifests/stackforge.pp b/manifests/stackforge.pp index 58f3635f39..37d48779ae 100644 --- a/manifests/stackforge.pp +++ b/manifests/stackforge.pp @@ -1,76 +1,7 @@ -import "doc_server" # TODO: refactor out of module -import "users" -# -# Abstract classes: -# -class openstack_base ($iptables_public_tcp_ports) { - include openstack_project::users - include ssh - include snmpd - include sudoers +import "openstack" - class { 'iptables': - public_tcp_ports => $iptables_public_tcp_ports, - } - - file { '/etc/profile.d/Z98-byobu.sh': - ensure => 'absent' - } - - package { "ntp": - ensure => installed - } - - package { "popularity-contest": - ensure => purged - } - - service { 'ntpd': - name => 'ntp', - ensure => running, - enable => true, - hasrestart => true, - require => Package['ntp'], - } - - $packages = ["python-software-properties", - "puppet", - "bzr", - "git", - "python-setuptools", - "python-virtualenv", - "byobu"] - package { $packages: ensure => "latest" } -} - -# A template host with no running services -class openstack_template ($iptables_public_tcp_ports) { - class { 'openstack_base': - iptables_public_tcp_ports => $iptables_public_tcp_ports - } - realize ( - User::Virtual::Localuser["mordred"], - User::Virtual::Localuser["corvus"], - User::Virtual::Localuser["soren"], - User::Virtual::Localuser["linuxjedi"], - User::Virtual::Localuser["devananda"], - ) -} - -# A server that we expect to run for some time -class openstack_server ($iptables_public_tcp_ports) { - class { 'openstack_template': - iptables_public_tcp_ports => $iptables_public_tcp_ports - } - class { 'exim': - sysadmin => ['corvus@inaugust.com', - 'mordred@inaugust.com', - 'andrew@linuxjedi.co.uk', - 'devananda.vdv@gmail.com'] - } -} - -class openstack_jenkins_slave { +class stackforge_jenkins_slave { + include tmpreaper class { 'openstack_server': iptables_public_tcp_ports => [] } @@ -136,6 +67,6 @@ node "jenkins.stackforge.org" { # Jenkins slaves: # node /^build.*\.slave\.stackforge\.org$/ { - include openstack_jenkins_slave + include stackforge_jenkins_slave }