diff --git a/manifests/site.pp b/manifests/site.pp index 77c37de4d6..e24e6b75d0 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -32,6 +32,13 @@ node "jenkins.openstack.org" { class { 'openstack_project::jenkins': jenkins_jobs_password => hiera('jenkins_jobs_password'), } + class { "openstack_project::zuul": + jenkins_server => "https://$fqdn", + jenkins_user => 'hudson-openstack', + jenkins_apikey => hiera('zuul_jenkins_apikey'), + gerrit_server => 'review.openstack.org', + gerrit_user => 'jenkins', + } } node "jenkins-dev.openstack.org" { diff --git a/modules/openstack_project/manifests/jenkins.pp b/modules/openstack_project/manifests/jenkins.pp index dbbddbe303..6d64afa61d 100644 --- a/modules/openstack_project/manifests/jenkins.pp +++ b/modules/openstack_project/manifests/jenkins.pp @@ -1,5 +1,4 @@ class openstack_project::jenkins($jenkins_jobs_password) { - include openstack_project::zuul_config class { 'openstack_project::server': iptables_public_tcp_ports => [80, 443, 4155] @@ -22,4 +21,5 @@ class openstack_project::jenkins($jenkins_jobs_password) { ensure => 'present', source => 'puppet:///modules/openstack_project/jenkins/jenkins.default' } + } diff --git a/modules/openstack_project/manifests/zuul_config.pp b/modules/openstack_project/manifests/zuul.pp similarity index 61% rename from modules/openstack_project/manifests/zuul_config.pp rename to modules/openstack_project/manifests/zuul.pp index be93bf18cf..666bbd4c81 100644 --- a/modules/openstack_project/manifests/zuul_config.pp +++ b/modules/openstack_project/manifests/zuul.pp @@ -1,5 +1,18 @@ -class openstack_project::zuul_config { - include ::zuul +class openstack_project::zuul( + $jenkins_server, + $jenkins_user, + $jenkins_apikey, + $gerrit_server, + $gerrit_user + ) { + + class { "::zuul": + jenkins_server => $jenkins_server, + jenkins_user => $jenkins_user, + jenkins_apikey => $jenkins_apikey, + gerrit_server => $gerrit_server, + gerrit_user => $gerrit_user, + } file { "/etc/zuul/layout.yaml": ensure => 'present', diff --git a/modules/zuul/manifests/init.pp b/modules/zuul/manifests/init.pp index 4c4c3e42fa..d97f8ac557 100644 --- a/modules/zuul/manifests/init.pp +++ b/modules/zuul/manifests/init.pp @@ -1,5 +1,10 @@ -class zuul () -{ +class zuul ( + $jenkins_server, + $jenkins_user, + $jenkins_apikey, + $gerrit_server, + $gerrit_user +) { $packages = ["python-webob", "python-daemon", "python-paste"] @@ -37,6 +42,17 @@ class zuul () ensure => "directory", } +# TODO: We should put in notify either Service['zuul'] or Exec['zuul-reload'] +# at some point, but that still has some problems. + file { "/etc/zuul/zuul.conf": + owner => 'jenkins', + group => 'jenkins', + mode => 400, + ensure => 'present', + content => template('zuul/zuul.conf.erb'), + require => File["/etc/zuul"], + } + file { "/var/log/zuul": ensure => "directory", owner => 'jenkins' diff --git a/modules/zuul/templates/zuul.conf.erb b/modules/zuul/templates/zuul.conf.erb new file mode 100644 index 0000000000..ffe31c37b2 --- /dev/null +++ b/modules/zuul/templates/zuul.conf.erb @@ -0,0 +1,14 @@ +[jenkins] +server=<%= jenkins_server %> +user=<%= jenkins_user %> +apikey=<%= jenkins_apikey %> + +[gerrit] +server=<%= gerrit_server %> +user=<%= gerrit_user %> +sshkey=/var/lib/jenkins/.ssh/id_rsa + +[zuul] +layout_config=/etc/zuul/layout.yaml +log_config=/etc/zuul/logging.conf +state_dir=/var/lib/zuul