[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [OSSTest PATCH [RFC] 0/4] New test case: Fedora PV guests



Hi,

here they are more OSSTest bits, but this time implementing an actual test
case! ;-P

In fact, this series adds one test case (resulting in a few jobs) for a Fedora
PV guest, instead of the fairly typical Debian one. Basically, what we do is we
install a guest via the Anaconda installer with a kickstart file, allowing for
completely automated installation (much like d-i preseeds), and the run it
through the usual `test-guest' procedure from sg-run-job: start, stop,
save/restore, local migration).

Jobs are introduced, in this series, for a Fedora19 guest and for a
Fedora20-RC1 one... PV guests, in both of the cases. I'm now adding a few words
on why I think this could be useful.

Well, first of all, the more testing the better, of course. With this respect,
Fedora updates the kernel (and that would mean the guest kernel, as far as
these test jobs are concerned) fairly often, meaning we get the chance to test
how staging does with an almost current DomU kernel, independently from what
Dom0 kernel is being used. For instance, F19 had a 3.9 when released, while it
is on 3.11.10 as of now. That's the reason why I think having a F19 test case
(right now, it'll become F20 as soon as that will be released, later in
December) could be valuable.

The reason why I also included 20-RC1 jobs is the Fedora 'DomU chriterion'. So,
long story short, the Fedora release chriteria includes this: 'The release must
boot successfully as Xen DomU with releases providing a functional, supported
Xen Dom0 and widely used cloud providers utilizing Xen' [1]. If a Fedora TC
(stands for Test Compose) or RC does not boot as a PV guest, it can't be
released. Well, for the last couple of releases Konrad and I tried to cover for
the testing necessary to assess this, and we did manage quite well. Still, it
would be really great to have this integrated in OSSTest, as that would
guarantee much more coverage and reliability, for the benefit of both Xen's and
Fedora's communities.

Add to the above the fact that, if we're scarce on test hardware, there is
really no need to run neither both nor even just one of the test cases/jobs
described above in all the flights.  It may well be enough to have the
"released" (so, the F19 one right now, the F20 one from F20 on, and so on and
so forth), like, once a week, while the TC/RC (i.e., the equivalent of the
20-RC1 jobs in this series) could be scheduled to happen only when the time of
a new Fedora releas approaches, i.e., when the TCs and RCs are actually
available!  :-)

The new jobs introduced in this series are these:

 $ sqlite3 standalone.db 'select * from jobs;' | grep fedora
  standalone|test-amd64-i386-fedora19-x86_64|test-fedora|queued
  standalone|test-amd64-i386-fedora20-RC1-x86_64|test-fedora|queued
  standalone|test-amd64-i386-fedora19-i386|test-fedora|queued
  standalone|test-amd64-i386-fedora20-RC1-i386|test-fedora|queued
  standalone|test-amd64-amd64-fedora19-x86_64|test-fedora|queued
  standalone|test-amd64-amd64-fedora20-RC1-x86_64|test-fedora|queued
  standalone|test-amd64-amd64-fedora19-i386|test-fedora|queued
  standalone|test-amd64-amd64-fedora20-RC1-i386|test-fedora|queued

(it'd be possible to include armhf jobs too, but I left this commented out for
now, as I haven't tested it).

Right now, changing the releases that we want to test, e.g., switching from
20-RC1 to 20-RC2 (when available), requires actually changing 'make-flight',
which I don't think is that sexy... This is the main reason why this series is
an RFC... IanJ, IanC, are there better ways to achieve this?

I tested this in standalone mode, e.g., via:

 ./standalone-reset
 ./sg-run-job build-amd64
 ./sg-run-job build-amd64-pvops
 ./sg-run-job test-amd64-amd64-fedora19-i386

or:

 ./standalone-reset
 ./sg-run-job build-amd64
 ./sg-run-job build-amd64-pvops
 ./sg-run-job test-amd64-amd64-fedora20-RC1-x86_64

And it all seems to have worked. :-)

The series can be pulled from the following git branch:

  git://xenbits.xen.org/people/dariof/osstest.git fedora-guest

Thanks and Regards,
Dario

[1] https://fedoraproject.org/wiki/Fedora_20_Final_Release_Criteria#Xen_DomU
---

Dario Faggioli (4):
      Introducing Osstest/Fedora.pm
      ts-fedora-install: added for installing fedora guests
      sg-run-job: Fedora guest job
      make-flight: Fedora guest tests


 Osstest.pm                |    4 +
 Osstest/Fedora.pm         |   83 ++++++++++++++++++++++
 README                    |    9 ++
 make-flight               |   19 +++++
 sg-run-job                |   11 +++
 standalone-config-example |    2 +
 ts-fedora-install         |  168 +++++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 296 insertions(+)
 create mode 100644 Osstest/Fedora.pm
 create mode 100755 ts-fedora-install

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.