Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-13 Thread Srikanteswararao Talluri
I could get easily merge all  my changes in 4.5 to master yesterday. Merge
to master is no more a problem. Thanks to Rajani for fixing merge issues
with master.
I think, at least, from now we can keep the master mergable.

For others who are interested in knowing what I¹ve just tried:

1. push your changes to 4.5
2. Git checkout master
3. Git pull
4. Git merge 4.5


Thanks,
~Talluri

On 30/10/14 3:51 pm, Srikanteswararao Talluri
srikanteswararao.tall...@citrix.com wrote:

Hey Folks,

After all these discussions, What is the direction to commit the code to
master and 4.5? I have some commits on 4.5 which I would like to have them
on master too. How to go about it?

Thanks,
~Talluri

On 23/10/14 11:47 am, Animesh Chaturvedi animesh.chaturv...@citrix.com
wrote:



 -Original Message-
 From: sebgoa [mailto:run...@gmail.com]
 Sent: Saturday, October 18, 2014 2:00 AM
 To: dev@cloudstack.apache.org
 Subject: [PROPOSAL] Move to github PR only during moratorium on
 commit
 
 After [1] I would like to officially bring up the following proposal.
 
 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without
 warning. Same for 4.5 and 4.4. branches.
 
 
 This is drastic and I am sure some folks will not like it, but here is
my
 justification for such a measure:
 
 [Reasons]:
 
 Our commit and release processes have so far been based on the idea
that
 development happens on master and that a release branch is cut from
 master (unstable development branch). Then a different set of community
 members harden the release branch, QA and bring it to GA level. During
 that time development keeps on going in master.
 
 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.
 
 My point of view is that as a community we cannot afford such a split
brain
 organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without
warning...)
 
 We can avoid this by cutting a release branch from a stable one (from
the
 start), then as you (Daan) have mentioned several times, fix bugs in
the
 release branch and merge them back in the stable source of the release
(be
 it master).


[Animesh] Sebastian you have brought up a  good point dependency on QA
team from Citrix is an issue for the project. This was raised in the past
as well and Alex's proposal [1] few months back using CI was in my
opinion is the optimal solution. Why? Because CloudStack is a huge
project and one single person cannot have the full knowledge to safely
review all the code and certainly cannot scale, which CI and automation
can address

Keeping master stable is something no one would argue against and my
point would match the original proposal from Alex. May be we can  have a
staging branch for master and then merging the commit only after they
have passed CI into master. The proposal got derailed and delayed because
as called out at that time community does not want to work with a process
that has a dependency on infrastructure that is not controlled by
community. David and I are working to get the hardware from Citrix into
ACS infra. 

The approach for fixing issues in release branch first and master later
is not practical as we may miss out commits not made into master and
future release regressing without the fixes. Also as the release goes
into hardening cycle there will be a number of fixes which will not be
allowed in release branch but need to be fixes for future, they should
all go in master. Master is the catch all default branch and in my
opinion should get fixes first.

[1] http://markmail.org/thread/xoyjw2sduenlytwm
 
 Feature development need to be done outside master, period. Not only
for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.
 
[Animesh] Completely Agreed
 New git workflow were proposed and shutdown, mostly calling for better
CI
 to solve quality issues. CI will not solve our quality issues alone. We
need to
 better police ourselves.

[Animesh] I have already expressed my opinion in favor of CI

 To avoid long discussions, I propose this simple but drastic measure.
We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master)
 would be reverted immediately.
 
 
 Our development and release process is broken, we cannot continue like
 this, let's fix it.
[Animesh] I  followed up the release process as established by Chip for
4.2 and 4.3 release for which I was the RM and frankly I did not feel it
that way other than the pain of multiple RCs. Folks may

Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-05 Thread Rajani Karuturi
These problems existed for 4.4 and the same continued to 4.5. Despite
discussing lot of things, we didnt act on anything and we are continuing
the same to 4.6

There is no plan whatsoever to address any of those issues.

~Rajani

On Wed, Nov 5, 2014 at 2:33 AM, David Nalley da...@gnsa.us wrote:

 On Sun, Nov 2, 2014 at 11:40 PM, Rajani Karuturi raj...@apache.org
 wrote:
  that means, we postponed the git problems to 4.6. :(
 
  It feels like as a community we are running away from making any changes
 to
  the way we interact with git. We seem to discuss it a lot but, never act
 on
  it.

 I don't think we are running away from them. I certainly hope not.
 There are competing demands (like everything)
 1. We want to ship 4.5
 2. We want to have new features being developed
 3. We want to fix quality issues
 4. We want to fix process issues

 Each of those is at odds with each other. They are also hard problems,
 and frankly most of them are as much a cultural problem as a technical
 problem.

 
  What I don't understand is, are we saying the way we use git is right? or
  are we just shying away from any change?
 

 We are saying that #2 forced us to fork 4.5 into a different branch.
 Master and 4.5 are now diverging, and we want to #1 to happen. 1  2
 are incompatible on the same branch, but their competition is keeping
 3 and 4 at bay.

 That doesn't mean we shouldn't change, but you can only pull in so
 many directions without things coming apart.

 --David



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-05 Thread Rajani Karuturi
Travis is happy with the merge. Can I push this?

~Rajani

On Wed, Nov 5, 2014 at 12:38 PM, Rajani Karuturi raj...@apache.org wrote:

 I did merge -s ours and somehow didnt see any issue. (
 https://github.com/apache/cloudstack/pull/36)
 will wait for the Travis report (
 https://travis-ci.org/apache/cloudstack/builds/40033174)

 I havent used -X before. But, from the documentation I understood it as,
 the merge strategy will be applied only when doing a conflict resolution.
 If my understanding is right, we shouldnt be using -X.

 ~Rajani

 On Mon, Nov 3, 2014 at 3:46 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:

 Id did do -s ours:) but if we don't merge -s ... -X ours it doesn't help.

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 3 nov. 2014 05:40 schreef Rajani Karuturi raj...@apache.org:

  that means, we postponed the git problems to 4.6. :(
 
  It feels like as a community we are running away from making any
 changes to
  the way we interact with git. We seem to discuss it a lot but, never
 act on
  it.
 
  What I don't understand is, are we saying the way we use git is right?
 or
  are we just shying away from any change?
 
 
  ~Rajani
 
  PS: We could still do a blank merge(-s ours) from 4.5 to master and
  continue.
 
  On Sat, Nov 1, 2014 at 12:06 AM, David Nalley da...@gnsa.us wrote:
 
   On Fri, Oct 31, 2014 at 12:41 AM, Rajani Karuturi raj...@apache.org
   wrote:
Can we atleast follow the merge part of it? ie) commit to 4.5 and
 then
merge 4.5 to master?
   
merging wont be easy unless everybody agrees and does merge for
 their
commits.
   
  
   It won't work; master and 4.5 have both diverged, even if it's very
   small at this point.
   Daan and I both seemed to come to this conclusion last week:
  
   http://markmail.org/message/sumgmlo4avgjquym
   http://markmail.org/message/wazq4lz47v22mynz
  
   --David
  
 





Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-05 Thread Rajani Karuturi
as Travis is happy and some of my tests went fine, I pushed the merge.

~Rajani

On Wed, Nov 5, 2014 at 2:55 PM, Rajani Karuturi raj...@apache.org wrote:

 Travis is happy with the merge. Can I push this?

 ~Rajani

 On Wed, Nov 5, 2014 at 12:38 PM, Rajani Karuturi raj...@apache.org
 wrote:

 I did merge -s ours and somehow didnt see any issue. (
 https://github.com/apache/cloudstack/pull/36)
 will wait for the Travis report (
 https://travis-ci.org/apache/cloudstack/builds/40033174)

 I havent used -X before. But, from the documentation I understood it as,
 the merge strategy will be applied only when doing a conflict resolution.
 If my understanding is right, we shouldnt be using -X.

 ~Rajani

 On Mon, Nov 3, 2014 at 3:46 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:

 Id did do -s ours:) but if we don't merge -s ... -X ours it doesn't help.

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 3 nov. 2014 05:40 schreef Rajani Karuturi raj...@apache.org:

  that means, we postponed the git problems to 4.6. :(
 
  It feels like as a community we are running away from making any
 changes to
  the way we interact with git. We seem to discuss it a lot but, never
 act on
  it.
 
  What I don't understand is, are we saying the way we use git is right?
 or
  are we just shying away from any change?
 
 
  ~Rajani
 
  PS: We could still do a blank merge(-s ours) from 4.5 to master and
  continue.
 
  On Sat, Nov 1, 2014 at 12:06 AM, David Nalley da...@gnsa.us wrote:
 
   On Fri, Oct 31, 2014 at 12:41 AM, Rajani Karuturi raj...@apache.org
 
   wrote:
Can we atleast follow the merge part of it? ie) commit to 4.5 and
 then
merge 4.5 to master?
   
merging wont be easy unless everybody agrees and does merge for
 their
commits.
   
  
   It won't work; master and 4.5 have both diverged, even if it's very
   small at this point.
   Daan and I both seemed to come to this conclusion last week:
  
   http://markmail.org/message/sumgmlo4avgjquym
   http://markmail.org/message/wazq4lz47v22mynz
  
   --David
  
 






Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-05 Thread Daan Hoogland
I share your frustration Rajani, I made some steps which I feel are
turned back now. I am giving up and really not feeling this is worth
my effort anymore.

People don't take the effort to commit on a branch. gating commits is
and will not solve unwillingness. It will slow us down at committing
bugs and force us to make more elaborate bugs at best.

merge forward is easy to implement *if we want it*. wanting is is a
must have prequisite.

On Wed, Nov 5, 2014 at 10:24 AM, Rajani Karuturi raj...@apache.org wrote:
 These problems existed for 4.4 and the same continued to 4.5. Despite
 discussing lot of things, we didnt act on anything and we are continuing
 the same to 4.6

 There is no plan whatsoever to address any of those issues.

 ~Rajani

 On Wed, Nov 5, 2014 at 2:33 AM, David Nalley da...@gnsa.us wrote:

 On Sun, Nov 2, 2014 at 11:40 PM, Rajani Karuturi raj...@apache.org
 wrote:
  that means, we postponed the git problems to 4.6. :(
 
  It feels like as a community we are running away from making any changes
 to
  the way we interact with git. We seem to discuss it a lot but, never act
 on
  it.

 I don't think we are running away from them. I certainly hope not.
 There are competing demands (like everything)
 1. We want to ship 4.5
 2. We want to have new features being developed
 3. We want to fix quality issues
 4. We want to fix process issues

 Each of those is at odds with each other. They are also hard problems,
 and frankly most of them are as much a cultural problem as a technical
 problem.

 
  What I don't understand is, are we saying the way we use git is right? or
  are we just shying away from any change?
 

 We are saying that #2 forced us to fork 4.5 into a different branch.
 Master and 4.5 are now diverging, and we want to #1 to happen. 1  2
 are incompatible on the same branch, but their competition is keeping
 3 and 4 at bay.

 That doesn't mean we shouldn't change, but you can only pull in so
 many directions without things coming apart.

 --David




-- 
Daan


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-04 Thread David Nalley
On Sun, Nov 2, 2014 at 11:40 PM, Rajani Karuturi raj...@apache.org wrote:
 that means, we postponed the git problems to 4.6. :(

 It feels like as a community we are running away from making any changes to
 the way we interact with git. We seem to discuss it a lot but, never act on
 it.

I don't think we are running away from them. I certainly hope not.
There are competing demands (like everything)
1. We want to ship 4.5
2. We want to have new features being developed
3. We want to fix quality issues
4. We want to fix process issues

Each of those is at odds with each other. They are also hard problems,
and frankly most of them are as much a cultural problem as a technical
problem.


 What I don't understand is, are we saying the way we use git is right? or
 are we just shying away from any change?


We are saying that #2 forced us to fork 4.5 into a different branch.
Master and 4.5 are now diverging, and we want to #1 to happen. 1  2
are incompatible on the same branch, but their competition is keeping
3 and 4 at bay.

That doesn't mean we shouldn't change, but you can only pull in so
many directions without things coming apart.

--David


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-04 Thread Rajani Karuturi
I did merge -s ours and somehow didnt see any issue. (
https://github.com/apache/cloudstack/pull/36)
will wait for the Travis report (
https://travis-ci.org/apache/cloudstack/builds/40033174)

I havent used -X before. But, from the documentation I understood it as,
the merge strategy will be applied only when doing a conflict resolution.
If my understanding is right, we shouldnt be using -X.

~Rajani

On Mon, Nov 3, 2014 at 3:46 PM, Daan Hoogland daan.hoogl...@gmail.com
wrote:

 Id did do -s ours:) but if we don't merge -s ... -X ours it doesn't help.

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 3 nov. 2014 05:40 schreef Rajani Karuturi raj...@apache.org:

  that means, we postponed the git problems to 4.6. :(
 
  It feels like as a community we are running away from making any changes
 to
  the way we interact with git. We seem to discuss it a lot but, never act
 on
  it.
 
  What I don't understand is, are we saying the way we use git is right? or
  are we just shying away from any change?
 
 
  ~Rajani
 
  PS: We could still do a blank merge(-s ours) from 4.5 to master and
  continue.
 
  On Sat, Nov 1, 2014 at 12:06 AM, David Nalley da...@gnsa.us wrote:
 
   On Fri, Oct 31, 2014 at 12:41 AM, Rajani Karuturi raj...@apache.org
   wrote:
Can we atleast follow the merge part of it? ie) commit to 4.5 and
 then
merge 4.5 to master?
   
merging wont be easy unless everybody agrees and does merge for their
commits.
   
  
   It won't work; master and 4.5 have both diverged, even if it's very
   small at this point.
   Daan and I both seemed to come to this conclusion last week:
  
   http://markmail.org/message/sumgmlo4avgjquym
   http://markmail.org/message/wazq4lz47v22mynz
  
   --David
  
 



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-03 Thread Daan Hoogland
Id did do -s ours:) but if we don't merge -s ... -X ours it doesn't help.

mobile dev with bilingual spelling checker used (read at your own risk)
Op 3 nov. 2014 05:40 schreef Rajani Karuturi raj...@apache.org:

 that means, we postponed the git problems to 4.6. :(

 It feels like as a community we are running away from making any changes to
 the way we interact with git. We seem to discuss it a lot but, never act on
 it.

 What I don't understand is, are we saying the way we use git is right? or
 are we just shying away from any change?


 ~Rajani

 PS: We could still do a blank merge(-s ours) from 4.5 to master and
 continue.

 On Sat, Nov 1, 2014 at 12:06 AM, David Nalley da...@gnsa.us wrote:

  On Fri, Oct 31, 2014 at 12:41 AM, Rajani Karuturi raj...@apache.org
  wrote:
   Can we atleast follow the merge part of it? ie) commit to 4.5 and then
   merge 4.5 to master?
  
   merging wont be easy unless everybody agrees and does merge for their
   commits.
  
 
  It won't work; master and 4.5 have both diverged, even if it's very
  small at this point.
  Daan and I both seemed to come to this conclusion last week:
 
  http://markmail.org/message/sumgmlo4avgjquym
  http://markmail.org/message/wazq4lz47v22mynz
 
  --David
 



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-11-02 Thread Rajani Karuturi
that means, we postponed the git problems to 4.6. :(

It feels like as a community we are running away from making any changes to
the way we interact with git. We seem to discuss it a lot but, never act on
it.

What I don't understand is, are we saying the way we use git is right? or
are we just shying away from any change?


~Rajani

PS: We could still do a blank merge(-s ours) from 4.5 to master and
continue.

On Sat, Nov 1, 2014 at 12:06 AM, David Nalley da...@gnsa.us wrote:

 On Fri, Oct 31, 2014 at 12:41 AM, Rajani Karuturi raj...@apache.org
 wrote:
  Can we atleast follow the merge part of it? ie) commit to 4.5 and then
  merge 4.5 to master?
 
  merging wont be easy unless everybody agrees and does merge for their
  commits.
 

 It won't work; master and 4.5 have both diverged, even if it's very
 small at this point.
 Daan and I both seemed to come to this conclusion last week:

 http://markmail.org/message/sumgmlo4avgjquym
 http://markmail.org/message/wazq4lz47v22mynz

 --David



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-31 Thread David Nalley
On Fri, Oct 31, 2014 at 12:41 AM, Rajani Karuturi raj...@apache.org wrote:
 Can we atleast follow the merge part of it? ie) commit to 4.5 and then
 merge 4.5 to master?

 merging wont be easy unless everybody agrees and does merge for their
 commits.


It won't work; master and 4.5 have both diverged, even if it's very
small at this point.
Daan and I both seemed to come to this conclusion last week:

http://markmail.org/message/sumgmlo4avgjquym
http://markmail.org/message/wazq4lz47v22mynz

--David


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-30 Thread Srikanteswararao Talluri
Hey Folks,

After all these discussions, What is the direction to commit the code to
master and 4.5? I have some commits on 4.5 which I would like to have them
on master too. How to go about it?

Thanks,
~Talluri

On 23/10/14 11:47 am, Animesh Chaturvedi animesh.chaturv...@citrix.com
wrote:



 -Original Message-
 From: sebgoa [mailto:run...@gmail.com]
 Sent: Saturday, October 18, 2014 2:00 AM
 To: dev@cloudstack.apache.org
 Subject: [PROPOSAL] Move to github PR only during moratorium on
 commit
 
 After [1] I would like to officially bring up the following proposal.
 
 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without
 warning. Same for 4.5 and 4.4. branches.
 
 
 This is drastic and I am sure some folks will not like it, but here is
my
 justification for such a measure:
 
 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that
 development happens on master and that a release branch is cut from
 master (unstable development branch). Then a different set of community
 members harden the release branch, QA and bring it to GA level. During
 that time development keeps on going in master.
 
 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.
 
 My point of view is that as a community we cannot afford such a split
brain
 organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without
warning...)
 
 We can avoid this by cutting a release branch from a stable one (from
the
 start), then as you (Daan) have mentioned several times, fix bugs in the
 release branch and merge them back in the stable source of the release
(be
 it master).


[Animesh] Sebastian you have brought up a  good point dependency on QA
team from Citrix is an issue for the project. This was raised in the past
as well and Alex's proposal [1] few months back using CI was in my
opinion is the optimal solution. Why? Because CloudStack is a huge
project and one single person cannot have the full knowledge to safely
review all the code and certainly cannot scale, which CI and automation
can address

Keeping master stable is something no one would argue against and my
point would match the original proposal from Alex. May be we can  have a
staging branch for master and then merging the commit only after they
have passed CI into master. The proposal got derailed and delayed because
as called out at that time community does not want to work with a process
that has a dependency on infrastructure that is not controlled by
community. David and I are working to get the hardware from Citrix into
ACS infra. 

The approach for fixing issues in release branch first and master later
is not practical as we may miss out commits not made into master and
future release regressing without the fixes. Also as the release goes
into hardening cycle there will be a number of fixes which will not be
allowed in release branch but need to be fixes for future, they should
all go in master. Master is the catch all default branch and in my
opinion should get fixes first.

[1] http://markmail.org/thread/xoyjw2sduenlytwm
 
 Feature development need to be done outside master, period. Not only for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.
 
[Animesh] Completely Agreed
 New git workflow were proposed and shutdown, mostly calling for better
CI
 to solve quality issues. CI will not solve our quality issues alone. We
need to
 better police ourselves.

[Animesh] I have already expressed my opinion in favor of CI

 To avoid long discussions, I propose this simple but drastic measure. We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master)
 would be reverted immediately.
 
 
 Our development and release process is broken, we cannot continue like
 this, let's fix it.
[Animesh] I  followed up the release process as established by Chip for
4.2 and 4.3 release for which I was the RM and frankly I did not feel it
that way other than the pain of multiple RCs. Folks may not like it but I
am entitled to my opinion and I do feel part of the issues for 4.4 were
self- inflicted because of pre mature code freeze and too early cherry
picking. 
 
 [1] http://markmail.org/thread/xeliefp3oleq3g54
 
 -sebastien



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-30 Thread David Nalley
Commit to 4.5 and master please.

--David

On Thu, Oct 30, 2014 at 6:21 AM, Srikanteswararao Talluri
srikanteswararao.tall...@citrix.com wrote:
 Hey Folks,

 After all these discussions, What is the direction to commit the code to
 master and 4.5? I have some commits on 4.5 which I would like to have them
 on master too. How to go about it?

 Thanks,
 ~Talluri

 On 23/10/14 11:47 am, Animesh Chaturvedi animesh.chaturv...@citrix.com
 wrote:



 -Original Message-
 From: sebgoa [mailto:run...@gmail.com]
 Sent: Saturday, October 18, 2014 2:00 AM
 To: dev@cloudstack.apache.org
 Subject: [PROPOSAL] Move to github PR only during moratorium on
 commit

 After [1] I would like to officially bring up the following proposal.

 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without
 warning. Same for 4.5 and 4.4. branches.
 

 This is drastic and I am sure some folks will not like it, but here is
my
 justification for such a measure:

 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that
 development happens on master and that a release branch is cut from
 master (unstable development branch). Then a different set of community
 members harden the release branch, QA and bring it to GA level. During
 that time development keeps on going in master.

 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.

 My point of view is that as a community we cannot afford such a split
brain
 organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without
warning...)

 We can avoid this by cutting a release branch from a stable one (from
the
 start), then as you (Daan) have mentioned several times, fix bugs in the
 release branch and merge them back in the stable source of the release
(be
 it master).


[Animesh] Sebastian you have brought up a  good point dependency on QA
team from Citrix is an issue for the project. This was raised in the past
as well and Alex's proposal [1] few months back using CI was in my
opinion is the optimal solution. Why? Because CloudStack is a huge
project and one single person cannot have the full knowledge to safely
review all the code and certainly cannot scale, which CI and automation
can address

Keeping master stable is something no one would argue against and my
point would match the original proposal from Alex. May be we can  have a
staging branch for master and then merging the commit only after they
have passed CI into master. The proposal got derailed and delayed because
as called out at that time community does not want to work with a process
that has a dependency on infrastructure that is not controlled by
community. David and I are working to get the hardware from Citrix into
ACS infra.

The approach for fixing issues in release branch first and master later
is not practical as we may miss out commits not made into master and
future release regressing without the fixes. Also as the release goes
into hardening cycle there will be a number of fixes which will not be
allowed in release branch but need to be fixes for future, they should
all go in master. Master is the catch all default branch and in my
opinion should get fixes first.

[1] http://markmail.org/thread/xoyjw2sduenlytwm

 Feature development need to be done outside master, period. Not only for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.

[Animesh] Completely Agreed
 New git workflow were proposed and shutdown, mostly calling for better
CI
 to solve quality issues. CI will not solve our quality issues alone. We
need to
 better police ourselves.

[Animesh] I have already expressed my opinion in favor of CI

 To avoid long discussions, I propose this simple but drastic measure. We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master)
 would be reverted immediately.
 

 Our development and release process is broken, we cannot continue like
 this, let's fix it.
