All of lore.kernel.org
 help / color / mirror / Atom feed
* [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing
@ 2016-03-18 17:09 Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 1/6] Debian: Provide cfg_tftp_di_version Ian Jackson
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Ian Jackson @ 2016-03-18 17:09 UTC (permalink / raw)
  To: xen-devel

Recent updates to TftpDiVersion_* which were intended to affect only
jessie in fact affect jobs using other suites, because much of the
code still looked simply at TftpDiVersion rather than
TftpDiVersion_<suite>.

This is responsible for the persistent ARM regressions in the
xen-4.3-testing tests.


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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [OSSTEST PATCH 1/6] Debian: Provide cfg_tftp_di_version
  2016-03-18 17:09 [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing Ian Jackson
@ 2016-03-18 17:09 ` Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 2/6] make-flight: Use getconfig_TftpDiVersion_suite Ian Jackson
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Ian Jackson @ 2016-03-18 17:09 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

And a shell function to do the same thing.

No callers yet.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/Debian.pm |    7 +++++++
 cri-getconfig     |    9 +++++++++
 2 files changed, 16 insertions(+)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index d3eff1e..f3c2f63 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -46,6 +46,7 @@ BEGIN {
                       preseed_hook_cmds
                       di_installcmdline_core
                       di_vg_name
+                      cfg_tftp_di_version
                       );
     %EXPORT_TAGS = ( );
 
@@ -1358,6 +1359,12 @@ sub preseed_hook_cmds () {
     return $preseed;
 }
 
+sub cfg_tftp_di_version ($) {
+    my ($suite) = @_;
+    $suite //= 'x def suite'; # will not find $c{...}
+    return $c{"TftpDiVersion_$suite"} // $c{TftpDiVersion};
+}
+
 sub debian_guest_suite ($) {
     my ($gho) = @_;
 
diff --git a/cri-getconfig b/cri-getconfig
index 7b75700..8b76f32 100644
--- a/cri-getconfig
+++ b/cri-getconfig
@@ -25,6 +25,15 @@ getconfig () {
         '
 }
 
+getconfig_TftpDiVersion_suite () {
+	perl -e '
+		use Osstest;
+		use Osstest::Debian;
+		readglobalconfig();
+		print cfg_tftp_di_version($ARGV[0]) or die $!;
+	' "$1"
+}
+
 getrepos() {
 	local repos=`getconfig Repos`
 	if [ -z "$repos" ] ; then
-- 
1.7.10.4


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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [OSSTEST PATCH 2/6] make-flight: Use getconfig_TftpDiVersion_suite
  2016-03-18 17:09 [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 1/6] Debian: Provide cfg_tftp_di_version Ian Jackson
@ 2016-03-18 17:09 ` Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 3/6] mg-debian-installer-update: " Ian Jackson
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Ian Jackson @ 2016-03-18 17:09 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 make-flight |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/make-flight b/make-flight
index 8acfcb9..19b42d0 100755
--- a/make-flight
+++ b/make-flight
@@ -49,11 +49,8 @@ esac
 
 # Pick default Debian Installer version to correspond to the chosen
 # suite.
-if [ -z "$defdi_version" -a -n "$defsuite" ] ; then
-    defdi_version=`getconfig TftpDiVersion_$defsuite`
-fi
 if [ -z "$defdi_version" ] ; then
-    defdi_version=`getconfig TftpDiVersion`
+    defdi_version=`getconfig_TftpDiVersion_suite $defsuite`
 fi
 
 guest_di_version=$defdi_version
-- 
1.7.10.4


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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [OSSTEST PATCH 3/6] mg-debian-installer-update: Use getconfig_TftpDiVersion_suite
  2016-03-18 17:09 [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 1/6] Debian: Provide cfg_tftp_di_version Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 2/6] make-flight: Use getconfig_TftpDiVersion_suite Ian Jackson
