xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [OSSTEST PATCH 04/16] Support guest-specific "toolstack" for guest creation
Date: Fri, 7 Oct 2016 17:34:44 +0100	[thread overview]
Message-ID: <1475858096-16123-5-git-send-email-ian.jackson@eu.citrix.com> (raw)
In-Reply-To: <1475858096-16123-1-git-send-email-ian.jackson@eu.citrix.com>

Some guests need creation in a special way.  For example, rump kernels
are ideally started with rumprun.  Honour a guest var which specifies
a toolstack name.

Osstest::TestSupport::toolstack now takes an optional $gho so it can
do this lookup when appropriate.

After creation the guest is necessarily managed with the toolstack for
the host, so we honour this (ie we pass the $gho) only for create.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/TestSupport.pm | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index b18a19e..bc3ad13 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -1583,7 +1583,7 @@ sub guest_create ($) {
     my ($gho) = @_;
     my $ho = $gho->{Host};
     guest_prepare_disk($gho);
-    toolstack($ho)->create($gho);
+    toolstack($ho,$gho)->create($gho);
 }
 
 sub guest_prepare_disk ($) {
@@ -2257,13 +2257,16 @@ sub guest_vncsnapshot_stash ($$$$) {
     target_getfile_root($ho,100, "$rfile", "$stash/$leaf");
 }
 
-sub toolstack ($) {
-    my ($ho) = @_;
-    return $ho->{_Toolstack} if $ho->{_Toolstack};
+sub toolstack ($;$) {
+    my ($ho,$gho) = @_;
+
+    my $cache = $gho || $ho;
+    return $cache->{_Toolstack} if $cache->{_Toolstack};
 
     my $tsname= $r{toolstack} || 'xend';
-    $ho->{_Toolstack}= get_host_method_object($ho, 'Toolstack', $tsname);
-    return $ho->{_Toolstack};
+    $tsname= guest_var($gho, 'toolstack', $tsname) if $gho;
+    $cache->{_Toolstack} = get_host_method_object($ho, 'Toolstack', $tsname);
+    return $cache->{_Toolstack};
 }
 
 sub authorized_keys () {
-- 
2.1.4


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

  parent reply	other threads:[~2016-10-07 16:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-07 16:34 [OSSTEST PATCH 00/16] Fix rump kernel tests Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 01/16] rump-test-net: New test program Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 02/16] rump-test-net: setsockopt V6ONLY off Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 03/16] BuildSupport: builddirsprops: Clean up each builddir Ian Jackson
2016-10-07 16:34 ` Ian Jackson [this message]
2016-10-07 16:34 ` [OSSTEST PATCH 05/16] rump kernels: Provide rumprun toolstack Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 06/16] rump kernels: Specify toolstack for rumprun demo to be rumprun Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 07/16] rump kernels: ts-rumprun-bake: Do not tolerate errors Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 08/16] rump kernels: Provide proper DHCP instructions to rumprun Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 09/16] rump kernels: Provide networking test Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 10/16] TestSupport: guest_unprepare_disk: Make a no-op for guests with no Lvdev Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 11/16] rumprun: xenstorels: Better new regexps for finding output Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 12/16] rumprun: Disable unwanted builds Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 13/16] rump kernels: Adjust indentation in run-job/test-rumprun Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 14/16] rump kernels: Install binutils on test box Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 15/16] make-flight: Honour $bfi (build flight) for rump tests Ian Jackson
2016-10-07 16:34 ` [OSSTEST PATCH 16/16] rump kernels: Build with RUMP_DEV_XEN_DEBUG and filter out debug messages Ian Jackson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1475858096-16123-5-git-send-email-ian.jackson@eu.citrix.com \
    --to=ian.jackson@eu.citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).