[Animesh] I  followed up the release process as established by Chip for
4.2 and 4.3 release for which I was the RM and frankly I did not feel it
that way other than the pain of multiple RCs. Folks may not like it but I
am entitled to my opinion and I do feel part of the issues for 4.4 were
self- inflicted because of pre mature code freeze and too early cherry
picking.

 [1] http://markmail.org/thread/xeliefp3oleq3g54

 -sebastien



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-30 Thread Rajani Karuturi
Can we atleast follow the merge part of it? ie) commit to 4.5 and then
merge 4.5 to master?

merging wont be easy unless everybody agrees and does merge for their
commits.

~Rajani

On Thu, Oct 30, 2014 at 8:44 PM, David Nalley da...@gnsa.us wrote:

 Commit to 4.5 and master please.

 --David

 On Thu, Oct 30, 2014 at 6:21 AM, Srikanteswararao Talluri
 srikanteswararao.tall...@citrix.com wrote:
  Hey Folks,
 
  After all these discussions, What is the direction to commit the code to
  master and 4.5? I have some commits on 4.5 which I would like to have
 them
  on master too. How to go about it?
 
  Thanks,
  ~Talluri
 
  On 23/10/14 11:47 am, Animesh Chaturvedi 
 animesh.chaturv...@citrix.com
  wrote:
 
 
 
  -Original Message-
  From: sebgoa [mailto:run...@gmail.com]
  Sent: Saturday, October 18, 2014 2:00 AM
  To: dev@cloudstack.apache.org
  Subject: [PROPOSAL] Move to github PR only during moratorium on
  commit
 
  After [1] I would like to officially bring up the following proposal.
 
  [Proposal]
  
  All commits come through github PR, *even* for committers. We declare a
  moratorium period (agreed suspension of activity) during which direct
  commit to master is forbidden.
  Only the master RM is allowed to merge PR in master (we define a master
  RM). If direct commit to master is done, master RM reverts without
  warning. Same for 4.5 and 4.4. branches.
  
 
  This is drastic and I am sure some folks will not like it, but here is
 my
  justification for such a measure:
 
  [Reasons]:
  
  Our commit and release processes have so far been based on the idea
 that
  development happens on master and that a release branch is cut from
  master (unstable development branch). Then a different set of community
  members harden the release branch, QA and bring it to GA level. During
  that time development keeps on going in master.
 
  This is an OK process if we have the luxury of having a QA team and can
  cope with split personality of being developers and release managers.
 
  My point of view is that as a community we cannot afford such a split
 brain
  organization and our experience overt the last year proves my point
  (delayed release date, broken builds, features merged without
 warning...)
 
  We can avoid this by cutting a release branch from a stable one (from
 the
  start), then as you (Daan) have mentioned several times, fix bugs in
 the
  release branch and merge them back in the stable source of the release
 (be
  it master).
 
 
 [Animesh] Sebastian you have brought up a  good point dependency on QA
 team from Citrix is an issue for the project. This was raised in the past
 as well and Alex's proposal [1] few months back using CI was in my
 opinion is the optimal solution. Why? Because CloudStack is a huge
 project and one single person cannot have the full knowledge to safely
 review all the code and certainly cannot scale, which CI and automation
 can address
 
 Keeping master stable is something no one would argue against and my
 point would match the original proposal from Alex. May be we can  have a
 staging branch for master and then merging the commit only after they
 have passed CI into master. The proposal got derailed and delayed because
 as called out at that time community does not want to work with a process
 that has a dependency on infrastructure that is not controlled by
 community. David and I are working to get the hardware from Citrix into
 ACS infra.
 
 The approach for fixing issues in release branch first and master later
 is not practical as we may miss out commits not made into master and
 future release regressing without the fixes. Also as the release goes
 into hardening cycle there will be a number of fixes which will not be
 allowed in release branch but need to be fixes for future, they should
 all go in master. Master is the catch all default branch and in my
 opinion should get fixes first.
 
 [1] http://markmail.org/thread/xoyjw2sduenlytwm
 
  Feature development need to be done outside master, period. Not only
 for
  non-committers but also for committers. And merge request need to be
  called. This will help review and avoid surprises.
 
 [Animesh] Completely Agreed
  New git workflow were proposed and shutdown, mostly calling for better
 CI
  to solve quality issues. CI will not solve our quality issues alone. We
 need to
  better police ourselves.
 
 [Animesh] I have already expressed my opinion in favor of CI
 
  To avoid long discussions, I propose this simple but drastic measure.
 We
  move all our commits to github PR until 4.5 is out, this stands for
  committers and non-committers, direct commits (especially to master)
  would be reverted immediately.
  
 
  Our development and release process is broken, we cannot continue like
  this, let's fix it.
 [Animesh] I  followed up the release process as established by Chip for
 4.2 and 4.3 release for which I was the RM and frankly I did not feel it
 that way other than

Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread Daan Hoogland
On Fri, Oct 24, 2014 at 1:30 AM, Animesh Chaturvedi
animesh.chaturv...@citrix.com wrote:

 I sttrongly disagree with Animesh here and think Rohit is overlooking a
 simple fact. At the moment the branches are for 'stabalizing'.
 Fixing on master first is in direct contradiction with that.

 We have not been stabalizing 4.4. it contains bug that have during the
 release periods for 4.4.0 and 4.4.1 been fixed on master. That shouldn't
 have been allowed to happen.
 [Animesh] Clearly we have disagreement. To avoid the issue that you mention 
 David had created forward branch for 4.2 and I found it useful and continued 
 with that approach in 4.3. With forward branch which are really staging it 
 was a simple merge of forward back to release branch. The other approach of 
 merging release branch into master work as well but in my opinion keeping 
 master as the default branch (with protection of course ) is simpler to 
 understand and creates less confusion


I abandoned that approach as cherry-picking started to give
complicated conflicts that I could not resolve. Also one particular
conflict, the one in the db upgrade script, kept coming back. This has
cost me a lot of time for work that was not there to begin with. Hence
my big aversion of the forward branches.


-- 
Daan


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread Daan Hoogland
Mike, Why have everybody work on the same branch. people can work on
their own branch and when they are done they can rebase on the tip see
ci success and then merge. The problem with forward branches is
abandoned work or work that for some reason shouldn't go in 'this'
release. it will remain there.

