diff --git a/manifests/jenkins_master.pp b/manifests/jenkins_master.pp index e372d84..526b1f5 100644 --- a/manifests/jenkins_master.pp +++ b/manifests/jenkins_master.pp @@ -2,6 +2,8 @@ # class openstackci::jenkins_master ( $serveradmin, + $jenkins_username = 'jenkins', + $jenkins_password = 'secret', $vhost_name = $::fqdn, $logo = '', # Logo must be present in puppet-jenkins/files $ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem', @@ -12,6 +14,13 @@ class openstackci::jenkins_master ( $ssl_chain_file_contents = '', $jenkins_ssh_private_key = '', $jenkins_ssh_public_key = '', + $manage_jenkins_jobs = false, + $jenkins_url = 'http://localhost:8080', + $jjb_update_timeout = 1200, + $jjb_git_url = 'https://git.openstack.org/openstack-infra/jenkins-job-builder', + $jjb_git_revision = 'master', + $project_config_repo = '', + $project_config_base = '', ) { class { '::jenkins::master': @@ -86,4 +95,24 @@ class openstackci::jenkins_master ( jenkins::plugin { 'token-macro': version => '1.5.1', } + + if $manage_jenkins_jobs == true { + if ! defined(Class['project_config']) { + class { 'project_config': + url => $project_config_repo, + base => $project_config_base, + } + } + class { '::jenkins::job_builder': + url => $jenkins_url, + username => $jenkins_username, + password => $jenkins_password, + jenkins_jobs_update_timeout => $jjb_update_timeout, + git_revision => $jjb_git_revision, + git_url => $jjb_git_url, + config_dir => + $::project_config::jenkins_job_builder_config_dir, + require => $::project_config::config_dir, + } + } } diff --git a/manifests/zuul_scheduler.pp b/manifests/zuul_scheduler.pp index 92620b5..dcf7559 100644 --- a/manifests/zuul_scheduler.pp +++ b/manifests/zuul_scheduler.pp @@ -46,9 +46,11 @@ class openstackci::zuul_scheduler( $git_name = 'Zuul', ) { - class { 'project_config': - url => $project_config_repo, - base => $project_config_base, + if ! defined(Class['project_config']) { + class { 'project_config': + url => $project_config_repo, + base => $project_config_base, + } } class { '::zuul':