Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-27 Thread James E. Blair
Stefano Maffulli  writes:

> In any case, since Sean said that nova (and other projects) already
> remove unmergeable changesets regularly, I think the data are already
> "clean enough" to give us food for thoughts.

I am asking you to please independently remove changes that you don't
think should be considered from your metrics.  If you rely on Sean or
others to abandon changes, then you are, in essence, relying on core
reviewers abandoning changes for the purposes of providing "clean" (as
you put it) input to a metrics system.

I think abandoning changes so that the metrics look the way we want is a
terrible experience for contributors.

Especially as it appears some projects, such as nova, are in a position
where they are actually leaving -2 votes on changes which will not be
lifted for 2 or 3 months.  That means that if someone runs a script like
Sean's, these changes will be abandoned, yet there is nothing that the
submitter can do to progress the change in the mean time.  Abandoning
such a review is making an already bad experience for contributors even
worse.

-Jim

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-27 Thread Stefano Maffulli
On Thu, 2015-02-26 at 16:44 -0800, James E. Blair wrote:
> It is good to recognize the impact of this, however, I would suggest
> that if having open changes that are not "actively being worked" is a
> problem for statistics,

I don't think it's a problem for the statistics per se. The reports are
only a tool to analyze complex phenomenons and translate them into
manageable items. In fact, we keep adding more stats as we go because
every chart and table leaves us with more questions.

>  let's change the statistics calculation.  Please do not abandon the
> work of contributors to improve the appearance of
> these metrics.  Instead, simply decide what criteria you think should
> apply and exclude those changes from your calculations.

I'm currently thinking that it would be informative to plot the
distribution of the efficiency metrics, instead of simply come up with a
filter to ignore long standing changes with slow/null activity over some
arbitrary amount of time. I think it would be more interesting to see
how many 'inactive' vs 'active' there are at a given time.

In any case, since Sean said that nova (and other projects) already
remove unmergeable changesets regularly, I think the data are already
"clean enough" to give us food for thoughts.

Why owners seem to be getting slower and slower to provide new patches,
despite the fact that the number of patches per changeset is fairly
stable? I'll look into the data more carefully with Daniel Izquierdo as
I think there are huge outliers skewing the data (the diff between
median and average is huge).

/stef


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-27 Thread Kyle Mestery
On Fri, Feb 27, 2015 at 4:02 AM, Daniel P. Berrange 
wrote:

> On Fri, Feb 27, 2015 at 09:51:34AM +1100, Michael Still wrote:
> > On Fri, Feb 27, 2015 at 9:41 AM, Stefano Maffulli 
> wrote:
> >
> > > Does it make sense to purge old stuff regularly so we have a better
> > > overview? Or maybe we should chart a distribution of age of proposed
> > > changesets, too in order to get a better understanding of where the
> > > outliers are?
> >
> > Given the abandon of a review isn't binding (a proposer can easily
> > unabandon), I do think we should abandon more than we do now. The
> > problem at the moment being that its a manual process which isn't much
> > fun for the person doing the work.
> >
> > Another factor to consider here is that abandoned patches against bugs
> > make the bug look like someone is working on a fix, which probably
> > isn't the case.
> >
> > Nova has been trying some very specific things to try and address
> > these issues, and I think we're improving. Those things are:
> >
> > * specs
> > * priority features
>
> This increased level of process in Nova has actually made the negative
> effects of the 6 month cycle noticably worse on balance. If you aren't
> able to propose your feature in the right window of the dev cycle your
> chances of getting stuff merged has gone down significantly and the time
> before users are likely to see your feature has correspondingly gone up.
> Previously people could come along with simple features at the end of
> the cycle and we had the flexibility to be pragmmatic and review and
> approve them. Now we're lacking them that ability even if we have the
> spare review cycles to consider it. The processes adopted have merely
> made us more efficient at disappointing contributors earlier in the
> cycle. There's been no changes made that would  solve the bigger problem
> of the fact that Nova is far too large vs the size of the core review
> team, so we have a ongoing major bottleneck in our development. That,
> bottleneck combined with the length of the 6 month cycle is an ongoing
> disaster for our contributors.
>
> This is part of the reason we have moved to split Neutron into smaller,
bite-sized chunk repositories with sometimes overlapping core reviewer
teams. It's also why we're spinning out the backend logic from in-tree
drivers and plugins to allow faster iteration for the maintainers. Early
evidence indicates this has been succesful, we'll see how it looks once we
get into the Liberty development cycle.

For a bit more context, you can see the blog I wrote on this [1].

Thanks,
Kyle

[1]
http://www.siliconloons.com/posts/2015-02-26-scaling-openstack-neutron-development/

Regards,
> Daniel
> --
> |: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/
> :|
> |: http://libvirt.org  -o- http://virt-manager.org
> :|
> |: http://autobuild.org   -o- http://search.cpan.org/~danberr/
> :|
> |: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc
> :|
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-27 Thread Sean Dague
On 02/26/2015 05:41 PM, Stefano Maffulli wrote:
> On Thu, 2015-02-26 at 15:58 -0600, Kevin L. Mitchell wrote:
>> One thing that comes to mind is that there are a lot of reviews that
>> appear to have been abandoned; I just cleared several from the
>> novaclient review queue (or commented on them to see if they were still
>> alive).  I also know of a few novaclient changes that are waiting for
>> corresponding nova changes before they can be merged.  Could these be
>> introducing a skew factor?
> 
> Maybe, depending on how many they are and how old are we talking about.
> How much cruft is there? Maybe the fact that we don't autoabandon
> anymore is a relevant factor?
> 
> Looking at Nova time to merge (not the client, since clients are not
> analyzed individually), the median is over 10 days (the mean wait is
> 29). But if you look at the trends of time to way for reviewers, they've
> been trending down for 3 quarters in a row (both, average and median)
> while time to wait for submitter is trending up.
> 
> http://git.openstack.org/cgit/openstack-infra/activity-board/plain/reports/2014-q4/pdf/projects/nova.pdf
> 
> Does it make sense to purge old stuff regularly so we have a better
> overview? Or maybe we should chart a distribution of age of proposed
> changesets, too in order to get a better understanding of where the
> outliers are?

We already purge old stuff that's unmergable (no activity in > 4 weeks
with either a core -2 or Jenkins -1). The last purge was about 4 weeks
ago. So effectively abandoned code isn't in the system.

The merge conflict detector will also mean that all patches eventually
get a Jenkins -1 if they aren't maintained. So you should consider
everything in the system active for some definition.

-Sean

-- 
Sean Dague
http://dague.net

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-27 Thread Daniel P. Berrange
On Fri, Feb 27, 2015 at 09:51:34AM +1100, Michael Still wrote:
> On Fri, Feb 27, 2015 at 9:41 AM, Stefano Maffulli  
> wrote:
> 
> > Does it make sense to purge old stuff regularly so we have a better
> > overview? Or maybe we should chart a distribution of age of proposed
> > changesets, too in order to get a better understanding of where the
> > outliers are?
> 
> Given the abandon of a review isn't binding (a proposer can easily
> unabandon), I do think we should abandon more than we do now. The
> problem at the moment being that its a manual process which isn't much
> fun for the person doing the work.
> 
> Another factor to consider here is that abandoned patches against bugs
> make the bug look like someone is working on a fix, which probably
> isn't the case.
> 
> Nova has been trying some very specific things to try and address
> these issues, and I think we're improving. Those things are:
> 
> * specs
> * priority features

This increased level of process in Nova has actually made the negative
effects of the 6 month cycle noticably worse on balance. If you aren't
able to propose your feature in the right window of the dev cycle your
chances of getting stuff merged has gone down significantly and the time
before users are likely to see your feature has correspondingly gone up.
Previously people could come along with simple features at the end of
the cycle and we had the flexibility to be pragmmatic and review and
approve them. Now we're lacking them that ability even if we have the
spare review cycles to consider it. The processes adopted have merely
made us more efficient at disappointing contributors earlier in the
cycle. There's been no changes made that would  solve the bigger problem
of the fact that Nova is far too large vs the size of the core review
team, so we have a ongoing major bottleneck in our development. That,
bottleneck combined with the length of the 6 month cycle is an ongoing
disaster for our contributors.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-26 Thread James E. Blair
Stefano Maffulli  writes:

> On Thu, 2015-02-26 at 15:58 -0600, Kevin L. Mitchell wrote:
>> One thing that comes to mind is that there are a lot of reviews that
>> appear to have been abandoned; I just cleared several from the
>> novaclient review queue (or commented on them to see if they were still
>> alive).  I also know of a few novaclient changes that are waiting for
>> corresponding nova changes before they can be merged.  Could these be
>> introducing a skew factor?
>
> Maybe, depending on how many they are and how old are we talking about.
> How much cruft is there? Maybe the fact that we don't autoabandon
> anymore is a relevant factor?
>
> Looking at Nova time to merge (not the client, since clients are not
> analyzed individually), the median is over 10 days (the mean wait is
> 29). But if you look at the trends of time to way for reviewers, they've
> been trending down for 3 quarters in a row (both, average and median)
> while time to wait for submitter is trending up.
>
> http://git.openstack.org/cgit/openstack-infra/activity-board/plain/reports/2014-q4/pdf/projects/nova.pdf
>
> Does it make sense to purge old stuff regularly so we have a better
> overview? Or maybe we should chart a distribution of age of proposed
> changesets, too in order to get a better understanding of where the
> outliers are?

It is good to recognize the impact of this, however, I would suggest
that if having open changes that are not "actively being worked" is a
problem for statistics, let's change the statistics calculation.  Please
do not abandon the work of contributors to improve the appearance of
these metrics.  Instead, simply decide what criteria you think should
apply and exclude those changes from your calculations.

-Jim

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-26 Thread Michael Still
On Fri, Feb 27, 2015 at 9:41 AM, Stefano Maffulli  wrote:

> Does it make sense to purge old stuff regularly so we have a better
> overview? Or maybe we should chart a distribution of age of proposed
> changesets, too in order to get a better understanding of where the
> outliers are?

Given the abandon of a review isn't binding (a proposer can easily
unabandon), I do think we should abandon more than we do now. The
problem at the moment being that its a manual process which isn't much
fun for the person doing the work.

Another factor to consider here is that abandoned patches against bugs
make the bug look like someone is working on a fix, which probably
isn't the case.

Nova has been trying some very specific things to try and address
these issues, and I think we're improving. Those things are:

* specs
* priority features
* trivial patch monkeying

We will continue to seek further ways to improve our throughput.

Michael

-- 
Rackspace Australia

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-26 Thread Stefano Maffulli
On Thu, 2015-02-26 at 14:18 -0600, Anne Gentle wrote:
> Do the features listed in the Release Notes each have appropriate
> documentation? So far we just link to the specifications for nova, for
> example. [1] So to me, it could be a focus on the specification
> acceptance means less time/energy for the actual user-facing docs.
> 
Great question. I have no idea of how we can correlate blueprints/specs
completed and the existence of accompanying doc. The tool we have now
scans git repositories and launchpad (will soon scan storyboard, too):
what data is in there that this tool can use to guess documentation
coverage?

Happy to brainstorm this with you and Bitergia's Jesus and Daniel as
they may have ideas.

/stef



__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-26 Thread Stefano Maffulli
On Thu, 2015-02-26 at 15:58 -0600, Kevin L. Mitchell wrote:
> One thing that comes to mind is that there are a lot of reviews that
> appear to have been abandoned; I just cleared several from the
> novaclient review queue (or commented on them to see if they were still
> alive).  I also know of a few novaclient changes that are waiting for
> corresponding nova changes before they can be merged.  Could these be
> introducing a skew factor?

Maybe, depending on how many they are and how old are we talking about.
How much cruft is there? Maybe the fact that we don't autoabandon
anymore is a relevant factor?

Looking at Nova time to merge (not the client, since clients are not
analyzed individually), the median is over 10 days (the mean wait is
29). But if you look at the trends of time to way for reviewers, they've
been trending down for 3 quarters in a row (both, average and median)
while time to wait for submitter is trending up.

http://git.openstack.org/cgit/openstack-infra/activity-board/plain/reports/2014-q4/pdf/projects/nova.pdf

Does it make sense to purge old stuff regularly so we have a better
overview? Or maybe we should chart a distribution of age of proposed
changesets, too in order to get a better understanding of where the
outliers are?

/stef


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-26 Thread Kevin L. Mitchell
On Thu, 2015-02-26 at 11:45 -0800, Stefano Maffulli wrote:
> The interesting bit of those charts is that overall for OpenStack
> projects, it seems that the reviews (comments to patchsets) are arriving
> quite quickly but the new patchsets take a lot more to be submitted. 
> 
> Too much debating and commenting over each patch? Or are the
> authors/owners of the changeset slow to respond with new patches? I
> don't have an answer. I'd be happy to look at the data with other
> people.