On Fri, Oct 24, 2014 at 3:34 AM, Mike Tutkowski
mike.tutkow...@solidfire.com wrote:
 Are we talking about something like what I drew up here?:

 http://i.imgur.com/UgPtJGY.png

 In this scheme, the -forward branches are the ones you can directly commit
 to while their peers without the -forward are the ones that code gets
 merged to from its corresponding -forward branch.

 CI is performed on the -forward branches before any merging takes place.

 The merge recorded concept I put in the diagram refers to the situation
 where you have a commit on a branch like 4.5, but you do NOT want it to
 move forward to master.

 I don't know if Git has such a concept, but SVN calls this kind of a
 merge merge recording. Merge recording essentially means you do not want
 those changes brought forward to the specified branch (not now and not with
 future merges other people or yourself may do).



 On Thu, Oct 23, 2014 at 5:30 PM, Animesh Chaturvedi 
 animesh.chaturv...@citrix.com wrote:



  -Original Message-
  From: Daan Hoogland [mailto:daan.hoogl...@gmail.com]
  Sent: Thursday, October 23, 2014 1:31 AM
  To: dev
  Subject: Re: [PROPOSAL] Move to github PR only during moratorium on
  commit
 
  On Thu, Oct 23, 2014 at 10:22 AM, Rohit Yadav
  rohit.ya...@shapeblue.com wrote:
   Hi,
  
   On 23-Oct-2014, at 11:47 am, Animesh Chaturvedi
  animesh.chaturv...@citrix.com wrote:
  ...
   The approach for fixing issues in release branch first and master
 later is
  not practical as we may miss out commits not made into master and future
  release regressing without the fixes.
  
   By the same logic, if we fix by default on master only, the release
 branch
  may miss out commits.
 
  I sttrongly disagree with Animesh here and think Rohit is overlooking a
  simple fact. At the moment the branches are for 'stabalizing'.
  Fixing on master first is in direct contradiction with that.
 
  We have not been stabalizing 4.4. it contains bug that have during the
  release periods for 4.4.0 and 4.4.1 been fixed on master. That shouldn't
  have been allowed to happen.
 [Animesh] Clearly we have disagreement. To avoid the issue that you
 mention David had created forward branch for 4.2 and I found it useful and
 continued with that approach in 4.3. With forward branch which are really
 staging it was a simple merge of forward back to release branch. The other
 approach of merging release branch into master work as well but in my
 opinion keeping master as the default branch (with protection of course )
 is simpler to understand and creates less confusion




 --
 *Mike Tutkowski*
 *Senior CloudStack Developer, SolidFire Inc.*
 e: mike.tutkow...@solidfire.com
 o: 303.746.7302
 Advancing the way the world uses the cloud
 http://solidfire.com/solution/overview/?video=play*™*



-- 
Daan


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread Mike Tutkowski
Yeah, Daan, the approach you describe sounds like a reasonable substitute
for what I have in that diagram.

My main concern was CI running before the code was checked into the real
branch from the staging branch.

On Fri, Oct 24, 2014 at 1:12 AM, Daan Hoogland daan.hoogl...@gmail.com
wrote:

 Mike, Why have everybody work on the same branch. people can work on
 their own branch and when they are done they can rebase on the tip see
 ci success and then merge. The problem with forward branches is
 abandoned work or work that for some reason shouldn't go in 'this'
 release. it will remain there.

 On Fri, Oct 24, 2014 at 3:34 AM, Mike Tutkowski
 mike.tutkow...@solidfire.com wrote:
  Are we talking about something like what I drew up here?:
 
  http://i.imgur.com/UgPtJGY.png
 
  In this scheme, the -forward branches are the ones you can directly
 commit
  to while their peers without the -forward are the ones that code gets
  merged to from its corresponding -forward branch.
 
  CI is performed on the -forward branches before any merging takes place.
 
  The merge recorded concept I put in the diagram refers to the situation
  where you have a commit on a branch like 4.5, but you do NOT want it to
  move forward to master.
 
  I don't know if Git has such a concept, but SVN calls this kind of a
  merge merge recording. Merge recording essentially means you do not
 want
  those changes brought forward to the specified branch (not now and not
 with
  future merges other people or yourself may do).
 
 
 
  On Thu, Oct 23, 2014 at 5:30 PM, Animesh Chaturvedi 
  animesh.chaturv...@citrix.com wrote:
 
 
 
   -Original Message-
   From: Daan Hoogland [mailto:daan.hoogl...@gmail.com]
   Sent: Thursday, October 23, 2014 1:31 AM
   To: dev
   Subject: Re: [PROPOSAL] Move to github PR only during moratorium on
   commit
  
   On Thu, Oct 23, 2014 at 10:22 AM, Rohit Yadav
   rohit.ya...@shapeblue.com wrote:
Hi,
   
On 23-Oct-2014, at 11:47 am, Animesh Chaturvedi
   animesh.chaturv...@citrix.com wrote:
   ...
The approach for fixing issues in release branch first and master
  later is
   not practical as we may miss out commits not made into master and
 future
   release regressing without the fixes.
   
By the same logic, if we fix by default on master only, the release
  branch
   may miss out commits.
  
   I sttrongly disagree with Animesh here and think Rohit is overlooking
 a
   simple fact. At the moment the branches are for 'stabalizing'.
   Fixing on master first is in direct contradiction with that.
  
   We have not been stabalizing 4.4. it contains bug that have during the
   release periods for 4.4.0 and 4.4.1 been fixed on master. That
 shouldn't
   have been allowed to happen.
  [Animesh] Clearly we have disagreement. To avoid the issue that you
  mention David had created forward branch for 4.2 and I found it useful
 and
  continued with that approach in 4.3. With forward branch which are
 really
  staging it was a simple merge of forward back to release branch. The
 other
  approach of merging release branch into master work as well but in my
  opinion keeping master as the default branch (with protection of course
 )
  is simpler to understand and creates less confusion
 
 
 
 
  --
  *Mike Tutkowski*
  *Senior CloudStack Developer, SolidFire Inc.*
  e: mike.tutkow...@solidfire.com
  o: 303.746.7302
  Advancing the way the world uses the cloud
  http://solidfire.com/solution/overview/?video=play*™*



 --
 Daan




-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkow...@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
http://solidfire.com/solution/overview/?video=play*™*


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread Mike Tutkowski
Right, we just need to make sure CI comes into play before the merge.

Hence my earlier reply to what Daan mention:

My main concern was CI running before the code was checked into the real
branch from the staging branch.

On Fri, Oct 24, 2014 at 12:28 PM, David Nalley da...@gnsa.us wrote:

 On Fri, Oct 24, 2014 at 3:12 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
  Mike, Why have everybody work on the same branch. people can work on
  their own branch and when they are done they can rebase on the tip see
  ci success and then merge. The problem with forward branches is
  abandoned work or work that for some reason shouldn't go in 'this'
  release. it will remain there.
 

 CI really needs to happen before the merge occurs, IMO. Backing out
 merges, in my experience, is incredibly painful. And typically this
 means that someone else is going to have to clean up the mess after
 someone merges.




-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkow...@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
http://solidfire.com/solution/overview/?video=play*™*


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread David Nalley
On Fri, Oct 24, 2014 at 3:12 AM, Daan Hoogland daan.hoogl...@gmail.com wrote:
 Mike, Why have everybody work on the same branch. people can work on
 their own branch and when they are done they can rebase on the tip see
 ci success and then merge. The problem with forward branches is
 abandoned work or work that for some reason shouldn't go in 'this'
 release. it will remain there.


CI really needs to happen before the merge occurs, IMO. Backing out
merges, in my experience, is incredibly painful. And typically this
means that someone else is going to have to clean up the mess after
someone merges.


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread Daan Hoogland
mobile dev with bilingual spelling checker used (read at your own risk)
Op 24 okt. 2014 20:30 schreef David Nalley da...@gnsa.us:

 On Fri, Oct 24, 2014 at 3:12 AM, Daan Hoogland daan.hoogl...@gmail.com
wrote:
  Mike, Why have everybody work on the same branch. people can work on
  their own branch and when they are done they can rebase on the tip see
  ci success and then merge. The problem with forward branches is
  abandoned work or work that for some reason shouldn't go in 'this'
  release. it will remain there.
 

 CI really needs to happen before the merge occurs, IMO.
Yes, that is exactly what i am saying
Backing out
 merges, in my experience, is incredibly painful. And typically this
 means that someone else is going to have to clean up the mess after
 someone merges.
and this is also what is wrong with the forward branches. It happened there
as well.


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread Daan Hoogland
We do run ci on branches!

mobile dev with bilingual spelling checker used (read at your own risk)
Op 24 okt. 2014 20:38 schreef Mike Tutkowski mike.tutkow...@solidfire.com
:

 Right, we just need to make sure CI comes into play before the merge.

 Hence my earlier reply to what Daan mention:

 My main concern was CI running before the code was checked into the real
 branch from the staging branch.

 On Fri, Oct 24, 2014 at 12:28 PM, David Nalley da...@gnsa.us wrote:

  On Fri, Oct 24, 2014 at 3:12 AM, Daan Hoogland daan.hoogl...@gmail.com
  wrote:
   Mike, Why have everybody work on the same branch. people can work on
   their own branch and when they are done they can rebase on the tip see
   ci success and then merge. The problem with forward branches is
   abandoned work or work that for some reason shouldn't go in 'this'
   release. it will remain there.
  
 
  CI really needs to happen before the merge occurs, IMO. Backing out
  merges, in my experience, is incredibly painful. And typically this
  means that someone else is going to have to clean up the mess after
  someone merges.
 



 --
 *Mike Tutkowski*
 *Senior CloudStack Developer, SolidFire Inc.*
 e: mike.tutkow...@solidfire.com
 o: 303.746.7302
 Advancing the way the world uses the cloud
 http://solidfire.com/solution/overview/?video=play*™*



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread Mike Tutkowski
Cool...so, it sounds like any branch we create in the repo will
automatically have CI run against it post each commit.

How do you know when CI has completed and what the results are?

At that point, you could treat your own branch (as Daan says) as the
forward branch. Once CI has been successful, you can merge your code to,
say, 4.5 (or the RM can).

We then need a protocol for when we merge to 4.5 from our own branch, but
don't want to have those changes in master.

If we do want those changes, of course we can just merge from 4.5 to master.

On Fri, Oct 24, 2014 at 2:45 PM, Daan Hoogland daan.hoogl...@gmail.com
wrote:

 We do run ci on branches!

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 24 okt. 2014 20:38 schreef Mike Tutkowski 
 mike.tutkow...@solidfire.com
 :

  Right, we just need to make sure CI comes into play before the merge.
 
  Hence my earlier reply to what Daan mention:
 
  My main concern was CI running before the code was checked into the
 real
  branch from the staging branch.
 
  On Fri, Oct 24, 2014 at 12:28 PM, David Nalley da...@gnsa.us wrote:
 
   On Fri, Oct 24, 2014 at 3:12 AM, Daan Hoogland 
 daan.hoogl...@gmail.com
   wrote:
Mike, Why have everybody work on the same branch. people can work on
their own branch and when they are done they can rebase on the tip
 see
ci success and then merge. The problem with forward branches is
abandoned work or work that for some reason shouldn't go in 'this'
release. it will remain there.
   
  
   CI really needs to happen before the merge occurs, IMO. Backing out
   merges, in my experience, is incredibly painful. And typically this
   means that someone else is going to have to clean up the mess after
   someone merges.
  
 
 
 
  --
  *Mike Tutkowski*
  *Senior CloudStack Developer, SolidFire Inc.*
  e: mike.tutkow...@solidfire.com
  o: 303.746.7302
  Advancing the way the world uses the cloud
  http://solidfire.com/solution/overview/?video=play*™*
 




-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkow...@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
http://solidfire.com/solution/overview/?video=play*™*


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-24 Thread Daan Hoogland
At the moment it must be called 'hotfix/*' or 'bugfix/*'. we should
add 'feature/*' to that.

On Fri, Oct 24, 2014 at 11:11 PM, Mike Tutkowski
mike.tutkow...@solidfire.com wrote:
 Cool...so, it sounds like any branch we create in the repo will
 automatically have CI run against it post each commit.

 How do you know when CI has completed and what the results are?

 At that point, you could treat your own branch (as Daan says) as the
 forward branch. Once CI has been successful, you can merge your code to,
 say, 4.5 (or the RM can).

 We then need a protocol for when we merge to 4.5 from our own branch, but
 don't want to have those changes in master.

 If we do want those changes, of course we can just merge from 4.5 to master.

 On Fri, Oct 24, 2014 at 2:45 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:

 We do run ci on branches!

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 24 okt. 2014 20:38 schreef Mike Tutkowski 
 mike.tutkow...@solidfire.com
 :

  Right, we just need to make sure CI comes into play before the merge.
 
  Hence my earlier reply to what Daan mention:
 
  My main concern was CI running before the code was checked into the
 real
  branch from the staging branch.
 
  On Fri, Oct 24, 2014 at 12:28 PM, David Nalley da...@gnsa.us wrote:
 
   On Fri, Oct 24, 2014 at 3:12 AM, Daan Hoogland 
 daan.hoogl...@gmail.com
   wrote:
Mike, Why have everybody work on the same branch. people can work on
their own branch and when they are done they can rebase on the tip
 see
ci success and then merge. The problem with forward branches is
abandoned work or work that for some reason shouldn't go in 'this'
release. it will remain there.
   
  
   CI really needs to happen before the merge occurs, IMO. Backing out
   merges, in my experience, is incredibly painful. And typically this
   means that someone else is going to have to clean up the mess after
   someone merges.
  
 
 
 
  --
  *Mike Tutkowski*
  *Senior CloudStack Developer, SolidFire Inc.*
  e: mike.tutkow...@solidfire.com
  o: 303.746.7302
  Advancing the way the world uses the cloud
  http://solidfire.com/solution/overview/?video=play*™*
 




 --
 *Mike Tutkowski*
 *Senior CloudStack Developer, SolidFire Inc.*
 e: mike.tutkow...@solidfire.com
 o: 303.746.7302
 Advancing the way the world uses the cloud
 http://solidfire.com/solution/overview/?video=play*™*



-- 
Daan


RE: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-23 Thread Animesh Chaturvedi


 -Original Message-
 From: sebgoa [mailto:run...@gmail.com]
 Sent: Saturday, October 18, 2014 2:00 AM
 To: dev@cloudstack.apache.org
 Subject: [PROPOSAL] Move to github PR only during moratorium on
 commit
 
 After [1] I would like to officially bring up the following proposal.
 
 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without
 warning. Same for 4.5 and 4.4. branches.
 
 
 This is drastic and I am sure some folks will not like it, but here is my
 justification for such a measure:
 
 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that
 development happens on master and that a release branch is cut from
 master (unstable development branch). Then a different set of community
 members harden the release branch, QA and bring it to GA level. During
 that time development keeps on going in master.
 
 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.
 
 My point of view is that as a community we cannot afford such a split brain
 organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without warning...)
 
 We can avoid this by cutting a release branch from a stable one (from the
 start), then as you (Daan) have mentioned several times, fix bugs in the
 release branch and merge them back in the stable source of the release (be
 it master).


[Animesh] Sebastian you have brought up a  good point dependency on QA team 
from Citrix is an issue for the project. This was raised in the past as well 
and Alex's proposal [1] few months back using CI was in my opinion is the 
optimal solution. Why? Because CloudStack is a huge project and one single 
person cannot have the full knowledge to safely review all the code and 
certainly cannot scale, which CI and automation can address

