James E. Blair 67bcce274f Updates from new baremetal configuration.
Add orchestra configuration.

Remove tarmac dependency from jenkins slaves.

Add devstack repo to jenkins slave checkout.

Use jenkins public key in cloud-init.

Remove wheel group (not defined in base oneiric).

Clean up sudoers.

Git rid of wheel group dependency.
Git rid of editor link (which may be dangling) and doesn't
really have anything to do with sudo anyway.

Write localrc for devstack with passwords for mysql and rabbitmq.

Install devstack apt depends on install so they make it into the LVM
snapshot.

Add mysql password to a snippet file for the preseed.

Add python-unittest2 to jenkins slaves.
Add more passwords to localrc.

Update syslog config on server.
Fix subscribed exec for cobbler sync.

Update syslog permissions.
Don't log local messages to the orchestra dir.
Add rsyslog sudo perms for jenkins.

Make jenkins ignore known_hosts.

Remove known_hosts file, add .ssh/config file that ignores known_hosts.

Change-Id: Ic1842e5ea6778e8c52857f3441872459bfc05b2c
2011-10-19 20:53:23 -04:00

164 lines
4.3 KiB
Puppet

import "doc_server" # TODO: refactor out of module
import "users"
#
# Abstract classes:
#
class openstack_base {
include openstack_project::users
include ssh
include snmpd
include exim
include sudoers
class { 'iptables':
public_tcp_ports => $iptables_public_tcp_ports,
}
package { "ntp":
ensure => installed
}
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" }
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 && /var/lib/gems/1.8/bin/puppet apply -l /tmp/manifest.log --modulepath=/root/openstack-ci-puppet/modules manifests/site.pp',
}
}
class openstack_server {
include openstack_base
realize (
User::Virtual::Localuser["mordred"],
User::Virtual::Localuser["corvus"],
User::Virtual::Localuser["soren"],
)
}
class openstack_jenkins_slave {
include openstack_server
include jenkins_slave
}
#
# Default: should at least behave like an openstack server
#
node default {
include openstack_server
}
#
# Long lived servers:
#
node "gerrit.openstack.org" {
$iptables_public_tcp_ports = [80, 443, 29418]
include openstack_server
class { 'gerrit':
canonicalweburl => "https://review.openstack.org/",
email => "review@openstack.org",
github_projects => [ {
name => 'openstack/keystone',
close_pull => 'true'
}, {
name => 'openstack/glance',
close_pull => 'true'
}, {
name => 'openstack/swift',
close_pull => 'true'
}, {
name => 'openstack/nova',
close_pull => 'true'
}, {
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'
}, {
name => 'openstack/openstack-manuals',
close_pull => 'true'
}, {
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'
} ]
}
}
node "gerrit-dev.openstack.org" {
$iptables_public_tcp_ports = [80, 443, 29418]
include openstack_server
class { 'gerrit':
canonicalweburl => "https://review-dev.openstack.org/",
email => "review-dev@openstack.org",
github_projects => [ {
name => 'gtest-org/test',
close_pull => 'true'
} ]
}
}
node "community.openstack.org" {
$iptables_public_tcp_ports = [80, 443, 29418]
include openstack_server
realize (
User::Virtual::Localuser["smaffulli"],
)
}
node "docs.openstack.org" {
include openstack_server
include doc_server
}
#
# Jenkins slaves:
#
node /^.*\.slave\.openstack\.org$/ {
include openstack_jenkins_slave
}
node /^driver(\d+)\.1918\.openstack\.org$/ {
include openstack_jenkins_slave
}
node /^deploy(\d+)\.1918\.openstack\.org$/ {
include openstack_jenkins_slave
include orchestra
}