@ 2016-03-18 17:09 ` Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 4/6] mg-debian-installer-update: Print a TftpDiVersion_$suite setting too Ian Jackson
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Ian Jackson @ 2016-03-18 17:09 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

The computed value of the `tftpdiversion' shell variable is used only
to see if it is equal to `current'; if so, we update it.

Whether this is done should depend on the effective TftpDiVersion for
the specific suite, not on the default global.  So use
getconfig_TftpDiVersion_suite.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 mg-debian-installer-update |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mg-debian-installer-update b/mg-debian-installer-update
index 7e3fb20..c969f1e 100755
--- a/mg-debian-installer-update
+++ b/mg-debian-installer-update
@@ -59,7 +59,7 @@ case ${suite}_${arch} in
         ;;
 esac
 
-tftpdiversion=`getconfig TftpDiVersion`
+tftpdiversion=`getconfig_TftpDiVersion_suite $suite`
 dstroot=`getconfig TftpPath`/`getconfig TftpDiBase`/
 date=`date +%Y-%m-%d`
 dst=$arch/$date-$suite
-- 
1.7.10.4


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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [OSSTEST PATCH 4/6] mg-debian-installer-update: Print a TftpDiVersion_$suite setting too
  2016-03-18 17:09 [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing Ian Jackson
                   ` (2 preceding siblings ...)
  2016-03-18 17:09 ` [OSSTEST PATCH 3/6] mg-debian-installer-update: " Ian Jackson
@ 2016-03-18 17:09 ` Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 5/6] standalone-reset: Use suite-specific TftpDiVersion Ian Jackson
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Ian Jackson @ 2016-03-18 17:09 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

The human running this script might want to update a suite-specific
value, or the global value.  Print an example of the suite-specific
value too.

No functional change other than to example config output.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 mg-debian-installer-update |    1 +
 1 file changed, 1 insertion(+)

diff --git a/mg-debian-installer-update b/mg-debian-installer-update
index c969f1e..0d4f772 100755
--- a/mg-debian-installer-update
+++ b/mg-debian-installer-update
@@ -178,4 +178,5 @@ if [ x$tftpdiversion = xcurrent ]; then
 fi
 
 echo "TftpDiVersion $date"
+echo "TftpDiVersion_$suite $date"
 echo >&2 "downloaded $dstroot/$dst"
