* [PATCH OSSTEST v3 00/11] XSM test case for OSSTest
@ 2014-10-14 21:50 Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 01/11] README: list chiark-utils-bin as requirement Wei Liu
` (10 more replies)
0 siblings, 11 replies; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Hi all
This patch series attempts to duplicate some Debian test cases for XSM. This
is version 3 of this series.
Tests duplicated for xen-unstable branch:
build-{i386,amd64,armhf}-xsm
test-amd64-{i386,amd64}-xl-xsm
test-armhf-armhf-xl-xsm
test-amd64-{i386,amd64}-xl-qemuu-debianhvm-amd64-xsm
test-amd64-(i386,amd64}-xl-qemut-debianhvm-amd64-xsm
Output of
./standalone-generate-dump-flight-runvars > origin # master
./standalone-generate-dump-flight-runvars > xsm # this series applied
diff -ub ../origin xsm | grep '+xen-unstable' | sed 's/[ \t]*$//'
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm all_hostflags arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm all_hostflags arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable test-amd64-amd64-xl-xsm all_hostflags arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm all_hostflags arch-i386,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm all_hostflags arch-i386,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable test-amd64-i386-xl-xsm all_hostflags arch-i386,arch-xen-amd64,suite-wheezy,purpose-test
+xen-unstable test-armhf-armhf-xl-xsm all_hostflags arch-armhf,arch-xen-armhf,suite-wheezy,purpose-test
+xen-unstable build-amd64-xsm arch amd64
+xen-unstable build-armhf-xsm arch armhf
+xen-unstable build-i386-xsm arch i386
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm arch amd64
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm arch amd64
+xen-unstable test-amd64-amd64-xl-xsm arch amd64
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm arch i386
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm arch i386
+xen-unstable test-amd64-i386-xl-xsm arch i386
+xen-unstable test-armhf-armhf-xl-xsm arch armhf
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm bios rombios
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm bios seabios
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm bios rombios
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm bios seabios
+xen-unstable build-amd64-xsm build_lvextend_max 50
+xen-unstable build-armhf-xsm build_lvextend_max 50
+xen-unstable build-i386-xsm build_lvextend_max 50
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm buildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm buildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-xsm buildjob build-amd64-xsm
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm buildjob build-i386-xsm
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm buildjob build-i386-xsm
+xen-unstable test-amd64-i386-xl-xsm buildjob build-i386-xsm
+xen-unstable test-armhf-armhf-xl-xsm buildjob build-armhf-xsm
+xen-unstable test-amd64-amd64-xl-xsm debian_arch amd64
+xen-unstable test-amd64-i386-xl-xsm debian_arch i386
+xen-unstable test-armhf-armhf-xl-xsm debian_arch armhf
+xen-unstable test-amd64-amd64-xl-xsm debian_kernkind pvops
+xen-unstable test-amd64-i386-xl-xsm debian_kernkind pvops
+xen-unstable test-armhf-armhf-xl-xsm debian_kernkind pvops
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm debianhvm_image debian-7.2.0-amd64-CD-1.iso
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm debianhvm_image debian-7.2.0-amd64-CD-1.iso
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm debianhvm_image debian-7.2.0-amd64-CD-1.iso
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm debianhvm_image debian-7.2.0-amd64-CD-1.iso
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm device_model_version qemu-xen-traditional
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm device_model_version qemu-xen
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm device_model_version qemu-xen-traditional
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm device_model_version qemu-xen
+xen-unstable build-amd64-xsm enable_ovmf true
+xen-unstable build-armhf-xsm enable_ovmf true
+xen-unstable build-i386-xsm enable_ovmf true
+xen-unstable build-amd64-xsm enable_xend false
+xen-unstable build-armhf-xsm enable_xend false
+xen-unstable build-i386-xsm enable_xend false
+xen-unstable build-amd64 enable_xsm n
+xen-unstable build-amd64-xsm enable_xsm y
+xen-unstable build-armhf enable_xsm n
+xen-unstable build-armhf-xsm enable_xsm y
+xen-unstable build-i386 enable_xsm n
+xen-unstable build-i386-xsm enable_xsm y
+xen-unstable test-amd64-amd64-xl enable_xsm n
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64 enable_xsm n
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm enable_xsm y
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64 enable_xsm n
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm enable_xsm y
+xen-unstable test-amd64-amd64-xl-qemuu-ovmf-amd64 enable_xsm n
+xen-unstable test-amd64-amd64-xl-xsm enable_xsm y
+xen-unstable test-amd64-i386-xl enable_xsm n
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64 enable_xsm n
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm enable_xsm y
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64 enable_xsm n
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm enable_xsm y
+xen-unstable test-amd64-i386-xl-qemuu-ovmf-amd64 enable_xsm n
+xen-unstable test-amd64-i386-xl-xsm enable_xsm y
+xen-unstable test-armhf-armhf-xl enable_xsm n
+xen-unstable test-armhf-armhf-xl-xsm enable_xsm y
+xen-unstable build-amd64-xsm host_hostflags share-build-wheezy-amd64,arch-amd64,suite-wheezy,purpose-build
+xen-unstable build-armhf-xsm host_hostflags share-build-wheezy-armhf,arch-armhf,suite-wheezy,purpose-build
+xen-unstable build-i386-xsm host_hostflags share-build-wheezy-i386,arch-i386,suite-wheezy,purpose-build
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm kernbuildjob build-amd64-pvops
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm kernbuildjob build-amd64-pvops
+xen-unstable test-amd64-amd64-xl-xsm kernbuildjob build-amd64-pvops
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm kernbuildjob build-i386-pvops
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm kernbuildjob build-i386-pvops
+xen-unstable test-amd64-i386-xl-xsm kernbuildjob build-i386-pvops
+xen-unstable test-armhf-armhf-xl-xsm kernbuildjob build-armhf-pvops
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm kernkind pvops
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm kernkind pvops
+xen-unstable test-amd64-amd64-xl-xsm kernkind pvops
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm kernkind pvops
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm kernkind pvops
+xen-unstable test-amd64-i386-xl-xsm kernkind pvops
+xen-unstable test-armhf-armhf-xl-xsm kernkind pvops
+xen-unstable build-amd64-pvops revision_linux 89161fe91f2fd1049bcc38f5d4b814acab7b83f5
+xen-unstable build-armhf-pvops revision_linux 89161fe91f2fd1049bcc38f5d4b814acab7b83f5
+xen-unstable build-i386-pvops revision_linux 89161fe91f2fd1049bcc38f5d4b814acab7b83f5
+xen-unstable build-amd64-xsm revision_qemu
+xen-unstable build-armhf-xsm revision_qemu
+xen-unstable build-i386-xsm revision_qemu
+xen-unstable build-amd64-xsm revision_qemuu c9d8f8b755e8960edf7725e05f3e6ac743a5e12e
+xen-unstable build-armhf-xsm revision_qemuu c9d8f8b755e8960edf7725e05f3e6ac743a5e12e
+xen-unstable build-i386-xsm revision_qemuu c9d8f8b755e8960edf7725e05f3e6ac743a5e12e
+xen-unstable build-amd64-xsm revision_seabios
+xen-unstable build-armhf-xsm revision_seabios
+xen-unstable build-i386-xsm revision_seabios
+xen-unstable build-amd64-xsm revision_xen 4d57153b52a36183d58e8de6ba613929f906386a
+xen-unstable build-armhf-xsm revision_xen 4d57153b52a36183d58e8de6ba613929f906386a
+xen-unstable build-i386-xsm revision_xen 4d57153b52a36183d58e8de6ba613929f906386a
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm toolstack xl
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm toolstack xl
+xen-unstable test-amd64-amd64-xl-xsm toolstack xl
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm toolstack xl
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm toolstack xl
+xen-unstable test-amd64-i386-xl-xsm toolstack xl
+xen-unstable test-armhf-armhf-xl-xsm toolstack xl
+xen-unstable build-amd64-xsm tree_qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
+xen-unstable build-armhf-xsm tree_qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
+xen-unstable build-i386-xsm tree_qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
+xen-unstable build-amd64-xsm tree_qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
+xen-unstable build-armhf-xsm tree_qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
+xen-unstable build-i386-xsm tree_qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
+xen-unstable build-amd64-xsm tree_seabios
+xen-unstable build-armhf-xsm tree_seabios
+xen-unstable build-i386-xsm tree_seabios
+xen-unstable build-amd64-xsm tree_xen git://xenbits.xen.org/xen.git
+xen-unstable build-armhf-xsm tree_xen git://xenbits.xen.org/xen.git
+xen-unstable build-i386-xsm tree_xen git://xenbits.xen.org/xen.git
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-i386-xl-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-armhf-armhf-xl-xsm xenbuildjob build-armhf-xsm
Changes since v2:
1. update 20_linux_xen
2. drop patches that add in seclabel
3. some code refactoring
Changes since v1:
1. address IanC's comments regarding coding style.
2. fix a bug in previous version that duplicates HVM test cases for pre-4.5
branches.
Wei.
Wei Liu (11):
README: list chiark-utils-bin as requirement
gitignore: ignore images directory
ts-debian-install: rename cfg_xend to cfg
overlay: update overlay/etc/grub.d/20_linux_xen
ts-xen-build-prep: install checkpolicy
ts-xen-build: build with XSM support if requested
mfi-common: create build-$arch-xsm job
Debian.pm: pass in XSM configuration to bootloader setup routines
Debian.pm: load flask policy in uboot
ts-xen-install: install Xen with XSM support if requested
mfi-common, make-flight: create XSM test jobs
.gitignore | 1 +
Osstest/Debian.pm | 53 ++++++++++++++----
README | 1 +
make-flight | 61 +++++++++++++-------
mfi-common | 34 +++++++++++-
overlay/etc/grub.d/20_linux_xen | 117 +++++++++++++++++++++++++++++++--------
ts-debian-install | 4 +-
ts-xen-build | 12 ++++
ts-xen-build-prep | 2 +-
ts-xen-install | 4 +-
10 files changed, 226 insertions(+), 63 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 01/11] README: list chiark-utils-bin as requirement
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 02/11] gitignore: ignore images directory Wei Liu
` (9 subsequent siblings)
10 siblings, 0 replies; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
README | 1 +
1 file changed, 1 insertion(+)
diff --git a/README b/README
index 9a85549..ee1cd7a 100644
--- a/README
+++ b/README
@@ -204,6 +204,7 @@ To run osstest in standalone mode:
pax rsync
curl
netcat
+ chiark-utils-bin
- Optional: ipmitool
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 02/11] gitignore: ignore images directory
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 01/11] README: list chiark-utils-bin as requirement Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 03/11] ts-debian-install: rename cfg_xend to cfg Wei Liu
` (8 subsequent siblings)
10 siblings, 0 replies; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitignore b/.gitignore
index 4f2a839..8dad470 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@ logs
id_rsa_osstest
id_rsa_osstest.pub
overlay-local
+images
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 03/11] ts-debian-install: rename cfg_xend to cfg
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 01/11] README: list chiark-utils-bin as requirement Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 02/11] gitignore: ignore images directory Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-12-10 12:44 ` Ian Campbell
2014-10-14 21:50 ` [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen Wei Liu
` (7 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
... as this config file is just a config file in general, not strictly a
Xend format config file.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
ts-debian-install | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ts-debian-install b/ts-debian-install
index 58ea743..fcef827 100755
--- a/ts-debian-install
+++ b/ts-debian-install
@@ -89,8 +89,8 @@ END
$initrd_opt \\
$archarg
END
- my $cfg_xend= "/etc/xen/$gho->{Name}.cfg";
- store_runvar("$gho->{Guest}_cfgpath", $cfg_xend);
+ my $cfg= "/etc/xen/$gho->{Name}.cfg";
+ store_runvar("$gho->{Guest}_cfgpath", $cfg);
store_runvar("$gho->{Guest}_swap_lv", "$gho->{Name}-swap");
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
` (2 preceding siblings ...)
2014-10-14 21:50 ` [PATCH OSSTEST v3 03/11] ts-debian-install: rename cfg_xend to cfg Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-12-10 12:54 ` Ian Campbell
2014-10-14 21:50 ` [PATCH OSSTEST v3 05/11] ts-xen-build-prep: install checkpolicy Wei Liu
` (6 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
This file was created to work around Debian bug #633127.
According to Debian bug tracker [0], this bug is fixed in Wheezy. As
we're now using Wheezy in OSSTest we can safely remove this overlay
file.
Also add a note to reference #633127 above grub2 setup function, in case
someone trips over #633127.
As we're now using Wheezy in production, update this file to Wheezy's
version and take care of Debian bug #690538 and GRUB bug #43420.
0: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633127
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Debian.pm | 3 +
overlay/etc/grub.d/20_linux_xen | 117 +++++++++++++++++++++++++++++++--------
2 files changed, 96 insertions(+), 24 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index ab09abb..ed8a1b2 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -274,6 +274,9 @@ sub setupboot_grub1 ($$$) {
return $bl;
}
+# Note on running OSSTest on Squeeze with old Xen kernel: check out
+# Debian bug #633127 "/etc/grub/20_linux does not recognise some old
+# Xen kernels"
sub setupboot_grub2 ($$$) {
my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
my $bl= { };
diff --git a/overlay/etc/grub.d/20_linux_xen b/overlay/etc/grub.d/20_linux_xen
index 99854d2..001b76d 100755
--- a/overlay/etc/grub.d/20_linux_xen
+++ b/overlay/etc/grub.d/20_linux_xen
@@ -1,7 +1,7 @@
#! /bin/sh
-# Copied from the identically named file in grub-common 1.98+20100804-14
-# i386. This version fixes #633127 (and has the patch I proposed there).
+# Copied from the identical named file in grub-common 1.99-27+deb7u2.
+# This version fixed Debian bug #690538 and GRUB bug #43420.
set -e
@@ -21,14 +21,14 @@ set -e
# You should have received a copy of the GNU General Public License
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
-prefix=/usr
-exec_prefix=${prefix}
-bindir=${exec_prefix}/bin
-libdir=${exec_prefix}/lib
-. ${libdir}/grub/grub-mkconfig_lib
+prefix="/usr"
+exec_prefix="${prefix}"
+datarootdir="${prefix}/share"
+
+. "${datarootdir}/grub/grub-mkconfig_lib"
export TEXTDOMAIN=grub
-export TEXTDOMAINDIR=${prefix}/share/locale
+export TEXTDOMAINDIR="${datarootdir}/locale"
CLASS="--class gnu-linux --class gnu --class os --class xen"
@@ -36,7 +36,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
else
OS="${GRUB_DISTRIBUTOR} GNU/Linux"
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr '[A-Z]' '[a-z]' | cut -d' ' -f1) ${CLASS}"
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
fi
# loop-AES arranges things so that /dev/loop/X can be our root device, but
@@ -44,6 +44,11 @@ fi
case ${GRUB_DEVICE} in
/dev/loop/*|/dev/loop[0-9])
GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
+ # We can't cope with devices loop-mounted from files here.
+ case ${GRUB_DEVICE} in
+ /dev/*) ;;
+ *) exit 0 ;;
+ esac
;;
esac
@@ -55,6 +60,23 @@ else
LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi
+# Allow overriding GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT.
+if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE}" ]; then
+ GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX_XEN_REPLACE}"
+fi
+if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}" ]; then
+ GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}"
+fi
+
+if [ "x`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`" = xbtrfs ] \
+ || [ "x`stat -f --printf=%T /`" = xbtrfs ]; then
+ rootsubvol="`make_system_path_relative_to_its_root /`"
+ rootsubvol="${rootsubvol#/}"
+ if [ "x${rootsubvol}" != x ]; then
+ GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
+ fi
+fi
+
linux_entry ()
{
os="$1"
@@ -63,22 +85,43 @@ linux_entry ()
recovery="$4"
args="$5"
xen_args="$6"
- if ${recovery} ; then
- title="$(gettext_quoted "%s, with Linux %s and XEN %s (recovery mode)")"
+ xsm="$7"
+ # If user wants to enable XSM support, make sure there's
+ # corresponding policy file.
+ if ${xsm} ; then
+ xenpolicy=`echo xenpolicy-$xen_version`
+ if test ! -e "${xen_dirname}/${xenpolicy}" ; then
+ return
+ fi
+ xen_args=`echo $xen_args flask_enabled=1 flask_enforcing=1`
+ if ${recovery} ; then
+ title="$(gettext_quoted "%s, with Xen %s (XSM enabled) and Linux %s (recovery mode)")"
+ else
+ title="$(gettext_quoted "%s, with Xen %s (XSM enabled) and Linux %s")"
+ fi
else
- title="$(gettext_quoted "%s, with Linux %s and XEN %s")"
+ xenpolicy=""
+ if ${recovery} ; then
+ title="$(gettext_quoted "%s, with Xen %s and Linux %s (recovery mode)")"
+ else
+ title="$(gettext_quoted "%s, with Xen %s and Linux %s")"
+ fi
+ fi
+ printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${xen_version}" "${version}"
+ if ! ${recovery} ; then
+ save_default_entry | sed -e "s/^/\t/"
fi
- printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}" "${xen_version}"
- save_default_entry | sed -e "s/^/\t/"
if [ -z "${prepare_boot_cache}" ]; then
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
fi
printf '%s\n' "${prepare_boot_cache}"
- message="$(gettext_printf "Loading Linux %s ..." ${version})"
+ xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})"
+ lmessage="$(gettext_printf "Loading Linux %s ..." ${version})"
cat << EOF
- echo '$message'
+ echo '$xmessage'
multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args}
+ echo '$lmessage'
module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
EOF
if test -n "${initrd}" ; then
@@ -88,17 +131,37 @@ EOF
module ${rel_dirname}/${initrd}
EOF
fi
+ if test -n "${xenpolicy}" ; then
+ message="$(gettext_printf "Loading XSM policy ...")"
+ cat << EOF
+ echo '$message'
+ module ${rel_dirname}/${xenpolicy}
+EOF
+ fi
cat << EOF
}
EOF
}
-linux_list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do
+linux_list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
+ if grub_file_is_not_garbage "$i"; then
basename=$(basename $i)
version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
- if grub_file_is_not_garbage "$i" && grep -qx 'CONFIG_XEN_\(DOM0\|PRIVILEGED_GUEST\)=y' /boot/config-${version} 2> /dev/null ; then echo -n "$i " ; fi
- done`
-xen_list=`for i in /boot/xen*; do
+ dirname=$(dirname $i)
+ config=
+ for j in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
+ if test -e "${j}" ; then
+ config="${j}"
+ break
+ fi
+ done
+ if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null); then echo -n "$i " ; fi
+ fi
+ done`
+if [ "x${linux_list}" = "x" ] ; then
+ exit 0
+fi
+xen_list=`for i in /boot/xen[-.]*; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
done`
prepare_boot_cache=
@@ -123,7 +186,9 @@ while [ "x${xen_list}" != "x" ] ; do
initrd=
for i in "initrd.img-${version}" "initrd-${version}.img" \
"initrd-${version}" "initrd.img-${alt_version}" \
- "initrd-${alt_version}.img" "initrd-${alt_version}"; do
+ "initrd-${alt_version}.img" "initrd-${alt_version}" \
+ "initramfs-genkernel-${version}" \
+ "initramfs-genkernel-${alt_version}" ; do
if test -e "${dirname}/${i}" ; then
initrd="$i"
break
@@ -137,10 +202,14 @@ while [ "x${xen_list}" != "x" ] ; do
fi
linux_entry "${OS}" "${version}" "${xen_version}" false \
- "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
- if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" false
+ linux_entry "${OS}" "${version}" "${xen_version}" false \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" true
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ linux_entry "${OS}" "${version}" "${xen_version}" true \
+ "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}" false
linux_entry "${OS}" "${version}" "${xen_version}" true \
- "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}"
+ "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}" true
fi
list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 05/11] ts-xen-build-prep: install checkpolicy
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
` (3 preceding siblings ...)
2014-10-14 21:50 ` [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 06/11] ts-xen-build: build with XSM support if requested Wei Liu
` (5 subsequent siblings)
10 siblings, 0 replies; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
This is used to complie Flask policy.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
ts-xen-build-prep | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ts-xen-build-prep b/ts-xen-build-prep
index 05a7857..edef9a9 100755
--- a/ts-xen-build-prep
+++ b/ts-xen-build-prep
@@ -178,7 +178,7 @@ sub prep () {
autoconf automake libtool xsltproc
libxml2-utils libxml2-dev libnl-dev
libdevmapper-dev w3c-dtd-xhtml
- ccache));
+ ccache checkpolicy));
target_cmd_root($ho, "chmod -R a+r /usr/share/git-core/templates");
# workaround for Debian #595728
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 06/11] ts-xen-build: build with XSM support if requested
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
` (4 preceding siblings ...)
2014-10-14 21:50 ` [PATCH OSSTEST v3 05/11] ts-xen-build-prep: install checkpolicy Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-12-10 13:05 ` Ian Campbell
2014-10-14 21:50 ` [PATCH OSSTEST v3 07/11] mfi-common: create build-$arch-xsm job Wei Liu
` (4 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
ts-xen-build | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/ts-xen-build b/ts-xen-build
index 661f186..390c114 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -27,6 +27,8 @@ tsreadconfig();
selectbuildhost(\@ARGV);
# remaining arguments are passed as targets to "make"
builddirsprops();
+
+my $enable_xsm = $r{enable_xsm} =~ m/y/ ? 1 : 0;
sub checkout () {
prepbuilddirs();
@@ -34,6 +36,7 @@ sub checkout () {
build_clone($ho, 'xen', $builddir, 'xen');
my $debug_build = $r{xen_build_debug} || 'y';
+ my $build_xsm = $enable_xsm ? 'y' : 'n';
# Do not set this unless you know what you are doing. This arm
# option makes the build specific to a particular type of
@@ -47,6 +50,7 @@ sub checkout () {
cd $builddir/xen
>.config
echo >>.config debug=$debug_build
+ echo >>.config XSM_ENABLE=$build_xsm
echo >>.config GIT_HTTP=y
echo >>.config LIBLEAFDIR_x86_64=lib
echo >>.config QEMU_REMOTE='$r{tree_qemu}'
@@ -114,6 +118,14 @@ END
buildcmd_stamped_logged(9000, 'build', '',<<END,'');
$make_prefix make $makeflags @ARGV
END
+
+ if ($enable_xsm) {
+ my $xen_version = target_cmd_output_root($ho, <<END, 30);
+ cd $builddir/xen
+ $make_prefix make xenversion
+END
+ store_runvar("flaskpolicy", "xenpolicy-" . $xen_version);
+ }
}
sub collectversions () {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 07/11] mfi-common: create build-$arch-xsm job
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
` (5 preceding siblings ...)
2014-10-14 21:50 ` [PATCH OSSTEST v3 06/11] ts-xen-build: build with XSM support if requested Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-12-10 13:12 ` Ian Campbell
2014-10-14 21:50 ` [PATCH OSSTEST v3 08/11] Debian.pm: pass in XSM configuration to bootloader setup routines Wei Liu
` (3 subsequent siblings)
10 siblings, 1 reply; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
mfi-common | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/mfi-common b/mfi-common
index 5c4f5d5..e772086 100644
--- a/mfi-common
+++ b/mfi-common
@@ -41,6 +41,19 @@ branch_wants_rumpkernel_tests () {
esac
}
+xenbranch_wants_xsm_tests () {
+ # Test XSM from 4.5 onwards
+ case "$xenbranch" in
+ xen-3.*-testing) echo "n";;
+ xen-4.0-testing) echo "n";;
+ xen-4.1-testing) echo "n";;
+ xen-4.2-testing) echo "n";;
+ xen-4.3-testing) echo "n";;
+ xen-4.4-testing) echo "n";;
+ *) echo "n y";
+ esac
+}
+
create_build_jobs () {
local arch
@@ -139,8 +152,15 @@ create_build_jobs () {
build_hostflags=share-build-$suite-$arch,arch-$arch,suite-$suite,purpose-build
- ./cs-job-create $flight build-$arch build \
+ for enable_xsm in $(xenbranch_wants_xsm_tests) ; do
+ if [ x$enable_xsm = xy ] ; then
+ xsm_suffix="-xsm"
+ else
+ xsm_suffix=""
+ fi
+ ./cs-job-create $flight build-$arch$xsm_suffix build \
arch=$arch enable_xend=$build_defxend enable_ovmf=$enable_ovmf\
+ enable_xsm=$enable_xsm \
tree_qemu=$TREE_QEMU \
tree_qemuu=$TREE_QEMU_UPSTREAM \
tree_xen=$TREE_XEN \
@@ -152,6 +172,7 @@ create_build_jobs () {
revision_qemu=$REVISION_QEMU \
revision_qemuu=$REVISION_QEMU_UPSTREAM \
revision_seabios=$REVISION_SEABIOS
+ done
if [ $build_extraxend = "true" ] ; then
./cs-job-create $flight build-$arch-xend build \
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 08/11] Debian.pm: pass in XSM configuration to bootloader setup routines
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
` (6 preceding siblings ...)
2014-10-14 21:50 ` [PATCH OSSTEST v3 07/11] mfi-common: create build-$arch-xsm job Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 09/11] Debian.pm: load flask policy in uboot Wei Liu
` (2 subsequent siblings)
10 siblings, 0 replies; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Change to Uboot will come in another patch. GRUB 1 is ignored, as
currently OSSTest only has Wheezy which has GRUB 2.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Osstest/Debian.pm | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index ed8a1b2..30fb315 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -45,9 +45,9 @@ BEGIN {
#---------- manipulation of Debian bootloader setup ----------
-sub debian_boot_setup ($$$$;$) {
+sub debian_boot_setup ($$$$$;$) {
# $xenhopt==undef => is actually a guest, do not set up a hypervisor
- my ($ho, $want_kernver, $xenhopt, $distpath, $hooks) = @_;
+ my ($ho, $want_kernver, $want_xsm, $xenhopt, $distpath, $hooks) = @_;
target_kernkind_check($ho);
target_kernkind_console_inittab($ho,$ho,"/");
@@ -72,11 +72,11 @@ sub debian_boot_setup ($$$$;$) {
my $bootloader;
if ( $ho->{Flags}{'need-uboot-bootscr'} ) {
- $bootloader= setupboot_uboot($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_uboot($ho, $want_kernver, $want_xsm, $xenhopt, $kopt);
} elsif ($ho->{Suite} =~ m/lenny/) {
- $bootloader= setupboot_grub1($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_grub1($ho, $want_kernver, $want_xsm, $xenhopt, $kopt);
} else {
- $bootloader= setupboot_grub2($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_grub2($ho, $want_kernver, $want_xsm, $xenhopt, $kopt);
}
$bootloader->{UpdateConfig}($ho);
@@ -112,8 +112,8 @@ sub bl_getmenu_open ($$$) {
return $f;
}
-sub setupboot_uboot ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+sub setupboot_uboot ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
$bl->{UpdateConfig}= sub {
@@ -194,13 +194,17 @@ END
return $bl;
}
-sub setupboot_grub1 ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+sub setupboot_grub1 ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
my $rmenu= "/boot/grub/menu.lst";
my $lmenu= "$stash/$ho->{Name}--menu.lst.out";
+ if ($want_xsm) {
+ die "Enabling XSM with GRUB is not supported";
+ }
+
target_editfile_root($ho, $rmenu, sub {
while (<::EI>) {
if (m/^## ## Start Default/ ..
@@ -277,8 +281,8 @@ sub setupboot_grub1 ($$$) {
# Note on running OSSTest on Squeeze with old Xen kernel: check out
# Debian bug #633127 "/etc/grub/20_linux does not recognise some old
# Xen kernels"
-sub setupboot_grub2 ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+sub setupboot_grub2 ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
my $rmenu= '/boot/grub/grub.cfg';
@@ -305,6 +309,9 @@ sub setupboot_grub2 ($$$) {
$entry->{KernVer} ne $want_kernver) {
logm("(skipping entry at $entry->{StartLine};".
" kernel $entry->{KernVer}, not $want_kernver)");
+ } elsif ($want_xsm && !defined $entry->{Xenpolicy}) {
+ logm("(skipping entry at $entry->{StartLine};".
+ " XSM policy file not present)");
} else {
# yes!
last;
@@ -337,6 +344,9 @@ sub setupboot_grub2 ($$$) {
if (m/^\s*module\s*\/(initrd\S+)/) {
$entry->{Initrd}= $1;
}
+ if (m/^\s*module\s*\/(xenpolicy\S+)/) {
+ $entry->{Xenpolicy}= $1;
+ }
}
die 'grub 2 bootloader entry not found' unless $entry;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 09/11] Debian.pm: load flask policy in uboot
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
` (7 preceding siblings ...)
2014-10-14 21:50 ` [PATCH OSSTEST v3 08/11] Debian.pm: pass in XSM configuration to bootloader setup routines Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 10/11] ts-xen-install: install Xen with XSM support if requested Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 11/11] mfi-common, make-flight: create XSM test jobs Wei Liu
10 siblings, 0 replies; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Osstest/Debian.pm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 30fb315..ad0dd48 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -123,6 +123,22 @@ sub setupboot_uboot ($$$$) {
my $kern = "vmlinuz-$want_kernver";
my $initrd = "initrd.img-$want_kernver";
+ my $flask_commands = "";
+ if ($want_xsm) {
+ my $flaskpolicy = $r{flaskpolicy};
+ $flask_commands = <<END;
+
+setenv flask_policy_addr_r 0x1200000
+flaskpolicy=`readlink /boot/$flaskpolicy`
+ext2load scsi 0 \\\${flask_policy_addr_r} \$flaskpolicy
+fdt mknod /chosen module\@2
+fdt set /chosen/module\@2 compatible "xen,xsm-policy"
+fdt set /chosen/module\@2 reg <\\\${flask_policy_addr_r} \\\${filesize}>
+echo Loaded $flaskpolicy to \\\${flask_policy_addr_r} (\\\${filesize})
+
+END
+ }
+
my $root= target_guest_lv_name($ho,"root");
logm("Xen options: $xenhopt");
@@ -176,6 +192,8 @@ fdt set /chosen/module\@1 compatible "xen,linux-initrd" "xen,multiboot-module"
fdt set /chosen/module\@1 reg <\\\${ramdisk_addr_r} \\\${filesize}>
echo Loaded $initrd to \\\${ramdisk_addr_r} (\\\${filesize})
+${flask_commands}
+
fdt print /chosen
echo Booting \\\${xen_addr_r} - \\\${fdt_addr}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 10/11] ts-xen-install: install Xen with XSM support if requested
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
` (8 preceding siblings ...)
2014-10-14 21:50 ` [PATCH OSSTEST v3 09/11] Debian.pm: load flask policy in uboot Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-12-10 13:15 ` Ian Campbell
2014-10-14 21:50 ` [PATCH OSSTEST v3 11/11] mfi-common, make-flight: create XSM test jobs Wei Liu
10 siblings, 1 reply; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
ts-xen-install | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ts-xen-install b/ts-xen-install
index 4d34d1f..2e2fcbc 100755
--- a/ts-xen-install
+++ b/ts-xen-install
@@ -46,6 +46,8 @@ if (@ARGV and $ARGV[0] eq '--check') {
our $ho;
+my $enable_xsm = $r{enable_xsm} =~ m/y/ ? 1 : 0;
+
my %distpath;
sub packages () {
@@ -171,7 +173,7 @@ sub setupboot () {
}
my $want_kernver = get_runvar('kernel_ver',$r{'kernbuildjob'});
- debian_boot_setup($ho, $want_kernver, $xenhopt, \%distpath, \@hooks);
+ debian_boot_setup($ho, $want_kernver, $enable_xsm, $xenhopt, \%distpath, \@hooks);
logm("ready to boot Xen");
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH OSSTEST v3 11/11] mfi-common, make-flight: create XSM test jobs
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
` (9 preceding siblings ...)
2014-10-14 21:50 ` [PATCH OSSTEST v3 10/11] ts-xen-install: install Xen with XSM support if requested Wei Liu
@ 2014-10-14 21:50 ` Wei Liu
2014-12-10 13:28 ` Ian Campbell
10 siblings, 1 reply; 25+ messages in thread
From: Wei Liu @ 2014-10-14 21:50 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Duplicate Debian PV and HVM test jobs for XSM testing.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
make-flight | 61 +++++++++++++++++++++++++++++++++++++++--------------------
mfi-common | 11 +++++++++--
2 files changed, 49 insertions(+), 23 deletions(-)
diff --git a/make-flight b/make-flight
index 9963a46..9ab95a0 100755
--- a/make-flight
+++ b/make-flight
@@ -123,7 +123,7 @@ do_rumpkernel_tests () {
rumparch=$dom0arch
job_create_test test-$xenarch$kern-$dom0arch-rumpuserxen-$rumparch \
test-rumpuserxen xl \
- $xenarch $dom0arch \
+ $xenarch $dom0arch n \
guests_rumpuserxenbuildjob=build-$rumparch-rumpuserxen \
rump_builtimage=rumpuserxen:/usr/local/lib/xen/rump-kernel/rump-kernel \
rump_cmdline=3 \
@@ -141,7 +141,7 @@ do_freebsd_tests () {
for freebsdarch in amd64 i386; do
job_create_test test-$xenarch$kern-$dom0arch$qemuu_suffix-freebsd10-$freebsdarch \
- test-freebsd xl $xenarch $dom0arch \
+ test-freebsd xl $xenarch $dom0arch n \
freebsd_arch=$freebsdarch \
freebsd_image=${FREEBSD_IMAGE_PREFIX-FreeBSD-10.0-RELEASE-}$freebsdarch${FREEBSD_IMAGE_SUFFIX--20140116-r260789.qcow2.xz} \
all_hostflags=$most_hostflags
@@ -179,7 +179,7 @@ do_hvm_winxp_tests () {
job_create_test \
test-$xenarch$kern-$dom0arch-$toolstack$qemuu_suffix-winxpsp3$vcpus_suffix \
- test-win $toolstack $xenarch $dom0arch $qemuu_runvar \
+ test-win $toolstack $xenarch $dom0arch n $qemuu_runvar \
win_image=winxpsp3.iso $vcpus_runvars \
all_hostflags=$most_hostflags,hvm
@@ -192,7 +192,7 @@ do_hvm_win7_x64_tests () {
fi
job_create_test test-$xenarch$kern-$dom0arch-xl$qemuu_suffix-win7-amd64 \
- test-win xl $xenarch $dom0arch $qemuu_runvar \
+ test-win xl $xenarch $dom0arch n $qemuu_runvar \
win_image=win7-x64.iso \
all_hostflags=$most_hostflags,hvm
}
@@ -200,27 +200,36 @@ do_hvm_win7_x64_tests () {
do_hvm_debian_test_one () {
testname=$1
bios=$2
+ xsm=$3
+
job_create_test test-$xenarch$kern-$dom0arch-xl$qemuu_suffix-$testname-amd64\
- test-debianhvm xl $xenarch $dom0arch $qemuu_runvar \
+ test-debianhvm xl $xenarch $dom0arch $xsm $qemuu_runvar \
+ enable_xsm=$xsm \
debianhvm_image=debian-7.2.0-amd64-CD-1.iso \
bios=$bios \
all_hostflags=$most_hostflags,hvm
}
do_hvm_debian_tests() {
+ test_xsm="$@"
+
if [ $xenarch != amd64 ]; then
return
fi
# QEMU upstream supports ovmf and seabios
if [ "x$qemuu_suffix" == "x-qemuu" ]; then
- do_hvm_debian_test_one ovmf ovmf
- do_hvm_debian_test_one debianhvm seabios
+ do_hvm_debian_test_one ovmf ovmf n
+ for xsm in $test_xsm ; do
+ do_hvm_debian_test_one debianhvm seabios $xsm
+ done
fi
# QEMU traditional supports rombios
if [ "x$qemuu_suffix" == "x-qemut" ]; then
- do_hvm_debian_test_one debianhvm rombios
+ for xsm in $test_xsm ; do
+ do_hvm_debian_test_one debianhvm rombios $xsm
+ done
fi
}
@@ -232,7 +241,7 @@ do_hvm_rhel6_tests () {
for cpuvendor in amd intel; do
job_create_test test-$xenarch$kern-$dom0arch$qemuu_suffix-rhel6hvm-$cpuvendor \
- test-rhelhvm xl $xenarch $dom0arch \
+ test-rhelhvm xl $xenarch $dom0arch n \
redhat_image=rhel-server-6.1-i386-dvd.iso \
all_hostflags=$most_hostflags,hvm-$cpuvendor \
$qemuu_runvar
@@ -247,7 +256,7 @@ do_sedf_tests () {
for pin in '' -pin; do
job_create_test test-$xenarch$kern-$dom0arch-xl-sedf$pin \
- test-debian xl $xenarch $dom0arch \
+ test-debian xl $xenarch $dom0arch n \
guests_vcpus=4 \
xen_boot_append="sched=sedf loglvl=all ${pin:+dom0_vcpus_pin}" \
linux_boot_append='loglevel=9 debug' \
@@ -261,7 +270,7 @@ do_credit2_tests () {
fi
job_create_test test-$xenarch$kern-$dom0arch-xl-credit2 \
- test-debian xl $xenarch $dom0arch \
+ test-debian xl $xenarch $dom0arch n \
guests_vcpus=4 xen_boot_append='sched=credit2' \
$debian_runvars all_hostflags=$most_hostflags
}
@@ -273,7 +282,7 @@ do_passthrough_tests () {
for cpuvendor in intel; do
job_create_test test-$xenarch$kern-$dom0arch-xl-pcipt-intel \
- test-debian-nomigr xl $xenarch $dom0arch \
+ test-debian-nomigr xl $xenarch $dom0arch n \
guests_vcpus=4 \
$debian_runvars debian_pcipassthrough_nic=host \
all_hostflags=$most_hostflags,hvm-$cpuvendor,pcipassthrough-nic
@@ -281,16 +290,26 @@ do_passthrough_tests () {
done
}
-test_matrix_do_one () {
-
- # Basic PV Linux test with xl
+do_pv_linux_xl_test_one () {
+ xsm=$1
job_create_test test-$xenarch$kern-$dom0arch-xl test-debian xl \
- $xenarch $dom0arch \
+ $xenarch $dom0arch $xsm \
+ enable_xsm=$xsm \
$debian_runvars all_hostflags=$most_hostflags
+}
+
+test_matrix_do_one () {
+
+ test_xsm=$(xenbranch_wants_xsm_tests)
+
+ # Basic PV Linux test with xl
+ for xsm in $test_xsm ; do
+ do_pv_linux_xl_test_one $xsm
+ done
job_create_test test-$xenarch$kern-$dom0arch-libvirt test-debian libvirt \
- $xenarch $dom0arch \
+ $xenarch $dom0arch n \
$debian_runvars all_hostflags=$most_hostflags
# No further arm tests at the moment
@@ -314,7 +333,7 @@ test_matrix_do_one () {
# xend PV guest test on x86 only
if [ x$test_xend = xy -a \( $dom0arch = "i386" -o $dom0arch = "amd64" \) ]; then
job_create_test test-$xenarch$kern-$dom0arch-pv test-debian xend \
- $xenarch $dom0arch \
+ $xenarch $dom0arch n \
$debian_runvars all_hostflags=$most_hostflags
fi
@@ -342,13 +361,13 @@ test_matrix_do_one () {
do_hvm_win7_x64_tests
do_hvm_rhel6_tests
- do_hvm_debian_tests
+ do_hvm_debian_tests $test_xsm
done # qemuu_suffix
# Test live migration
job_create_test test-$xenarch$kern-$dom0arch-pair test-pair \
- $onetoolstack $xenarch $dom0arch \
+ $onetoolstack $xenarch $dom0arch n \
!host !host_hostflags \
$debian_runvars \
all_hostflags=$most_hostflags,equiv-1
@@ -359,7 +378,7 @@ test_matrix_do_one () {
if [ $xenarch = amd64 -a $dom0arch = i386 ]; then
job_create_test test-$xenarch$kern-$dom0arch-xl-multivcpu \
- test-debian xl $xenarch $dom0arch guests_vcpus=4 \
+ test-debian xl $xenarch $dom0arch n guests_vcpus=4 \
$debian_runvars all_hostflags=$most_hostflags
fi
diff --git a/mfi-common b/mfi-common
index e772086..a81dfba 100644
--- a/mfi-common
+++ b/mfi-common
@@ -267,9 +267,16 @@ job_create_test () {
local toolstack=$1; shift
local xenarch=$1; shift
local dom0arch=$1; shift
+ local xsm=$1; shift
- xenbuildjob="${bfi}build-$xenarch"
- buildjob="${bfi}build-$dom0arch"
+ xsm_suffix=""
+ if [ x$xsm = xy ] ; then
+ xsm_suffix="-xsm"
+ fi
+
+ job="$job$xsm_suffix"
+ xenbuildjob="${bfi}build-$xenarch$xsm_suffix"
+ buildjob="${bfi}build-$dom0arch$xsm_suffix"
tsbuildjob=
case "$xenbranch:$toolstack" in
--
1.7.10.4
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 03/11] ts-debian-install: rename cfg_xend to cfg
2014-10-14 21:50 ` [PATCH OSSTEST v3 03/11] ts-debian-install: rename cfg_xend to cfg Wei Liu
@ 2014-12-10 12:44 ` Ian Campbell
0 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2014-12-10 12:44 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> ... as this config file is just a config file in general, not strictly a
> Xend format config file.
>
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen
2014-10-14 21:50 ` [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen Wei Liu
@ 2014-12-10 12:54 ` Ian Campbell
2014-12-10 13:41 ` Wei Liu
0 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2014-12-10 12:54 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> This file was created to work around Debian bug #633127.
>
> According to Debian bug tracker [0], this bug is fixed in Wheezy. As
> we're now using Wheezy in OSSTest we can safely remove this overlay
> file.
>
> Also add a note to reference #633127 above grub2 setup function, in case
> someone trips over #633127.
>
> As we're now using Wheezy in production, update this file to Wheezy's
> version and take care of Debian bug #690538 and GRUB bug #43420.
When reference bugs it would be useful to include the bug title here so
the reader doesn't have to go and look it up.
#690538 relates to providing an option to remove the submenus. Please
can the changelog explain why that is relevant to us.
Did you fix it by removing/reverting the submenu support altogether, as
opposed to e.g. importing the patch from Eric Fischer in the bug report?
I don't see stuff which I'd expect if you had applied the patch. I think
it would be worth spelling out in a bit more detail what the changes
you've made to the baseline for each bug were.
I suppose constructing overlay/etc/grub.d/20_linux_xen from a baseline
unmodified version (checked in, not retrieved from the host) and a
mini-patch-series (also checked in) on the fly is over complexifying
things?
Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 06/11] ts-xen-build: build with XSM support if requested
2014-10-14 21:50 ` [PATCH OSSTEST v3 06/11] ts-xen-build: build with XSM support if requested Wei Liu
@ 2014-12-10 13:05 ` Ian Campbell
2014-12-10 13:47 ` Wei Liu
0 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2014-12-10 13:05 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Looks like Ian J acked v2 in
<21559.64364.468553.506173@mariner.uk.xensource.com>.
> ---
> ts-xen-build | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/ts-xen-build b/ts-xen-build
> index 661f186..390c114 100755
> --- a/ts-xen-build
> +++ b/ts-xen-build
> @@ -27,6 +27,8 @@ tsreadconfig();
> selectbuildhost(\@ARGV);
> # remaining arguments are passed as targets to "make"
> builddirsprops();
> +
> +my $enable_xsm = $r{enable_xsm} =~ m/y/ ? 1 : 0;
Existing boolean runvars (enable_ovmf, enable_xend) appear to use
true/false (which still need laundering into Perl booleans). Using y/n
made sense when you were poking it straight into XSM_ENABLE, but if you
are going to have to translate it there anyway (into $build_xsm) you may
as well go for consistency.
>
> sub checkout () {
> prepbuilddirs();
> @@ -34,6 +36,7 @@ sub checkout () {
> build_clone($ho, 'xen', $builddir, 'xen');
>
> my $debug_build = $r{xen_build_debug} || 'y';
> + my $build_xsm = $enable_xsm ? 'y' : 'n';
>
> # Do not set this unless you know what you are doing. This arm
> # option makes the build specific to a particular type of
> @@ -47,6 +50,7 @@ sub checkout () {
> cd $builddir/xen
> >.config
> echo >>.config debug=$debug_build
> + echo >>.config XSM_ENABLE=$build_xsm
> echo >>.config GIT_HTTP=y
> echo >>.config LIBLEAFDIR_x86_64=lib
> echo >>.config QEMU_REMOTE='$r{tree_qemu}'
> @@ -114,6 +118,14 @@ END
> buildcmd_stamped_logged(9000, 'build', '',<<END,'');
> $make_prefix make $makeflags @ARGV
> END
> +
> + if ($enable_xsm) {
> + my $xen_version = target_cmd_output_root($ho, <<END, 30);
> + cd $builddir/xen
> + $make_prefix make xenversion
> +END
> + store_runvar("flaskpolicy", "xenpolicy-" . $xen_version);
> + }
> }
>
> sub collectversions () {
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 07/11] mfi-common: create build-$arch-xsm job
2014-10-14 21:50 ` [PATCH OSSTEST v3 07/11] mfi-common: create build-$arch-xsm job Wei Liu
@ 2014-12-10 13:12 ` Ian Campbell
2014-12-10 13:32 ` Wei Liu
0 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2014-12-10 13:12 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> ---
> mfi-common | 23 ++++++++++++++++++++++-
> 1 file changed, 22 insertions(+), 1 deletion(-)
>
> diff --git a/mfi-common b/mfi-common
> index 5c4f5d5..e772086 100644
> --- a/mfi-common
> +++ b/mfi-common
> @@ -41,6 +41,19 @@ branch_wants_rumpkernel_tests () {
> esac
> }
>
> +xenbranch_wants_xsm_tests () {
> + # Test XSM from 4.5 onwards
> + case "$xenbranch" in
> + xen-3.*-testing) echo "n";;
> + xen-4.0-testing) echo "n";;
> + xen-4.1-testing) echo "n";;
> + xen-4.2-testing) echo "n";;
> + xen-4.3-testing) echo "n";;
> + xen-4.4-testing) echo "n";;
> + *) echo "n y";
Did you mean just "y" here, or is something very subtle going on?
Oh I see, you run over the result of this as a list with for. Sneaky!
I think you should name it something like xenbranch_xsm_variants or
something else which doesn't make the reader expect it to return a
boolean.
Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 10/11] ts-xen-install: install Xen with XSM support if requested
2014-10-14 21:50 ` [PATCH OSSTEST v3 10/11] ts-xen-install: install Xen with XSM support if requested Wei Liu
@ 2014-12-10 13:15 ` Ian Campbell
2014-12-10 13:34 ` Wei Liu
0 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2014-12-10 13:15 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> ---
> ts-xen-install | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/ts-xen-install b/ts-xen-install
> index 4d34d1f..2e2fcbc 100755
> --- a/ts-xen-install
> +++ b/ts-xen-install
> @@ -46,6 +46,8 @@ if (@ARGV and $ARGV[0] eq '--check') {
>
> our $ho;
>
> +my $enable_xsm = $r{enable_xsm} =~ m/y/ ? 1 : 0;
> +
> my %distpath;
>
> sub packages () {
> @@ -171,7 +173,7 @@ sub setupboot () {
> }
>
> my $want_kernver = get_runvar('kernel_ver',$r{'kernbuildjob'});
> - debian_boot_setup($ho, $want_kernver, $xenhopt, \%distpath, \@hooks);
> + debian_boot_setup($ho, $want_kernver, $enable_xsm, $xenhopt, \%distpath, \@hooks);
Doesn't this have to be in the same patch as the one which adds the new
parameter in the function declaration? Or at least that patch needs to
hardcode a false until now.
(not sure we care much about bisectability in osstest, Ian?)
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 11/11] mfi-common, make-flight: create XSM test jobs
2014-10-14 21:50 ` [PATCH OSSTEST v3 11/11] mfi-common, make-flight: create XSM test jobs Wei Liu
@ 2014-12-10 13:28 ` Ian Campbell
0 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2014-12-10 13:28 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> +test_matrix_do_one () {
> +
> + test_xsm=$(xenbranch_wants_xsm_tests)
> +
> + # Basic PV Linux test with xl
> + for xsm in $test_xsm ; do
> + do_pv_linux_xl_test_one $xsm
> + done
Perhaps push this down into do_pv_debian_tests which contains this loop
and calls down to do_pv_debian_test_one (similar to the
do_hvm_debian_tests setup).
Should we run an xsm test for libvirt too -- I don't see why not, in
that case do_pv_debian_tests would call do_pv_debian_test_one twice and
pass the toolstack as a parameter.
> @@ -342,13 +361,13 @@ test_matrix_do_one () {
> do_hvm_win7_x64_tests
> do_hvm_rhel6_tests
>
> - do_hvm_debian_tests
> + do_hvm_debian_tests $test_xsm
The parameter here should be quoted (and do_hvm_debian_tests should use
$1), but IMHO it would be better to have do_hvm_debian_tests call
xenbranch_wants_xsm_tests itself and loop on the result.
> diff --git a/mfi-common b/mfi-common
> index e772086..a81dfba 100644
> --- a/mfi-common
> +++ b/mfi-common
> @@ -267,9 +267,16 @@ job_create_test () {
> local toolstack=$1; shift
> local xenarch=$1; shift
> local dom0arch=$1; shift
> + local xsm=$1; shift
Can you detect enable_xsm=y in the remaining runvars (in $@ at this
point) and enable xsm based on that, instead of requiring an additional
parameter to be added to every caller?
for rv in $@ ; do
case $rv in
enable_xsm=y) xsm_prefix="-xsm";;
esac
done
Is one way I'd try.
Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 07/11] mfi-common: create build-$arch-xsm job
2014-12-10 13:12 ` Ian Campbell
@ 2014-12-10 13:32 ` Wei Liu
0 siblings, 0 replies; 25+ messages in thread
From: Wei Liu @ 2014-12-10 13:32 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
On Wed, Dec 10, 2014 at 01:12:23PM +0000, Ian Campbell wrote:
> On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > ---
> > mfi-common | 23 ++++++++++++++++++++++-
> > 1 file changed, 22 insertions(+), 1 deletion(-)
> >
> > diff --git a/mfi-common b/mfi-common
> > index 5c4f5d5..e772086 100644
> > --- a/mfi-common
> > +++ b/mfi-common
> > @@ -41,6 +41,19 @@ branch_wants_rumpkernel_tests () {
> > esac
> > }
> >
> > +xenbranch_wants_xsm_tests () {
> > + # Test XSM from 4.5 onwards
> > + case "$xenbranch" in
> > + xen-3.*-testing) echo "n";;
> > + xen-4.0-testing) echo "n";;
> > + xen-4.1-testing) echo "n";;
> > + xen-4.2-testing) echo "n";;
> > + xen-4.3-testing) echo "n";;
> > + xen-4.4-testing) echo "n";;
> > + *) echo "n y";
>
> Did you mean just "y" here, or is something very subtle going on?
>
> Oh I see, you run over the result of this as a list with for. Sneaky!
>
Ian J's suggestion.
> I think you should name it something like xenbranch_xsm_variants or
> something else which doesn't make the reader expect it to return a
> boolean.
>
Ack.
Wei.
> Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 10/11] ts-xen-install: install Xen with XSM support if requested
2014-12-10 13:15 ` Ian Campbell
@ 2014-12-10 13:34 ` Wei Liu
0 siblings, 0 replies; 25+ messages in thread
From: Wei Liu @ 2014-12-10 13:34 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
On Wed, Dec 10, 2014 at 01:15:13PM +0000, Ian Campbell wrote:
> On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > ---
> > ts-xen-install | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/ts-xen-install b/ts-xen-install
> > index 4d34d1f..2e2fcbc 100755
> > --- a/ts-xen-install
> > +++ b/ts-xen-install
> > @@ -46,6 +46,8 @@ if (@ARGV and $ARGV[0] eq '--check') {
> >
> > our $ho;
> >
> > +my $enable_xsm = $r{enable_xsm} =~ m/y/ ? 1 : 0;
> > +
> > my %distpath;
> >
> > sub packages () {
> > @@ -171,7 +173,7 @@ sub setupboot () {
> > }
> >
> > my $want_kernver = get_runvar('kernel_ver',$r{'kernbuildjob'});
> > - debian_boot_setup($ho, $want_kernver, $xenhopt, \%distpath, \@hooks);
> > + debian_boot_setup($ho, $want_kernver, $enable_xsm, $xenhopt, \%distpath, \@hooks);
>
> Doesn't this have to be in the same patch as the one which adds the new
> parameter in the function declaration? Or at least that patch needs to
> hardcode a false until now.
>
Yes, I noticed this after I sent this series. I will squash this one
into previous commit.
Wei.
> (not sure we care much about bisectability in osstest, Ian?)
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen
2014-12-10 12:54 ` Ian Campbell
@ 2014-12-10 13:41 ` Wei Liu
2014-12-10 13:47 ` Ian Campbell
0 siblings, 1 reply; 25+ messages in thread
From: Wei Liu @ 2014-12-10 13:41 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
On Wed, Dec 10, 2014 at 12:54:05PM +0000, Ian Campbell wrote:
> On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> > This file was created to work around Debian bug #633127.
> >
> > According to Debian bug tracker [0], this bug is fixed in Wheezy. As
> > we're now using Wheezy in OSSTest we can safely remove this overlay
> > file.
> >
> > Also add a note to reference #633127 above grub2 setup function, in case
> > someone trips over #633127.
> >
> > As we're now using Wheezy in production, update this file to Wheezy's
> > version and take care of Debian bug #690538 and GRUB bug #43420.
>
> When reference bugs it would be useful to include the bug title here so
> the reader doesn't have to go and look it up.
>
OK.
> #690538 relates to providing an option to remove the submenus. Please
> can the changelog explain why that is relevant to us.
>
Because somebody else thought not making submenu optional is a bug. So
do I.
> Did you fix it by removing/reverting the submenu support altogether, as
> opposed to e.g. importing the patch from Eric Fischer in the bug report?
> I don't see stuff which I'd expect if you had applied the patch. I think
> it would be worth spelling out in a bit more detail what the changes
> you've made to the baseline for each bug were.
>
I fixed this by supplying a 20_linux_xen extracted from wheezy with
submenu generation removed (2 lines). This is how we dealt with other
grub bugs.
> I suppose constructing overlay/etc/grub.d/20_linux_xen from a baseline
> unmodified version (checked in, not retrieved from the host) and a
> mini-patch-series (also checked in) on the fly is over complexifying
> things?
>
Certainly more complex than a single file solution. At the very least
new infrastructure to apply patches for overlay files is needed.
Wei.
> Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen
2014-12-10 13:41 ` Wei Liu
@ 2014-12-10 13:47 ` Ian Campbell
2014-12-10 13:50 ` Wei Liu
0 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2014-12-10 13:47 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Wed, 2014-12-10 at 13:41 +0000, Wei Liu wrote:
> On Wed, Dec 10, 2014 at 12:54:05PM +0000, Ian Campbell wrote:
> > #690538 relates to providing an option to remove the submenus. Please
> > can the changelog explain why that is relevant to us.
> >
>
> Because somebody else thought not making submenu optional is a bug. So
> do I.
I meant: why is this important to osstest? does using submenus break
something? if so then what? if not then there is no reason to be
diverging from the baseline.
> > Did you fix it by removing/reverting the submenu support altogether, as
> > opposed to e.g. importing the patch from Eric Fischer in the bug report?
> > I don't see stuff which I'd expect if you had applied the patch. I think
> > it would be worth spelling out in a bit more detail what the changes
> > you've made to the baseline for each bug were.
> >
>
> I fixed this by supplying a 20_linux_xen extracted from wheezy with
> submenu generation removed (2 lines). This is how we dealt with other
> grub bugs.
I think precisely what you've changed from the baseline should be
documented somewhere.
Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 06/11] ts-xen-build: build with XSM support if requested
2014-12-10 13:05 ` Ian Campbell
@ 2014-12-10 13:47 ` Wei Liu
0 siblings, 0 replies; 25+ messages in thread
From: Wei Liu @ 2014-12-10 13:47 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
On Wed, Dec 10, 2014 at 01:05:22PM +0000, Ian Campbell wrote:
> On Tue, 2014-10-14 at 22:50 +0100, Wei Liu wrote:
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
>
> Looks like Ian J acked v2 in
> <21559.64364.468553.506173@mariner.uk.xensource.com>.
>
>
> > ---
> > ts-xen-build | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/ts-xen-build b/ts-xen-build
> > index 661f186..390c114 100755
> > --- a/ts-xen-build
> > +++ b/ts-xen-build
> > @@ -27,6 +27,8 @@ tsreadconfig();
> > selectbuildhost(\@ARGV);
> > # remaining arguments are passed as targets to "make"
> > builddirsprops();
> > +
> > +my $enable_xsm = $r{enable_xsm} =~ m/y/ ? 1 : 0;
>
> Existing boolean runvars (enable_ovmf, enable_xend) appear to use
> true/false (which still need laundering into Perl booleans). Using y/n
> made sense when you were poking it straight into XSM_ENABLE, but if you
> are going to have to translate it there anyway (into $build_xsm) you may
> as well go for consistency.
>
I tried to be consistent with next path (the "n y" one, eh). I'm OK with
changing them to true, false though.
> >
> > sub checkout () {
> > prepbuilddirs();
> > @@ -34,6 +36,7 @@ sub checkout () {
> > build_clone($ho, 'xen', $builddir, 'xen');
> >
> > my $debug_build = $r{xen_build_debug} || 'y';
> > + my $build_xsm = $enable_xsm ? 'y' : 'n';
> >
> > # Do not set this unless you know what you are doing. This arm
> > # option makes the build specific to a particular type of
> > @@ -47,6 +50,7 @@ sub checkout () {
> > cd $builddir/xen
> > >.config
> > echo >>.config debug=$debug_build
> > + echo >>.config XSM_ENABLE=$build_xsm
> > echo >>.config GIT_HTTP=y
> > echo >>.config LIBLEAFDIR_x86_64=lib
> > echo >>.config QEMU_REMOTE='$r{tree_qemu}'
> > @@ -114,6 +118,14 @@ END
> > buildcmd_stamped_logged(9000, 'build', '',<<END,'');
> > $make_prefix make $makeflags @ARGV
> > END
> > +
> > + if ($enable_xsm) {
> > + my $xen_version = target_cmd_output_root($ho, <<END, 30);
> > + cd $builddir/xen
> > + $make_prefix make xenversion
> > +END
> > + store_runvar("flaskpolicy", "xenpolicy-" . $xen_version);
> > + }
> > }
> >
> > sub collectversions () {
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen
2014-12-10 13:47 ` Ian Campbell
@ 2014-12-10 13:50 ` Wei Liu
2014-12-10 13:52 ` Ian Campbell
0 siblings, 1 reply; 25+ messages in thread
From: Wei Liu @ 2014-12-10 13:50 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
On Wed, Dec 10, 2014 at 01:47:06PM +0000, Ian Campbell wrote:
> On Wed, 2014-12-10 at 13:41 +0000, Wei Liu wrote:
> > On Wed, Dec 10, 2014 at 12:54:05PM +0000, Ian Campbell wrote:
> > > #690538 relates to providing an option to remove the submenus. Please
> > > can the changelog explain why that is relevant to us.
> > >
> >
> > Because somebody else thought not making submenu optional is a bug. So
> > do I.
>
> I meant: why is this important to osstest? does using submenus break
> something? if so then what? if not then there is no reason to be
> diverging from the baseline.
>
Submenu breaks OSSTest's grub menu parser, causing test step to fail.
> > > Did you fix it by removing/reverting the submenu support altogether, as
> > > opposed to e.g. importing the patch from Eric Fischer in the bug report?
> > > I don't see stuff which I'd expect if you had applied the patch. I think
> > > it would be worth spelling out in a bit more detail what the changes
> > > you've made to the baseline for each bug were.
> > >
> >
> > I fixed this by supplying a 20_linux_xen extracted from wheezy with
> > submenu generation removed (2 lines). This is how we dealt with other
> > grub bugs.
>
> I think precisely what you've changed from the baseline should be
> documented somewhere.
>
OK.
Wei.
> Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen
2014-12-10 13:50 ` Wei Liu
@ 2014-12-10 13:52 ` Ian Campbell
0 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2014-12-10 13:52 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Wed, 2014-12-10 at 13:50 +0000, Wei Liu wrote:
> On Wed, Dec 10, 2014 at 01:47:06PM +0000, Ian Campbell wrote:
> > On Wed, 2014-12-10 at 13:41 +0000, Wei Liu wrote:
> > > On Wed, Dec 10, 2014 at 12:54:05PM +0000, Ian Campbell wrote:
> > > > #690538 relates to providing an option to remove the submenus. Please
> > > > can the changelog explain why that is relevant to us.
> > > >
> > >
> > > Because somebody else thought not making submenu optional is a bug. So
> > > do I.
> >
> > I meant: why is this important to osstest? does using submenus break
> > something? if so then what? if not then there is no reason to be
> > diverging from the baseline.
> >
>
> Submenu breaks OSSTest's grub menu parser, causing test step to fail.
Great, that's a good reason to diverge, but please say it somewhere like
in the commit log.
I think the parser should also gain a comment with a reference to either
the bug or this discussion saying that it relies on grub not using
submenus.
Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2014-12-10 13:52 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-14 21:50 [PATCH OSSTEST v3 00/11] XSM test case for OSSTest Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 01/11] README: list chiark-utils-bin as requirement Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 02/11] gitignore: ignore images directory Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 03/11] ts-debian-install: rename cfg_xend to cfg Wei Liu
2014-12-10 12:44 ` Ian Campbell
2014-10-14 21:50 ` [PATCH OSSTEST v3 04/11] overlay: update overlay/etc/grub.d/20_linux_xen Wei Liu
2014-12-10 12:54 ` Ian Campbell
2014-12-10 13:41 ` Wei Liu
2014-12-10 13:47 ` Ian Campbell
2014-12-10 13:50 ` Wei Liu
2014-12-10 13:52 ` Ian Campbell
2014-10-14 21:50 ` [PATCH OSSTEST v3 05/11] ts-xen-build-prep: install checkpolicy Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 06/11] ts-xen-build: build with XSM support if requested Wei Liu
2014-12-10 13:05 ` Ian Campbell
2014-12-10 13:47 ` Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 07/11] mfi-common: create build-$arch-xsm job Wei Liu
2014-12-10 13:12 ` Ian Campbell
2014-12-10 13:32 ` Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 08/11] Debian.pm: pass in XSM configuration to bootloader setup routines Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 09/11] Debian.pm: load flask policy in uboot Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 10/11] ts-xen-install: install Xen with XSM support if requested Wei Liu
2014-12-10 13:15 ` Ian Campbell
2014-12-10 13:34 ` Wei Liu
2014-10-14 21:50 ` [PATCH OSSTEST v3 11/11] mfi-common, make-flight: create XSM test jobs Wei Liu
2014-12-10 13:28 ` Ian Campbell
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.