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