-- 
1.7.10.4


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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [OSSTEST PATCH 5/6] standalone-reset: Use suite-specific TftpDiVersion
  2016-03-18 17:09 [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing Ian Jackson
                   ` (3 preceding siblings ...)
  2016-03-18 17:09 ` [OSSTEST PATCH 4/6] mg-debian-installer-update: Print a TftpDiVersion_$suite setting too Ian Jackson
@ 2016-03-18 17:09 ` Ian Jackson
  2016-03-18 17:09 ` [OSSTEST PATCH 6/6] Various: Honour " Ian Jackson
  2016-03-18 18:23 ` [OSSTEST PATCH 7/6] make-flight: Set debianhvm_suite for Debian HVM tests Ian Jackson
  6 siblings, 0 replies; 8+ messages in thread
From: Ian Jackson @ 2016-03-18 17:09 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

If the config specifies a specific d-i version for the suite in use,
it should be honoured.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 standalone-reset |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/standalone-reset b/standalone-reset
index e58ba68..bd34782 100755
--- a/standalone-reset
+++ b/standalone-reset
@@ -97,8 +97,8 @@ else
 	ensure_dir "$tftp$tftptmp"
 
 	dibase=`getconfig TftpDiBase`
-	diver=`getconfig TftpDiVersion`
 	suite=`getconfig DebianSuite`
+	diver=`getconfig_TftpDiVersion_suite $suite`
 	firmware=`getconfig DebianNonfreeFirmware`
 
 	if [ "x$diver" = xcurrent ]; then
-- 
1.7.10.4


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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [OSSTEST PATCH 6/6] Various: Honour suite-specific TftpDiVersion
  2016-03-18 17:09 [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing Ian Jackson
                   ` (4 preceding siblings ...)
  2016-03-18 17:09 ` [OSSTEST PATCH 5/6] standalone-reset: Use suite-specific TftpDiVersion Ian Jackson
@ 2016-03-18 17:09 ` Ian Jackson
  2016-03-18 18:23 ` [OSSTEST PATCH 7/6] make-flight: Set debianhvm_suite for Debian HVM tests Ian Jackson
  6 siblings, 0 replies; 8+ messages in thread
From: Ian Jackson @ 2016-03-18 17:09 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

Replace references to $c{TftpDiVersion} in the general osstest code
with calls to cfg_tftp_di_version.  This means that the suite-specific
d-i version will, in general, be honoured (as is correct).

In preseed_create, we also honour $ho->{DiVersion}.  Often this won't
be set, but it might be (for example, by selecthost finding di_version
runvars).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 Osstest/Debian.pm      |    5 +++--
 Osstest/TestSupport.pm |    3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index f3c2f63..1e4900b 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -1010,7 +1010,8 @@ sub preseed_create ($$;@) {
     my $suite= $ho->{Suite};
 
     my $d_i= $ho->{Tftp}{Path}.'/'.$ho->{Tftp}{DiBase}.'/'.$r{arch}.'/'.
-	$c{TftpDiVersion}.'-'.$ho->{Suite};
+	($ho->{DiVersion} // cfg_tftp_di_version($ho->{Suite}))
+	.'-'.$ho->{Suite};
 
     preseed_hook_installscript($ho, $sfx,
           '/lib/partman/init.d', '000override-parted-devices', <<END);
@@ -1384,7 +1385,7 @@ sub debian_guest_di_version ($) {
     $gho->{DiVersion} //= guest_var($gho,'di_version',undef);
 
     if (!$gho->{DiVersion}) {
-	$gho->{DiVersion} = $c{TftpDiVersion};
+	$gho->{DiVersion} = cfg_tftp_di_version(debian_guest_suite($gho));
 	store_runvar("$gho->{Guest}_di_version", $gho->{DiVersion});
     }
 
diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 0b3e18a..572d657 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -862,7 +862,8 @@ sub selecthost ($) {
     };
     if (defined $job) {
 	$ho->{Suite} = target_var($ho, "suite") // $c{DebianSuite};
-	$ho->{DiVersion} = target_var($ho, "di_version") // $c{TftpDiVersion};
+	$ho->{DiVersion} = target_var($ho, "di_version")
+	    // cfg_tftp_di_version($ho->{Suite});
     }
 
     #----- handle hosts which are themselves guests (nested) -----
-- 
1.7.10.4


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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [OSSTEST PATCH 7/6] make-flight: Set debianhvm_suite for Debian HVM tests
  2016-03-18 17:09 [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing Ian Jackson
                   ` (5 preceding siblings ...)
  2016-03-18 17:09 ` [OSSTEST PATCH 6/6] Various: Honour " Ian Jackson
@ 2016-03-18 18:23 ` Ian Jackson
  6 siblings, 0 replies; 8+ messages in thread
From: Ian Jackson @ 2016-03-18 18:23 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson

do_hvm_debian_test_one uses usual_debianhvm_image which honours the
prevailing value of $guestsuite.  However, it does not provide an
explicit suite setting in the runvars.

As a consequence, the test code will expect the image to install
whatever the default suite is.  If guestsuite is not the default
suite, there is a mismatch.  At the very least, the wrong
suite-specific workarounds will be applied.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
 make-flight |    1 +
 1 file changed, 1 insertion(+)

diff --git a/make-flight b/make-flight
index 19b42d0..f324f6a 100755
--- a/make-flight
+++ b/make-flight
@@ -341,6 +341,7 @@ do_hvm_debian_test_one () {
     test-debianhvm $toolstack $xenarch $dom0arch $qemuu_runvar \
     enable_xsm=$xsm                             \
     $stubdom_runvar $testvars                   \
+    debianhvm_suite=$guestsuite			\
     debianhvm_image=$(usual_debianhvm_image $arch) \
     debianhvm_iso_kernel=/$iso_dir/vmlinuz \
     debianhvm_iso_ramdisk=/$iso_dir/initrd.gz \
-- 
1.7.10.4


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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-03-18 18:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-18 17:09 [OSSTEST PATCH 0/6] Fix TftpDiVersion plumbing Ian Jackson
2016-03-18 17:09 ` [OSSTEST PATCH 1/6] Debian: Provide cfg_tftp_di_version Ian Jackson
2016-03-18 17:09 ` [OSSTEST PATCH 2/6] make-flight: Use getconfig_TftpDiVersion_suite Ian Jackson
2016-03-18 17:09 ` [OSSTEST PATCH 3/6] mg-debian-installer-update: " Ian Jackson
2016-03-18 17:09 ` [OSSTEST PATCH 4/6] mg-debian-installer-update: Print a TftpDiVersion_$suite setting too Ian Jackson
2016-03-18 17:09 ` [OSSTEST PATCH 5/6] standalone-reset: Use suite-specific TftpDiVersion Ian Jackson
2016-03-18 17:09 ` [OSSTEST PATCH 6/6] Various: Honour " Ian Jackson
2016-03-18 18:23 ` [OSSTEST PATCH 7/6] make-flight: Set debianhvm_suite for Debian HVM tests Ian Jackson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.