coren has uploaded a new change for review.

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


Change subject: Update manage-nfs-volumes-daemon
......................................................................

Update manage-nfs-volumes-daemon

- comment out snapshot exporting (disabled atm)
- force sync-exports (even when no new volumes)
- avoid double exports

Change-Id: I62d7fd55da3a23a75985a7aed038860643584d2d
---
M modules/ldap/files/scripts/manage-nfs-volumes-daemon
1 file changed, 25 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/96/91596/1

diff --git a/modules/ldap/files/scripts/manage-nfs-volumes-daemon 
b/modules/ldap/files/scripts/manage-nfs-volumes-daemon
index c385894..7c03e33 100755
--- a/modules/ldap/files/scripts/manage-nfs-volumes-daemon
+++ b/modules/ldap/files/scripts/manage-nfs-volumes-daemon
@@ -44,6 +44,7 @@
         # { 'project': ['10.0.0.1'] } } would manually add 10.0.0.1 to the 
dumps-project access list
         self.manual_shares = {'publicdata': {'project': ['208.80.154.11']}}
         self.volume_names = ['home', 'project']
+        self.redundant_volumes = [ 'project' ]
         self.loglevel = INFO
         self.logfile = None
 
@@ -84,21 +85,21 @@
             self.project_volumes[project_name] = {}
             self.project_volumes[project_name]["present"] = 
os.listdir(project_path)
 
-        snap_dirs = os.listdir(self.base_snapshot_dir)
-        for snap_time in snap_dirs:
-            snap_path = os.path.join(self.base_snapshot_dir, snap_time)
-            if not os.path.isdir(snap_path):
-                continue
-
-            project_snap_dirs = os.listdir(snap_path)
-            for project_name in project_snap_dirs:
-                project_snap_path = os.path.join(snap_path, project_name)
-                if not os.path.isdir(project_snap_path):
-                    continue
-
-                if project_name not in self.project_volumes:
-                    self.project_volumes[project_name] = {}
-                self.project_volumes[project_name][snap_time] = 
os.listdir(project_snap_path)
+#        snap_dirs = os.listdir(self.base_snapshot_dir)
+#        for snap_time in snap_dirs:
+#            snap_path = os.path.join(self.base_snapshot_dir, snap_time)
+#            if not os.path.isdir(snap_path):
+#                continue
+#
+#            project_snap_dirs = os.listdir(snap_path)
+#            for project_name in project_snap_dirs:
+#                project_snap_path = os.path.join(snap_path, project_name)
+#                if not os.path.isdir(project_snap_path):
+#                    continue
+#
+#                if project_name not in self.project_volumes:
+#                    self.project_volumes[project_name] = {}
+#                self.project_volumes[project_name][snap_time] = 
os.listdir(project_snap_path)
 
     def refresh_volumes(self):
         base = self.ldapSupportLib.getBase()
@@ -175,6 +176,12 @@
             self.log("Project %s no longer exists but still has allocated 
volumes." % orphan)
 
         ds.unbind()
+
+        # Ideally, we'd only want to do this if the volumes have changed
+        # /or/ the list of exports has.  Forcing it on for now, doing it
+        # every 3 min isn't too onerous.
+        self.schedule_sync_exports = True
+
         if self.schedule_sync_exports:
             if self.dry_run:
                 print "Calling sync-exports"
@@ -182,6 +189,9 @@
                 subprocess.call(["sudo", "/usr/local/sbin/sync-exports"])
 
     def update_exports(self, project_name, volume_name, hosts):
+        if volume_name in self.redundant_volumes:
+            return
+
         if project_name not in self.project_volumes:
             if hosts:
                 self.log("Unable to set exports for %s, %s because we can't 
find it." % (project_name, volume_name))

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

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

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

Reply via email to