One thing that comes to mind is that there are a lot of reviews that
appear to have been abandoned; I just cleared several from the
novaclient review queue (or commented on them to see if they were still
alive).  I also know of a few novaclient changes that are waiting for
corresponding nova changes before they can be merged.  Could these be
introducing a skew factor?
-- 
Kevin L. Mitchell 
Rackspace


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-26 Thread Ed Leafe
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 02/26/2015 01:45 PM, Stefano Maffulli wrote:

> The interesting bit of those charts is that overall for OpenStack
> projects, it seems that the reviews (comments to patchsets) are arriving
> quite quickly but the new patchsets take a lot more to be submitted. 
> 
> Too much debating and commenting over each patch? Or are the
> authors/owners of the changeset slow to respond with new patches? I
> don't have an answer. I'd be happy to look at the data with other
> people.

I would think that the expansion of the spec requirements is a major
contributor to this trend. Much of the debate that used to happen with
patch sets now happens on the spec, which delays the first submission of
a patch, and shortens the time for review, since reviewers are already
familiar with the changes being proposed.

- -- Ed Leafe
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.14 (GNU/Linux)

iQIcBAEBAgAGBQJU74gVAAoJEKMgtcocwZqLKqMP/iW63bOpu64iCV+cTwwUbO1f
IK2Jou+W8zFXjKaK2Q6q0sU5nN0RlgJOXVuKxdZk1VQZknkUm3S53/JxCJPWEanp
RLavJZUNnWmmxYoFcmSIx3gCi1idunEZUSHIKy/QQ1P9BCiej1szSskqP2BxTxBo
tqLCCVtRKcmH+U4zvjyuNhJhRoZiPyOiPtxg1vS9VqEK3hyxTtt4QPI0TfxL3cGC
yZPhE15R/rnWErgJx4mD9Orz8eUlUrqctDQxd/+XXobj9WiyUxjqBtW3/vOVJTcU
AtwgLvsiXKmHPBGXST09Ow3Ab5wWjxq3GvAXTKLtiu7xjkWuKK2KuLxJeS3r0yOs
HC6QdoZO6tytbhLRFEwIn98rfm63i5wWuL0GBRPxBW+HOnEcBm87L1Se8gPl9paD
clT4OIwabzoZNyyIeTaSWukxEeVA9EEhssyctlFFQlqoRRmyWdfUwC8I/v/z0UF8
q4T7XpRyuCVuqEO23LSRW5U74sfiaffJ3YhMNhVUfY9ECOSRpzMHt6GJbvnvzS8c
ug4VbNl7y06BXpPznukD42S7E2+uUjkbxPViN3BLDfmrKPb8G236fQY+6I+YTeyP
rWl6ZW0ArZOrYNcNyZ3zBwV3cjvJcxQdBkJwr4zkq4jg/fCcrNeYZKjxJbWYh3tz
HTBhA6Eaoim9n7bjba4M
=6Psn
-END PGP SIGNATURE-

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-26 Thread Anne Gentle
On Thu, Feb 26, 2015 at 1:45 PM, Stefano Maffulli 
wrote:

> On Wed, 2015-02-25 at 21:15 +, Ian Cordasco wrote:
> > I read it the same was as Doug. I don’t think Jeremy was trying to
> > imply your reviews would move through more quickly if you reviewed
> > other people’s work. Just that, as with most open source projects,
> > there’s always at least 2 distinct groups: people who push code more
> > often and people who review code more often.
>
> this conversation reminded me that the median time to merge new code has
> been increasing every quarter in the past year, but dropped for the
> first time during last quarter (table and chart on page 23 of Q4
> quarterly report [1]). The mean number of iterations (patchsets) per
> proposed change has also decreased for the first time in Q4 2014.
>
> The interesting bit of those charts is that overall for OpenStack
> projects, it seems that the reviews (comments to patchsets) are arriving
> quite quickly but the new patchsets take a lot more to be submitted.
>
> Too much debating and commenting over each patch? Or are the
> authors/owners of the changeset slow to respond with new patches? I
> don't have an answer. I'd be happy to look at the data with other
> people.
>
> I think more analysis is needed before we can identify and remove the
> problem.
>
> /Stef
>
>  [1]
>
> http://git.openstack.org/cgit/openstack-infra/activity-board/plain/reports/2014-q4/pdf/2014-q4_OpenStack_report.pdf
> The analysis doesn't count the *-specs repositories, only code and docs.
>
>
Thanks for the analysis Stef. One additional analysis I would like to see
is this:

Do the features listed in the Release Notes each have appropriate
documentation? So far we just link to the specifications for nova, for
example. [1] So to me, it could be a focus on the specification acceptance
means less time/energy for the actual user-facing docs.

What could I do to analyze and correlate the feature completeness to doc
completeness? A desire to release docs with code is great but we don't seem
to be doing so in the way that I define docs being done.

I've worked with Agile teams in the past, and you have to put your
definition of done for docs in with the code. Often times, it's "release
notes only" in the definition of done. So I think we're working at that
level of "done" for docs, instead of "end user docs complete" or "API docs
complete" or "config docs complete" or "administration documented" as the
marker of complete for release.

We've seen with the python-clients that the docs are very much
complained about. The release cadence doesn't really give docs a chance to
do anything but scrape the help text to automate a collection of
information about each command in the CLI Reference. [2] That's one
solution but one that serves speed rather than quality. Users tell me
they'd prefer to have commands for use cases and scenarios in the docs,
which is closer to our End User Guide. [3] But even the End User Guide
could be improved by showing examples of what's returned for each command.
We've only got about 10% coverage there.

We're doing everything we can to make it easier to contribute to docs by
migrating to RST,[4] so let's please consider an energy transfer from specs
acceptance to end-user docs, especially during feature freeze time.

Kept meaning to note the difficulties for docs on the other thread, but
Stef's email reminds me we need more analysis as well.
Thanks,
Anne

1.
https://wiki.openstack.org/wiki/ReleaseNotes/Juno#OpenStack_Compute_.28Nova.29
2. http://docs.openstack.org/cli-reference/content/
3. http://docs.openstack.org/user-guide/content/
4. http://justwriteclick.com/2015/02/23/state-of-the-migration-to-sphinxrst/


