From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH RFC OSSTEST 10/19] make-flight: Run a basic test on each arm platform Date: Mon, 27 Oct 2014 13:20:05 +0000 Message-ID: <1414416005.23883.15.camel@citrix.com> References: <1412942404.27111.12.camel@citrix.com> <1412942554-752-10-git-send-email-ian.campbell@citrix.com> <21559.60178.137137.562484@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <21559.60178.137137.562484@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Jackson Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Fri, 2014-10-10 at 15:20 +0100, Ian Jackson wrote: > Ian Campbell writes ("[PATCH RFC OSSTEST 10/19] make-flight: Run a basic test on each arm platform"): > > Unlike x86 there is enough variation in the ARM platforms that it is > > worth having a basic test on each as part of a standard run. This > > relies on each host having an appropriate equiv-$platform host flag. > > I think using equiv-* for this is not correct. > > Hosts named equiv-* are supposed to be completely identical, but we > might end up with hosts which are similar enough that they qualify for > this cross-architecture testing, and but not completely identical. > > Furthermore, using equiv-* makes it difficult to automatically search > for a list of the different board classes we would want to use. > > I would invent a new prefix. Perhaps flags like > platform-midway > etc. > > Then you could search the database > > SELECT UNIQUE platform > WHERE EXISTS host > SUCHTHAT (host,"arch-$arch") in hostflags > AND (host,"blessed-$whatever") in hostflags > etc. This was just a pseudo idea, right? Because the Internet has never heard of this EXISTS ... SUCHTHAT syntax that appeared so tantalizingly useful. I think the real answer is going to involve some exciting JOIN-s? Something like (using equiv-% as a surrogate for the currently non-existent platform-*): SELECT DISTINCT h4.hostflag FROM hostflags h1 INNER JOIN hostflags h2 ON h1.hostname = h2.hostname AND h2.hostflag = 'arch-amd64' INNER JOIN hostflags h3 ON h1.hostname = h3.hostname AND h3.hostflag = 'blessed-real' INNER JOIN hostflags h4 ON h1.hostname = h4.hostname AND h4.hostflag LIKE 'equiv-%'; which lists: equiv-rackservers-s40670 equiv-r310-moth equiv-dell-r310 equiv-rackservers-s40680 equiv-rackservers-s40679 equiv-rackservers-s40663 equiv-rackservers-q21011 Was it your intention that every machine was given a platform-* property? Or do I need to create code to handle the "everything else" case? i.e. on x86 where there is no platform do we want to retain the exact same set of jobs? Ian.