From: Sapan Bhatia <sapanb@cs.princeton.edu>
Date: Thu, 19 Feb 2009 19:59:39 +0000 (+0000)
Subject: nfsmount script for jeremy stribling
X-Git-Tag: vsys-0.7-23~5
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=d37144572db5252c592905e8ab7363974d62dcf8;p=vsys.git

nfsmount script for jeremy stribling
---

diff --git a/factory/nfsmount b/factory/nfsmount
new file mode 100755
index 0000000..3f0222d
--- /dev/null
+++ b/factory/nfsmount
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+
+use strict;
+
+my $slicename=$ARGV[0];
+my $already_mounted_testfile = "/tmp/$slicename"."_nfsmounted";
+
+if (-f $already_mounted_testfile) {
+	die("Sorry, only one successful NFS mount allowed per slice!");
+}
+
+my $remotepath = <STDIN>;
+my $localpath = <STDIN>;
+chomp($localpath);
+$localpath=~s/\.\.//g;
+
+unless (-d $localpath) {
+	die("Localpath does not exist, please create it first.");
+}
+
+my $hostexpr="(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$)";
+my $pathexpr="\/?[\w\d]+\/[\w\d]*\/?";
+my $nfshost;
+my $nfspath;
+
+($nfshost,$nfspath)=split ':',$remotepath;
+
+if ($nfshost!~/(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$)/) {
+	die("The hostname $nfshost does not seem to be right.");
+}
+
+if ($nfspath!~/^(((\.\.){1}\/)*|(\/){1})?(([a-zA-Z0-9]*)\/)*([a-zA-Z0-9]*)+$/) {
+	die("The remote path $nfspath does not seem to be right.");
+} 
+