From 3dea64b5c0c42f6fc1f7e0f8a353e4d453dde704 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Sat, 23 Jul 2011 02:23:30 -0400 Subject: [PATCH] Added module for builddep. Do nova and swift build-deps. Change-Id: Ia76920d01da1ea8946362aeb1c0ad3f6847213da --- manifests/nova.pp | 15 +++++++++++++++ manifests/swift.pp | 15 +++++++++++++++ modules/apt/manifests/builddep.pp | 17 +++++++++++++++++ {manifests => modules/apt/manifests}/ppa.pp | 6 +++--- modules/jenkins_slave/manifests/init.pp | 12 +++++++++++- 5 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 manifests/nova.pp create mode 100644 manifests/swift.pp create mode 100644 modules/apt/manifests/builddep.pp rename {manifests => modules/apt/manifests}/ppa.pp (75%) diff --git a/manifests/nova.pp b/manifests/nova.pp new file mode 100644 index 0000000..c2f7040 --- /dev/null +++ b/manifests/nova.pp @@ -0,0 +1,15 @@ +import "openstack_ci_admins_users" +import "jenkins_slave" + +node default { + include openstack_ci_admins_users + include jenkins_slave + + apt::ppa { "ppa:nova-core/trunk": + ensure => present + } + apt::builddep { "nova": + ensure => present + } + +} diff --git a/manifests/swift.pp b/manifests/swift.pp new file mode 100644 index 0000000..d8fe880 --- /dev/null +++ b/manifests/swift.pp @@ -0,0 +1,15 @@ +import "openstack_ci_admins_users" +import "jenkins_slave" + +node default { + include openstack_ci_admins_users + include jenkins_slave + + apt::ppa { "ppa:swift-core/trunk": + ensure => present + } + apt::builddep { "swift": + ensure => present + } + +} diff --git a/modules/apt/manifests/builddep.pp b/modules/apt/manifests/builddep.pp new file mode 100644 index 0000000..3e546a5 --- /dev/null +++ b/modules/apt/manifests/builddep.pp @@ -0,0 +1,17 @@ +define apt::builddep($ensure = present) { + case $ensure { + present: { + exec { "Install build-deps for $name": + path => "/bin:/usr/bin", + environment => "HOME=/root", + command => "apt-get -y --force-yes build-dep $name", + user => "root", + group => "root", + logoutput => on_failure, + } + } + default: { + fail "Invalid 'ensure' value '$ensure' for apt::builddep" + } + } +} diff --git a/manifests/ppa.pp b/modules/apt/manifests/ppa.pp similarity index 75% rename from manifests/ppa.pp rename to modules/apt/manifests/ppa.pp index 891684b..aaa8431 100644 --- a/manifests/ppa.pp +++ b/modules/apt/manifests/ppa.pp @@ -1,10 +1,10 @@ -define ppa($ensure = present) { +define apt::ppa($ensure = present) { case $ensure { present: { exec { "Add $name PPA": path => "/bin:/usr/bin", environment => "HOME=/root", - command => "add-apt-repository $name", + command => "add-apt-repository $name ; apt-get update", user => "root", group => "root", logoutput => on_failure, @@ -14,7 +14,7 @@ define ppa($ensure = present) { exec { "Add $name PPA": path => "/bin:/usr/bin", environment => "HOME=/root", - command => "add-apt-repository --remove $name", + command => "add-apt-repository --remove $name ; apt-get update", user => "root", group => "root", logoutput => on_failure, diff --git a/modules/jenkins_slave/manifests/init.pp b/modules/jenkins_slave/manifests/init.pp index 8761c6c..01cdffe 100644 --- a/modules/jenkins_slave/manifests/init.pp +++ b/modules/jenkins_slave/manifests/init.pp @@ -9,10 +9,15 @@ class jenkins_slave { require => [ Package[git], Jenkinsuser[jenkins] ] } + apt::ppa { "ppa:tarmac/ppa": + ensure => present, + } + cron { "updatepuppet": user => root, minute => "*/15", - command => "cd /root/openstack-ci-puppet && /usr/bin/git pull && /var/lib/gems/1.8/bin/puppet apply -l /tmp/manifest.log --modulepath=/root/openstack-ci-puppet/modules manifests/this.pp" + command => "cd /root/openstack-ci-puppet && /usr/bin/git pull && /var/lib/gems/1.8/bin/puppet apply -l /tmp/manifest.log --modulepath=/root/openstack-ci-puppet/modules manifests/this.pp", + require => [ Jenkinsuser[jenkins] ] } cron { "updateci": @@ -91,6 +96,11 @@ class jenkins_slave { ensure => latest } + package { "tarmac": + ensure => latest, + require => Apt::Ppa["ppa:tarmac/ppa"] + } + package { "python-pip": ensure => latest, require => Package[python-dev]