Archived/Xen 4.2 RC2 test instructions

From Xen

What needs to be tested

The most important feature we need tested is the new toolstack, xl. Xen 4.2 is the first version where xl is meant to be a complete replacement for xend/xm.

Other things that need to be tested are:

  • Making sure that Xen 4.2 compiles and installs properly on different software configurations; particularly on distros
  • Making sure that Xen 4.2, along with appropriately up-to-date kernels, work on different hardware.

In general, if you try to test xl on whatever software / hardware configuration you have, that will accomplish the other two as a by-product.

WARNING: As is probably obvious, this is still un-released software. We have tested it internally, but it may contain bugs that will crash, or even corrupt your system. Don't use it on systems you can't afford to lose.

Getting RC2

  • mercurial: Pull from the main repo, and update to tag 4.2.0-rc2:
hg clone http://xenbits.xen.org/xen-unstable.hg
hg update -C 4.2.0-rc2
 git clone -b 4.2.0-rc2 git://xenbits.xen.org/xen.git

Build requirements

  • Fedora 16/17: You need these packages installed to build Xen 4.2 from source. Also applies to RHEL6/CentOS6, but there you probably first need to enable EPEL repo to be able to find some of the rpms:
yum groupinstall "Development Libraries"
yum groupinstall "Development Tools"
yum install transfig wget tar less texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel
yum install pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial texinfo
yum install libidn-devel yajl yajl-devel ocaml ocaml-findlib ocaml-findlib-devel python-devel uuid-devel libuuid-devel openssl-devel
yum install glibc-devel.i686
  • Debian/Ubuntu: This list might be incomplete, please complete/fix/test the package list!:
apt-get install build-essential bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif 
apt-get install texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial
apt-get install make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev
apt-get install iasl libbz2-dev e2fslibs-dev git-core uuid-dev ocaml ocaml-findlib libx11-dev bison flex xz-utils libyajl-dev
apt-get install gettext

If you have a 64 bit Debian/Ubuntu system, you also need to install:

apt-get install gcc-multilib libc6-dev-i386
  • NetBSD: You will need to following packages from pkgsrc to build Xen 4.2 from source:
devel/mercurial
devel/scmgit
devel/gmake
lang/python27
devel/py-curses
devel/dev86
devel/glib2
devel/yajl

Test instructions

  • Remove any old versions of Xen toolstack binaries (including qemu).
  • Download and install the most recent Xen 4.2 RC. Make sure to check the README for changes in required development libraries and procedures. Some particular things to note:
    • Xen 4.2 now uses autoconf, so after downloading, you will need to run ./configure before running make
      • The default is now to install libraries in /usr/lib by default. Use --libdir=/usr/lib64 if your system uses those paths.
    • To build everything you can use "./configure ; make world". After successful compilation the built binaries are under dist/install/ directory, and they can be installed with "make install" command.
    • You can also use more specific build commands: "./configure ; make xen ; make tools ; make stubdom". To install use "make install-xen ; make install-tools ; make install-stubdom".
    • Xen 4.2 now provides a make deb target as a convenience to those building from source on Debian systems. The resulting .deb doesn't do any set-up or check any dependencies; it is simply a convenient way to keep track of installed files and allow them to be removed or upgraded easily.
  • Read the xl wiki page to understand what xl is, and what differences are expected between xm and xl.
    • In particular, xend typically did network setup (i.e., bridging, &c), while xl does not. So you will need to set up your networking through the standard distro tools.
    • For less common commands, check the xl man page to make sure names or argument conventions haven't changed.
  • Try to use xl for things that you used to use xm for.

Reporting Bugs (& Issues)

  • Report any bugs / missing functionality / unexpected results.
  • Please put [TestDay] into the subject line
  • Also make sure you specify the RC number you are using, in particular if you are using 4.2.0-rc3-pre instead of RC2
  • Make sure to follow the guidelines on Reporting Bugs against Xen.

Reporting success

We would love it if you could report successes by e-mailing xen-devel@lists.xen.org, preferrably including:

  • Hardware: Please at least include the processor manufaturer (Intel/AMD). Other helpful information might include specific processor models, amount of memory, number of cores, and so on
  • Software: If you're using a distro, the distro name and version would be the most helpful. Other helpful information might include the kernel that you're running, or other virtualization-related software you're using (e.g., libvirt, xen-tools, drbd, &c).
  • Guest operating systems: If running a Linux version, please specify whether you ran it in PV or HVM mode.
  • Functionality tested: High-level would include toolstacks, and major functionality (e.g., suspend/resume, migration, pass-through, stubdomains, &c)

The following template might be helpful: should you use Xen 4.2.0-RC3-PRE for testing, please make sure you state that information!

Subject: [TESTDAY] Test report
 
* Hardware:
 
* Software:

* Guest operating systems:

* Functionality tested:

* Comments:

For example:

Subject: [TESTDAY] Test report
 
* Hardware: 
Dell 390's (Intel, dual-core) x15
HP (AMD, quad-core) x5
 
* Software: 
Ubuntu 10.10,11.10
Fedora 17

* Guest operating systems:
Windows 8
Ubuntu 12.10,11.10 (HVM)
Fedora 17 (PV)

* Functionality tested:
xl
suspend/resume
pygrub

* Comments:
Window 8 booting seemed a little slower than normal.

Other than that, great work!