diff --git a/manifests/site.pp b/manifests/site.pp index 606a5ed338..d02835abe9 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -79,6 +79,30 @@ node 'jenkins.openstack.org' { } } +node 'jenkins01.openstack.org' { + class { 'openstack_project::jenkins': + jenkins_jobs_password => hiera('jenkins_jobs_password'), + jenkins_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), + ssl_cert_file_contents => hiera('jenkins01_ssl_cert_file_contents'), + ssl_key_file_contents => hiera('jenkins01_ssl_key_file_contents'), + ssl_chain_file_contents => hiera('jenkins01_ssl_chain_file_contents'), + sysadmins => hiera('sysadmins'), + zmq_event_receivers => ['logstash.openstack.org'], + } +} + +node 'jenkins02.openstack.org' { + class { 'openstack_project::jenkins': + jenkins_jobs_password => hiera('jenkins_jobs_password'), + jenkins_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), + ssl_cert_file_contents => hiera('jenkins02_ssl_cert_file_contents'), + ssl_key_file_contents => hiera('jenkins02_ssl_key_file_contents'), + ssl_chain_file_contents => hiera('jenkins02_ssl_chain_file_contents'), + sysadmins => hiera('sysadmins'), + zmq_event_receivers => ['logstash.openstack.org'], + } +} + node 'jenkins-dev.openstack.org' { class { 'openstack_project::jenkins_dev': jenkins_ssh_private_key => hiera('jenkins_dev_ssh_private_key_contents'), @@ -111,8 +135,9 @@ node 'graphite.openstack.org' { graphite_admin_user => hiera('graphite_admin_user'), graphite_admin_email => hiera('graphite_admin_email'), graphite_admin_password => hiera('graphite_admin_password'), - statsd_hosts => ['jenkins.openstack.org', - 'devstack-launch.slave.openstack.org', + statsd_hosts => ['devstack-launch.slave.openstack.org', + 'devstack-launch01.slave.openstack.org', + 'devstack-launch02.slave.openstack.org', 'zuul.openstack.org'], } } @@ -387,6 +412,29 @@ node 'devstack-launch.slave.openstack.org' { jenkins_api_key => hiera('jenkins_api_key'), jenkins_ssh_public_key => $openstack_project::jenkins_ssh_key, jenkins_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), + jenkins_server => 'jenkins.openstack.org', + } +} + +node 'devstack-launch01.slave.openstack.org' { + include openstack_project + class { 'openstack_project::devstack_launch_slave': + jenkins_api_user => hiera('jenkins_api_user'), + jenkins_api_key => hiera('jenkins_api_key'), + jenkins_ssh_public_key => $openstack_project::jenkins_ssh_key, + jenkins_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), + jenkins_server => 'jenkins01.openstack.org', + } +} + +node 'devstack-launch02.slave.openstack.org' { + include openstack_project + class { 'openstack_project::devstack_launch_slave': + jenkins_api_user => hiera('jenkins_api_user'), + jenkins_api_key => hiera('jenkins_api_key'), + jenkins_ssh_public_key => $openstack_project::jenkins_ssh_key, + jenkins_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), + jenkins_server => 'jenkins02.openstack.org', } } diff --git a/modules/openstack_project/files/logstash/jenkins-log-client.yaml b/modules/openstack_project/files/logstash/jenkins-log-client.yaml index ddc2f86ec3..b0aae2a955 100644 --- a/modules/openstack_project/files/logstash/jenkins-log-client.yaml +++ b/modules/openstack_project/files/logstash/jenkins-log-client.yaml @@ -3,6 +3,8 @@ source-url: http://logs.openstack.org # List of zmq event inputs. zmq-publishers: - tcp://jenkins.openstack.org:8888 + - tcp://jenkins01.openstack.org:8888 + - tcp://jenkins02.openstack.org:8888 # List of files to source logs from. source-files: diff --git a/modules/openstack_project/manifests/cacti.pp b/modules/openstack_project/manifests/cacti.pp index 044df6c7b7..c52136df72 100644 --- a/modules/openstack_project/manifests/cacti.pp +++ b/modules/openstack_project/manifests/cacti.pp @@ -67,6 +67,8 @@ class openstack_project::cacti ( 'etherpad.openstack.org', 'graphite.openstack.org', 'jenkins.openstack.org', + 'jenkins01.openstack.org', + 'jenkins02.openstack.org', 'jenkins-dev.openstack.org', 'lists.openstack.org', 'logstash.openstack.org', diff --git a/modules/openstack_project/manifests/devstack_launch_slave.pp b/modules/openstack_project/manifests/devstack_launch_slave.pp index cdace91c2a..dcf40a69a5 100644 --- a/modules/openstack_project/manifests/devstack_launch_slave.pp +++ b/modules/openstack_project/manifests/devstack_launch_slave.pp @@ -19,6 +19,7 @@ class openstack_project::devstack_launch_slave ( $jenkins_api_key, $jenkins_ssh_public_key, $jenkins_ssh_private_key, + $jenkins_server, ) { class { 'openstack_project::slave': diff --git a/modules/openstack_project/manifests/jenkins.pp b/modules/openstack_project/manifests/jenkins.pp index 40df0cfe5c..8592e27373 100644 --- a/modules/openstack_project/manifests/jenkins.pp +++ b/modules/openstack_project/manifests/jenkins.pp @@ -1,6 +1,7 @@ # == Class: openstack_project::jenkins # class openstack_project::jenkins ( + $vhost_name = $::fqdn, $jenkins_jobs_password = '', $manage_jenkins_jobs = true, $ssl_cert_file_contents = '', @@ -20,13 +21,12 @@ class openstack_project::jenkins ( sysadmins => $sysadmins, } - $vhost_name = 'jenkins.openstack.org' class { '::jenkins::master': vhost_name => $vhost_name, serveradmin => 'webmaster@openstack.org', logo => 'openstack.png', - ssl_cert_file => '/etc/ssl/certs/jenkins.openstack.org.pem', - ssl_key_file => '/etc/ssl/private/jenkins.openstack.org.key', + ssl_cert_file => "/etc/ssl/certs/${vhost_name}.pem", + ssl_key_file => "/etc/ssl/private/${vhost_name}.key", ssl_chain_file => '/etc/ssl/certs/intermediate.pem', ssl_cert_file_contents => $ssl_cert_file_contents, ssl_key_file_contents => $ssl_key_file_contents, diff --git a/modules/openstack_project/templates/devstack-gate-secure.conf.erb b/modules/openstack_project/templates/devstack-gate-secure.conf.erb index 3e88374008..09f8b5a0d2 100644 --- a/modules/openstack_project/templates/devstack-gate-secure.conf.erb +++ b/modules/openstack_project/templates/devstack-gate-secure.conf.erb @@ -1,4 +1,4 @@ [jenkins] -server=https://jenkins.openstack.org +server=https://<%= jenkins_server %> user=<%= jenkins_api_user %> apikey=<%= jenkins_api_key %>