[Xen-devel,OSSTEST] ts-hosts-allocate-Standalone: abort if the host to use has changed

Message ID 1392203451-15422-1-git-send-email-ian.campbell@citrix.com
State New
Headers show

Commit Message

Ian Campbell Feb. 12, 2014, 11:10 a.m.
When a job has been run once then the selected host is stored in a runvar and
used from then on. This means that if you try to run on a different host (by
changing the config or by changing OSSTEST_HOST_HOST) then you may be
surprised when things happen to the original host and not the new one.

Abort when this is detected.

Changing host requires you to run:
    ./cs-adjust-flight -v $flight runvar-del $job host
$flight = standalone by default
$job = test-x-y-z or build-x etc
host = the literal string host (not either of the host names)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 ts-hosts-allocate-Standalone | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Ian Campbell March 17, 2014, 11:19 a.m. | #1
Ping?

(TBH, I thought you had replied to this, but I can't find any mails,
sorry if I've just misplaced them)

On Wed, 2014-02-12 at 11:10 +0000, Ian Campbell wrote:
> When a job has been run once then the selected host is stored in a runvar and
> used from then on. This means that if you try to run on a different host (by
> changing the config or by changing OSSTEST_HOST_HOST) then you may be
> surprised when things happen to the original host and not the new one.
> 
> Abort when this is detected.
> 
> Changing host requires you to run:
>     ./cs-adjust-flight -v $flight runvar-del $job host
> $flight = standalone by default
> $job = test-x-y-z or build-x etc
> host = the literal string host (not either of the host names)
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> ---
>  ts-hosts-allocate-Standalone | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/ts-hosts-allocate-Standalone b/ts-hosts-allocate-Standalone
> index 4ce0c0d..88a5d28 100755
> --- a/ts-hosts-allocate-Standalone
> +++ b/ts-hosts-allocate-Standalone
> @@ -31,5 +31,13 @@ foreach my $ident (@ARGV) {
>      $host ||= $c{"TestHost_$ident"};
>      $host ||= $c{TestHost};
>      $host || die "need host setting for $ident";
> +
> +    my $expected = $ENV{'OSSTEST_HOST_'.uc $ident}
> +                   || $c{"TestHost_$ident"}
> +                   || $c{TestHost};
> +
> +    die "$ident configuration mismatch $r{$ident} != $expected"
> +	if $r{$ident} && $r{$ident} ne $expected;
> +
>      store_runvar($ident, $host);
>  }
Ian Jackson March 17, 2014, 11:32 a.m. | #2
Ian Campbell writes ("Re: [PATCH OSSTEST] ts-hosts-allocate-Standalone: abort if the host to use has changed"):
> Ping?
> 
> (TBH, I thought you had replied to this, but I can't find any mails,
> sorry if I've just misplaced them)
> 
> On Wed, 2014-02-12 at 11:10 +0000, Ian Campbell wrote:
> > When a job has been run once then the selected host is stored in a runvar and
> > used from then on. This means that if you try to run on a different host (by
> > changing the config or by changing OSSTEST_HOST_HOST) then you may be
> > surprised when things happen to the original host and not the new one.
> > 
> > Abort when this is detected.
> > 
> > Changing host requires you to run:
> >     ./cs-adjust-flight -v $flight runvar-del $job host

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Patch

diff --git a/ts-hosts-allocate-Standalone b/ts-hosts-allocate-Standalone
index 4ce0c0d..88a5d28 100755
--- a/ts-hosts-allocate-Standalone
+++ b/ts-hosts-allocate-Standalone
@@ -31,5 +31,13 @@  foreach my $ident (@ARGV) {
     $host ||= $c{"TestHost_$ident"};
     $host ||= $c{TestHost};
     $host || die "need host setting for $ident";
+
+    my $expected = $ENV{'OSSTEST_HOST_'.uc $ident}
+                   || $c{"TestHost_$ident"}
+                   || $c{TestHost};
+
+    die "$ident configuration mismatch $r{$ident} != $expected"
+	if $r{$ident} && $r{$ident} ne $expected;
+
     store_runvar($ident, $host);
 }