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

Re: [Xen-devel] [Notes for xen summit 2018 design session] Process changes: is the 6 monthly release Cadence too short, Security Process, ...




On 03/07/2018, 07:26, "Juergen Gross" <jgross@xxxxxxxx> wrote:
    On 02/07/18 20:03, Lars Kurth wrote:
    > We then had a discussion around why the positive benefits didn't 
materialize:
    > * Andrew and a few other believe that the model isn't broken, but that 
the issue is with how we 
    >   develop. In other words, moving to a 9 months model will *not* fix the 
underlying issues, but 
    >   merely provide an incentive not to fix them.
    
    Keeping the 6 month schedule still leads to a substantial burden for
    managing the stable releases.

That is true, which is why there was a discussion about maybe treating even/odd 
releases differently and other models were discussed (see below). But that of 
course has an impact on down streams and vendors.
    
    > * Issues highlighted were:
    >   * 2-3 months stabilizing period is too long
    
    I absolutely agree.

Could we try and establish a list for the underlying reasons. Issues with 
OSSTEST appears to be one of the reasons, but this may not be the only one.
    
    >   * Too much start/stop of development - we should branch earlier (we 
mainly do this on the last 
    >     RC now). The serial period of development has essentially become too 
short. *Everyone* in the 
    >     room agreed that fixing this, is the *most important issue*.
    
    While I'm really in favor of branching early I fear that this will even
    raise the burden on some few developers who need to backport fixes to
    the just branched off release candidate. An approach to solve this would
    be to accept a development patch only in case it is accompanied by the
    release backport.
    
    >   * Testing (aka OSSTEST) and CI automation is too fragile and we are too 
slow. Do we need another
    >     way of smoke testing which acts as a filter to OSSTEST and reduces 
the number of issues that 
    >     block everyone - also see the Gitlab discussion 
    >     
(https://lists.xenproject.org/archives/html/xen-devel/2018-07/threads.html#00126)
    >     Also, we could do testing using QEMU for most cases which are not 
hardware specific for faster 
    >     turnaround as ViryaOS is planning on doing. This is slow, but can be 
offloaded into the cloud
    >     and could be triggered before a patch hits staging. Doug indicated he 
could help get the needed 
    >     capacity for free.
    
    I really like automatic testing, but OSSTEST has its problems.

The GitLab discussion was really interesting. Looking at OSSTEST, it basically 
performs build test and integration tests on Hardware. Whereas all these are 
needed, build testing and testing of functionality that does not depend on 
hardware could be done earlier. The ghist of the GitLab discussion was to 
"move" build testing - and possibly some basic integration testing - to the 
point of submitting a patch. The basic flow is:
* Someone posts a patch to the list => this will start the GitLab machinery 
* The Gitlab machinery will do build tests (and the discussion showed that we 
should be able to do this via cross compilation or compilation on a real system 
if a service such as infosifter is used - @Matt: I can't find the company via 
Google, maybe the spelling in the minutes is wrong)
* This could eventually include a basic set of smoke tests that are system 
independent and could run under QEMU - Doug already uses a basic test where a 
xen host and/or VM is started 
* If it fails, a mail is sent in reply to the patch submission by a bot - that 
piece has been developed by Intel for QEMU and Linux and could be re-used

This would free up time by reviewers and also leads to issues found earlier. In 
other words, OSSTEST would merely re-test what had been tested earlier and 
would focus on testing on real hardware. Thus, OSSTEST failures should become 
less likely. But obviously implementing such a system, even though all the 
pieces for it exist, will take some time.

Another interesting piece of information is that OpenXT started looking at 
OSSTEST, but is now not going down this route. Maybe Rich can expand. 
    
    A major source of the pain seems to be the hardware: About half of all
    cases where I looked into the test reports to find the reason for a
    failing test flight were related to hardware failures. Not sure how to
    solve that.

This is worrying and I would like to get Ian Jackson's viewpoint on it. 
    
    Another potential problems showed up last week: OSSTEST is using the
    Debian servers for doing the basic installation. A change there (e.g.
    a new point release) will block tests. I'd prefer to have a local cache
    of the last known good set of *.deb files to be used especially for the
    branched Xen versions. This would rule out remote problems for releases.

This is again something which we should definitely look at.
    
    >   * Testing for end-users is too hard: we should not require them to 
build Xen - again with GitLab 
    >     as per previous discussion we could deliver unsigned RPMs and Debug 
Builds for testing. If we 
    >     were able to do this, this should help 
    >  
    > Then there was a discussion on how we could make more downstreams 
coalesce around the same Xen 
    > releases. This discussion was driven by Doug G, but we didn't come to a 
conclusion. If we were 
    > able to do this, we could introduce a model similarly to Debian, were 
downstreams could pull 
    > together and fund a longer support period for a Xen version which the 
majority of downstreams 
    > use, without impacting the stable release maintainer. 
    >  
    > Doug mentioned to me afterwards, that there is a Xen Slack channel for 
distros which is very 
    > active, where we could test this idea.
    >  
    > Another approach would be to follow a model as the Wayland and X11 
communities do, which have 
    > different support periods for odd and even releases. They use the 
odd-unstable/even-stable style 
    > of versioning. This may be worth investigating further.
    
    I believe just leaving out every second release (i.e. doing one release
    per year) is a rough equivalent for that with less overhead.

Well, yes and no. A longer development cycle leads to less discipline and thus 
longer stabilization periods, at least according to theory. I think for now, we 
should park this and collect more information on why the stabilisation period 
is so long and on OSSTEST and improving CI capability. All these activities 
benefit the release process whatever the length.
    
    > Lars noted that I may make sense to arrange a community call to make more 
progress on this discussion.
    
    Yes, please. I'd like to know how to do the next release. :-)

Until we decide on a different way forward, the default assumption would be 
that we stick with what we have. I am wondering, whether we should use 30 
minutes in the upcoming community call (next week) to discuss the Release cycle 
(in particular for the next release). A lot of progress was made on most of the 
blocked feature work at the summit, so I think covering the release model 
should be OK.

Regards
Lars


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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