> PS The analysis of the individual projects are in their own pdf
>
> http://git.openstack.org/cgit/openstack-infra/activity-board/tree/reports/2014-q4/pdf/projects
>
>
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 
Anne Gentle
annegen...@justwriteclick.com
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle [metrics]

2015-02-26 Thread Stefano Maffulli
On Wed, 2015-02-25 at 21:15 +, Ian Cordasco wrote:
> I read it the same was as Doug. I don’t think Jeremy was trying to
> imply your reviews would move through more quickly if you reviewed
> other people’s work. Just that, as with most open source projects,
> there’s always at least 2 distinct groups: people who push code more
> often and people who review code more often. 

this conversation reminded me that the median time to merge new code has
been increasing every quarter in the past year, but dropped for the
first time during last quarter (table and chart on page 23 of Q4
quarterly report [1]). The mean number of iterations (patchsets) per
proposed change has also decreased for the first time in Q4 2014.

The interesting bit of those charts is that overall for OpenStack
projects, it seems that the reviews (comments to patchsets) are arriving
quite quickly but the new patchsets take a lot more to be submitted. 

Too much debating and commenting over each patch? Or are the
authors/owners of the changeset slow to respond with new patches? I
don't have an answer. I'd be happy to look at the data with other
people.

I think more analysis is needed before we can identify and remove the
problem.

/Stef

 [1]
http://git.openstack.org/cgit/openstack-infra/activity-board/plain/reports/2014-q4/pdf/2014-q4_OpenStack_report.pdf
The analysis doesn't count the *-specs repositories, only code and docs.

PS The analysis of the individual projects are in their own pdf
http://git.openstack.org/cgit/openstack-infra/activity-board/tree/reports/2014-q4/pdf/projects



__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-25 Thread Ian Cordasco
On 2/25/15, 14:41, "Doug Hellmann"  wrote:

>
>
>On Wed, Feb 25, 2015, at 12:35 PM, Johannes Erdfelt wrote:
>> On Tue, Feb 24, 2015, Jeremy Stanley  wrote:
>> > On 2015-02-24 10:00:51 -0800 (-0800), Johannes Erdfelt wrote:
>> > [...]
>> > > Recently, I have spent a lot more time waiting on reviews than I
>> > > have spent writing the actual code.
>> > 
>> > That's awesome, assuming what you mean here is that you've spent
>> > more time reviewing submitted code than writing more. That's where
>> > we're all falling down as a project and should be doing better, so I
>> > applaud your efforts in this area.
>> 
>> I think I understand what you're trying to do here, but to be clear, are
>> you saying that I only have myself to blame for how long it takes to
>> get code merged nowadays?
>
>I read that as a reminder that we are all collaborators, and that
>working together is more effective and less frustrating than not working
>together. So while you wait, look at some other contributions and
>provide feedback. Others will do the same for your patches. Reviewed
>patches improve and land faster. We all win.
>
>Doug

I read it the same was as Doug. I don’t think Jeremy was trying to imply
your reviews would move through more quickly if you reviewed other
people’s work. Just that, as with most open source projects, there’s
always at least 2 distinct groups: people who push code more often and
people who review code more often. I think Jeremy took your comments to
mean that you were reviewing code more often than you were pushing it and
was thanking you for helping review outstanding changes. Reviews in
general are hard to come by on some projects, really good reviews even
harder. All reviews help make the project better.

Cheers,
Ian

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-25 Thread Doug Hellmann


On Wed, Feb 25, 2015, at 12:35 PM, Johannes Erdfelt wrote:
> On Tue, Feb 24, 2015, Jeremy Stanley  wrote:
> > On 2015-02-24 10:00:51 -0800 (-0800), Johannes Erdfelt wrote:
> > [...]
> > > Recently, I have spent a lot more time waiting on reviews than I
> > > have spent writing the actual code.
> > 
> > That's awesome, assuming what you mean here is that you've spent
> > more time reviewing submitted code than writing more. That's where
> > we're all falling down as a project and should be doing better, so I
> > applaud your efforts in this area.
> 
> I think I understand what you're trying to do here, but to be clear, are
> you saying that I only have myself to blame for how long it takes to
> get code merged nowadays?

I read that as a reminder that we are all collaborators, and that
working together is more effective and less frustrating than not working
together. So while you wait, look at some other contributions and
provide feedback. Others will do the same for your patches. Reviewed
patches improve and land faster. We all win.

Doug

> 
> JE
> 
> 
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe:
> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-25 Thread Johannes Erdfelt
On Tue, Feb 24, 2015, Jeremy Stanley  wrote:
> On 2015-02-24 10:00:51 -0800 (-0800), Johannes Erdfelt wrote:
> [...]
> > Recently, I have spent a lot more time waiting on reviews than I
> > have spent writing the actual code.
> 
> That's awesome, assuming what you mean here is that you've spent
> more time reviewing submitted code than writing more. That's where
> we're all falling down as a project and should be doing better, so I
> applaud your efforts in this area.

I think I understand what you're trying to do here, but to be clear, are
you saying that I only have myself to blame for how long it takes to
get code merged nowadays?

JE


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-25 Thread Jeremy Stanley
On 2015-02-24 22:06:32 -0600 (-0600), Chris Friesen wrote:
[...]
> Taking it as a dig, sometimes people just have their one itch to
> scratch and the rest of the project is "good enough" for them, and
> I think that's actually okay.

Not intended as a dig at anyone... just a subtle reminder that there
are other things that can be done besides "waiting for someone else
to review contributions," and some of those things can even actively
improve the situation. Otherwise it's sort of like going on vacation
and complaining there are too many tourists.
-- 
Jeremy Stanley

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Chris Friesen

On 02/24/2015 05:46 PM, Jeremy Stanley wrote:

On 2015-02-24 10:00:51 -0800 (-0800), Johannes Erdfelt wrote:
[...]

Recently, I have spent a lot more time waiting on reviews than I
have spent writing the actual code.


That's awesome, assuming what you mean here is that you've spent
more time reviewing submitted code than writing more. That's where
we're all falling down as a project and should be doing better, so I
applaud your efforts in this area.


I can't tell if your statement should be taken at face value, or is a subtle dig 
indicating that everyone should be reviewing other people's code rather than 
writing more of their own.


Taking it at face value, I interpret him to mean that he has some features that 
he would like to submit, and they're blocked waiting for core reviewers.  I've 
gone through that myself--it can take a long time to get meaningful feedback, 
much longer than I've experienced in other open-source projects.


