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

2015-12-08 Thread Ian Campbell
On Mon, 2015-12-07 at 17:27 +, Ian Jackson wrote:
> 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 

Acked-by: Ian Campbell 

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


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

2015-12-08 Thread Ian Campbell
On Mon, 2015-12-07 at 17:27 +, Ian Jackson wrote:
> 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 

Acked-by: Ian Campbell 

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


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

2015-12-07 Thread Ian Jackson
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 
---
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(</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