diff --git a/manifests/site.pp b/manifests/site.pp index a5d768f7be..7ce2e663d3 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -502,6 +502,7 @@ node 'zuul.openstack.org' { class { 'openstack_project::zuul_prod': gerrit_server => 'review.openstack.org', gerrit_user => 'jenkins', + gerrit_ssh_host_key => hiera('gerrit_ssh_rsa_pubkey_contents'), zuul_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), url_pattern => 'http://logs.openstack.org/{build.parameters[LOG_PATH]}', zuul_url => 'http://zuul.openstack.org/p', @@ -526,8 +527,10 @@ node 'zuul.openstack.org' { node 'zm01.openstack.org' { class { 'openstack_project::zuul_merger': + gearman_server => 'zuul.openstack.org', gerrit_server => 'review.openstack.org', gerrit_user => 'jenkins', + gerrit_ssh_host_key => hiera('gerrit_ssh_rsa_pubkey_contents'), zuul_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), sysadmins => hiera('sysadmins'), } @@ -535,8 +538,10 @@ node 'zm01.openstack.org' { node 'zm02.openstack.org' { class { 'openstack_project::zuul_merger': + gearman_server => 'zuul.openstack.org', gerrit_server => 'review.openstack.org', gerrit_user => 'jenkins', + gerrit_ssh_host_key => hiera('gerrit_ssh_rsa_pubkey_contents'), zuul_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), sysadmins => hiera('sysadmins'), } diff --git a/modules/openstack_project/manifests/zuul_dev.pp b/modules/openstack_project/manifests/zuul_dev.pp index ca6dcef63d..1db5197e79 100644 --- a/modules/openstack_project/manifests/zuul_dev.pp +++ b/modules/openstack_project/manifests/zuul_dev.pp @@ -2,14 +2,16 @@ # class openstack_project::zuul_dev( $vhost_name = $::fqdn, + $gearman_server = '127.0.0.1', $gerrit_server = '', $gerrit_user = '', + $gerrit_ssh_host_key = '', $zuul_ssh_private_key = '', $url_pattern = '', $zuul_url = '', $sysadmins = [], $statsd_host = '', - $gearman_workers = [] + $gearman_workers = [], ) { # Turn a list of hostnames into a list of iptables rules $iptables_rules = regsubst ($gearman_workers, '^(.*)$', '-m state --state NEW -m tcp -p tcp --dport 4730 -s \1 -j ACCEPT') @@ -23,6 +25,7 @@ class openstack_project::zuul_dev( class { '::zuul': vhost_name => $vhost_name, + gearman_server => $gearman_server, gerrit_server => $gerrit_server, gerrit_user => $gerrit_user, zuul_ssh_private_key => $zuul_ssh_private_key, @@ -31,11 +34,32 @@ class openstack_project::zuul_dev( job_name_in_report => true, status_url => 'http://zuul-dev.openstack.org/', statsd_host => $statsd_host, + git_email => 'jenkins@openstack.org', + git_name => 'OpenStack Jenkins', } class { '::zuul::server': } class { '::zuul::merger': } + if $gerrit_ssh_host_key != '' { + file { '/home/zuul/.ssh': + ensure => directory, + owner => 'zuul', + group => 'zuul', + mode => '0700', + require => Class['::zuul'], + } + file { '/home/zuul/.ssh/known_hosts': + ensure => present, + owner => 'zuul', + group => 'zuul', + mode => '0600', + content => "review.openstack.org ${gerrit_ssh_host_key}", + replace => true, + require => File['/home/zuul/.ssh'], + } + } + file { '/etc/zuul/layout.yaml': ensure => present, source => 'puppet:///modules/openstack_project/zuul/layout-dev.yaml', diff --git a/modules/openstack_project/manifests/zuul_merger.pp b/modules/openstack_project/manifests/zuul_merger.pp index b6d7eb34f8..fd83ff99e4 100644 --- a/modules/openstack_project/manifests/zuul_merger.pp +++ b/modules/openstack_project/manifests/zuul_merger.pp @@ -2,8 +2,10 @@ # class openstack_project::zuul_merger( $vhost_name = $::fqdn, + $gearman_server = '127.0.0.1', $gerrit_server = '', $gerrit_user = '', + $gerrit_ssh_host_key = '', $zuul_ssh_private_key = '', $zuul_url = "http://${::fqdn}/p", $sysadmins = [], @@ -16,14 +18,36 @@ class openstack_project::zuul_merger( class { '::zuul': vhost_name => $vhost_name, + gearman_server => $gearman_server, gerrit_server => $gerrit_server, gerrit_user => $gerrit_user, zuul_ssh_private_key => $zuul_ssh_private_key, zuul_url => $zuul_url, + git_email => 'jenkins@openstack.org', + git_name => 'OpenStack Jenkins', } class { '::zuul::merger': } + if $gerrit_ssh_host_key != '' { + file { '/home/zuul/.ssh': + ensure => directory, + owner => 'zuul', + group => 'zuul', + mode => '0700', + require => Class['::zuul'], + } + file { '/home/zuul/.ssh/known_hosts': + ensure => present, + owner => 'zuul', + group => 'zuul', + mode => '0600', + content => "review.openstack.org ${gerrit_ssh_host_key}", + replace => true, + require => File['/home/zuul/.ssh'], + } + } + file { '/etc/zuul/merger-logging.conf': ensure => present, source => 'puppet:///modules/openstack_project/zuul/merger-logging.conf', diff --git a/modules/openstack_project/manifests/zuul_prod.pp b/modules/openstack_project/manifests/zuul_prod.pp index 36bb66b7a9..cfca89521c 100644 --- a/modules/openstack_project/manifests/zuul_prod.pp +++ b/modules/openstack_project/manifests/zuul_prod.pp @@ -2,8 +2,10 @@ # class openstack_project::zuul_prod( $vhost_name = $::fqdn, + $gearman_server = '127.0.0.1', $gerrit_server = '', $gerrit_user = '', + $gerrit_ssh_host_key = '', $zuul_ssh_private_key = '', $url_pattern = '', $zuul_url = '', @@ -23,6 +25,7 @@ class openstack_project::zuul_prod( class { '::zuul': vhost_name => $vhost_name, + gearman_server => $gearman_server, gerrit_server => $gerrit_server, gerrit_user => $gerrit_user, zuul_ssh_private_key => $zuul_ssh_private_key, @@ -31,10 +34,31 @@ class openstack_project::zuul_prod( job_name_in_report => true, status_url => 'http://status.openstack.org/zuul/', statsd_host => $statsd_host, + git_email => 'jenkins@openstack.org', + git_name => 'OpenStack Jenkins', } class { '::zuul::server': } + if $gerrit_ssh_host_key != '' { + file { '/home/zuul/.ssh': + ensure => directory, + owner => 'zuul', + group => 'zuul', + mode => '0700', + require => Class['::zuul'], + } + file { '/home/zuul/.ssh/known_hosts': + ensure => present, + owner => 'zuul', + group => 'zuul', + mode => '0600', + content => "review.openstack.org ${gerrit_ssh_host_key}", + replace => true, + require => File['/home/zuul/.ssh'], + } + } + file { '/etc/zuul/layout.yaml': ensure => present, source => 'puppet:///modules/openstack_project/zuul/layout.yaml', diff --git a/modules/zuul/manifests/init.pp b/modules/zuul/manifests/init.pp index 9320a4283c..b7786512f3 100644 --- a/modules/zuul/manifests/init.pp +++ b/modules/zuul/manifests/init.pp @@ -32,6 +32,8 @@ class zuul ( $job_name_in_report = false, $revision = 'master', $statsd_host = '', + $git_email = '', + $git_name = '', ) { include apache include pip diff --git a/modules/zuul/templates/zuul.conf.erb b/modules/zuul/templates/zuul.conf.erb index e38198d9d8..fba83fbeee 100644 --- a/modules/zuul/templates/zuul.conf.erb +++ b/modules/zuul/templates/zuul.conf.erb @@ -24,3 +24,9 @@ zuul_url=<%= zuul_url %> git_dir=/var/lib/zuul/git zuul_url=<%= zuul_url %> log_config=/etc/zuul/merger-logging.conf +<% if git_email != "" -%> +git_user_email=<%= git_email %> +<% end -%> +<% if git_name != "" -%> +git_user_name=<%= git_name %> +<% end -%>