Taking it as a dig, sometimes people just have their one itch to scratch and the 
rest of the project is "good enough" for them, and I think that's actually okay.


Chris

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Jeremy Stanley
On 2015-02-24 10:00:51 -0800 (-0800), Johannes Erdfelt wrote:
[...]
> Recently, I have spent a lot more time waiting on reviews than I
> have spent writing the actual code.

That's awesome, assuming what you mean here is that you've spent
more time reviewing submitted code than writing more. That's where
we're all falling down as a project and should be doing better, so I
applaud your efforts in this area.
-- 
Jeremy Stanley

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Zane Bitter

On 23/02/15 19:14, Joe Gordon wrote:

Was:
http://lists.openstack.org/pipermail/openstack-dev/2015-February/057578.html

There has been frustration with our current 6 month development cadence.
This is an attempt to explain those frustrations and propose a very
rough outline of a possible alternative.


Currently we follow a 6 month release cadence, with 3 intermediate
milestones (6 weeks apart), as explained here:
https://wiki.openstack.org/wiki/Kilo_Release_Schedule


Current issues

  * 3 weeks of feature freeze for all projects at the end of each cycle
(3 out of the 26 feature blocked)
  * 3 weeks of release candidates. Once a candidate is cut development
is open for next release. While this is good in theory, not much
work actually starts on next release.
  * some projects have non priority feature freezes and at Milestone 2
(so 9 out of 26 weeks restricted in those projects)
  * vicious development circle
  o vicious circle:
  + big push right to land lots of features right before the release
  + a lot of effort is spent getting the release ready
  + after the release people are a little burnt out and take it
easy until the next summit
  + Blueprints have to be re-discussed and re-approved for the
next cycle


I'm sure there's a good reason for this one that I'm not aware of, but 
it certainly sounds a lot like declaring a war of attrition against a 
project's own contributors.


If core teams think that a design that they previously approved needs to 
change because of other changes _they_ approved in the previous release 
cycle or a decision _they_ made during the design summit, the onus 
should be on _them_ to actively make the change (even if that's as 
simple as proposing a patch deleting *a* previously-approved spec - not 
the whole lot en masse). To delete everything by default and force the 
contributor to get it reapproved is tantamount to handing them a shovel 
and forcing them to shift the goalposts themselves. It's flirting with 
the line between poor policy and outright evil.



  + makes it hard to land blueprints early in the cycle casing
the bug rush at the end of the cycle, see step 1
  o Makes it hard to plan things across a release
  o This actually destabilizes things right as we go into the
stabilization period (We actually have great data on this too)
  o Means postponing blueprints that miss a deadline several months


I'm yet to be convinced by the solution offered here, but I do think 
this is a fairly accurate description of the problem. I always tell 
folks that if you want big features to land in the next release, you 
have to start working on them as soon as you can finish up on any 
release blockers and well before Summit. Mostly that month feels like 
dead time, though.


Sometimes I daydream about what it would be like if we had the design 
summit a few weeks _before_ the release instead of after. Usually I snap 
out of it when I remember the downsides, like having developers under 
pressure to fix bugs at the same time as the design summit, or not 
having a shiny new release to trumpet at the conference, or everyone 
getting excited about new feature discussions and not working on urgent 
bugs when they get back. Still, I keep thinking about it...


cheers,
Zane.

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Ed Leafe
On Feb 24, 2015, at 1:50 PM, Joe Gordon  wrote:

>> I think the release candidate
>> period is the only thing that makes your code drops actually usable.
>> It's the only moment in the cycle where integrators test. It's the only
>> moment in the cycle where developers work on bugs they did not file
>> themselves, but focus on a project-wide priority list of release
>> blockers. If you remove that period, then nobody will ever work on
>> release blockers that do not directly affect them. Shorten that period
>> to one week, and no integrator will have the time to run a proper QA
>> program to detect those release blockers.
> 
> I still think the 3 week RC candidate cycle needs to happen, the difference 
> is it would be done by stable maintenance. And I agree, the RC candidate 
> period is one of the few moments where developers work on bugs they did not 
> file themselves. So I am not sure how this would actually work.  Perhaps the 
> answer is we have deeper issues if we don't want to fix bugs until the last 
> minute.

I like the notion that there isn't an overall release that all development is 
tied to, but that at some more or less regular interval, a new stable "release" 
is cut, and intense integration testing is done on that, with bug fixes as 
needed. But how to get developers who are intent on coding their new features 
to hold off and work on fixing bugs identified by the stable testing is a big 
question mark to me.


-- Ed Leafe







signature.asc
Description: Message signed with OpenPGP using GPGMail
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Joe Gordon
On Tue, Feb 24, 2015 at 2:59 AM, Daniel P. Berrange 
wrote:

> On Mon, Feb 23, 2015 at 04:14:36PM -0800, Joe Gordon wrote:
> > Was:
> >
> http://lists.openstack.org/pipermail/openstack-dev/2015-February/057578.html
> >
> > There has been frustration with our current 6 month development cadence.
> > This is an attempt to explain those frustrations and propose a very rough
> > outline of a possible alternative.
> >
> >
> > Currently we follow a 6 month release cadence, with 3 intermediate
> > milestones (6 weeks apart), as explained here:
> > https://wiki.openstack.org/wiki/Kilo_Release_Schedule
> >
> >
> > Current issues
> >
> >- 3 weeks of feature freeze for all projects at the end of each cycle
> (3
> >out of the 26 feature blocked)
> >- 3 weeks of release candidates. Once a candidate is cut development
> is
> >open for next release. While this is good in theory, not much work
> actually
> >starts on next release.
> >- some projects have non priority feature freezes and at Milestone 2
> (so
> >9 out of 26 weeks restricted in those projects)
> >- vicious development circle
> >   - vicious circle:
> >  - big push right to land lots of features right before the
> release
> >  - a lot of effort is spent getting the release ready
> >  - after the release people are a little burnt out and take it
> easy
> >  until the next summit
> >  - Blueprints have to be re-discussed and re-approved for the
> next
> >  cycle
> >  - makes it hard to land blueprints early in the cycle casing the
> >  bug rush at the end of the cycle, see step 1
> >   - Makes it hard to plan things across a release
> >   - This actually destabilizes things right as we go into the
> >   stabilization period (We actually have great data on this too)
> >   - Means postponing blueprints that miss a deadline several months
> >
> >
> > Requirements for a new model
> >
> >- Keep 6 month release cadence. Not everyone is willing to deploy from
> >trunk
> >- Keep stable branches for at least 6 months. In order to test
> upgrades
> >from the last stable branch, we need a stable branch to test against
> >- Keep supporting continuous deployment. Some people really want to
> >deploy from trunk
> >
> >
> > What We can drop
> >
> >- While we need to keep releasing a stable branch every 6 months, we
> >don't have to do all of our development planning around it. We can
> treat it
> >as just another milestone
> >
> >
> > I think a lot of the frustration with our current cadence comes out of
> the
> > big stop everything (development, planning etc.), and stabilize the
> release
> > process. Which in turn isn't really making things more stable. So I
> propose
> > we keep the 6 month release cycle, but change the development cycle from
> a
> > 6 month one with 3 intermediate milestones to a 6 week one with a
> milestone
> > at the end of it.
>
> You're solving some issues around developer experiance by letting
> developers
> iterate on a faster cycle which is something I agree with, but by keeping
> the 6 month release cycle I think you're missing the bigger opportunity
> here.
> Namely, the chance to get the features to the users faster, which is
> ultimtely
> the reason why contributors currently push us so hard towards the end of
> the
> release. I think we have to be more ambitious here and actually make the
> release
> cycle itself faster, putting it on a 2 month cycle. More detail about why
> I think
> this is needed is here:
>
>
> http://lists.openstack.org/pipermail/openstack-dev/2015-February/057614.html
>
>
Nothing like having to concurrent threads on the same thing with very
similar subjects.

