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."); +} +