Andrew Bogott has submitted this change and it was merged.
Change subject: download: convert into a module and clean up
......................................................................
download: convert into a module and clean up
Change-Id: Ied0f7e3bd696b0fb35bf2d705b8e0dda62c51879
---
D manifests/misc/download.pp
M manifests/site.pp
R modules/download/files/.pep8
R modules/download/files/apache/download.mediawiki.org
R modules/download/files/exports
R modules/download/files/gluster/gluster-rsync-cron.sh
R modules/download/files/gluster/wmfdumpsmirror.py
R modules/download/files/lighttpd.conf
R modules/download/files/rsync-dumps.sh
R modules/download/files/rsync/rsync.default.downloadmirror
R modules/download/files/rsync/rsync.default.downloadprimary
R modules/download/files/rsync/rsyncd.conf.downloadmirror
R modules/download/files/rsync/rsyncd.conf.downloadprimary
A modules/download/manifests/cron-rsync-dumps.pp
A modules/download/manifests/gluster.pp
A modules/download/manifests/init.pp
A modules/download/manifests/kiwix.pp
A modules/download/manifests/mediawiki.pp
A modules/download/manifests/mirror.pp
A modules/download/manifests/primary.pp
A modules/download/manifests/wikimedia.pp
21 files changed, 219 insertions(+), 239 deletions(-)
Approvals:
Andrew Bogott: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/misc/download.pp b/manifests/misc/download.pp
deleted file mode 100644
index a34d027..0000000
--- a/manifests/misc/download.pp
+++ /dev/null
@@ -1,231 +0,0 @@
-# misc::download
-
-class misc::download::cron-rsync-dumps {
- file { '/usr/local/bin/rsync-dumps.sh':
- mode => 0755,
- owner => root,
- group => root,
- path => '/usr/local/bin/rsync-dumps.sh',
- source => 'puppet:///files/misc/scripts/rsync-dumps.sh';
- }
-
- cron { 'rsync-dumps':
- ensure => present,
- command => '/usr/local/bin/rsync-dumps.sh',
- user => root,
- minute => '0',
- hour => '*/2',
- require => File['/usr/local/bin/rsync-dumps.sh'];
- }
-}
-
-class misc::download-wikimedia {
- system::role { "misc::download-wikimedia": description =>
"download.wikimedia.org" }
-
- package { lighttpd:
- ensure => latest;
- }
-
- file {
- "/etc/lighttpd/lighttpd.conf":
- mode => 0444,
- owner => root,
- group => root,
- path => "/etc/lighttpd/lighttpd.conf",
- source => "puppet:///files/download/lighttpd.conf";
- }
-
- service { lighttpd:
- ensure => running;
- }
-
- package { nfs-kernel-server:
- ensure => present;
- }
-
- file { "/etc/exports":
- require => Package[nfs-kernel-server],
- mode => 0444,
- owner => root,
- group => root,
- source => "puppet:///files/download/exports",
- }
-
- service { nfs-kernel-server:
- require => [ Package[nfs-kernel-server], File["/etc/exports"] ],
- }
-
- package { 'gnupg':
- ensure => latest;
- }
-
- include generic::higher_min_free_kbytes
-
- monitor_service { "lighttpd http": description => "Lighttpd HTTP",
check_command => "check_http" }
- monitor_service { "nfs": description => "NFS", check_command =>
"check_tcp!2049" }
-}
-
-class misc::download-primary {
- system::role { "misc::download-primary": description => "Service for
rsync to internal download mirrors" }
-
- include role::mirror::common
-
- file {
- "/etc/rsyncd.conf":
- require => Package[rsync],
- mode => 0444,
- owner => root,
- group => root,
- source =>
"puppet:///files/rsync/rsyncd.conf.downloadprimary";
- "/etc/default/rsync":
- require => Package[rsync],
- mode => 0444,
- owner => root,
- group => root,
- source =>
"puppet:///files/rsync/rsync.default.downloadprimary";
- }
-
- service { rsync:
- require => [ Package[rsync], File["/etc/rsyncd.conf"],
File["/etc/default/rsync"] ],
- ensure => running;
- }
-}
-
-class misc::download-mirror {
- system::role { "misc::download-mirror": description => "Service for
rsync to external download mirrors" }
-
- include role::mirror::common
-
- file {
- "/etc/rsyncd.conf":
- require => Package[rsync],
- mode => 0444,
- owner => root,
- group => root,
- source =>
"puppet:///files/rsync/rsyncd.conf.downloadmirror";
- "/etc/default/rsync":
- require => Package[rsync],
- mode => 0444,
- owner => root,
- group => root,
- source =>
"puppet:///files/rsync/rsync.default.downloadmirror";
- }
-
- service { rsync:
- require => [ Package[rsync], File["/etc/rsyncd.conf"],
File["/etc/default/rsync"] ],
- ensure => running;
- }
-}
-
-
-class misc::download-mediawiki {
-
- system::role { "misc::download-mediawiki": description => "MediaWiki
download" }
-
- # FIXME: require apache
-
- file {
- #apache config
- "/etc/apache2/sites-available/download.mediawiki.org":
- mode => 0444,
- owner => root,
- group => root,
- source =>
"puppet:///files/apache/sites/download.mediawiki.org";
- "/srv/org/mediawiki":
- owner => "root",
- group => "root",
- mode => 0775,
- ensure => directory;
- "/srv/org/mediawiki/download":
- owner => "mwdeploy",
- group => "mwdeploy",
- mode => 0775,
- ensure => directory;
- }
-
- apache_site { "download.mediawiki.org": name =>
"download.mediawiki.org" }
-}
-
-class misc::download-gluster {
- include role::mirror::common
- include gluster::client
-
- system::role { "misc::download-gluster": description => "Gluster dumps
copy" }
-
- file {
- '/mnt/glusterpublicdata':
- ensure => directory,
- owner => "root",
- group => "root",
- mode => 0775;
- }
-
- mount {
- '/mnt/glusterpublicdata':
- ensure => present,
- device => 'labstore1.pmtpa.wmnet:/publicdata-project',
- fstype => 'glusterfs',
- options =>
'defaults,_netdev=bond0,log-level=WARNING,log-file=/var/log/gluster.log',
- require => [Package['glusterfs-client'],
File['/mnt/glusterpublicdata']];
- }
-
- file {
- '/usr/local/bin/wmfdumpsmirror.py':
- ensure => present,
- mode => '0755',
- source => 'puppet:///files/mirror/wmfdumpsmirror.py';
- '/usr/local/sbin/gluster-rsync-cron.sh':
- ensure => present,
- mode => '0755',
- source =>
'puppet:///files/mirror/gluster-rsync-cron.sh',
- }
-
- cron {
- 'dumps_gluster_rsync':
- ensure => present,
- user => root,
- minute => '50',
- hour => '3',
- command => '/usr/local/sbin/gluster-rsync-cron.sh',
- environment => '[email protected]',
- require => [ File[
['/usr/local/bin/wmfdumpsmirror.py', '/usr/local/sbin/gluster-rsync-cron.sh'],
- ['/mnt/glusterpublicdata'] ] ];
- }
-}
-
-
-class misc::kiwix-mirror {
- # TODO: add system::role
-
- group { mirror:
- ensure => "present";
- }
-
- user { mirror:
- name => "mirror",
- gid => "mirror",
- groups => [ "www-data"],
- membership => "minimum",
- home => "/data/home",
- shell => "/bin/bash";
- }
-
- file {
- "/data/xmldatadumps/public/kiwix":
- ensure => "/data/xmldatadumps/public/other/kiwix";
- "/data/xmldatadumps/public/other/kiwix":
- owner => "mirror",
- group => "mirror",
- mode => 0644,
- ensure => present;
- }
-
- cron { kiwix-mirror-update:
- command => "rsync -vzrlptD
download.kiwix.org::download.kiwix.org/zim/0.9/
/data/xmldatadumps/public/other/kiwix/zim/0.9/ >/dev/null 2>&1",
- user => mirror,
- minute => '*/15',
- ensure => present;
- }
-
-}
-
diff --git a/manifests/site.pp b/manifests/site.pp
index 13faf01..e2bf2ad 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -533,10 +533,9 @@
admins::roots,
groups::wikidev,
accounts::catrope,
- misc::download-wikimedia,
- misc::download-primary,
- misc::download::cron-rsync-dumps,
- misc::kiwix-mirror
+ download,
+ download::primary,
+ download::kiwix
}
node "dataset1001.wikimedia.org" {
@@ -547,10 +546,9 @@
admins::roots,
groups::wikidev,
accounts::catrope,
- misc::download-wikimedia,
- misc::download-mirror,
- misc::download::cron-rsync-dumps,
- misc::download-gluster
+ download,
+ download::mirror,
+ download::gluster
}
# pmtpa dbs
diff --git a/files/mirror/.pep8 b/modules/download/files/.pep8
similarity index 100%
rename from files/mirror/.pep8
rename to modules/download/files/.pep8
diff --git a/files/apache/sites/download.mediawiki.org
b/modules/download/files/apache/download.mediawiki.org
similarity index 100%
rename from files/apache/sites/download.mediawiki.org
rename to modules/download/files/apache/download.mediawiki.org
diff --git a/files/download/exports b/modules/download/files/exports
similarity index 100%
rename from files/download/exports
rename to modules/download/files/exports
diff --git a/files/mirror/gluster-rsync-cron.sh
b/modules/download/files/gluster/gluster-rsync-cron.sh
similarity index 100%
rename from files/mirror/gluster-rsync-cron.sh
rename to modules/download/files/gluster/gluster-rsync-cron.sh
diff --git a/files/mirror/wmfdumpsmirror.py
b/modules/download/files/gluster/wmfdumpsmirror.py
similarity index 100%
rename from files/mirror/wmfdumpsmirror.py
rename to modules/download/files/gluster/wmfdumpsmirror.py
diff --git a/files/download/lighttpd.conf b/modules/download/files/lighttpd.conf
similarity index 100%
rename from files/download/lighttpd.conf
rename to modules/download/files/lighttpd.conf
diff --git a/files/misc/scripts/rsync-dumps.sh
b/modules/download/files/rsync-dumps.sh
similarity index 100%
rename from files/misc/scripts/rsync-dumps.sh
rename to modules/download/files/rsync-dumps.sh
diff --git a/files/rsync/rsync.default.downloadmirror
b/modules/download/files/rsync/rsync.default.downloadmirror
similarity index 100%
rename from files/rsync/rsync.default.downloadmirror
rename to modules/download/files/rsync/rsync.default.downloadmirror
diff --git a/files/rsync/rsync.default.downloadprimary
b/modules/download/files/rsync/rsync.default.downloadprimary
similarity index 100%
rename from files/rsync/rsync.default.downloadprimary
rename to modules/download/files/rsync/rsync.default.downloadprimary
diff --git a/files/rsync/rsyncd.conf.downloadmirror
b/modules/download/files/rsync/rsyncd.conf.downloadmirror
similarity index 100%
rename from files/rsync/rsyncd.conf.downloadmirror
rename to modules/download/files/rsync/rsyncd.conf.downloadmirror
diff --git a/files/rsync/rsyncd.conf.downloadprimary
b/modules/download/files/rsync/rsyncd.conf.downloadprimary
similarity index 100%
rename from files/rsync/rsyncd.conf.downloadprimary
rename to modules/download/files/rsync/rsyncd.conf.downloadprimary
diff --git a/modules/download/manifests/cron-rsync-dumps.pp
b/modules/download/manifests/cron-rsync-dumps.pp
new file mode 100644
index 0000000..e58b6ba
--- /dev/null
+++ b/modules/download/manifests/cron-rsync-dumps.pp
@@ -0,0 +1,18 @@
+class download::cron-rsync-dumps {
+ file { '/usr/local/bin/rsync-dumps.sh':
+ mode => '0755',
+ owner => root,
+ group => root,
+ path => '/usr/local/bin/rsync-dumps.sh',
+ source => 'puppet:///modules/download/files/rsync-dumps.sh';
+ }
+
+ cron { 'rsync-dumps':
+ ensure => present,
+ command => '/usr/local/bin/rsync-dumps.sh',
+ user => root,
+ minute => '0',
+ hour => '*/2',
+ require => File['/usr/local/bin/rsync-dumps.sh'];
+ }
+}
diff --git a/modules/download/manifests/gluster.pp
b/modules/download/manifests/gluster.pp
new file mode 100644
index 0000000..a6dba38
--- /dev/null
+++ b/modules/download/manifests/gluster.pp
@@ -0,0 +1,36 @@
+class download::gluster {
+ include role::mirror::common
+ include generic::gluster-client
+
+ system_role { "download-gluster": description => "Gluster dumps copy" }
+
+ mount { '/mnt/glusterpublicdata':
+ ensure => mounted,
+ device => 'labstore1.pmtpa.wmnet:/publicdata-project',
+ fstype => 'glusterfs',
+ options =>
'defaults,_netdev=bond0,log-level=WARNING,log-file=/var/log/gluster.log',
+ require => Package['glusterfs-client'],
+ }
+
+ file { '/usr/local/bin/wmfdumpsmirror.py':
+ ensure => present,
+ mode => '0755',
+ source => 'puppet:///modules/download/files/gluster/wmfdumpsmirror.py',
+ }
+
+ file{ '/usr/local/sbin/gluster-rsync-cron.sh':
+ ensure => present,
+ mode => '0755',
+ source =>
'puppet:///modules/download/files/gluster/gluster-rsync-cron.sh',
+ }
+
+ cron { 'dumps_gluster_rsync':
+ ensure => present,
+ user => root,
+ minute => '50',
+ hour => '3',
+ command => '/usr/local/sbin/gluster-rsync-cron.sh',
+ environment => '[email protected]',
+ require => [ File[
['/usr/local/bin/wmfdumpsmirror.py','/usr/local/sbin/gluster-rsync-cron.sh'] ],
Mount['/mnt/glusterpublicdata'] ]
+ }
+}
diff --git a/modules/download/manifests/init.pp
b/modules/download/manifests/init.pp
new file mode 100644
index 0000000..6cd9207
--- /dev/null
+++ b/modules/download/manifests/init.pp
@@ -0,0 +1,4 @@
+class download {
+ include download::cron-rsync-dumps,
+ download::wikimedia
+}
diff --git a/modules/download/manifests/kiwix.pp
b/modules/download/manifests/kiwix.pp
new file mode 100644
index 0000000..2d3240d
--- /dev/null
+++ b/modules/download/manifests/kiwix.pp
@@ -0,0 +1,30 @@
+class download::kiwix {
+ # TODO: add system_role
+ group { 'mirror':
+ ensure => present,
+ }
+
+ user { 'mirror':
+ name => mirror,
+ gid => mirror,
+ groups => www-data,
+ membership => minimum,
+ home => '/data/home',
+ shell => '/bin/bash',
+ }
+
+ file { '/data/xmldatadumps/public/kiwix':
+ ensure => link,
+ target => '/data/xmldatadumps/public/other/kiwix',
+ owner => mirror,
+ group => mirror,
+ mode => '0644',
+ }
+
+ cron { 'kiwix-mirror-update':
+ ensure => present,
+ command => "rsync -vzrlptD
download.kiwix.org::download.kiwix.org/zim/0.9/
/data/xmldatadumps/public/other/kiwix/zim/0.9/ >/dev/null 2>&1",
+ user => mirror,
+ minute => '*/15',
+ }
+}
diff --git a/modules/download/manifests/mediawiki.pp
b/modules/download/manifests/mediawiki.pp
new file mode 100644
index 0000000..02fb361
--- /dev/null
+++ b/modules/download/manifests/mediawiki.pp
@@ -0,0 +1,31 @@
+class download::mediawiki {
+
+ system_role { "download-mediawiki": description => "MediaWiki download" }
+
+ package { 'apache':
+ ensure => present,
+ }
+
+ file { '/etc/apache2/sites-available/download.mediawiki.org':
+ mode => '0444',
+ owner => root,
+ group => root,
+ source => 'puppet:///modules/downloads/apache/download.mediawiki.org',
+ }
+
+ file { '/srv/org/mediawiki':
+ ensure => directory,
+ owner => root,
+ group => root,
+ mode => '0775',
+ }
+
+ file { '/srv/org/mediawiki/download':
+ ensure => directory,
+ owner => mwdeploy,
+ group => mwdeploy,
+ mode => '0775',
+ }
+
+ apache_site { "download.mediawiki.org": name => "download.mediawiki.org" }
+}
diff --git a/modules/download/manifests/mirror.pp
b/modules/download/manifests/mirror.pp
new file mode 100644
index 0000000..617c7a1
--- /dev/null
+++ b/modules/download/manifests/mirror.pp
@@ -0,0 +1,27 @@
+class download::mirror {
+ system_role { "download-mirror": description => "Service for rsync to
external download mirrors" }
+
+ include role::mirror::common
+
+ file { '/etc/rsyncd.conf':
+ mode => '0444',
+ owner => root,
+ group => root,
+ source =>
'puppet:///modules/download/files/rsync/rsyncd.conf.downloadmirror',
+ require => Package['rsync'],
+ }
+
+ file { '/etc/default/rsync':
+ mode => '0444',
+ owner => root,
+ group => root,
+ source =>
'puppet:///modules/download/files/rsync/rsync.default.downloadmirror',
+ require => Package['rsync'],
+ }
+
+ service { 'rsync':
+ ensure => running,
+ require => [ Package['rsync'], File['/etc/rsyncd.conf'],
+File['/etc/default/rsync'] ],
+ }
+}
diff --git a/modules/download/manifests/primary.pp
b/modules/download/manifests/primary.pp
new file mode 100644
index 0000000..d0637f5
--- /dev/null
+++ b/modules/download/manifests/primary.pp
@@ -0,0 +1,27 @@
+class download::primary {
+ system_role { "download-primary": description => "Service for rsync to
internal download mirrors" }
+
+ include role::mirror::common
+
+ file { '/etc/rsyncd.conf':
+ mode => '0444',
+ owner => root,
+ group => root,
+ source =>
'puppet:///modules/download/files/rsync/rsyncd.conf.downloadprimary',
+ require => Package['rsync'],
+ }
+
+ file { '/etc/default/rsync':
+ mode => '0444',
+ owner => root,
+ group => root,
+ source
=>'puppet:///modules/download/files/rsync/rsync.default.downloadprimary',
+ require => Package['rsync'],
+ }
+
+ service { 'rsync':
+ ensure => running,
+ require => [ Package['rsync'], File['/etc/rsyncd.conf'],
+File['/etc/default/rsync'] ],
+ }
+}
diff --git a/modules/download/manifests/wikimedia.pp
b/modules/download/manifests/wikimedia.pp
new file mode 100644
index 0000000..0817ba7
--- /dev/null
+++ b/modules/download/manifests/wikimedia.pp
@@ -0,0 +1,40 @@
+class download::wikimedia {
+ system_role { "download-wikimedia": description =>
"download.wikimedia.org" }
+
+ package { 'lighttpd':
+ ensure => latest;
+ }
+
+ file { '/etc/lighttpd/lighttpd.conf':
+ mode => '0444',
+ owner => root,
+ group => root,
+ path => '/etc/lighttpd/lighttpd.conf',
+ source => 'puppet:///modules/download/files/lighttpd.conf',
+ }
+
+ service { 'lighttpd':
+ ensure => running;
+ }
+
+ package { 'nfs-kernel-server':
+ ensure => present;
+ }
+
+ file { '/etc/exports':
+ mode => '0444',
+ owner => root,
+ group => root,
+ source => 'puppet:///modules/download/files/exports',
+ require => package['nfs-kernel-server'],
+ }
+
+ service { 'nfs-kernel-server':
+ require => [ Package['nfs-kernel-server'], File['/etc/exports'] ],
+ }
+
+ include generic::higher_min_free_kbytes
+
+ monitor_service { "lighttpd http": description => "Lighttpd HTTP",
check_command => "check_http" }
+ monitor_service { "nfs": description => "NFS", check_command =>
"check_tcp!2049" }
+}
--
To view, visit https://gerrit.wikimedia.org/r/95460
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ied0f7e3bd696b0fb35bf2d705b8e0dda62c51879
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Matanya <[email protected]>
Gerrit-Reviewer: Andrew Bogott <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits