Re: [DISCUSS] 4.6 release management

2015-05-13 Thread Wilder Rodrigues
Hi guys,

I hope that’s not too late to react on this one.

Having 6 RMs seems a bit too much for me. For PRs containing a few lines of 
code, just bug fixes or changing maven files, python, sh, etc it might be 
simple and quick. However, if we get a PR with +30 commits and 10k lines added, 
it gets really difficult to get the community to test/review the PR. So, for 2 
people to go over it is already taking too long to get the code imagine, now 
imagine 4 or 6.

Rohit has done an excellent job in looking into the PRs, commenting on them and 
some times testing as well. But there are things that cannot simply get him, or 
perhaps other guys, to test properly a PR; having time and environment as the 
main reasons.

I would say that in case we have a PR that contains:

1. Documentation on the Apache CS Wiki
2. Unit Tests (a lot of them, minimum 70% for the code changed)
3. Marvin Test Results report - test_routers, test_vpc_routers, 
test_vm_life_cycle, test_account, at least.

Should be given priority and get less RMs involved in order to speed up our 
development/release processes. Unless, of course, the people would have time to 
look into the PR immediately.

What do you think?

Cheers,
Wilder

On 11 May 2015, at 15:54, Rohit Yadav 
rohit.ya...@shapeblue.commailto:rohit.ya...@shapeblue.com wrote:


On 11-May-2015, at 2:51 pm, Daan Hoogland 
daan.hoogl...@gmail.commailto:daan.hoogl...@gmail.com wrote:

I'm fine with that: rm must have a reviewer on merges? Seem heavy for
trivial changes but alright

On Mon, 11 May 2015 14:16 Sebastien Goasguen 
run...@gmail.commailto:run...@gmail.com wrote:


On May 11, 2015, at 2:00 PM, Daan Hoogland 
daan.hoogl...@gmail.commailto:daan.hoogl...@gmail.com
wrote:

+1 how about my proposal to have 6 RM and demand that at least 2 agree on
each PR?

+0.5

we can say that we need two pairs of eyes to ok the PR for merge.
no need to formally have 6 RMs ?

so 1 RM (you or me) + another pair of eyes would work ?

I’ve been doing PR reviews as a habit, happy to chip-in as a co-pilot.


Op ma 11 mei 2015 om 09:52 schreef sebgoa 
run...@gmail.commailto:run...@gmail.com:


On May 6, 2015, at 10:59 AM, Daan Hoogland 
daan.hoogl...@gmail.commailto:daan.hoogl...@gmail.com
wrote:

I can have a look at the merge of 4.5.1 and am willing to be one of the
RMs, not to be the RM!


I can RM as well.

How about we lock down master on wednesday ?
From that point forward we only take PR into master -either you or me-
all
other direct commits to master will be reverted 


-sebastien



Op wo 6 mei 2015 om 09:47 schreef sebgoa 
run...@gmail.commailto:run...@gmail.com:

So no -1 on this.

Do we have volunteers to RM 4.6 on the master branch ?

I propose to set a date asap, tag master and tell everyone that
starting
from that tag all commits to master except from RM will be reverted.

will need to make sure that all of 4.5.1 is in master

-sebastien


On May 1, 2015, at 1:19 PM, Daan Hoogland 
daan.hoogl...@gmail.commailto:daan.hoogl...@gmail.com
wrote:

Let's not do more quality improvement proces but just improve
quality.
If
anybody want to add to the pages on the wiki, you're welkom but
nobody
did
for long time. +1 for the present state of Sebastien's views on
things.
We
can refine at any time.

Op vr 1 mei 2015 om 09:55 schreef sebgoa 
run...@gmail.commailto:run...@gmail.com:


On May 1, 2015, at 12:52 AM, Pierre-Luc Dion 
pdion...@apache.orgmailto:pdion...@apache.org
wrote:

Hi,

In my mind it was kind of making more sense to start by keeping 4.6
into
a
separate branch, enforce pull-requests and deploy the CI. smaller
step
but
faster result, and from there, once we get stable with the CI

I hear you.

But we have waited for way too long for better CI. I see great
efforts
in
that direction.
But I personally do not want to wait any longer to make a move.

We do open source, we should have fun, take risks, move fast, fail
fast,
recover etc….

so let's JFDI

and git flow;
move into master, do fastest releases cycle. If we consider we can
do
all
that starting in 4.6, I'm all for it!


Is there really a difference between creating a 4.6 and doing what
you
say, and tagging master (start) and doing it on master leading to
4.6
release ?

Assuming the QA does not improve, 4.6 would not be worse than 4.5.
If
we
can improve a bit on the QA then we win.
Plus I think a different commit model will help a lot in quality.


Marcus: are you preparing a proposal on this? wiki page? I can help


We can do this proposal on email..and once we have consensus write
it
up
for archive in the wiki.
If we move to the wiki now, this effort is going to die.

Seb: doesn't the vote would confirm the consensus?


if we have consensus no need for vote.

Raja:  do we have any documentation somewhere on how to use,
contribute
to
the smoke test? that could be our start for the CI tests?


Cheers


On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen 
run...@gmail.commailto:run...@gmail.com
wrote:


On Apr 29, 2015, at 9:49 PM, 

Re: [DISCUSS] 4.6 release management

2015-05-13 Thread David Nalley
On Wed, May 13, 2015 at 8:36 AM, Wilder Rodrigues
wrodrig...@schubergphilis.com wrote:
 Hi guys,

 I hope that’s not too late to react on this one.

 Having 6 RMs seems a bit too much for me. For PRs containing a few lines of 
 code, just bug fixes or changing maven files, python, sh, etc it might be 
 simple and quick. However, if we get a PR with +30 commits and 10k lines 
 added, it gets really difficult to get the community to test/review the PR. 
 So, for 2 people to go over it is already taking too long to get the code 
 imagine, now imagine 4 or 6.

 Rohit has done an excellent job in looking into the PRs, commenting on them 
 and some times testing as well. But there are things that cannot simply get 
 him, or perhaps other guys, to test properly a PR; having time and 
 environment as the main reasons.

 I would say that in case we have a PR that contains:

 1. Documentation on the Apache CS Wiki
 2. Unit Tests (a lot of them, minimum 70% for the code changed)
 3. Marvin Test Results report - test_routers, test_vpc_routers, 
 test_vm_life_cycle, test_account, at least.

 Should be given priority and get less RMs involved in order to speed up our 
 development/release processes. Unless, of course, the people would have time 
 to look into the PR immediately.

 What do you think?

 Cheers,
 Wilder



I like this.
We have to live by our tests. So enforcing good coverage, and gating
on good results makes sense to me.
No human can reliably eyeball all of this.

--David


Re: [DISCUSS] 4.6 release management

2015-05-13 Thread sebgoa

On May 13, 2015, at 6:07 PM, David Nalley da...@gnsa.us wrote:

 On Wed, May 13, 2015 at 8:36 AM, Wilder Rodrigues
 wrodrig...@schubergphilis.com wrote:
 Hi guys,
 
 I hope that’s not too late to react on this one.
 
 Having 6 RMs seems a bit too much for me. For PRs containing a few lines of 
 code, just bug fixes or changing maven files, python, sh, etc it might be 
 simple and quick. However, if we get a PR with +30 commits and 10k lines 
 added, it gets really difficult to get the community to test/review the PR. 
 So, for 2 people to go over it is already taking too long to get the code 
 imagine, now imagine 4 or 6.
 
 Rohit has done an excellent job in looking into the PRs, commenting on them 
 and some times testing as well. But there are things that cannot simply get 
 him, or perhaps other guys, to test properly a PR; having time and 
 environment as the main reasons.
 
 I would say that in case we have a PR that contains:
 
 1. Documentation on the Apache CS Wiki
 2. Unit Tests (a lot of them, minimum 70% for the code changed)
 3. Marvin Test Results report - test_routers, test_vpc_routers, 
 test_vm_life_cycle, test_account, at least.
 
 Should be given priority and get less RMs involved in order to speed up our 
 development/release processes. Unless, of course, the people would have time 
 to look into the PR immediately.
 
 What do you think?
 
 Cheers,
 Wilder
 
 
 
 I like this.
 We have to live by our tests. So enforcing good coverage, and gating
 on good results makes sense to me.
 No human can reliably eyeball all of this.
 
 --David

I don't think we are saying anything different to this.

Any PR should pass the Travis tests (…and there should be more tests).
Review should not allow anything that does not have unit test either.
For new features, they should come with documentation patches as well.

bottom line, I don't think we disagree. Or maybe I missing something.

-sebastien




Re: [DISCUSS] 4.6 release management

2015-05-13 Thread Daan Hoogland
I never intended for all 6 RM to be involved in every commit. Just to have
6 in order to spread the load. I just want at least two of them to verify
each merge.

Op wo 13 mei 2015 om 18:32 schreef sebgoa run...@gmail.com:


 On May 13, 2015, at 6:07 PM, David Nalley da...@gnsa.us wrote:

  On Wed, May 13, 2015 at 8:36 AM, Wilder Rodrigues
  wrodrig...@schubergphilis.com wrote:
  Hi guys,
 
  I hope that’s not too late to react on this one.
 
  Having 6 RMs seems a bit too much for me. For PRs containing a few
 lines of code, just bug fixes or changing maven files, python, sh, etc it
 might be simple and quick. However, if we get a PR with +30 commits and 10k
 lines added, it gets really difficult to get the community to test/review
 the PR. So, for 2 people to go over it is already taking too long to get
 the code imagine, now imagine 4 or 6.
 
  Rohit has done an excellent job in looking into the PRs, commenting on
 them and some times testing as well. But there are things that cannot
 simply get him, or perhaps other guys, to test properly a PR; having time
 and environment as the main reasons.
 
  I would say that in case we have a PR that contains:
 
  1. Documentation on the Apache CS Wiki
  2. Unit Tests (a lot of them, minimum 70% for the code changed)
  3. Marvin Test Results report - test_routers, test_vpc_routers,
 test_vm_life_cycle, test_account, at least.
 
  Should be given priority and get less RMs involved in order to speed up
 our development/release processes. Unless, of course, the people would have
 time to look into the PR immediately.
 
  What do you think?
 
  Cheers,
  Wilder
 
 
 
  I like this.
  We have to live by our tests. So enforcing good coverage, and gating
  on good results makes sense to me.
  No human can reliably eyeball all of this.
 
  --David

 I don't think we are saying anything different to this.

 Any PR should pass the Travis tests (…and there should be more tests).
 Review should not allow anything that does not have unit test either.
 For new features, they should come with documentation patches as well.

 bottom line, I don't think we disagree. Or maybe I missing something.

 -sebastien





Re: [DISCUSS] 4.6 release management

2015-05-11 Thread sebgoa

On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com wrote:

 I can have a look at the merge of 4.5.1 and am willing to be one of the
 RMs, not to be the RM!
 

I can RM as well. 

How about we lock down master on wednesday ?
From that point forward we only take PR into master -either you or me- all 
other direct commits to master will be reverted 


-sebastien



 Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:
 
 So no -1 on this.
 
 Do we have volunteers to RM 4.6 on the master branch ?
 
 I propose to set a date asap, tag master and tell everyone that starting
 from that tag all commits to master except from RM will be reverted.
 
 will need to make sure that all of 4.5.1 is in master
 
 -sebastien
 
 
 On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com wrote:
 
 Let's not do more quality improvement proces but just improve quality. If
 anybody want to add to the pages on the wiki, you're welkom but nobody
 did
 for long time. +1 for the present state of Sebastien's views on things.
 We
 can refine at any time.
 
 Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
 On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
 wrote:
 
 Hi,
 
 In my mind it was kind of making more sense to start by keeping 4.6
 into
 a
 separate branch, enforce pull-requests and deploy the CI. smaller step
 but
 faster result, and from there, once we get stable with the CI
 
 I hear you.
 
 But we have waited for way too long for better CI. I see great efforts
 in
 that direction.
 But I personally do not want to wait any longer to make a move.
 
 We do open source, we should have fun, take risks, move fast, fail fast,
 recover etc….
 
 so let's JFDI
 
 and git flow;
 move into master, do fastest releases cycle. If we consider we can do
 all
 that starting in 4.6, I'm all for it!
 
 
 Is there really a difference between creating a 4.6 and doing what you
 say, and tagging master (start) and doing it on master leading to 4.6
 release ?
 
 Assuming the QA does not improve, 4.6 would not be worse than 4.5. If we
 can improve a bit on the QA then we win.
 Plus I think a different commit model will help a lot in quality.
 
 
 Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
 We can do this proposal on email..and once we have consensus write it up
 for archive in the wiki.
 If we move to the wiki now, this effort is going to die.
 
 Seb: doesn't the vote would confirm the consensus?
 
 
 if we have consensus no need for vote.
 
 Raja:  do we have any documentation somewhere on how to use, contribute
 to
 the smoke test? that could be our start for the CI tests?
 
 
 Cheers
 
 
 On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
 
 On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
 After reviewing the history as mentioned by Daan, unless we propose
 and vote on a newer workflow model I think the best we can do is to
 simply be more strict about commits to master. They all need to be
 merges that have been tested against master before merge. This will
 in
 theory make master more stable, but doesn't really change the
 workflow
 we've already agreed upon and have been working under (although
 bugfixes sometimes were not coming in from branches, and
 cherry-picked
 bugfixes from branches will need to go into a branch first, tested
 against master, and merged to master). We can essentially set a date
 and do that any time, with some advance notice that direct commits
 will be reverted.
 
 Yes +1.
 
 -Set a date
 -Tag master for reference
 -Find a volunteer or two to RM master
 -automatic revert on master if not from RM
 -all commits to master come from PR, need clear review and green tests
 -harden master (basic QA process), release 4.6 as a tag on master
 -all features and fixes need to be made on branches or forks and onus
 is
 on devs to rebase to master
 -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
 4.4,
 etc)
 -from there forward only maintain a linear release through master
 
 Feel free to add, tweak
 
 PS: No need to vote if we have consensus. Taking a clue from ASF
 members,
 votes should be avoided at all cost, they mean that we do not have
 clear
 consensus.
 
 
 
 On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen 
 run...@gmail.com
 
 wrote:
 
 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.
 
 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.
 
 +1
 
 This just amounts to treating master now like a release branch.
 Getting
 back to PL suggestion, that means
 that any commit to master would be through a PR or MERGE request on
 the
 ML. Anything else will be reverted by the RM.
 
 Marcus, do you feel like writing down a little process for this and
 some 

Re: [DISCUSS] 4.6 release management

2015-05-11 Thread Daan Hoogland
I'm fine with that: rm must have a reviewer on merges? Seem heavy for
trivial changes but alright

On Mon, 11 May 2015 14:16 Sebastien Goasguen run...@gmail.com wrote:


  On May 11, 2015, at 2:00 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 
  +1 how about my proposal to have 6 RM and demand that at least 2 agree on
  each PR?

 +0.5

 we can say that we need two pairs of eyes to ok the PR for merge.
 no need to formally have 6 RMs ?

 so 1 RM (you or me) + another pair of eyes would work ?

 
  Op ma 11 mei 2015 om 09:52 schreef sebgoa run...@gmail.com:
 
 
  On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com
  wrote:
 
  I can have a look at the merge of 4.5.1 and am willing to be one of the
  RMs, not to be the RM!
 
 
  I can RM as well.
 
  How about we lock down master on wednesday ?
  From that point forward we only take PR into master -either you or me-
 all
  other direct commits to master will be reverted 
 
 
  -sebastien
 
 
 
  Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:
 
  So no -1 on this.
 
  Do we have volunteers to RM 4.6 on the master branch ?
 
  I propose to set a date asap, tag master and tell everyone that
 starting
  from that tag all commits to master except from RM will be reverted.
 
  will need to make sure that all of 4.5.1 is in master
 
  -sebastien
 
 
  On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com
  wrote:
 
  Let's not do more quality improvement proces but just improve
 quality.
  If
  anybody want to add to the pages on the wiki, you're welkom but
 nobody
  did
  for long time. +1 for the present state of Sebastien's views on
 things.
  We
  can refine at any time.
 
  Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
  On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
  wrote:
 
  Hi,
 
  In my mind it was kind of making more sense to start by keeping 4.6
  into
  a
  separate branch, enforce pull-requests and deploy the CI. smaller
  step
  but
  faster result, and from there, once we get stable with the CI
 
  I hear you.
 
  But we have waited for way too long for better CI. I see great
 efforts
  in
  that direction.
  But I personally do not want to wait any longer to make a move.
 
  We do open source, we should have fun, take risks, move fast, fail
  fast,
  recover etc….
 
  so let's JFDI
 
  and git flow;
  move into master, do fastest releases cycle. If we consider we can
 do
  all
  that starting in 4.6, I'm all for it!
 
 
  Is there really a difference between creating a 4.6 and doing what
 you
  say, and tagging master (start) and doing it on master leading to
 4.6
  release ?
 
  Assuming the QA does not improve, 4.6 would not be worse than 4.5.
 If
  we
  can improve a bit on the QA then we win.
  Plus I think a different commit model will help a lot in quality.
 
 
  Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
  We can do this proposal on email..and once we have consensus write
 it
  up
  for archive in the wiki.
  If we move to the wiki now, this effort is going to die.
 
  Seb: doesn't the vote would confirm the consensus?
 
 
  if we have consensus no need for vote.
 
  Raja:  do we have any documentation somewhere on how to use,
  contribute
  to
  the smoke test? that could be our start for the CI tests?
 
 
  Cheers
 
 
  On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen 
  run...@gmail.com
  wrote:
 
 
  On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
  After reviewing the history as mentioned by Daan, unless we
 propose
  and vote on a newer workflow model I think the best we can do is
 to
  simply be more strict about commits to master. They all need to
 be
  merges that have been tested against master before merge. This
 will
  in
  theory make master more stable, but doesn't really change the
  workflow
  we've already agreed upon and have been working under (although
  bugfixes sometimes were not coming in from branches, and
  cherry-picked
  bugfixes from branches will need to go into a branch first,
 tested
  against master, and merged to master). We can essentially set a
  date
  and do that any time, with some advance notice that direct
 commits
  will be reverted.
 
  Yes +1.
 
  -Set a date
  -Tag master for reference
  -Find a volunteer or two to RM master
  -automatic revert on master if not from RM
  -all commits to master come from PR, need clear review and green
  tests
  -harden master (basic QA process), release 4.6 as a tag on master
  -all features and fixes need to be made on branches or forks and
  onus
  is
  on devs to rebase to master
  -brings everyone onto 4.6 (make sure we have upgrade paths from
 4.3,
  4.4,
  etc)
  -from there forward only maintain a linear release through master
 
  Feel free to add, tweak
 
  PS: No need to vote if we have consensus. Taking a clue from ASF
  members,
  votes should be avoided at all cost, they mean that we do not have
  clear
  consensus.
 
 
 

Re: [DISCUSS] 4.6 release management

2015-05-11 Thread Daan Hoogland
+1 how about my proposal to have 6 RM and demand that at least 2 agree on
each PR?