[openstack-dev] [all] Re-evaluating the suitability of the 6 month release
cycle

vs

[openstack-dev][stable][all] Revisiting the 6 month release cycle

I'll respond to your proposal, on the other thread.



> > What this actually means:
> >
> >- Stop approving blueprints for specific stable releases, instead just
> >approve them and target them to milestones.
> >   - Milestones stop becoming Kilo-1, Kilo-2, Kilo-3 etc. and just
> >   become 1,2,3,4,5,6,7,8,9 etc.
> >   - If something misses what was previously known as Kilo-3 it has to
> >   wait a week for what for milestone 4.
> >- Development focuses on milestones only. So 6 week cyc

Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Joe Gordon
On Tue, Feb 24, 2015 at 10:00 AM, Johannes Erdfelt 
wrote:

> On Tue, Feb 24, 2015, Thierry Carrez  wrote:
> > Agree on the pain of maintaining milestone plans though, which is why I
> > propose we get rid of most of it in Liberty. That will actually be
> > discussed at the cross-project meeting today:
> >
> >
> https://wiki.openstack.org/wiki/Release_Cycle_Management/Liberty_Tracking
>
> I'm happy to see this.
>

++


>
> "Assignees may target their blueprint to a future milestone, as an
> indication of when they intend to land it (not mandatory)"
>
> That seems useless to me. I have no control over when things land. I can
> only control when my code is put up for review.
>
> Recently, I have spent a lot more time waiting on reviews than I have
> spent writing the actual code.
>

I think this is a symptom of a much deeper problem. And adjusting the
release cadence won't make a big impact on this.


>
> JE
>
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Joe Gordon
On Tue, Feb 24, 2015 at 2:38 AM, Thierry Carrez 
wrote:

> Joe Gordon wrote:
> > [...]
> > I think a lot of the frustration with our current cadence comes out of
> > the big stop everything (development, planning etc.), and stabilize the
> > release process. Which in turn isn't really making things more stable.
>
> I guess I have a different position. I think the release candidate
> period is the only thing that makes your code drops actually usable.
> It's the only moment in the cycle where integrators test. It's the only
> moment in the cycle where developers work on bugs they did not file
> themselves, but focus on a project-wide priority list of release
> blockers. If you remove that period, then nobody will ever work on
> release blockers that do not directly affect them. Shorten that period
> to one week, and no integrator will have the time to run a proper QA
> program to detect those release blockers.
>

I still think the 3 week RC candidate cycle needs to happen, the difference
is it would be done by stable maintenance. And I agree, the RC candidate
period is one of the few moments where developers work on bugs they did not
file themselves. So I am not sure how this would actually work.  Perhaps
the answer is we have deeper issues if we don't want to fix bugs until the
last minute.



>
> I understand that from your developer perspective it's annoying to have
> to work on project-wide priorities rather than your own, and therefore
> you'd like to get rid of those -- but the resulting drop in quality is
> just something we can't afford.
>
> > So I propose we keep the 6 month release cycle, but change the
> > development cycle from a 6 month one with 3 intermediate milestones to a
> > 6 week one with a milestone at the end of it.
> >
> > What this actually means:
> >
> >   * Stop approving blueprints for specific stable releases, instead just
> > approve them and target them to milestones.
> >   o Milestones stop becoming Kilo-1, Kilo-2, Kilo-3 etc. and just
> > become 1,2,3,4,5,6,7,8,9 etc.
> >   o If something misses what was previously known as Kilo-3 it has
> > to wait a week for what for milestone 4.
> >   * Development focuses on milestones only. So 6 week cycle with say 1
> > week of stabilization, finish things up before each milestone
> >   * Process of cutting a stable branch (planning, making the branch,
> > doing release candidates, testing etc.) is done by a dedicated
> > stable branch team. And it should be done based on a specific
> milestone
> >   * Goal: Change the default development planning mode to ignore stable
> > branches, and allow for us to think of things in terms of the number
> > of milestones needed, not will it make the stable branch or not
>
> I don't think that would solve any of the issues you mentioned:
> > Current issues
> >   * 3 weeks of feature freeze for all projects at the end of each cycle
> > (3 out of the 26 feature blocked)
>
> So you'll have 3 x 1 week of feature freeze for all projects, instead of
> 1 x 3 weeks. That will be less efficient (integrators need a >1week
> feature freeze period to actually start testing a non-moving target),
> more painful (have to organize it 3 times instead of 1), and likely
> inefficient (takes generally more than one week to find critical bugs,
> develop the fix, and get it reviewed). And in the end, it's still 3 out
> of the 26 feature blocked.
>

As said before, I don't envision integrator consuming every milestone. Just
the standard 3 week RC cycle for stable branch candidates.


