Giuseppe Lavagetto has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/264954

Change subject: role::deployment::server: syncronize /srv/deployment
......................................................................

role::deployment::server: syncronize /srv/deployment

We want both servers to be able to deploy code, so we do as follows:

- Install an rsync server
- If a server is not the current master, install a cronjob that syncs
  data from the master every hour.

Change-Id: Idf2ff5444c7928252daac3b45dc89b8dfae8736f
---
A modules/deployment/manifests/rsync.pp
M modules/role/manifests/deployment/server.pp
2 files changed, 33 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/54/264954/1

diff --git a/modules/deployment/manifests/rsync.pp 
b/modules/deployment/manifests/rsync.pp
new file mode 100644
index 0000000..f781cfc
--- /dev/null
+++ b/modules/deployment/manifests/rsync.pp
@@ -0,0 +1,31 @@
+# === Class deployment::rsync
+#
+# Simple class to allow syncing of the deployment directory.
+#
+
+class deployment::rsync {
+    $deployment_server = hiera('deployment_server', 'tin.eqiad.wmnet')
+
+    include rsync::server
+
+    rsync::server::module { 'trebuchet_server':
+        path        => '/srv/deployment',
+        read_only   => 'yes',
+        hosts_allow => 
$::network::constants::special_hosts[$realm]['deployment_hosts'],
+    }
+
+    if ($deployment_server == $::fqdn) {
+        $ensure = 'present'
+    }
+    else {
+        $ensure = 'absent'
+    }
+
+    cron { 'sync_deployment_dir':
+        ensure  => $ensure,
+        command => "/usr/bin/rsync -avz --delete 
rsync://${deployment_server}/srv/deployment /srv/deployment > /dev/null 2>&1",
+        minute  => 0,
+    }
+
+
+}
diff --git a/modules/role/manifests/deployment/server.pp 
b/modules/role/manifests/deployment/server.pp
index 6b3b667..eaba340 100644
--- a/modules/role/manifests/deployment/server.pp
+++ b/modules/role/manifests/deployment/server.pp
@@ -82,6 +82,8 @@
 
     include ::deployment::redis
 
+    include ::deployment::rsync
+
     # Used by the trebuchet salt returner
     ferm::service { 'deployment-redis':
         proto  => 'tcp',

-- 
To view, visit https://gerrit.wikimedia.org/r/264954
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idf2ff5444c7928252daac3b45dc89b8dfae8736f
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to