Keeping master stable is something no one would argue against and my point 
would match the original proposal from Alex. May be we can  have a staging 
branch for master and then merging the commit only after they have passed CI 
into master. The proposal got derailed and delayed because as called out at 
that time community does not want to work with a process that has a dependency 
on infrastructure that is not controlled by community. David and I are working 
to get the hardware from Citrix into ACS infra. 

The approach for fixing issues in release branch first and master later is not 
practical as we may miss out commits not made into master and future release 
regressing without the fixes. Also as the release goes into hardening cycle 
there will be a number of fixes which will not be allowed in release branch but 
need to be fixes for future, they should all go in master. Master is the catch 
all default branch and in my opinion should get fixes first.

[1] http://markmail.org/thread/xoyjw2sduenlytwm
 
 Feature development need to be done outside master, period. Not only for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.
 
[Animesh] Completely Agreed
 New git workflow were proposed and shutdown, mostly calling for better CI
 to solve quality issues. CI will not solve our quality issues alone. We need 
 to
 better police ourselves.

[Animesh] I have already expressed my opinion in favor of CI

 To avoid long discussions, I propose this simple but drastic measure. We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master)
 would be reverted immediately.
 
 
 Our development and release process is broken, we cannot continue like
 this, let's fix it.
[Animesh] I  followed up the release process as established by Chip for 4.2 and 
4.3 release for which I was the RM and frankly I did not feel it that way other 
than the pain of multiple RCs. Folks may not like it but I am entitled to my 
opinion and I do feel part of the issues for 4.4 were self- inflicted because 
of pre mature code freeze and too early cherry picking. 
 
 [1] http://markmail.org/thread/xeliefp3oleq3g54
 
 -sebastien


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-23 Thread Rohit Yadav
Hi,

 On 23-Oct-2014, at 11:47 am, Animesh Chaturvedi 
 animesh.chaturv...@citrix.com wrote:

 [Animesh] Sebastian you have brought up a  good point dependency on QA team 
 from Citrix is an issue for the project. This was raised in the past as well 
 and Alex's proposal [1] few months back using CI was in my opinion is the 
 optimal solution. Why? Because CloudStack is a huge project and one single 
 person cannot have the full knowledge to safely review all the code and 
 certainly cannot scale, which CI and automation can address

 Keeping master stable is something no one would argue against and my point 
 would match the original proposal from Alex. May be we can  have a staging 
 branch for master and then merging the commit only after they have passed CI 
 into master. The proposal got derailed and delayed because as called out at 
 that time community does not want to work with a process that has a 
 dependency on infrastructure that is not controlled by community. David and I 
 are working to get the hardware from Citrix into ACS infra.

Agree. Animesh has good point to share here.

 The approach for fixing issues in release branch first and master later is 
 not practical as we may miss out commits not made into master and future 
 release regressing without the fixes.

By the same logic, if we fix by default on master only, the release branch may 
miss out commits.

At any given time, the release branch is hopefully more stable than master 
(since it’s getting bugfixes/hardening as Animesh shared). So, by merging 
release branch on master we get all those hardened changes back to master. If 
we fix things on release branch and keep merging the release branch on master, 
we fix the issue both on release branch and master branch.

The only issue I see is code divergence between release branch and master 
branch as time passes.

 Also as the release goes into hardening cycle there will be a number of fixes 
 which will not be allowed in release branch but need to be fixes for future, 
 they should all go in master. Master is the catch all default branch and in 
 my opinion should get fixes first.

Agree, any fix that should not be done on release branch should go in to master.

Regards,
Rohit Yadav
Software Architect, ShapeBlue
M. +91 88 262 30892 | rohit.ya...@shapeblue.com
Blog: bhaisaab.org | Twitter: @_bhaisaab

Find out more about ShapeBlue and our range of CloudStack related services

IaaS Cloud Design  Buildhttp://shapeblue.com/iaas-cloud-design-and-build//
CSForge – rapid IaaS deployment frameworkhttp://shapeblue.com/csforge/
CloudStack Consultinghttp://shapeblue.com/cloudstack-consultancy/
CloudStack Infrastructure 
Supporthttp://shapeblue.com/cloudstack-infrastructure-support/
CloudStack Bootcamp Training Courseshttp://shapeblue.com/cloudstack-training/

This email and any attachments to it may be confidential and are intended 
solely for the use of the individual to whom it is addressed. Any views or 
opinions expressed are solely those of the author and do not necessarily 
represent those of Shape Blue Ltd or related companies. If you are not the 
intended recipient of this email, you must neither take any action based upon 
its contents, nor copy or show it to anyone. Please contact the sender if you 
believe you have received this email in error. Shape Blue Ltd is a company 
incorporated in England  Wales. ShapeBlue Services India LLP is a company 
incorporated in India and is operated under license from Shape Blue Ltd. Shape 
Blue Brasil Consultoria Ltda is a company incorporated in Brasil and is 
operated under license from Shape Blue Ltd. ShapeBlue SA Pty Ltd is a company 
registered by The Republic of South Africa and is traded under license from 
Shape Blue Ltd. ShapeBlue is a registered trademark.


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-23 Thread Daan Hoogland
On Thu, Oct 23, 2014 at 10:22 AM, Rohit Yadav rohit.ya...@shapeblue.com wrote:
 Hi,

 On 23-Oct-2014, at 11:47 am, Animesh Chaturvedi 
 animesh.chaturv...@citrix.com wrote:
...
 The approach for fixing issues in release branch first and master later is 
 not practical as we may miss out commits not made into master and future 
 release regressing without the fixes.

 By the same logic, if we fix by default on master only, the release branch 
 may miss out commits.

I sttrongly disagree with Animesh here and think Rohit is overlooking
a simple fact. At the moment the branches are for 'stabalizing'.
Fixing on master first is in direct contradiction with that.

We have not been stabalizing 4.4. it contains bug that have during the
release periods for 4.4.0 and 4.4.1 been fixed on master. That
shouldn't have been allowed to happen.


RE: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-23 Thread Animesh Chaturvedi


 -Original Message-
 From: Rohit Yadav [mailto:rohit.ya...@shapeblue.com]
 Sent: Thursday, October 23, 2014 1:22 AM
 To: dev@cloudstack.apache.org
 Subject: Re: [PROPOSAL] Move to github PR only during moratorium on
 commit
 
 Hi,
 
  On 23-Oct-2014, at 11:47 am, Animesh Chaturvedi
 animesh.chaturv...@citrix.com wrote:
 
  [Animesh] Sebastian you have brought up a  good point dependency on
 QA team from Citrix is an issue for the project. This was raised in the past 
 as
 well and Alex's proposal [1] few months back using CI was in my opinion is
 the optimal solution. Why? Because CloudStack is a huge project and one
 single person cannot have the full knowledge to safely review all the code
 and certainly cannot scale, which CI and automation can address
 
  Keeping master stable is something no one would argue against and my
 point would match the original proposal from Alex. May be we can  have a
 staging branch for master and then merging the commit only after they
 have passed CI into master. The proposal got derailed and delayed because
 as called out at that time community does not want to work with a process
 that has a dependency on infrastructure that is not controlled by
 community. David and I are working to get the hardware from Citrix into
 ACS infra.
 
 Agree. Animesh has good point to share here.
 
  The approach for fixing issues in release branch first and master later is
 not practical as we may miss out commits not made into master and future
 release regressing without the fixes.
 
 By the same logic, if we fix by default on master only, the release branch
 may miss out commits.
 
 At any given time, the release branch is hopefully more stable than master
 (since it’s getting bugfixes/hardening as Animesh shared). So, by merging
 release branch on master we get all those hardened changes back to master.
 If we fix things on release branch and keep merging the release branch on
 master, we fix the issue both on release branch and master branch.
 
 The only issue I see is code divergence between release branch and master
 branch as time passes.
 
[Animesh] Yes that is correct and that's why we had the forward branches in 4.2 
and 4.3 so that commits go into  forward branches (really staging) an master 
and it was a simple merge of forward back to release branch. The other approach 
of merging release branch into master work as well but in my opinion keeping 
master as the default branch (with protection of course ) is simpler to 
understand and created less confusion

  Also as the release goes into hardening cycle there will be a number of
 fixes which will not be allowed in release branch but need to be fixes for
 future, they should all go in master. Master is the catch all default branch
 and in my opinion should get fixes first.
 
 Agree, any fix that should not be done on release branch should go in to
 master.
 
 Regards,
 Rohit Yadav
 Software Architect, ShapeBlue
 M. +91 88 262 30892 | rohit.ya...@shapeblue.com
 Blog: bhaisaab.org | Twitter: @_bhaisaab
 
 Find out more about ShapeBlue and our range of CloudStack related
 services
 
 IaaS Cloud Design  Buildhttp://shapeblue.com/iaas-cloud-design-and-
 build//
 CSForge – rapid IaaS deployment
 frameworkhttp://shapeblue.com/csforge/
 CloudStack Consultinghttp://shapeblue.com/cloudstack-consultancy/
 CloudStack Infrastructure Supporthttp://shapeblue.com/cloudstack-
 infrastructure-support/
 CloudStack Bootcamp Training Courseshttp://shapeblue.com/cloudstack-
 training/
 
 This email and any attachments to it may be confidential and are intended
 solely for the use of the individual to whom it is addressed. Any views or
 opinions expressed are solely those of the author and do not necessarily
 represent those of Shape Blue Ltd or related companies. If you are not the
 intended recipient of this email, you must neither take any action based
 upon its contents, nor copy or show it to anyone. Please contact the sender
 if you believe you have received this email in error. Shape Blue Ltd is a
 company incorporated in England  Wales. ShapeBlue Services India LLP is a
 company incorporated in India and is operated under license from Shape
 Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company incorporated in
 Brasil and is operated under license from Shape Blue Ltd. ShapeBlue SA Pty
 Ltd is a company registered by The Republic of South Africa and is traded
 under license from Shape Blue Ltd. ShapeBlue is a registered trademark.


RE: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-23 Thread Animesh Chaturvedi


 -Original Message-
 From: Daan Hoogland [mailto:daan.hoogl...@gmail.com]
 Sent: Thursday, October 23, 2014 1:31 AM
 To: dev
 Subject: Re: [PROPOSAL] Move to github PR only during moratorium on
 commit
 
 On Thu, Oct 23, 2014 at 10:22 AM, Rohit Yadav
 rohit.ya...@shapeblue.com wrote:
  Hi,
 
  On 23-Oct-2014, at 11:47 am, Animesh Chaturvedi
 animesh.chaturv...@citrix.com wrote:
 ...
  The approach for fixing issues in release branch first and master later is
 not practical as we may miss out commits not made into master and future
 release regressing without the fixes.
 
  By the same logic, if we fix by default on master only, the release branch
 may miss out commits.
 
 I sttrongly disagree with Animesh here and think Rohit is overlooking a
 simple fact. At the moment the branches are for 'stabalizing'.
 Fixing on master first is in direct contradiction with that.
 
 We have not been stabalizing 4.4. it contains bug that have during the
 release periods for 4.4.0 and 4.4.1 been fixed on master. That shouldn't
 have been allowed to happen.
[Animesh] Clearly we have disagreement. To avoid the issue that you mention 
David had created forward branch for 4.2 and I found it useful and continued 
with that approach in 4.3. With forward branch which are really staging it was 
a simple merge of forward back to release branch. The other approach of merging 
release branch into master work as well but in my opinion keeping master as the 
default branch (with protection of course ) is simpler to understand and 
creates less confusion



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-23 Thread Mike Tutkowski
Are we talking about something like what I drew up here?:

http://i.imgur.com/UgPtJGY.png

In this scheme, the -forward branches are the ones you can directly commit
to while their peers without the -forward are the ones that code gets
merged to from its corresponding -forward branch.

CI is performed on the -forward branches before any merging takes place.

The merge recorded concept I put in the diagram refers to the situation
where you have a commit on a branch like 4.5, but you do NOT want it to
move forward to master.

I don't know if Git has such a concept, but SVN calls this kind of a
merge merge recording. Merge recording essentially means you do not want
those changes brought forward to the specified branch (not now and not with
future merges other people or yourself may do).



On Thu, Oct 23, 2014 at 5:30 PM, Animesh Chaturvedi 
animesh.chaturv...@citrix.com wrote:



  -Original Message-
  From: Daan Hoogland [mailto:daan.hoogl...@gmail.com]
  Sent: Thursday, October 23, 2014 1:31 AM
  To: dev
  Subject: Re: [PROPOSAL] Move to github PR only during moratorium on
  commit
 
  On Thu, Oct 23, 2014 at 10:22 AM, Rohit Yadav
  rohit.ya...@shapeblue.com wrote:
   Hi,
  
   On 23-Oct-2014, at 11:47 am, Animesh Chaturvedi
  animesh.chaturv...@citrix.com wrote:
  ...
   The approach for fixing issues in release branch first and master
 later is
  not practical as we may miss out commits not made into master and future
  release regressing without the fixes.
  
   By the same logic, if we fix by default on master only, the release
 branch
  may miss out commits.
 
  I sttrongly disagree with Animesh here and think Rohit is overlooking a
  simple fact. At the moment the branches are for 'stabalizing'.
  Fixing on master first is in direct contradiction with that.
 
  We have not been stabalizing 4.4. it contains bug that have during the
  release periods for 4.4.0 and 4.4.1 been fixed on master. That shouldn't
  have been allowed to happen.
 [Animesh] Clearly we have disagreement. To avoid the issue that you
 mention David had created forward branch for 4.2 and I found it useful and
 continued with that approach in 4.3. With forward branch which are really
 staging it was a simple merge of forward back to release branch. The other
 approach of merging release branch into master work as well but in my
 opinion keeping master as the default branch (with protection of course )
 is simpler to understand and creates less confusion




-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkow...@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
http://solidfire.com/solution/overview/?video=play*™*


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-22 Thread sebgoa

On Oct 22, 2014, at 1:21 AM, David Nalley da...@gnsa.us wrote:

 Hi Sebastien:
 
 So I like the idea of:
 
 1. Us putting up all inbound code for review.
 2. Gating that code on a testing pass
 3. Having someone else look at it before committing.
 
 I don't think that should mean that all code that works gets an
 immediate pass. I also don't think that we should have n RMs for
 branches. It doesn't scale, and it moves us from consensus to
 authoritarian. I am all for reverting things that break, but think
 that should be a community wide responsibility, not one or two
 policemen.
 
 I also think this is a huge shift in process. Right now we have 145
 open patches on ReviewBoard. We average scores of commits per day; so
 understand that this is a huge, gigantic shift in how we work. This
 requires a high level of commitment from everyone, and frankly it's
 likely to bury TravisCI.
 
 I also worry about the effect of this on our ability to timely ship
 4.5. We have 14 Critical and blocker bugs for 4.5, and part of me
 worries that this is a distraction for 4.5 release efforts.
 
 Please don't take this as discounting your proposal or your concerns.
 I don't think that many folks disagrees in principle with the first 3
 points above. But timing, and implementation details may be an issue.
 
 --David

