diff --git a/manifests/stackforge.pp b/manifests/stackforge.pp
index 73c4a29028..050fcdaf0c 100644
--- a/manifests/stackforge.pp
+++ b/manifests/stackforge.pp
@@ -75,7 +75,8 @@ node "jenkins.stackforge.org" {
jenkins_jobs::python_jobs { "reddwarf-natty":
site => "stackforge",
project => "reddwarf",
- node_group => "natty"
+ node_group => "natty",
+ ensure => "disabled"
}
jenkins_jobs::generic_jobs { "reddwarf":
diff --git a/modules/jenkins_jobs/manifests/build_job.pp b/modules/jenkins_jobs/manifests/build_job.pp
index 76c6096ecd..de18d372cf 100644
--- a/modules/jenkins_jobs/manifests/build_job.pp
+++ b/modules/jenkins_jobs/manifests/build_job.pp
@@ -1,36 +1,50 @@
-define jenkins_jobs::build_job($site, $project, $job, $node_group, $triggers="", $builders, $publishers="", $logrotate="", $scm="", $trigger_branches="") {
+define jenkins_jobs::build_job($site, $project, $job, $node_group, $triggers="", $builders, $publishers="", $logrotate="", $scm="", $trigger_branches="", $auth_build=false, $upload_project="", $ensure="present") {
- file { "/var/lib/jenkins/jobs/${name}":
- ensure => directory,
- owner => 'jenkins',
+ if $ensure == "absent" {
+ file { "/var/lib/jenkins/jobs/${name}":
+ ensure => purged,
+ owner => 'jenkins',
+ recurse => true,
+ notify => Exec['jenkins']
+ }
+ } else {
+ if $ensure == "disabled" {
+ $disabled = true
+ } else {
+ $disabled = false
+ }
+
+ file { "/var/lib/jenkins/jobs/${name}":
+ ensure => directory,
+ owner => 'jenkins',
+ }
+
+ file { "/var/lib/jenkins/jobs/${name}/builds":
+ ensure => directory,
+ owner => 'jenkins',
+ require => File["/var/lib/jenkins/jobs/${name}"]
+ }
+
+ file { "/var/lib/jenkins/jobs/${name}/config-history":
+ ensure => directory,
+ owner => 'jenkins',
+ require => File["/var/lib/jenkins/jobs/${name}"]
+ }
+
+ file { "/var/lib/jenkins/jobs/${name}/config.xml":
+ ensure => present,
+ content => template("jenkins_jobs/body.xml.erb"),
+ owner => 'jenkins',
+ require => File["/var/lib/jenkins/jobs/${name}"],
+ notify => Exec["jenkins"]
+ }
+
+ file { "/var/lib/jenkins/jobs/${name}/nextBuildNumber":
+ ensure => present,
+ content => "1",
+ owner => 'jenkins',
+ replace => false,
+ require => File["/var/lib/jenkins/jobs/${name}"]
+ }
}
-
- file { "/var/lib/jenkins/jobs/${name}/builds":
- ensure => directory,
- owner => 'jenkins',
- require => File["/var/lib/jenkins/jobs/${name}"]
- }
-
- file { "/var/lib/jenkins/jobs/${name}/config-history":
- ensure => directory,
- owner => 'jenkins',
- require => File["/var/lib/jenkins/jobs/${name}"]
- }
-
- file { "/var/lib/jenkins/jobs/${name}/config.xml":
- ensure => present,
- content => template("jenkins_jobs/body.xml.erb"),
- owner => 'jenkins',
- require => File["/var/lib/jenkins/jobs/${name}"],
- notify => Exec["jenkins"]
- }
-
- file { "/var/lib/jenkins/jobs/${name}/nextBuildNumber":
- ensure => present,
- content => "1",
- owner => 'jenkins',
- replace => false,
- require => File["/var/lib/jenkins/jobs/${name}"]
- }
-
}
diff --git a/modules/jenkins_jobs/manifests/generic_jobs.pp b/modules/jenkins_jobs/manifests/generic_jobs.pp
index 05fc5ca342..c64932a57b 100644
--- a/modules/jenkins_jobs/manifests/generic_jobs.pp
+++ b/modules/jenkins_jobs/manifests/generic_jobs.pp
@@ -1,28 +1,33 @@
-define jenkins_jobs::generic_jobs($site, $project, $node_group) {
+define jenkins_jobs::generic_jobs($site, $project, $node_group, $ensure="present") {
jenkins_jobs::jobs::docs { $name:
site => $site,
project => $project,
- node_group => $node_group
+ node_group => $node_group,
+ ensure => $ensure
}
jenkins_jobs::jobs::merge_gate { $name:
site => $site,
project => $project,
node_group => $node_group,
- trigger_branches => [[$project, '**']]
+ trigger_branches => [[$project, '**']],
+ ensure => $ensure
}
jenkins_jobs::jobs::ppa { $name:
site => $site,
project => $project,
- node_group => $node_group
+ node_group => $node_group,
+ ensure => $ensure
}
jenkins_jobs::jobs::tarball { $name:
site => $site,
project => $project,
node_group => $node_group,
- trigger_branches => [[$project, '^(?!refs/).*$']]
+ upload_project => $project,
+ trigger_branches => [[$project, '^(?!refs/).*$']],
+ ensure => $ensure
}
}
diff --git a/modules/jenkins_jobs/manifests/jobs/coverage.pp b/modules/jenkins_jobs/manifests/jobs/coverage.pp
index cd2883d721..505695ca11 100644
--- a/modules/jenkins_jobs/manifests/jobs/coverage.pp
+++ b/modules/jenkins_jobs/manifests/jobs/coverage.pp
@@ -1,5 +1,6 @@
-define jenkins_jobs::jobs::coverage($site, $project, $node_group) {
+define jenkins_jobs::jobs::coverage($site, $project, $node_group, $ensure="present") {
jenkins_jobs::build_job { "${name}-coverage":
+ ensure => $ensure,
site => $site,
project => $project,
job => "coverage",
diff --git a/modules/jenkins_jobs/manifests/jobs/docs.pp b/modules/jenkins_jobs/manifests/jobs/docs.pp
index 40adcada23..c9e8d5278c 100644
--- a/modules/jenkins_jobs/manifests/jobs/docs.pp
+++ b/modules/jenkins_jobs/manifests/jobs/docs.pp
@@ -1,5 +1,6 @@
-define jenkins_jobs::jobs::docs($site, $project, $node_group) {
+define jenkins_jobs::jobs::docs($site, $project, $node_group, $ensure="present") {
jenkins_jobs::build_job { "${name}-docs":
+ ensure => $ensure,
site => $site,
project => $project,
job => "docs",
diff --git a/modules/jenkins_jobs/manifests/jobs/merge_gate.pp b/modules/jenkins_jobs/manifests/jobs/merge_gate.pp
index 78f0f8e434..1e195350e2 100644
--- a/modules/jenkins_jobs/manifests/jobs/merge_gate.pp
+++ b/modules/jenkins_jobs/manifests/jobs/merge_gate.pp
@@ -1,11 +1,13 @@
-define jenkins_jobs::jobs::merge_gate($site, $project, $node_group, $trigger_branches) {
+define jenkins_jobs::jobs::merge_gate($site, $project, $node_group, $trigger_branches, $ensure="present") {
jenkins_jobs::build_job { "gate-${name}-merge":
+ ensure => $ensure,
site => $site,
project => $project,
job => "merge",
node_group => $node_group,
triggers => trigger("gerrit_comment"),
builders => builder("gerrit_git_prep"),
- trigger_branches => $trigger_branches
+ trigger_branches => $trigger_branches,
+ auth_build => true
}
}
diff --git a/modules/jenkins_jobs/manifests/jobs/pep8_gate.pp b/modules/jenkins_jobs/manifests/jobs/pep8_gate.pp
index cebc970ad5..fcfba45757 100644
--- a/modules/jenkins_jobs/manifests/jobs/pep8_gate.pp
+++ b/modules/jenkins_jobs/manifests/jobs/pep8_gate.pp
@@ -1,5 +1,6 @@
-define jenkins_jobs::jobs::pep8_gate($site, $project, $node_group, $trigger_branches) {
+define jenkins_jobs::jobs::pep8_gate($site, $project, $node_group, $trigger_branches, $ensure="present") {
jenkins_jobs::build_job { "gate-${name}-pep8":
+ ensure => $ensure,
site => $site,
project => $project,
job => "pep8",
@@ -7,6 +8,7 @@ define jenkins_jobs::jobs::pep8_gate($site, $project, $node_group, $trigger_bran
triggers => trigger("gerrit_comment"),
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("pep8")],
publishers => publisher("pep8"),
- trigger_branches => $trigger_branches
+ trigger_branches => $trigger_branches,
+ auth_build => true
}
}
diff --git a/modules/jenkins_jobs/manifests/jobs/ppa.pp b/modules/jenkins_jobs/manifests/jobs/ppa.pp
index 29e2e7c8c3..666242fb9d 100644
--- a/modules/jenkins_jobs/manifests/jobs/ppa.pp
+++ b/modules/jenkins_jobs/manifests/jobs/ppa.pp
@@ -1,5 +1,6 @@
-define jenkins_jobs::jobs::ppa($site, $project, $node_group) {
+define jenkins_jobs::jobs::ppa($site, $project, $node_group, $ensure="present") {
jenkins_jobs::build_job { "${name}-ppa":
+ ensure => $ensure,
site => $site,
project => $project,
job => "ppa",
diff --git a/modules/jenkins_jobs/manifests/jobs/python26_gate.pp b/modules/jenkins_jobs/manifests/jobs/python26_gate.pp
index d5fbc46832..7a3dedae1b 100644
--- a/modules/jenkins_jobs/manifests/jobs/python26_gate.pp
+++ b/modules/jenkins_jobs/manifests/jobs/python26_gate.pp
@@ -1,11 +1,13 @@
-define jenkins_jobs::jobs::python26_gate($site, $project, $node_group, $trigger_branches) {
+define jenkins_jobs::jobs::python26_gate($site, $project, $node_group, $trigger_branches, $ensure="present") {
jenkins_jobs::build_job { "gate-${name}-python26":
+ ensure => $ensure,
site => $site,
project => $project,
job => "python26",
node_group => $node_group,
triggers => trigger("gerrit_comment"),
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("python26")],
- trigger_branches => $trigger_branches
+ trigger_branches => $trigger_branches,
+ auth_build => true
}
}
diff --git a/modules/jenkins_jobs/manifests/jobs/python27_gate.pp b/modules/jenkins_jobs/manifests/jobs/python27_gate.pp
index 732a403310..16c32727ef 100644
--- a/modules/jenkins_jobs/manifests/jobs/python27_gate.pp
+++ b/modules/jenkins_jobs/manifests/jobs/python27_gate.pp
@@ -1,11 +1,13 @@
-define jenkins_jobs::jobs::python27_gate($site, $project, $node_group, $trigger_branches) {
+define jenkins_jobs::jobs::python27_gate($site, $project, $node_group, $trigger_branches, $ensure="present") {
jenkins_jobs::build_job { "gate-${name}-python27":
+ ensure => $ensure,
site => $site,
project => $project,
job => "python27",
node_group => $node_group,
triggers => trigger("gerrit_comment"),
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("python27")],
- trigger_branches => $trigger_branches
+ trigger_branches => $trigger_branches,
+ auth_build => true
}
}
diff --git a/modules/jenkins_jobs/manifests/jobs/tarball.pp b/modules/jenkins_jobs/manifests/jobs/tarball.pp
index cbdfec2b89..6fdefc75a7 100644
--- a/modules/jenkins_jobs/manifests/jobs/tarball.pp
+++ b/modules/jenkins_jobs/manifests/jobs/tarball.pp
@@ -1,8 +1,10 @@
-define jenkins_jobs::jobs::tarball($site, $project, $node_group, $trigger_branches) {
+define jenkins_jobs::jobs::tarball($site, $project, $node_group, $trigger_branches, $upload_project, $ensure="present") {
jenkins_jobs::build_job { "${name}-tarball":
+ ensure => $ensure,
site => $site,
project => $project,
job => "tarball",
+ upload_project => $upload_project,
node_group => $node_group,
triggers => trigger("gerrit_ref_updated"),
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("tarball")],
diff --git a/modules/jenkins_jobs/manifests/jobs/venv.pp b/modules/jenkins_jobs/manifests/jobs/venv.pp
index 3b741be9f8..6eb6afdab7 100644
--- a/modules/jenkins_jobs/manifests/jobs/venv.pp
+++ b/modules/jenkins_jobs/manifests/jobs/venv.pp
@@ -1,5 +1,6 @@
-define jenkins_jobs::jobs::venv($site, $project, $node_group) {
+define jenkins_jobs::jobs::venv($site, $project, $node_group, $ensure="present") {
jenkins_jobs::build_job { "${name}-venv":
+ ensure => $ensure,
site => $site,
project => $project,
job => "venv",
diff --git a/modules/jenkins_jobs/manifests/python_jobs.pp b/modules/jenkins_jobs/manifests/python_jobs.pp
index ce2d10d2cf..05bf39bb74 100644
--- a/modules/jenkins_jobs/manifests/python_jobs.pp
+++ b/modules/jenkins_jobs/manifests/python_jobs.pp
@@ -1,30 +1,35 @@
-define jenkins_jobs::python_jobs($site, $project, $node_group) {
+define jenkins_jobs::python_jobs($site, $project, $node_group, $ensure="present") {
jenkins_jobs::jobs::coverage { $name:
site => $site,
project => $project,
- node_group => $node_group
+ node_group => $node_group,
+ ensure => $ensure
}
jenkins_jobs::jobs::pep8_gate { $name:
site => $site,
project => $project,
node_group => $node_group,
- trigger_branches => [[$project, '**']]
+ trigger_branches => [[$project, '**']],
+ ensure => $ensure
}
jenkins_jobs::jobs::python26_gate { $name:
site => $site,
project => $project,
node_group => $node_group,
- trigger_branches => [[$project, '**']]
+ trigger_branches => [[$project, '**']],
+ ensure => $ensure
}
jenkins_jobs::jobs::python27_gate { $name:
site => $site,
project => $project,
node_group => $node_group,
- trigger_branches => [[$project, '**']]
+ trigger_branches => [[$project, '**']],
+ ensure => $ensure
}
jenkins_jobs::jobs::venv { $name:
site => $site,
project => $project,
- node_group => $node_group
+ node_group => $node_group,
+ ensure => $ensure
}
}
diff --git a/modules/jenkins_jobs/templates/body.xml.erb b/modules/jenkins_jobs/templates/body.xml.erb
index 073b73b348..960cb2ae47 100644
--- a/modules/jenkins_jobs/templates/body.xml.erb
+++ b/modules/jenkins_jobs/templates/body.xml.erb
@@ -36,9 +36,11 @@ In modules/jenkins_jobs
true
+ <% if auth_build == true %>
hudson.model.Item.Build:authenticated
+ <% end %>
<% if scm == "" %>
@@ -47,7 +49,11 @@ In modules/jenkins_jobs
<% end %>
<%= node_group %>
false
+ <% if disabled == true %>
+ true
+ <% else %>
false
+ <% end %>
false
false
diff --git a/modules/jenkins_jobs/templates/publisher_tarball.xml.erb b/modules/jenkins_jobs/templates/publisher_tarball.xml.erb
index 7811ecfe0e..d95e3d7978 100644
--- a/modules/jenkins_jobs/templates/publisher_tarball.xml.erb
+++ b/modules/jenkins_jobs/templates/publisher_tarball.xml.erb
@@ -3,10 +3,10 @@
false
- <%= project %>.<%= site %>.org
+ <%= upload_project %>.<%= site %>.org
- tarballs/<%= project %>/
+ tarballs/<%= upload_project %>/
dist/*.tar.gz
false