From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan Harper Subject: Re: [ANNOUNCE] kvm-autotest Date: Tue, 15 Jul 2008 07:32:58 -0500 Message-ID: <20080715123258.GT4188@us.ibm.com> References: <48709B6D.6030300@qumranet.com> <20080709154357.GA6217@dmt.cnet> <4875FC00.2090205@qumranet.com> <20080712153132.GR4188@us.ibm.com> <487BFBCF.7090307@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Ryan Harper , Marcelo Tosatti , kvm@vger.kernel.org, Dror Russo To: Uri Lublin Return-path: Received: from e4.ny.us.ibm.com ([32.97.182.144]:34131 "EHLO e4.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755296AbYGOMdC (ORCPT ); Tue, 15 Jul 2008 08:33:02 -0400 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e4.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id m6FCX1kI022496 for ; Tue, 15 Jul 2008 08:33:01 -0400 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v9.0) with ESMTP id m6FCX17P206866 for ; Tue, 15 Jul 2008 08:33:01 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m6FCX0Ox010139 for ; Tue, 15 Jul 2008 08:33:01 -0400 Content-Disposition: inline In-Reply-To: <487BFBCF.7090307@qumranet.com> Sender: kvm-owner@vger.kernel.org List-ID: * Uri Lublin [2008-07-14 20:26]: > Ryan Harper wrote: > >* Uri Lublin [2008-07-10 07:42]: > >>Marcelo Tosatti wrote: > >>>On Sun, Jul 06, 2008 at 01:16:13PM +0300, Uri Lublin wrote: > >>> > >>>- As you mention, it should reuse the server/client model for running > >>> tests inside guests. I hacked up a "kvm_autotest" test that > >>> basically does: > >>> > >>>tests = ["linus_stress", "bash_shared_mapping", "rmaptest", "tsc", > >>>"scrashme", "isic", "sleeptest", "libhugetlbfs", "..."] > >>> > >>>vm.ssh.scp_to_remote(autotest_tarball, '/root') > >>>(s,o) = vm.ssh.ssh('tar zvxf kvm-autotest.tar.gz') > >>>for i in range(0, len(tests)): > >>> (s,o) = vm.ssh.ssh('kvm-autotest/client/bin/autotest ' + > >>> 'kvm-autotest/client/tests/' + tests[i] + > >>> '/control') > >>> print(o) > >>> > >>>Which poorly replicates what the client/server infrastructure already > >>>provides. IMO its a waste of time to write specialized client > >>>tests (other than virt specific ones). > >>> > >>You see guests as clients and the host as the server. > >>We were thinking of the host as a client and multi-host operations to be > >>done by a server. guest-operations would be done using ssh (for linux > >>guests) as your example above. You make a good point that we can use > >>server/client infrastructure for guest operations. As it is simpler to > >>write autotest client tests, and we thought most of the tests would be > >>run as client tests, we want to postpone the server tests and focus on > >>adding tests and guests to the matrix. > > > >It's definitely worth looking at the autotest server code/samples. > >There exists code in-tree already to build an deploy kvm via autotest > >server mode which a single machine can drive the building, installing, > >creation of guests on N number of clients, directing each guest > >image to run various autotest client tests, collecting all of the > >results. > > > >See autotest/server/samples/*kvm* > > > >A proper server setup is a little involved[1] but much more streamlined > >these days. > > > > Let's think of a guest-installation test. Would you implement it on the > server or on the client ? > What do you plan for non-linux guests ? Client side, for installation, we already have a solution that works for all types of guests: http://kvm.qumranet.com/kvmwiki/KVMTest which is already integrated as a client test in autotest. Once you record your installation via kvmtest, then it is just matter for keeping the iso and an empty disk image around and replaying the installation with -snapshot. Now, I'm actually more interested in doing the following: use kvmtest to replay an installation of a guest and instead of throwing the guest away once (running with -snapshot) it has passes the install, it is now ready to be used to execute autotest client tests or something else. > > We'll try this little exercise of writing a kvm-test on the server side and > on the client side and compare complexity. That's a bit vague, what sort of test are you talking about? If you mean installation, i'm not interested since that's been handled by KVMTest. As to complexity, I urge you to look at the existing kvm examples[2] in the autotest server dir, those look pretty darn simple to me and already include all of the infrastructure for capturing console logs, results and errors. Oh, I forgot my pointer to the server setup last time: 1. http://test.kernel.org/autotest/AutotestServerInstall 2. autotest/server/samples/kvm.srv -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com