Dzahn has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/342692 )
Change subject: gerrit: convert to profile/role structure ...................................................................... gerrit: convert to profile/role structure Converting role to profile/role structure, following the newer puppet style guide on https://wikitech.wikimedia.org/wiki/Puppet_coding Change-Id: Ifce502db939f3c6a9e26c7516c9fd5b18a876392 --- M hieradata/role/common/gerrit/server.yaml M hieradata/role/eqiad/gerrit/server.yaml M manifests/site.pp M modules/gerrit/manifests/init.pp A modules/profile/manifests/gerrit/server.pp M modules/role/manifests/gerrit/server.pp 6 files changed, 77 insertions(+), 57 deletions(-) Approvals: Paladox: Looks good to me, but someone else must approve jenkins-bot: Verified Dzahn: Looks good to me, approved diff --git a/hieradata/role/common/gerrit/server.yaml b/hieradata/role/common/gerrit/server.yaml index 905feac..d45f3f1 100644 --- a/hieradata/role/common/gerrit/server.yaml +++ b/hieradata/role/common/gerrit/server.yaml @@ -4,10 +4,12 @@ debdeploy::grains: debdeploy-gerrit: value: standard -gerrit::host: 'gerrit.wikimedia.org' -gerrit::master_host: 'cobalt.wikimedia.org' + +gerrit::server::host: 'gerrit.wikimedia.org' +gerrit::server::master_host: 'cobalt.wikimedia.org' +gerrit::server::bacula: 'srv-gerrit-git' + # Assume all production nodes are slaves -gerrit::slave: true gerrit::jetty::git_dir: '/srv/gerrit/git' gerrit::jetty::ssh_host_key: 'ssh_host_key' gerrit::jetty::replication: @@ -20,6 +22,4 @@ push: - '+refs/heads/*:refs/heads/*' - '+refs/tags/*:refs/tags/*' -role::gerrit::server::bacula: 'srv-gerrit-git' - # gerrit::jetty::log_host: 'logstash1002.eqiad.wmnet' diff --git a/hieradata/role/eqiad/gerrit/server.yaml b/hieradata/role/eqiad/gerrit/server.yaml index 7791889..b271311 100644 --- a/hieradata/role/eqiad/gerrit/server.yaml +++ b/hieradata/role/eqiad/gerrit/server.yaml @@ -1,3 +1,3 @@ gerrit::jetty::db_host: "m2-master.eqiad.wmnet" -role::gerrit::server::ipv4: '208.80.154.85' -role::gerrit::server::ipv6: '2620:0:861:3:208:80:154:85' +profile::gerrit::server::ipv4: '208.80.154.85' +profile::gerrit::server::ipv6: '2620:0:861:3:208:80:154:85' diff --git a/manifests/site.pp b/manifests/site.pp index 948cf29..3aa924b 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -223,7 +223,7 @@ # New https://www.mediawiki.org/wiki/Gerrit (T147597) node 'cobalt.wikimedia.org' { - role(gerrit::server) + role('gerrit::server') } # conf100x are zookeeper and etcd discovery service nodes in eqiad diff --git a/modules/gerrit/manifests/init.pp b/modules/gerrit/manifests/init.pp index 541fec2..385640c 100644 --- a/modules/gerrit/manifests/init.pp +++ b/modules/gerrit/manifests/init.pp @@ -1,6 +1,8 @@ # Manifest to setup a Gerrit instance - -class gerrit($host = undef, $master_host = $::fqdn) { +class gerrit( + $host = undef, + $master_host = $::fqdn, +) { if $host == undef { fail('$gerrit::host must be set!') diff --git a/modules/profile/manifests/gerrit/server.pp b/modules/profile/manifests/gerrit/server.pp new file mode 100644 index 0000000..e049034 --- /dev/null +++ b/modules/profile/manifests/gerrit/server.pp @@ -0,0 +1,59 @@ +# modules/profile/manifests/gerrit/server.pp +# +# filtertags: labs-project-git labs-project-ci-staging +class profile::gerrit::server( + $ipv4 = hiera('gerrit::server::ipv4'), + $ipv6 = hiera('gerrit::server::ipv6'), + $host = hiera('gerrit::server::host'), + $master_host = hiera('gerrit::server::master_host'), + $bacula = hiera('gerrit::server::bacula'), +) { + + system::role { 'role::gerrit::server': description => 'Gerrit server' } + + interface::ip { 'role::gerrit::server_ipv4': + interface => 'eth0', + address => $ipv4, + prefixlen => '32', + } + + if $ipv6 != undef { + interface::ip { 'role::gerrit::server_ipv6': + interface => 'eth0', + address => $ipv6, + prefixlen => '128', + } + } + + monitoring::service { 'gerrit_ssh': + description => 'SSH access', + check_command => 'check_ssh_port!29418', + contact_group => 'admins,gerrit', + } + + include ::base::firewall + + ferm::service { 'gerrit_ssh': + proto => 'tcp', + port => '29418', + } + + ferm::service { 'gerrit_http': + proto => 'tcp', + port => 'http', + } + + ferm::service { 'gerrit_https': + proto => 'tcp', + port => 'https', + } + + if $bacula != undef { + backup::set { $bacula: } + } + + class { '::gerrit': + host => $host, + master_host => $master_host, + } +} diff --git a/modules/role/manifests/gerrit/server.pp b/modules/role/manifests/gerrit/server.pp index cbf0f81..c95ddf7 100644 --- a/modules/role/manifests/gerrit/server.pp +++ b/modules/role/manifests/gerrit/server.pp @@ -1,50 +1,9 @@ -# modules/role/manifests/gerrit/production.pp +# server running Gerrit code review software +# https://en.wikipedia.org/wiki/Gerrit_%28software%29 # -# filtertags: labs-project-git labs-project-ci-staging -class role::gerrit::server($ipv4, $ipv6 = undef, $bacula = undef) { - system::role { 'role::gerrit::server': description => 'Gerrit server' } +class role::gerrit::server { - include ::standard - include ::role::backup::host - include ::base::firewall - - monitoring::service { 'gerrit_ssh': - description => 'SSH access', - check_command => 'check_ssh_port!29418', - contact_group => 'admins,gerrit', - } - - if $bacula != undef { - backup::set { $bacula: } - } - - interface::ip { 'role::gerrit::server_ipv4': - interface => 'eth0', - address => $ipv4, - prefixlen => '32', - } - if $ipv6 != undef { - interface::ip { 'role::gerrit::server_ipv6': - interface => 'eth0', - address => $ipv6, - prefixlen => '128', - } - } - - ferm::service { 'gerrit_ssh': - proto => 'tcp', - port => '29418', - } - - ferm::service { 'gerrit_http': - proto => 'tcp', - port => 'http', - } - - ferm::service { 'gerrit_https': - proto => 'tcp', - port => 'https', - } - - class { '::gerrit': } + include ::standard + include ::profile::gerrit::server + include ::role::backup::host } -- To view, visit https://gerrit.wikimedia.org/r/342692 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifce502db939f3c6a9e26c7516c9fd5b18a876392 Gerrit-PatchSet: 22 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Dzahn <[email protected]> Gerrit-Reviewer: Chad <[email protected]> Gerrit-Reviewer: Dzahn <[email protected]> Gerrit-Reviewer: Giuseppe Lavagetto <[email protected]> Gerrit-Reviewer: Paladox <[email protected]> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
