diff --git a/manifests/site.pp b/manifests/site.pp index bb92c89c0f..75bc2df30f 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -830,6 +830,14 @@ node 'zuul.openstack.org' { 'jenkins06.openstack.org', 'jenkins07.openstack.org', 'jenkins-dev.openstack.org', + 'zl01.openstack.org', + 'zl02.openstack.org', + 'zl03.openstack.org', + 'zl04.openstack.org', + 'zl05.openstack.org', + 'zl06.openstack.org', + 'zl07.openstack.org', + 'zl08.openstack.org', 'zm01.openstack.org', 'zm02.openstack.org', 'zm03.openstack.org', @@ -842,6 +850,72 @@ node 'zuul.openstack.org' { } } +# Node-OS: trusty +node /^zl\d+\.openstack\.org$/ { + $group = "zuul-merger" + $zmq_event_receivers = ['logstash.openstack.org', + 'nodepool.openstack.org'] + $zmq_iptables_rule = regsubst($zmq_event_receivers, + '^(.*)$', '-m state --state NEW -m tcp -p tcp --dport 8888 -s \1 -j ACCEPT') + $iptables_rule = flatten([$zmq_iptables_rule]) + class { 'openstack_project::server': + iptables_rules6 => $iptables_rule, + iptables_rules4 => $iptables_rule, + sysadmins => hiera('sysadmins', []), + puppetmaster_server => 'puppetmaster.openstack.org', + } + class { 'openstack_project::zuul_launcher': + 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('zuul_ssh_private_key_contents'), + sysadmins => hiera('sysadmins', []), + sites => [ + { + name => 'tarballs.openstack.org', + host => 'tarballs.openstack.org', + user => 'jenkins', + root => '/srv/static', + }, + { + name => 'eavesdrop.openstack.org', + host => 'eavesdrop.openstack.org', + user => 'jenkins', + root => '/srv/static', + }, + { + name => 'static.openstack.org', + host => 'static.openstack.org', + user => 'jenkins', + root => '/srv/static', + }, + { + name => 'docs.openstack.org', + host => 'ftp3.ftptoyoursite.com', + user => 'openstackdocs', + pass => hiera('openstackdocs_ftp_password'), + root => '/web/content', + }, + { + name => 'api.openstack.org', + host => 'ftp3.ftptoyoursite.com', + user => 'cloudapidocs', + pass => hiera('cloudapidocs_ftp_password'), + root => '/web/content', + }, + { + name => 'developer.openstack.org', + host => 'ftp3.ftptoyoursite.com', + user => 'clouddevdocs', + pass => hiera('clouddevdocs_ftp_password'), + root => '/web/content', + }, + ], + } +} + + # Node-OS: precise # Node-OS: trusty node /^zm\d+\.openstack\.org$/ { diff --git a/modules/openstack_project/manifests/zuul_launcher.pp b/modules/openstack_project/manifests/zuul_launcher.pp new file mode 100644 index 0000000000..a6f6d9b8e5 --- /dev/null +++ b/modules/openstack_project/manifests/zuul_launcher.pp @@ -0,0 +1,61 @@ +# == Class: openstack_project::zuul_launcher +# +class openstack_project::zuul_launcher( + $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 = '', + $status_url = 'http://status.openstack.org/zuul/', + $swift_authurl = '', + $swift_auth_version = '', + $swift_user = '', + $swift_key = '', + $swift_tenant_name = '', + $swift_region_name = '', + $swift_default_container = '', + $swift_default_logserver_prefix = '', + $swift_default_expiry = 7200, + $proxy_ssl_cert_file_contents = '', + $proxy_ssl_key_file_contents = '', + $proxy_ssl_chain_file_contents = '', + $sysadmins = [], + $statsd_host = '', + $project_config_repo = '', + $project_config_base = '', + $git_email = 'jenkins@openstack.org', + $git_name = 'OpenStack Jenkins', + $workspace_root = '/home/jenkins/workspace', + $worker_private_key_file = '/var/lib/zuul/ssh/id_rsa', + $worker_username = 'jenkins', + $sites = [], +) { + + class { '::project_config': + url => $project_config_repo, + base => $project_config_base, + } + + 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 => $git_email, + git_name => $git_name, + revision => $revision, + git_source_repo => $git_source_repo, + jenkins_jobs => $::project_config::jenkins_job_builder_config_dir, + workspace_root => $workspace_root, + worker_private_key_file => $worker_private_key_file, + worker_username => $worker_username, + sites => $sites, + } + + class { 'zuul::launcher': } +}