I respectfully disagree with you. I hear your concerns but I feel that we are 
at a stage where we need drastic measures.
I understand this may sound like an authoritarian proposal but this is how I 
see it, I don't like the way we develop cloudstack and I am not even a software 
engineer.

I am off for 2 weeks, and won't be able to check on this or defend this 
proposal.

-sebastien

 
 On Sat, Oct 18, 2014 at 5:00 AM, sebgoa run...@gmail.com wrote:
 After [1] I would like to officially bring up the following proposal.
 
 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a 
 moratorium period (agreed suspension of activity) during which direct commit 
 to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master RM). 
 If direct commit to master is done, master RM reverts without warning. Same 
 for 4.5 and 4.4. branches.
 
 
 This is drastic and I am sure some folks will not like it, but here is my 
 justification for such a measure:
 
 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that 
 development happens on master and that a release branch is cut from master 
 (unstable development branch). Then a different set of community members 
 harden the release branch, QA and bring it to GA level. During that time 
 development keeps on going in master.
 
 This is an OK process if we have the luxury of having a QA team and can cope 
 with split personality of being developers and release managers.
 
 My point of view is that as a community we cannot afford such a split brain 
 organization and our experience overt the last year proves my point (delayed 
 release date, broken builds, features merged without warning…)
 
 We can avoid this by cutting a release branch from a stable one (from the 
 start), then as you (Daan) have mentioned several times, fix bugs in the 
 release branch and merge them back in the stable source of the release (be 
 it master).
 
 Feature development need to be done outside master, period. Not only for 
 non-committers but also for committers. And merge request need to be called. 
 This will help review and avoid surprises.
 
 New git workflow were proposed and shutdown, mostly calling for better CI to 
 solve quality issues. CI will not solve our quality issues alone. We need to 
 better police ourselves.
 
 To avoid long discussions, I propose this simple but drastic measure. We 
 move all our commits to github PR until 4.5 is out, this stands for 
 committers and non-committers, direct commits (especially to master) would 
 be reverted immediately.
 
 
 Our development and release process is broken, we cannot continue like this, 
 let's fix it.
 
 [1] http://markmail.org/thread/xeliefp3oleq3g54
 
 -sebastien



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-21 Thread sebgoa

On Oct 21, 2014, at 6:32 AM, Mike Tutkowski mike.tutkow...@solidfire.com 
wrote:

 Code reviews are great.
 
 However, we will need to change our behavior quite a bit if code is to make
 it in within a reasonable amount of time as code reviews today often don't
 get done in a timely fashion.


Just look at it as an incremental step forward. Reviews could just be a ship 
it, like we see many times on RB.

The point is really to track the commits better and have the RMs (whatever many 
we have), to do the commits and construct the release branches.

This would be much better than the free for all we have right now and would 
redirect development to feature branches and bugfix branches until merged.

And fwiw, I do believe that RM is a full time job.


 
 In a volunteer community, it's hard to assign work (including code
 reviews) to people (let alone expect it done on your schedule).
 
 This is, of course, different at most of our day jobs where managers are in
 a position to make sure the community is responsive.
 
 On Monday, October 20, 2014, Rajani Karuturi raj...@apache.org wrote:
 
 I like the way Stephen split it.
 Here is my vote.
 +1 on using github pull requests.
 +1 on compulsory code reviews and PRs even for committers and CI build pass
 before merging.
 +1 on merges from 4.5 to master and no individual commits(or cherry-picks)
 to the branches
 +0 on RM for master and commits gated by him. I agree with Stephen that
 code reviewer should be doing the push. But, I am ok with RM doing
 it(assuming we have a volunteer ;) ).
 
 +1 on any changes independently.
 
 
 ~Rajani
 
 On Mon, Oct 20, 2014 at 5:21 PM, Stephen Turner stephen.tur...@citrix.com
 javascript:;
 wrote:
 
 As I just said in the other thread -- but to repeat it here in the
 PROPOSAL thread --
 
 I am +1 on using github pull requests.
 
 I am +1 on all code changes being reviewed by a committer other than the
 author, as well as undergoing some automated CI testing, before the pull
 request is merged.
 
 I am +0 on only the master RM merging the pull request. I don't want the
 author to push the code, but I think the code reviewer could do this; in
 practice the RM will not be able to review everything again so is likely
 to
 rubber-stamp the results of the code review / automated testing. But I
 could live with the master RM doing it.
 
 I am +1 on moving ahead with any of these parts individually, rather than
 waiting for everything to be in place before doing anything.
 
 --
 Stephen Turner
 
 
 -Original Message-
 From: sebgoa [mailto:run...@gmail.com javascript:;]
 Sent: 18 October 2014 10:00
 To: dev@cloudstack.apache.org javascript:;
 Subject: [PROPOSAL] Move to github PR only during moratorium on commit
 
 After [1] I would like to officially bring up the following proposal.
 
 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without
 warning.
 Same for 4.5 and 4.4. branches.
 
 
 This is drastic and I am sure some folks will not like it, but here is my
 justification for such a measure:
 
 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that
 development happens on master and that a release branch is cut from
 master
 (unstable development branch). Then a different set of community members
 harden the release branch, QA and bring it to GA level. During that time
 development keeps on going in master.
 
 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.
 
 My point of view is that as a community we cannot afford such a split
 brain organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without warning...)
 
 We can avoid this by cutting a release branch from a stable one (from the
 start), then as you (Daan) have mentioned several times, fix bugs in the
 release branch and merge them back in the stable source of the release
 (be
 it master).
 
 Feature development need to be done outside master, period. Not only for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.
 
 New git workflow were proposed and shutdown, mostly calling for better CI
 to solve quality issues. CI will not solve our quality issues alone. We
 need to better police ourselves.
 
 To avoid long discussions, I propose this simple but drastic measure. We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master)
 would
 be reverted immediately.
 
 
 Our development and release process is broken, we cannot continue like

Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-21 Thread Daan Hoogland
Ok, no one says it so let me be the bad guy.

rant
Nothing will work unless the citrix department in california agrees. They
have their in-house legacy proces to change and will not unless they can
sell it easily upstream. So whether we make a grand uninfied proposal or
take small steps doesn't matter, it must fit their internal political
situation.
This is very unhealthy. I am not saying that the objections coming from
that group are unreasonable every time. Sometimes they were more then other
times. I am even sure that they are working on improving as well but this
is invisible to the rest of us. A mail every once in a while does not make
this visible. The proces of improving the way we work is impaired by it.
They to need to make small steps so we can see what is happening and where
we are going. Even a grand proposal by Citrix California won't be accepted,
because the change will be to big!
/rant

frustrated conclusion
I made some small steps in improving during the 4.4.1 release process.
These were largely ignored or reverted in the current branch. unless the
current state of 4.5 happens to be very good we are in for a repeat of
recent history.
/frustrated conclusion

You know where to find me,
Daan

On Tue, Oct 21, 2014 at 6:32 AM, Mike Tutkowski 
mike.tutkow...@solidfire.com wrote:

 Code reviews are great.

 However, we will need to change our behavior quite a bit if code is to make
 it in within a reasonable amount of time as code reviews today often don't
 get done in a timely fashion.

 In a volunteer community, it's hard to assign work (including code
 reviews) to people (let alone expect it done on your schedule).

 This is, of course, different at most of our day jobs where managers are in
 a position to make sure the community is responsive.

 On Monday, October 20, 2014, Rajani Karuturi raj...@apache.org wrote:

  I like the way Stephen split it.
  Here is my vote.
  +1 on using github pull requests.
  +1 on compulsory code reviews and PRs even for committers and CI build
 pass
  before merging.
  +1 on merges from 4.5 to master and no individual commits(or
 cherry-picks)
  to the branches
  +0 on RM for master and commits gated by him. I agree with Stephen that
  code reviewer should be doing the push. But, I am ok with RM doing
  it(assuming we have a volunteer ;) ).
 
  +1 on any changes independently.
 
 
  ~Rajani
 
  On Mon, Oct 20, 2014 at 5:21 PM, Stephen Turner 
 stephen.tur...@citrix.com
  javascript:;
  wrote:
 
   As I just said in the other thread -- but to repeat it here in the
   PROPOSAL thread --
  
   I am +1 on using github pull requests.
  
   I am +1 on all code changes being reviewed by a committer other than
 the
   author, as well as undergoing some automated CI testing, before the
 pull
   request is merged.
  
   I am +0 on only the master RM merging the pull request. I don't want
 the
   author to push the code, but I think the code reviewer could do this;
 in
   practice the RM will not be able to review everything again so is
 likely
  to
   rubber-stamp the results of the code review / automated testing. But I
   could live with the master RM doing it.
  
   I am +1 on moving ahead with any of these parts individually, rather
 than
   waiting for everything to be in place before doing anything.
  
   --
   Stephen Turner
  
  
   -Original Message-
   From: sebgoa [mailto:run...@gmail.com javascript:;]
   Sent: 18 October 2014 10:00
   To: dev@cloudstack.apache.org javascript:;
   Subject: [PROPOSAL] Move to github PR only during moratorium on commit
  
   After [1] I would like to officially bring up the following proposal.
  
   [Proposal]
   
   All commits come through github PR, *even* for committers. We declare a
   moratorium period (agreed suspension of activity) during which direct
   commit to master is forbidden.
   Only the master RM is allowed to merge PR in master (we define a master
   RM). If direct commit to master is done, master RM reverts without
  warning.
   Same for 4.5 and 4.4. branches.
   
  
   This is drastic and I am sure some folks will not like it, but here is
 my
   justification for such a measure:
  
   [Reasons]:
   
   Our commit and release processes have so far been based on the idea
 that
   development happens on master and that a release branch is cut from
  master
   (unstable development branch). Then a different set of community
 members
   harden the release branch, QA and bring it to GA level. During that
 time
   development keeps on going in master.
  
   This is an OK process if we have the luxury of having a QA team and can
   cope with split personality of being developers and release managers.
  
   My point of view is that as a community we cannot afford such a split
   brain organization and our experience overt the last year proves my
 point
   (delayed release date, broken builds, features merged without
 warning...)
  
   We can avoid this by cutting a release branch from a stable one

Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-21 Thread sebgoa

On Oct 21, 2014, at 9:36 AM, Daan Hoogland daan.hoogl...@gmail.com wrote:

 Ok, no one says it so let me be the bad guy.
 
 rant
 Nothing will work unless the citrix department in california agrees. They
 have their in-house legacy proces to change and will not unless they can
 sell it easily upstream. So whether we make a grand uninfied proposal or
 take small steps doesn't matter, it must fit their internal political
 situation.
 This is very unhealthy. I am not saying that the objections coming from
 that group are unreasonable every time. Sometimes they were more then other
 times. I am even sure that they are working on improving as well but this
 is invisible to the rest of us. A mail every once in a while does not make
 this visible. The proces of improving the way we work is impaired by it.
 They to need to make small steps so we can see what is happening and where
 we are going. Even a grand proposal by Citrix California won't be accepted,
 because the change will be to big!
 /rant
 
 frustrated conclusion
 I made some small steps in improving during the 4.4.1 release process.
 These were largely ignored or reverted in the current branch. unless the
 current state of 4.5 happens to be very good we are in for a repeat of
 recent history.
 /frustrated conclusion
 
 You know where to find me,
 Daan

I will mostly +1 this 

-sebastien

 
 On Tue, Oct 21, 2014 at 6:32 AM, Mike Tutkowski 
 mike.tutkow...@solidfire.com wrote:
 
 Code reviews are great.
 
 However, we will need to change our behavior quite a bit if code is to make
 it in within a reasonable amount of time as code reviews today often don't
 get done in a timely fashion.
 
 In a volunteer community, it's hard to assign work (including code
 reviews) to people (let alone expect it done on your schedule).
 
 This is, of course, different at most of our day jobs where managers are in
 a position to make sure the community is responsive.
 
 On Monday, October 20, 2014, Rajani Karuturi raj...@apache.org wrote:
 
 I like the way Stephen split it.
 Here is my vote.
 +1 on using github pull requests.
 +1 on compulsory code reviews and PRs even for committers and CI build
 pass
 before merging.
 +1 on merges from 4.5 to master and no individual commits(or
 cherry-picks)
 to the branches
 +0 on RM for master and commits gated by him. I agree with Stephen that
 code reviewer should be doing the push. But, I am ok with RM doing
 it(assuming we have a volunteer ;) ).
 
 +1 on any changes independently.
 
 
 ~Rajani
 
 On Mon, Oct 20, 2014 at 5:21 PM, Stephen Turner 
 stephen.tur...@citrix.com
 javascript:;
 wrote:
 
 As I just said in the other thread -- but to repeat it here in the
 PROPOSAL thread --
 
 I am +1 on using github pull requests.
 
 I am +1 on all code changes being reviewed by a committer other than
 the
 author, as well as undergoing some automated CI testing, before the
 pull
 request is merged.
 
 I am +0 on only the master RM merging the pull request. I don't want
 the
 author to push the code, but I think the code reviewer could do this;
 in
 practice the RM will not be able to review everything again so is
 likely
 to
 rubber-stamp the results of the code review / automated testing. But I
 could live with the master RM doing it.
 
 I am +1 on moving ahead with any of these parts individually, rather
 than
 waiting for everything to be in place before doing anything.
 
 --
 Stephen Turner
 
 
 -Original Message-
 From: sebgoa [mailto:run...@gmail.com javascript:;]
 Sent: 18 October 2014 10:00
 To: dev@cloudstack.apache.org javascript:;
 Subject: [PROPOSAL] Move to github PR only during moratorium on commit
 
 After [1] I would like to officially bring up the following proposal.
 
 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without
 warning.
 Same for 4.5 and 4.4. branches.
 
 
 This is drastic and I am sure some folks will not like it, but here is
 my
 justification for such a measure:
 
 [Reasons]:
 
 Our commit and release processes have so far been based on the idea
 that
 development happens on master and that a release branch is cut from
 master
 (unstable development branch). Then a different set of community
 members
 harden the release branch, QA and bring it to GA level. During that
 time
 development keeps on going in master.
 
 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.
 
 My point of view is that as a community we cannot afford such a split
 brain organization and our experience overt the last year proves my
 point
 (delayed release date, broken builds, features merged without
 warning...)
 
 We can avoid this by cutting

Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-21 Thread David Nalley
Hi Sebastien:

So I like the idea of:

1. Us putting up all inbound code for review.
2. Gating that code on a testing pass
3. Having someone else look at it before committing.

I don't think that should mean that all code that works gets an
immediate pass. I also don't think that we should have n RMs for
branches. It doesn't scale, and it moves us from consensus to
authoritarian. I am all for reverting things that break, but think
that should be a community wide responsibility, not one or two
policemen.

I also think this is a huge shift in process. Right now we have 145
open patches on ReviewBoard. We average scores of commits per day; so
understand that this is a huge, gigantic shift in how we work. This
requires a high level of commitment from everyone, and frankly it's
likely to bury TravisCI.