>
> >   * 3 weeks of release candidates. Once a candidate is cut development
> > is open for next release. While this is good in theory, not much
> > work actually starts on next release.
>
> That is not really what I observe. People start landing their feature in
> the master branch starting the day after RC1. I actually observe the
> opposite: too many people switching to master development, and not
> enough people working on RC2+ bugs.
>

Unfortunately I think we are both right. To many people move on and don't
work on RC2 bugs, but development still slows down.


>
> >   * some projects have non priority feature freezes and at Milestone 2
> > (so 9 out of 26 weeks restricted in those projects)
>
> That was their own choice. I for one was really surprised that they
> would freeze earlier -- I think 3 weeks is the right balance.
>
> >   * vicious development circle
> >   o vicious circle:
> >   + big push right to land lots of features right before the
> release
>
> I think you'll have exactly the same push before the "stable" milestone
> (or the one that will be adopted by $DISTRO).
>

I am hoping the push would be smaller, but I don't think we can remove it
completely.


>
> >>   + a lot of effort is spent getting the release ready
> >>   + after the release people are a little burnt out and take it
> >> easy until the next summit
>
> No

Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Johannes Erdfelt
On Tue, Feb 24, 2015, Thierry Carrez  wrote:
> Agree on the pain of maintaining milestone plans though, which is why I
> propose we get rid of most of it in Liberty. That will actually be
> discussed at the cross-project meeting today:
> 
> https://wiki.openstack.org/wiki/Release_Cycle_Management/Liberty_Tracking

I'm happy to see this.

"Assignees may target their blueprint to a future milestone, as an
indication of when they intend to land it (not mandatory)"

That seems useless to me. I have no control over when things land. I can
only control when my code is put up for review.

Recently, I have spent a lot more time waiting on reviews than I have
spent writing the actual code.

JE


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Thierry Carrez
Johannes Erdfelt wrote:
> On Mon, Feb 23, 2015, Joe Gordon  wrote:
>> What this actually means:
>>
>>- Stop approving blueprints for specific stable releases, instead just
>>approve them and target them to milestones.
>>   - Milestones stop becoming Kilo-1, Kilo-2, Kilo-3 etc. and just
>>   become 1,2,3,4,5,6,7,8,9 etc.
>>   - If something misses what was previously known as Kilo-3 it has to
>>   wait a week for what for milestone 4.
>>- Development focuses on milestones only. So 6 week cycle with say 1
>>week of stabilization, finish things up before each milestone
> 
> What is the motiviation for having milestones at all?
> 
> At least in the Nova world, it seems like milestones mean nothing at
> all. It's just something John Garbutt spends a lot of his time updating
> that doesn't appear to provide any value to anyone.

It has *some* value in cross-project coordination. It's a way to
describe common points in time. Saying "it should be done by kilo-1" is
easier than using random dates that vary across projects.

Another value is to exercise the release automation more regularly.

Agree on the pain of maintaining milestone plans though, which is why I
propose we get rid of most of it in Liberty. That will actually be
discussed at the cross-project meeting today:

https://wiki.openstack.org/wiki/Release_Cycle_Management/Liberty_Tracking

Cheers,

-- 
Thierry Carrez (ttx)

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Johannes Erdfelt
On Tue, Feb 24, 2015, Thierry Carrez  wrote:
> Joe Gordon wrote:
> > [...]
> > I think a lot of the frustration with our current cadence comes out of
> > the big stop everything (development, planning etc.), and stabilize the
> > release process. Which in turn isn't really making things more stable.
> 
> I guess I have a different position. I think the release candidate
> period is the only thing that makes your code drops actually usable.
> It's the only moment in the cycle where integrators test. It's the only
> moment in the cycle where developers work on bugs they did not file
> themselves, but focus on a project-wide priority list of release
> blockers. If you remove that period, then nobody will ever work on
> release blockers that do not directly affect them. Shorten that period
> to one week, and no integrator will have the time to run a proper QA
> program to detect those release blockers.
> 
> I understand that from your developer perspective it's annoying to have
> to work on project-wide priorities rather than your own, and therefore
> you'd like to get rid of those -- but the resulting drop in quality is
> just something we can't afford.

Speaking as an operator that deploys from trunk, code quality isn't our
biggest problem right now.

One of our biggest problems is merging our local branch with upstream.
There are a handful of contributing factors to this, but a major
part is the patches we need to carry locally until they are merged
upstream.

If we can get patches/features we develop merged upstream faster, that
would be the biggest help for us.

JE


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Johannes Erdfelt
On Mon, Feb 23, 2015, Joe Gordon  wrote:
> What this actually means:
> 
>- Stop approving blueprints for specific stable releases, instead just
>approve them and target them to milestones.
>   - Milestones stop becoming Kilo-1, Kilo-2, Kilo-3 etc. and just
>   become 1,2,3,4,5,6,7,8,9 etc.
>   - If something misses what was previously known as Kilo-3 it has to
>   wait a week for what for milestone 4.
>- Development focuses on milestones only. So 6 week cycle with say 1
>week of stabilization, finish things up before each milestone

What is the motiviation for having milestones at all?

At least in the Nova world, it seems like milestones mean nothing at
all. It's just something John Garbutt spends a lot of his time updating
that doesn't appear to provide any value to anyone.

JE


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-24 Thread Daniel P. Berrange
On Mon, Feb 23, 2015 at 04:14:36PM -0800, Joe Gordon wrote:
> Was:
> http://lists.openstack.org/pipermail/openstack-dev/2015-February/057578.html
> 
> There has been frustration with our current 6 month development cadence.
> This is an attempt to explain those frustrations and propose a very rough
> outline of a possible alternative.
> 
> 
> Currently we follow a 6 month release cadence, with 3 intermediate
> milestones (6 weeks apart), as explained here:
> https://wiki.openstack.org/wiki/Kilo_Release_Schedule
> 
> 
> Current issues
> 
>- 3 weeks of feature freeze for all projects at the end of each cycle (3
>out of the 26 feature blocked)
>- 3 weeks of release candidates. Once a candidate is cut development is
>open for next release. While this is good in theory, not much work actually
>starts on next release.
>- some projects have non priority feature freezes and at Milestone 2 (so
>9 out of 26 weeks restricted in those projects)
>- vicious development circle
>   - vicious circle:
>  - big push right to land lots of features right before the release
>  - a lot of effort is spent getting the release ready
>  - after the release people are a little burnt out and take it easy
>  until the next summit
>  - Blueprints have to be re-discussed and re-approved for the next
>  cycle
>  - makes it hard to land blueprints early in the cycle casing the
>  bug rush at the end of the cycle, see step 1
>   - Makes it hard to plan things across a release
>   - This actually destabilizes things right as we go into the
>   stabilization period (We actually have great data on this too)
>   - Means postponing blueprints that miss a deadline several months
> 
> 
> Requirements for a new model
> 
>- Keep 6 month release cadence. Not everyone is willing to deploy from
>trunk
>- Keep stable branches for at least 6 months. In order to test upgrades
>from the last stable branch, we need a stable branch to test against
>- Keep supporting continuous deployment. Some people really want to
>deploy from trunk
> 
> 
> What We can drop
> 
>- While we need to keep releasing a stable branch every 6 months, we
>don't have to do all of our development planning around it. We can treat it
>as just another milestone
> 
> 
> I think a lot of the frustration with our current cadence comes out of the
> big stop everything (development, planning etc.), and stabilize the release
> process. Which in turn isn't really making things more stable. So I propose
> we keep the 6 month release cycle, but change the development cycle from a
> 6 month one with 3 intermediate milestones to a 6 week one with a milestone
> at the end of it.

