You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Rajani Karuturi <ra...@apache.org> on 2016/08/03 07:27:59 UTC

4.10.0 release

Hi All,These are the proposed dates for 4.10 release (copied from
another thread by John Burwell)* Development (master open to
features and defect fixes): 1 August 2016 - 11 September 2016*
Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
2016* Release: 26 September 2016
master is open for 4.10.0. It still means that only PRs will be
merged and they will be merged only by RMs ( For 4.10.0, its John
Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
code review and 1 test review.It would help in reviewing if the
contributor could put information about the feature/bug and how
its tested.Also, please rebase any pending PRs you have to the
latest master or the 4.9 release branch.
Finally, anyone in the community can review and test PRs. We
currently have huge backlog. We need everyones help in getting
them merged(especially running the tests)Looking forward for your
help in merging PRs. Happy PR bashing!!
Thanks,~ Rajanihttp://cloudplatform.accelerite.com/

Re: 4.10.0 release

Posted by Rajani Karuturi <ra...@apache.org>.
On Thu, Aug 4, 2016 at 11:41 PM, John Burwell <jo...@shapeblue.com>
wrote:

> Will and Rajani,
>
> I recall the motivations for the release principles well.  Their primary
> intention was to improve the testing and codify review requirements for
> commits to a release branch.  In my view, this goal does not require that
> only a few people perform merges to release branches.


We tried and tested with everybody merging and it did not workout. The
situation has not changed since then. We still have the same upgrade
issues, template issues. We did not improve the automation time. We do not
have an automated way to test a PR and report results. We even do not know
how reliable the tests are and how much they cover.

I am not in favour of doing the same mistake again without any improvements
We can try it again only when we see more CI instances reporting results
for a PR. But, until that is available(and as long as we see only RMs
running automation tests manually), I prefer few people committing. We can
increase this set to RM + few more volunteers who can run automation. But,
I am not comfortable with opening it to all. Let us go to a middle ground
first, test it and then open to all.


> We should let any committer merge a PR that has the requisite LGTMs.  I
> also believe we need to be a bit nuanced about the requirement to test
> every PR against hardware.  While most PRs require this level of testing,
> we have plenty of PRs that do not impact hardware (e.g. UI changes, code
> cleanups, etc).

code cleanups need automation runs unless its just removing commented code.
UI is the only exception. (I prefer forking it to a separate repository.
But, that is a separate story.) UI PRs require screenshots on PRs or
atleast information on where and how to see it in UI.


> I am in favor of refining the release principles to say that the test LGTM
> for any PR that impacts provisioning/management of hardware must include
> hardware tests.  As we monitor merges to master, if we find any PRs that do
> impact these functions that have not been tested against hardware then we
> will roll them back and work with the author to complete that testing.
>

monitoring branches is a difficult task. We should be able to fully trust
people who commit.


>
> Rohit is currently creating a Jenkins build pipeline that builds a PR,
> creates a test environment using Trillian, and runs the tests.  He is
> nearly finished.  When he is done, I get him to push docs to the Trillian
> repo and open a discussion on dev@.
>

This is great. If it does what it says, most of the RM job is done and
hopefully we will be able to merge more PRs and release quickly. Waiting to
see it live. Is this jenkins instance publicly accessible?


~Rajani
http://cloudplatform.accelerite.com/


>
> Thanks,
> -John
>
> >
> john.burwell@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> @shapeblue
>
>
>
> On Aug 4, 2016, at 1:29 PM, Will Stevens <ws...@cloudops.com> wrote:
> >
> > Rajani, you have very valid points and they echo my concerns.
> >
> > I also agree that the CI (actual testing of PRs against real hardware
> > environments) is required in order for a PR to be committed.  This is
> where
> > ALL the work is for the RM in the current process.  As RM, I ended up
> with
> > 10 CI environments running in parallel in order to get testing done to at
> > least a basic level.  This type of testing MUST continue or we are at
> risk
> > of falling into old pitfalls around stability.
> >
> > John and Paul, how feasible would it be for me to setup an automated
> > process for pulling and testing PRs with Trillian?  I have environments
> > that I can test on, but I don't have the time to manage 8=10 environments
> > testing in parallel by hand.  We need get to the point where PRs are
> queued
> > and the testing of these PRs on real hardware is automated.  The manual
> > approach is not viable long term (trust me).  :)
> >
> > *Will STEVENS*
> > Lead Developer
> >
> > *CloudOps* *| *Cloud Solutions Experts
> > 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> > w cloudops.com *|* tw @CloudOps_
> >
> > On Thu, Aug 4, 2016 at 1:19 PM, Rajani Karuturi <ra...@apache.org>
> wrote:
> >
> >> John,
> >> We understand the bylaws. But, practically we saw master in an unusable
> >> state for many months. This is not just about trust. CloudStack is so
> vast
> >> that its difficult for a single person to test all the affected areas.
> Many
> >> a times, people does not even have enough hardware/knowledge to run
> >> integration tests. Bugs which are found at a later point of time have
> very
> >> high cost. Finding that commit which broke something is very hard task.
> >> Rolling back is the easiest part of it.
> >>
> >> In an ideal world, we could just allow everyone to commit (maybe we
> could
> >> even allow non committers to commit and increase the velocity). But, it
> did
> >> not workout. which is why we have all these rules based on previous
> >> learning. For 4.6, we did not start with RM only merges. But, after many
> >> failed attempts we came to that conclusion.
> >>
> >> Watching the branches and policing is more difficult than allowing only
> a
> >> few people to commit.
> >>
> >> I do understand Rohit's concern about RM being bottleneck. The initial
> idea
> >> was we will have more than one RM(may be around 5) so that one of them
> >> would be available always. But, given the amount of time it takes to do
> the
> >> RM job, we did not get enough volunteers.
> >>
> >> Even now, I dont think its the RM that is the bottleneck. But, its the
> >> number of people with real hardware who are willing to run integration
> >> tests for the PRs. Most of the efforts of RM goes in setting up test
> >> environments, running tests, bringing the results back to PR.
> >>
> >> Maybe, we could follow a middle ground like this.
> >> We as a community can authorize few more people to merge PRs in
> addition to
> >> RMs.
> >>
> >> How do we select these additional volunteers?
> >> Any committer can just come forward and declare(in a mail to dev@)
> that he
> >> read the release principles[1] and would like to volunteer to commit.
> >>
> >> [1]
> >> https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> >> Release+principles+for+Apache+CloudStack+4.6+and+up
> >>
> >> ~Rajani
> >> http://cloudplatform.accelerite.com/
> >>
> >> On Thu, Aug 4, 2016 at 8:28 PM, John Burwell <
> john.burwell@shapeblue.com>
> >> wrote:
> >>
> >>> Rajani and Will,
> >>>
> >>> It is actually not up to the release managers to make such a
> >>> determination.  Our bylaws state that anyone with a commit bit can
> commit
> >>> (or, if necessary, rollback a commit).  By granting someone a commit
> bit,
> >>> we have imparted a trust that an individual will protect the integrity
> of
> >>> the codebase and work in the best interest of the community.  If
> someone
> >>> makes a mistake (which has happened), we can easily rollback a commit.
> >> We
> >>> have even decided to rollback commits after getting 2 LGTMs on a PR.
> >> Under
> >>> the Apache Way, committers are encouraged to propel a project forward.
> >>> Restricting merges to RMs not only restricts velocity and it also
> limits
> >>> the energy/contributions of our large committer base.
> >>>
> >>> In terms of the rules below, we have, by consensus, accepted a set of
> >>> release principles [1] that specify how PRs should be reviewed and
> >> accepted
> >>> for merge to master.   If the guidelines outlined in that document are
> >> not
> >>> followed, we have accepted that another committer may rollback a
> commit.
> >>> Rajani and I will be watching the release branches.  If we find commits
> >>> that do not conform to our accepted merge rules, we will roll them back
> >> and
> >>> work with the committer to fix the issues.
> >>>
> >>> Thanks,
> >>> -John
> >>>
> >>> [1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> >>> Release+principles+for+Apache+CloudStack+4.6+and+up
> >>>
> >>>>
> >>> john.burwell@shapeblue.com
> >>> www.shapeblue.com
> >>> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> >>> @shapeblue
> >>>
> >>>
> >>>
> >>> On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com>
> wrote:
> >>>>
> >>>> I will let the RMs for this release weigh in on this, but here are my
> >>>> thoughts.
> >>>>
> >>>> If we let anyone commit, I think the following rules MUST be followed:
> >>>> - No commits directly to the repo, which are not a merge of a GitHub
> >> Pull
> >>>> Request.  So every change to the repo should be through `git pr ####`
> >>> using
> >>>> this tool [1].  This ensures everything that gets committed goes
> >> through
> >>>> our CI pipeline and is verified before commit.  It also makes it
> easier
> >>> for
> >>>> us to be able to script the generation of release notes and correlate
> >> the
> >>>> commit history with other sources (GitHub, Jira, etc).  I will submit
> a
> >>> PR
> >>>> with tools for generating release notes based on merged GitHub PRs
> >>> soon...
> >>>> - Every PR merged into a previous branch must be forward merged to
> >> later
> >>>> branches.  This is done using this tool [2] in order to make sure the
> >>>> commit hashes are consistent across all branches.  This is for
> >>> auditability
> >>>> and comparing what exists in one branch vs another.
> >>>>
> >>>> [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
> >>>> [2] https://github.com/apache/cloudstack/blob/master/tools/
> >>> git/git-fwd-merge
> >>>>
> >>>> This is my two cents anyway...
> >>>>
> >>>> *Will STEVENS*
> >>>> Lead Developer
> >>>>
> >>>> *CloudOps* *| *Cloud Solutions Experts
> >>>> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> >>>> w cloudops.com *|* tw @CloudOps_
> >>>>
> >>>> On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <
> rohit.yadav@shapeblue.com
> >>>
> >>>> wrote:
> >>>>
> >>>>> I disagree with having only RMs to merge PRs when we're not in
> freeze.
> >>> In
> >>>>> general we've implicitly honoured this behaviour but it was never
> >> voted.
> >>>>> Our RMs may not be as active as we want them to be, while they are
> >>>>> historically good at writing policies but it's hard to put them in
> >>> practice
> >>>>> and further it's understandable that they may not be able to
> volunteer
> >>>>> enough time and effort to get the PRs sorted.
> >>>>>
> >>>>>
> >>>>> Over past months this and similar practices have killed our commit
> and
> >>>>> development momentum, and I think it's not a healthy practice for our
> >>>>> community to engage in further. Instead, we can have committers (and
> >> in
> >>>>> future maybe bots) to merge a PR if they have 2 LGTMs, no objections
> >> and
> >>>>> test results from both Travis (simulator) and Bubble/BVT/Trillian
> >> (tests
> >>>>> against at least one and ideally all three hypervisors - KVM, Xen and
> >>>>> VMware).
> >>>>>
> >>>>>
> >>>>> Regards.
> >>>>>
> >>>>> ________________________________
> >>>>> From: Rajani Karuturi <ra...@apache.org>
> >>>>> Sent: 03 August 2016 13:43:54
> >>>>> To: dev@cloudstack.apache.org
> >>>>> Subject: Re: 4.10.0 release
> >>>>>
> >>>>> ouch.. looks like my email client stripped all the new lines.
> >>>>> Re-sending from webmail
> >>>>>
> >>>>> Hi All,
> >>>>> These are the proposed dates for 4.10 release (copied from another
> >>> thread
> >>>>> by John Burwell)
> >>>>> * Development (master open to features and defect fixes): 1 August
> >> 2016
> >>> -
> >>>>> 11 September 2016
> >>>>> * Testing: 12 - 18 September 2016
> >>>>> * RC Voting: 19 - 25 September 2016
> >>>>> * Release: 26 September 2016
> >>>>>
> >>>>> master is open for 4.10.0.
> >>>>> It still means that only PRs will be merged and they will be merged
> >>> only by
> >>>>> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
> >>>>> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
> >>>>> It would help in reviewing if the contributor could put information
> >>> about
> >>>>> the feature/bug and how its tested.
> >>>>> Also, please rebase any pending PRs you have to the latest master or
> >> the
> >>>>> 4.9 release branch.
> >>>>>
> >>>>> Finally, anyone in the community can review and test PRs. We
> currently
> >>> have
> >>>>> huge backlog. We need everyones help in getting them
> merged(especially
> >>>>> running the tests)
> >>>>> Looking forward for your help in merging PRs.
> >>>>> Happy PR bashing!!
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>>
> >>>>>
> >>>>> ~Rajani
> >>>>>
> >>>>>
> >>>>> rohit.yadav@shapeblue.com
> >>>>> www.shapeblue.com
> >>>>> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> >>>>> @shapeblue
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com>
> >> wrote:
> >>>>>
> >>>>>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
> >>>>>>
> >>>>>> --
> >>>>>> Erik
> >>>>>>
> >>>>>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
> >>>>> wrote:
> >>>>>>
> >>>>>>> Hi All,These are the proposed dates for 4.10 release (copied from
> >>>>>>> another thread by John Burwell)* Development (master open to
> >>>>>>> features and defect fixes): 1 August 2016 - 11 September 2016*
> >>>>>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> >>>>>>> 2016* Release: 26 September 2016
> >>>>>>> master is open for 4.10.0. It still means that only PRs will be
> >>>>>>> merged and they will be merged only by RMs ( For 4.10.0, its John
> >>>>>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> >>>>>>> code review and 1 test review.It would help in reviewing if the
> >>>>>>> contributor could put information about the feature/bug and how
> >>>>>>> its tested.Also, please rebase any pending PRs you have to the
> >>>>>>> latest master or the 4.9 release branch.
> >>>>>>> Finally, anyone in the community can review and test PRs. We
> >>>>>>> currently have huge backlog. We need everyones help in getting
> >>>>>>> them merged(especially running the tests)Looking forward for your
> >>>>>>> help in merging PRs. Happy PR bashing!!
> >>>>>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
> >>>>>>
> >>>>>
> >>>
> >>>
> >>
>
>

Re: 4.10.0 release

Posted by Will Stevens <ws...@cloudops.com>.
This sounds good.  I agree that not every PR needs full CI on hardware, but
I do think that every PR should have some form of verification that the
code does what it is intended to do.  So for a UI change, it should include
a screenshot (for example).

The main point of this is that we maintain stability.  We have come a long
way since 4.6.  Then we had to be a bit more draconian about this because
we were breaking the norm in order to stabilize master.  Now, with a more
ingrained Github workflow and some better CI tools, I think we can afford
to start giving back some control to the committing community.  This is of
course assuming the RMs are comfortable with that.  At the end of the day,
they are the ones who are directly impacted by this decision.

*Will STEVENS*
Lead Developer

*CloudOps* *| *Cloud Solutions Experts
420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
w cloudops.com *|* tw @CloudOps_

On Thu, Aug 4, 2016 at 2:11 PM, John Burwell <jo...@shapeblue.com>
wrote:

> Will and Rajani,
>
> I recall the motivations for the release principles well.  Their primary
> intention was to improve the testing and codify review requirements for
> commits to a release branch.  In my view, this goal does not require that
> only a few people perform merges to release branches.  We should let any
> committer merge a PR that has the requisite LGTMs.  I also believe we need
> to be a bit nuanced about the requirement to test every PR against
> hardware.  While most PRs require this level of testing, we have plenty of
> PRs that do not impact hardware (e.g. UI changes, code cleanups, etc).  I
> am in favor of refining the release principles to say that the test LGTM
> for any PR that impacts provisioning/management of hardware must include
> hardware tests.  As we monitor merges to master, if we find any PRs that do
> impact these functions that have not been tested against hardware then we
> will roll them back and work with the author to complete that testing.
>
> Rohit is currently creating a Jenkins build pipeline that builds a PR,
> creates a test environment using Trillian, and runs the tests.  He is
> nearly finished.  When he is done, I get him to push docs to the Trillian
> repo and open a discussion on dev@.
>
> Thanks,
> -John
>
> >
> john.burwell@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> @shapeblue
>
>
>
> On Aug 4, 2016, at 1:29 PM, Will Stevens <ws...@cloudops.com> wrote:
> >
> > Rajani, you have very valid points and they echo my concerns.
> >
> > I also agree that the CI (actual testing of PRs against real hardware
> > environments) is required in order for a PR to be committed.  This is
> where
> > ALL the work is for the RM in the current process.  As RM, I ended up
> with
> > 10 CI environments running in parallel in order to get testing done to at
> > least a basic level.  This type of testing MUST continue or we are at
> risk
> > of falling into old pitfalls around stability.
> >
> > John and Paul, how feasible would it be for me to setup an automated
> > process for pulling and testing PRs with Trillian?  I have environments
> > that I can test on, but I don't have the time to manage 8=10 environments
> > testing in parallel by hand.  We need get to the point where PRs are
> queued
> > and the testing of these PRs on real hardware is automated.  The manual
> > approach is not viable long term (trust me).  :)
> >
> > *Will STEVENS*
> > Lead Developer
> >
> > *CloudOps* *| *Cloud Solutions Experts
> > 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> > w cloudops.com *|* tw @CloudOps_
> >
> > On Thu, Aug 4, 2016 at 1:19 PM, Rajani Karuturi <ra...@apache.org>
> wrote:
> >
> >> John,
> >> We understand the bylaws. But, practically we saw master in an unusable
> >> state for many months. This is not just about trust. CloudStack is so
> vast
> >> that its difficult for a single person to test all the affected areas.
> Many
> >> a times, people does not even have enough hardware/knowledge to run
> >> integration tests. Bugs which are found at a later point of time have
> very
> >> high cost. Finding that commit which broke something is very hard task.
> >> Rolling back is the easiest part of it.
> >>
> >> In an ideal world, we could just allow everyone to commit (maybe we
> could
> >> even allow non committers to commit and increase the velocity). But, it
> did
> >> not workout. which is why we have all these rules based on previous
> >> learning. For 4.6, we did not start with RM only merges. But, after many
> >> failed attempts we came to that conclusion.
> >>
> >> Watching the branches and policing is more difficult than allowing only
> a
> >> few people to commit.
> >>
> >> I do understand Rohit's concern about RM being bottleneck. The initial
> idea
> >> was we will have more than one RM(may be around 5) so that one of them
> >> would be available always. But, given the amount of time it takes to do
> the
> >> RM job, we did not get enough volunteers.
> >>
> >> Even now, I dont think its the RM that is the bottleneck. But, its the
> >> number of people with real hardware who are willing to run integration
> >> tests for the PRs. Most of the efforts of RM goes in setting up test
> >> environments, running tests, bringing the results back to PR.
> >>
> >> Maybe, we could follow a middle ground like this.
> >> We as a community can authorize few more people to merge PRs in
> addition to
> >> RMs.
> >>
> >> How do we select these additional volunteers?
> >> Any committer can just come forward and declare(in a mail to dev@)
> that he
> >> read the release principles[1] and would like to volunteer to commit.
> >>
> >> [1]
> >> https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> >> Release+principles+for+Apache+CloudStack+4.6+and+up
> >>
> >> ~Rajani
> >> http://cloudplatform.accelerite.com/
> >>
> >> On Thu, Aug 4, 2016 at 8:28 PM, John Burwell <
> john.burwell@shapeblue.com>
> >> wrote:
> >>
> >>> Rajani and Will,
> >>>
> >>> It is actually not up to the release managers to make such a
> >>> determination.  Our bylaws state that anyone with a commit bit can
> commit
> >>> (or, if necessary, rollback a commit).  By granting someone a commit
> bit,
> >>> we have imparted a trust that an individual will protect the integrity
> of
> >>> the codebase and work in the best interest of the community.  If
> someone
> >>> makes a mistake (which has happened), we can easily rollback a commit.
> >> We
> >>> have even decided to rollback commits after getting 2 LGTMs on a PR.
> >> Under
> >>> the Apache Way, committers are encouraged to propel a project forward.
> >>> Restricting merges to RMs not only restricts velocity and it also
> limits
> >>> the energy/contributions of our large committer base.
> >>>
> >>> In terms of the rules below, we have, by consensus, accepted a set of
> >>> release principles [1] that specify how PRs should be reviewed and
> >> accepted
> >>> for merge to master.   If the guidelines outlined in that document are
> >> not
> >>> followed, we have accepted that another committer may rollback a
> commit.
> >>> Rajani and I will be watching the release branches.  If we find commits
> >>> that do not conform to our accepted merge rules, we will roll them back
> >> and
> >>> work with the committer to fix the issues.
> >>>
> >>> Thanks,
> >>> -John
> >>>
> >>> [1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> >>> Release+principles+for+Apache+CloudStack+4.6+and+up
> >>>
> >>>>
> >>> john.burwell@shapeblue.com
> >>> www.shapeblue.com
> >>> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> >>> @shapeblue
> >>>
> >>>
> >>>
> >>> On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com>
> wrote:
> >>>>
> >>>> I will let the RMs for this release weigh in on this, but here are my
> >>>> thoughts.
> >>>>
> >>>> If we let anyone commit, I think the following rules MUST be followed:
> >>>> - No commits directly to the repo, which are not a merge of a GitHub
> >> Pull
> >>>> Request.  So every change to the repo should be through `git pr ####`
> >>> using
> >>>> this tool [1].  This ensures everything that gets committed goes
> >> through
> >>>> our CI pipeline and is verified before commit.  It also makes it
> easier
> >>> for
> >>>> us to be able to script the generation of release notes and correlate
> >> the
> >>>> commit history with other sources (GitHub, Jira, etc).  I will submit
> a
> >>> PR
> >>>> with tools for generating release notes based on merged GitHub PRs
> >>> soon...
> >>>> - Every PR merged into a previous branch must be forward merged to
> >> later
> >>>> branches.  This is done using this tool [2] in order to make sure the
> >>>> commit hashes are consistent across all branches.  This is for
> >>> auditability
> >>>> and comparing what exists in one branch vs another.
> >>>>
> >>>> [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
> >>>> [2] https://github.com/apache/cloudstack/blob/master/tools/
> >>> git/git-fwd-merge
> >>>>
> >>>> This is my two cents anyway...
> >>>>
> >>>> *Will STEVENS*
> >>>> Lead Developer
> >>>>
> >>>> *CloudOps* *| *Cloud Solutions Experts
> >>>> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> >>>> w cloudops.com *|* tw @CloudOps_
> >>>>
> >>>> On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <
> rohit.yadav@shapeblue.com
> >>>
> >>>> wrote:
> >>>>
> >>>>> I disagree with having only RMs to merge PRs when we're not in
> freeze.
> >>> In
> >>>>> general we've implicitly honoured this behaviour but it was never
> >> voted.
> >>>>> Our RMs may not be as active as we want them to be, while they are
> >>>>> historically good at writing policies but it's hard to put them in
> >>> practice
> >>>>> and further it's understandable that they may not be able to
> volunteer
> >>>>> enough time and effort to get the PRs sorted.
> >>>>>
> >>>>>
> >>>>> Over past months this and similar practices have killed our commit
> and
> >>>>> development momentum, and I think it's not a healthy practice for our
> >>>>> community to engage in further. Instead, we can have committers (and
> >> in
> >>>>> future maybe bots) to merge a PR if they have 2 LGTMs, no objections
> >> and
> >>>>> test results from both Travis (simulator) and Bubble/BVT/Trillian
> >> (tests
> >>>>> against at least one and ideally all three hypervisors - KVM, Xen and
> >>>>> VMware).
> >>>>>
> >>>>>
> >>>>> Regards.
> >>>>>
> >>>>> ________________________________
> >>>>> From: Rajani Karuturi <ra...@apache.org>
> >>>>> Sent: 03 August 2016 13:43:54
> >>>>> To: dev@cloudstack.apache.org
> >>>>> Subject: Re: 4.10.0 release
> >>>>>
> >>>>> ouch.. looks like my email client stripped all the new lines.
> >>>>> Re-sending from webmail
> >>>>>
> >>>>> Hi All,
> >>>>> These are the proposed dates for 4.10 release (copied from another
> >>> thread
> >>>>> by John Burwell)
> >>>>> * Development (master open to features and defect fixes): 1 August
> >> 2016
> >>> -
> >>>>> 11 September 2016
> >>>>> * Testing: 12 - 18 September 2016
> >>>>> * RC Voting: 19 - 25 September 2016
> >>>>> * Release: 26 September 2016
> >>>>>
> >>>>> master is open for 4.10.0.
> >>>>> It still means that only PRs will be merged and they will be merged
> >>> only by
> >>>>> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
> >>>>> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
> >>>>> It would help in reviewing if the contributor could put information
> >>> about
> >>>>> the feature/bug and how its tested.
> >>>>> Also, please rebase any pending PRs you have to the latest master or
> >> the
> >>>>> 4.9 release branch.
> >>>>>
> >>>>> Finally, anyone in the community can review and test PRs. We
> currently
> >>> have
> >>>>> huge backlog. We need everyones help in getting them
> merged(especially
> >>>>> running the tests)
> >>>>> Looking forward for your help in merging PRs.
> >>>>> Happy PR bashing!!
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>>
> >>>>>
> >>>>> ~Rajani
> >>>>>
> >>>>>
> >>>>> rohit.yadav@shapeblue.com
> >>>>> www.shapeblue.com
> >>>>> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> >>>>> @shapeblue
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com>
> >> wrote:
> >>>>>
> >>>>>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
> >>>>>>
> >>>>>> --
> >>>>>> Erik
> >>>>>>
> >>>>>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
> >>>>> wrote:
> >>>>>>
> >>>>>>> Hi All,These are the proposed dates for 4.10 release (copied from
> >>>>>>> another thread by John Burwell)* Development (master open to
> >>>>>>> features and defect fixes): 1 August 2016 - 11 September 2016*
> >>>>>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> >>>>>>> 2016* Release: 26 September 2016
> >>>>>>> master is open for 4.10.0. It still means that only PRs will be
> >>>>>>> merged and they will be merged only by RMs ( For 4.10.0, its John
> >>>>>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> >>>>>>> code review and 1 test review.It would help in reviewing if the
> >>>>>>> contributor could put information about the feature/bug and how
> >>>>>>> its tested.Also, please rebase any pending PRs you have to the
> >>>>>>> latest master or the 4.9 release branch.
> >>>>>>> Finally, anyone in the community can review and test PRs. We
> >>>>>>> currently have huge backlog. We need everyones help in getting
> >>>>>>> them merged(especially running the tests)Looking forward for your
> >>>>>>> help in merging PRs. Happy PR bashing!!
> >>>>>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
> >>>>>>
> >>>>>
> >>>
> >>>
> >>
>
>

Re: 4.10.0 release

Posted by John Burwell <jo...@shapeblue.com>.
Will and Rajani,

I recall the motivations for the release principles well.  Their primary intention was to improve the testing and codify review requirements for commits to a release branch.  In my view, this goal does not require that only a few people perform merges to release branches.  We should let any committer merge a PR that has the requisite LGTMs.  I also believe we need to be a bit nuanced about the requirement to test every PR against hardware.  While most PRs require this level of testing, we have plenty of PRs that do not impact hardware (e.g. UI changes, code cleanups, etc).  I am in favor of refining the release principles to say that the test LGTM for any PR that impacts provisioning/management of hardware must include hardware tests.  As we monitor merges to master, if we find any PRs that do impact these functions that have not been tested against hardware then we will roll them back and work with the author to complete that testing.

Rohit is currently creating a Jenkins build pipeline that builds a PR, creates a test environment using Trillian, and runs the tests.  He is nearly finished.  When he is done, I get him to push docs to the Trillian repo and open a discussion on dev@.

Thanks,
-John

> 
john.burwell@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
@shapeblue
  
 

On Aug 4, 2016, at 1:29 PM, Will Stevens <ws...@cloudops.com> wrote:
> 
> Rajani, you have very valid points and they echo my concerns.
> 
> I also agree that the CI (actual testing of PRs against real hardware
> environments) is required in order for a PR to be committed.  This is where
> ALL the work is for the RM in the current process.  As RM, I ended up with
> 10 CI environments running in parallel in order to get testing done to at
> least a basic level.  This type of testing MUST continue or we are at risk
> of falling into old pitfalls around stability.
> 
> John and Paul, how feasible would it be for me to setup an automated
> process for pulling and testing PRs with Trillian?  I have environments
> that I can test on, but I don't have the time to manage 8=10 environments
> testing in parallel by hand.  We need get to the point where PRs are queued
> and the testing of these PRs on real hardware is automated.  The manual
> approach is not viable long term (trust me).  :)
> 
> *Will STEVENS*
> Lead Developer
> 
> *CloudOps* *| *Cloud Solutions Experts
> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> w cloudops.com *|* tw @CloudOps_
> 
> On Thu, Aug 4, 2016 at 1:19 PM, Rajani Karuturi <ra...@apache.org> wrote:
> 
>> John,
>> We understand the bylaws. But, practically we saw master in an unusable
>> state for many months. This is not just about trust. CloudStack is so vast
>> that its difficult for a single person to test all the affected areas. Many
>> a times, people does not even have enough hardware/knowledge to run
>> integration tests. Bugs which are found at a later point of time have very
>> high cost. Finding that commit which broke something is very hard task.
>> Rolling back is the easiest part of it.
>> 
>> In an ideal world, we could just allow everyone to commit (maybe we could
>> even allow non committers to commit and increase the velocity). But, it did
>> not workout. which is why we have all these rules based on previous
>> learning. For 4.6, we did not start with RM only merges. But, after many
>> failed attempts we came to that conclusion.
>> 
>> Watching the branches and policing is more difficult than allowing only a
>> few people to commit.
>> 
>> I do understand Rohit's concern about RM being bottleneck. The initial idea
>> was we will have more than one RM(may be around 5) so that one of them
>> would be available always. But, given the amount of time it takes to do the
>> RM job, we did not get enough volunteers.
>> 
>> Even now, I dont think its the RM that is the bottleneck. But, its the
>> number of people with real hardware who are willing to run integration
>> tests for the PRs. Most of the efforts of RM goes in setting up test
>> environments, running tests, bringing the results back to PR.
>> 
>> Maybe, we could follow a middle ground like this.
>> We as a community can authorize few more people to merge PRs in addition to
>> RMs.
>> 
>> How do we select these additional volunteers?
>> Any committer can just come forward and declare(in a mail to dev@) that he
>> read the release principles[1] and would like to volunteer to commit.
>> 
>> [1]
>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/
>> Release+principles+for+Apache+CloudStack+4.6+and+up
>> 
>> ~Rajani
>> http://cloudplatform.accelerite.com/
>> 
>> On Thu, Aug 4, 2016 at 8:28 PM, John Burwell <jo...@shapeblue.com>
>> wrote:
>> 
>>> Rajani and Will,
>>> 
>>> It is actually not up to the release managers to make such a
>>> determination.  Our bylaws state that anyone with a commit bit can commit
>>> (or, if necessary, rollback a commit).  By granting someone a commit bit,
>>> we have imparted a trust that an individual will protect the integrity of
>>> the codebase and work in the best interest of the community.  If someone
>>> makes a mistake (which has happened), we can easily rollback a commit.
>> We
>>> have even decided to rollback commits after getting 2 LGTMs on a PR.
>> Under
>>> the Apache Way, committers are encouraged to propel a project forward.
>>> Restricting merges to RMs not only restricts velocity and it also limits
>>> the energy/contributions of our large committer base.
>>> 
>>> In terms of the rules below, we have, by consensus, accepted a set of
>>> release principles [1] that specify how PRs should be reviewed and
>> accepted
>>> for merge to master.   If the guidelines outlined in that document are
>> not
>>> followed, we have accepted that another committer may rollback a commit.
>>> Rajani and I will be watching the release branches.  If we find commits
>>> that do not conform to our accepted merge rules, we will roll them back
>> and
>>> work with the committer to fix the issues.
>>> 
>>> Thanks,
>>> -John
>>> 
>>> [1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/
>>> Release+principles+for+Apache+CloudStack+4.6+and+up
>>> 
>>>> 
>>> john.burwell@shapeblue.com
>>> www.shapeblue.com
>>> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
>>> @shapeblue
>>> 
>>> 
>>> 
>>> On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com> wrote:
>>>> 
>>>> I will let the RMs for this release weigh in on this, but here are my
>>>> thoughts.
>>>> 
>>>> If we let anyone commit, I think the following rules MUST be followed:
>>>> - No commits directly to the repo, which are not a merge of a GitHub
>> Pull
>>>> Request.  So every change to the repo should be through `git pr ####`
>>> using
>>>> this tool [1].  This ensures everything that gets committed goes
>> through
>>>> our CI pipeline and is verified before commit.  It also makes it easier
>>> for
>>>> us to be able to script the generation of release notes and correlate
>> the
>>>> commit history with other sources (GitHub, Jira, etc).  I will submit a
>>> PR
>>>> with tools for generating release notes based on merged GitHub PRs
>>> soon...
>>>> - Every PR merged into a previous branch must be forward merged to
>> later
>>>> branches.  This is done using this tool [2] in order to make sure the
>>>> commit hashes are consistent across all branches.  This is for
>>> auditability
>>>> and comparing what exists in one branch vs another.
>>>> 
>>>> [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
>>>> [2] https://github.com/apache/cloudstack/blob/master/tools/
>>> git/git-fwd-merge
>>>> 
>>>> This is my two cents anyway...
>>>> 
>>>> *Will STEVENS*
>>>> Lead Developer
>>>> 
>>>> *CloudOps* *| *Cloud Solutions Experts
>>>> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
>>>> w cloudops.com *|* tw @CloudOps_
>>>> 
>>>> On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <rohit.yadav@shapeblue.com
>>> 
>>>> wrote:
>>>> 
>>>>> I disagree with having only RMs to merge PRs when we're not in freeze.
>>> In
>>>>> general we've implicitly honoured this behaviour but it was never
>> voted.
>>>>> Our RMs may not be as active as we want them to be, while they are
>>>>> historically good at writing policies but it's hard to put them in
>>> practice
>>>>> and further it's understandable that they may not be able to volunteer
>>>>> enough time and effort to get the PRs sorted.
>>>>> 
>>>>> 
>>>>> Over past months this and similar practices have killed our commit and
>>>>> development momentum, and I think it's not a healthy practice for our
>>>>> community to engage in further. Instead, we can have committers (and
>> in
>>>>> future maybe bots) to merge a PR if they have 2 LGTMs, no objections
>> and
>>>>> test results from both Travis (simulator) and Bubble/BVT/Trillian
>> (tests
>>>>> against at least one and ideally all three hypervisors - KVM, Xen and
>>>>> VMware).
>>>>> 
>>>>> 
>>>>> Regards.
>>>>> 
>>>>> ________________________________
>>>>> From: Rajani Karuturi <ra...@apache.org>
>>>>> Sent: 03 August 2016 13:43:54
>>>>> To: dev@cloudstack.apache.org
>>>>> Subject: Re: 4.10.0 release
>>>>> 
>>>>> ouch.. looks like my email client stripped all the new lines.
>>>>> Re-sending from webmail
>>>>> 
>>>>> Hi All,
>>>>> These are the proposed dates for 4.10 release (copied from another
>>> thread
>>>>> by John Burwell)
>>>>> * Development (master open to features and defect fixes): 1 August
>> 2016
>>> -
>>>>> 11 September 2016
>>>>> * Testing: 12 - 18 September 2016
>>>>> * RC Voting: 19 - 25 September 2016
>>>>> * Release: 26 September 2016
>>>>> 
>>>>> master is open for 4.10.0.
>>>>> It still means that only PRs will be merged and they will be merged
>>> only by
>>>>> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
>>>>> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
>>>>> It would help in reviewing if the contributor could put information
>>> about
>>>>> the feature/bug and how its tested.
>>>>> Also, please rebase any pending PRs you have to the latest master or
>> the
>>>>> 4.9 release branch.
>>>>> 
>>>>> Finally, anyone in the community can review and test PRs. We currently
>>> have
>>>>> huge backlog. We need everyones help in getting them merged(especially
>>>>> running the tests)
>>>>> Looking forward for your help in merging PRs.
>>>>> Happy PR bashing!!
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> 
>>>>> 
>>>>> ~Rajani
>>>>> 
>>>>> 
>>>>> rohit.yadav@shapeblue.com
>>>>> www.shapeblue.com
>>>>> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
>>>>> @shapeblue
>>>>> 
>>>>> 
>>>>> 
>>>>> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com>
>> wrote:
>>>>> 
>>>>>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
>>>>>> 
>>>>>> --
>>>>>> Erik
>>>>>> 
>>>>>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
>>>>> wrote:
>>>>>> 
>>>>>>> Hi All,These are the proposed dates for 4.10 release (copied from
>>>>>>> another thread by John Burwell)* Development (master open to
>>>>>>> features and defect fixes): 1 August 2016 - 11 September 2016*
>>>>>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
>>>>>>> 2016* Release: 26 September 2016
>>>>>>> master is open for 4.10.0. It still means that only PRs will be
>>>>>>> merged and they will be merged only by RMs ( For 4.10.0, its John
>>>>>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
>>>>>>> code review and 1 test review.It would help in reviewing if the
>>>>>>> contributor could put information about the feature/bug and how
>>>>>>> its tested.Also, please rebase any pending PRs you have to the
>>>>>>> latest master or the 4.9 release branch.
>>>>>>> Finally, anyone in the community can review and test PRs. We
>>>>>>> currently have huge backlog. We need everyones help in getting
>>>>>>> them merged(especially running the tests)Looking forward for your
>>>>>>> help in merging PRs. Happy PR bashing!!
>>>>>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
>>>>>> 
>>>>> 
>>> 
>>> 
>> 


Re: 4.10.0 release

Posted by Will Stevens <ws...@cloudops.com>.
Rajani, you have very valid points and they echo my concerns.

I also agree that the CI (actual testing of PRs against real hardware
environments) is required in order for a PR to be committed.  This is where
ALL the work is for the RM in the current process.  As RM, I ended up with
10 CI environments running in parallel in order to get testing done to at
least a basic level.  This type of testing MUST continue or we are at risk
of falling into old pitfalls around stability.

John and Paul, how feasible would it be for me to setup an automated
process for pulling and testing PRs with Trillian?  I have environments
that I can test on, but I don't have the time to manage 8=10 environments
testing in parallel by hand.  We need get to the point where PRs are queued
and the testing of these PRs on real hardware is automated.  The manual
approach is not viable long term (trust me).  :)

*Will STEVENS*
Lead Developer

*CloudOps* *| *Cloud Solutions Experts
420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
w cloudops.com *|* tw @CloudOps_

On Thu, Aug 4, 2016 at 1:19 PM, Rajani Karuturi <ra...@apache.org> wrote:

> John,
> We understand the bylaws. But, practically we saw master in an unusable
> state for many months. This is not just about trust. CloudStack is so vast
> that its difficult for a single person to test all the affected areas. Many
> a times, people does not even have enough hardware/knowledge to run
> integration tests. Bugs which are found at a later point of time have very
> high cost. Finding that commit which broke something is very hard task.
> Rolling back is the easiest part of it.
>
> In an ideal world, we could just allow everyone to commit (maybe we could
> even allow non committers to commit and increase the velocity). But, it did
> not workout. which is why we have all these rules based on previous
> learning. For 4.6, we did not start with RM only merges. But, after many
> failed attempts we came to that conclusion.
>
> Watching the branches and policing is more difficult than allowing only a
> few people to commit.
>
> I do understand Rohit's concern about RM being bottleneck. The initial idea
> was we will have more than one RM(may be around 5) so that one of them
> would be available always. But, given the amount of time it takes to do the
> RM job, we did not get enough volunteers.
>
> Even now, I dont think its the RM that is the bottleneck. But, its the
> number of people with real hardware who are willing to run integration
> tests for the PRs. Most of the efforts of RM goes in setting up test
> environments, running tests, bringing the results back to PR.
>
> Maybe, we could follow a middle ground like this.
> We as a community can authorize few more people to merge PRs in addition to
> RMs.
>
> How do we select these additional volunteers?
> Any committer can just come forward and declare(in a mail to dev@) that he
> read the release principles[1] and would like to volunteer to commit.
>
> [1]
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> Release+principles+for+Apache+CloudStack+4.6+and+up
>
> ~Rajani
> http://cloudplatform.accelerite.com/
>
> On Thu, Aug 4, 2016 at 8:28 PM, John Burwell <jo...@shapeblue.com>
> wrote:
>
> > Rajani and Will,
> >
> > It is actually not up to the release managers to make such a
> > determination.  Our bylaws state that anyone with a commit bit can commit
> > (or, if necessary, rollback a commit).  By granting someone a commit bit,
> > we have imparted a trust that an individual will protect the integrity of
> > the codebase and work in the best interest of the community.  If someone
> > makes a mistake (which has happened), we can easily rollback a commit.
> We
> > have even decided to rollback commits after getting 2 LGTMs on a PR.
> Under
> > the Apache Way, committers are encouraged to propel a project forward.
> > Restricting merges to RMs not only restricts velocity and it also limits
> > the energy/contributions of our large committer base.
> >
> > In terms of the rules below, we have, by consensus, accepted a set of
> > release principles [1] that specify how PRs should be reviewed and
> accepted
> > for merge to master.   If the guidelines outlined in that document are
> not
> > followed, we have accepted that another committer may rollback a commit.
> > Rajani and I will be watching the release branches.  If we find commits
> > that do not conform to our accepted merge rules, we will roll them back
> and
> > work with the committer to fix the issues.
> >
> > Thanks,
> > -John
> >
> > [1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> > Release+principles+for+Apache+CloudStack+4.6+and+up
> >
> > >
> > john.burwell@shapeblue.com
> > www.shapeblue.com
> > 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> > @shapeblue
> >
> >
> >
> > On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com> wrote:
> > >
> > > I will let the RMs for this release weigh in on this, but here are my
> > > thoughts.
> > >
> > > If we let anyone commit, I think the following rules MUST be followed:
> > > - No commits directly to the repo, which are not a merge of a GitHub
> Pull
> > > Request.  So every change to the repo should be through `git pr ####`
> > using
> > > this tool [1].  This ensures everything that gets committed goes
> through
> > > our CI pipeline and is verified before commit.  It also makes it easier
> > for
> > > us to be able to script the generation of release notes and correlate
> the
> > > commit history with other sources (GitHub, Jira, etc).  I will submit a
> > PR
> > > with tools for generating release notes based on merged GitHub PRs
> > soon...
> > > - Every PR merged into a previous branch must be forward merged to
> later
> > > branches.  This is done using this tool [2] in order to make sure the
> > > commit hashes are consistent across all branches.  This is for
> > auditability
> > > and comparing what exists in one branch vs another.
> > >
> > > [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
> > > [2] https://github.com/apache/cloudstack/blob/master/tools/
> > git/git-fwd-merge
> > >
> > > This is my two cents anyway...
> > >
> > > *Will STEVENS*
> > > Lead Developer
> > >
> > > *CloudOps* *| *Cloud Solutions Experts
> > > 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> > > w cloudops.com *|* tw @CloudOps_
> > >
> > > On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <rohit.yadav@shapeblue.com
> >
> > > wrote:
> > >
> > >> I disagree with having only RMs to merge PRs when we're not in freeze.
> > In
> > >> general we've implicitly honoured this behaviour but it was never
> voted.
> > >> Our RMs may not be as active as we want them to be, while they are
> > >> historically good at writing policies but it's hard to put them in
> > practice
> > >> and further it's understandable that they may not be able to volunteer
> > >> enough time and effort to get the PRs sorted.
> > >>
> > >>
> > >> Over past months this and similar practices have killed our commit and
> > >> development momentum, and I think it's not a healthy practice for our
> > >> community to engage in further. Instead, we can have committers (and
> in
> > >> future maybe bots) to merge a PR if they have 2 LGTMs, no objections
> and
> > >> test results from both Travis (simulator) and Bubble/BVT/Trillian
> (tests
> > >> against at least one and ideally all three hypervisors - KVM, Xen and
> > >> VMware).
> > >>
> > >>
> > >> Regards.
> > >>
> > >> ________________________________
> > >> From: Rajani Karuturi <ra...@apache.org>
> > >> Sent: 03 August 2016 13:43:54
> > >> To: dev@cloudstack.apache.org
> > >> Subject: Re: 4.10.0 release
> > >>
> > >> ouch.. looks like my email client stripped all the new lines.
> > >> Re-sending from webmail
> > >>
> > >> Hi All,
> > >> These are the proposed dates for 4.10 release (copied from another
> > thread
> > >> by John Burwell)
> > >> * Development (master open to features and defect fixes): 1 August
> 2016
> > -
> > >> 11 September 2016
> > >> * Testing: 12 - 18 September 2016
> > >> * RC Voting: 19 - 25 September 2016
> > >> * Release: 26 September 2016
> > >>
> > >> master is open for 4.10.0.
> > >> It still means that only PRs will be merged and they will be merged
> > only by
> > >> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
> > >> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
> > >> It would help in reviewing if the contributor could put information
> > about
> > >> the feature/bug and how its tested.
> > >> Also, please rebase any pending PRs you have to the latest master or
> the
> > >> 4.9 release branch.
> > >>
> > >> Finally, anyone in the community can review and test PRs. We currently
> > have
> > >> huge backlog. We need everyones help in getting them merged(especially
> > >> running the tests)
> > >> Looking forward for your help in merging PRs.
> > >> Happy PR bashing!!
> > >>
> > >> Thanks,
> > >>
> > >>
> > >>
> > >> ~Rajani
> > >>
> > >>
> > >> rohit.yadav@shapeblue.com
> > >> www.shapeblue.com
> > >> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> > >> @shapeblue
> > >>
> > >>
> > >>
> > >> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com>
> wrote:
> > >>
> > >>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
> > >>>
> > >>> --
> > >>> Erik
> > >>>
> > >>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
> > >> wrote:
> > >>>
> > >>>> Hi All,These are the proposed dates for 4.10 release (copied from
> > >>>> another thread by John Burwell)* Development (master open to
> > >>>> features and defect fixes): 1 August 2016 - 11 September 2016*
> > >>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> > >>>> 2016* Release: 26 September 2016
> > >>>> master is open for 4.10.0. It still means that only PRs will be
> > >>>> merged and they will be merged only by RMs ( For 4.10.0, its John
> > >>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> > >>>> code review and 1 test review.It would help in reviewing if the
> > >>>> contributor could put information about the feature/bug and how
> > >>>> its tested.Also, please rebase any pending PRs you have to the
> > >>>> latest master or the 4.9 release branch.
> > >>>> Finally, anyone in the community can review and test PRs. We
> > >>>> currently have huge backlog. We need everyones help in getting
> > >>>> them merged(especially running the tests)Looking forward for your
> > >>>> help in merging PRs. Happy PR bashing!!
> > >>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
> > >>>
> > >>
> >
> >
>

Re: 4.10.0 release

Posted by Rajani Karuturi <ra...@apache.org>.
John,
We understand the bylaws. But, practically we saw master in an unusable
state for many months. This is not just about trust. CloudStack is so vast
that its difficult for a single person to test all the affected areas. Many
a times, people does not even have enough hardware/knowledge to run
integration tests. Bugs which are found at a later point of time have very
high cost. Finding that commit which broke something is very hard task.
Rolling back is the easiest part of it.

In an ideal world, we could just allow everyone to commit (maybe we could
even allow non committers to commit and increase the velocity). But, it did
not workout. which is why we have all these rules based on previous
learning. For 4.6, we did not start with RM only merges. But, after many
failed attempts we came to that conclusion.

Watching the branches and policing is more difficult than allowing only a
few people to commit.

I do understand Rohit's concern about RM being bottleneck. The initial idea
was we will have more than one RM(may be around 5) so that one of them
would be available always. But, given the amount of time it takes to do the
RM job, we did not get enough volunteers.

Even now, I dont think its the RM that is the bottleneck. But, its the
number of people with real hardware who are willing to run integration
tests for the PRs. Most of the efforts of RM goes in setting up test
environments, running tests, bringing the results back to PR.

Maybe, we could follow a middle ground like this.
We as a community can authorize few more people to merge PRs in addition to
RMs.

How do we select these additional volunteers?
Any committer can just come forward and declare(in a mail to dev@) that he
read the release principles[1] and would like to volunteer to commit.

[1]
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Release+principles+for+Apache+CloudStack+4.6+and+up

~Rajani
http://cloudplatform.accelerite.com/

On Thu, Aug 4, 2016 at 8:28 PM, John Burwell <jo...@shapeblue.com>
wrote:

> Rajani and Will,
>
> It is actually not up to the release managers to make such a
> determination.  Our bylaws state that anyone with a commit bit can commit
> (or, if necessary, rollback a commit).  By granting someone a commit bit,
> we have imparted a trust that an individual will protect the integrity of
> the codebase and work in the best interest of the community.  If someone
> makes a mistake (which has happened), we can easily rollback a commit.  We
> have even decided to rollback commits after getting 2 LGTMs on a PR.  Under
> the Apache Way, committers are encouraged to propel a project forward.
> Restricting merges to RMs not only restricts velocity and it also limits
> the energy/contributions of our large committer base.
>
> In terms of the rules below, we have, by consensus, accepted a set of
> release principles [1] that specify how PRs should be reviewed and accepted
> for merge to master.   If the guidelines outlined in that document are not
> followed, we have accepted that another committer may rollback a commit.
> Rajani and I will be watching the release branches.  If we find commits
> that do not conform to our accepted merge rules, we will roll them back and
> work with the committer to fix the issues.
>
> Thanks,
> -John
>
> [1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> Release+principles+for+Apache+CloudStack+4.6+and+up
>
> >
> john.burwell@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> @shapeblue
>
>
>
> On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com> wrote:
> >
> > I will let the RMs for this release weigh in on this, but here are my
> > thoughts.
> >
> > If we let anyone commit, I think the following rules MUST be followed:
> > - No commits directly to the repo, which are not a merge of a GitHub Pull
> > Request.  So every change to the repo should be through `git pr ####`
> using
> > this tool [1].  This ensures everything that gets committed goes through
> > our CI pipeline and is verified before commit.  It also makes it easier
> for
> > us to be able to script the generation of release notes and correlate the
> > commit history with other sources (GitHub, Jira, etc).  I will submit a
> PR
> > with tools for generating release notes based on merged GitHub PRs
> soon...
> > - Every PR merged into a previous branch must be forward merged to later
> > branches.  This is done using this tool [2] in order to make sure the
> > commit hashes are consistent across all branches.  This is for
> auditability
> > and comparing what exists in one branch vs another.
> >
> > [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
> > [2] https://github.com/apache/cloudstack/blob/master/tools/
> git/git-fwd-merge
> >
> > This is my two cents anyway...
> >
> > *Will STEVENS*
> > Lead Developer
> >
> > *CloudOps* *| *Cloud Solutions Experts
> > 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> > w cloudops.com *|* tw @CloudOps_
> >
> > On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <ro...@shapeblue.com>
> > wrote:
> >
> >> I disagree with having only RMs to merge PRs when we're not in freeze.
> In
> >> general we've implicitly honoured this behaviour but it was never voted.
> >> Our RMs may not be as active as we want them to be, while they are
> >> historically good at writing policies but it's hard to put them in
> practice
> >> and further it's understandable that they may not be able to volunteer
> >> enough time and effort to get the PRs sorted.
> >>
> >>
> >> Over past months this and similar practices have killed our commit and
> >> development momentum, and I think it's not a healthy practice for our
> >> community to engage in further. Instead, we can have committers (and in
> >> future maybe bots) to merge a PR if they have 2 LGTMs, no objections and
> >> test results from both Travis (simulator) and Bubble/BVT/Trillian (tests
> >> against at least one and ideally all three hypervisors - KVM, Xen and
> >> VMware).
> >>
> >>
> >> Regards.
> >>
> >> ________________________________
> >> From: Rajani Karuturi <ra...@apache.org>
> >> Sent: 03 August 2016 13:43:54
> >> To: dev@cloudstack.apache.org
> >> Subject: Re: 4.10.0 release
> >>
> >> ouch.. looks like my email client stripped all the new lines.
> >> Re-sending from webmail
> >>
> >> Hi All,
> >> These are the proposed dates for 4.10 release (copied from another
> thread
> >> by John Burwell)
> >> * Development (master open to features and defect fixes): 1 August 2016
> -
> >> 11 September 2016
> >> * Testing: 12 - 18 September 2016
> >> * RC Voting: 19 - 25 September 2016
> >> * Release: 26 September 2016
> >>
> >> master is open for 4.10.0.
> >> It still means that only PRs will be merged and they will be merged
> only by
> >> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
> >> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
> >> It would help in reviewing if the contributor could put information
> about
> >> the feature/bug and how its tested.
> >> Also, please rebase any pending PRs you have to the latest master or the
> >> 4.9 release branch.
> >>
> >> Finally, anyone in the community can review and test PRs. We currently
> have
> >> huge backlog. We need everyones help in getting them merged(especially
> >> running the tests)
> >> Looking forward for your help in merging PRs.
> >> Happy PR bashing!!
> >>
> >> Thanks,
> >>
> >>
> >>
> >> ~Rajani
> >>
> >>
> >> rohit.yadav@shapeblue.com
> >> www.shapeblue.com
> >> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> >> @shapeblue
> >>
> >>
> >>
> >> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com> wrote:
> >>
> >>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
> >>>
> >>> --
> >>> Erik
> >>>
> >>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
> >> wrote:
> >>>
> >>>> Hi All,These are the proposed dates for 4.10 release (copied from
> >>>> another thread by John Burwell)* Development (master open to
> >>>> features and defect fixes): 1 August 2016 - 11 September 2016*
> >>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> >>>> 2016* Release: 26 September 2016
> >>>> master is open for 4.10.0. It still means that only PRs will be
> >>>> merged and they will be merged only by RMs ( For 4.10.0, its John
> >>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> >>>> code review and 1 test review.It would help in reviewing if the
> >>>> contributor could put information about the feature/bug and how
> >>>> its tested.Also, please rebase any pending PRs you have to the
> >>>> latest master or the 4.9 release branch.
> >>>> Finally, anyone in the community can review and test PRs. We
> >>>> currently have huge backlog. We need everyones help in getting
> >>>> them merged(especially running the tests)Looking forward for your
> >>>> help in merging PRs. Happy PR bashing!!
> >>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
> >>>
> >>
>
>

Re: 4.10.0 release

Posted by ilya <il...@gmail.com>.
Hi Guys,

Gave this thread a read - sorry i'm a bit late on this topic.

I agree with what Will, John and Rohit proposed. I also understand
Rajani's hesitancy - we dont want master to become a zoo.

In summary, i think the proposed workflow should avoid the zoo case and
give us structure that will yield some stability.

* 1 PR
* 1 Test (at a minimum) - be it Blue Orangutan, Bubble, Marvin,
screenshot - when tests dont apply, etc..
* 2 LGTMs
-> then merge

This should be a decent gating framework to avoid not well tested commits.

We just need a a consistent way of determining which tests should be ran.

Regards
ilya

On 8/4/16 10:19 AM, Will Stevens wrote:
> Yes, I agree with this.
> 
> CVEs need to be handled in security@ and will be added to the branches
> manually once they have been agreed upon there, so no PRs are needed for
> them.
> 
> I also agree that exceptions can be made for version changes in POMs and
> such because those are scripted changes which are part of the release
> process.  We may want to update the Release Procedure documentation to
> include some details around the commits which Rohit made (which I
> highlighted earlier) as those probably fall into this type of situation as
> well.  Not sure those can be scripted as part of cutting a release, but
> they are related to the release process, so detailed instructions for
> making those changes would be helpful to include.
> 
> In general, yes, your statements are all correct.  We may want to send out
> a bit of a notice on the dev@ list to highlight this.  For the last little
> while we have been having the RMs handle all of the merging of code, so we
> may want to officially inform the dev community that if you have commit
> access you can commit, but you need to follow these guidelines [1].  I
> would even go so far as to give a summary of the process.
> 
> *Example:*
> Create a GH PR with the change and get 2 LGTM (including proof of tests
> passing).
> 
> Once a PR is ready, commit it with the following flow.  Let's assume the
> change is for 4.8 and needs to be forward merged.
> 
> $ git fetch origin
> $ git checkout 4.8
> $ git rebase origin 4.8
> $ git pr <pr_number>
> $ git log -p
> $ git push origin 4.8
> $ git checkout 4.9
> $ git rebase origin 4.9
> $ git fwd-merge 4.8
> $ git log -p
> $ git push origin 4.9
> $ git checkout master
> $ git rebase origin master
> $ git fwd-merge 4.9
> $ git log -p
> $ git push origin master
> 
> You can decipher this workflow from the Release Principles [1] document,
> but it is not nearly this clear.  I suggest we make this process more
> obvious so everyone knows what they are doing if they mae commits...
> 
> [1]
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Release+principles+for+Apache+CloudStack+4.6+and+up
> 
> *Will STEVENS*
> Lead Developer
> 
> *CloudOps* *| *Cloud Solutions Experts
> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> w cloudops.com *|* tw @CloudOps_
> 
> On Thu, Aug 4, 2016 at 12:17 PM, John Burwell <jo...@shapeblue.com>
> wrote:
> 
>> Will,
>>
>> My understanding of the release principles is that all changes must have a
>> PR with the exception of CVE fixes.  Since we must accept CVE fixes in
>> private, the 2 LGTM rule is applied on the security@ mailing list and on
>> private JIRA security ticket.  I would also say that the release commits
>> (e.g. tags, change of Maven versions in the POMs, etc) could also be
>> granted an exception to the rule.  Otherwise, yes, my understanding is that
>> everything else requires a PR.  Do you agree with that interpretation?
>>
>> Thanks,
>> -John
>>
>> P.S. I plan to consolidate the release section of the wiki shortly as we
>> have a number of topics that ostensibly conflict with each other.
>>
>>>
>> john.burwell@shapeblue.com
>> www.shapeblue.com
>> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
>> @shapeblue
>>
>>
>>
>> On Aug 4, 2016, at 12:02 PM, Will Stevens <ws...@cloudops.com> wrote:
>>>
>>>> john.burwell@shapeblue.com
>>
>>
> 

Re: 4.10.0 release

Posted by Will Stevens <ws...@cloudops.com>.
Yes, I agree with this.

CVEs need to be handled in security@ and will be added to the branches
manually once they have been agreed upon there, so no PRs are needed for
them.

I also agree that exceptions can be made for version changes in POMs and
such because those are scripted changes which are part of the release
process.  We may want to update the Release Procedure documentation to
include some details around the commits which Rohit made (which I
highlighted earlier) as those probably fall into this type of situation as
well.  Not sure those can be scripted as part of cutting a release, but
they are related to the release process, so detailed instructions for
making those changes would be helpful to include.

In general, yes, your statements are all correct.  We may want to send out
a bit of a notice on the dev@ list to highlight this.  For the last little
while we have been having the RMs handle all of the merging of code, so we
may want to officially inform the dev community that if you have commit
access you can commit, but you need to follow these guidelines [1].  I
would even go so far as to give a summary of the process.

*Example:*
Create a GH PR with the change and get 2 LGTM (including proof of tests
passing).

Once a PR is ready, commit it with the following flow.  Let's assume the
change is for 4.8 and needs to be forward merged.

$ git fetch origin
$ git checkout 4.8
$ git rebase origin 4.8
$ git pr <pr_number>
$ git log -p
$ git push origin 4.8
$ git checkout 4.9
$ git rebase origin 4.9
$ git fwd-merge 4.8
$ git log -p
$ git push origin 4.9
$ git checkout master
$ git rebase origin master
$ git fwd-merge 4.9
$ git log -p
$ git push origin master

You can decipher this workflow from the Release Principles [1] document,
but it is not nearly this clear.  I suggest we make this process more
obvious so everyone knows what they are doing if they mae commits...

[1]
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Release+principles+for+Apache+CloudStack+4.6+and+up

*Will STEVENS*
Lead Developer

*CloudOps* *| *Cloud Solutions Experts
420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
w cloudops.com *|* tw @CloudOps_

On Thu, Aug 4, 2016 at 12:17 PM, John Burwell <jo...@shapeblue.com>
wrote:

> Will,
>
> My understanding of the release principles is that all changes must have a
> PR with the exception of CVE fixes.  Since we must accept CVE fixes in
> private, the 2 LGTM rule is applied on the security@ mailing list and on
> private JIRA security ticket.  I would also say that the release commits
> (e.g. tags, change of Maven versions in the POMs, etc) could also be
> granted an exception to the rule.  Otherwise, yes, my understanding is that
> everything else requires a PR.  Do you agree with that interpretation?
>
> Thanks,
> -John
>
> P.S. I plan to consolidate the release section of the wiki shortly as we
> have a number of topics that ostensibly conflict with each other.
>
> >
> john.burwell@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> @shapeblue
>
>
>
> On Aug 4, 2016, at 12:02 PM, Will Stevens <ws...@cloudops.com> wrote:
> >
> >> john.burwell@shapeblue.com
>
>

Re: 4.10.0 release

Posted by John Burwell <jo...@shapeblue.com>.
Will,

My understanding of the release principles is that all changes must have a PR with the exception of CVE fixes.  Since we must accept CVE fixes in private, the 2 LGTM rule is applied on the security@ mailing list and on private JIRA security ticket.  I would also say that the release commits (e.g. tags, change of Maven versions in the POMs, etc) could also be granted an exception to the rule.  Otherwise, yes, my understanding is that everything else requires a PR.  Do you agree with that interpretation?

Thanks,
-John

P.S. I plan to consolidate the release section of the wiki shortly as we have a number of topics that ostensibly conflict with each other.

> 
john.burwell@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
@shapeblue
  
 

On Aug 4, 2016, at 12:02 PM, Will Stevens <ws...@cloudops.com> wrote:
> 
>> john.burwell@shapeblue.com


Re: 4.10.0 release

Posted by Will Stevens <ws...@cloudops.com>.
So if a change requires 2 LGTM before it can be committed, does that not
require that a PR be created for every change in order for us to have a
forum for the LGTM consensus?

I am trying to make sure we are careful about reverting back to a
free-for-all commit strategy so we don't run into issues with the stability
of master again.

I am obviously not trying to dictate anything, but I would like us to learn
from our previous mistakes and having a clear consensus on this topic is in
all of our interests.

*Will STEVENS*
Lead Developer

*CloudOps* *| *Cloud Solutions Experts
420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
w cloudops.com *|* tw @CloudOps_

On Thu, Aug 4, 2016 at 11:45 AM, John Burwell <jo...@shapeblue.com>
wrote:

> Will,
>
> My point is that Rajani and I’s opinions on this topic (or any other)
> carry no more weight than any other committer.  We have volunteered to herd
> the cats to get releases out door.
>
> What is CI?  Within our community, there are many different definitions.
> I go with the industry definition — a central system of truth that builds
> and tests every commit.  While I would love to have such a system, it does
> not currently exist across the community (accepting that Travis CI
> partially implements the concept).  Our agreed upon principles do not
> mention CI.  They only require a 2 LGTMs (at least one for code and at
> least one for test).  If we want to change it, we need to ensure we have
> consensus on both the terms and any changes to guidelines.
>
> In terms of the two commits mentioned, I will look into them and determine
> whether or not I have any issues.  However, if you (or anyone) has an issue
> with a commit, there is no need to bottleneck around the RMs.  Open a
> discussion on dev@ to clarify/resolve any issues/concerns.  In the
> unlikely event that the we cannot find consensus on issues/concerns, then
> rollback the commit.
>
> Thanks,
> -John
>
> >
> john.burwell@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> @shapeblue
>
>
>
> On Aug 4, 2016, at 11:11 AM, Will Stevens <ws...@cloudops.com> wrote:
> >
> > I am not saying that we should not let other people commit.  I am saying
> > that we need to be clear about the process we expect them to follow.
> John,
> > yes, we have the principles that you linked, but are we enforcing them?
> >
> > For example, these two commits were made directly to master without any
> > associated PR.
> > - 546a3f8884398391760b76ddcf02e6bc1f30d642
> > - fd7273b446738c0ebfae84189502dbdcd18bfd42
> >
> > I know they are required and they should be non-destructive, but they did
> > not follow our principles and go through CI, so do we really know.  Is
> that
> > ok?
> >
> > This is my point.  If we let anyone commit (which is their right as you
> > correctly point out), we need to start enforcing our commit principles.
> I
> > think it is important to have clarity on this point ASAP so everyone is
> > comfortable with these details.
> >
> > Cheers,
> >
> > *Will STEVENS*
> > Lead Developer
> >
> > *CloudOps* *| *Cloud Solutions Experts
> > 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> > w cloudops.com *|* tw @CloudOps_
> >
> > On Thu, Aug 4, 2016 at 10:58 AM, John Burwell <
> john.burwell@shapeblue.com>
> > wrote:
> >
> >> Rajani and Will,
> >>
> >> It is actually not up to the release managers to make such a
> >> determination.  Our bylaws state that anyone with a commit bit can
> commit
> >> (or, if necessary, rollback a commit).  By granting someone a commit
> bit,
> >> we have imparted a trust that an individual will protect the integrity
> of
> >> the codebase and work in the best interest of the community.  If someone
> >> makes a mistake (which has happened), we can easily rollback a commit.
> We
> >> have even decided to rollback commits after getting 2 LGTMs on a PR.
> Under
> >> the Apache Way, committers are encouraged to propel a project forward.
> >> Restricting merges to RMs not only restricts velocity and it also limits
> >> the energy/contributions of our large committer base.
> >>
> >> In terms of the rules below, we have, by consensus, accepted a set of
> >> release principles [1] that specify how PRs should be reviewed and
> accepted
> >> for merge to master.   If the guidelines outlined in that document are
> not
> >> followed, we have accepted that another committer may rollback a commit.
> >> Rajani and I will be watching the release branches.  If we find commits
> >> that do not conform to our accepted merge rules, we will roll them back
> and
> >> work with the committer to fix the issues.
> >>
> >> Thanks,
> >> -John
> >>
> >> [1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> >> Release+principles+for+Apache+CloudStack+4.6+and+up
> >>
> >>>
> >> john.burwell@shapeblue.com
> >> www.shapeblue.com
> >> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> >> @shapeblue
> >>
> >>
> >>
> >> On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com>
> wrote:
> >>>
> >>> I will let the RMs for this release weigh in on this, but here are my
> >>> thoughts.
> >>>
> >>> If we let anyone commit, I think the following rules MUST be followed:
> >>> - No commits directly to the repo, which are not a merge of a GitHub
> Pull
> >>> Request.  So every change to the repo should be through `git pr ####`
> >> using
> >>> this tool [1].  This ensures everything that gets committed goes
> through
> >>> our CI pipeline and is verified before commit.  It also makes it easier
> >> for
> >>> us to be able to script the generation of release notes and correlate
> the
> >>> commit history with other sources (GitHub, Jira, etc).  I will submit a
> >> PR
> >>> with tools for generating release notes based on merged GitHub PRs
> >> soon...
> >>> - Every PR merged into a previous branch must be forward merged to
> later
> >>> branches.  This is done using this tool [2] in order to make sure the
> >>> commit hashes are consistent across all branches.  This is for
> >> auditability
> >>> and comparing what exists in one branch vs another.
> >>>
> >>> [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
> >>> [2] https://github.com/apache/cloudstack/blob/master/tools/
> >> git/git-fwd-merge
> >>>
> >>> This is my two cents anyway...
> >>>
> >>> *Will STEVENS*
> >>> Lead Developer
> >>>
> >>> *CloudOps* *| *Cloud Solutions Experts
> >>> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> >>> w cloudops.com *|* tw @CloudOps_
> >>>
> >>> On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <rohit.yadav@shapeblue.com
> >
> >>> wrote:
> >>>
> >>>> I disagree with having only RMs to merge PRs when we're not in freeze.
> >> In
> >>>> general we've implicitly honoured this behaviour but it was never
> voted.
> >>>> Our RMs may not be as active as we want them to be, while they are
> >>>> historically good at writing policies but it's hard to put them in
> >> practice
> >>>> and further it's understandable that they may not be able to volunteer
> >>>> enough time and effort to get the PRs sorted.
> >>>>
> >>>>
> >>>> Over past months this and similar practices have killed our commit and
> >>>> development momentum, and I think it's not a healthy practice for our
> >>>> community to engage in further. Instead, we can have committers (and
> in
> >>>> future maybe bots) to merge a PR if they have 2 LGTMs, no objections
> and
> >>>> test results from both Travis (simulator) and Bubble/BVT/Trillian
> (tests
> >>>> against at least one and ideally all three hypervisors - KVM, Xen and
> >>>> VMware).
> >>>>
> >>>>
> >>>> Regards.
> >>>>
> >>>> ________________________________
> >>>> From: Rajani Karuturi <ra...@apache.org>
> >>>> Sent: 03 August 2016 13:43:54
> >>>> To: dev@cloudstack.apache.org
> >>>> Subject: Re: 4.10.0 release
> >>>>
> >>>> ouch.. looks like my email client stripped all the new lines.
> >>>> Re-sending from webmail
> >>>>
> >>>> Hi All,
> >>>> These are the proposed dates for 4.10 release (copied from another
> >> thread
> >>>> by John Burwell)
> >>>> * Development (master open to features and defect fixes): 1 August
> 2016
> >> -
> >>>> 11 September 2016
> >>>> * Testing: 12 - 18 September 2016
> >>>> * RC Voting: 19 - 25 September 2016
> >>>> * Release: 26 September 2016
> >>>>
> >>>> master is open for 4.10.0.
> >>>> It still means that only PRs will be merged and they will be merged
> >> only by
> >>>> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
> >>>> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
> >>>> It would help in reviewing if the contributor could put information
> >> about
> >>>> the feature/bug and how its tested.
> >>>> Also, please rebase any pending PRs you have to the latest master or
> the
> >>>> 4.9 release branch.
> >>>>
> >>>> Finally, anyone in the community can review and test PRs. We currently
> >> have
> >>>> huge backlog. We need everyones help in getting them merged(especially
> >>>> running the tests)
> >>>> Looking forward for your help in merging PRs.
> >>>> Happy PR bashing!!
> >>>>
> >>>> Thanks,
> >>>>
> >>>>
> >>>>
> >>>> ~Rajani
> >>>>
> >>>>
> >>>> rohit.yadav@shapeblue.com
> >>>> www.shapeblue.com
> >>>> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> >>>> @shapeblue
> >>>>
> >>>>
> >>>>
> >>>> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com>
> wrote:
> >>>>
> >>>>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
> >>>>>
> >>>>> --
> >>>>> Erik
> >>>>>
> >>>>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
> >>>> wrote:
> >>>>>
> >>>>>> Hi All,These are the proposed dates for 4.10 release (copied from
> >>>>>> another thread by John Burwell)* Development (master open to
> >>>>>> features and defect fixes): 1 August 2016 - 11 September 2016*
> >>>>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> >>>>>> 2016* Release: 26 September 2016
> >>>>>> master is open for 4.10.0. It still means that only PRs will be
> >>>>>> merged and they will be merged only by RMs ( For 4.10.0, its John
> >>>>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> >>>>>> code review and 1 test review.It would help in reviewing if the
> >>>>>> contributor could put information about the feature/bug and how
> >>>>>> its tested.Also, please rebase any pending PRs you have to the
> >>>>>> latest master or the 4.9 release branch.
> >>>>>> Finally, anyone in the community can review and test PRs. We
> >>>>>> currently have huge backlog. We need everyones help in getting
> >>>>>> them merged(especially running the tests)Looking forward for your
> >>>>>> help in merging PRs. Happy PR bashing!!
> >>>>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
> >>>>>
> >>>>
> >>
> >>
>
>

Re: 4.10.0 release

Posted by John Burwell <jo...@shapeblue.com>.
Will,

My point is that Rajani and I’s opinions on this topic (or any other) carry no more weight than any other committer.  We have volunteered to herd the cats to get releases out door.

What is CI?  Within our community, there are many different definitions.  I go with the industry definition — a central system of truth that builds and tests every commit.  While I would love to have such a system, it does not currently exist across the community (accepting that Travis CI partially implements the concept).  Our agreed upon principles do not mention CI.  They only require a 2 LGTMs (at least one for code and at least one for test).  If we want to change it, we need to ensure we have consensus on both the terms and any changes to guidelines.

In terms of the two commits mentioned, I will look into them and determine whether or not I have any issues.  However, if you (or anyone) has an issue with a commit, there is no need to bottleneck around the RMs.  Open a discussion on dev@ to clarify/resolve any issues/concerns.  In the unlikely event that the we cannot find consensus on issues/concerns, then rollback the commit.  

Thanks,
-John

> 
john.burwell@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
@shapeblue
  
 

On Aug 4, 2016, at 11:11 AM, Will Stevens <ws...@cloudops.com> wrote:
> 
> I am not saying that we should not let other people commit.  I am saying
> that we need to be clear about the process we expect them to follow.  John,
> yes, we have the principles that you linked, but are we enforcing them?
> 
> For example, these two commits were made directly to master without any
> associated PR.
> - 546a3f8884398391760b76ddcf02e6bc1f30d642
> - fd7273b446738c0ebfae84189502dbdcd18bfd42
> 
> I know they are required and they should be non-destructive, but they did
> not follow our principles and go through CI, so do we really know.  Is that
> ok?
> 
> This is my point.  If we let anyone commit (which is their right as you
> correctly point out), we need to start enforcing our commit principles.  I
> think it is important to have clarity on this point ASAP so everyone is
> comfortable with these details.
> 
> Cheers,
> 
> *Will STEVENS*
> Lead Developer
> 
> *CloudOps* *| *Cloud Solutions Experts
> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> w cloudops.com *|* tw @CloudOps_
> 
> On Thu, Aug 4, 2016 at 10:58 AM, John Burwell <jo...@shapeblue.com>
> wrote:
> 
>> Rajani and Will,
>> 
>> It is actually not up to the release managers to make such a
>> determination.  Our bylaws state that anyone with a commit bit can commit
>> (or, if necessary, rollback a commit).  By granting someone a commit bit,
>> we have imparted a trust that an individual will protect the integrity of
>> the codebase and work in the best interest of the community.  If someone
>> makes a mistake (which has happened), we can easily rollback a commit.  We
>> have even decided to rollback commits after getting 2 LGTMs on a PR.  Under
>> the Apache Way, committers are encouraged to propel a project forward.
>> Restricting merges to RMs not only restricts velocity and it also limits
>> the energy/contributions of our large committer base.
>> 
>> In terms of the rules below, we have, by consensus, accepted a set of
>> release principles [1] that specify how PRs should be reviewed and accepted
>> for merge to master.   If the guidelines outlined in that document are not
>> followed, we have accepted that another committer may rollback a commit.
>> Rajani and I will be watching the release branches.  If we find commits
>> that do not conform to our accepted merge rules, we will roll them back and
>> work with the committer to fix the issues.
>> 
>> Thanks,
>> -John
>> 
>> [1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/
>> Release+principles+for+Apache+CloudStack+4.6+and+up
>> 
>>> 
>> john.burwell@shapeblue.com
>> www.shapeblue.com
>> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
>> @shapeblue
>> 
>> 
>> 
>> On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com> wrote:
>>> 
>>> I will let the RMs for this release weigh in on this, but here are my
>>> thoughts.
>>> 
>>> If we let anyone commit, I think the following rules MUST be followed:
>>> - No commits directly to the repo, which are not a merge of a GitHub Pull
>>> Request.  So every change to the repo should be through `git pr ####`
>> using
>>> this tool [1].  This ensures everything that gets committed goes through
>>> our CI pipeline and is verified before commit.  It also makes it easier
>> for
>>> us to be able to script the generation of release notes and correlate the
>>> commit history with other sources (GitHub, Jira, etc).  I will submit a
>> PR
>>> with tools for generating release notes based on merged GitHub PRs
>> soon...
>>> - Every PR merged into a previous branch must be forward merged to later
>>> branches.  This is done using this tool [2] in order to make sure the
>>> commit hashes are consistent across all branches.  This is for
>> auditability
>>> and comparing what exists in one branch vs another.
>>> 
>>> [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
>>> [2] https://github.com/apache/cloudstack/blob/master/tools/
>> git/git-fwd-merge
>>> 
>>> This is my two cents anyway...
>>> 
>>> *Will STEVENS*
>>> Lead Developer
>>> 
>>> *CloudOps* *| *Cloud Solutions Experts
>>> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
>>> w cloudops.com *|* tw @CloudOps_
>>> 
>>> On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <ro...@shapeblue.com>
>>> wrote:
>>> 
>>>> I disagree with having only RMs to merge PRs when we're not in freeze.
>> In
>>>> general we've implicitly honoured this behaviour but it was never voted.
>>>> Our RMs may not be as active as we want them to be, while they are
>>>> historically good at writing policies but it's hard to put them in
>> practice
>>>> and further it's understandable that they may not be able to volunteer
>>>> enough time and effort to get the PRs sorted.
>>>> 
>>>> 
>>>> Over past months this and similar practices have killed our commit and
>>>> development momentum, and I think it's not a healthy practice for our
>>>> community to engage in further. Instead, we can have committers (and in
>>>> future maybe bots) to merge a PR if they have 2 LGTMs, no objections and
>>>> test results from both Travis (simulator) and Bubble/BVT/Trillian (tests
>>>> against at least one and ideally all three hypervisors - KVM, Xen and
>>>> VMware).
>>>> 
>>>> 
>>>> Regards.
>>>> 
>>>> ________________________________
>>>> From: Rajani Karuturi <ra...@apache.org>
>>>> Sent: 03 August 2016 13:43:54
>>>> To: dev@cloudstack.apache.org
>>>> Subject: Re: 4.10.0 release
>>>> 
>>>> ouch.. looks like my email client stripped all the new lines.
>>>> Re-sending from webmail
>>>> 
>>>> Hi All,
>>>> These are the proposed dates for 4.10 release (copied from another
>> thread
>>>> by John Burwell)
>>>> * Development (master open to features and defect fixes): 1 August 2016
>> -
>>>> 11 September 2016
>>>> * Testing: 12 - 18 September 2016
>>>> * RC Voting: 19 - 25 September 2016
>>>> * Release: 26 September 2016
>>>> 
>>>> master is open for 4.10.0.
>>>> It still means that only PRs will be merged and they will be merged
>> only by
>>>> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
>>>> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
>>>> It would help in reviewing if the contributor could put information
>> about
>>>> the feature/bug and how its tested.
>>>> Also, please rebase any pending PRs you have to the latest master or the
>>>> 4.9 release branch.
>>>> 
>>>> Finally, anyone in the community can review and test PRs. We currently
>> have
>>>> huge backlog. We need everyones help in getting them merged(especially
>>>> running the tests)
>>>> Looking forward for your help in merging PRs.
>>>> Happy PR bashing!!
>>>> 
>>>> Thanks,
>>>> 
>>>> 
>>>> 
>>>> ~Rajani
>>>> 
>>>> 
>>>> rohit.yadav@shapeblue.com
>>>> www.shapeblue.com
>>>> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
>>>> @shapeblue
>>>> 
>>>> 
>>>> 
>>>> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com> wrote:
>>>> 
>>>>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
>>>>> 
>>>>> --
>>>>> Erik
>>>>> 
>>>>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
>>>> wrote:
>>>>> 
>>>>>> Hi All,These are the proposed dates for 4.10 release (copied from
>>>>>> another thread by John Burwell)* Development (master open to
>>>>>> features and defect fixes): 1 August 2016 - 11 September 2016*
>>>>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
>>>>>> 2016* Release: 26 September 2016
>>>>>> master is open for 4.10.0. It still means that only PRs will be
>>>>>> merged and they will be merged only by RMs ( For 4.10.0, its John
>>>>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
>>>>>> code review and 1 test review.It would help in reviewing if the
>>>>>> contributor could put information about the feature/bug and how
>>>>>> its tested.Also, please rebase any pending PRs you have to the
>>>>>> latest master or the 4.9 release branch.
>>>>>> Finally, anyone in the community can review and test PRs. We
>>>>>> currently have huge backlog. We need everyones help in getting
>>>>>> them merged(especially running the tests)Looking forward for your
>>>>>> help in merging PRs. Happy PR bashing!!
>>>>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
>>>>> 
>>>> 
>> 
>> 


Re: 4.10.0 release

Posted by Will Stevens <ws...@cloudops.com>.
I am not saying that we should not let other people commit.  I am saying
that we need to be clear about the process we expect them to follow.  John,
yes, we have the principles that you linked, but are we enforcing them?

For example, these two commits were made directly to master without any
associated PR.
- 546a3f8884398391760b76ddcf02e6bc1f30d642
- fd7273b446738c0ebfae84189502dbdcd18bfd42

I know they are required and they should be non-destructive, but they did
not follow our principles and go through CI, so do we really know.  Is that
ok?

This is my point.  If we let anyone commit (which is their right as you
correctly point out), we need to start enforcing our commit principles.  I
think it is important to have clarity on this point ASAP so everyone is
comfortable with these details.

Cheers,

*Will STEVENS*
Lead Developer

*CloudOps* *| *Cloud Solutions Experts
420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
w cloudops.com *|* tw @CloudOps_

On Thu, Aug 4, 2016 at 10:58 AM, John Burwell <jo...@shapeblue.com>
wrote:

> Rajani and Will,
>
> It is actually not up to the release managers to make such a
> determination.  Our bylaws state that anyone with a commit bit can commit
> (or, if necessary, rollback a commit).  By granting someone a commit bit,
> we have imparted a trust that an individual will protect the integrity of
> the codebase and work in the best interest of the community.  If someone
> makes a mistake (which has happened), we can easily rollback a commit.  We
> have even decided to rollback commits after getting 2 LGTMs on a PR.  Under
> the Apache Way, committers are encouraged to propel a project forward.
> Restricting merges to RMs not only restricts velocity and it also limits
> the energy/contributions of our large committer base.
>
> In terms of the rules below, we have, by consensus, accepted a set of
> release principles [1] that specify how PRs should be reviewed and accepted
> for merge to master.   If the guidelines outlined in that document are not
> followed, we have accepted that another committer may rollback a commit.
> Rajani and I will be watching the release branches.  If we find commits
> that do not conform to our accepted merge rules, we will roll them back and
> work with the committer to fix the issues.
>
> Thanks,
> -John
>
> [1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> Release+principles+for+Apache+CloudStack+4.6+and+up
>
> >
> john.burwell@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> @shapeblue
>
>
>
> On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com> wrote:
> >
> > I will let the RMs for this release weigh in on this, but here are my
> > thoughts.
> >
> > If we let anyone commit, I think the following rules MUST be followed:
> > - No commits directly to the repo, which are not a merge of a GitHub Pull
> > Request.  So every change to the repo should be through `git pr ####`
> using
> > this tool [1].  This ensures everything that gets committed goes through
> > our CI pipeline and is verified before commit.  It also makes it easier
> for
> > us to be able to script the generation of release notes and correlate the
> > commit history with other sources (GitHub, Jira, etc).  I will submit a
> PR
> > with tools for generating release notes based on merged GitHub PRs
> soon...
> > - Every PR merged into a previous branch must be forward merged to later
> > branches.  This is done using this tool [2] in order to make sure the
> > commit hashes are consistent across all branches.  This is for
> auditability
> > and comparing what exists in one branch vs another.
> >
> > [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
> > [2] https://github.com/apache/cloudstack/blob/master/tools/
> git/git-fwd-merge
> >
> > This is my two cents anyway...
> >
> > *Will STEVENS*
> > Lead Developer
> >
> > *CloudOps* *| *Cloud Solutions Experts
> > 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> > w cloudops.com *|* tw @CloudOps_
> >
> > On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <ro...@shapeblue.com>
> > wrote:
> >
> >> I disagree with having only RMs to merge PRs when we're not in freeze.
> In
> >> general we've implicitly honoured this behaviour but it was never voted.
> >> Our RMs may not be as active as we want them to be, while they are
> >> historically good at writing policies but it's hard to put them in
> practice
> >> and further it's understandable that they may not be able to volunteer
> >> enough time and effort to get the PRs sorted.
> >>
> >>
> >> Over past months this and similar practices have killed our commit and
> >> development momentum, and I think it's not a healthy practice for our
> >> community to engage in further. Instead, we can have committers (and in
> >> future maybe bots) to merge a PR if they have 2 LGTMs, no objections and
> >> test results from both Travis (simulator) and Bubble/BVT/Trillian (tests
> >> against at least one and ideally all three hypervisors - KVM, Xen and
> >> VMware).
> >>
> >>
> >> Regards.
> >>
> >> ________________________________
> >> From: Rajani Karuturi <ra...@apache.org>
> >> Sent: 03 August 2016 13:43:54
> >> To: dev@cloudstack.apache.org
> >> Subject: Re: 4.10.0 release
> >>
> >> ouch.. looks like my email client stripped all the new lines.
> >> Re-sending from webmail
> >>
> >> Hi All,
> >> These are the proposed dates for 4.10 release (copied from another
> thread
> >> by John Burwell)
> >> * Development (master open to features and defect fixes): 1 August 2016
> -
> >> 11 September 2016
> >> * Testing: 12 - 18 September 2016
> >> * RC Voting: 19 - 25 September 2016
> >> * Release: 26 September 2016
> >>
> >> master is open for 4.10.0.
> >> It still means that only PRs will be merged and they will be merged
> only by
> >> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
> >> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
> >> It would help in reviewing if the contributor could put information
> about
> >> the feature/bug and how its tested.
> >> Also, please rebase any pending PRs you have to the latest master or the
> >> 4.9 release branch.
> >>
> >> Finally, anyone in the community can review and test PRs. We currently
> have
> >> huge backlog. We need everyones help in getting them merged(especially
> >> running the tests)
> >> Looking forward for your help in merging PRs.
> >> Happy PR bashing!!
> >>
> >> Thanks,
> >>
> >>
> >>
> >> ~Rajani
> >>
> >>
> >> rohit.yadav@shapeblue.com
> >> www.shapeblue.com
> >> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> >> @shapeblue
> >>
> >>
> >>
> >> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com> wrote:
> >>
> >>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
> >>>
> >>> --
> >>> Erik
> >>>
> >>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
> >> wrote:
> >>>
> >>>> Hi All,These are the proposed dates for 4.10 release (copied from
> >>>> another thread by John Burwell)* Development (master open to
> >>>> features and defect fixes): 1 August 2016 - 11 September 2016*
> >>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> >>>> 2016* Release: 26 September 2016
> >>>> master is open for 4.10.0. It still means that only PRs will be
> >>>> merged and they will be merged only by RMs ( For 4.10.0, its John
> >>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> >>>> code review and 1 test review.It would help in reviewing if the
> >>>> contributor could put information about the feature/bug and how
> >>>> its tested.Also, please rebase any pending PRs you have to the
> >>>> latest master or the 4.9 release branch.
> >>>> Finally, anyone in the community can review and test PRs. We
> >>>> currently have huge backlog. We need everyones help in getting
> >>>> them merged(especially running the tests)Looking forward for your
> >>>> help in merging PRs. Happy PR bashing!!
> >>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
> >>>
> >>
>
>

Re: 4.10.0 release

Posted by John Burwell <jo...@shapeblue.com>.
Rajani and Will,

It is actually not up to the release managers to make such a determination.  Our bylaws state that anyone with a commit bit can commit (or, if necessary, rollback a commit).  By granting someone a commit bit, we have imparted a trust that an individual will protect the integrity of the codebase and work in the best interest of the community.  If someone makes a mistake (which has happened), we can easily rollback a commit.  We have even decided to rollback commits after getting 2 LGTMs on a PR.  Under the Apache Way, committers are encouraged to propel a project forward.  Restricting merges to RMs not only restricts velocity and it also limits the energy/contributions of our large committer base.

In terms of the rules below, we have, by consensus, accepted a set of release principles [1] that specify how PRs should be reviewed and accepted for merge to master.   If the guidelines outlined in that document are not followed, we have accepted that another committer may rollback a commit.  Rajani and I will be watching the release branches.  If we find commits that do not conform to our accepted merge rules, we will roll them back and work with the committer to fix the issues.

Thanks,
-John

[1]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Release+principles+for+Apache+CloudStack+4.6+and+up

> 
john.burwell@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
@shapeblue
  
 

On Aug 4, 2016, at 10:17 AM, Will Stevens <ws...@cloudops.com> wrote:
> 
> I will let the RMs for this release weigh in on this, but here are my
> thoughts.
> 
> If we let anyone commit, I think the following rules MUST be followed:
> - No commits directly to the repo, which are not a merge of a GitHub Pull
> Request.  So every change to the repo should be through `git pr ####` using
> this tool [1].  This ensures everything that gets committed goes through
> our CI pipeline and is verified before commit.  It also makes it easier for
> us to be able to script the generation of release notes and correlate the
> commit history with other sources (GitHub, Jira, etc).  I will submit a PR
> with tools for generating release notes based on merged GitHub PRs soon...
> - Every PR merged into a previous branch must be forward merged to later
> branches.  This is done using this tool [2] in order to make sure the
> commit hashes are consistent across all branches.  This is for auditability
> and comparing what exists in one branch vs another.
> 
> [1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
> [2] https://github.com/apache/cloudstack/blob/master/tools/git/git-fwd-merge
> 
> This is my two cents anyway...
> 
> *Will STEVENS*
> Lead Developer
> 
> *CloudOps* *| *Cloud Solutions Experts
> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
> w cloudops.com *|* tw @CloudOps_
> 
> On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <ro...@shapeblue.com>
> wrote:
> 
>> I disagree with having only RMs to merge PRs when we're not in freeze. In
>> general we've implicitly honoured this behaviour but it was never voted.
>> Our RMs may not be as active as we want them to be, while they are
>> historically good at writing policies but it's hard to put them in practice
>> and further it's understandable that they may not be able to volunteer
>> enough time and effort to get the PRs sorted.
>> 
>> 
>> Over past months this and similar practices have killed our commit and
>> development momentum, and I think it's not a healthy practice for our
>> community to engage in further. Instead, we can have committers (and in
>> future maybe bots) to merge a PR if they have 2 LGTMs, no objections and
>> test results from both Travis (simulator) and Bubble/BVT/Trillian (tests
>> against at least one and ideally all three hypervisors - KVM, Xen and
>> VMware).
>> 
>> 
>> Regards.
>> 
>> ________________________________
>> From: Rajani Karuturi <ra...@apache.org>
>> Sent: 03 August 2016 13:43:54
>> To: dev@cloudstack.apache.org
>> Subject: Re: 4.10.0 release
>> 
>> ouch.. looks like my email client stripped all the new lines.
>> Re-sending from webmail
>> 
>> Hi All,
>> These are the proposed dates for 4.10 release (copied from another thread
>> by John Burwell)
>> * Development (master open to features and defect fixes): 1 August 2016 -
>> 11 September 2016
>> * Testing: 12 - 18 September 2016
>> * RC Voting: 19 - 25 September 2016
>> * Release: 26 September 2016
>> 
>> master is open for 4.10.0.
>> It still means that only PRs will be merged and they will be merged only by
>> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
>> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
>> It would help in reviewing if the contributor could put information about
>> the feature/bug and how its tested.
>> Also, please rebase any pending PRs you have to the latest master or the
>> 4.9 release branch.
>> 
>> Finally, anyone in the community can review and test PRs. We currently have
>> huge backlog. We need everyones help in getting them merged(especially
>> running the tests)
>> Looking forward for your help in merging PRs.
>> Happy PR bashing!!
>> 
>> Thanks,
>> 
>> 
>> 
>> ~Rajani
>> 
>> 
>> rohit.yadav@shapeblue.com
>> www.shapeblue.com
>> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
>> @shapeblue
>> 
>> 
>> 
>> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com> wrote:
>> 
>>> A newline or two wouldn't hurt, this is pretty hard to read tbh.
>>> 
>>> --
>>> Erik
>>> 
>>> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
>> wrote:
>>> 
>>>> Hi All,These are the proposed dates for 4.10 release (copied from
>>>> another thread by John Burwell)* Development (master open to
>>>> features and defect fixes): 1 August 2016 - 11 September 2016*
>>>> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
>>>> 2016* Release: 26 September 2016
>>>> master is open for 4.10.0. It still means that only PRs will be
>>>> merged and they will be merged only by RMs ( For 4.10.0, its John
>>>> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
>>>> code review and 1 test review.It would help in reviewing if the
>>>> contributor could put information about the feature/bug and how
>>>> its tested.Also, please rebase any pending PRs you have to the
>>>> latest master or the 4.9 release branch.
>>>> Finally, anyone in the community can review and test PRs. We
>>>> currently have huge backlog. We need everyones help in getting
>>>> them merged(especially running the tests)Looking forward for your
>>>> help in merging PRs. Happy PR bashing!!
>>>> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
>>> 
>> 


Re: 4.10.0 release

Posted by Will Stevens <ws...@cloudops.com>.
I will let the RMs for this release weigh in on this, but here are my
thoughts.

If we let anyone commit, I think the following rules MUST be followed:
- No commits directly to the repo, which are not a merge of a GitHub Pull
Request.  So every change to the repo should be through `git pr ####` using
this tool [1].  This ensures everything that gets committed goes through
our CI pipeline and is verified before commit.  It also makes it easier for
us to be able to script the generation of release notes and correlate the
commit history with other sources (GitHub, Jira, etc).  I will submit a PR
with tools for generating release notes based on merged GitHub PRs soon...
- Every PR merged into a previous branch must be forward merged to later
branches.  This is done using this tool [2] in order to make sure the
commit hashes are consistent across all branches.  This is for auditability
and comparing what exists in one branch vs another.

[1] https://github.com/apache/cloudstack/blob/master/tools/git/git-pr
[2] https://github.com/apache/cloudstack/blob/master/tools/git/git-fwd-merge

This is my two cents anyway...

*Will STEVENS*
Lead Developer

*CloudOps* *| *Cloud Solutions Experts
420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
w cloudops.com *|* tw @CloudOps_

On Thu, Aug 4, 2016 at 3:43 AM, Rohit Yadav <ro...@shapeblue.com>
wrote:

> I disagree with having only RMs to merge PRs when we're not in freeze. In
> general we've implicitly honoured this behaviour but it was never voted.
> Our RMs may not be as active as we want them to be, while they are
> historically good at writing policies but it's hard to put them in practice
> and further it's understandable that they may not be able to volunteer
> enough time and effort to get the PRs sorted.
>
>
> Over past months this and similar practices have killed our commit and
> development momentum, and I think it's not a healthy practice for our
> community to engage in further. Instead, we can have committers (and in
> future maybe bots) to merge a PR if they have 2 LGTMs, no objections and
> test results from both Travis (simulator) and Bubble/BVT/Trillian (tests
> against at least one and ideally all three hypervisors - KVM, Xen and
> VMware).
>
>
> Regards.
>
> ________________________________
> From: Rajani Karuturi <ra...@apache.org>
> Sent: 03 August 2016 13:43:54
> To: dev@cloudstack.apache.org
> Subject: Re: 4.10.0 release
>
> ouch.. looks like my email client stripped all the new lines.
> Re-sending from webmail
>
> Hi All,
> These are the proposed dates for 4.10 release (copied from another thread
> by John Burwell)
> * Development (master open to features and defect fixes): 1 August 2016 -
> 11 September 2016
> * Testing: 12 - 18 September 2016
> * RC Voting: 19 - 25 September 2016
> * Release: 26 September 2016
>
> master is open for 4.10.0.
> It still means that only PRs will be merged and they will be merged only by
> RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
> Every PR should have a JIRA bug ID, 1 code review and 1 test review.
> It would help in reviewing if the contributor could put information about
> the feature/bug and how its tested.
> Also, please rebase any pending PRs you have to the latest master or the
> 4.9 release branch.
>
> Finally, anyone in the community can review and test PRs. We currently have
> huge backlog. We need everyones help in getting them merged(especially
> running the tests)
> Looking forward for your help in merging PRs.
> Happy PR bashing!!
>
> Thanks,
>
>
>
> ~Rajani
>
>
> rohit.yadav@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> @shapeblue
>
>
>
> On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com> wrote:
>
> > A newline or two wouldn't hurt, this is pretty hard to read tbh.
> >
> > --
> > Erik
> >
> > On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org>
> wrote:
> >
> > > Hi All,These are the proposed dates for 4.10 release (copied from
> > > another thread by John Burwell)* Development (master open to
> > > features and defect fixes): 1 August 2016 - 11 September 2016*
> > > Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> > > 2016* Release: 26 September 2016
> > > master is open for 4.10.0. It still means that only PRs will be
> > > merged and they will be merged only by RMs ( For 4.10.0, its John
> > > Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> > > code review and 1 test review.It would help in reviewing if the
> > > contributor could put information about the feature/bug and how
> > > its tested.Also, please rebase any pending PRs you have to the
> > > latest master or the 4.9 release branch.
> > > Finally, anyone in the community can review and test PRs. We
> > > currently have huge backlog. We need everyones help in getting
> > > them merged(especially running the tests)Looking forward for your
> > > help in merging PRs. Happy PR bashing!!
> > > Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
> >
>

Re: 4.10.0 release

Posted by Rohit Yadav <ro...@shapeblue.com>.
I disagree with having only RMs to merge PRs when we're not in freeze. In general we've implicitly honoured this behaviour but it was never voted. Our RMs may not be as active as we want them to be, while they are historically good at writing policies but it's hard to put them in practice and further it's understandable that they may not be able to volunteer enough time and effort to get the PRs sorted.


Over past months this and similar practices have killed our commit and development momentum, and I think it's not a healthy practice for our community to engage in further. Instead, we can have committers (and in future maybe bots) to merge a PR if they have 2 LGTMs, no objections and test results from both Travis (simulator) and Bubble/BVT/Trillian (tests against at least one and ideally all three hypervisors - KVM, Xen and VMware).


Regards.

________________________________
From: Rajani Karuturi <ra...@apache.org>
Sent: 03 August 2016 13:43:54
To: dev@cloudstack.apache.org
Subject: Re: 4.10.0 release

ouch.. looks like my email client stripped all the new lines.
Re-sending from webmail

Hi All,
These are the proposed dates for 4.10 release (copied from another thread
by John Burwell)
* Development (master open to features and defect fixes): 1 August 2016 -
11 September 2016
* Testing: 12 - 18 September 2016
* RC Voting: 19 - 25 September 2016
* Release: 26 September 2016

master is open for 4.10.0.
It still means that only PRs will be merged and they will be merged only by
RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
Every PR should have a JIRA bug ID, 1 code review and 1 test review.
It would help in reviewing if the contributor could put information about
the feature/bug and how its tested.
Also, please rebase any pending PRs you have to the latest master or the
4.9 release branch.

Finally, anyone in the community can review and test PRs. We currently have
huge backlog. We need everyones help in getting them merged(especially
running the tests)
Looking forward for your help in merging PRs.
Happy PR bashing!!

Thanks,



~Rajani


rohit.yadav@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London  WC2N 4HSUK
@shapeblue
  
 

On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com> wrote:

> A newline or two wouldn't hurt, this is pretty hard to read tbh.
>
> --
> Erik
>
> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org> wrote:
>
> > Hi All,These are the proposed dates for 4.10 release (copied from
> > another thread by John Burwell)* Development (master open to
> > features and defect fixes): 1 August 2016 - 11 September 2016*
> > Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> > 2016* Release: 26 September 2016
> > master is open for 4.10.0. It still means that only PRs will be
> > merged and they will be merged only by RMs ( For 4.10.0, its John
> > Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> > code review and 1 test review.It would help in reviewing if the
> > contributor could put information about the feature/bug and how
> > its tested.Also, please rebase any pending PRs you have to the
> > latest master or the 4.9 release branch.
> > Finally, anyone in the community can review and test PRs. We
> > currently have huge backlog. We need everyones help in getting
> > them merged(especially running the tests)Looking forward for your
> > help in merging PRs. Happy PR bashing!!
> > Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
>

Re: 4.10.0 release

Posted by Rajani Karuturi <ra...@apache.org>.
ouch.. looks like my email client stripped all the new lines.
Re-sending from webmail

Hi All,
These are the proposed dates for 4.10 release (copied from another thread
by John Burwell)
* Development (master open to features and defect fixes): 1 August 2016 -
11 September 2016
* Testing: 12 - 18 September 2016
* RC Voting: 19 - 25 September 2016
* Release: 26 September 2016

master is open for 4.10.0.
It still means that only PRs will be merged and they will be merged only by
RMs ( For 4.10.0, its John Burwell and Rajani Karuturi)
Every PR should have a JIRA bug ID, 1 code review and 1 test review.
It would help in reviewing if the contributor could put information about
the feature/bug and how its tested.
Also, please rebase any pending PRs you have to the latest master or the
4.9 release branch.

Finally, anyone in the community can review and test PRs. We currently have
huge backlog. We need everyones help in getting them merged(especially
running the tests)
Looking forward for your help in merging PRs.
Happy PR bashing!!

Thanks,



~Rajani

On Wed, Aug 3, 2016 at 1:19 PM, Erik Weber <te...@gmail.com> wrote:

> A newline or two wouldn't hurt, this is pretty hard to read tbh.
>
> --
> Erik
>
> On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org> wrote:
>
> > Hi All,These are the proposed dates for 4.10 release (copied from
> > another thread by John Burwell)* Development (master open to
> > features and defect fixes): 1 August 2016 - 11 September 2016*
> > Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> > 2016* Release: 26 September 2016
> > master is open for 4.10.0. It still means that only PRs will be
> > merged and they will be merged only by RMs ( For 4.10.0, its John
> > Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> > code review and 1 test review.It would help in reviewing if the
> > contributor could put information about the feature/bug and how
> > its tested.Also, please rebase any pending PRs you have to the
> > latest master or the 4.9 release branch.
> > Finally, anyone in the community can review and test PRs. We
> > currently have huge backlog. We need everyones help in getting
> > them merged(especially running the tests)Looking forward for your
> > help in merging PRs. Happy PR bashing!!
> > Thanks,~ Rajanihttp://cloudplatform.accelerite.com/
>

Re: 4.10.0 release

Posted by Erik Weber <te...@gmail.com>.
A newline or two wouldn't hurt, this is pretty hard to read tbh.

-- 
Erik

On Wed, Aug 3, 2016 at 9:27 AM, Rajani Karuturi <ra...@apache.org> wrote:

> Hi All,These are the proposed dates for 4.10 release (copied from
> another thread by John Burwell)* Development (master open to
> features and defect fixes): 1 August 2016 - 11 September 2016*
> Testing: 12 - 18 September 2016* RC Voting: 19 - 25 September
> 2016* Release: 26 September 2016
> master is open for 4.10.0. It still means that only PRs will be
> merged and they will be merged only by RMs ( For 4.10.0, its John
> Burwell and Rajani Karuturi)Every PR should have a JIRA bug ID, 1
> code review and 1 test review.It would help in reviewing if the
> contributor could put information about the feature/bug and how
> its tested.Also, please rebase any pending PRs you have to the
> latest master or the 4.9 release branch.
> Finally, anyone in the community can review and test PRs. We
> currently have huge backlog. We need everyones help in getting
> them merged(especially running the tests)Looking forward for your
> help in merging PRs. Happy PR bashing!!
> Thanks,~ Rajanihttp://cloudplatform.accelerite.com/