From 492db28ea7befc162a8a1d57725a4bfd63c992ca Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Tue, 22 Nov 2016 15:11:32 -0800 Subject: [PATCH] Add nodepool builder nodes This supports our first independent nodepool builder server. It will run the zuulv3 branch in parallel with the current master/ production branch to start. Change-Id: Ic2fe4c6ac66cdeed909dd0aba35f233b61e270b1 Depends-On: I9d45d1e0ab2bcacdf9609329b88e7de45f827f74 --- manifests/site.pp | 92 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/manifests/site.pp b/manifests/site.pp index 0ac2be9480..aefc031a96 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -883,6 +883,98 @@ node 'nodepool.openstack.org' { } } +# Node-OS: trusty +# Node-OS: xenial +node /^nb\d+\.openstack\.org$/ { + # TODO(pabelanger): Move all of this back into nodepool manifest, it has + # grown too big. + $bluebox_username = hiera('nodepool_bluebox_username', 'username') + $bluebox_password = hiera('nodepool_bluebox_password') + $bluebox_project = hiera('nodepool_bluebox_project', 'project') + $rackspace_username = hiera('nodepool_rackspace_username', 'username') + $rackspace_password = hiera('nodepool_rackspace_password') + $rackspace_project = hiera('nodepool_rackspace_project', 'project') + $hpcloud_username = hiera('nodepool_hpcloud_username', 'username') + $hpcloud_password = hiera('nodepool_hpcloud_password') + $hpcloud_project = hiera('nodepool_hpcloud_project', 'project') + $internap_username = hiera('nodepool_internap_username', 'username') + $internap_password = hiera('nodepool_internap_password') + $internap_project = hiera('nodepool_internap_project', 'project') + $ovh_username = hiera('nodepool_ovh_username', 'username') + $ovh_password = hiera('nodepool_ovh_password') + $ovh_project = hiera('nodepool_ovh_project', 'project') + $tripleo_username = hiera('nodepool_tripleo_username', 'username') + $tripleo_password = hiera('nodepool_tripleo_password') + $tripleo_project = hiera('nodepool_tripleo_project', 'project') + $infracloud_vanilla_username = hiera('nodepool_infracloud_vanilla_username', 'username') + $infracloud_vanilla_password = hiera('nodepool_infracloud_vanilla_password') + $infracloud_vanilla_project = hiera('nodepool_infracloud_vanilla_project', 'project') + $infracloud_chocolate_username = hiera('nodepool_infracloud_chocolate_username', 'username') + $infracloud_chocolate_password = hiera('nodepool_infracloud_chocolate_password') + $infracloud_chocolate_project = hiera('nodepool_infracloud_chocolate_project', 'project') + $osic_cloud1_username = hiera('nodepool_osic_cloud1_username', 'username') + $osic_cloud1_password = hiera('nodepool_osic_cloud1_password') + $osic_cloud1_project = hiera('nodepool_osic_cloud1_project', 'project') + $osic_cloud8_username = hiera('nodepool_osic_cloud8_username', 'username') + $osic_cloud8_password = hiera('nodepool_osic_cloud8_password') + $osic_cloud8_project = hiera('nodepool_osic_cloud8_project', 'project') + $vexxhost_username = hiera('nodepool_vexxhost_username', 'username') + $vexxhost_password = hiera('nodepool_vexxhost_password') + $vexxhost_project = hiera('nodepool_vexxhost_project', 'project') + $datacentred_username = hiera('nodepool_datacentred_username', 'username') + $datacentred_password = hiera('nodepool_datacentred_password') + $datacentred_project = hiera('nodepool_datacentred_project', 'project') + $citycloud_username = hiera('nodepool_citycloud_username', 'username') + $citycloud_password = hiera('nodepool_citycloud_password') + $entercloud_username = hiera('nodepool_entercloud_username', 'username') + $entercloud_password = hiera('nodepool_entercloud_password') + $clouds_yaml = template("openstack_project/nodepool/clouds.yaml.erb") + class { 'openstack_project::server': + sysadmins => hiera('sysadmins', []), + iptables_public_tcp_ports => [80], + } + + include openstack_project + + + class { '::openstackci::nodepool_builder': + vhost_name => $::fqdn, + project_config_repo => 'https://git.openstack.org/openstack-infra/project-config', + revision => 'zuulv3', + oscc_file_contents => $clouds_yaml, + image_log_document_root => '/var/log/nodepool/image', + statsd_host => 'graphite.openstack.org', + builder_logging_conf_template => 'openstack_project/nodepool/nodepool-builder.logging.conf.erb', + upload_workers => '16', + } + + file { '/home/nodepool/.config/openstack/infracloud_vanilla_cacert.pem': + ensure => present, + owner => 'nodepool', + group => 'nodepool', + mode => '0600', + content => hiera('infracloud_vanilla_ssl_cert_file_contents'), + require => Class['::openstackci::nodepool_builder'], + } + file { '/home/nodepool/.config/openstack/infracloud_chocolate_cacert.pem': + ensure => present, + owner => 'nodepool', + group => 'nodepool', + mode => '0600', + content => hiera('infracloud_chocolate_ssl_cert_file_contents'), + require => Class['::openstackci::nodepool_builder'], + } + + cron { 'mirror_gitgc': + user => 'nodepool', + hour => '20', + minute => '0', + command => 'find /opt/dib_cache/source-repositories/ -type d -name "*.git" -exec git --git-dir="{}" gc \; >/dev/null', + environment => 'PATH=/usr/bin:/bin:/usr/sbin:/sbin', + require => Class['::openstackci::nodepool_builder'], + } +} + # Node-OS: trusty node 'zuul.openstack.org' { class { 'openstack_project::zuul_prod':