James E. Blair 5f51ee4824 Catch up with devstack.
Hardcode mysql password for simplicity.
Update params for new version of devstack.

Change-Id: I5390004fdf5859e8ccb895274ab03e86f769164e
2011-10-20 10:56:44 -05:00

49 lines
1.6 KiB
Puppet

define devstackrepo($ensure = present) {
$repo_there = "test -d /home/jenkins/devstack"
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',
source => 'puppet:///modules/jenkins_slave/localrc',
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"
}
}
}