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

[Xen-devel] [OSSTEST PATCH 10/11] cs-adjust-flight: Rework runvar-build-set new value handling



Previously, if it didn't contain a `.', it would be taken as a flight
name and completed with the old job name.  (This was not documented.)

This meant that there was no way to adjust to refer to a differnet job
in the flight being manipulated without specifying the flight number
(which is not desirable, nor even possible with new:)

Instead, we adopt the convention that a trailing . completes the value
with the old job name.  Values without a . are taken literally as a
job name, resulting in intra-flight references to that job.

Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
v4: New patch, which helps with issues I tripped over while trying
     to ad-hoc test the livepatch series.
---
 cs-adjust-flight | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/cs-adjust-flight b/cs-adjust-flight
index 9812d12..03257a6 100755
--- a/cs-adjust-flight
+++ b/cs-adjust-flight
@@ -32,6 +32,8 @@
 #                   and, <old-value> is matched against a value
 #                    containing the being-manipulated flight name
 #                    even if the actual runvar value omits it
+#                   and, if <new-value> ends in ., it is
+#                    completed with the <old-value>'s job name
 #
 # <dst-flight>:
 #   <flight>
@@ -361,12 +363,11 @@ sub change__runvar_build_set {
        return unless $name =~ m/buildjob$/;
 
        my $oldval = $varrow->{val};
-       $oldval = flight_otherjob($dstflight,$oldval);
-       return unless $oldvalok_fn->($oldval);
+       my ($oldflt,$oldjob) = flight_otherjob($dstflight,$oldval);
+       return unless $oldvalok_fn->("$oldflt.$oldjob");
 
        $matches++;
-       $oldval =~ s/^\d+\.//; # strip out previous flight
-       my $newval = $specval =~ m/\./ ? $specval : "$specval.$oldval";
+       my $newval = $specval =~ m/\.$/ ? "$specval$oldjob": $specval;
         runvar_set($job, $name, $newval, " (modified from \`$oldval')")
            if $newval ne $oldval;
     }, 'IGNORE');
-- 
2.1.4


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

 


Rackspace

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