[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [OSSTEST PATCH 12/16] Configuration: Introduce $c{Username}



This makes it easier to share the output of whoami.  As a beneficial
side effect it can now be overridden.

Replace many open-coded calls to `whoami` etc. with references to
$c{Username}.

Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
v2: New patch
---
 Osstest.pm              |    5 +++--
 Osstest/Executive.pm    |   15 ++++-----------
 README                  |    4 ++++
 mg-crontab-install      |    2 +-
 mg-execute-flight       |    2 +-
 mg-schema-test-database |    4 ++--
 6 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/Osstest.pm b/Osstest.pm
index 20b8f62..d4ddda7 100644
--- a/Osstest.pm
+++ b/Osstest.pm
@@ -209,6 +209,7 @@ sub readglobalconfig () {
 
     my $whoami = `whoami` or die $!;
     chomp($whoami) or die;
+    $c{Username} ||= $whoami;
 
     my $nodename = `uname -n` or die $!;
     chomp($nodename) or die;
@@ -219,7 +220,7 @@ sub readglobalconfig () {
     $c{TftpPath} ||= "/tftpboot/";
     $c{TftpPxeDir} ||= "pxelinux.cfg/";
     $c{TftpPxeTemplates} ||= '%ipaddrhex% 01-%etherhyph%';
-    $c{TftpPlayDir} ||= "$whoami/osstest/";
+    $c{TftpPlayDir} ||= "$c{Username}/osstest/";
     $c{TftpTmpDir} ||= "$c{TftpPlayDir}tmp/";
 
     $c{TftpDiBase} ||= "$c{TftpPlayDir}debian-installer";
@@ -229,7 +230,7 @@ sub readglobalconfig () {
     $c{TftpGrubVersion} ||= 'current';
 
     $c{WebspaceFile} ||= "$ENV{'HOME'}/public_html/";
-    $c{WebspaceUrl} ||= "http://$myfqdn/~$whoami/";;
+    $c{WebspaceUrl} ||= "http://$myfqdn/~$c{Username}/";;
     $c{WebspaceCommon} ||= 'osstest/';
     $c{WebspaceLog} ||= '/var/log/apache2/access.log';
 
diff --git a/Osstest/Executive.pm b/Osstest/Executive.pm
index 2214084..fcef83f 100644
--- a/Osstest/Executive.pm
+++ b/Osstest/Executive.pm
@@ -134,19 +134,14 @@ sub opendb_state () {
     return opendb('statedb');
 }
 
-our $whoami;
-
 sub db_pg_dsn ($) {
     my ($dbname) = @_;
     my $pg= $c{"ExecutiveDbname_$dbname"};
 
     if (!defined $pg) {
-       if (!defined $whoami) {
-           $whoami = `whoami`;  die if $?;  chomp $whoami;
-       }
         my $pat= $c{ExecutiveDbnamePat};
         my %vars= ('dbname' => $dbname,
-                   'whoami' => $whoami);
+                   'whoami' => $c{Username});
         $pat =~ s#\<(\w+)\>#
             my $val=$vars{$1};  defined $val or die "$pat $1 ?";
             $val;
@@ -449,10 +444,9 @@ sub findtask () {
     my $q;
     my $what;
     if (!defined $spec) {
-        $!=0; $?=0; my $whoami= `whoami`;   defined $whoami or die "$? $!";
         $!=0; $?=0; my $node=   `uname -n`; defined $node   or die "$? $!";
-        chomp($whoami); chomp($node); $node =~ s/\..*//;
-        my $refkey= "$whoami\@$node";
+        chomp($node); $node =~ s/\..*//;
+        my $refkey= "$c{Username}\@$node";
         $what= "static $refkey";
         $q= $dbh_tests->prepare(<<END);
             SELECT * FROM tasks
@@ -489,9 +483,8 @@ END
 }        
 
 sub manual_allocation_base_jobinfo () {
-    my $whoami = `whoami`; chomp $whoami;
     my $hostname = `uname -n`; chomp $hostname;
-    my $info = "$whoami\@$hostname";
+    my $info = "$c{Username}\@$hostname";
     my $tty = `tty 2>/dev/null`; chomp $tty;
     $info .= " ($tty)" unless $?;
     return $info;
diff --git a/README b/README
index 3e64a13..5740ac0 100644
--- a/README
+++ b/README
@@ -535,6 +535,10 @@ TftpPxeTemplatesReal
 Timezone
     Olson TZ name, used by host and guest installers
 
+Username
+    User name on this host.  Defaults to the output of `whoami'.
+    Should not normally be changed.
+
 ========================================
 
 Host-specific config settigs
diff --git a/mg-crontab-install b/mg-crontab-install
index 5a59d45..4df8e6e 100755
--- a/mg-crontab-install
+++ b/mg-crontab-install
@@ -12,7 +12,7 @@ case "$#.$1" in
 esac
 
 expect="#@@ "
-expect+="`whoami`"
+expect+="`whoami`" # not $c{Username}
 expect+="@"
 expect+="`hostname -f`"
 
diff --git a/mg-execute-flight b/mg-execute-flight
index 8b2c21c..ec534da 100755
--- a/mg-execute-flight
+++ b/mg-execute-flight
@@ -53,7 +53,7 @@ done
 if [ x"$flight" = x ]; then badusage; fi
 
 : ${blessing:=play}
-: ${email:=`whoami`}
+: ${email:=`getconfig Username`}
 
 set +e
 tty=`exec 2>/dev/null; tty`
diff --git a/mg-schema-test-database b/mg-schema-test-database
index 73d92f3..b1b5e60 100755
--- a/mg-schema-test-database
+++ b/mg-schema-test-database
@@ -174,7 +174,7 @@ borrowtaskid () {
        "
 }
 
-username=`whoami`
+username=`getconfig Username`
 nodename=`uname -n`
 suffix=_$username
 invocation_now=`date +%s`
@@ -223,7 +223,7 @@ create)
                moretasks error                                 \
                        "WHERE type = 'static'
                           AND refkey = :'refkey'"              \
-                       -v refkey="$(whoami)@$(uname -n)"
+                       -v refkey="${username}@$(uname -n)"
        fi
 
        tasks_cond=${tasks// / OR T=}
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.