Op ma 11 mei 2015 om 09:52 schreef sebgoa run...@gmail.com:


 On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:

  I can have a look at the merge of 4.5.1 and am willing to be one of the
  RMs, not to be the RM!
 

 I can RM as well.

 How about we lock down master on wednesday ?
 From that point forward we only take PR into master -either you or me- all
 other direct commits to master will be reverted 


 -sebastien



  Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:
 
  So no -1 on this.
 
  Do we have volunteers to RM 4.6 on the master branch ?
 
  I propose to set a date asap, tag master and tell everyone that starting
  from that tag all commits to master except from RM will be reverted.
 
  will need to make sure that all of 4.5.1 is in master
 
  -sebastien
 
 
  On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 
  Let's not do more quality improvement proces but just improve quality.
 If
  anybody want to add to the pages on the wiki, you're welkom but nobody
  did
  for long time. +1 for the present state of Sebastien's views on things.
  We
  can refine at any time.
 
  Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
  On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
  wrote:
 
  Hi,
 
  In my mind it was kind of making more sense to start by keeping 4.6
  into
  a
  separate branch, enforce pull-requests and deploy the CI. smaller
 step
  but
  faster result, and from there, once we get stable with the CI
 
  I hear you.
 
  But we have waited for way too long for better CI. I see great efforts
  in
  that direction.
  But I personally do not want to wait any longer to make a move.
 
  We do open source, we should have fun, take risks, move fast, fail
 fast,
  recover etc….
 
  so let's JFDI
 
  and git flow;
  move into master, do fastest releases cycle. If we consider we can do
  all
  that starting in 4.6, I'm all for it!
 
 
  Is there really a difference between creating a 4.6 and doing what you
  say, and tagging master (start) and doing it on master leading to 4.6
  release ?
 
  Assuming the QA does not improve, 4.6 would not be worse than 4.5. If
 we
  can improve a bit on the QA then we win.
  Plus I think a different commit model will help a lot in quality.
 
 
  Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
  We can do this proposal on email..and once we have consensus write it
 up
  for archive in the wiki.
  If we move to the wiki now, this effort is going to die.
 
  Seb: doesn't the vote would confirm the consensus?
 
 
  if we have consensus no need for vote.
 
  Raja:  do we have any documentation somewhere on how to use,
 contribute
  to
  the smoke test? that could be our start for the CI tests?
 
 
  Cheers
 
 
  On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen 
 run...@gmail.com
  wrote:
 
 
  On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
  After reviewing the history as mentioned by Daan, unless we propose
  and vote on a newer workflow model I think the best we can do is to
  simply be more strict about commits to master. They all need to be
  merges that have been tested against master before merge. This will
  in
  theory make master more stable, but doesn't really change the
  workflow
  we've already agreed upon and have been working under (although
  bugfixes sometimes were not coming in from branches, and
  cherry-picked
  bugfixes from branches will need to go into a branch first, tested
  against master, and merged to master). We can essentially set a
 date
  and do that any time, with some advance notice that direct commits
  will be reverted.
 
  Yes +1.
 
  -Set a date
  -Tag master for reference
  -Find a volunteer or two to RM master
  -automatic revert on master if not from RM
  -all commits to master come from PR, need clear review and green
 tests
  -harden master (basic QA process), release 4.6 as a tag on master
  -all features and fixes need to be made on branches or forks and
 onus
  is
  on devs to rebase to master
  -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
  4.4,
  etc)
  -from there forward only maintain a linear release through master
 
  Feel free to add, tweak
 
  PS: No need to vote if we have consensus. Taking a clue from ASF
  members,
  votes should be avoided at all cost, they mean that we do not have
  clear
  consensus.
 
 
 
  On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen 
  run...@gmail.com
 
  wrote:
 
  On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
  Have they diverged that much? Due to cherry-picking, I guess.
  Otherwise you should be able to do it cleanly.
 
  There's a good opportunity to do this next release. Instead of
  creating a release branch, we freeze master and start creating
 dev
  branches.
 
  +1
 
  This just amounts to treating master now 

Re: [DISCUSS] 4.6 release management

2015-05-11 Thread Sebastien Goasguen

 On May 11, 2015, at 2:00 PM, Daan Hoogland daan.hoogl...@gmail.com wrote:
 
 +1 how about my proposal to have 6 RM and demand that at least 2 agree on
 each PR?

+0.5

we can say that we need two pairs of eyes to ok the PR for merge.
no need to formally have 6 RMs ?

so 1 RM (you or me) + another pair of eyes would work ?

 
 Op ma 11 mei 2015 om 09:52 schreef sebgoa run...@gmail.com:
 
 
 On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 
 I can have a look at the merge of 4.5.1 and am willing to be one of the
 RMs, not to be the RM!
 
 
 I can RM as well.
 
 How about we lock down master on wednesday ?
 From that point forward we only take PR into master -either you or me- all
 other direct commits to master will be reverted 
 
 
 -sebastien
 
 
 
 Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:
 
 So no -1 on this.
 
 Do we have volunteers to RM 4.6 on the master branch ?
 
 I propose to set a date asap, tag master and tell everyone that starting
 from that tag all commits to master except from RM will be reverted.
 
 will need to make sure that all of 4.5.1 is in master
 
 -sebastien
 
 
 On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 
 Let's not do more quality improvement proces but just improve quality.
 If
 anybody want to add to the pages on the wiki, you're welkom but nobody
 did
 for long time. +1 for the present state of Sebastien's views on things.
 We
 can refine at any time.
 
 Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
 On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
 wrote:
 
 Hi,
 
 In my mind it was kind of making more sense to start by keeping 4.6
 into
 a
 separate branch, enforce pull-requests and deploy the CI. smaller
 step
 but
 faster result, and from there, once we get stable with the CI
 
 I hear you.
 
 But we have waited for way too long for better CI. I see great efforts
 in
 that direction.
 But I personally do not want to wait any longer to make a move.
 
 We do open source, we should have fun, take risks, move fast, fail
 fast,
 recover etc….
 
 so let's JFDI
 
 and git flow;
 move into master, do fastest releases cycle. If we consider we can do
 all
 that starting in 4.6, I'm all for it!
 
 
 Is there really a difference between creating a 4.6 and doing what you
 say, and tagging master (start) and doing it on master leading to 4.6
 release ?
 
 Assuming the QA does not improve, 4.6 would not be worse than 4.5. If
 we
 can improve a bit on the QA then we win.
 Plus I think a different commit model will help a lot in quality.
 
 
 Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
 We can do this proposal on email..and once we have consensus write it
 up
 for archive in the wiki.
 If we move to the wiki now, this effort is going to die.
 
 Seb: doesn't the vote would confirm the consensus?
 
 
 if we have consensus no need for vote.
 
 Raja:  do we have any documentation somewhere on how to use,
 contribute
 to
 the smoke test? that could be our start for the CI tests?
 
 
 Cheers
 
 
 On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen 
 run...@gmail.com
 wrote:
 
 
 On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
 After reviewing the history as mentioned by Daan, unless we propose
 and vote on a newer workflow model I think the best we can do is to
 simply be more strict about commits to master. They all need to be
 merges that have been tested against master before merge. This will
 in
 theory make master more stable, but doesn't really change the
 workflow
 we've already agreed upon and have been working under (although
 bugfixes sometimes were not coming in from branches, and
 cherry-picked
 bugfixes from branches will need to go into a branch first, tested
 against master, and merged to master). We can essentially set a
 date
 and do that any time, with some advance notice that direct commits
 will be reverted.
 
 Yes +1.
 
 -Set a date
 -Tag master for reference
 -Find a volunteer or two to RM master
 -automatic revert on master if not from RM
 -all commits to master come from PR, need clear review and green
 tests
 -harden master (basic QA process), release 4.6 as a tag on master
 -all features and fixes need to be made on branches or forks and
 onus
 is
 on devs to rebase to master
 -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
 4.4,
 etc)
 -from there forward only maintain a linear release through master
 
 Feel free to add, tweak
 
 PS: No need to vote if we have consensus. Taking a clue from ASF
 members,
 votes should be avoided at all cost, they mean that we do not have
 clear
 consensus.
 
 
 
 On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen 
 run...@gmail.com
 
 wrote:
 
 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.
 
 There's a good opportunity to do this 

Re: [DISCUSS] 4.6 release management

2015-05-11 Thread Rohit Yadav

 On 11-May-2015, at 2:51 pm, Daan Hoogland daan.hoogl...@gmail.com wrote:

 I'm fine with that: rm must have a reviewer on merges? Seem heavy for
 trivial changes but alright

 On Mon, 11 May 2015 14:16 Sebastien Goasguen run...@gmail.com wrote:


 On May 11, 2015, at 2:00 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:

 +1 how about my proposal to have 6 RM and demand that at least 2 agree on
 each PR?

 +0.5

 we can say that we need two pairs of eyes to ok the PR for merge.
 no need to formally have 6 RMs ?

 so 1 RM (you or me) + another pair of eyes would work ?

I’ve been doing PR reviews as a habit, happy to chip-in as a co-pilot.


 Op ma 11 mei 2015 om 09:52 schreef sebgoa run...@gmail.com:


 On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:

 I can have a look at the merge of 4.5.1 and am willing to be one of the
 RMs, not to be the RM!


 I can RM as well.

 How about we lock down master on wednesday ?
 From that point forward we only take PR into master -either you or me-
 all
 other direct commits to master will be reverted 


 -sebastien



 Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:

 So no -1 on this.

 Do we have volunteers to RM 4.6 on the master branch ?

 I propose to set a date asap, tag master and tell everyone that
 starting
 from that tag all commits to master except from RM will be reverted.

 will need to make sure that all of 4.5.1 is in master

 -sebastien


 On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:

 Let's not do more quality improvement proces but just improve
 quality.
 If
 anybody want to add to the pages on the wiki, you're welkom but
 nobody
 did
 for long time. +1 for the present state of Sebastien's views on
 things.
 We
 can refine at any time.

 Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:


 On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
 wrote:

 Hi,

 In my mind it was kind of making more sense to start by keeping 4.6
 into
 a
 separate branch, enforce pull-requests and deploy the CI. smaller
 step
 but
 faster result, and from there, once we get stable with the CI

 I hear you.

 But we have waited for way too long for better CI. I see great
 efforts
 in
 that direction.
 But I personally do not want to wait any longer to make a move.

 We do open source, we should have fun, take risks, move fast, fail
 fast,
 recover etc….

 so let's JFDI

 and git flow;
 move into master, do fastest releases cycle. If we consider we can
 do
 all
 that starting in 4.6, I'm all for it!


 Is there really a difference between creating a 4.6 and doing what
 you
 say, and tagging master (start) and doing it on master leading to
 4.6
 release ?

 Assuming the QA does not improve, 4.6 would not be worse than 4.5.
 If
 we
 can improve a bit on the QA then we win.
 Plus I think a different commit model will help a lot in quality.


 Marcus: are you preparing a proposal on this? wiki page? I can help


 We can do this proposal on email..and once we have consensus write
 it
 up
 for archive in the wiki.
 If we move to the wiki now, this effort is going to die.

 Seb: doesn't the vote would confirm the consensus?


 if we have consensus no need for vote.

 Raja:  do we have any documentation somewhere on how to use,
 contribute
 to
 the smoke test? that could be our start for the CI tests?


 Cheers


 On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen 
 run...@gmail.com
 wrote:


 On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:

 After reviewing the history as mentioned by Daan, unless we
 propose
 and vote on a newer workflow model I think the best we can do is
 to
 simply be more strict about commits to master. They all need to
 be
 merges that have been tested against master before merge. This
 will
 in
 theory make master more stable, but doesn't really change the
 workflow
 we've already agreed upon and have been working under (although
 bugfixes sometimes were not coming in from branches, and
 cherry-picked
 bugfixes from branches will need to go into a branch first,
 tested
 against master, and merged to master). We can essentially set a
 date
 and do that any time, with some advance notice that direct
 commits
 will be reverted.

 Yes +1.

 -Set a date
 -Tag master for reference
 -Find a volunteer or two to RM master
 -automatic revert on master if not from RM
 -all commits to master come from PR, need clear review and green
 tests
 -harden master (basic QA process), release 4.6 as a tag on master
 -all features and fixes need to be made on branches or forks and
 onus
 is
 on devs to rebase to master
 -brings everyone onto 4.6 (make sure we have upgrade paths from
 4.3,
 4.4,
 etc)
 -from there forward only maintain a linear release through master

 Feel free to add, tweak

 PS: No need to vote if we have consensus. Taking a clue from ASF
 members,
 votes should be avoided at all cost, they mean that we do not have
 clear
 consensus.



 On Sat, Apr 18, 

Re: [DISCUSS] 4.6 release management

2015-05-06 Thread Daan Hoogland
I can have a look at the merge of 4.5.1 and am willing to be one of the
RMs, not to be the RM!

Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:

 So no -1 on this.

 Do we have volunteers to RM 4.6 on the master branch ?

 I propose to set a date asap, tag master and tell everyone that starting
 from that tag all commits to master except from RM will be reverted.

 will need to make sure that all of 4.5.1 is in master

 -sebastien


 On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com wrote:

  Let's not do more quality improvement proces but just improve quality. If
  anybody want to add to the pages on the wiki, you're welkom but nobody
 did
  for long time. +1 for the present state of Sebastien's views on things.
 We
  can refine at any time.
 
  Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
  On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
 wrote:
 
  Hi,
 
  In my mind it was kind of making more sense to start by keeping 4.6
 into
  a
  separate branch, enforce pull-requests and deploy the CI. smaller step
  but
  faster result, and from there, once we get stable with the CI
 
  I hear you.
 
  But we have waited for way too long for better CI. I see great efforts
 in
  that direction.
  But I personally do not want to wait any longer to make a move.
 
  We do open source, we should have fun, take risks, move fast, fail fast,
  recover etc….
 
  so let's JFDI
 
  and git flow;
  move into master, do fastest releases cycle. If we consider we can do
 all
  that starting in 4.6, I'm all for it!
 
 
  Is there really a difference between creating a 4.6 and doing what you
  say, and tagging master (start) and doing it on master leading to 4.6
  release ?
 
  Assuming the QA does not improve, 4.6 would not be worse than 4.5. If we
  can improve a bit on the QA then we win.
  Plus I think a different commit model will help a lot in quality.
 
 
  Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
  We can do this proposal on email..and once we have consensus write it up
  for archive in the wiki.
  If we move to the wiki now, this effort is going to die.
 
  Seb: doesn't the vote would confirm the consensus?
 
 
  if we have consensus no need for vote.
 
  Raja:  do we have any documentation somewhere on how to use, contribute
  to
  the smoke test? that could be our start for the CI tests?
 
 
  Cheers
 
 
  On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com
  wrote:
 
 
  On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
  After reviewing the history as mentioned by Daan, unless we propose
  and vote on a newer workflow model I think the best we can do is to
  simply be more strict about commits to master. They all need to be
  merges that have been tested against master before merge. This will
 in
  theory make master more stable, but doesn't really change the
 workflow
  we've already agreed upon and have been working under (although
  bugfixes sometimes were not coming in from branches, and
 cherry-picked
  bugfixes from branches will need to go into a branch first, tested
  against master, and merged to master). We can essentially set a date
  and do that any time, with some advance notice that direct commits
  will be reverted.
 
  Yes +1.
 
  -Set a date
  -Tag master for reference
  -Find a volunteer or two to RM master
  -automatic revert on master if not from RM
  -all commits to master come from PR, need clear review and green tests
  -harden master (basic QA process), release 4.6 as a tag on master
  -all features and fixes need to be made on branches or forks and onus
 is
  on devs to rebase to master
  -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
  4.4,
  etc)
  -from there forward only maintain a linear release through master
 
  Feel free to add, tweak
 
  PS: No need to vote if we have consensus. Taking a clue from ASF
  members,
  votes should be avoided at all cost, they mean that we do not have
 clear
  consensus.
 
 
 
  On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen 
 run...@gmail.com
 
  wrote:
 
  On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
  Have they diverged that much? Due to cherry-picking, I guess.
  Otherwise you should be able to do it cleanly.
 
  There's a good opportunity to do this next release. Instead of
  creating a release branch, we freeze master and start creating dev
  branches.
 
  +1
 
  This just amounts to treating master now like a release branch.
  Getting
  back to PL suggestion, that means
  that any commit to master would be through a PR or MERGE request on
  the
  ML. Anything else will be reverted by the RM.
 
  Marcus, do you feel like writing down a little process for this and
  some dates that we can target.
  It would be nice to do this for 4.6.
 
 
  On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland 
  daan.hoogl...@gmail.com wrote:
  We heavily invested in code now on master. Not looking 

Re: [DISCUSS] 4.6 release management

2015-05-06 Thread sebgoa
So no -1 on this.

Do we have volunteers to RM 4.6 on the master branch ?

I propose to set a date asap, tag master and tell everyone that starting from 
that tag all commits to master except from RM will be reverted.

will need to make sure that all of 4.5.1 is in master 

-sebastien


On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com wrote:

 Let's not do more quality improvement proces but just improve quality. If
 anybody want to add to the pages on the wiki, you're welkom but nobody did
 for long time. +1 for the present state of Sebastien's views on things. We
 can refine at any time.
 
 Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
 On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org wrote:
 
 Hi,
 
 In my mind it was kind of making more sense to start by keeping 4.6 into
 a
 separate branch, enforce pull-requests and deploy the CI. smaller step
 but
 faster result, and from there, once we get stable with the CI
 
 I hear you.
 
 But we have waited for way too long for better CI. I see great efforts in
 that direction.
 But I personally do not want to wait any longer to make a move.
 
 We do open source, we should have fun, take risks, move fast, fail fast,
 recover etc….
 
 so let's JFDI
 
 and git flow;
 move into master, do fastest releases cycle. If we consider we can do all
 that starting in 4.6, I'm all for it!
 
 
 Is there really a difference between creating a 4.6 and doing what you
 say, and tagging master (start) and doing it on master leading to 4.6
 release ?
 
 Assuming the QA does not improve, 4.6 would not be worse than 4.5. If we
 can improve a bit on the QA then we win.
 Plus I think a different commit model will help a lot in quality.
 
 
 Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
 We can do this proposal on email..and once we have consensus write it up
 for archive in the wiki.
 If we move to the wiki now, this effort is going to die.
 
 Seb: doesn't the vote would confirm the consensus?
 
 
 if we have consensus no need for vote.
 
 Raja:  do we have any documentation somewhere on how to use, contribute
 to
 the smoke test? that could be our start for the CI tests?
 
 
 Cheers
 
 
 On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
 
 On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
 After reviewing the history as mentioned by Daan, unless we propose
 and vote on a newer workflow model I think the best we can do is to
 simply be more strict about commits to master. They all need to be
 merges that have been tested against master before merge. This will in
 theory make master more stable, but doesn't really change the workflow
 we've already agreed upon and have been working under (although
 bugfixes sometimes were not coming in from branches, and cherry-picked
 bugfixes from branches will need to go into a branch first, tested
 against master, and merged to master). We can essentially set a date
 and do that any time, with some advance notice that direct commits
 will be reverted.
 
 Yes +1.
 
 -Set a date
 -Tag master for reference
 -Find a volunteer or two to RM master
 -automatic revert on master if not from RM
 -all commits to master come from PR, need clear review and green tests
 -harden master (basic QA process), release 4.6 as a tag on master
 -all features and fixes need to be made on branches or forks and onus is
 on devs to rebase to master
 -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
 4.4,
 etc)
 -from there forward only maintain a linear release through master
 
 Feel free to add, tweak
 
 PS: No need to vote if we have consensus. Taking a clue from ASF
 members,
 votes should be avoided at all cost, they mean that we do not have clear
 consensus.
 
 
 
 On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen run...@gmail.com
 
 wrote:
 
 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.
 
 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.
 
 +1
 
 This just amounts to treating master now like a release branch.
 Getting
 back to PL suggestion, that means
 that any commit to master would be through a PR or MERGE request on
 the
 ML. Anything else will be reverted by the RM.
 
 Marcus, do you feel like writing down a little process for this and
 some dates that we can target.
 It would be nice to do this for 4.6.
 
 
 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland 
 daan.hoogl...@gmail.com wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.
 
 mobile dev with bilingual spelling checker used (read at your own
 risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:
 
 Well, would we just swap the last release branch with master?
 Master
 is the dev branch, and the 

Re: [DISCUSS] 4.6 release management

2015-05-06 Thread Daan Hoogland
I just did a test merge:
~/cloudstack/cloudstack (master) git merge --no-ff --edit -s ours 4.5
gives a clean merge of the last bits from 4.5 and merges without conflicts

I will rerun a merge and push if the RC passes

Op wo 6 mei 2015 om 10:59 schreef Daan Hoogland daan.hoogl...@gmail.com:

 I can have a look at the merge of 4.5.1 and am willing to be one of the
 RMs, not to be the RM!

 Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:

 So no -1 on this.

 Do we have volunteers to RM 4.6 on the master branch ?

 I propose to set a date asap, tag master and tell everyone that starting
 from that tag all commits to master except from RM will be reverted.

 will need to make sure that all of 4.5.1 is in master

 -sebastien


 On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:

  Let's not do more quality improvement proces but just improve quality.
 If
  anybody want to add to the pages on the wiki, you're welkom but nobody
 did
  for long time. +1 for the present state of Sebastien's views on things.
 We
  can refine at any time.
 
  Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
  On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
 wrote:
 
  Hi,
 
  In my mind it was kind of making more sense to start by keeping 4.6
 into
  a
  separate branch, enforce pull-requests and deploy the CI. smaller step
  but
  faster result, and from there, once we get stable with the CI
 
  I hear you.
 
  But we have waited for way too long for better CI. I see great efforts
 in
  that direction.
  But I personally do not want to wait any longer to make a move.
 
  We do open source, we should have fun, take risks, move fast, fail
 fast,
  recover etc….
 
  so let's JFDI
 
  and git flow;
  move into master, do fastest releases cycle. If we consider we can do
 all
  that starting in 4.6, I'm all for it!
 
 
  Is there really a difference between creating a 4.6 and doing what you
  say, and tagging master (start) and doing it on master leading to 4.6
  release ?
 
  Assuming the QA does not improve, 4.6 would not be worse than 4.5. If
 we
  can improve a bit on the QA then we win.
  Plus I think a different commit model will help a lot in quality.
 
 
  Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
  We can do this proposal on email..and once we have consensus write it
 up
  for archive in the wiki.
  If we move to the wiki now, this effort is going to die.
 
  Seb: doesn't the vote would confirm the consensus?
 
 
  if we have consensus no need for vote.
 
  Raja:  do we have any documentation somewhere on how to use,
 contribute
  to
  the smoke test? that could be our start for the CI tests?
 
 
  Cheers
 
 
  On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com
 
  wrote:
 
 
  On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
  After reviewing the history as mentioned by Daan, unless we propose
  and vote on a newer workflow model I think the best we can do is to
  simply be more strict about commits to master. They all need to be
  merges that have been tested against master before merge. This will
 in
  theory make master more stable, but doesn't really change the
 workflow
  we've already agreed upon and have been working under (although
  bugfixes sometimes were not coming in from branches, and
 cherry-picked
  bugfixes from branches will need to go into a branch first, tested
  against master, and merged to master). We can essentially set a date
  and do that any time, with some advance notice that direct commits
  will be reverted.
 
  Yes +1.
 
  -Set a date
  -Tag master for reference
  -Find a volunteer or two to RM master
  -automatic revert on master if not from RM
  -all commits to master come from PR, need clear review and green
 tests
  -harden master (basic QA process), release 4.6 as a tag on master
  -all features and fixes need to be made on branches or forks and
 onus is
  on devs to rebase to master
  -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
  4.4,
  etc)
  -from there forward only maintain a linear release through master
 
  Feel free to add, tweak
 
  PS: No need to vote if we have consensus. Taking a clue from ASF
  members,
  votes should be avoided at all cost, they mean that we do not have
 clear
  consensus.
 
 
 
  On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen 
 run...@gmail.com
 
  wrote:
 
  On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
  Have they diverged that much? Due to cherry-picking, I guess.
  Otherwise you should be able to do it cleanly.
 
  There's a good opportunity to do this next release. Instead of
  creating a release branch, we freeze master and start creating dev
  branches.
 
  +1
 
  This just amounts to treating master now like a release branch.
  Getting
  back to PL suggestion, that means
  that any commit to master would be through a PR or MERGE request on
  the
  ML. Anything else will be 

Re: [DISCUSS] 4.6 release management

2015-05-06 Thread Daan Hoogland
Fcourse

On Wed, 6 May 2015 15:02 Sebastien Goasguen run...@gmail.com wrote:

 Can you sync with Rohit, who is merging the noawsapi stuff as well..

  On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 
  I can have a look at the merge of 4.5.1 and am willing to be one of the
  RMs, not to be the RM!
 
  Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:
 
  So no -1 on this.
 
  Do we have volunteers to RM 4.6 on the master branch ?
 
  I propose to set a date asap, tag master and tell everyone that starting
  from that tag all commits to master except from RM will be reverted.
 
  will need to make sure that all of 4.5.1 is in master
 
  -sebastien
 
 
  On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 
  Let's not do more quality improvement proces but just improve quality.
 If
  anybody want to add to the pages on the wiki, you're welkom but nobody
  did
  for long time. +1 for the present state of Sebastien's views on things.
  We
  can refine at any time.
 
  Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
  On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
  wrote:
 
  Hi,
 
  In my mind it was kind of making more sense to start by keeping 4.6
  into
  a
  separate branch, enforce pull-requests and deploy the CI. smaller
 step
  but
  faster result, and from there, once we get stable with the CI
 
  I hear you.
 
  But we have waited for way too long for better CI. I see great efforts
  in
  that direction.
  But I personally do not want to wait any longer to make a move.
 
  We do open source, we should have fun, take risks, move fast, fail
 fast,
  recover etc….
 
  so let's JFDI
 
  and git flow;
  move into master, do fastest releases cycle. If we consider we can do
  all
  that starting in 4.6, I'm all for it!
 
 
  Is there really a difference between creating a 4.6 and doing what you
  say, and tagging master (start) and doing it on master leading to 4.6
  release ?
 
  Assuming the QA does not improve, 4.6 would not be worse than 4.5. If
 we
  can improve a bit on the QA then we win.
  Plus I think a different commit model will help a lot in quality.
 
 
  Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
  We can do this proposal on email..and once we have consensus write it
 up
  for archive in the wiki.
  If we move to the wiki now, this effort is going to die.
 
  Seb: doesn't the vote would confirm the consensus?
 
 
  if we have consensus no need for vote.
 
  Raja:  do we have any documentation somewhere on how to use,
 contribute
  to
  the smoke test? that could be our start for the CI tests?
 
 
  Cheers
 
 
  On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen 
 run...@gmail.com
  wrote:
 
 
  On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
  After reviewing the history as mentioned by Daan, unless we propose
  and vote on a newer workflow model I think the best we can do is to
  simply be more strict about commits to master. They all need to be
  merges that have been tested against master before merge. This will
  in
  theory make master more stable, but doesn't really change the
  workflow
  we've already agreed upon and have been working under (although
  bugfixes sometimes were not coming in from branches, and
  cherry-picked
  bugfixes from branches will need to go into a branch first, tested
  against master, and merged to master). We can essentially set a
 date
  and do that any time, with some advance notice that direct commits
  will be reverted.
 
  Yes +1.
 
  -Set a date
  -Tag master for reference
  -Find a volunteer or two to RM master
  -automatic revert on master if not from RM
  -all commits to master come from PR, need clear review and green
 tests
  -harden master (basic QA process), release 4.6 as a tag on master
  -all features and fixes need to be made on branches or forks and
 onus
  is
  on devs to rebase to master
  -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
  4.4,
  etc)
  -from there forward only maintain a linear release through master
 
  Feel free to add, tweak
 
  PS: No need to vote if we have consensus. Taking a clue from ASF
  members,
  votes should be avoided at all cost, they mean that we do not have
  clear
  consensus.
 
 
 
  On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen 
  run...@gmail.com
 
  wrote:
 
  On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
  Have they diverged that much? Due to cherry-picking, I guess.
  Otherwise you should be able to do it cleanly.
 
  There's a good opportunity to do this next release. Instead of
  creating a release branch, we freeze master and start creating
 dev
  branches.
 
  +1
 
  This just amounts to treating master now like a release branch.
  Getting
  back to PL suggestion, that means
  that any commit to master would be through a PR or MERGE request
 on
  the
  ML. Anything else will be reverted by the RM.
 
  Marcus, do 

Re: [DISCUSS] 4.6 release management

2015-05-06 Thread Sebastien Goasguen
Can you sync with Rohit, who is merging the noawsapi stuff as well..

 On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com wrote:
 
 I can have a look at the merge of 4.5.1 and am willing to be one of the
 RMs, not to be the RM!
 
 Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:
 
 So no -1 on this.
 
 Do we have volunteers to RM 4.6 on the master branch ?
 
 I propose to set a date asap, tag master and tell everyone that starting
 from that tag all commits to master except from RM will be reverted.
 
 will need to make sure that all of 4.5.1 is in master
 
 -sebastien
 
 
 On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com wrote:
 
 Let's not do more quality improvement proces but just improve quality. If
 anybody want to add to the pages on the wiki, you're welkom but nobody
 did
 for long time. +1 for the present state of Sebastien's views on things.
 We
 can refine at any time.
 
 Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
 On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
 wrote:
 
 Hi,
 
 In my mind it was kind of making more sense to start by keeping 4.6
 into
 a
 separate branch, enforce pull-requests and deploy the CI. smaller step
 but
 faster result, and from there, once we get stable with the CI
 
 I hear you.
 
 But we have waited for way too long for better CI. I see great efforts
 in
 that direction.
 But I personally do not want to wait any longer to make a move.
 
 We do open source, we should have fun, take risks, move fast, fail fast,
 recover etc….
 
 so let's JFDI
 
 and git flow;
 move into master, do fastest releases cycle. If we consider we can do
 all
 that starting in 4.6, I'm all for it!
 
 
 Is there really a difference between creating a 4.6 and doing what you
 say, and tagging master (start) and doing it on master leading to 4.6
 release ?
 
 Assuming the QA does not improve, 4.6 would not be worse than 4.5. If we
 can improve a bit on the QA then we win.
 Plus I think a different commit model will help a lot in quality.
 
 
 Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
 We can do this proposal on email..and once we have consensus write it up
 for archive in the wiki.
 If we move to the wiki now, this effort is going to die.
 
 Seb: doesn't the vote would confirm the consensus?
 
 
 if we have consensus no need for vote.
 
 Raja:  do we have any documentation somewhere on how to use, contribute
 to
 the smoke test? that could be our start for the CI tests?
 
 
 Cheers
 
 
 On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
 
 On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
 After reviewing the history as mentioned by Daan, unless we propose
 and vote on a newer workflow model I think the best we can do is to
 simply be more strict about commits to master. They all need to be
 merges that have been tested against master before merge. This will
 in
 theory make master more stable, but doesn't really change the
 workflow
 we've already agreed upon and have been working under (although
 bugfixes sometimes were not coming in from branches, and
 cherry-picked
 bugfixes from branches will need to go into a branch first, tested
 against master, and merged to master). We can essentially set a date
 and do that any time, with some advance notice that direct commits
 will be reverted.
 
 Yes +1.
 
 -Set a date
 -Tag master for reference
 -Find a volunteer or two to RM master
 -automatic revert on master if not from RM
 -all commits to master come from PR, need clear review and green tests
 -harden master (basic QA process), release 4.6 as a tag on master
 -all features and fixes need to be made on branches or forks and onus
 is
 on devs to rebase to master
 -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
 4.4,
 etc)
 -from there forward only maintain a linear release through master
 
 Feel free to add, tweak
 
 PS: No need to vote if we have consensus. Taking a clue from ASF
 members,
 votes should be avoided at all cost, they mean that we do not have
 clear
 consensus.
 
 
 
 On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen 
 run...@gmail.com
 
 wrote:
 
 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.
 
 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.
 
 +1
 
 This just amounts to treating master now like a release branch.
 Getting
 back to PL suggestion, that means
 that any commit to master would be through a PR or MERGE request on
 the
 ML. Anything else will be reverted by the RM.
 
 Marcus, do you feel like writing down a little process for this and
 some dates that we can target.
 It would be nice to do this for 4.6.
 
 
 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland 
 

Re: [DISCUSS] 4.6 release management

2015-05-06 Thread Daan Hoogland
Will do tomorrow

On Wed, 6 May 2015 17:27 Rohit Yadav bhais...@apache.org wrote:

 Hi Daan,

 I've merged awsapi after it passed travisCI tests and packaging worked
 (Here's a test repo without awsapi package:
 http://packages.bhaisaab.org/cloudstack/nukeawsapi/).
 Please go ahead with merging 4.5 on master. Let me know you've time
 and bandwidth to do it otherwise I can help with that as well.

 Regards.

 On Wed, May 6, 2015 at 4:00 PM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
  Fcourse
 
 
  On Wed, 6 May 2015 15:02 Sebastien Goasguen run...@gmail.com wrote:
 
  Can you sync with Rohit, who is merging the noawsapi stuff as well..
 
   On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com
   wrote:
  
   I can have a look at the merge of 4.5.1 and am willing to be one of
 the
   RMs, not to be the RM!
  
   Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:
  
   So no -1 on this.
  
   Do we have volunteers to RM 4.6 on the master branch ?
  
   I propose to set a date asap, tag master and tell everyone that
   starting
   from that tag all commits to master except from RM will be reverted.
  
   will need to make sure that all of 4.5.1 is in master
  
   -sebastien
  
  
   On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com
   wrote:
  
   Let's not do more quality improvement proces but just improve
 quality.
   If
   anybody want to add to the pages on the wiki, you're welkom but
 nobody
   did
   for long time. +1 for the present state of Sebastien's views on
   things.
   We
   can refine at any time.
  
   Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
  
  
   On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
   wrote:
  
   Hi,
  
   In my mind it was kind of making more sense to start by keeping
 4.6
   into
   a
   separate branch, enforce pull-requests and deploy the CI. smaller
   step
   but
   faster result, and from there, once we get stable with the CI
  
   I hear you.
  
   But we have waited for way too long for better CI. I see great
   efforts
   in
   that direction.
   But I personally do not want to wait any longer to make a move.
  
   We do open source, we should have fun, take risks, move fast, fail
   fast,
   recover etc
  
   so let's JFDI
  
   and git flow;
   move into master, do fastest releases cycle. If we consider we can
   do
   all
   that starting in 4.6, I'm all for it!
  
  
   Is there really a difference between creating a 4.6 and doing what
   you
   say, and tagging master (start) and doing it on master leading to
 4.6
   release ?
  
   Assuming the QA does not improve, 4.6 would not be worse than 4.5.
 If
   we
   can improve a bit on the QA then we win.
   Plus I think a different commit model will help a lot in quality.
  
  
   Marcus: are you preparing a proposal on this? wiki page? I can
 help
  
  
   We can do this proposal on email..and once we have consensus write
 it
   up
   for archive in the wiki.
   If we move to the wiki now, this effort is going to die.
  
   Seb: doesn't the vote would confirm the consensus?
  
  
   if we have consensus no need for vote.
  
   Raja:  do we have any documentation somewhere on how to use,
   contribute
   to
   the smoke test? that could be our start for the CI tests?
  
  
   Cheers
  
  
   On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen
   run...@gmail.com
   wrote:
  
  
   On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com
 wrote:
  
   After reviewing the history as mentioned by Daan, unless we
   propose
   and vote on a newer workflow model I think the best we can do is
   to
   simply be more strict about commits to master. They all need to
 be
   merges that have been tested against master before merge. This
   will
   in
   theory make master more stable, but doesn't really change the
   workflow
   we've already agreed upon and have been working under (although
   bugfixes sometimes were not coming in from branches, and
   cherry-picked
   bugfixes from branches will need to go into a branch first,
 tested
   against master, and merged to master). We can essentially set a
   date
   and do that any time, with some advance notice that direct
 commits
   will be reverted.
  
   Yes +1.
  
   -Set a date
   -Tag master for reference
   -Find a volunteer or two to RM master
   -automatic revert on master if not from RM
   -all commits to master come from PR, need clear review and green
   tests
   -harden master (basic QA process), release 4.6 as a tag on master
   -all features and fixes need to be made on branches or forks and
   onus
   is
   on devs to rebase to master
   -brings everyone onto 4.6 (make sure we have upgrade paths from
   4.3,
   4.4,
   etc)
   -from there forward only maintain a linear release through master
  
   Feel free to add, tweak
  
   PS: No need to vote if we have consensus. Taking a clue from ASF
   members,
   votes should be avoided at all cost, they mean that we do not
 have
   

Re: [DISCUSS] 4.6 release management

2015-05-06 Thread Rohit Yadav
Hi Daan,

I've merged awsapi after it passed travisCI tests and packaging worked
(Here's a test repo without awsapi package:
http://packages.bhaisaab.org/cloudstack/nukeawsapi/).
Please go ahead with merging 4.5 on master. Let me know you've time
and bandwidth to do it otherwise I can help with that as well.

Regards.

On Wed, May 6, 2015 at 4:00 PM, Daan Hoogland daan.hoogl...@gmail.com wrote:
 Fcourse


 On Wed, 6 May 2015 15:02 Sebastien Goasguen run...@gmail.com wrote:

 Can you sync with Rohit, who is merging the noawsapi stuff as well..

  On May 6, 2015, at 10:59 AM, Daan Hoogland daan.hoogl...@gmail.com
  wrote:
 
  I can have a look at the merge of 4.5.1 and am willing to be one of the
  RMs, not to be the RM!
 
  Op wo 6 mei 2015 om 09:47 schreef sebgoa run...@gmail.com:
 
  So no -1 on this.
 
  Do we have volunteers to RM 4.6 on the master branch ?
 
  I propose to set a date asap, tag master and tell everyone that
  starting
  from that tag all commits to master except from RM will be reverted.
 
  will need to make sure that all of 4.5.1 is in master
 
  -sebastien
 
 
  On May 1, 2015, at 1:19 PM, Daan Hoogland daan.hoogl...@gmail.com
  wrote:
 
  Let's not do more quality improvement proces but just improve quality.
  If
  anybody want to add to the pages on the wiki, you're welkom but nobody
  did
  for long time. +1 for the present state of Sebastien's views on
  things.
  We
  can refine at any time.
 
  Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:
 
 
  On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org
  wrote:
 
  Hi,
 
  In my mind it was kind of making more sense to start by keeping 4.6
  into
  a
  separate branch, enforce pull-requests and deploy the CI. smaller
  step
  but
  faster result, and from there, once we get stable with the CI
 
  I hear you.
 
  But we have waited for way too long for better CI. I see great
  efforts
  in
  that direction.
  But I personally do not want to wait any longer to make a move.
 
  We do open source, we should have fun, take risks, move fast, fail
  fast,
  recover etc
 
  so let's JFDI
 
  and git flow;
  move into master, do fastest releases cycle. If we consider we can
  do
  all
  that starting in 4.6, I'm all for it!
 
 
  Is there really a difference between creating a 4.6 and doing what
  you
  say, and tagging master (start) and doing it on master leading to 4.6
  release ?
 
  Assuming the QA does not improve, 4.6 would not be worse than 4.5. If
  we
  can improve a bit on the QA then we win.
  Plus I think a different commit model will help a lot in quality.
 
 
  Marcus: are you preparing a proposal on this? wiki page? I can help
 
 
  We can do this proposal on email..and once we have consensus write it
  up
  for archive in the wiki.
  If we move to the wiki now, this effort is going to die.
 
  Seb: doesn't the vote would confirm the consensus?
 
 
  if we have consensus no need for vote.
 
  Raja:  do we have any documentation somewhere on how to use,
  contribute
  to
  the smoke test? that could be our start for the CI tests?
 
 
  Cheers
 
 
  On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen
  run...@gmail.com
  wrote:
 
 
  On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
  After reviewing the history as mentioned by Daan, unless we
  propose
  and vote on a newer workflow model I think the best we can do is
  to
  simply be more strict about commits to master. They all need to be
  merges that have been tested against master before merge. This
  will
  in
  theory make master more stable, but doesn't really change the
  workflow
  we've already agreed upon and have been working under (although
  bugfixes sometimes were not coming in from branches, and
  cherry-picked
  bugfixes from branches will need to go into a branch first, tested
  against master, and merged to master). We can essentially set a
  date
  and do that any time, with some advance notice that direct commits
  will be reverted.
 
  Yes +1.
 
  -Set a date
  -Tag master for reference
  -Find a volunteer or two to RM master
  -automatic revert on master if not from RM
  -all commits to master come from PR, need clear review and green
  tests
  -harden master (basic QA process), release 4.6 as a tag on master
  -all features and fixes need to be made on branches or forks and
  onus
  is
  on devs to rebase to master
  -brings everyone onto 4.6 (make sure we have upgrade paths from
  4.3,
  4.4,
  etc)
  -from there forward only maintain a linear release through master
 
  Feel free to add, tweak
 
  PS: No need to vote if we have consensus. Taking a clue from ASF
  members,
  votes should be avoided at all cost, they mean that we do not have
  clear
  consensus.
 
 
 
  On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen 
  run...@gmail.com
 
  wrote:
 
  On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
  Have they diverged that much? Due to cherry-picking, I guess.
  Otherwise you should be 

Re: [DISCUSS] 4.6 release management

2015-05-01 Thread Daan Hoogland
yes, you do :)

Op vr 1 mei 2015 om 05:00 schreef Abhinandan Prateek 
abhinandan.prat...@shapeblue.com:

 Guys,

   Do I see a QACloud in works, something in line with devcloud but with a
 bigger collection of Hypervisors + marvin ?
 If we can bundle these Hypervisors and QA automation then effectively we
 can have many more people join our QA effort.

  On 29-Apr-2015, at 9:24 pm, Rohit Yadav rohit.ya...@shapeblue.com
 wrote:
 
  Hi Remi,
 
  Thanks. Sure we can work together on this, I guess you would be running
 KVM/XenServer on KVM. Ping me if you need help on running ESX 5.x on KVM as
 it requires a patched qemu system binary (prebuilt debs here
 http://people.apache.org/~bhaisaab/qemu). If these nested hosts are
 managed by CloudStack itself instead of virsh or virt-viewer, then use ACS
 4.5 or master.
 
  On 29-Apr-2015, at 5:21 pm, Remi Bergsma rberg...@schubergphilis.com
 wrote:
 
  Hi Rohit,
 
  Nice work!
 
  I agree we need an environment that does run on something else than the
 local machine, as we need more horse power. We worked on something similar,
 where we have a cluster of KVM controlled by CloudStack in our Employee
 Cloud and spin large VMs running CentOS 7.1 (we use 32 or 64GB ram). In
 this big VM we run KVM again and spin up all infrastructure, ranging from
 hypervisors, SDN controllers, database hosts, storage appliances, etc. The
 big benefit is that networking is easy, as it is all in one box. Also,
 everybody uses the same prefixes. Using a L2 VPN we connect the
 workstations to the dev/test environment. All VMs can be controlled using
 virt-manager (like you also showed) and it is actually CloudStack running
 inside CloudStack. Deploying this VM has been automated and we’re now
 working on automating different scenario’s. They can also be used as
 Jenkins build slaves, for example. It is work in progress.
 
  Long story short: Let's work together on this :-)
 
  Regards,
  Remi
 
 
  On 28 Apr 2015, at 21:07, Rohit Yadav rohit.ya...@shapeblue.com
 wrote:
 
  Hi Ilya,
 
  In short - to run ESX and other hypervisors (Xen, KVM, OVM3, HyperV
 etc) on KVM you need to;
 
  - use patched qemu (tested to work on both Ubuntu 14.04 and 15.04 x64,
 I’m waiting for Fedora 22 to test it on F22 as well), you may install the
 pre-built debs or build/install qemu from source using the patch from here:
 people.apache.org/~bhaisaab/qemu
  - use ACS using latest 4.5 branch and deploy a basic zone (without SG)
 to provision hypervisor hosts as user vms
  - in agent.properties (on your kvm host), enable
 guest.cpu.features=vmx and guest.cpu.mode=host-passthrough
  - when deploying ESX 5.x on vm (or installing using an ISO) deploy
 virtualmachine with details nicAdapter=vmxnet3, for other hypervisors
 (including ESX 6.0) E1000, the default nic adapter, works
 
  IMO this is a better approach as it does not depend on ESX or VMWare
 fusion that requires special hardware (vCenter/Windows etc or OSX/Apple
 machine) and are difficult to automate. Working with KVM host, since is a
 Linux machine, would be more familiar to sysadmins and certainly a pleasure
 to scale and work with because one can avoid management tools (such as
 XenCenter or vCenter).
 
  (I’m still working on the CloudStack Developer Kit” {CDK} so it’s not
 in a state to be released yet, will avoid publishing a faulty tool now.
 Instead of the DevCloud approach which promotes everything on one machine,
 the CDK I’m trying to build focuses on developer productivity,
 reproducibility and scalability of a QA lab, it recommends at least one
 companion hardware with a developer’s workstation/laptop which can be a
 small-form-factor server like a mini PC or NUC with at least 16GB RAM and 4
 cores i7 with Intel VT. Hope to share it soon.)
 
  On 28-Apr-2015, at 7:17 pm, ilya ilya.mailing.li...@gmail.com
 wrote:
 
  Rohit
 
  Any headway on ESX 5.5? I've done this many times before using
 cloudstack and esx, but i was using esx as parent hypervisor.
 
  The challenge for me was being able to automatically deploy and
 configure the vSphere + ESXi env. I managed to get the whole flow working
 with bash script, puppet, VMA and while it works its not pretty. The
 challenge was the networking bit.
 
  Last but not least, consider using cloudstack to test cloudstack.
 i.e. master env, would use cloudstack projects and spinup smaller envs with
 KVM, Xen and VmWare bound to each project.
 
  Regards
  ilya
 
  On 4/24/15 7:53 AM, Rohit Yadav wrote:
  Daan,
 
  On 24-Apr-2015, at 3:53 pm, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 
  Rohit, the issues you mention are not as painful if we release in a
  two week schedule as the period of creating a fix to seeing it in a
  release will be shorter. Some releases will be broken for some
 people,
  I don't think we can prevent this. The target we are aiming for is
 to
  big to cover it completely.
  I agree with you, but I think there are pros and cons to both
 approaches and for this to work it needs 

Re: [DISCUSS] 4.6 release management

2015-05-01 Thread sebgoa

On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org wrote:

 Hi,
 
 In my mind it was kind of making more sense to start by keeping 4.6 into a
 separate branch, enforce pull-requests and deploy the CI. smaller step but
 faster result, and from there, once we get stable with the CI

I hear you.

But we have waited for way too long for better CI. I see great efforts in that 
direction.
But I personally do not want to wait any longer to make a move.

We do open source, we should have fun, take risks, move fast, fail fast, 
recover etc….

so let's JFDI

 and git flow;
 move into master, do fastest releases cycle. If we consider we can do all
 that starting in 4.6, I'm all for it!


Is there really a difference between creating a 4.6 and doing what you say, and 
tagging master (start) and doing it on master leading to 4.6 release ?

Assuming the QA does not improve, 4.6 would not be worse than 4.5. If we can 
improve a bit on the QA then we win.
Plus I think a different commit model will help a lot in quality.

 
 Marcus: are you preparing a proposal on this? wiki page? I can help
 

We can do this proposal on email..and once we have consensus write it up for 
archive in the wiki.
If we move to the wiki now, this effort is going to die.

 Seb: doesn't the vote would confirm the consensus?
 

if we have consensus no need for vote.

 Raja:  do we have any documentation somewhere on how to use, contribute to
 the smoke test? that could be our start for the CI tests?
 
 
 Cheers
 
 
 On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
 
 On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
 After reviewing the history as mentioned by Daan, unless we propose
 and vote on a newer workflow model I think the best we can do is to
 simply be more strict about commits to master. They all need to be
 merges that have been tested against master before merge. This will in
 theory make master more stable, but doesn't really change the workflow
 we've already agreed upon and have been working under (although
 bugfixes sometimes were not coming in from branches, and cherry-picked
 bugfixes from branches will need to go into a branch first, tested
 against master, and merged to master). We can essentially set a date
 and do that any time, with some advance notice that direct commits
 will be reverted.
 
 Yes +1.
 
 -Set a date
 -Tag master for reference
 -Find a volunteer or two to RM master
 -automatic revert on master if not from RM
 -all commits to master come from PR, need clear review and green tests
 -harden master (basic QA process), release 4.6 as a tag on master
 -all features and fixes need to be made on branches or forks and onus is
 on devs to rebase to master
 -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3, 4.4,
 etc)
 -from there forward only maintain a linear release through master
 
 Feel free to add, tweak
 
 PS: No need to vote if we have consensus. Taking a clue from ASF members,
 votes should be avoided at all cost, they mean that we do not have clear
 consensus.
 
 
 
 On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.
 
 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.
 
 +1
 
 This just amounts to treating master now like a release branch. Getting
 back to PL suggestion, that means
 that any commit to master would be through a PR or MERGE request on the
 ML. Anything else will be reverted by the RM.
 
 Marcus, do you feel like writing down a little process for this and
 some dates that we can target.
 It would be nice to do this for 4.6.
 
 
 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland 
 daan.hoogl...@gmail.com wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.
 
 mobile dev with bilingual spelling checker used (read at your own
 risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:
 
 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.
 
 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland 
 daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen 
 run...@gmail.com
 wrote:
 
 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 
 wrote:
 
 Today during the CloudStackdays  we did a round table about
 Release
 management targeting the next 4.6 releases.
 
 
 Quick bullet point discussions:
 
 ideas to change release planning
 
 - Plugin contribution is complicated because often  a new plugin
 involve
 change on the core:
   - ex: storage plugin involve changes on Hypervisor code
 - There is an idea of going on a 2 weeks release model which could
 

Re: [DISCUSS] 4.6 release management

2015-05-01 Thread Daan Hoogland
Let's not do more quality improvement proces but just improve quality. If
anybody want to add to the pages on the wiki, you're welkom but nobody did
for long time. +1 for the present state of Sebastien's views on things. We
can refine at any time.

Op vr 1 mei 2015 om 09:55 schreef sebgoa run...@gmail.com:


 On May 1, 2015, at 12:52 AM, Pierre-Luc Dion pdion...@apache.org wrote:

  Hi,
 
  In my mind it was kind of making more sense to start by keeping 4.6 into
 a
  separate branch, enforce pull-requests and deploy the CI. smaller step
 but
  faster result, and from there, once we get stable with the CI

 I hear you.

 But we have waited for way too long for better CI. I see great efforts in
 that direction.
 But I personally do not want to wait any longer to make a move.

 We do open source, we should have fun, take risks, move fast, fail fast,
 recover etc….

 so let's JFDI

  and git flow;
  move into master, do fastest releases cycle. If we consider we can do all
  that starting in 4.6, I'm all for it!


 Is there really a difference between creating a 4.6 and doing what you
 say, and tagging master (start) and doing it on master leading to 4.6
 release ?

 Assuming the QA does not improve, 4.6 would not be worse than 4.5. If we
 can improve a bit on the QA then we win.
 Plus I think a different commit model will help a lot in quality.

 
  Marcus: are you preparing a proposal on this? wiki page? I can help
 

 We can do this proposal on email..and once we have consensus write it up
 for archive in the wiki.
 If we move to the wiki now, this effort is going to die.

  Seb: doesn't the vote would confirm the consensus?
 

 if we have consensus no need for vote.

  Raja:  do we have any documentation somewhere on how to use, contribute
 to
  the smoke test? that could be our start for the CI tests?
 
 
  Cheers
 
 
  On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com
  wrote:
 
 
  On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
  After reviewing the history as mentioned by Daan, unless we propose
  and vote on a newer workflow model I think the best we can do is to
  simply be more strict about commits to master. They all need to be
  merges that have been tested against master before merge. This will in
  theory make master more stable, but doesn't really change the workflow
  we've already agreed upon and have been working under (although
  bugfixes sometimes were not coming in from branches, and cherry-picked
  bugfixes from branches will need to go into a branch first, tested
  against master, and merged to master). We can essentially set a date
  and do that any time, with some advance notice that direct commits
  will be reverted.
 
  Yes +1.
 
  -Set a date
  -Tag master for reference
  -Find a volunteer or two to RM master
  -automatic revert on master if not from RM
  -all commits to master come from PR, need clear review and green tests
  -harden master (basic QA process), release 4.6 as a tag on master
  -all features and fixes need to be made on branches or forks and onus is
  on devs to rebase to master
  -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3,
 4.4,
  etc)
  -from there forward only maintain a linear release through master
 
  Feel free to add, tweak
 
  PS: No need to vote if we have consensus. Taking a clue from ASF
 members,
  votes should be avoided at all cost, they mean that we do not have clear
  consensus.
 
 
 
  On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen run...@gmail.com
 
  wrote:
 
  On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
  Have they diverged that much? Due to cherry-picking, I guess.
  Otherwise you should be able to do it cleanly.
 
  There's a good opportunity to do this next release. Instead of
  creating a release branch, we freeze master and start creating dev
  branches.
 
  +1
 
  This just amounts to treating master now like a release branch.
 Getting
  back to PL suggestion, that means
  that any commit to master would be through a PR or MERGE request on
 the
  ML. Anything else will be reverted by the RM.
 
  Marcus, do you feel like writing down a little process for this and
  some dates that we can target.
  It would be nice to do this for 4.6.
 
 
  On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland 
  daan.hoogl...@gmail.com wrote:
  We heavily invested in code now on master. Not looking forward to
  backporting that.
 
  mobile dev with bilingual spelling checker used (read at your own
  risk)
  Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:
 
  Well, would we just swap the last release branch with master?
 Master
  is the dev branch, and the last release is really what we have as a
  stable branch.
 
  On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland 
  daan.hoogl...@gmail.com
  wrote:
  On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen 
  run...@gmail.com
  wrote:
 
  On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion 
 pd...@cloudops.com
 
  wrote:
 
  

Re: [DISCUSS] 4.6 release management

2015-04-30 Thread Sebastien Goasguen

 On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
 After reviewing the history as mentioned by Daan, unless we propose
 and vote on a newer workflow model I think the best we can do is to
 simply be more strict about commits to master. They all need to be
 merges that have been tested against master before merge. This will in
 theory make master more stable, but doesn't really change the workflow
 we've already agreed upon and have been working under (although
 bugfixes sometimes were not coming in from branches, and cherry-picked
 bugfixes from branches will need to go into a branch first, tested
 against master, and merged to master). We can essentially set a date
 and do that any time, with some advance notice that direct commits
 will be reverted.

Yes +1.

-Set a date
-Tag master for reference
-Find a volunteer or two to RM master
-automatic revert on master if not from RM
-all commits to master come from PR, need clear review and green tests
-harden master (basic QA process), release 4.6 as a tag on master
-all features and fixes need to be made on branches or forks and onus is on 
devs to rebase to master
-brings everyone onto 4.6 (make sure we have upgrade paths from 4.3, 4.4, etc)
-from there forward only maintain a linear release through master

Feel free to add, tweak

PS: No need to vote if we have consensus. Taking a clue from ASF members, votes 
should be avoided at all cost, they mean that we do not have clear consensus.


 
 On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen run...@gmail.com wrote:
 
 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.
 
 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.
 
 +1
 
 This just amounts to treating master now like a release branch. Getting back 
 to PL suggestion, that means
 that any commit to master would be through a PR or MERGE request on the ML. 
 Anything else will be reverted by the RM.
 
 Marcus, do you feel like writing down a little process for this and some 
 dates that we can target.
 It would be nice to do this for 4.6.
 
 
 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.
 
 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:
 
 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.
 
 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 wrote:
 
 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.
 
 
 Quick bullet point discussions:
 
 ideas to change release planning
 
 - Plugin contribution is complicated because often  a new plugin
 involve
 change on the core:
- ex: storage plugin involve changes on Hypervisor code
 - There is an idea of going on a 2 weeks release model which could
 introduce issue the database schema.
 - Database schema version should be different then the application
 version.
 - There is a will to enforce git workflow in 4.6  and trigger
 simulator
 job on  PullRequest.
 - Some people (I'm part of them) are concerned on our current way of
 supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
 4.5.x). But the current level of confidence against latest release
 is low,
 so that need to be improved.
 
 
 So, the main messages is that w'd like to improve the release
 velocity, and
 release branch stability.  so we would like to propose few change in
 the
 way we would add code to the 4.6 branch as follow:
 
 - All new contribution to 4.6 would be thru Pull Request or merge
 request,
 which would trigger a simulator job, ideally only if that pass the PR
 would
 be accepted and automatically merged.  At this time, I think we pretty
 much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.
 
 +1
 
 We do need to realize what this means and be all fine with it.
 
 It means that if someone who is not RM directly commits to the release
 branch, the commit will be reverted.
 And that from the beginning of the branching…
 I agree and we can even go as far as reverting fixes that are
 cherry-picked in favour of merged forward.
 
 
 IMHO, I think this would be a good step but I don’t think it goes far
 enough.
 Agreed here as well but let's take the step while discussing further
 steps and not implement to much process as well
 
 
 This still uses a paradigm where a release 

Re: [DISCUSS] 4.6 release management

2015-04-30 Thread David Nalley
On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com wrote:

 On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:

 After reviewing the history as mentioned by Daan, unless we propose
 and vote on a newer workflow model I think the best we can do is to
 simply be more strict about commits to master. They all need to be
 merges that have been tested against master before merge. This will in
 theory make master more stable, but doesn't really change the workflow
 we've already agreed upon and have been working under (although
 bugfixes sometimes were not coming in from branches, and cherry-picked
 bugfixes from branches will need to go into a branch first, tested
 against master, and merged to master). We can essentially set a date
 and do that any time, with some advance notice that direct commits
 will be reverted.

 Yes +1.

 -Set a date
 -Tag master for reference
 -Find a volunteer or two to RM master
 -automatic revert on master if not from RM
 -all commits to master come from PR, need clear review and green tests
 -harden master (basic QA process), release 4.6 as a tag on master
 -all features and fixes need to be made on branches or forks and onus is on 
 devs to rebase to master
 -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3, 4.4, etc)
 -from there forward only maintain a linear release through master

 Feel free to add, tweak


I'm +0 on the above - what would push me to +1 would be stripping the
RM as gatekeeper and letting CI be the gatekeeper (e.g. - all commits
go in via PR that tests successfully.) I don't think that an RM is
capable of understanding all of the pieces enough to judge any given
patch, especially a more complicated patch, and its a SPOF - it's also
incredibly difficult for a single person to keep up with all of the
pending patches.
I'd also be okay with must be reviewed by another committer so that
two committers have to agree.
Now, that said, if velocity is high, it will make kicking a release
out somewhat difficult as the amount of churn is going to be high.


 PS: No need to vote if we have consensus. Taking a clue from ASF members, 
 votes should be avoided at all cost, they mean that we do not have clear 
 consensus.



YES - this!!


Re: [DISCUSS] 4.6 release management

2015-04-30 Thread Abhinandan Prateek
Guys,

  Do I see a QACloud in works, something in line with devcloud but with a 
bigger collection of Hypervisors + marvin ?
If we can bundle these Hypervisors and QA automation then effectively we can 
have many more people join our QA effort.

 On 29-Apr-2015, at 9:24 pm, Rohit Yadav rohit.ya...@shapeblue.com wrote:

 Hi Remi,

 Thanks. Sure we can work together on this, I guess you would be running 
 KVM/XenServer on KVM. Ping me if you need help on running ESX 5.x on KVM as 
 it requires a patched qemu system binary (prebuilt debs here 
 http://people.apache.org/~bhaisaab/qemu). If these nested hosts are managed 
 by CloudStack itself instead of virsh or virt-viewer, then use ACS 4.5 or 
 master.

 On 29-Apr-2015, at 5:21 pm, Remi Bergsma rberg...@schubergphilis.com wrote:

 Hi Rohit,

 Nice work!

 I agree we need an environment that does run on something else than the 
 local machine, as we need more horse power. We worked on something similar, 
 where we have a cluster of KVM controlled by CloudStack in our Employee 
 Cloud and spin large VMs running CentOS 7.1 (we use 32 or 64GB ram). In this 
 big VM we run KVM again and spin up all infrastructure, ranging from 
 hypervisors, SDN controllers, database hosts, storage appliances, etc. The 
 big benefit is that networking is easy, as it is all in one box. Also, 
 everybody uses the same prefixes. Using a L2 VPN we connect the workstations 
 to the dev/test environment. All VMs can be controlled using virt-manager 
 (like you also showed) and it is actually CloudStack running inside 
 CloudStack. Deploying this VM has been automated and we’re now working on 
 automating different scenario’s. They can also be used as Jenkins build 
 slaves, for example. It is work in progress.

 Long story short: Let's work together on this :-)

 Regards,
 Remi


 On 28 Apr 2015, at 21:07, Rohit Yadav rohit.ya...@shapeblue.com wrote:

 Hi Ilya,

 In short - to run ESX and other hypervisors (Xen, KVM, OVM3, HyperV etc) on 
 KVM you need to;

 - use patched qemu (tested to work on both Ubuntu 14.04 and 15.04 x64, I’m 
 waiting for Fedora 22 to test it on F22 as well), you may install the 
 pre-built debs or build/install qemu from source using the patch from here: 
 people.apache.org/~bhaisaab/qemu
 - use ACS using latest 4.5 branch and deploy a basic zone (without SG) to 
 provision hypervisor hosts as user vms
 - in agent.properties (on your kvm host), enable guest.cpu.features=vmx and 
 guest.cpu.mode=host-passthrough
 - when deploying ESX 5.x on vm (or installing using an ISO) deploy 
 virtualmachine with details nicAdapter=vmxnet3, for other hypervisors 
 (including ESX 6.0) E1000, the default nic adapter, works

 IMO this is a better approach as it does not depend on ESX or VMWare fusion 
 that requires special hardware (vCenter/Windows etc or OSX/Apple machine) 
 and are difficult to automate. Working with KVM host, since is a Linux 
 machine, would be more familiar to sysadmins and certainly a pleasure to 
 scale and work with because one can avoid management tools (such as 
 XenCenter or vCenter).

 (I’m still working on the CloudStack Developer Kit” {CDK} so it’s not in a 
 state to be released yet, will avoid publishing a faulty tool now. Instead 
 of the DevCloud approach which promotes everything on one machine, the CDK 
 I’m trying to build focuses on developer productivity, reproducibility and 
 scalability of a QA lab, it recommends at least one companion hardware with 
 a developer’s workstation/laptop which can be a small-form-factor server 
 like a mini PC or NUC with at least 16GB RAM and 4 cores i7 with Intel VT. 
 Hope to share it soon.)

 On 28-Apr-2015, at 7:17 pm, ilya ilya.mailing.li...@gmail.com wrote:

 Rohit

 Any headway on ESX 5.5? I've done this many times before using cloudstack 
 and esx, but i was using esx as parent hypervisor.

 The challenge for me was being able to automatically deploy and configure 
 the vSphere + ESXi env. I managed to get the whole flow working with bash 
 script, puppet, VMA and while it works its not pretty. The challenge was 
 the networking bit.

 Last but not least, consider using cloudstack to test cloudstack. i.e. 
 master env, would use cloudstack projects and spinup smaller envs with 
 KVM, Xen and VmWare bound to each project.

 Regards
 ilya

 On 4/24/15 7:53 AM, Rohit Yadav wrote:
 Daan,

 On 24-Apr-2015, at 3:53 pm, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:

 Rohit, the issues you mention are not as painful if we release in a
 two week schedule as the period of creating a fix to seeing it in a
 release will be shorter. Some releases will be broken for some people,
 I don't think we can prevent this. The target we are aiming for is to
 big to cover it completely.
 I agree with you, but I think there are pros and cons to both approaches 
 and for this to work it needs to be able to walk first before it can run.

 For this to work we need an automated QA system, to solve this Abhi is 
 working on 

Re: [DISCUSS] 4.6 release management

2015-04-30 Thread Pierre-Luc Dion
Hi,

In my mind it was kind of making more sense to start by keeping 4.6 into a
separate branch, enforce pull-requests and deploy the CI. smaller step but
faster result, and from there, once we get stable with the CI and git flow;
move into master, do fastest releases cycle. If we consider we can do all
that starting in 4.6, I'm all for it!

Marcus: are you preparing a proposal on this? wiki page? I can help

Seb: doesn't the vote would confirm the consensus?

Raja:  do we have any documentation somewhere on how to use, contribute to
the smoke test? that could be our start for the CI tests?


Cheers


On Thu, Apr 30, 2015 at 3:58 AM, Sebastien Goasguen run...@gmail.com
wrote:


  On Apr 29, 2015, at 9:49 PM, Marcus shadow...@gmail.com wrote:
 
  After reviewing the history as mentioned by Daan, unless we propose
  and vote on a newer workflow model I think the best we can do is to
  simply be more strict about commits to master. They all need to be
  merges that have been tested against master before merge. This will in
  theory make master more stable, but doesn't really change the workflow
  we've already agreed upon and have been working under (although
  bugfixes sometimes were not coming in from branches, and cherry-picked
  bugfixes from branches will need to go into a branch first, tested
  against master, and merged to master). We can essentially set a date
  and do that any time, with some advance notice that direct commits
  will be reverted.

 Yes +1.

 -Set a date
 -Tag master for reference
 -Find a volunteer or two to RM master
 -automatic revert on master if not from RM
 -all commits to master come from PR, need clear review and green tests
 -harden master (basic QA process), release 4.6 as a tag on master
 -all features and fixes need to be made on branches or forks and onus is
 on devs to rebase to master
 -brings everyone onto 4.6 (make sure we have upgrade paths from 4.3, 4.4,
 etc)
 -from there forward only maintain a linear release through master

 Feel free to add, tweak

 PS: No need to vote if we have consensus. Taking a clue from ASF members,
 votes should be avoided at all cost, they mean that we do not have clear
 consensus.


 
  On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
  On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
  Have they diverged that much? Due to cherry-picking, I guess.
  Otherwise you should be able to do it cleanly.
 
  There's a good opportunity to do this next release. Instead of
  creating a release branch, we freeze master and start creating dev
  branches.
 
  +1
 
  This just amounts to treating master now like a release branch. Getting
 back to PL suggestion, that means
  that any commit to master would be through a PR or MERGE request on the
 ML. Anything else will be reverted by the RM.
 
  Marcus, do you feel like writing down a little process for this and
 some dates that we can target.
  It would be nice to do this for 4.6.
 
 
  On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland 
 daan.hoogl...@gmail.com wrote:
  We heavily invested in code now on master. Not looking forward to
  backporting that.
 
  mobile dev with bilingual spelling checker used (read at your own
 risk)
  Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:
 
  Well, would we just swap the last release branch with master? Master
  is the dev branch, and the last release is really what we have as a
  stable branch.
 
  On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland 
 daan.hoogl...@gmail.com
  wrote:
  On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen 
 run...@gmail.com
  wrote:
 
  On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 
  wrote:
 
  Today during the CloudStackdays  we did a round table about
 Release
  management targeting the next 4.6 releases.
 
 
  Quick bullet point discussions:
 
  ideas to change release planning
 
  - Plugin contribution is complicated because often  a new plugin
  involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger
  simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way
 of
  supporting and back porting fixes to multiple release (4.3.x,
 4.4.x,
  4.5.x). But the current level of confidence against latest release
  is low,
  so that need to be improved.
 
 
  So, the main messages is that w'd like to improve the release
  velocity, and
  release branch stability.  so we would like to propose few change
 in
  the
  way we would add code to the 4.6 branch as follow:
 
  - All new contribution to 4.6 would be thru Pull Request or merge
  request,
  which would trigger a simulator job, ideally only if that pass
 the PR
  would
  be accepted and 

Re: [DISCUSS] 4.6 release management

2015-04-29 Thread Rohit Yadav
Hi Remi,

Thanks. Sure we can work together on this, I guess you would be running 
KVM/XenServer on KVM. Ping me if you need help on running ESX 5.x on KVM as it 
requires a patched qemu system binary (prebuilt debs here 
http://people.apache.org/~bhaisaab/qemu). If these nested hosts are managed by 
CloudStack itself instead of virsh or virt-viewer, then use ACS 4.5 or master.

 On 29-Apr-2015, at 5:21 pm, Remi Bergsma rberg...@schubergphilis.com wrote:

 Hi Rohit,

 Nice work!

 I agree we need an environment that does run on something else than the local 
 machine, as we need more horse power. We worked on something similar, where 
 we have a cluster of KVM controlled by CloudStack in our Employee Cloud and 
 spin large VMs running CentOS 7.1 (we use 32 or 64GB ram). In this big VM we 
 run KVM again and spin up all infrastructure, ranging from hypervisors, SDN 
 controllers, database hosts, storage appliances, etc. The big benefit is that 
 networking is easy, as it is all in one box. Also, everybody uses the same 
 prefixes. Using a L2 VPN we connect the workstations to the dev/test 
 environment. All VMs can be controlled using virt-manager (like you also 
 showed) and it is actually CloudStack running inside CloudStack. Deploying 
 this VM has been automated and we’re now working on automating different 
 scenario’s. They can also be used as Jenkins build slaves, for example. It is 
 work in progress.

 Long story short: Let's work together on this :-)

 Regards,
 Remi


 On 28 Apr 2015, at 21:07, Rohit Yadav rohit.ya...@shapeblue.com wrote:

 Hi Ilya,

 In short - to run ESX and other hypervisors (Xen, KVM, OVM3, HyperV etc) on 
 KVM you need to;

 - use patched qemu (tested to work on both Ubuntu 14.04 and 15.04 x64, I’m 
 waiting for Fedora 22 to test it on F22 as well), you may install the 
 pre-built debs or build/install qemu from source using the patch from here: 
 people.apache.org/~bhaisaab/qemu
 - use ACS using latest 4.5 branch and deploy a basic zone (without SG) to 
 provision hypervisor hosts as user vms
 - in agent.properties (on your kvm host), enable guest.cpu.features=vmx and 
 guest.cpu.mode=host-passthrough
 - when deploying ESX 5.x on vm (or installing using an ISO) deploy 
 virtualmachine with details nicAdapter=vmxnet3, for other hypervisors 
 (including ESX 6.0) E1000, the default nic adapter, works

 IMO this is a better approach as it does not depend on ESX or VMWare fusion 
 that requires special hardware (vCenter/Windows etc or OSX/Apple machine) 
 and are difficult to automate. Working with KVM host, since is a Linux 
 machine, would be more familiar to sysadmins and certainly a pleasure to 
 scale and work with because one can avoid management tools (such as 
 XenCenter or vCenter).

 (I’m still working on the CloudStack Developer Kit” {CDK} so it’s not in a 
 state to be released yet, will avoid publishing a faulty tool now. Instead 
 of the DevCloud approach which promotes everything on one machine, the CDK 
 I’m trying to build focuses on developer productivity, reproducibility and 
 scalability of a QA lab, it recommends at least one companion hardware with 
 a developer’s workstation/laptop which can be a small-form-factor server 
 like a mini PC or NUC with at least 16GB RAM and 4 cores i7 with Intel VT. 
 Hope to share it soon.)

 On 28-Apr-2015, at 7:17 pm, ilya ilya.mailing.li...@gmail.com wrote:

 Rohit

 Any headway on ESX 5.5? I've done this many times before using cloudstack 
 and esx, but i was using esx as parent hypervisor.

 The challenge for me was being able to automatically deploy and configure 
 the vSphere + ESXi env. I managed to get the whole flow working with bash 
 script, puppet, VMA and while it works its not pretty. The challenge was 
 the networking bit.

 Last but not least, consider using cloudstack to test cloudstack. i.e. 
 master env, would use cloudstack projects and spinup smaller envs with KVM, 
 Xen and VmWare bound to each project.

 Regards
 ilya

 On 4/24/15 7:53 AM, Rohit Yadav wrote:
 Daan,

 On 24-Apr-2015, at 3:53 pm, Daan Hoogland daan.hoogl...@gmail.com wrote:

 Rohit, the issues you mention are not as painful if we release in a
 two week schedule as the period of creating a fix to seeing it in a
 release will be shorter. Some releases will be broken for some people,
 I don't think we can prevent this. The target we are aiming for is to
 big to cover it completely.
 I agree with you, but I think there are pros and cons to both approaches 
 and for this to work it needs to be able to walk first before it can run.

 For this to work we need an automated QA system, to solve this Abhi is 
 working on it for past few weeks and will be adding more non-hardware 
 tests (simulator ones) to travis. In my free time, I’m trying to setup a 
 nested virtualized environment where we can test ACS against Xen, KVM and 
 VMware on top on KVM. So far, I’m able to run XenServer 6.2+6.5 and KVM on 
 top of KVM with vmx (intel-vt) enabled, 

Re: [DISCUSS] 4.6 release management

2015-04-29 Thread Marcus
After reviewing the history as mentioned by Daan, unless we propose
and vote on a newer workflow model I think the best we can do is to
simply be more strict about commits to master. They all need to be
merges that have been tested against master before merge. This will in
theory make master more stable, but doesn't really change the workflow
we've already agreed upon and have been working under (although
bugfixes sometimes were not coming in from branches, and cherry-picked
bugfixes from branches will need to go into a branch first, tested
against master, and merged to master). We can essentially set a date
and do that any time, with some advance notice that direct commits
will be reverted.

On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen run...@gmail.com wrote:

 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:

 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.

 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.

 +1

 This just amounts to treating master now like a release branch. Getting back 
 to PL suggestion, that means
 that any commit to master would be through a PR or MERGE request on the ML. 
 Anything else will be reverted by the RM.

 Marcus, do you feel like writing down a little process for this and some 
 dates that we can target.
 It would be nice to do this for 4.6.


 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:

 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.

 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com
 wrote:

 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

  - Plugin contribution is complicated because often  a new plugin
 involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger
 simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way of
  supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
  4.5.x). But the current level of confidence against latest release
 is low,
  so that need to be improved.


 So, the main messages is that w'd like to improve the release
 velocity, and
 release branch stability.  so we would like to propose few change in
 the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge
 request,
 which would trigger a simulator job, ideally only if that pass the PR
 would
 be accepted and automatically merged.  At this time, I think we pretty
 much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 +1

 We do need to realize what this means and be all fine with it.

 It means that if someone who is not RM directly commits to the release
 branch, the commit will be reverted.
 And that from the beginning of the branching…
 I agree and we can even go as far as reverting fixes that are
 cherry-picked in favour of merged forward.


 IMHO, I think this would be a good step but I don’t think it goes far
 enough.
 Agreed here as well but let's take the step while discussing further
 steps and not implement to much process as well


 This still uses a paradigm where a release is made from a release
 branch that was started from an unstable development branch.
 Hence you still need *extensive* QA.
 The problem here is that there is no stable point to fork from at the
 moment. We will get there and we shouldn't stop taking steps in that
 direction.


 If we truly want to release faster, we need to release from the same
 QA’d branch time after time….a release needs to be based on a previous
 release

 Basically, we need a rolling release cycle. That will have the added
 benefit to not leave releases behind and have to focus on backporting.


 Please comments :-)




 --
 Daan




Re: [DISCUSS] 4.6 release management

2015-04-29 Thread Remi Bergsma
Hi Rohit,

Nice work!

I agree we need an environment that does run on something else than the local 
machine, as we need more horse power. We worked on something similar, where we 
have a cluster of KVM controlled by CloudStack in our Employee Cloud and spin 
large VMs running CentOS 7.1 (we use 32 or 64GB ram). In this big VM we run KVM 
again and spin up all infrastructure, ranging from hypervisors, SDN 
controllers, database hosts, storage appliances, etc. The big benefit is that 
networking is easy, as it is all in one box. Also, everybody uses the same 
prefixes. Using a L2 VPN we connect the workstations to the dev/test 
environment. All VMs can be controlled using virt-manager (like you also 
showed) and it is actually CloudStack running inside CloudStack. Deploying this 
VM has been automated and we’re now working on automating different scenario’s. 
They can also be used as Jenkins build slaves, for example. It is work in 
progress.

Long story short: Let's work together on this :-)

Regards,
Remi


 On 28 Apr 2015, at 21:07, Rohit Yadav rohit.ya...@shapeblue.com wrote:
 
 Hi Ilya,
 
 In short - to run ESX and other hypervisors (Xen, KVM, OVM3, HyperV etc) on 
 KVM you need to;
 
 - use patched qemu (tested to work on both Ubuntu 14.04 and 15.04 x64, I’m 
 waiting for Fedora 22 to test it on F22 as well), you may install the 
 pre-built debs or build/install qemu from source using the patch from here: 
 people.apache.org/~bhaisaab/qemu
 - use ACS using latest 4.5 branch and deploy a basic zone (without SG) to 
 provision hypervisor hosts as user vms
 - in agent.properties (on your kvm host), enable guest.cpu.features=vmx and 
 guest.cpu.mode=host-passthrough
 - when deploying ESX 5.x on vm (or installing using an ISO) deploy 
 virtualmachine with details nicAdapter=vmxnet3, for other hypervisors 
 (including ESX 6.0) E1000, the default nic adapter, works
 
 IMO this is a better approach as it does not depend on ESX or VMWare fusion 
 that requires special hardware (vCenter/Windows etc or OSX/Apple machine) and 
 are difficult to automate. Working with KVM host, since is a Linux machine, 
 would be more familiar to sysadmins and certainly a pleasure to scale and 
 work with because one can avoid management tools (such as XenCenter or 
 vCenter).
 
 (I’m still working on the CloudStack Developer Kit” {CDK} so it’s not in a 
 state to be released yet, will avoid publishing a faulty tool now. Instead of 
 the DevCloud approach which promotes everything on one machine, the CDK I’m 
 trying to build focuses on developer productivity, reproducibility and 
 scalability of a QA lab, it recommends at least one companion hardware with a 
 developer’s workstation/laptop which can be a small-form-factor server like a 
 mini PC or NUC with at least 16GB RAM and 4 cores i7 with Intel VT. Hope to 
 share it soon.)
 
 On 28-Apr-2015, at 7:17 pm, ilya ilya.mailing.li...@gmail.com wrote:
 
 Rohit
 
 Any headway on ESX 5.5? I've done this many times before using cloudstack 
 and esx, but i was using esx as parent hypervisor.
 
 The challenge for me was being able to automatically deploy and configure 
 the vSphere + ESXi env. I managed to get the whole flow working with bash 
 script, puppet, VMA and while it works its not pretty. The challenge was the 
 networking bit.
 
 Last but not least, consider using cloudstack to test cloudstack. i.e. 
 master env, would use cloudstack projects and spinup smaller envs with KVM, 
 Xen and VmWare bound to each project.
 
 Regards
 ilya
 
 On 4/24/15 7:53 AM, Rohit Yadav wrote:
 Daan,
 
 On 24-Apr-2015, at 3:53 pm, Daan Hoogland daan.hoogl...@gmail.com wrote:
 
 Rohit, the issues you mention are not as painful if we release in a
 two week schedule as the period of creating a fix to seeing it in a
 release will be shorter. Some releases will be broken for some people,
 I don't think we can prevent this. The target we are aiming for is to
 big to cover it completely.
 I agree with you, but I think there are pros and cons to both approaches 
 and for this to work it needs to be able to walk first before it can run.
 
 For this to work we need an automated QA system, to solve this Abhi is 
 working on it for past few weeks and will be adding more non-hardware tests 
 (simulator ones) to travis. In my free time, I’m trying to setup a nested 
 virtualized environment where we can test ACS against Xen, KVM and VMware 
 on top on KVM. So far, I’m able to run XenServer 6.2+6.5 and KVM on top of 
 KVM with vmx (intel-vt) enabled, and making some progress with running ESX 
 on KVM (I’m able to run ESX 6.0 on KVM now, but not ESX 5.x which is 
 something I’m exploring). I hope we'll have something working soon that is 
 fairly fast and easy to reproduce.
 
 Your points are valid, though.
 .1 a three person release team makes sense. I have been really happy
 with the help I got from Pierre-Luc and I think David can do with help
 the coming time as well.
 .2 Hopefully people won't need to 

Re: [DISCUSS] 4.6 release management

2015-04-28 Thread sebgoa

On Apr 22, 2015, at 12:24 PM, Raja Pullela raja.pull...@citrix.com wrote:

 Sebastien, I am taking about the tests we have under test/integration/smoke 
 folder.  
 Not sure how the tests run through Travis, will try to understand.
 These are tests were run on a local cloudstack env.  
 

Just catching up and making sure I reply to Raja here.

Travis (https://travis-ci.org) runs those tests, by building cloudstack and 
running the simulator.
All the travis setup is defined in the travis.yml file in the root of the repo.
This setup can probably be improved.

Do note that if you fork on your own github, pushes to your own branch will run 
through Travis as well.


 best,
 Raja
 -Original Message-
 From: Sebastien Goasguen [mailto:run...@gmail.com] 
 Sent: Friday, April 17, 2015 1:14 PM
 To: dev@cloudstack.apache.org
 Subject: Re: [DISCUSS] 4.6 release management
 
 
 On Apr 17, 2015, at 6:26 AM, Raja Pullela raja.pull...@citrix.com wrote:
 
 +1 for the Some people (I'm part of them) are concerned on our current way 
 of supporting and back porting fixes to multiple release
 This should be a top priority along with keeping master stable - make sure 
 BVTs are passing at 100% all the time.
 
 Raja, which BVT are you talking about ? AFAIK, all current tests run on all 
 commits through Travis.
 
 Also if we can plan/target increasing test/BVT coverage, that will be super!
 
 Thanks,
 Raja
 -Original Message-
 From: Marcus [mailto:shadow...@gmail.com]
 Sent: Friday, April 17, 2015 4:35 AM
 To: dev@cloudstack.apache.org
 Subject: Re: [DISCUSS] 4.6 release management
 
 storage plugin involve changes on Hypervisor code
 
 I know this is just an example, but at least on KVM side this is no longer 
 true. Previously you had to implement a KVM-specific 'StorageAdaptor' that 
 would run on the hypervisor, and register that with the agent code, but Mike 
 and I added some reflection/annotation that allows for auto-detection of the 
 adaptor upon Agent start up, so storage plugins can be completely 
 self-contained now. They don't even have to be a part of our code base.
 
 There may be other parts of the code where we can do similar things to 
 decouple if we can identify those points.  Ideally, if someone has to modify 
 core code to add their plugin it should only be because they are adding some 
 new functionality *that core cloudstack needs to be aware of*, and that 
 functionality should be added in a way that other plugins can also 
 provide/implement it. Otherwise, they can always add new APIs specific to 
 their appliance or product and leveraging data from cloudstack's db, all via 
 plugin. They can add new global/zone/cluster configs and UI tools via plugin 
 as well.
 
 On Thu, Apr 16, 2015 at 3:49 PM, Pierre-Luc Dion pd...@cloudops.com wrote:
 Today during the CloudStackdays  we did a round table about Release 
 management targeting the next 4.6 releases.
 
 
 Quick bullet point discussions:
 
 ideas to change release planning
 
  - Plugin contribution is complicated because often  a new plugin involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way of
  supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
  4.5.x). But the current level of confidence against latest release is low,
  so that need to be improved.
 
 
 So, the main messages is that w'd like to improve the release 
 velocity, and release branch stability.  so we would like to propose 
 few change in the way we would add code to the 4.6 branch as follow:
 
 - All new contribution to 4.6 would be thru Pull Request or merge 
 request, which would trigger a simulator job, ideally only if that 
 pass the PR would be accepted and automatically merged.  At this 
 time, I think we pretty much have everything in place to do that. At 
 a first step we would use
 simulator+marvin jobs then improve tests coverage from there.
 
 Please comments :-)
 



Re: [DISCUSS] 4.6 release management

2015-04-28 Thread sebgoa

On Apr 20, 2015, at 4:12 PM, S. Brüseke - proIO GmbH s.brues...@proio.com 
wrote:

 Hi all,
 
 it is really hard for a newbie to follow all of your thought regarding this. 
 Can somebody please explain it a little bit more?
 Thank you very much!
 

Hi Swen,

I will try.

Currently we develop cloudstack in the master branch, and create a 'release' 
branch for major releases.
Hence we have a 4.3 branch, a 4.4 branch etc….

We are currently on 4.5 , which means that what is master now will become our 
4.5 release.

The issue comes when stabilizing a release branch.

A traditional approach would hand off the release branch to a QA team and let 
the QA team harden that branch over several months. This tends to make each 
release a somewhat different product of each other.  It also creates a 
maintenance headache, as we have to abandon branches. We do not want anyone to 
feel abandoned on some dead branches, thus we maintain upgrade paths that can 
become complex, with fixes and features that can't be merged in various 
branches and regressions. Bottom line:

headache, heartache, nightmares, no fun.

This is not something specific to cloudstack and other projects face similar 
issues.

I am of the opinion that for our community this is not a workable model, as we 
do not have a dedicated QA team. Even though some of us are paid to work on 
CloudStack.

So we are talking about finding a better release management model, that would 
allow us to release faster and more stable software (not to say that it is 
unstable right now, just that things can be improved).

One model among many, would be to treat master as our release branch and merge 
features/fixes into master once we know they are valid and do not break 
anything. This would increase our trust in master as production software and 
put us on a path of continuous deployment with an iterative/rolling upgrade 
mindset.

Since all committers have write access to master, treating master as a release 
branch (for example), involves all of us reaching consensus and agreeing that a 
release manager will be the only one allowed to touch that branch (for 
instance). This also involves being able to release much faster (which we have 
to do official through manual votes for legal purposes), reducing scope of each 
release etc….

I hope that clarifies things a bit,

-Sebastien

 Mit freundlichen Grüßen / With kind regards,
 
 Swen Brüseke
 
 -Ursprüngliche Nachricht-
 Von: Simon Weller [mailto:swel...@ena.com] 
 Gesendet: Montag, 20. April 2015 15:24
 An: dev@cloudstack.apache.org
 Betreff: Re: [DISCUSS] 4.6 release management
 
 
 From: Sebastien Goasguen run...@gmail.com
 Sent: Saturday, April 18, 2015 2:50 AM
 To: dev@cloudstack.apache.org
 Subject: Re: [DISCUSS] 4.6 release management
 
 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.
 
 There's a good opportunity to do this next release. Instead of 
 creating a release branch, we freeze master and start creating dev 
 branches.
 
 +1
 
 This just amounts to treating master now like a release branch. Getting 
 back to PL suggestion, that means that any commit to master would be through 
 a PR or MERGE request on the ML. Anything else will be reverted by the RM.
 
 +1 on this.
 
 Ultimately this will be painful to start with, but it will pay dividends in 
 the future with a much more stable (and tested) master, and hence future 
 releases will be of higher quality. 
 With stable (and frequent iterative) releases, there will be much less 
 pressure to back port fixes/features, because the community will see taking a 
 new release as low risk.
 
 - Si
 
 Marcus, do you feel like writing down a little process for this and some 
 dates that we can target.
 It would be nice to do this for 4.6.
 
 
 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:
 We heavily invested in code now on master. Not looking forward to 
 backporting that.
 
 mobile dev with bilingual spelling checker used (read at your own 
 risk) Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:
 
 Well, would we just swap the last release branch with master? Master 
 is the dev branch, and the last release is really what we have as a 
 stable branch.
 
 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland 
 daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen 
 run...@gmail.com
 wrote:
 
 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion 
 pd...@cloudops.com
 wrote:
 
 Today during the CloudStackdays  we did a round table about 
 Release management targeting the next 4.6 releases.
 
 
 Quick bullet point discussions:
 
 ideas to change release planning
 
 - Plugin contribution is complicated because often  a new plugin
 involve
 change on the core:
- ex: storage plugin involve changes on Hypervisor code

Re: [DISCUSS] 4.6 release management

2015-04-28 Thread ilya

Rohit

Any headway on ESX 5.5? I've done this many times before using 
cloudstack and esx, but i was using esx as parent hypervisor.


The challenge for me was being able to automatically deploy and 
configure the vSphere + ESXi env. I managed to get the whole flow 
working with bash script, puppet, VMA and while it works its not pretty. 
The challenge was the networking bit.


Last but not least, consider using cloudstack to test cloudstack. i.e. 
master env, would use cloudstack projects and spinup smaller envs with 
KVM, Xen and VmWare bound to each project.


Regards
ilya

On 4/24/15 7:53 AM, Rohit Yadav wrote:

Daan,


On 24-Apr-2015, at 3:53 pm, Daan Hoogland daan.hoogl...@gmail.com wrote:

Rohit, the issues you mention are not as painful if we release in a
two week schedule as the period of creating a fix to seeing it in a
release will be shorter. Some releases will be broken for some people,
I don't think we can prevent this. The target we are aiming for is to
big to cover it completely.

I agree with you, but I think there are pros and cons to both approaches and 
for this to work it needs to be able to walk first before it can run.

For this to work we need an automated QA system, to solve this Abhi is working 
on it for past few weeks and will be adding more non-hardware tests (simulator 
ones) to travis. In my free time, I’m trying to setup a nested virtualized 
environment where we can test ACS against Xen, KVM and VMware on top on KVM. So 
far, I’m able to run XenServer 6.2+6.5 and KVM on top of KVM with vmx 
(intel-vt) enabled, and making some progress with running ESX on KVM (I’m able 
to run ESX 6.0 on KVM now, but not ESX 5.x which is something I’m exploring). I 
hope we'll have something working soon that is fairly fast and easy to 
reproduce.


Your points are valid, though.
.1 a three person release team makes sense. I have been really happy
with the help I got from Pierre-Luc and I think David can do with help
the coming time as well.
.2 Hopefully people won't need to test every release so extensively
anymore as the changes become smaller. (and my initial remark the
above applies as well)

By having too many releases we’ll have to deal with too many upgrade path 
issues and users will spread across different versions which will create an 
issue for maintainers who are supporting users -- one solution for this problem 
can be that we introduce a concept of LTS release that is either maintained by 
the community (which can be difficult) or some interested stakeholders, for 
users that would prefer upgrading everytime there is a new CloudStack release.


On Fri, Apr 24, 2015 at 2:43 PM, Rohit Yadav rohit.ya...@shapeblue.com wrote:

I think we need to have a faster release management to speed up process in 
general, and for that I propose that we have at least two co-pilots for the 
release manager who would support them with things like reviewing/merging 
patches, creating RC candidates etc whenever necessary. Having only one person 
as a release manager can become a bottleneck for a speedy release.

The other issue is getting people to test a (release) branch, fix bugs and 
expect a review/result in 72 hours. This has usually failed if people are busy 
and not getting enough time for this. As an example, I think 4.5 is delayed 
because it lacked people actively testing it or fixing issues, or when issues 
were found only around the RC testing period which delayed RC voting by 1-2 
weeks every time that happened. (I’ll post details about where I think we are 
wrt 4.5 in another thread).


On 17-Apr-2015, at 12:49 am, Pierre-Luc Dion pd...@cloudops.com wrote:

Today during the CloudStackdays  we did a round table about Release
management targeting the next 4.6 releases.


Quick bullet point discussions:

ideas to change release planning

  - Plugin contribution is complicated because often  a new plugin involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way of
  supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
  4.5.x). But the current level of confidence against latest release is low,
  so that need to be improved.


So, the main messages is that w'd like to improve the release velocity, and
release branch stability.  so we would like to propose few change in the
way we would add code to the 4.6 branch as follow:

- All new contribution to 4.6 would be thru Pull Request or merge request,
which would trigger a simulator job, ideally only if that pass the PR would
be accepted and automatically merged.  At this time, I think we pretty much
have everything in place to do that. At a first 

Re: [DISCUSS] 4.6 release management

2015-04-28 Thread Rohit Yadav
Hi Ilya,

In short - to run ESX and other hypervisors (Xen, KVM, OVM3, HyperV etc) on KVM 
you need to;

- use patched qemu (tested to work on both Ubuntu 14.04 and 15.04 x64, I’m 
waiting for Fedora 22 to test it on F22 as well), you may install the pre-built 
debs or build/install qemu from source using the patch from here: 
people.apache.org/~bhaisaab/qemu
- use ACS using latest 4.5 branch and deploy a basic zone (without SG) to 
provision hypervisor hosts as user vms
- in agent.properties (on your kvm host), enable guest.cpu.features=vmx and 
guest.cpu.mode=host-passthrough
- when deploying ESX 5.x on vm (or installing using an ISO) deploy 
virtualmachine with details nicAdapter=vmxnet3, for other hypervisors 
(including ESX 6.0) E1000, the default nic adapter, works

IMO this is a better approach as it does not depend on ESX or VMWare fusion 
that requires special hardware (vCenter/Windows etc or OSX/Apple machine) and 
are difficult to automate. Working with KVM host, since is a Linux machine, 
would be more familiar to sysadmins and certainly a pleasure to scale and work 
with because one can avoid management tools (such as XenCenter or vCenter).

(I’m still working on the CloudStack Developer Kit” {CDK} so it’s not in a 
state to be released yet, will avoid publishing a faulty tool now. Instead of 
the DevCloud approach which promotes everything on one machine, the CDK I’m 
trying to build focuses on developer productivity, reproducibility and 
scalability of a QA lab, it recommends at least one companion hardware with a 
developer’s workstation/laptop which can be a small-form-factor server like a 
mini PC or NUC with at least 16GB RAM and 4 cores i7 with Intel VT. Hope to 
share it soon.)

 On 28-Apr-2015, at 7:17 pm, ilya ilya.mailing.li...@gmail.com wrote:

 Rohit

 Any headway on ESX 5.5? I've done this many times before using cloudstack and 
 esx, but i was using esx as parent hypervisor.

 The challenge for me was being able to automatically deploy and configure the 
 vSphere + ESXi env. I managed to get the whole flow working with bash script, 
 puppet, VMA and while it works its not pretty. The challenge was the 
 networking bit.

 Last but not least, consider using cloudstack to test cloudstack. i.e. master 
 env, would use cloudstack projects and spinup smaller envs with KVM, Xen and 
 VmWare bound to each project.

 Regards
 ilya

 On 4/24/15 7:53 AM, Rohit Yadav wrote:
 Daan,

 On 24-Apr-2015, at 3:53 pm, Daan Hoogland daan.hoogl...@gmail.com wrote:

 Rohit, the issues you mention are not as painful if we release in a
 two week schedule as the period of creating a fix to seeing it in a
 release will be shorter. Some releases will be broken for some people,
 I don't think we can prevent this. The target we are aiming for is to
 big to cover it completely.
 I agree with you, but I think there are pros and cons to both approaches and 
 for this to work it needs to be able to walk first before it can run.

 For this to work we need an automated QA system, to solve this Abhi is 
 working on it for past few weeks and will be adding more non-hardware tests 
 (simulator ones) to travis. In my free time, I’m trying to setup a nested 
 virtualized environment where we can test ACS against Xen, KVM and VMware on 
 top on KVM. So far, I’m able to run XenServer 6.2+6.5 and KVM on top of KVM 
 with vmx (intel-vt) enabled, and making some progress with running ESX on 
 KVM (I’m able to run ESX 6.0 on KVM now, but not ESX 5.x which is something 
 I’m exploring). I hope we'll have something working soon that is fairly fast 
 and easy to reproduce.

 Your points are valid, though.
 .1 a three person release team makes sense. I have been really happy
 with the help I got from Pierre-Luc and I think David can do with help
 the coming time as well.
 .2 Hopefully people won't need to test every release so extensively
 anymore as the changes become smaller. (and my initial remark the
 above applies as well)
 By having too many releases we’ll have to deal with too many upgrade path 
 issues and users will spread across different versions which will create an 
 issue for maintainers who are supporting users -- one solution for this 
 problem can be that we introduce a concept of LTS release that is either 
 maintained by the community (which can be difficult) or some interested 
 stakeholders, for users that would prefer upgrading everytime there is a new 
 CloudStack release.

 On Fri, Apr 24, 2015 at 2:43 PM, Rohit Yadav rohit.ya...@shapeblue.com 
 wrote:
 I think we need to have a faster release management to speed up process in 
 general, and for that I propose that we have at least two co-pilots for 
 the release manager who would support them with things like 
 reviewing/merging patches, creating RC candidates etc whenever necessary. 
 Having only one person as a release manager can become a bottleneck for a 
 speedy release.

 The other issue is getting people to test a (release) branch, fix bugs and 
 

Re: [DISCUSS] 4.6 release management

2015-04-24 Thread Daan Hoogland
Marcus, I think we decided to take small steps in the direction of
something resambling git-workflow instead of adopting it as a
standard. merging branches for fixes and features was one of those
steps. We had a pre-vote discussion on git-flow and it was rejected as
such. That shouldn't stop us from implementing parts of it that aren't
objected against.

On Fri, Apr 24, 2015 at 12:21 AM, Marcus shadow...@gmail.com wrote:
 Before I rough draft anything, I just wanted to ask if we had voted on
 moving to git-workflow, and dropping the multiple release branch
 design. This seems like a significant change, and while good in many
 ways, it also seems that many users are seeking for point releases to
 their pet version and I'm not sure how they'll take to a response that
 they need to upgrade. Overall I think it will approve stability and
 focus our efforts, but have we had a vote around this change?

 On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen run...@gmail.com wrote:

 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:

 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.

 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.

 +1

 This just amounts to treating master now like a release branch. Getting back 
 to PL suggestion, that means
 that any commit to master would be through a PR or MERGE request on the ML. 
 Anything else will be reverted by the RM.

 Marcus, do you feel like writing down a little process for this and some 
 dates that we can target.
 It would be nice to do this for 4.6.


 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:

 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.

 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com
 wrote:

 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

  - Plugin contribution is complicated because often  a new plugin
 involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger
 simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way of
  supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
  4.5.x). But the current level of confidence against latest release
 is low,
  so that need to be improved.


 So, the main messages is that w'd like to improve the release
 velocity, and
 release branch stability.  so we would like to propose few change in
 the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge
 request,
 which would trigger a simulator job, ideally only if that pass the PR
 would
 be accepted and automatically merged.  At this time, I think we pretty
 much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 +1

 We do need to realize what this means and be all fine with it.

 It means that if someone who is not RM directly commits to the release
 branch, the commit will be reverted.
 And that from the beginning of the branching…
 I agree and we can even go as far as reverting fixes that are
 cherry-picked in favour of merged forward.


 IMHO, I think this would be a good step but I don’t think it goes far
 enough.
 Agreed here as well but let's take the step while discussing further
 steps and not implement to much process as well


 This still uses a paradigm where a release is made from a release
 branch that was started from an unstable development branch.
 Hence you still need *extensive* QA.
 The problem here is that there is no stable point to fork from at the
 moment. We will get there and we shouldn't stop taking steps in that
 direction.


 If we truly want to release faster, we need to release from the same
 QA’d branch time after time….a release needs to be based on a previous
 release

 Basically, we need a rolling release cycle. That will have the added
 benefit to not leave releases behind and have to focus on backporting.


 Please 

Re: [DISCUSS] 4.6 release management

2015-04-24 Thread Daan Hoogland
Rohit, the issues you mention are not as painful if we release in a
two week schedule as the period of creating a fix to seeing it in a
release will be shorter. Some releases will be broken for some people,
I don't think we can prevent this. The target we are aiming for is to
big to cover it completely.
Your points are valid, though.
.1 a three person release team makes sense. I have been really happy
with the help I got from Pierre-Luc and I think David can do with help
the coming time as well.
.2 Hopefully people won't need to test every release so extensively
anymore as the changes become smaller. (and my initial remark the
above applies as well)

On Fri, Apr 24, 2015 at 2:43 PM, Rohit Yadav rohit.ya...@shapeblue.com wrote:
 I think we need to have a faster release management to speed up process in 
 general, and for that I propose that we have at least two co-pilots for the 
 release manager who would support them with things like reviewing/merging 
 patches, creating RC candidates etc whenever necessary. Having only one 
 person as a release manager can become a bottleneck for a speedy release.

 The other issue is getting people to test a (release) branch, fix bugs and 
 expect a review/result in 72 hours. This has usually failed if people are 
 busy and not getting enough time for this. As an example, I think 4.5 is 
 delayed because it lacked people actively testing it or fixing issues, or 
 when issues were found only around the RC testing period which delayed RC 
 voting by 1-2 weeks every time that happened. (I’ll post details about where 
 I think we are wrt 4.5 in another thread).

 On 17-Apr-2015, at 12:49 am, Pierre-Luc Dion pd...@cloudops.com wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

   - Plugin contribution is complicated because often  a new plugin involve
   change on the core:
  - ex: storage plugin involve changes on Hypervisor code
   - There is an idea of going on a 2 weeks release model which could
   introduce issue the database schema.
   - Database schema version should be different then the application
   version.
   - There is a will to enforce git workflow in 4.6  and trigger simulator
   job on  PullRequest.
   - Some people (I'm part of them) are concerned on our current way of
   supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
   4.5.x). But the current level of confidence against latest release is low,
   so that need to be improved.


 So, the main messages is that w'd like to improve the release velocity, and
 release branch stability.  so we would like to propose few change in the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge request,
 which would trigger a simulator job, ideally only if that pass the PR would
 be accepted and automatically merged.  At this time, I think we pretty much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 Please comments :-)

 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 Software 
 Engineeringhttp://shapeblue.com/cloudstack-software-engineering/
 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.



-- 
Daan


Re: [DISCUSS] 4.6 release management

2015-04-24 Thread Rohit Yadav
I think we need to have a faster release management to speed up process in 
general, and for that I propose that we have at least two co-pilots for the 
release manager who would support them with things like reviewing/merging 
patches, creating RC candidates etc whenever necessary. Having only one person 
as a release manager can become a bottleneck for a speedy release.

The other issue is getting people to test a (release) branch, fix bugs and 
expect a review/result in 72 hours. This has usually failed if people are busy 
and not getting enough time for this. As an example, I think 4.5 is delayed 
because it lacked people actively testing it or fixing issues, or when issues 
were found only around the RC testing period which delayed RC voting by 1-2 
weeks every time that happened. (I’ll post details about where I think we are 
wrt 4.5 in another thread).

 On 17-Apr-2015, at 12:49 am, Pierre-Luc Dion pd...@cloudops.com wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

   - Plugin contribution is complicated because often  a new plugin involve
   change on the core:
  - ex: storage plugin involve changes on Hypervisor code
   - There is an idea of going on a 2 weeks release model which could
   introduce issue the database schema.
   - Database schema version should be different then the application
   version.
   - There is a will to enforce git workflow in 4.6  and trigger simulator
   job on  PullRequest.
   - Some people (I'm part of them) are concerned on our current way of
   supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
   4.5.x). But the current level of confidence against latest release is low,
   so that need to be improved.


 So, the main messages is that w'd like to improve the release velocity, and
 release branch stability.  so we would like to propose few change in the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge request,
 which would trigger a simulator job, ideally only if that pass the PR would
 be accepted and automatically merged.  At this time, I think we pretty much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 Please comments :-)

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 Software 
Engineeringhttp://shapeblue.com/cloudstack-software-engineering/
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: [DISCUSS] 4.6 release management

2015-04-24 Thread Rohit Yadav
Daan,

 On 24-Apr-2015, at 3:53 pm, Daan Hoogland daan.hoogl...@gmail.com wrote:

 Rohit, the issues you mention are not as painful if we release in a
 two week schedule as the period of creating a fix to seeing it in a
 release will be shorter. Some releases will be broken for some people,
 I don't think we can prevent this. The target we are aiming for is to
 big to cover it completely.

I agree with you, but I think there are pros and cons to both approaches and 
for this to work it needs to be able to walk first before it can run.

For this to work we need an automated QA system, to solve this Abhi is working 
on it for past few weeks and will be adding more non-hardware tests (simulator 
ones) to travis. In my free time, I’m trying to setup a nested virtualized 
environment where we can test ACS against Xen, KVM and VMware on top on KVM. So 
far, I’m able to run XenServer 6.2+6.5 and KVM on top of KVM with vmx 
(intel-vt) enabled, and making some progress with running ESX on KVM (I’m able 
to run ESX 6.0 on KVM now, but not ESX 5.x which is something I’m exploring). I 
hope we'll have something working soon that is fairly fast and easy to 
reproduce.

 Your points are valid, though.
 .1 a three person release team makes sense. I have been really happy
 with the help I got from Pierre-Luc and I think David can do with help
 the coming time as well.
 .2 Hopefully people won't need to test every release so extensively
 anymore as the changes become smaller. (and my initial remark the
 above applies as well)

By having too many releases we’ll have to deal with too many upgrade path 
issues and users will spread across different versions which will create an 
issue for maintainers who are supporting users -- one solution for this problem 
can be that we introduce a concept of LTS release that is either maintained by 
the community (which can be difficult) or some interested stakeholders, for 
users that would prefer upgrading everytime there is a new CloudStack release.


 On Fri, Apr 24, 2015 at 2:43 PM, Rohit Yadav rohit.ya...@shapeblue.com 
 wrote:
 I think we need to have a faster release management to speed up process in 
 general, and for that I propose that we have at least two co-pilots for the 
 release manager who would support them with things like reviewing/merging 
 patches, creating RC candidates etc whenever necessary. Having only one 
 person as a release manager can become a bottleneck for a speedy release.

 The other issue is getting people to test a (release) branch, fix bugs and 
 expect a review/result in 72 hours. This has usually failed if people are 
 busy and not getting enough time for this. As an example, I think 4.5 is 
 delayed because it lacked people actively testing it or fixing issues, or 
 when issues were found only around the RC testing period which delayed RC 
 voting by 1-2 weeks every time that happened. (I’ll post details about where 
 I think we are wrt 4.5 in another thread).

 On 17-Apr-2015, at 12:49 am, Pierre-Luc Dion pd...@cloudops.com wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

  - Plugin contribution is complicated because often  a new plugin involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way of
  supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
  4.5.x). But the current level of confidence against latest release is low,
  so that need to be improved.


 So, the main messages is that w'd like to improve the release velocity, and
 release branch stability.  so we would like to propose few change in the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge request,
 which would trigger a simulator job, ideally only if that pass the PR would
 be accepted and automatically merged.  At this time, I think we pretty much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 Please comments :-)

 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 Software 
 

Re: [DISCUSS] 4.6 release management

2015-04-24 Thread Daan Hoogland
On Fri, Apr 24, 2015 at 4:53 PM, Rohit Yadav rohit.ya...@shapeblue.com wrote:
 Daan,

 On 24-Apr-2015, at 3:53 pm, Daan Hoogland daan.hoogl...@gmail.com wrote:

 Rohit, the issues you mention are not as painful if we release in a
 two week schedule as the period of creating a fix to seeing it in a
 release will be shorter. Some releases will be broken for some people,
 I don't think we can prevent this. The target we are aiming for is to
 big to cover it completely.

 I agree with you, but I think there are pros and cons to both approaches and 
 for this to work it needs to be able to walk first before it can run.

 For this to work we need an automated QA system, to solve this Abhi is 
 working on it for past few weeks and will be adding more non-hardware tests 
 (simulator ones) to travis. In my free time, I’m trying to setup a nested 
 virtualized environment where we can test ACS against Xen, KVM and VMware on 
 top on KVM. So far, I’m able to run XenServer 6.2+6.5 and KVM on top of KVM 
 with vmx (intel-vt) enabled, and making some progress with running ESX on KVM 
 (I’m able to run ESX 6.0 on KVM now, but not ESX 5.x which is something I’m 
 exploring). I hope we'll have something working soon that is fairly fast and 
 easy to reproduce.

Fred Neubauer, a Schuberg Philis colleague has just finished creating
a bubble for testing and development purposes. It looks really good.
We are underway to create a new style jenkins slave in which multiple
hypervisors, management servers and db servers can be created. Sounds
like you are at the same point then.

All that we are discussing here is of varying distance in the future.
Let's not forget this in the discussion. In the end ideal would be
continuous delivery for all cloudstack installs;)


 Your points are valid, though.
 .1 a three person release team makes sense. I have been really happy
 with the help I got from Pierre-Luc and I think David can do with help
 the coming time as well.
 .2 Hopefully people won't need to test every release so extensively
 anymore as the changes become smaller. (and my initial remark the
 above applies as well)

 By having too many releases we’ll have to deal with too many upgrade path 
 issues and users will spread across different versions which will create an 
 issue for maintainers who are supporting users -- one solution for this 
 problem can be that we introduce a concept of LTS release that is either 
 maintained by the community (which can be difficult) or some interested 
 stakeholders, for users that would prefer upgrading everytime there is a new 
 CloudStack release.

Database upgrades need fixing. When we think on this all relevant
scenarios need to be considdered; slow following users, bleeding edge
users and developers. LTS in combination with forward merging of fixes
seems to be the way to me. (as often said, not just by me;)



-- 
Daan


Re: [DISCUSS] 4.6 release management

2015-04-23 Thread Marcus
Before I rough draft anything, I just wanted to ask if we had voted on
moving to git-workflow, and dropping the multiple release branch
design. This seems like a significant change, and while good in many
ways, it also seems that many users are seeking for point releases to
their pet version and I'm not sure how they'll take to a response that
they need to upgrade. Overall I think it will approve stability and
focus our efforts, but have we had a vote around this change?

On Sat, Apr 18, 2015 at 12:50 AM, Sebastien Goasguen run...@gmail.com wrote:

 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:

 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.

 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.

 +1

 This just amounts to treating master now like a release branch. Getting back 
 to PL suggestion, that means
 that any commit to master would be through a PR or MERGE request on the ML. 
 Anything else will be reverted by the RM.

 Marcus, do you feel like writing down a little process for this and some 
 dates that we can target.
 It would be nice to do this for 4.6.


 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:

 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.

 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com
 wrote:

 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

  - Plugin contribution is complicated because often  a new plugin
 involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger
 simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way of
  supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
  4.5.x). But the current level of confidence against latest release
 is low,
  so that need to be improved.


 So, the main messages is that w'd like to improve the release
 velocity, and
 release branch stability.  so we would like to propose few change in
 the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge
 request,
 which would trigger a simulator job, ideally only if that pass the PR
 would
 be accepted and automatically merged.  At this time, I think we pretty
 much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 +1

 We do need to realize what this means and be all fine with it.

 It means that if someone who is not RM directly commits to the release
 branch, the commit will be reverted.
 And that from the beginning of the branching…
 I agree and we can even go as far as reverting fixes that are
 cherry-picked in favour of merged forward.


 IMHO, I think this would be a good step but I don’t think it goes far
 enough.
 Agreed here as well but let's take the step while discussing further
 steps and not implement to much process as well


 This still uses a paradigm where a release is made from a release
 branch that was started from an unstable development branch.
 Hence you still need *extensive* QA.
 The problem here is that there is no stable point to fork from at the
 moment. We will get there and we shouldn't stop taking steps in that
 direction.


 If we truly want to release faster, we need to release from the same
 QA’d branch time after time….a release needs to be based on a previous
 release

 Basically, we need a rolling release cycle. That will have the added
 benefit to not leave releases behind and have to focus on backporting.


 Please comments :-)




 --
 Daan




RE: [DISCUSS] 4.6 release management

2015-04-22 Thread Raja Pullela
Sebastien, I am taking about the tests we have under test/integration/smoke 
folder.  
Not sure how the tests run through Travis, will try to understand.
These are tests were run on a local cloudstack env.  

best,
Raja
-Original Message-
From: Sebastien Goasguen [mailto:run...@gmail.com] 
Sent: Friday, April 17, 2015 1:14 PM
To: dev@cloudstack.apache.org
Subject: Re: [DISCUSS] 4.6 release management


 On Apr 17, 2015, at 6:26 AM, Raja Pullela raja.pull...@citrix.com wrote:
 
 +1 for the Some people (I'm part of them) are concerned on our current way 
 of supporting and back porting fixes to multiple release
 This should be a top priority along with keeping master stable - make sure 
 BVTs are passing at 100% all the time.

Raja, which BVT are you talking about ? AFAIK, all current tests run on all 
commits through Travis.

 Also if we can plan/target increasing test/BVT coverage, that will be super!
 
 Thanks,
 Raja
 -Original Message-
 From: Marcus [mailto:shadow...@gmail.com]
 Sent: Friday, April 17, 2015 4:35 AM
 To: dev@cloudstack.apache.org
 Subject: Re: [DISCUSS] 4.6 release management
 
 storage plugin involve changes on Hypervisor code
 
 I know this is just an example, but at least on KVM side this is no longer 
 true. Previously you had to implement a KVM-specific 'StorageAdaptor' that 
 would run on the hypervisor, and register that with the agent code, but Mike 
 and I added some reflection/annotation that allows for auto-detection of the 
 adaptor upon Agent start up, so storage plugins can be completely 
 self-contained now. They don't even have to be a part of our code base.
 
 There may be other parts of the code where we can do similar things to 
 decouple if we can identify those points.  Ideally, if someone has to modify 
 core code to add their plugin it should only be because they are adding some 
 new functionality *that core cloudstack needs to be aware of*, and that 
 functionality should be added in a way that other plugins can also 
 provide/implement it. Otherwise, they can always add new APIs specific to 
 their appliance or product and leveraging data from cloudstack's db, all via 
 plugin. They can add new global/zone/cluster configs and UI tools via plugin 
 as well.
 
 On Thu, Apr 16, 2015 at 3:49 PM, Pierre-Luc Dion pd...@cloudops.com wrote:
 Today during the CloudStackdays  we did a round table about Release 
 management targeting the next 4.6 releases.
 
 
 Quick bullet point discussions:
 
 ideas to change release planning
 
   - Plugin contribution is complicated because often  a new plugin involve
   change on the core:
  - ex: storage plugin involve changes on Hypervisor code
   - There is an idea of going on a 2 weeks release model which could
   introduce issue the database schema.
   - Database schema version should be different then the application
   version.
   - There is a will to enforce git workflow in 4.6  and trigger simulator
   job on  PullRequest.
   - Some people (I'm part of them) are concerned on our current way of
   supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
   4.5.x). But the current level of confidence against latest release is low,
   so that need to be improved.
 
 
 So, the main messages is that w'd like to improve the release 
 velocity, and release branch stability.  so we would like to propose 
 few change in the way we would add code to the 4.6 branch as follow:
 
 - All new contribution to 4.6 would be thru Pull Request or merge 
 request, which would trigger a simulator job, ideally only if that 
 pass the PR would be accepted and automatically merged.  At this 
 time, I think we pretty much have everything in place to do that. At 
 a first step we would use
 simulator+marvin jobs then improve tests coverage from there.
 
 Please comments :-)



Re: [DISCUSS] 4.6 release management

2015-04-20 Thread Simon Weller

From: Sebastien Goasguen run...@gmail.com
Sent: Saturday, April 18, 2015 2:50 AM
To: dev@cloudstack.apache.org
Subject: Re: [DISCUSS] 4.6 release management

 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:

 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.

 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.

+1

This just amounts to treating master now like a release branch. Getting back 
to PL suggestion, that means
that any commit to master would be through a PR or MERGE request on the ML. 
Anything else will be reverted by the RM.

+1 on this.

Ultimately this will be painful to start with, but it will pay dividends in the 
future with a much more stable (and tested) master, and hence future releases 
will be of higher quality. 
With stable (and frequent iterative) releases, there will be much less pressure 
to back port fixes/features, because the community will see taking a new 
release as low risk.

- Si

Marcus, do you feel like writing down a little process for this and some dates 
that we can target.
It would be nice to do this for 4.6.


 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:

 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.

 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com
 wrote:

 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

  - Plugin contribution is complicated because often  a new plugin
 involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger
 simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way of
  supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
  4.5.x). But the current level of confidence against latest release
 is low,
  so that need to be improved.


 So, the main messages is that w'd like to improve the release
 velocity, and
 release branch stability.  so we would like to propose few change in
 the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge
 request,
 which would trigger a simulator job, ideally only if that pass the PR
 would
 be accepted and automatically merged.  At this time, I think we pretty
 much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 +1

 We do need to realize what this means and be all fine with it.

 It means that if someone who is not RM directly commits to the release
 branch, the commit will be reverted.
 And that from the beginning of the branching…
 I agree and we can even go as far as reverting fixes that are
 cherry-picked in favour of merged forward.


 IMHO, I think this would be a good step but I don’t think it goes far
 enough.
 Agreed here as well but let's take the step while discussing further
 steps and not implement to much process as well


 This still uses a paradigm where a release is made from a release
 branch that was started from an unstable development branch.
 Hence you still need *extensive* QA.
 The problem here is that there is no stable point to fork from at the
 moment. We will get there and we shouldn't stop taking steps in that
 direction.


 If we truly want to release faster, we need to release from the same
 QA’d branch time after time….a release needs to be based on a previous
 release

 Basically, we need a rolling release cycle. That will have the added
 benefit to not leave releases behind and have to focus on backporting.


 Please comments :-)




 --
 Daan



AW: [DISCUSS] 4.6 release management

2015-04-20 Thread S . Brüseke - proIO GmbH
Hi all,

it is really hard for a newbie to follow all of your thought regarding this. 
Can somebody please explain it a little bit more?
Thank you very much!

Mit freundlichen Grüßen / With kind regards,

Swen Brüseke

-Ursprüngliche Nachricht-
Von: Simon Weller [mailto:swel...@ena.com] 
Gesendet: Montag, 20. April 2015 15:24
An: dev@cloudstack.apache.org
Betreff: Re: [DISCUSS] 4.6 release management


From: Sebastien Goasguen run...@gmail.com
Sent: Saturday, April 18, 2015 2:50 AM
To: dev@cloudstack.apache.org
Subject: Re: [DISCUSS] 4.6 release management

 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:

 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.

 There's a good opportunity to do this next release. Instead of 
 creating a release branch, we freeze master and start creating dev 
 branches.

+1

This just amounts to treating master now like a release branch. Getting 
back to PL suggestion, that means that any commit to master would be through a 
PR or MERGE request on the ML. Anything else will be reverted by the RM.

+1 on this.

Ultimately this will be painful to start with, but it will pay dividends in the 
future with a much more stable (and tested) master, and hence future releases 
will be of higher quality. 
With stable (and frequent iterative) releases, there will be much less pressure 
to back port fixes/features, because the community will see taking a new 
release as low risk.

- Si

Marcus, do you feel like writing down a little process for this and some dates 
that we can target.
It would be nice to do this for 4.6.


 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:
 We heavily invested in code now on master. Not looking forward to 
 backporting that.

 mobile dev with bilingual spelling checker used (read at your own 
 risk) Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:

 Well, would we just swap the last release branch with master? Master 
 is the dev branch, and the last release is really what we have as a 
 stable branch.

 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland 
 daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen 
 run...@gmail.com
 wrote:

 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion 
 pd...@cloudops.com
 wrote:

 Today during the CloudStackdays  we did a round table about 
 Release management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

  - Plugin contribution is complicated because often  a new plugin
 involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which 
 could  introduce issue the database schema.
  - Database schema version should be different then the 
 application  version.
  - There is a will to enforce git workflow in 4.6  and trigger
 simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current 
 way of  supporting and back porting fixes to multiple release 
 (4.3.x, 4.4.x,  4.5.x). But the current level of confidence 
 against latest release
 is low,
  so that need to be improved.


 So, the main messages is that w'd like to improve the release
 velocity, and
 release branch stability.  so we would like to propose few change 
 in
 the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge
 request,
 which would trigger a simulator job, ideally only if that pass 
 the PR
 would
 be accepted and automatically merged.  At this time, I think we 
 pretty
 much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 +1

 We do need to realize what this means and be all fine with it.

 It means that if someone who is not RM directly commits to the 
 release
 branch, the commit will be reverted.
 And that from the beginning of the branching.
 I agree and we can even go as far as reverting fixes that are 
 cherry-picked in favour of merged forward.


 IMHO, I think this would be a good step but I don't think it goes 
 far
 enough.
 Agreed here as well but let's take the step while discussing 
 further steps and not implement to much process as well


 This still uses a paradigm where a release is made from a release
 branch that was started from an unstable development branch.
 Hence you still need *extensive* QA.
 The problem here is that there is no stable point to fork from at 
 the moment. We will get there and we shouldn't stop taking steps in 
 that direction.


 If we truly want to release faster, we need to release from the 
 same
 QA'd branch time after time..a release needs to be based on a 
 previous release

 Basically, we need a rolling release cycle. That will have the 
 added
 benefit to not leave releases behind and have

Re: [DISCUSS] 4.6 release management

2015-04-18 Thread Sebastien Goasguen

 On Apr 18, 2015, at 8:36 AM, Marcus shadow...@gmail.com wrote:
 
 Have they diverged that much? Due to cherry-picking, I guess.
 Otherwise you should be able to do it cleanly.
 
 There's a good opportunity to do this next release. Instead of
 creating a release branch, we freeze master and start creating dev
 branches.

+1 

This just amounts to treating master now like a release branch. Getting back to 
PL suggestion, that means
that any commit to master would be through a PR or MERGE request on the ML. 
Anything else will be reverted by the RM.

Marcus, do you feel like writing down a little process for this and some dates 
that we can target.
It would be nice to do this for 4.6.

 
 On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com 
 wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.
 
 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:
 
 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.
 
 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 wrote:
 
 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.
 
 
 Quick bullet point discussions:
 
 ideas to change release planning
 
  - Plugin contribution is complicated because often  a new plugin
 involve
  change on the core:
 - ex: storage plugin involve changes on Hypervisor code
  - There is an idea of going on a 2 weeks release model which could
  introduce issue the database schema.
  - Database schema version should be different then the application
  version.
  - There is a will to enforce git workflow in 4.6  and trigger
 simulator
  job on  PullRequest.
  - Some people (I'm part of them) are concerned on our current way of
  supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
  4.5.x). But the current level of confidence against latest release
 is low,
  so that need to be improved.
 
 
 So, the main messages is that w'd like to improve the release
 velocity, and
 release branch stability.  so we would like to propose few change in
 the
 way we would add code to the 4.6 branch as follow:
 
 - All new contribution to 4.6 would be thru Pull Request or merge
 request,
 which would trigger a simulator job, ideally only if that pass the PR
 would
 be accepted and automatically merged.  At this time, I think we pretty
 much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.
 
 +1
 
 We do need to realize what this means and be all fine with it.
 
 It means that if someone who is not RM directly commits to the release
 branch, the commit will be reverted.
 And that from the beginning of the branching…
 I agree and we can even go as far as reverting fixes that are
 cherry-picked in favour of merged forward.
 
 
 IMHO, I think this would be a good step but I don’t think it goes far
 enough.
 Agreed here as well but let's take the step while discussing further
 steps and not implement to much process as well
 
 
 This still uses a paradigm where a release is made from a release
 branch that was started from an unstable development branch.
 Hence you still need *extensive* QA.
 The problem here is that there is no stable point to fork from at the
 moment. We will get there and we shouldn't stop taking steps in that
 direction.
 
 
 If we truly want to release faster, we need to release from the same
 QA’d branch time after time….a release needs to be based on a previous
 release
 
 Basically, we need a rolling release cycle. That will have the added
 benefit to not leave releases behind and have to focus on backporting.
 
 
 Please comments :-)
 
 
 
 
 --
 Daan
 



Re: [DISCUSS] 4.6 release management

2015-04-18 Thread Marcus
Have they diverged that much? Due to cherry-picking, I guess.
Otherwise you should be able to do it cleanly.

There's a good opportunity to do this next release. Instead of
creating a release branch, we freeze master and start creating dev
branches.

On Fri, Apr 17, 2015 at 10:46 PM, Daan Hoogland daan.hoogl...@gmail.com wrote:
 We heavily invested in code now on master. Not looking forward to
 backporting that.

 mobile dev with bilingual spelling checker used (read at your own risk)
 Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:

 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.

 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
  On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
  On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 wrote:
 
  Today during the CloudStackdays  we did a round table about Release
  management targeting the next 4.6 releases.
 
 
  Quick bullet point discussions:
 
  ideas to change release planning
 
- Plugin contribution is complicated because often  a new plugin
 involve
change on the core:
   - ex: storage plugin involve changes on Hypervisor code
- There is an idea of going on a 2 weeks release model which could
introduce issue the database schema.
- Database schema version should be different then the application
version.
- There is a will to enforce git workflow in 4.6  and trigger
 simulator
job on  PullRequest.
- Some people (I'm part of them) are concerned on our current way of
supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
4.5.x). But the current level of confidence against latest release
 is low,
so that need to be improved.
 
 
  So, the main messages is that w'd like to improve the release
 velocity, and
  release branch stability.  so we would like to propose few change in
 the
  way we would add code to the 4.6 branch as follow:
 
  - All new contribution to 4.6 would be thru Pull Request or merge
 request,
  which would trigger a simulator job, ideally only if that pass the PR
 would
  be accepted and automatically merged.  At this time, I think we pretty
 much
  have everything in place to do that. At a first step we would use
  simulator+marvin jobs then improve tests coverage from there.
 
  +1
 
  We do need to realize what this means and be all fine with it.
 
  It means that if someone who is not RM directly commits to the release
 branch, the commit will be reverted.
  And that from the beginning of the branching…
  I agree and we can even go as far as reverting fixes that are
  cherry-picked in favour of merged forward.
 
 
  IMHO, I think this would be a good step but I don’t think it goes far
 enough.
  Agreed here as well but let's take the step while discussing further
  steps and not implement to much process as well
 
 
  This still uses a paradigm where a release is made from a release
 branch that was started from an unstable development branch.
  Hence you still need *extensive* QA.
  The problem here is that there is no stable point to fork from at the
  moment. We will get there and we shouldn't stop taking steps in that
  direction.
 
 
  If we truly want to release faster, we need to release from the same
 QA’d branch time after time….a release needs to be based on a previous
 release
 
  Basically, we need a rolling release cycle. That will have the added
 benefit to not leave releases behind and have to focus on backporting.
 
 
  Please comments :-)
 
 
 
 
  --
  Daan



RE: [DISCUSS] 4.6 release management

2015-04-17 Thread Raja Pullela
+1 for the Some people (I'm part of them) are concerned on our current way of 
supporting and back porting fixes to multiple release
This should be a top priority along with keeping master stable - make sure BVTs 
are passing at 100% all the time.
Also if we can plan/target increasing test/BVT coverage, that will be super!

Thanks,
Raja
-Original Message-
From: Marcus [mailto:shadow...@gmail.com] 
Sent: Friday, April 17, 2015 4:35 AM
To: dev@cloudstack.apache.org
Subject: Re: [DISCUSS] 4.6 release management

storage plugin involve changes on Hypervisor code

I know this is just an example, but at least on KVM side this is no longer 
true. Previously you had to implement a KVM-specific 'StorageAdaptor' that 
would run on the hypervisor, and register that with the agent code, but Mike 
and I added some reflection/annotation that allows for auto-detection of the 
adaptor upon Agent start up, so storage plugins can be completely 
self-contained now. They don't even have to be a part of our code base.

There may be other parts of the code where we can do similar things to decouple 
if we can identify those points.  Ideally, if someone has to modify core code 
to add their plugin it should only be because they are adding some new 
functionality *that core cloudstack needs to be aware of*, and that 
functionality should be added in a way that other plugins can also 
provide/implement it. Otherwise, they can always add new APIs specific to their 
appliance or product and leveraging data from cloudstack's db, all via plugin. 
They can add new global/zone/cluster configs and UI tools via plugin as well.

On Thu, Apr 16, 2015 at 3:49 PM, Pierre-Luc Dion pd...@cloudops.com wrote:
 Today during the CloudStackdays  we did a round table about Release 
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

- Plugin contribution is complicated because often  a new plugin involve
change on the core:
   - ex: storage plugin involve changes on Hypervisor code
- There is an idea of going on a 2 weeks release model which could
introduce issue the database schema.
- Database schema version should be different then the application
version.
- There is a will to enforce git workflow in 4.6  and trigger simulator
job on  PullRequest.
- Some people (I'm part of them) are concerned on our current way of
supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
4.5.x). But the current level of confidence against latest release is low,
so that need to be improved.


 So, the main messages is that w'd like to improve the release 
 velocity, and release branch stability.  so we would like to propose 
 few change in the way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge 
 request, which would trigger a simulator job, ideally only if that 
 pass the PR would be accepted and automatically merged.  At this time, 
 I think we pretty much have everything in place to do that. At a first 
 step we would use
 simulator+marvin jobs then improve tests coverage from there.

 Please comments :-)


Re: [DISCUSS] 4.6 release management

2015-04-17 Thread Sebastien Goasguen

 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com wrote:
 
 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.
 
 
 Quick bullet point discussions:
 
 ideas to change release planning
 
   - Plugin contribution is complicated because often  a new plugin involve
   change on the core:
  - ex: storage plugin involve changes on Hypervisor code
   - There is an idea of going on a 2 weeks release model which could
   introduce issue the database schema.
   - Database schema version should be different then the application
   version.
   - There is a will to enforce git workflow in 4.6  and trigger simulator
   job on  PullRequest.
   - Some people (I'm part of them) are concerned on our current way of
   supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
   4.5.x). But the current level of confidence against latest release is low,
   so that need to be improved.
 
 
 So, the main messages is that w'd like to improve the release velocity, and
 release branch stability.  so we would like to propose few change in the
 way we would add code to the 4.6 branch as follow:
 
 - All new contribution to 4.6 would be thru Pull Request or merge request,
 which would trigger a simulator job, ideally only if that pass the PR would
 be accepted and automatically merged.  At this time, I think we pretty much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

+1

We do need to realize what this means and be all fine with it.

It means that if someone who is not RM directly commits to the release branch, 
the commit will be reverted.
And that from the beginning of the branching…

IMHO, I think this would be a good step but I don’t think it goes far enough.

This still uses a paradigm where a release is made from a release branch that 
was started from an unstable development branch.
Hence you still need *extensive* QA.

If we truly want to release faster, we need to release from the same QA’d 
branch time after time….a release needs to be based on a previous release

Basically, we need a rolling release cycle. That will have the added benefit to 
not leave releases behind and have to focus on backporting.

 
 Please comments :-)



Re: [DISCUSS] 4.6 release management

2015-04-17 Thread Sebastien Goasguen

 On Apr 17, 2015, at 6:26 AM, Raja Pullela raja.pull...@citrix.com wrote:
 
 +1 for the Some people (I'm part of them) are concerned on our current way 
 of supporting and back porting fixes to multiple release
 This should be a top priority along with keeping master stable - make sure 
 BVTs are passing at 100% all the time.

Raja, which BVT are you talking about ? AFAIK, all current tests run on all 
commits through Travis.

 Also if we can plan/target increasing test/BVT coverage, that will be super!
 
 Thanks,
 Raja
 -Original Message-
 From: Marcus [mailto:shadow...@gmail.com] 
 Sent: Friday, April 17, 2015 4:35 AM
 To: dev@cloudstack.apache.org
 Subject: Re: [DISCUSS] 4.6 release management
 
 storage plugin involve changes on Hypervisor code
 
 I know this is just an example, but at least on KVM side this is no longer 
 true. Previously you had to implement a KVM-specific 'StorageAdaptor' that 
 would run on the hypervisor, and register that with the agent code, but Mike 
 and I added some reflection/annotation that allows for auto-detection of the 
 adaptor upon Agent start up, so storage plugins can be completely 
 self-contained now. They don't even have to be a part of our code base.
 
 There may be other parts of the code where we can do similar things to 
 decouple if we can identify those points.  Ideally, if someone has to modify 
 core code to add their plugin it should only be because they are adding some 
 new functionality *that core cloudstack needs to be aware of*, and that 
 functionality should be added in a way that other plugins can also 
 provide/implement it. Otherwise, they can always add new APIs specific to 
 their appliance or product and leveraging data from cloudstack's db, all via 
 plugin. They can add new global/zone/cluster configs and UI tools via plugin 
 as well.
 
 On Thu, Apr 16, 2015 at 3:49 PM, Pierre-Luc Dion pd...@cloudops.com wrote:
 Today during the CloudStackdays  we did a round table about Release 
 management targeting the next 4.6 releases.
 
 
 Quick bullet point discussions:
 
 ideas to change release planning
 
   - Plugin contribution is complicated because often  a new plugin involve
   change on the core:
  - ex: storage plugin involve changes on Hypervisor code
   - There is an idea of going on a 2 weeks release model which could
   introduce issue the database schema.
   - Database schema version should be different then the application
   version.
   - There is a will to enforce git workflow in 4.6  and trigger simulator
   job on  PullRequest.
   - Some people (I'm part of them) are concerned on our current way of
   supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
   4.5.x). But the current level of confidence against latest release is low,
   so that need to be improved.
 
 
 So, the main messages is that w'd like to improve the release 
 velocity, and release branch stability.  so we would like to propose 
 few change in the way we would add code to the 4.6 branch as follow:
 
 - All new contribution to 4.6 would be thru Pull Request or merge 
 request, which would trigger a simulator job, ideally only if that 
 pass the PR would be accepted and automatically merged.  At this time, 
 I think we pretty much have everything in place to do that. At a first 
 step we would use
 simulator+marvin jobs then improve tests coverage from there.
 
 Please comments :-)



Re: [DISCUSS] 4.6 release management

2015-04-17 Thread Daan Hoogland
On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com wrote:

 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

   - Plugin contribution is complicated because often  a new plugin involve
   change on the core:
  - ex: storage plugin involve changes on Hypervisor code
   - There is an idea of going on a 2 weeks release model which could
   introduce issue the database schema.
   - Database schema version should be different then the application
   version.
   - There is a will to enforce git workflow in 4.6  and trigger simulator
   job on  PullRequest.
   - Some people (I'm part of them) are concerned on our current way of
   supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
   4.5.x). But the current level of confidence against latest release is low,
   so that need to be improved.


 So, the main messages is that w'd like to improve the release velocity, and
 release branch stability.  so we would like to propose few change in the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge request,
 which would trigger a simulator job, ideally only if that pass the PR would
 be accepted and automatically merged.  At this time, I think we pretty much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 +1

 We do need to realize what this means and be all fine with it.

 It means that if someone who is not RM directly commits to the release 
 branch, the commit will be reverted.
 And that from the beginning of the branching…
I agree and we can even go as far as reverting fixes that are
cherry-picked in favour of merged forward.


 IMHO, I think this would be a good step but I don’t think it goes far enough.
Agreed here as well but let's take the step while discussing further
steps and not implement to much process as well


 This still uses a paradigm where a release is made from a release branch that 
 was started from an unstable development branch.
 Hence you still need *extensive* QA.
The problem here is that there is no stable point to fork from at the
moment. We will get there and we shouldn't stop taking steps in that
direction.


 If we truly want to release faster, we need to release from the same QA’d 
 branch time after time….a release needs to be based on a previous release

 Basically, we need a rolling release cycle. That will have the added benefit 
 to not leave releases behind and have to focus on backporting.


 Please comments :-)




-- 
Daan


Re: [DISCUSS] 4.6 release management

2015-04-17 Thread Marcus
Well, would we just swap the last release branch with master? Master
is the dev branch, and the last release is really what we have as a
stable branch.

On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com wrote:
 On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com wrote:

 On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com wrote:

 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

   - Plugin contribution is complicated because often  a new plugin involve
   change on the core:
  - ex: storage plugin involve changes on Hypervisor code
   - There is an idea of going on a 2 weeks release model which could
   introduce issue the database schema.
   - Database schema version should be different then the application
   version.
   - There is a will to enforce git workflow in 4.6  and trigger simulator
   job on  PullRequest.
   - Some people (I'm part of them) are concerned on our current way of
   supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
   4.5.x). But the current level of confidence against latest release is low,
   so that need to be improved.


 So, the main messages is that w'd like to improve the release velocity, and
 release branch stability.  so we would like to propose few change in the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge request,
 which would trigger a simulator job, ideally only if that pass the PR would
 be accepted and automatically merged.  At this time, I think we pretty much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 +1

 We do need to realize what this means and be all fine with it.

 It means that if someone who is not RM directly commits to the release 
 branch, the commit will be reverted.
 And that from the beginning of the branching…
 I agree and we can even go as far as reverting fixes that are
 cherry-picked in favour of merged forward.


 IMHO, I think this would be a good step but I don’t think it goes far enough.
 Agreed here as well but let's take the step while discussing further
 steps and not implement to much process as well


 This still uses a paradigm where a release is made from a release branch 
 that was started from an unstable development branch.
 Hence you still need *extensive* QA.
 The problem here is that there is no stable point to fork from at the
 moment. We will get there and we shouldn't stop taking steps in that
 direction.


 If we truly want to release faster, we need to release from the same QA’d 
 branch time after time….a release needs to be based on a previous release

 Basically, we need a rolling release cycle. That will have the added benefit 
 to not leave releases behind and have to focus on backporting.


 Please comments :-)




 --
 Daan


Re: [DISCUSS] 4.6 release management

2015-04-17 Thread Daan Hoogland
We heavily invested in code now on master. Not looking forward to
backporting that.

mobile dev with bilingual spelling checker used (read at your own risk)
Op 17 apr. 2015 21:02 schreef Marcus shadow...@gmail.com:

 Well, would we just swap the last release branch with master? Master
 is the dev branch, and the last release is really what we have as a
 stable branch.

 On Fri, Apr 17, 2015 at 8:44 AM, Daan Hoogland daan.hoogl...@gmail.com
 wrote:
  On Fri, Apr 17, 2015 at 2:43 AM, Sebastien Goasguen run...@gmail.com
 wrote:
 
  On Apr 17, 2015, at 12:49 AM, Pierre-Luc Dion pd...@cloudops.com
 wrote:
 
  Today during the CloudStackdays  we did a round table about Release
  management targeting the next 4.6 releases.
 
 
  Quick bullet point discussions:
 
  ideas to change release planning
 
- Plugin contribution is complicated because often  a new plugin
 involve
change on the core:
   - ex: storage plugin involve changes on Hypervisor code
- There is an idea of going on a 2 weeks release model which could
introduce issue the database schema.
- Database schema version should be different then the application
version.
- There is a will to enforce git workflow in 4.6  and trigger
 simulator
job on  PullRequest.
- Some people (I'm part of them) are concerned on our current way of
supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
4.5.x). But the current level of confidence against latest release
 is low,
so that need to be improved.
 
 
  So, the main messages is that w'd like to improve the release
 velocity, and
  release branch stability.  so we would like to propose few change in
 the
  way we would add code to the 4.6 branch as follow:
 
  - All new contribution to 4.6 would be thru Pull Request or merge
 request,
  which would trigger a simulator job, ideally only if that pass the PR
 would
  be accepted and automatically merged.  At this time, I think we pretty
 much
  have everything in place to do that. At a first step we would use
  simulator+marvin jobs then improve tests coverage from there.
 
  +1
 
  We do need to realize what this means and be all fine with it.
 
  It means that if someone who is not RM directly commits to the release
 branch, the commit will be reverted.
  And that from the beginning of the branching…
  I agree and we can even go as far as reverting fixes that are
  cherry-picked in favour of merged forward.
 
 
  IMHO, I think this would be a good step but I don’t think it goes far
 enough.
  Agreed here as well but let's take the step while discussing further
  steps and not implement to much process as well
 
 
  This still uses a paradigm where a release is made from a release
 branch that was started from an unstable development branch.
  Hence you still need *extensive* QA.
  The problem here is that there is no stable point to fork from at the
  moment. We will get there and we shouldn't stop taking steps in that
  direction.
 
 
  If we truly want to release faster, we need to release from the same
 QA’d branch time after time….a release needs to be based on a previous
 release
 
  Basically, we need a rolling release cycle. That will have the added
 benefit to not leave releases behind and have to focus on backporting.
 
 
  Please comments :-)
 
 
 
 
  --
  Daan



[DISCUSS] 4.6 release management

2015-04-16 Thread Pierre-Luc Dion
Today during the CloudStackdays  we did a round table about Release
management targeting the next 4.6 releases.


Quick bullet point discussions:

ideas to change release planning

   - Plugin contribution is complicated because often  a new plugin involve
   change on the core:
  - ex: storage plugin involve changes on Hypervisor code
   - There is an idea of going on a 2 weeks release model which could
   introduce issue the database schema.
   - Database schema version should be different then the application
   version.
   - There is a will to enforce git workflow in 4.6  and trigger simulator
   job on  PullRequest.
   - Some people (I'm part of them) are concerned on our current way of
   supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
   4.5.x). But the current level of confidence against latest release is low,
   so that need to be improved.


So, the main messages is that w'd like to improve the release velocity, and
release branch stability.  so we would like to propose few change in the
way we would add code to the 4.6 branch as follow:

- All new contribution to 4.6 would be thru Pull Request or merge request,
which would trigger a simulator job, ideally only if that pass the PR would
be accepted and automatically merged.  At this time, I think we pretty much
have everything in place to do that. At a first step we would use
simulator+marvin jobs then improve tests coverage from there.

Please comments :-)


Re: [DISCUSS] 4.6 release management

2015-04-16 Thread Marcus
storage plugin involve changes on Hypervisor code

I know this is just an example, but at least on KVM side this is no
longer true. Previously you had to implement a KVM-specific
'StorageAdaptor' that would run on the hypervisor, and register that
with the agent code, but Mike and I added some reflection/annotation
that allows for auto-detection of the adaptor upon Agent start up, so
storage plugins can be completely self-contained now. They don't even
have to be a part of our code base.

There may be other parts of the code where we can do similar things to
decouple if we can identify those points.  Ideally, if someone has to
modify core code to add their plugin it should only be because they
are adding some new functionality *that core cloudstack needs to be
aware of*, and that functionality should be added in a way that other
plugins can also provide/implement it. Otherwise, they can always add
new APIs specific to their appliance or product and leveraging data
from cloudstack's db, all via plugin. They can add new
global/zone/cluster configs and UI tools via plugin as well.

On Thu, Apr 16, 2015 at 3:49 PM, Pierre-Luc Dion pd...@cloudops.com wrote:
 Today during the CloudStackdays  we did a round table about Release
 management targeting the next 4.6 releases.


 Quick bullet point discussions:

 ideas to change release planning

- Plugin contribution is complicated because often  a new plugin involve
change on the core:
   - ex: storage plugin involve changes on Hypervisor code
- There is an idea of going on a 2 weeks release model which could
introduce issue the database schema.
- Database schema version should be different then the application
version.
- There is a will to enforce git workflow in 4.6  and trigger simulator
job on  PullRequest.
- Some people (I'm part of them) are concerned on our current way of
supporting and back porting fixes to multiple release (4.3.x, 4.4.x,
4.5.x). But the current level of confidence against latest release is low,
so that need to be improved.


 So, the main messages is that w'd like to improve the release velocity, and
 release branch stability.  so we would like to propose few change in the
 way we would add code to the 4.6 branch as follow:

 - All new contribution to 4.6 would be thru Pull Request or merge request,
 which would trigger a simulator job, ideally only if that pass the PR would
 be accepted and automatically merged.  At this time, I think we pretty much
 have everything in place to do that. At a first step we would use
 simulator+marvin jobs then improve tests coverage from there.

 Please comments :-)