Re: [DISCUSS] If BVT breaks, revert the commits...

2013-07-15 Thread Girish Shilamkar
Alex,

On 10-Jul-2013, at 9:32 AM, Alex Huang alex.hu...@citrix.com wrote:

 Sorry this took a little longer than expected with the holiday in US.  Here's 
 the first proposal [1] on the automated test system.  Comments welcome.  
 
 Specifically, I have one question on if we should have a staging branch for 
 all release branches and master where all checkins go and the build system 
 automatically cherry-pick over commits that passes the tests.
+1 
Staging branch is better option than to revert the commits. One useful way 
might be to trigger a jenkins job once a patch is uploaded to review board and 
run BVT.
But as of now Jenkins plugin for review board does not have git support. 
https://wiki.jenkins-ci.org/display/JENKINS/Reviewboard+Plugin

Regards,
Girish

 
 I believe we have a lot of pieces in place.  Prassana, Sudha, Rayees, Ram 
 Ganesh, myself, and a few others will be working to get this system in place. 
  
 
 --Alex
 [1] 
 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Automated+Tests+Rules+and+Guidelines
 
 -Original Message-
 From: David Nalley [mailto:da...@gnsa.us]
 Sent: Friday, June 28, 2013 8:44 PM
 To: dev@cloudstack.apache.org
 Subject: Re: [DISCUSS] If BVT breaks, revert the commits...
 
 On Fri, Jun 28, 2013 at 8:18 PM, Alex Huang alex.hu...@citrix.com wrote:
 After Dave's complain in the vmsync [MERGE] thread about BVT in horrible
 shape on master, I went around to figure out what exactly happened.  The
 best I can figure is that after a certain merge (I will leave out which 
 merge as
 that's not important), BVT no longer runs automatically.  It was promised to
 be fixed and there are people who are actively fixing it but it's been in 
 this
 way for about two weeks.  People running BVTs are working around the
 problem but it's not automated anymore and so it's no longer running on
 master.  I understand people are nice and tried to be accommodating to
 other people by working around the problem but sometimes we just have to
 be an arse.  So let me be that arse...
 
 New Rule
 If BVT or automated regression tests break on master or any release
 branch, we revert all commits that broke it.  It doesn't matter if they 
 promise
 to fix it within the next hour.  If it's broken, the release manager will 
 revert
 the commits and developers must resubmit.  It sounds mean but it's the only
 way this problem can be fixed.
 
 To avoid having a bunch of reverts and resubmits, the developers should
 be able to request that BVT run on their branch and don't merge until BVT on
 their branch is at 100%.  We will work on figuring out how to do that.
 
 Comments?
 
 --Alex
 
 +100 - not only +100 but I will increment ASFBots $beverage counter a
 few in your favor for suggesting this.
 
 --David



Re: [DISCUSS] If BVT breaks, revert the commits...

2013-07-15 Thread Prasanna Santhanam
On Mon, Jul 15, 2013 at 03:06:41PM +0530, Girish Shilamkar wrote:
 Alex,
 
 On 10-Jul-2013, at 9:32 AM, Alex Huang alex.hu...@citrix.com
 wrote:
 
  Sorry this took a little longer than expected with the holiday in
  US.  Here's the first proposal [1] on the automated test system.
  Comments welcome.  
  
  Specifically, I have one question on if we should have a staging
  branch for all release branches and master where all checkins go
  and the build system automatically cherry-pick over commits that
  passes the tests.
 +1 Staging branch is better option than to revert the commits. One
 useful way might be to trigger a jenkins job once a patch is
 uploaded to review board and run BVT.

A staging area would indeed be useful for passing tests and gating the
checkins.

 But as of now Jenkins plugin for review board does not have git
 support.
 https://wiki.jenkins-ci.org/display/JENKINS/Reviewboard+Plugin

Yeah - this is a perforce only plugin I'm afraid.

-- 
Prasanna.,


Powered by BigRock.com



RE: [DISCUSS] If BVT breaks, revert the commits...

2013-07-09 Thread Alex Huang
Sorry this took a little longer than expected with the holiday in US.  Here's 
the first proposal [1] on the automated test system.  Comments welcome.  

Specifically, I have one question on if we should have a staging branch for all 
release branches and master where all checkins go and the build system 
automatically cherry-pick over commits that passes the tests.

I believe we have a lot of pieces in place.  Prassana, Sudha, Rayees, Ram 
Ganesh, myself, and a few others will be working to get this system in place.  

--Alex
[1] 
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Automated+Tests+Rules+and+Guidelines

 -Original Message-
 From: David Nalley [mailto:da...@gnsa.us]
 Sent: Friday, June 28, 2013 8:44 PM
 To: dev@cloudstack.apache.org
 Subject: Re: [DISCUSS] If BVT breaks, revert the commits...
 
 On Fri, Jun 28, 2013 at 8:18 PM, Alex Huang alex.hu...@citrix.com wrote:
  After Dave's complain in the vmsync [MERGE] thread about BVT in horrible
 shape on master, I went around to figure out what exactly happened.  The
 best I can figure is that after a certain merge (I will leave out which merge 
 as
 that's not important), BVT no longer runs automatically.  It was promised to
 be fixed and there are people who are actively fixing it but it's been in this
 way for about two weeks.  People running BVTs are working around the
 problem but it's not automated anymore and so it's no longer running on
 master.  I understand people are nice and tried to be accommodating to
 other people by working around the problem but sometimes we just have to
 be an arse.  So let me be that arse...
 
  New Rule
  If BVT or automated regression tests break on master or any release
 branch, we revert all commits that broke it.  It doesn't matter if they 
 promise
 to fix it within the next hour.  If it's broken, the release manager will 
 revert
 the commits and developers must resubmit.  It sounds mean but it's the only
 way this problem can be fixed.
 
  To avoid having a bunch of reverts and resubmits, the developers should
 be able to request that BVT run on their branch and don't merge until BVT on
 their branch is at 100%.  We will work on figuring out how to do that.
 
  Comments?
 
  --Alex
 
 +100 - not only +100 but I will increment ASFBots $beverage counter a
 few in your favor for suggesting this.
 
 --David


Re: [DISCUSS] If BVT breaks, revert the commits...

2013-06-29 Thread David Nalley
On Sat, Jun 29, 2013 at 12:45 AM, Prasanna Santhanam t...@apache.org wrote:
 On Sat, Jun 29, 2013 at 12:18:17AM +, Alex Huang wrote:
 After Dave's complain in the vmsync [MERGE] thread about BVT in
 horrible shape on master, I went around to figure out what exactly
 happened.  The best I can figure is that after a certain merge (I
 will leave out which merge as that's not important), BVT no longer
 runs automatically.  It was promised to be fixed and there are
 people who are actively fixing it but it's been in this way for
 about two weeks.  People running BVTs are working around the problem
 but it's not automated anymore and so it's no longer running on
 master.  I understand people are nice and tried to be accommodating
 to other people by working around the problem but sometimes we just
 have to be an arse.  So let me be that arse...

 New Rule
 If BVT or automated regression tests break on master or any release
 branch, we revert all commits that broke it.  It doesn't matter if
 they promise to fix it within the next hour.  If it's broken, the
 release manager will revert the commits and developers must
 resubmit.  It sounds mean but it's the only way this problem can be
 fixed.

 To avoid having a bunch of reverts and resubmits, the developers
 should be able to request that BVT run on their branch and don't
 merge until BVT on their branch is at 100%.  We will work on
 figuring out how to do that.

 Comments?

 Quick questions:

 1. How do we test contributor code (from github/reviewboard) because
 we have no staging area/branch?


Take a look at the pre-commit testing that hadoop does, that might be
usable for us. Olamy did a blog post about it recently.


 2. Squashing into a big patch is not a good idea. I prefer that we
 keep the clean commit history rebased atop master in the topic branch
 and run the bvt on it. This can be requested and there is ability in
 the test jobs to switch branches already.

 Hit Build (test-matrix job) - choose topic-branch on the form.

 3. BVTs have long runtime (3 HVs - 4hrs). For large merges it makes
 sense since we're going to be waiting 72h for the review/merge
 request. But rest of the time I propose we run it against master only.
 Is this the same as you're proposing?

 4. Who will fix the tests which are broken?


Well if we treat master as frozen until the tests are fixed, then I'd
suppose that folks wanting to get code in will be incentivized to at
least help fix them so that master can start getting code again :)

--David


[DISCUSS] If BVT breaks, revert the commits...

2013-06-28 Thread Alex Huang
After Dave's complain in the vmsync [MERGE] thread about BVT in horrible shape 
on master, I went around to figure out what exactly happened.  The best I can 
figure is that after a certain merge (I will leave out which merge as that's 
not important), BVT no longer runs automatically.  It was promised to be fixed 
and there are people who are actively fixing it but it's been in this way for 
about two weeks.  People running BVTs are working around the problem but it's 
not automated anymore and so it's no longer running on master.  I understand 
people are nice and tried to be accommodating to other people by working around 
the problem but sometimes we just have to be an arse.  So let me be that arse...

New Rule
If BVT or automated regression tests break on master or any release branch, we 
revert all commits that broke it.  It doesn't matter if they promise to fix it 
within the next hour.  If it's broken, the release manager will revert the 
commits and developers must resubmit.  It sounds mean but it's the only way 
this problem can be fixed.  

To avoid having a bunch of reverts and resubmits, the developers should be able 
to request that BVT run on their branch and don't merge until BVT on their 
branch is at 100%.  We will work on figuring out how to do that.

Comments?

--Alex


Re: [DISCUSS] If BVT breaks, revert the commits...

2013-06-28 Thread Hugo Trippaers
Alex,

+1

From the jenkins side we could make more jobs with parameters so anyone can 
kick-off a test run on his/her branch. I don't know if that would work for the 
BVT tests though.

This only thing i'm a bit afraid of is the technical side of reverting a merge. 
It's one of those this that you need to be careful with in git.

Cheers,

Hugo



On Jun 28, 2013, at 5:18 PM, Alex Huang alex.hu...@citrix.com wrote:

 After Dave's complain in the vmsync [MERGE] thread about BVT in horrible 
 shape on master, I went around to figure out what exactly happened.  The best 
 I can figure is that after a certain merge (I will leave out which merge as 
 that's not important), BVT no longer runs automatically.  It was promised to 
 be fixed and there are people who are actively fixing it but it's been in 
 this way for about two weeks.  People running BVTs are working around the 
 problem but it's not automated anymore and so it's no longer running on 
 master.  I understand people are nice and tried to be accommodating to other 
 people by working around the problem but sometimes we just have to be an 
 arse.  So let me be that arse...
 
 New Rule
 If BVT or automated regression tests break on master or any release branch, 
 we revert all commits that broke it.  It doesn't matter if they promise to 
 fix it within the next hour.  If it's broken, the release manager will revert 
 the commits and developers must resubmit.  It sounds mean but it's the only 
 way this problem can be fixed.  
 
 To avoid having a bunch of reverts and resubmits, the developers should be 
 able to request that BVT run on their branch and don't merge until BVT on 
 their branch is at 100%.  We will work on figuring out how to do that.
 
 Comments?
 
 --Alex



RE: [DISCUSS] If BVT breaks, revert the commits...

2013-06-28 Thread Alex Huang
 This only thing i'm a bit afraid of is the technical side of reverting a 
 merge. It's
 one of those this that you need to be careful with in git.

I think this means all merges must come in as one big squashed patch.  If they 
come in as multiple commits or rebase, then it gets reverted automatically.

--Alex


Re: [DISCUSS] If BVT breaks, revert the commits...

2013-06-28 Thread Prasanna Santhanam
On Sat, Jun 29, 2013 at 12:18:17AM +, Alex Huang wrote:
 After Dave's complain in the vmsync [MERGE] thread about BVT in
 horrible shape on master, I went around to figure out what exactly
 happened.  The best I can figure is that after a certain merge (I
 will leave out which merge as that's not important), BVT no longer
 runs automatically.  It was promised to be fixed and there are
 people who are actively fixing it but it's been in this way for
 about two weeks.  People running BVTs are working around the problem
 but it's not automated anymore and so it's no longer running on
 master.  I understand people are nice and tried to be accommodating
 to other people by working around the problem but sometimes we just
 have to be an arse.  So let me be that arse...
 
 New Rule
 If BVT or automated regression tests break on master or any release
 branch, we revert all commits that broke it.  It doesn't matter if
 they promise to fix it within the next hour.  If it's broken, the
 release manager will revert the commits and developers must
 resubmit.  It sounds mean but it's the only way this problem can be
 fixed.  
 
 To avoid having a bunch of reverts and resubmits, the developers
 should be able to request that BVT run on their branch and don't
 merge until BVT on their branch is at 100%.  We will work on
 figuring out how to do that.
 
 Comments?
 
Quick questions:

1. How do we test contributor code (from github/reviewboard) because
we have no staging area/branch?

2. Squashing into a big patch is not a good idea. I prefer that we
keep the clean commit history rebased atop master in the topic branch
and run the bvt on it. This can be requested and there is ability in
the test jobs to switch branches already. 

Hit Build (test-matrix job) - choose topic-branch on the form.

3. BVTs have long runtime (3 HVs - 4hrs). For large merges it makes
sense since we're going to be waiting 72h for the review/merge
request. But rest of the time I propose we run it against master only.
Is this the same as you're proposing?

4. Who will fix the tests which are broken?

-- 
Prasanna.,


Powered by BigRock.com