2011-08-02 12:58:08 -07:00
|
|
|
import "doc_server" # TODO: refactor out of module
|
2011-09-14 21:20:17 +00:00
|
|
|
import "users"
|
2011-08-02 12:58:08 -07:00
|
|
|
#
|
|
|
|
# Abstract classes:
|
|
|
|
#
|
|
|
|
class openstack_base {
|
2011-09-14 23:04:20 +00:00
|
|
|
include openstack_project::users
|
2011-08-05 10:23:52 -07:00
|
|
|
include ssh
|
2011-09-12 10:29:39 -07:00
|
|
|
include snmpd
|
2011-08-17 20:02:06 +00:00
|
|
|
include exim
|
2011-10-11 15:56:11 -07:00
|
|
|
include sudoers
|
2011-08-26 15:33:59 -07:00
|
|
|
|
2011-09-12 10:29:39 -07:00
|
|
|
class { 'iptables':
|
|
|
|
public_tcp_ports => $iptables_public_tcp_ports,
|
|
|
|
}
|
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
package { "ntp":
|
|
|
|
ensure => installed
|
|
|
|
}
|
2011-08-05 10:23:52 -07:00
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
service { 'ntpd':
|
|
|
|
name => 'ntp',
|
|
|
|
ensure => running,
|
|
|
|
enable => true,
|
|
|
|
hasrestart => true,
|
|
|
|
require => Package['ntp'],
|
|
|
|
}
|
2011-08-05 10:23:52 -07:00
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
$packages = ["python-software-properties",
|
|
|
|
"puppet",
|
|
|
|
"bzr",
|
|
|
|
"git",
|
|
|
|
"python-setuptools",
|
2011-10-11 15:56:11 -07:00
|
|
|
"python-virtualenv",
|
2011-08-02 12:58:08 -07:00
|
|
|
"byobu"]
|
|
|
|
package { $packages: ensure => "latest" }
|
2011-12-05 16:01:00 -08:00
|
|
|
}
|
2011-08-15 14:01:28 -07:00
|
|
|
|
2011-12-05 16:01:00 -08:00
|
|
|
class openstack_cron {
|
2011-08-15 14:01:28 -07:00
|
|
|
cron { "updatepuppet":
|
|
|
|
user => root,
|
|
|
|
minute => "*/15",
|
2012-01-06 11:27:39 -08:00
|
|
|
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",
|
2011-08-15 14:01:28 -07:00
|
|
|
}
|
2011-08-02 12:58:08 -07:00
|
|
|
}
|
|
|
|
|
2011-12-05 16:01:00 -08:00
|
|
|
# A template host with no running services
|
|
|
|
class openstack_template {
|
2011-08-02 12:58:08 -07:00
|
|
|
include openstack_base
|
2011-09-14 21:20:17 +00:00
|
|
|
realize (
|
|
|
|
User::Virtual::Localuser["mordred"],
|
|
|
|
User::Virtual::Localuser["corvus"],
|
|
|
|
User::Virtual::Localuser["soren"],
|
2012-01-05 10:55:51 -08:00
|
|
|
User::Virtual::Localuser["linuxjedi"],
|
2011-09-14 21:20:17 +00:00
|
|
|
)
|
2011-12-05 16:01:00 -08:00
|
|
|
}
|
2011-10-11 15:56:11 -07:00
|
|
|
|
2011-12-05 16:01:00 -08:00
|
|
|
# A server that we expect to run for some time
|
|
|
|
class openstack_server {
|
|
|
|
include openstack_template
|
|
|
|
include openstack_cron
|
2011-08-02 12:58:08 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
class openstack_jenkins_slave {
|
2011-10-11 15:56:11 -07:00
|
|
|
include openstack_server
|
2011-08-02 12:58:08 -07:00
|
|
|
include jenkins_slave
|
|
|
|
}
|
|
|
|
|
2011-09-08 13:20:21 -07:00
|
|
|
#
|
|
|
|
# Default: should at least behave like an openstack server
|
|
|
|
#
|
|
|
|
|
|
|
|
node default {
|
|
|
|
include openstack_server
|
|
|
|
}
|
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
#
|
|
|
|
# Long lived servers:
|
|
|
|
#
|
2011-08-05 23:00:46 +00:00
|
|
|
node "gerrit.openstack.org" {
|
2011-09-12 10:29:39 -07:00
|
|
|
$iptables_public_tcp_ports = [80, 443, 29418]
|
2011-08-02 12:58:08 -07:00
|
|
|
include openstack_server
|
2011-08-05 23:00:46 +00:00
|
|
|
class { 'gerrit':
|
|
|
|
canonicalweburl => "https://review.openstack.org/",
|
|
|
|
email => "review@openstack.org",
|
2011-08-12 22:16:46 +00:00
|
|
|
github_projects => [ {
|
|
|
|
name => 'openstack/keystone',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/glance',
|
|
|
|
close_pull => 'true'
|
2011-09-06 09:48:00 -07:00
|
|
|
}, {
|
|
|
|
name => 'openstack/swift',
|
|
|
|
close_pull => 'true'
|
2011-09-27 11:13:47 -07:00
|
|
|
}, {
|
|
|
|
name => 'openstack/nova',
|
|
|
|
close_pull => 'true'
|
2011-09-06 09:48:00 -07:00
|
|
|
}, {
|
2011-11-02 12:28:36 -04:00
|
|
|
name => 'openstack/horizon',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/quantum',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
2011-11-30 13:35:06 -08:00
|
|
|
name => 'openstack/melange',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/tempest',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
2011-09-06 09:48:00 -07:00
|
|
|
name => 'openstack/openstack-ci',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/openstack-ci-puppet',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/openstack-puppet',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/openstack-chef',
|
|
|
|
close_pull => 'true'
|
2011-09-13 15:26:49 -07:00
|
|
|
}, {
|
2011-09-15 15:12:02 -07:00
|
|
|
name => 'openstack/openstack-manuals',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
2011-09-13 15:26:49 -07:00
|
|
|
name => 'openstack/compute-api',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/image-api',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/identity-api',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/object-api',
|
|
|
|
close_pull => 'true'
|
2011-11-02 12:28:36 -04:00
|
|
|
}, {
|
|
|
|
name => 'openstack/netconn-api',
|
|
|
|
close_pull => 'true'
|
2011-11-16 11:42:26 -08:00
|
|
|
}, {
|
|
|
|
name => 'openstack-dev/devstack',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack-dev/openstack-qa',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack/python-novaclient',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack-ci/git-review',
|
|
|
|
close_pull => 'true'
|
2012-01-07 12:25:53 -08:00
|
|
|
}, {
|
|
|
|
name => 'openstack/openstack-common',
|
|
|
|
close_pull => 'true'
|
|
|
|
}, {
|
|
|
|
name => 'openstack-dev/openstack-nose',
|
|
|
|
close_pull => 'true'
|
2011-08-12 22:16:46 +00:00
|
|
|
} ]
|
2011-08-05 23:00:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
node "gerrit-dev.openstack.org" {
|
2011-09-12 10:29:39 -07:00
|
|
|
$iptables_public_tcp_ports = [80, 443, 29418]
|
2011-08-05 23:00:46 +00:00
|
|
|
include openstack_server
|
2011-09-14 21:20:17 +00:00
|
|
|
|
2011-08-05 23:00:46 +00:00
|
|
|
class { 'gerrit':
|
|
|
|
canonicalweburl => "https://review-dev.openstack.org/",
|
|
|
|
email => "review-dev@openstack.org",
|
2011-08-12 22:16:46 +00:00
|
|
|
github_projects => [ {
|
2011-08-17 10:58:49 -07:00
|
|
|
name => 'gtest-org/test',
|
2011-08-12 22:16:46 +00:00
|
|
|
close_pull => 'true'
|
|
|
|
} ]
|
2011-08-05 23:00:46 +00:00
|
|
|
}
|
2011-08-02 12:58:08 -07:00
|
|
|
}
|
|
|
|
|
2012-01-05 10:55:29 -08:00
|
|
|
node "jenkins.openstack.org" {
|
|
|
|
$iptables_public_tcp_ports = [80, 443]
|
|
|
|
include openstack_server
|
|
|
|
include jenkins_master
|
|
|
|
}
|
|
|
|
|
2011-09-08 13:17:57 -07:00
|
|
|
node "community.openstack.org" {
|
2011-11-02 14:02:17 -04:00
|
|
|
$iptables_public_tcp_ports = [80, 443, 8099, 8080]
|
2011-09-08 13:17:57 -07:00
|
|
|
include openstack_server
|
|
|
|
|
2011-09-14 21:20:17 +00:00
|
|
|
realize (
|
|
|
|
User::Virtual::Localuser["smaffulli"],
|
|
|
|
)
|
2011-09-08 13:17:57 -07:00
|
|
|
}
|
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
node "docs.openstack.org" {
|
|
|
|
include openstack_server
|
|
|
|
include doc_server
|
|
|
|
}
|
|
|
|
|
2011-11-16 08:36:14 -08:00
|
|
|
node "devstack-oneiric.template.openstack.org" {
|
2011-12-05 16:01:00 -08:00
|
|
|
include openstack_template
|
2011-11-16 08:36:14 -08:00
|
|
|
include devstack_host
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-08-02 12:58:08 -07:00
|
|
|
#
|
|
|
|
# Jenkins slaves:
|
|
|
|
#
|
2012-01-23 15:16:06 -08:00
|
|
|
node /^build.*\.slave\.openstack\.org$/ {
|
2011-08-02 12:58:08 -07:00
|
|
|
include openstack_jenkins_slave
|
|
|
|
}
|
2011-08-09 18:13:49 -04:00
|
|
|
|
2012-01-23 15:16:06 -08:00
|
|
|
node /^dev.*\.slave\.openstack\.org$/ {
|
|
|
|
include openstack_jenkins_slave
|
|
|
|
}
|
|
|
|
|
|
|
|
node /^oneiric.*\.slave\.openstack\.org$/ {
|
|
|
|
include openstack_jenkins_slave
|
|
|
|
|
|
|
|
package { "mercurial":
|
|
|
|
ensure => "latest",
|
|
|
|
}
|
|
|
|
|
|
|
|
package { "tox":
|
|
|
|
ensure => latest,
|
|
|
|
provider => pip,
|
|
|
|
require => Package[python-pip],
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-10-20 14:01:03 -04:00
|
|
|
node /^deploy.*.openstack\.org$/ {
|
2011-10-11 09:04:04 -05:00
|
|
|
include openstack_jenkins_slave
|
|
|
|
include orchestra
|
|
|
|
}
|
2012-01-05 10:55:29 -08:00
|
|
|
|