I also worry about the effect of this on our ability to timely ship
4.5. We have 14 Critical and blocker bugs for 4.5, and part of me
worries that this is a distraction for 4.5 release efforts.

Please don't take this as discounting your proposal or your concerns.
I don't think that many folks disagrees in principle with the first 3
points above. But timing, and implementation details may be an issue.

--David

On Sat, Oct 18, 2014 at 5:00 AM, sebgoa run...@gmail.com wrote:
 After [1] I would like to officially bring up the following proposal.

 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a 
 moratorium period (agreed suspension of activity) during which direct commit 
 to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master RM). 
 If direct commit to master is done, master RM reverts without warning. Same 
 for 4.5 and 4.4. branches.
 

 This is drastic and I am sure some folks will not like it, but here is my 
 justification for such a measure:

 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that 
 development happens on master and that a release branch is cut from master 
 (unstable development branch). Then a different set of community members 
 harden the release branch, QA and bring it to GA level. During that time 
 development keeps on going in master.

 This is an OK process if we have the luxury of having a QA team and can cope 
 with split personality of being developers and release managers.

 My point of view is that as a community we cannot afford such a split brain 
 organization and our experience overt the last year proves my point (delayed 
 release date, broken builds, features merged without warning…)

 We can avoid this by cutting a release branch from a stable one (from the 
 start), then as you (Daan) have mentioned several times, fix bugs in the 
 release branch and merge them back in the stable source of the release (be it 
 master).

 Feature development need to be done outside master, period. Not only for 
 non-committers but also for committers. And merge request need to be called. 
 This will help review and avoid surprises.

 New git workflow were proposed and shutdown, mostly calling for better CI to 
 solve quality issues. CI will not solve our quality issues alone. We need to 
 better police ourselves.

 To avoid long discussions, I propose this simple but drastic measure. We move 
 all our commits to github PR until 4.5 is out, this stands for committers and 
 non-committers, direct commits (especially to master) would be reverted 
 immediately.
 

 Our development and release process is broken, we cannot continue like this, 
 let's fix it.

 [1] http://markmail.org/thread/xeliefp3oleq3g54

 -sebastien


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Wido den Hollander
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/18/2014 11:00 AM, sebgoa wrote:
 After [1] I would like to officially bring up the following
 proposal.
 
 [Proposal]  All commits come through github PR, *even* for
 committers. We declare a moratorium period (agreed suspension of
 activity) during which direct commit to master is forbidden. Only
 the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without
 warning. Same for 4.5 and 4.4. branches. 
 
 This is drastic and I am sure some folks will not like it, but here
 is my justification for such a measure:
 

I fully understand the reasoning and I agree that this is the best way
forward.

Code quality is much more needed then new features. Revert without
warning is also just fine.

It will take some time to adjust, but this would be a great thing to do.

Wido

 [Reasons]:  Our commit and release processes have so far been
 based on the idea that development happens on master and that a
 release branch is cut from master (unstable development branch).
 Then a different set of community members harden the release
 branch, QA and bring it to GA level. During that time development
 keeps on going in master.
 
 This is an OK process if we have the luxury of having a QA team and
 can cope with split personality of being developers and release
 managers.
 
 My point of view is that as a community we cannot afford such a
 split brain organization and our experience overt the last year
 proves my point (delayed release date, broken builds, features
 merged without warning…)
 
 We can avoid this by cutting a release branch from a stable one
 (from the start), then as you (Daan) have mentioned several times,
 fix bugs in the release branch and merge them back in the stable
 source of the release (be it master).
 
 Feature development need to be done outside master, period. Not
 only for non-committers but also for committers. And merge request
 need to be called. This will help review and avoid surprises.
 
 New git workflow were proposed and shutdown, mostly calling for
 better CI to solve quality issues. CI will not solve our quality
 issues alone. We need to better police ourselves.
 
 To avoid long discussions, I propose this simple but drastic
 measure. We move all our commits to github PR until 4.5 is out,
 this stands for committers and non-committers, direct commits
 (especially to master) would be reverted immediately. 
 
 Our development and release process is broken, we cannot continue
 like this, let's fix it.
 
 [1] http://markmail.org/thread/xeliefp3oleq3g54
 
 -sebastien
 

-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQIcBAEBAgAGBQJUROXIAAoJEAGbWC3bPspCifwP/1NtM7L61p8YI/W4qn9LH+fs
oo5PeLY61IitdDGJoT7DTfiJhCgM4HWYHKyZOUkZLm53wUKbrUuzSVZ6ZIfrlss6
erWIXCHrk2VPzaBX3nyOBzaEdrnLYTlMdJgxHVd5IUq+HBtf3GPQDUHu3EnsNKk4
BP+3fJg5hfIF4jkevXlGebcdsT9CWQIz3Z656Dr1tknYUBlTyM+wBOsp3BhAEWG0
VTC9Gt/YfOo3P3xWEBUZ40GRhd4bM9OaHhiDqN/vz4wKyz7X2//oShudVSTZsrg9
Hm2CYt9W1/TjLEAk87VBvtNyY4U9OaZTnQBK/T+N7uu7E8whFmqffDDWYiSmBt+J
UDsYQfn/U/aKqgyMasXRWTF8CxZHRM8YyZzwbrMhVYUPdlsnhUdmzksG7zKwcNjp
rpXcS3LkXW6xp0sYp6MWdUp7EVhpDE7q06HiWDONrrKRdyKTxO9P+tWWUJJdVee/
zwb617SIFyDYK9DBKSDSGIdAFE81rl+PBTqPJe2wotJ5KKuRbcVWaqFqvWqmuLxs
XiMiB3CduBbLecmyEqa0szQqv9OXRHeNGvrjEM29L7kYSb6Rua05jmTwFXEj+1Ob
IxF9wOB/licwfCOE8VSNz8xbiptbtloKhT4OFyliFW/RAuBwQlznus8A9xGVgYz1
gCnEIljSR6Tle3F9kvU7
=MHeW
-END PGP SIGNATURE-


RE: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Stephen Turner
As I just said in the other thread -- but to repeat it here in the PROPOSAL 
thread --

I am +1 on using github pull requests.

I am +1 on all code changes being reviewed by a committer other than the 
author, as well as undergoing some automated CI testing, before the pull 
request is merged.

I am +0 on only the master RM merging the pull request. I don't want the author 
to push the code, but I think the code reviewer could do this; in practice the 
RM will not be able to review everything again so is likely to rubber-stamp the 
results of the code review / automated testing. But I could live with the 
master RM doing it.

I am +1 on moving ahead with any of these parts individually, rather than 
waiting for everything to be in place before doing anything.

-- 
Stephen Turner


-Original Message-
From: sebgoa [mailto:run...@gmail.com] 
Sent: 18 October 2014 10:00
To: dev@cloudstack.apache.org
Subject: [PROPOSAL] Move to github PR only during moratorium on commit

After [1] I would like to officially bring up the following proposal.

[Proposal]

All commits come through github PR, *even* for committers. We declare a 
moratorium period (agreed suspension of activity) during which direct commit to 
master is forbidden.
Only the master RM is allowed to merge PR in master (we define a master RM). If 
direct commit to master is done, master RM reverts without warning. Same for 
4.5 and 4.4. branches.


This is drastic and I am sure some folks will not like it, but here is my 
justification for such a measure:

[Reasons]:

Our commit and release processes have so far been based on the idea that 
development happens on master and that a release branch is cut from master 
(unstable development branch). Then a different set of community members harden 
the release branch, QA and bring it to GA level. During that time development 
keeps on going in master.

This is an OK process if we have the luxury of having a QA team and can cope 
with split personality of being developers and release managers. 

My point of view is that as a community we cannot afford such a split brain 
organization and our experience overt the last year proves my point (delayed 
release date, broken builds, features merged without warning...)

We can avoid this by cutting a release branch from a stable one (from the 
start), then as you (Daan) have mentioned several times, fix bugs in the 
release branch and merge them back in the stable source of the release (be it 
master). 

Feature development need to be done outside master, period. Not only for 
non-committers but also for committers. And merge request need to be called. 
This will help review and avoid surprises.

New git workflow were proposed and shutdown, mostly calling for better CI to 
solve quality issues. CI will not solve our quality issues alone. We need to 
better police ourselves.

To avoid long discussions, I propose this simple but drastic measure. We move 
all our commits to github PR until 4.5 is out, this stands for committers and 
non-committers, direct commits (especially to master) would be reverted 
immediately.


Our development and release process is broken, we cannot continue like this, 
let's fix it.

[1] http://markmail.org/thread/xeliefp3oleq3g54

-sebastien


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread sebgoa

On Oct 20, 2014, at 1:51 PM, Stephen Turner stephen.tur...@citrix.com wrote:

 As I just said in the other thread -- but to repeat it here in the PROPOSAL 
 thread --
 
 I am +1 on using github pull requests.
 
 I am +1 on all code changes being reviewed by a committer other than the 
 author, as well as undergoing some automated CI testing, before the pull 
 request is merged.
 
 I am +0 on only the master RM merging the pull request. I don't want the 
 author to push the code, but I think the code reviewer could do this; in 
 practice the RM will not be able to review everything again so is likely to 
 rubber-stamp the results of the code review / automated testing. But I could 
 live with the master RM doing it.
 

Understood, the idea is to go with this drastic change and as we adjust we can 
relax a bit this constraint. The benefit is to start controlling what will go 
in the next release before a release branch is even cut and get all developers 
(committers or not) to start using feature branches systematically. 

 I am +1 on moving ahead with any of these parts individually, rather than 
 waiting for everything to be in place before doing anything.
 
 -- 
 Stephen Turner
 
 
 -Original Message-
 From: sebgoa [mailto:run...@gmail.com] 
 Sent: 18 October 2014 10:00
 To: dev@cloudstack.apache.org
 Subject: [PROPOSAL] Move to github PR only during moratorium on commit
 
 After [1] I would like to officially bring up the following proposal.
 
 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a 
 moratorium period (agreed suspension of activity) during which direct commit 
 to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master RM). 
 If direct commit to master is done, master RM reverts without warning. Same 
 for 4.5 and 4.4. branches.
 
 
 This is drastic and I am sure some folks will not like it, but here is my 
 justification for such a measure:
 
 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that 
 development happens on master and that a release branch is cut from master 
 (unstable development branch). Then a different set of community members 
 harden the release branch, QA and bring it to GA level. During that time 
 development keeps on going in master.
 
 This is an OK process if we have the luxury of having a QA team and can cope 
 with split personality of being developers and release managers. 
 
 My point of view is that as a community we cannot afford such a split brain 
 organization and our experience overt the last year proves my point (delayed 
 release date, broken builds, features merged without warning...)
 
 We can avoid this by cutting a release branch from a stable one (from the 
 start), then as you (Daan) have mentioned several times, fix bugs in the 
 release branch and merge them back in the stable source of the release (be it 
 master). 
 
 Feature development need to be done outside master, period. Not only for 
 non-committers but also for committers. And merge request need to be called. 
 This will help review and avoid surprises.
 
 New git workflow were proposed and shutdown, mostly calling for better CI to 
 solve quality issues. CI will not solve our quality issues alone. We need to 
 better police ourselves.
 
 To avoid long discussions, I propose this simple but drastic measure. We move 
 all our commits to github PR until 4.5 is out, this stands for committers and 
 non-committers, direct commits (especially to master) would be reverted 
 immediately.
 
 
 Our development and release process is broken, we cannot continue like this, 
 let's fix it.
 
 [1] http://markmail.org/thread/xeliefp3oleq3g54
 
 -sebastien



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Daan Hoogland
+1 and small changes should go through even if bigger goals glare on the
horizon.

On Mon, Oct 20, 2014 at 2:14 PM, sebgoa run...@gmail.com wrote:


 On Oct 20, 2014, at 1:51 PM, Stephen Turner stephen.tur...@citrix.com
 wrote:

  As I just said in the other thread -- but to repeat it here in the
 PROPOSAL thread --
 
  I am +1 on using github pull requests.
 
  I am +1 on all code changes being reviewed by a committer other than the
 author, as well as undergoing some automated CI testing, before the pull
 request is merged.
 
  I am +0 on only the master RM merging the pull request. I don't want the
 author to push the code, but I think the code reviewer could do this; in
 practice the RM will not be able to review everything again so is likely to
 rubber-stamp the results of the code review / automated testing. But I
 could live with the master RM doing it.
 

 Understood, the idea is to go with this drastic change and as we adjust we
 can relax a bit this constraint. The benefit is to start controlling what
 will go in the next release before a release branch is even cut and get all
 developers (committers or not) to start using feature branches
 systematically.

  I am +1 on moving ahead with any of these parts individually, rather
 than waiting for everything to be in place before doing anything.
 
  --
  Stephen Turner
 
 
  -Original Message-
  From: sebgoa [mailto:run...@gmail.com]
  Sent: 18 October 2014 10:00
  To: dev@cloudstack.apache.org
  Subject: [PROPOSAL] Move to github PR only during moratorium on commit
 
  After [1] I would like to officially bring up the following proposal.
 
  [Proposal]
  
  All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
  Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without warning.
 Same for 4.5 and 4.4. branches.
  
 
  This is drastic and I am sure some folks will not like it, but here is
 my justification for such a measure:
 
  [Reasons]:
  
  Our commit and release processes have so far been based on the idea that
 development happens on master and that a release branch is cut from master
 (unstable development branch). Then a different set of community members
 harden the release branch, QA and bring it to GA level. During that time
 development keeps on going in master.
 
  This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.
 
  My point of view is that as a community we cannot afford such a split
 brain organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without warning...)
 
  We can avoid this by cutting a release branch from a stable one (from
 the start), then as you (Daan) have mentioned several times, fix bugs in
 the release branch and merge them back in the stable source of the release
 (be it master).
 
  Feature development need to be done outside master, period. Not only for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.
 
  New git workflow were proposed and shutdown, mostly calling for better
 CI to solve quality issues. CI will not solve our quality issues alone. We
 need to better police ourselves.
 
  To avoid long discussions, I propose this simple but drastic measure. We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master) would
 be reverted immediately.
  
 
  Our development and release process is broken, we cannot continue like
 this, let's fix it.
 
  [1] http://markmail.org/thread/xeliefp3oleq3g54
 
  -sebastien




-- 
Daan


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Ian Duffy
I'm in complete agreement with Stephen on this one.
I would be considered the master RM could be overwhelmed with work.
Other than that +1.

On 20 October 2014 14:13, Daan Hoogland daan.hoogl...@gmail.com wrote:

 +1 and small changes should go through even if bigger goals glare on the
 horizon.

 On Mon, Oct 20, 2014 at 2:14 PM, sebgoa run...@gmail.com wrote:

 
  On Oct 20, 2014, at 1:51 PM, Stephen Turner stephen.tur...@citrix.com
  wrote:
 
   As I just said in the other thread -- but to repeat it here in the
  PROPOSAL thread --
  
   I am +1 on using github pull requests.
  
   I am +1 on all code changes being reviewed by a committer other than
 the
  author, as well as undergoing some automated CI testing, before the pull
  request is merged.
  
   I am +0 on only the master RM merging the pull request. I don't want
 the
  author to push the code, but I think the code reviewer could do this; in
  practice the RM will not be able to review everything again so is likely
 to
  rubber-stamp the results of the code review / automated testing. But I
  could live with the master RM doing it.
  
 
  Understood, the idea is to go with this drastic change and as we adjust
 we
  can relax a bit this constraint. The benefit is to start controlling what
  will go in the next release before a release branch is even cut and get
 all
  developers (committers or not) to start using feature branches
  systematically.
 
   I am +1 on moving ahead with any of these parts individually, rather
  than waiting for everything to be in place before doing anything.
  
   --
   Stephen Turner
  
  
   -Original Message-
   From: sebgoa [mailto:run...@gmail.com]
   Sent: 18 October 2014 10:00
   To: dev@cloudstack.apache.org
   Subject: [PROPOSAL] Move to github PR only during moratorium on commit
  
   After [1] I would like to officially bring up the following proposal.
  
   [Proposal]
   
   All commits come through github PR, *even* for committers. We declare a
  moratorium period (agreed suspension of activity) during which direct
  commit to master is forbidden.
   Only the master RM is allowed to merge PR in master (we define a master
  RM). If direct commit to master is done, master RM reverts without
 warning.
  Same for 4.5 and 4.4. branches.
   
  
   This is drastic and I am sure some folks will not like it, but here is
  my justification for such a measure:
  
   [Reasons]:
   
   Our commit and release processes have so far been based on the idea
 that
  development happens on master and that a release branch is cut from
 master
  (unstable development branch). Then a different set of community members
  harden the release branch, QA and bring it to GA level. During that time
  development keeps on going in master.
  
   This is an OK process if we have the luxury of having a QA team and can
  cope with split personality of being developers and release managers.
  
   My point of view is that as a community we cannot afford such a split
  brain organization and our experience overt the last year proves my point
  (delayed release date, broken builds, features merged without warning...)
  
   We can avoid this by cutting a release branch from a stable one (from
  the start), then as you (Daan) have mentioned several times, fix bugs in
  the release branch and merge them back in the stable source of the
 release
  (be it master).
  
   Feature development need to be done outside master, period. Not only
 for
  non-committers but also for committers. And merge request need to be
  called. This will help review and avoid surprises.
  
   New git workflow were proposed and shutdown, mostly calling for better
  CI to solve quality issues. CI will not solve our quality issues alone.
 We
  need to better police ourselves.
  
   To avoid long discussions, I propose this simple but drastic measure.
 We
  move all our commits to github PR until 4.5 is out, this stands for
  committers and non-committers, direct commits (especially to master)
 would
  be reverted immediately.
   
  
   Our development and release process is broken, we cannot continue like
  this, let's fix it.
  
   [1] http://markmail.org/thread/xeliefp3oleq3g54
  
   -sebastien
 
 


 --
 Daan



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Erik Weber
On Sat, Oct 18, 2014 at 11:00 AM, sebgoa run...@gmail.com wrote:

 After [1] I would like to officially bring up the following proposal.

 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without warning.
 Same for 4.5 and 4.4. branches.
 

 This is drastic and I am sure some folks will not like it, but here is my
 justification for such a measure:

 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that
 development happens on master and that a release branch is cut from master
 (unstable development branch). Then a different set of community members
 harden the release branch, QA and bring it to GA level. During that time
 development keeps on going in master.

 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.

 My point of view is that as a community we cannot afford such a split
 brain organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without warning…)

 We can avoid this by cutting a release branch from a stable one (from the
 start), then as you (Daan) have mentioned several times, fix bugs in the
 release branch and merge them back in the stable source of the release (be
 it master).

 Feature development need to be done outside master, period. Not only for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.

 New git workflow were proposed and shutdown, mostly calling for better CI
 to solve quality issues. CI will not solve our quality issues alone. We
 need to better police ourselves.

 To avoid long discussions, I propose this simple but drastic measure. We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master) would
 be reverted immediately.
 



I'm +1 to any change that could improve quality, and submitting to github
as non-committer is a magnitude faster/easier than RB.

-- 
Erik


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Chiradeep Vittal
Won’t this proposal make GitHub the canonical repository? I don’t see ASF infra 
being too happy with that.

From: sebgoa run...@gmail.commailto:run...@gmail.com
Reply-To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
Date: Saturday, October 18, 2014 at 2:00 AM
To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
Subject: [PROPOSAL] Move to github PR only during moratorium on commit

After [1] I would like to officially bring up the following proposal.

[Proposal]

All commits come through github PR, *even* for committers. We declare a 
moratorium period (agreed suspension of activity) during which direct commit to 
master is forbidden.
Only the master RM is allowed to merge PR in master (we define a master RM). If 
direct commit to master is done, master RM reverts without warning. Same for 
4.5 and 4.4. branches.


This is drastic and I am sure some folks will not like it, but here is my 
justification for such a measure:

[Reasons]:

Our commit and release processes have so far been based on the idea that 
development happens on master and that a release branch is cut from master 
(unstable development branch). Then a different set of community members harden 
the release branch, QA and bring it to GA level. During that time development 
keeps on going in master.

This is an OK process if we have the luxury of having a QA team and can cope 
with split personality of being developers and release managers.

My point of view is that as a community we cannot afford such a split brain 
organization and our experience overt the last year proves my point (delayed 
release date, broken builds, features merged without warning…)

We can avoid this by cutting a release branch from a stable one (from the 
start), then as you (Daan) have mentioned several times, fix bugs in the 
release branch and merge them back in the stable source of the release (be it 
master).

Feature development need to be done outside master, period. Not only for 
non-committers but also for committers. And merge request need to be called. 
This will help review and avoid surprises.

New git workflow were proposed and shutdown, mostly calling for better CI to 
solve quality issues. CI will not solve our quality issues alone. We need to 
better police ourselves.

To avoid long discussions, I propose this simple but drastic measure. We move 
all our commits to github PR until 4.5 is out, this stands for committers and 
non-committers, direct commits (especially to master) would be reverted 
immediately.


Our development and release process is broken, we cannot continue like this, 
let's fix it.

[1] http://markmail.org/thread/xeliefp3oleq3g54

-sebastien


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Erik Weber
On Mon, Oct 20, 2014 at 7:26 PM, Chiradeep Vittal 
chiradeep.vit...@citrix.com wrote:

 Won’t this proposal make GitHub the canonical repository? I don’t see ASF
 infra being too happy with that.


Shouldn't have to, you can still merge/push to the ASF infra repository and
only the PR would live on github.
It's probably a tad more hassle for the one pushing the commit. I guess
Sebastien or Pierre-Luc can chime in with experiences from the doc repos.

-- 
Erik


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Daan Hoogland
No Chiradeep, Pull of the request will still be on the local committer repo
and pushed to ASF infra (wip)

On Mon, Oct 20, 2014 at 7:26 PM, Chiradeep Vittal 
chiradeep.vit...@citrix.com wrote:

 Won’t this proposal make GitHub the canonical repository? I don’t see ASF
 infra being too happy with that.

 From: sebgoa run...@gmail.commailto:run...@gmail.com
 Reply-To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 Date: Saturday, October 18, 2014 at 2:00 AM
 To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 Subject: [PROPOSAL] Move to github PR only during moratorium on commit

 After [1] I would like to officially bring up the following proposal.

 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without warning.
 Same for 4.5 and 4.4. branches.
 

 This is drastic and I am sure some folks will not like it, but here is my
 justification for such a measure:

 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that
 development happens on master and that a release branch is cut from master
 (unstable development branch). Then a different set of community members
 harden the release branch, QA and bring it to GA level. During that time
 development keeps on going in master.

 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.

 My point of view is that as a community we cannot afford such a split
 brain organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without warning…)

 We can avoid this by cutting a release branch from a stable one (from the
 start), then as you (Daan) have mentioned several times, fix bugs in the
 release branch and merge them back in the stable source of the release (be
 it master).

 Feature development need to be done outside master, period. Not only for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.

 New git workflow were proposed and shutdown, mostly calling for better CI
 to solve quality issues. CI will not solve our quality issues alone. We
 need to better police ourselves.

 To avoid long discussions, I propose this simple but drastic measure. We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master) would
 be reverted immediately.
 

 Our development and release process is broken, we cannot continue like
 this, let's fix it.

 [1] http://markmail.org/thread/xeliefp3oleq3g54

 -sebastien




-- 
Daan


Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Chiradeep Vittal
Thanks. Question for Sebastien then. The argument is that this new proposal 
will avoid problems such as
 - broken builds. Presumably this is  test failures (don’t recall a 
compile-time failure). How exactly would this be achieved WITHOUT a CI process?
 - delayed releases. Not sure how this fixes it. Seems like it is just 
introducing a bottleneck for the sake of slowing things down?
 - features merged without warning. Warnings are good. But what does one do 
with (let’s say a 3-day) warning? One must trust the developer or trust the 
developer and the CI system.

The argument it seems is for a stable master vs a stable release branch.  Is 
that the correct summary? Why not switch to that model on ACS git instead of 
GitHub?

From: Daan Hoogland daan.hoogl...@gmail.commailto:daan.hoogl...@gmail.com
Reply-To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
Date: Monday, October 20, 2014 at 10:34 AM
To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
Subject: Re: [PROPOSAL] Move to github PR only during moratorium on commit

No Chiradeep, Pull of the request will still be on the local committer repo
and pushed to ASF infra (wip)

On Mon, Oct 20, 2014 at 7:26 PM, Chiradeep Vittal 
chiradeep.vit...@citrix.commailto:chiradeep.vit...@citrix.com wrote:

Won’t this proposal make GitHub the canonical repository? I don’t see ASF
infra being too happy with that.

From: sebgoa 
run...@gmail.commailto:run...@gmail.commailto:run...@gmail.com
Reply-To: 
dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 
dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
Date: Saturday, October 18, 2014 at 2:00 AM
To: 
dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 
dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
Subject: [PROPOSAL] Move to github PR only during moratorium on commit

After [1] I would like to officially bring up the following proposal.

[Proposal]

All commits come through github PR, *even* for committers. We declare a
moratorium period (agreed suspension of activity) during which direct
commit to master is forbidden.
Only the master RM is allowed to merge PR in master (we define a master
RM). If direct commit to master is done, master RM reverts without warning.
Same for 4.5 and 4.4. branches.


This is drastic and I am sure some folks will not like it, but here is my
justification for such a measure:

[Reasons]:

Our commit and release processes have so far been based on the idea that
development happens on master and that a release branch is cut from master
(unstable development branch). Then a different set of community members
harden the release branch, QA and bring it to GA level. During that time
development keeps on going in master.

This is an OK process if we have the luxury of having a QA team and can
cope with split personality of being developers and release managers.

My point of view is that as a community we cannot afford such a split
brain organization and our experience overt the last year proves my point
(delayed release date, broken builds, features merged without warning…)

We can avoid this by cutting a release branch from a stable one (from the
start), then as you (Daan) have mentioned several times, fix bugs in the
release branch and merge them back in the stable source of the release (be
it master).

Feature development need to be done outside master, period. Not only for
non-committers but also for committers. And merge request need to be
called. This will help review and avoid surprises.

New git workflow were proposed and shutdown, mostly calling for better CI
to solve quality issues. CI will not solve our quality issues alone. We
need to better police ourselves.

To avoid long discussions, I propose this simple but drastic measure. We
move all our commits to github PR until 4.5 is out, this stands for
committers and non-committers, direct commits (especially to master) would
be reverted immediately.


Our development and release process is broken, we cannot continue like
this, let's fix it.

[1] http://markmail.org/thread/xeliefp3oleq3g54

-sebastien




--
Daan



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread sebgoa

On Oct 20, 2014, at 8:28 PM, Chiradeep Vittal chiradeep.vit...@citrix.com 
wrote:

 Thanks. Question for Sebastien then. The argument is that this new proposal 
 will avoid problems such as
 - broken builds. Presumably this is  test failures (don’t recall a 
 compile-time failure). How exactly would this be achieved WITHOUT a CI 
 process?

I am not arguing against a CI process. We currently have TravisCI for smoke 
test and it runs on every commit. It will also run on every PR. So at a minimum 
when doing a review we can check that smoke tests (and therefore build) pass 
before merging.
We also have Jenkins and if we were to get in the habit of creating branches 
for every bug/hotfix they would automatically be tested via jenkins as well.

My point being that a full fledged CI where we test all combination of 
hypervisor/storage/network is still way out until we seriously tackle it.

This proposal would help us change our commit habits to help reduce release 
time by better reviewing and merging things.

 - delayed releases. Not sure how this fixes it. Seems like it is just 
 introducing a bottleneck for the sake of slowing things down?

No, it's not for the sake of slowing things down. It will certainly be a bit of 
a pain at first, but the whole idea is to make releases on time and more easily.

Currently we develop on master, since we branch releases off master, each new 
release is quite divergent from a the previous one, and we re-invest a lot of 
time from release to release to stabilize them. If we could base a release of a 
stable master, we could actually *construct* a release, by picking features 
that are ready and we would have greater confidence that bugs fixed during QA 
time (in our current process) would actually be in the next release.

 - features merged without warning. Warnings are good. But what does one do 
 with (let’s say a 3-day) warning? One must trust the developer or trust the 
 developer and the CI system.

I don't have a specific example, but we have seen features being merged without 
tests, uncomplete features being merged and we even have struggled to 
identified new features that are in a release.

At a minimum, this would serve at publicising a features to the whole community.

 The argument it seems is for a stable master vs a stable release branch.  Is 
 that the correct summary? Why not switch to that model on ACS git instead of 
 GitHub?

stable is a bit of a blinking word. What I mean when I use stable is that I 
would like to make sure that master is always in a releasable state, so that we 
avoid duplicating QA when we prep a release.

Say we QA master and we get to a releasable (as in voted release) state, then 
when we start fixing bugs in the release branch we can cleanly merge those back 
in master and we have certainty that master will also be releasable. If we keep 
iterating like this, the next time we branch a release branch, we can merge the 
features selected for that release and we are done (ideally).

Going through github PR gives us a basic review functionality, as well as basic 
smoke tests. Basically it will gate every commit (for a while), until we get in 
the habit of committing in the correct place. This is not about questioning 
committers code quality (while it will help quality by offering a clear review 
process), it is about changing habits to help with releasing on-time and with 
transparency on what is in a release.



 From: Daan Hoogland daan.hoogl...@gmail.commailto:daan.hoogl...@gmail.com
 Reply-To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 Date: Monday, October 20, 2014 at 10:34 AM
 To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 Subject: Re: [PROPOSAL] Move to github PR only during moratorium on commit
 
 No Chiradeep, Pull of the request will still be on the local committer repo
 and pushed to ASF infra (wip)
 
 On Mon, Oct 20, 2014 at 7:26 PM, Chiradeep Vittal 
 chiradeep.vit...@citrix.commailto:chiradeep.vit...@citrix.com wrote:
 
 Won’t this proposal make GitHub the canonical repository? I don’t see ASF
 infra being too happy with that.
 
 From: sebgoa 
 run...@gmail.commailto:run...@gmail.commailto:run...@gmail.com
 Reply-To: 
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
  
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 Date: Saturday, October 18, 2014 at 2:00 AM
 To: 
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
  
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 Subject: [PROPOSAL] Move to github PR only during moratorium on commit
 
 After [1] I would like to officially bring up the following proposal.
 
 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare

Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Pierre-Luc Dion
  To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org 
 dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
  Subject: Re: [PROPOSAL] Move to github PR only during moratorium on
 commit
 
  No Chiradeep, Pull of the request will still be on the local committer
 repo
  and pushed to ASF infra (wip)
 
  On Mon, Oct 20, 2014 at 7:26 PM, Chiradeep Vittal 
  chiradeep.vit...@citrix.commailto:chiradeep.vit...@citrix.com wrote:
 
  Won’t this proposal make GitHub the canonical repository? I don’t see ASF
  infra being too happy with that.
 
  From: sebgoa run...@gmail.commailto:run...@gmail.commailto:
 run...@gmail.com
  Reply-To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.org
 mailto:dev@cloudstack.apache.org 
  dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:
 dev@cloudstack.apache.org
  Date: Saturday, October 18, 2014 at 2:00 AM
  To: dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:
 dev@cloudstack.apache.org 
  dev@cloudstack.apache.orgmailto:dev@cloudstack.apache.orgmailto:
 dev@cloudstack.apache.org
  Subject: [PROPOSAL] Move to github PR only during moratorium on commit
 
  After [1] I would like to officially bring up the following proposal.
 
  [Proposal]
  
  All commits come through github PR, *even* for committers. We declare a
  moratorium period (agreed suspension of activity) during which direct
  commit to master is forbidden.
  Only the master RM is allowed to merge PR in master (we define a master
  RM). If direct commit to master is done, master RM reverts without
 warning.
  Same for 4.5 and 4.4. branches.
  
 
  This is drastic and I am sure some folks will not like it, but here is my
  justification for such a measure:
 
  [Reasons]:
  
  Our commit and release processes have so far been based on the idea that
  development happens on master and that a release branch is cut from
 master
  (unstable development branch). Then a different set of community members
  harden the release branch, QA and bring it to GA level. During that time
  development keeps on going in master.
 
  This is an OK process if we have the luxury of having a QA team and can
  cope with split personality of being developers and release managers.
 
  My point of view is that as a community we cannot afford such a split
  brain organization and our experience overt the last year proves my point
  (delayed release date, broken builds, features merged without warning…)
 
  We can avoid this by cutting a release branch from a stable one (from the
  start), then as you (Daan) have mentioned several times, fix bugs in the
  release branch and merge them back in the stable source of the release
 (be
  it master).
 
  Feature development need to be done outside master, period. Not only for
  non-committers but also for committers. And merge request need to be
  called. This will help review and avoid surprises.
 
  New git workflow were proposed and shutdown, mostly calling for better CI
  to solve quality issues. CI will not solve our quality issues alone. We
  need to better police ourselves.
 
  To avoid long discussions, I propose this simple but drastic measure. We
  move all our commits to github PR until 4.5 is out, this stands for
  committers and non-committers, direct commits (especially to master)
 would
  be reverted immediately.
  
 
  Our development and release process is broken, we cannot continue like
  this, let's fix it.
 
  [1] http://markmail.org/thread/xeliefp3oleq3g54
 
  -sebastien
 
 
 
 
  --
  Daan
 




Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Rajani Karuturi
I like the way Stephen split it.
Here is my vote.
+1 on using github pull requests.
+1 on compulsory code reviews and PRs even for committers and CI build pass
before merging.
+1 on merges from 4.5 to master and no individual commits(or cherry-picks)
to the branches
+0 on RM for master and commits gated by him. I agree with Stephen that
code reviewer should be doing the push. But, I am ok with RM doing
it(assuming we have a volunteer ;) ).

+1 on any changes independently.


~Rajani

On Mon, Oct 20, 2014 at 5:21 PM, Stephen Turner stephen.tur...@citrix.com
wrote:

 As I just said in the other thread -- but to repeat it here in the
 PROPOSAL thread --

 I am +1 on using github pull requests.

 I am +1 on all code changes being reviewed by a committer other than the
 author, as well as undergoing some automated CI testing, before the pull
 request is merged.

 I am +0 on only the master RM merging the pull request. I don't want the
 author to push the code, but I think the code reviewer could do this; in
 practice the RM will not be able to review everything again so is likely to
 rubber-stamp the results of the code review / automated testing. But I
 could live with the master RM doing it.

 I am +1 on moving ahead with any of these parts individually, rather than
 waiting for everything to be in place before doing anything.

 --
 Stephen Turner


 -Original Message-
 From: sebgoa [mailto:run...@gmail.com]
 Sent: 18 October 2014 10:00
 To: dev@cloudstack.apache.org
 Subject: [PROPOSAL] Move to github PR only during moratorium on commit

 After [1] I would like to officially bring up the following proposal.

 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a
 moratorium period (agreed suspension of activity) during which direct
 commit to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master
 RM). If direct commit to master is done, master RM reverts without warning.
 Same for 4.5 and 4.4. branches.
 

 This is drastic and I am sure some folks will not like it, but here is my
 justification for such a measure:

 [Reasons]:
 
 Our commit and release processes have so far been based on the idea that
 development happens on master and that a release branch is cut from master
 (unstable development branch). Then a different set of community members
 harden the release branch, QA and bring it to GA level. During that time
 development keeps on going in master.

 This is an OK process if we have the luxury of having a QA team and can
 cope with split personality of being developers and release managers.

 My point of view is that as a community we cannot afford such a split
 brain organization and our experience overt the last year proves my point
 (delayed release date, broken builds, features merged without warning...)

 We can avoid this by cutting a release branch from a stable one (from the
 start), then as you (Daan) have mentioned several times, fix bugs in the
 release branch and merge them back in the stable source of the release (be
 it master).

 Feature development need to be done outside master, period. Not only for
 non-committers but also for committers. And merge request need to be
 called. This will help review and avoid surprises.

 New git workflow were proposed and shutdown, mostly calling for better CI
 to solve quality issues. CI will not solve our quality issues alone. We
 need to better police ourselves.

 To avoid long discussions, I propose this simple but drastic measure. We
 move all our commits to github PR until 4.5 is out, this stands for
 committers and non-committers, direct commits (especially to master) would
 be reverted immediately.
 

 Our development and release process is broken, we cannot continue like
 this, let's fix it.

 [1] http://markmail.org/thread/xeliefp3oleq3g54

 -sebastien



Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-20 Thread Mike Tutkowski
Code reviews are great.

However, we will need to change our behavior quite a bit if code is to make
it in within a reasonable amount of time as code reviews today often don't
get done in a timely fashion.

In a volunteer community, it's hard to assign work (including code
reviews) to people (let alone expect it done on your schedule).

This is, of course, different at most of our day jobs where managers are in
a position to make sure the community is responsive.

On Monday, October 20, 2014, Rajani Karuturi raj...@apache.org wrote:

 I like the way Stephen split it.
 Here is my vote.
 +1 on using github pull requests.
 +1 on compulsory code reviews and PRs even for committers and CI build pass
 before merging.
 +1 on merges from 4.5 to master and no individual commits(or cherry-picks)
 to the branches
 +0 on RM for master and commits gated by him. I agree with Stephen that
 code reviewer should be doing the push. But, I am ok with RM doing
 it(assuming we have a volunteer ;) ).

 +1 on any changes independently.


 ~Rajani

 On Mon, Oct 20, 2014 at 5:21 PM, Stephen Turner stephen.tur...@citrix.com
 javascript:;
 wrote:

  As I just said in the other thread -- but to repeat it here in the
  PROPOSAL thread --
 
  I am +1 on using github pull requests.
 
  I am +1 on all code changes being reviewed by a committer other than the
  author, as well as undergoing some automated CI testing, before the pull
  request is merged.
 
  I am +0 on only the master RM merging the pull request. I don't want the
  author to push the code, but I think the code reviewer could do this; in
  practice the RM will not be able to review everything again so is likely
 to
  rubber-stamp the results of the code review / automated testing. But I
  could live with the master RM doing it.
 
  I am +1 on moving ahead with any of these parts individually, rather than
  waiting for everything to be in place before doing anything.
 
  --
  Stephen Turner
 
 
  -Original Message-
  From: sebgoa [mailto:run...@gmail.com javascript:;]
  Sent: 18 October 2014 10:00
  To: dev@cloudstack.apache.org javascript:;
  Subject: [PROPOSAL] Move to github PR only during moratorium on commit
 
  After [1] I would like to officially bring up the following proposal.
 
  [Proposal]
  
  All commits come through github PR, *even* for committers. We declare a
  moratorium period (agreed suspension of activity) during which direct
  commit to master is forbidden.
  Only the master RM is allowed to merge PR in master (we define a master
  RM). If direct commit to master is done, master RM reverts without
 warning.
  Same for 4.5 and 4.4. branches.
  
 
  This is drastic and I am sure some folks will not like it, but here is my
  justification for such a measure:
 
  [Reasons]:
  
  Our commit and release processes have so far been based on the idea that
  development happens on master and that a release branch is cut from
 master
  (unstable development branch). Then a different set of community members
  harden the release branch, QA and bring it to GA level. During that time
  development keeps on going in master.
 
  This is an OK process if we have the luxury of having a QA team and can
  cope with split personality of being developers and release managers.
 
  My point of view is that as a community we cannot afford such a split
  brain organization and our experience overt the last year proves my point
  (delayed release date, broken builds, features merged without warning...)
 
  We can avoid this by cutting a release branch from a stable one (from the
  start), then as you (Daan) have mentioned several times, fix bugs in the
  release branch and merge them back in the stable source of the release
 (be
  it master).
 
  Feature development need to be done outside master, period. Not only for
  non-committers but also for committers. And merge request need to be
  called. This will help review and avoid surprises.
 
  New git workflow were proposed and shutdown, mostly calling for better CI
  to solve quality issues. CI will not solve our quality issues alone. We
  need to better police ourselves.
 
  To avoid long discussions, I propose this simple but drastic measure. We
  move all our commits to github PR until 4.5 is out, this stands for
  committers and non-committers, direct commits (especially to master)
 would
  be reverted immediately.
  
 
  Our development and release process is broken, we cannot continue like
  this, let's fix it.
 
  [1] http://markmail.org/thread/xeliefp3oleq3g54
 
  -sebastien
 



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkow...@solidfire.com
o: 303.746.7302
Advancing the way the world uses the cloud
http://solidfire.com/solution/overview/?video=play*™*


[PROPOSAL] Move to github PR only during moratorium on commit

2014-10-18 Thread sebgoa
After [1] I would like to officially bring up the following proposal.

[Proposal]

All commits come through github PR, *even* for committers. We declare a 
moratorium period (agreed suspension of activity) during which direct commit to 
master is forbidden.
Only the master RM is allowed to merge PR in master (we define a master RM). If 
direct commit to master is done, master RM reverts without warning. Same for 
4.5 and 4.4. branches.


This is drastic and I am sure some folks will not like it, but here is my 
justification for such a measure:

[Reasons]:

Our commit and release processes have so far been based on the idea that 
development happens on master and that a release branch is cut from master 
(unstable development branch). Then a different set of community members harden 
the release branch, QA and bring it to GA level. During that time development 
keeps on going in master.

This is an OK process if we have the luxury of having a QA team and can cope 
with split personality of being developers and release managers. 

My point of view is that as a community we cannot afford such a split brain 
organization and our experience overt the last year proves my point (delayed 
release date, broken builds, features merged without warning…)

We can avoid this by cutting a release branch from a stable one (from the 
start), then as you (Daan) have mentioned several times, fix bugs in the 
release branch and merge them back in the stable source of the release (be it 
master). 

Feature development need to be done outside master, period. Not only for 
non-committers but also for committers. And merge request need to be called. 
This will help review and avoid surprises.

New git workflow were proposed and shutdown, mostly calling for better CI to 
solve quality issues. CI will not solve our quality issues alone. We need to 
better police ourselves.

To avoid long discussions, I propose this simple but drastic measure. We move 
all our commits to github PR until 4.5 is out, this stands for committers and 
non-committers, direct commits (especially to master) would be reverted 
immediately.


Our development and release process is broken, we cannot continue like this, 
let's fix it.

[1] http://markmail.org/thread/xeliefp3oleq3g54

-sebastien

Re: [PROPOSAL] Move to github PR only during moratorium on commit

2014-10-18 Thread Rohit Yadav
Hi,

 On 18-Oct-2014, at 2:30 pm, sebgoa run...@gmail.com wrote:

 [Proposal]
 
 All commits come through github PR, *even* for committers. We declare a 
 moratorium period (agreed suspension of activity) during which direct commit 
 to master is forbidden.
 Only the master RM is allowed to merge PR in master (we define a master RM). 
 If direct commit to master is done, master RM reverts without warning. Same 
 for 4.5 and 4.4. branches.
 

+1

Much needed and Github is just more fun than RB any day. Merging gives us the 
benefit of reverting the merge by reverting on the merge commit which is useful 
to revert a merge that break some functionality and perhaps not the build.

Regards,
Rohit Yadav
Software Architect, ShapeBlue
M. +91 88 262 30892 | rohit.ya...@shapeblue.com
Blog: bhaisaab.org | Twitter: @_bhaisaab

Find out more about ShapeBlue and our range of CloudStack related services

IaaS Cloud Design  Buildhttp://shapeblue.com/iaas-cloud-design-and-build//
CSForge – rapid IaaS deployment frameworkhttp://shapeblue.com/csforge/
CloudStack Consultinghttp://shapeblue.com/cloudstack-consultancy/
CloudStack Infrastructure 
Supporthttp://shapeblue.com/cloudstack-infrastructure-support/
CloudStack Bootcamp Training Courseshttp://shapeblue.com/cloudstack-training/

This email and any attachments to it may be confidential and are intended 
solely for the use of the individual to whom it is addressed. Any views or 
opinions expressed are solely those of the author and do not necessarily 
represent those of Shape Blue Ltd or related companies. If you are not the 
intended recipient of this email, you must neither take any action based upon 
its contents, nor copy or show it to anyone. Please contact the sender if you 
believe you have received this email in error. Shape Blue Ltd is a company 
incorporated in England  Wales. ShapeBlue Services India LLP is a company 
incorporated in India and is operated under license from Shape Blue Ltd. Shape 
Blue Brasil Consultoria Ltda is a company incorporated in Brasil and is 
operated under license from Shape Blue Ltd. ShapeBlue SA Pty Ltd is a company 
registered by The Republic of South Africa and is traded under license from 
Shape Blue Ltd. ShapeBlue is a registered trademark.