[24137] in Source-Commits

home help back first fref pref prev next nref lref last post

/svn/athena r23739 - trunk/debathena/config/afs-config/debian

daemon@ATHENA.MIT.EDU (Evan Broder)
Sun Apr 12 02:06:49 2009

Date: Sun, 12 Apr 2009 02:06:39 -0400
From: Evan Broder <broder@MIT.EDU>
Message-Id: <200904120606.n3C66doO003324@drugstore.mit.edu>
To: source-commits@mit.edu
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: broder
Date: 2009-04-12 02:06:39 -0400 (Sun, 12 Apr 2009)
New Revision: 23739

Added:
   trunk/debathena/config/afs-config/debian/update-cellservdb
Modified:
   trunk/debathena/config/afs-config/debian/changelog
   trunk/debathena/config/afs-config/debian/debathena-afs-config.install
   trunk/debathena/config/afs-config/debian/debathena-afs-config.postinst
Log:
In afs-config:
  * Add script to `fs newcell` any cells that are out of date according to
    the newly installed CellServDB. (Trac: #186)


Modified: trunk/debathena/config/afs-config/debian/changelog
===================================================================
--- trunk/debathena/config/afs-config/debian/changelog	2009-04-12 05:48:20 UTC (rev 23738)
+++ trunk/debathena/config/afs-config/debian/changelog	2009-04-12 06:06:39 UTC (rev 23739)
@@ -1,3 +1,10 @@
+debathena-afs-config (1.8) unstable; urgency=low
+
+  * Add script to `fs newcell` any cells that are out of date according to
+    the newly installed CellServDB. (Trac: #186)
+
+ -- Evan Broder <broder@mit.edu>  Sun, 12 Apr 2009 01:59:31 -0400
+
 debathena-afs-config (1.7) unstable; urgency=low
 
   * New build for huge set of CellServDB updates.

Modified: trunk/debathena/config/afs-config/debian/debathena-afs-config.install
===================================================================
--- trunk/debathena/config/afs-config/debian/debathena-afs-config.install	2009-04-12 05:48:20 UTC (rev 23738)
+++ trunk/debathena/config/afs-config/debian/debathena-afs-config.install	2009-04-12 06:06:39 UTC (rev 23739)
@@ -4,3 +4,4 @@
 debian/SuidCells.debathena etc/openafs
 debian/ThisCell.debathena etc/openafs
 debian/cacheinfo.debathena etc/openafs
+debian/update-cellservdb usr/sbin

Modified: trunk/debathena/config/afs-config/debian/debathena-afs-config.postinst
===================================================================
--- trunk/debathena/config/afs-config/debian/debathena-afs-config.postinst	2009-04-12 05:48:20 UTC (rev 23738)
+++ trunk/debathena/config/afs-config/debian/debathena-afs-config.postinst	2009-04-12 06:06:39 UTC (rev 23739)
@@ -27,6 +27,7 @@
 	else
 	    /etc/init.d/openafs-client restart || true
 	fi
+	update-cellservdb
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)

Added: trunk/debathena/config/afs-config/debian/update-cellservdb
===================================================================
--- trunk/debathena/config/afs-config/debian/update-cellservdb	2009-04-12 05:48:20 UTC (rev 23738)
+++ trunk/debathena/config/afs-config/debian/update-cellservdb	2009-04-12 06:06:39 UTC (rev 23739)
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+my %cm_servers;
+open(FS, '-|', 'fs', 'listcells', '-numeric') or die;
+while (<FS>) {
+    if (/^Cell dynroot on hosts\.$/) {
+    } elsif (/^Cell (\S+) on hosts (.+)\.$/) {
+	$cm_servers{$1} = [split(' ', $2)];
+    } else {
+	die;
+    }
+}
+close(FS) or die;
+
+my %csdb_servers;
+my $cell;
+open(CSDB, '<', '/etc/openafs/CellServDB') or die;
+while (<CSDB>) {
+    if (/^>([^#\s]+)/) {
+	$cell = $1;
+    } elsif (/^([^#\s]+)/) {
+	push(@{$csdb_servers{$cell}}, $1);
+    } else {
+	die;
+    }
+}
+close(CSDB);
+
+while (my ($cell, $servers) = each(%csdb_servers)) {
+    if (!exists($cm_servers{$cell}) or
+	join(' ', sort(@{$cm_servers{$cell}})) ne join(' ', sort(@$servers))) {
+	system('fs', 'newcell', '-name', $cell, '-servers', @$servers);
+    }
+}


Property changes on: trunk/debathena/config/afs-config/debian/update-cellservdb
___________________________________________________________________
Name: svn:executable
   + *


home help back first fref pref prev next nref lref last post