Re: giant and hammer dates

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

 



On Wed, 30 Jul 2014, Loic Dachary wrote:
> Hi Sage,
> 
> From my (biased) point of view, the upside is that it will give me more 
> time to complete the locally repairable code for Giant ;-). The downside 
> is that it puts a little less pressure to improve the tools and methods 
> that make a rapid release cycles possible (i.e. unit tests, bug 
> tracking, patch acceptance workflow, package building/gitbuilder, 
> teuthology, pulpito, upgrades testing, ...). In a perfect world Ceph 
> could sustain a three month release cycle without inconveniencing 
> anyone. A longer release cycle (five or six months) would encourage even 
> more complex / bigger changes within a release cycle. It would also 
> probably encourage Ceph developers to forget about the release process 
> tools during two or three months and not improve them as they should be.
> 
> IMHO the test cycle is significantly slowing down the release process 
> and a faster, more comprehensive test cycle would help a lot.

No argument here. :)

I should clarify that this is the "stable release cycle" for the named 
released.  I still think we should maintain a ~2 week "development release 
cycle" where we are continuously integrating changes and regularly putting 
out a usable release.  The 'next' or 'last' branches should be recent and 
stable starting points for doing any new work so that the integration 
tests, when run, will reflect bugs in your code and not stuff that was 
already there.  We've slipped a bit here (0.82 to 0.83 was 5 weeks); this 
is partly because the release process itself is still pretty expensive in 
terms of effort and we don't want to eat up more of Alfredo's and Sandon's 
time than we need to, but it is getting better.

In any case, the real point of a longer "stable release cycle" is just 
that there are fewer stable releases in flight that we are backporting 
fixes too.  In practice, having all of dumpling, emperor, and firefly 
outstanding hasn't worked particularly well (IMO).  We backport to 
dumpling and firefly and urge people away from emperor to avoid the 
cognitive overhead of keeping track of another release.  Going from 3 to 4 
months means only 3 stable releases per year, which I think is enough...?

> Each commit should be unit / functional tested within seconds, locally 
> (see 
> https://github.com/ceph/ceph/blob/master/src/test/osd/types.cc#L1295 for 
> instance). It is usually more difficult to diagnose / fix a border case 
> when it is discovered during integration tests (i.e. teuthology) rather 
> than with a unit / functional test designed for it. Creating unit tests 
> is often problematic because some of the code base cannot be easily 
> isolated. With a continuous effort to re-arrange parts of the code to be 
> more test friendly, this can eventually be resolved.
> 
> Every commit proposed to master should be run against the relevant 
> teuthology suite to help the reviewer. The problem here is that it 
> requires more resources than what Ceph currently has. Harvesting more 
> machines, making it possible for people and organizations amicable to 
> Ceph to easily donate virtual machines could probably help.

Zack is making good progress on rejiggering the way that teuthology 
separates the core task locking and task runners from the tasks themselves 
(which get versioned along with the test suite for firefly, dumpling, 
etc.).  This is all groundwork to enable the important bits, like pulling 
machine locking into a single, easy to deploy process, and plugging in 
different providers (in addition to bare metal and downburst) like 
OpenStack.  The end goal is to make teuthology much easier to deploy in 
other environments.  I'm hoping we can get to a place similar to openstack 
where organizations can hang their CI deployment off the 'upstream' 
build/CI infrastructure and supplement by running the same suites on 
different hardware or by adding their own test suites...

> This deserves a separate discussions but I wanted to expand on what I 
> meant by "test cycle" and its impact on the release cycle.

We had a discussion during the G/H CDS about doing an ephemeral 
'integration' branch to group things together for full testing by the 
teuthology test suites that you probably caught.  There was a follow-on 
internal discussion while you were gone on how to get this rolling and Sam 
is currently working on a tool to easily build an integration branch 
merging pending work on a nightly so that it can go through the tests 
before getting merged into master.  I think this will help.

We also have our first batch of new hardware ordered inside Red Hat 
(another ~130 machines) that will expand our testing throughput, and 
Sandon is working on reclaiming a lot of existing machines that aren't 
getting put to good use (burnupi) so that we can expand the size of the 
existing test pool.

Alfredo recently did some background research on what other projects are 
doing for CI and releases, and he and Sandon have some work in flight to 
move some of the bursty release builds into openstack VMs.  Unfortunately 
nobody has their full bandwidth allocated to improving the state of 
things, but I think we're making some slow progress.

sage


> 
> Cheers
> 
> On 30/07/2014 05:11, Sage Weil wrote:
> > We've talked a bit about moving to a ~4 month (instead of 3 month) 
> > cadence.  I'm still inclined in this direction because it means fewer 
> > stable releases that we will be maintaining and a longer and (hopefully) 
> > more productive interval to do real work in between.
> > 
> > The other key point is that we don't want a repeat of the firefly delay.  
> > I think we should stay as close to a train model as we can.  If something 
> > isn't ready by freeze, let it wait for the next cycle.  We shouldn't be 
> > cramming things in at the end, especially big things.  As a general rule, 
> > big things should be merged early in the cycle so that we have lots of 
> > time to shake out the issues that only come out of lots of testing and 
> > aren't obvious from code review.
> > 
> > Anyway, how about:
> > 
> >           Freeze         Approx Release
> >   Giant   Mon Sep  1     Mon Sep 29
> >   Hammer  Mon Jan  4     Mon Feb  2
> > 
> > That gives us another month for Giant, then September to shake out 
> > anything issues.  And then three full months before the Hammer freeze.
> > 
> > What say ye?
> > sage
> > --
> > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> 
> -- 
> Lo?c Dachary, Artisan Logiciel Libre
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux