
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
52 lines
1.7 KiB
Puppet
52 lines
1.7 KiB
Puppet
define devstackrepo($ensure = present) {
|
|
$repo_there = "test -d /home/jenkins/devstack"
|
|
$mysql_pass = $orchestra::mysql_pass
|
|
$rabbit_pass = generate('/usr/bin/openssl', 'rand', '-hex', '12')
|
|
case $ensure {
|
|
present: {
|
|
exec { "Clone devstack git repo":
|
|
path => "/usr/sbin:/usr/bin:/sbin:/bin",
|
|
environment => "HOME=/home/jenkins",
|
|
command => "sudo -H -u jenkins -i git clone git://github.com/jeblair/devstack.git /home/jenkins/devstack",
|
|
user => "root",
|
|
group => "root",
|
|
unless => "$repo_there",
|
|
logoutput => on_failure,
|
|
}
|
|
file { '/home/jenkins/devstack/localrc':
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => 444,
|
|
ensure => 'present',
|
|
content => template('jenkins_slave/localrc.erb'),
|
|
replace => 'false',
|
|
require => [Exec["Clone devstack git repo"],
|
|
File["/var/lib/cobbler/snippets/openstack_mysql_password"],
|
|
]
|
|
}
|
|
exec { "Update devstack git repo":
|
|
path => "/usr/sbin:/usr/bin:/sbin:/bin",
|
|
environment => "HOME=/home/jenkins",
|
|
command => "sudo -H -u jenkins -i bash -c 'cd /home/jenkins/devstack && git pull'",
|
|
user => "root",
|
|
group => "root",
|
|
onlyif => "$repo_there",
|
|
logoutput => on_failure,
|
|
}
|
|
}
|
|
absent: {
|
|
exec { "Remove OpenStack git repo":
|
|
path => "/usr/sbin:/usr/bin:/sbin:/bin",
|
|
environment => "HOME=/root",
|
|
command => "rm -rf /home/jenkins/devstack",
|
|
user => "root",
|
|
group => "root",
|
|
onlyif => "$repo_there",
|
|
}
|
|
}
|
|
default: {
|
|
fail "Invalid 'ensure' value '$ensure' for devstackrepo"
|
|
}
|
|
}
|
|
}
|