You're solving some issues around developer experiance by letting developers
iterate on a faster cycle which is something I agree with, but by keeping
the 6 month release cycle I think you're missing the bigger opportunity here.
Namely, the chance to get the features to the users faster, which is ultimtely
the reason why contributors currently push us so hard towards the end of the
release. I think we have to be more ambitious here and actually make the release
cycle itself faster, putting it on a 2 month cycle. More detail about why I 
think
this is needed is here:

  http://lists.openstack.org/pipermail/openstack-dev/2015-February/057614.html

> What this actually means:
> 
>- Stop approving blueprints for specific stable releases, instead just
>approve them and target them to milestones.
>   - Milestones stop becoming Kilo-1, Kilo-2, Kilo-3 etc. and just
>   become 1,2,3,4,5,6,7,8,9 etc.
>   - If something misses what was previously known as Kilo-3 it has to
>   wait a week for what for milestone 4.
>- Development focuses on milestones only. So 6 week cycle with say 1
>week of stabilization, finish things up before each milestone
>- Process of cutting a stable branch (planning, making the branch, doing
>release candidates, testing etc.) is done by a dedicated stable branch
>team. And it should be done based on a specific milestone
>- Goal: Change the default development planning mode to ignore stable
>branches, and allow for us to think of things in terms of the number of
>milestones needed, not will it make the stable branch or not
> 
> 
> Gotchas, questions etc:
> 
>- Some developers will still care about getting a feature into a
>specific stable release, so we may still get a small rush for the milestone
>before each stable branch
>- Requires significantly more work from the stable maintenance team

I think we can increase the release cycle to 2 months without impacting the
stable team to any great extent. We simply don't have to provide stabel branches
for every single release - compare with Linux, only a subset of major releases
get stable branches & that generally works pretty well.

>- Nami

[openstack-dev] [stable][all] Revisiting the 6 month release cycle

2015-02-23 Thread Joe Gordon
Was:
http://lists.openstack.org/pipermail/openstack-dev/2015-February/057578.html

There has been frustration with our current 6 month development cadence.
This is an attempt to explain those frustrations and propose a very rough
outline of a possible alternative.


Currently we follow a 6 month release cadence, with 3 intermediate
milestones (6 weeks apart), as explained here:
https://wiki.openstack.org/wiki/Kilo_Release_Schedule


Current issues

   - 3 weeks of feature freeze for all projects at the end of each cycle (3
   out of the 26 feature blocked)
   - 3 weeks of release candidates. Once a candidate is cut development is
   open for next release. While this is good in theory, not much work actually
   starts on next release.
   - some projects have non priority feature freezes and at Milestone 2 (so
   9 out of 26 weeks restricted in those projects)
   - vicious development circle
  - vicious circle:
 - big push right to land lots of features right before the release
 - a lot of effort is spent getting the release ready
 - after the release people are a little burnt out and take it easy
 until the next summit
 - Blueprints have to be re-discussed and re-approved for the next
 cycle
 - makes it hard to land blueprints early in the cycle casing the
 bug rush at the end of the cycle, see step 1
  - Makes it hard to plan things across a release
  - This actually destabilizes things right as we go into the
  stabilization period (We actually have great data on this too)
  - Means postponing blueprints that miss a deadline several months


Requirements for a new model

   - Keep 6 month release cadence. Not everyone is willing to deploy from
   trunk
   - Keep stable branches for at least 6 months. In order to test upgrades
   from the last stable branch, we need a stable branch to test against
   - Keep supporting continuous deployment. Some people really want to
   deploy from trunk


What We can drop

   - While we need to keep releasing a stable branch every 6 months, we
   don't have to do all of our development planning around it. We can treat it
   as just another milestone


I think a lot of the frustration with our current cadence comes out of the
big stop everything (development, planning etc.), and stabilize the release
process. Which in turn isn't really making things more stable. So I propose
we keep the 6 month release cycle, but change the development cycle from a
6 month one with 3 intermediate milestones to a 6 week one with a milestone
at the end of it.

What this actually means:

   - Stop approving blueprints for specific stable releases, instead just
   approve them and target them to milestones.
  - Milestones stop becoming Kilo-1, Kilo-2, Kilo-3 etc. and just
  become 1,2,3,4,5,6,7,8,9 etc.
  - If something misses what was previously known as Kilo-3 it has to
  wait a week for what for milestone 4.
   - Development focuses on milestones only. So 6 week cycle with say 1
   week of stabilization, finish things up before each milestone
   - Process of cutting a stable branch (planning, making the branch, doing
   release candidates, testing etc.) is done by a dedicated stable branch
   team. And it should be done based on a specific milestone
   - Goal: Change the default development planning mode to ignore stable
   branches, and allow for us to think of things in terms of the number of
   milestones needed, not will it make the stable branch or not


Gotchas, questions etc:

   - Some developers will still care about getting a feature into a
   specific stable release, so we may still get a small rush for the milestone
   before each stable branch
   - Requires significantly more work from the stable maintenance team
   - Naming the stable branches becomes less fun, as we refer to the stable
   branches less
   - Since planning is continuous 6 month cycle for summits becomes a
   little strange. This is still an open ended question to me.



Anyway, that has been rattling around my head since Paris and I needed to
write it down somewhere. Thanks for reading. Thoughts, comments, concerns
welcome.
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev