From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [OSSTest PATCH [RFC] 0/4] New test case: Fedora PV guests Date: Thu, 12 Dec 2013 23:53:16 +0100 Message-ID: <20131212221933.11164.46804.stgit@Solace> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org 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 -- <> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)