My intention was to allow creation of adhoc jobs based on a template
but modified e.g. to enable/disable XSM with a sequence something
like:

./cs-adjust-flight $flight copy-jobs $template test-foo-xsm
./cs-adjust-flight $flight jobs-rename test-foo-xsm 's/-xsm$//'
./cs-adjust-flight $flight runvar-set $job enable_xsm false
./cs-adjust-flight ... update %buildjob

Signed-off-by: Ian Campbell <ian.campb...@citrix.com>
Acked-by: Ian Jackson <ian.jack...@eu.citrix.com>
---
v2: s/job-rename/jobs-rename/
    I left job-status alone.
---
 cs-adjust-flight | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/cs-adjust-flight b/cs-adjust-flight
index a72cd88..04f5a7e 100755
--- a/cs-adjust-flight
+++ b/cs-adjust-flight
@@ -18,6 +18,7 @@
 #   intended-blessing <intended-blessing>
 #   branch-set <new-branch>
 #   job-status <job-spec>
+#   jobs-rename <job-spec> <perl-expr>
 #
 # <foo-spec>:
 #   <foo-name>
@@ -371,6 +372,29 @@ END
     });
 }
 
+sub change__jobs_rename {
+    die unless @changes >= 2;
+    my $jobs = shift @changes;
+    my $perlop = shift @changes;
+
+    my $jobq = $dbh_tests->prepare(<<END);
+    UPDATE jobs
+       SET job = ?
+     WHERE flight = ? AND job = ?
+END
+    my $runvarq = $dbh_tests->prepare(<<END);
+    UPDATE runvars
+       SET job = ?
+     WHERE flight = ? AND job = ?
+END
+    for_jobs($dstflight, $jobs, sub {
+       my ($oldjob) = @_;
+       my $newjob = perlop_value ($oldjob, '', $perlop, $oldjob);
+       print "$oldjob renamed to $newjob\n";
+       $jobq->execute($newjob, $dstflight, $oldjob);
+       $runvarq->execute($newjob, $dstflight, $oldjob);
+    })
+}
 sub changes () {
     debug("CHANGES...\n");
 
-- 
2.6.1


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

Reply via email to