Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-08-23 Thread David Caro
On 07/20/2013 08:53 PM, Alon Bar-Lev wrote:
 
 
 - Original Message -
 From: Eyal Edri ee...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: infra in...@ovirt.org, engine-devel engine-devel@ovirt.org, 
 Fabian Deutsch fabi...@redhat.com
 Sent: Saturday, July 20, 2013 9:41:56 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits

 This change to commit template has nothing to do with CI.
 it's a change that should reflect updated components relevance to the commit
 code.
 
 This commit template is mostly invalid, as touching more than one 'subsystem' 
 is possible, and has not enough granularity.

I suggest using a tag at the end with some extra syntax, like:
Components: core, storage, db
Components: all
Components: all, !core, !db

 
 For example, database change should trigger what?
All the jobs that are tagged for that component (db upgrades I suppose).
And if the changes affect storage components then also storage, if the
changes affect others then those others too.

 Infra change should trigger what?
The same, all the jobs that are tagged as infra.

 A change of both user interface and command should trigger what?
All the jobs tagged by user interface and/or command.

 So you end up with:
 
 userportal: storage: core: db: some message

As I suggested before, I think it's better if you end with a commit
message like:

   Some message

   Components: userportal, storage, core, db

Actually it can be easily done with a tag in the gerrit comment instead
of the commit message.

 
 Just to make who happy?

The developer, the qe, the ci and the infra people. This mechanism is to
avoid running all the tests all the time. Of course there are some times
when all the tests should be run to make sure nothing else changed, but
most times you just need to run part of them to make sure you did not
break something obvious.

 
 And maybe there are 50 tests of network, and you need only 5 of them for the 
 specific change, how do you mark it, so now a developer need to know any 
 test? what if you add one tomorrow which is relevant to a similar change? how 
 do you inform the developer that now he needs 6?

As I said before, what the developer specifies is not a list of tests,
but a list of components, that qe has to map to different sets of tests
that can change with time. So specifying webadmin will run all the tests
in that group, that might be only one, or 100, and might be
increasing/decreasing with time transparently for the developer. Adding
a new component is not common and there's no need to do it so frequently.

 
 Why should it be the developer responsibility and not the quality ensuring 
 engineer responsibility to determine which tests should run and when?

Of course it's the responsibility of the qe engineer to determine when
and which tests should be run. But this is meant to be a new tool for
the developer not a substitute for the full qe tests, so the developer
can easily make sure that he's changes do not break anything obvious
before starting the real tests (that will take more time and resources).
The developer just adds some metadata so the qe engineer can decide
which tests to run per patch, so it's on qe's hand in the end to decide
if ignore or not the metadata and which tests to run.

 
 As far as this template was not actually used for anything but humans, it was 
 not that important, but once you formalize it as an interface, I step forward 
 and state that the subject line is not the right tool for the task at hand 
 (or any for this matter).

I agree with that, I think that it should be a tag similar to Change-Id,
at the end of the commit message.

 
 The fact that you have in each commit are the sources that are modified, all 
 the other data is just plain noise. From the sources that are modified you 
 should be able to derive a test plan with high chance that this test program 
 will be correct. Human intervention should be possible by ordering special 
 tests that are outside of the standard policy, for cases in which the 
 standard policy of deriving tests from sources is too narrow.

That's just not true. The sources are complicated enough to make two
changes in the same file to affect different components. Any reused code
is prone to affect multiple components, making it really hard to
determine by which changed files which tests to run. And if you go down
to the function/class level it's even harder to decide and to maintain.
And of course it's not human error free, as the metadata in the
files/directories is defined and maintained by a human. And in my
opinion is a lot harder to implement and maintain, and a lot less agile,
and does not get rid of the human factor.


 
 Regards,
 Alon
 
 

 Nevertheless, i have no problems with your suggestions for metadata per
 directory to map all ovirt code.
 any suggestion how to push it forward?

 Eyal.

 - Original Message -
 From: Alon Bar-Lev alo...@redhat.com
 To: Eyal Edri ee

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-08-23 Thread Alon Bar-Lev


- Original Message -
 From: David Caro dcaro...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: Eyal Edri ee...@redhat.com, engine-devel engine-devel@ovirt.org, 
 infra in...@ovirt.org
 Sent: Friday, August 23, 2013 11:16:31 AM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 On 07/20/2013 08:53 PM, Alon Bar-Lev wrote:
  
  
  - Original Message -
  From: Eyal Edri ee...@redhat.com
  To: Alon Bar-Lev alo...@redhat.com
  Cc: infra in...@ovirt.org, engine-devel engine-devel@ovirt.org,
  Fabian Deutsch fabi...@redhat.com
  Sent: Saturday, July 20, 2013 9:41:56 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
  commits
 
  This change to commit template has nothing to do with CI.
  it's a change that should reflect updated components relevance to the
  commit
  code.
  
  This commit template is mostly invalid, as touching more than one
  'subsystem' is possible, and has not enough granularity.
 
 I suggest using a tag at the end with some extra syntax, like:
 Components: core, storage, db
 Components: all
 Components: all, !core, !db
 
  
  For example, database change should trigger what?
 All the jobs that are tagged for that component (db upgrades I suppose).
 And if the changes affect storage components then also storage, if the
 changes affect others then those others too.
 
  Infra change should trigger what?
 The same, all the jobs that are tagged as infra.
 
  A change of both user interface and command should trigger what?
 All the jobs tagged by user interface and/or command.
 
  So you end up with:
  
  userportal: storage: core: db: some message
 
 As I suggested before, I think it's better if you end with a commit
 message like:
 
Some message
 
Components: userportal, storage, core, db
 
 Actually it can be easily done with a tag in the gerrit comment instead
 of the commit message.
 
  
  Just to make who happy?
 
 The developer, the qe, the ci and the infra people. This mechanism is to
 avoid running all the tests all the time. Of course there are some times
 when all the tests should be run to make sure nothing else changed, but
 most times you just need to run part of them to make sure you did not
 break something obvious.
 
  
  And maybe there are 50 tests of network, and you need only 5 of them for
  the specific change, how do you mark it, so now a developer need to know
  any test? what if you add one tomorrow which is relevant to a similar
  change? how do you inform the developer that now he needs 6?
 
 As I said before, what the developer specifies is not a list of tests,
 but a list of components, that qe has to map to different sets of tests
 that can change with time. So specifying webadmin will run all the tests
 in that group, that might be only one, or 100, and might be
 increasing/decreasing with time transparently for the developer. Adding
 a new component is not common and there's no need to do it so frequently.
 
  
  Why should it be the developer responsibility and not the quality ensuring
  engineer responsibility to determine which tests should run and when?
 
 Of course it's the responsibility of the qe engineer to determine when
 and which tests should be run. But this is meant to be a new tool for
 the developer not a substitute for the full qe tests, so the developer
 can easily make sure that he's changes do not break anything obvious
 before starting the real tests (that will take more time and resources).
 The developer just adds some metadata so the qe engineer can decide
 which tests to run per patch, so it's on qe's hand in the end to decide
 if ignore or not the metadata and which tests to run.
 
  
  As far as this template was not actually used for anything but humans, it
  was not that important, but once you formalize it as an interface, I step
  forward and state that the subject line is not the right tool for the task
  at hand (or any for this matter).
 
 I agree with that, I think that it should be a tag similar to Change-Id,
 at the end of the commit message.
 
  
  The fact that you have in each commit are the sources that are modified,
  all the other data is just plain noise. From the sources that are modified
  you should be able to derive a test plan with high chance that this test
  program will be correct. Human intervention should be possible by ordering
  special tests that are outside of the standard policy, for cases in which
  the standard policy of deriving tests from sources is too narrow.
 
 That's just not true. The sources are complicated enough to make two
 changes in the same file to affect different components. Any reused code
 is prone to affect multiple components, making it really hard to
 determine by which changed files which tests to run. And if you go down
 to the function/class level it's even harder to decide and to maintain.
 And of course it's not human error free, as the metadata in the
 files/directories is defined

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-08-23 Thread David Caro Estevez


- Original Message -
 From: Alon Bar-Lev alo...@redhat.com
 To: David Caro dcaro...@redhat.com
 Cc: Eyal Edri ee...@redhat.com, engine-devel engine-devel@ovirt.org, 
 infra in...@ovirt.org
 Sent: Friday, August 23, 2013 10:45:37 AM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 
 
 - Original Message -
  From: David Caro dcaro...@redhat.com
  To: Alon Bar-Lev alo...@redhat.com
  Cc: Eyal Edri ee...@redhat.com, engine-devel
  engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Friday, August 23, 2013 11:16:31 AM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
  commits
  
  On 07/20/2013 08:53 PM, Alon Bar-Lev wrote:
   
   
   - Original Message -
   From: Eyal Edri ee...@redhat.com
   To: Alon Bar-Lev alo...@redhat.com
   Cc: infra in...@ovirt.org, engine-devel engine-devel@ovirt.org,
   Fabian Deutsch fabi...@redhat.com
   Sent: Saturday, July 20, 2013 9:41:56 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine
   commits
  
   This change to commit template has nothing to do with CI.
   it's a change that should reflect updated components relevance to the
   commit
   code.
   
   This commit template is mostly invalid, as touching more than one
   'subsystem' is possible, and has not enough granularity.
  
  I suggest using a tag at the end with some extra syntax, like:
  Components: core, storage, db
  Components: all
  Components: all, !core, !db
  
   
   For example, database change should trigger what?
  All the jobs that are tagged for that component (db upgrades I suppose).
  And if the changes affect storage components then also storage, if the
  changes affect others then those others too.
  
   Infra change should trigger what?
  The same, all the jobs that are tagged as infra.
  
   A change of both user interface and command should trigger what?
  All the jobs tagged by user interface and/or command.
  
   So you end up with:
   
   userportal: storage: core: db: some message
  
  As I suggested before, I think it's better if you end with a commit
  message like:
  
 Some message
  
 Components: userportal, storage, core, db
  
  Actually it can be easily done with a tag in the gerrit comment instead
  of the commit message.
  
   
   Just to make who happy?
  
  The developer, the qe, the ci and the infra people. This mechanism is to
  avoid running all the tests all the time. Of course there are some times
  when all the tests should be run to make sure nothing else changed, but
  most times you just need to run part of them to make sure you did not
  break something obvious.
  
   
   And maybe there are 50 tests of network, and you need only 5 of them for
   the specific change, how do you mark it, so now a developer need to know
   any test? what if you add one tomorrow which is relevant to a similar
   change? how do you inform the developer that now he needs 6?
  
  As I said before, what the developer specifies is not a list of tests,
  but a list of components, that qe has to map to different sets of tests
  that can change with time. So specifying webadmin will run all the tests
  in that group, that might be only one, or 100, and might be
  increasing/decreasing with time transparently for the developer. Adding
  a new component is not common and there's no need to do it so frequently.
  
   
   Why should it be the developer responsibility and not the quality
   ensuring
   engineer responsibility to determine which tests should run and when?
  
  Of course it's the responsibility of the qe engineer to determine when
  and which tests should be run. But this is meant to be a new tool for
  the developer not a substitute for the full qe tests, so the developer
  can easily make sure that he's changes do not break anything obvious
  before starting the real tests (that will take more time and resources).
  The developer just adds some metadata so the qe engineer can decide
  which tests to run per patch, so it's on qe's hand in the end to decide
  if ignore or not the metadata and which tests to run.
  
   
   As far as this template was not actually used for anything but humans, it
   was not that important, but once you formalize it as an interface, I step
   forward and state that the subject line is not the right tool for the
   task
   at hand (or any for this matter).
  
  I agree with that, I think that it should be a tag similar to Change-Id,
  at the end of the commit message.
  
   
   The fact that you have in each commit are the sources that are modified,
   all the other data is just plain noise. From the sources that are
   modified
   you should be able to derive a test plan with high chance that this test
   program will be correct. Human intervention should be possible by
   ordering
   special tests that are outside of the standard policy, for cases in which
   the standard policy of deriving tests from sources is too narrow

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-08-23 Thread Alon Bar-Lev


- Original Message -
 From: David Caro Estevez dcaro...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: Eyal Edri ee...@redhat.com, engine-devel engine-devel@ovirt.org, 
 infra in...@ovirt.org
 Sent: Friday, August 23, 2013 1:00:38 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 
 
 - Original Message -
  From: Alon Bar-Lev alo...@redhat.com
  To: David Caro dcaro...@redhat.com
  Cc: Eyal Edri ee...@redhat.com, engine-devel
  engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Friday, August 23, 2013 10:45:37 AM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
  commits
  
  
  
  - Original Message -
   From: David Caro dcaro...@redhat.com
   To: Alon Bar-Lev alo...@redhat.com
   Cc: Eyal Edri ee...@redhat.com, engine-devel
   engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Friday, August 23, 2013 11:16:31 AM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
   commits
   
   On 07/20/2013 08:53 PM, Alon Bar-Lev wrote:


- Original Message -
From: Eyal Edri ee...@redhat.com
To: Alon Bar-Lev alo...@redhat.com
Cc: infra in...@ovirt.org, engine-devel
engine-devel@ovirt.org,
Fabian Deutsch fabi...@redhat.com
Sent: Saturday, July 20, 2013 9:41:56 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for
engine
commits
   
This change to commit template has nothing to do with CI.
it's a change that should reflect updated components relevance to the
commit
code.

This commit template is mostly invalid, as touching more than one
'subsystem' is possible, and has not enough granularity.
   
   I suggest using a tag at the end with some extra syntax, like:
   Components: core, storage, db
   Components: all
   Components: all, !core, !db
   

For example, database change should trigger what?
   All the jobs that are tagged for that component (db upgrades I suppose).
   And if the changes affect storage components then also storage, if the
   changes affect others then those others too.
   
Infra change should trigger what?
   The same, all the jobs that are tagged as infra.
   
A change of both user interface and command should trigger what?
   All the jobs tagged by user interface and/or command.
   
So you end up with:

userportal: storage: core: db: some message
   
   As I suggested before, I think it's better if you end with a commit
   message like:
   
  Some message
   
  Components: userportal, storage, core, db
   
   Actually it can be easily done with a tag in the gerrit comment instead
   of the commit message.
   

Just to make who happy?
   
   The developer, the qe, the ci and the infra people. This mechanism is to
   avoid running all the tests all the time. Of course there are some times
   when all the tests should be run to make sure nothing else changed, but
   most times you just need to run part of them to make sure you did not
   break something obvious.
   

And maybe there are 50 tests of network, and you need only 5 of them
for
the specific change, how do you mark it, so now a developer need to
know
any test? what if you add one tomorrow which is relevant to a similar
change? how do you inform the developer that now he needs 6?
   
   As I said before, what the developer specifies is not a list of tests,
   but a list of components, that qe has to map to different sets of tests
   that can change with time. So specifying webadmin will run all the tests
   in that group, that might be only one, or 100, and might be
   increasing/decreasing with time transparently for the developer. Adding
   a new component is not common and there's no need to do it so frequently.
   

Why should it be the developer responsibility and not the quality
ensuring
engineer responsibility to determine which tests should run and when?
   
   Of course it's the responsibility of the qe engineer to determine when
   and which tests should be run. But this is meant to be a new tool for
   the developer not a substitute for the full qe tests, so the developer
   can easily make sure that he's changes do not break anything obvious
   before starting the real tests (that will take more time and resources).
   The developer just adds some metadata so the qe engineer can decide
   which tests to run per patch, so it's on qe's hand in the end to decide
   if ignore or not the metadata and which tests to run.
   

As far as this template was not actually used for anything but humans,
it
was not that important, but once you formalize it as an interface, I
step
forward and state that the subject line is not the right tool for the
task
at hand (or any for this matter).
   
   I agree with that, I think that it should be a tag similar to Change-Id,
   at the end of the commit

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-08-23 Thread David Caro
On Fri 23 Aug 2013 12:19:01 PM CEST, Alon Bar-Lev wrote:


 - Original Message -
 From: David Caro Estevez dcaro...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: Eyal Edri ee...@redhat.com, engine-devel engine-devel@ovirt.org, 
 infra in...@ovirt.org
 Sent: Friday, August 23, 2013 1:00:38 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits



 - Original Message -
 From: Alon Bar-Lev alo...@redhat.com
 To: David Caro dcaro...@redhat.com
 Cc: Eyal Edri ee...@redhat.com, engine-devel
 engine-devel@ovirt.org, infra in...@ovirt.org
 Sent: Friday, August 23, 2013 10:45:37 AM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
 commits



 - Original Message -
 From: David Caro dcaro...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: Eyal Edri ee...@redhat.com, engine-devel
 engine-devel@ovirt.org, infra in...@ovirt.org
 Sent: Friday, August 23, 2013 11:16:31 AM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
 commits

 On 07/20/2013 08:53 PM, Alon Bar-Lev wrote:


 - Original Message -
 From: Eyal Edri ee...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: infra in...@ovirt.org, engine-devel
 engine-devel@ovirt.org,
 Fabian Deutsch fabi...@redhat.com
 Sent: Saturday, July 20, 2013 9:41:56 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for
 engine
 commits

 This change to commit template has nothing to do with CI.
 it's a change that should reflect updated components relevance to the
 commit
 code.

 This commit template is mostly invalid, as touching more than one
 'subsystem' is possible, and has not enough granularity.

 I suggest using a tag at the end with some extra syntax, like:
 Components: core, storage, db
 Components: all
 Components: all, !core, !db


 For example, database change should trigger what?
 All the jobs that are tagged for that component (db upgrades I suppose).
 And if the changes affect storage components then also storage, if the
 changes affect others then those others too.

 Infra change should trigger what?
 The same, all the jobs that are tagged as infra.

 A change of both user interface and command should trigger what?
 All the jobs tagged by user interface and/or command.

 So you end up with:

 userportal: storage: core: db: some message

 As I suggested before, I think it's better if you end with a commit
 message like:

Some message

Components: userportal, storage, core, db

 Actually it can be easily done with a tag in the gerrit comment instead
 of the commit message.


 Just to make who happy?

 The developer, the qe, the ci and the infra people. This mechanism is to
 avoid running all the tests all the time. Of course there are some times
 when all the tests should be run to make sure nothing else changed, but
 most times you just need to run part of them to make sure you did not
 break something obvious.


 And maybe there are 50 tests of network, and you need only 5 of them
 for
 the specific change, how do you mark it, so now a developer need to
 know
 any test? what if you add one tomorrow which is relevant to a similar
 change? how do you inform the developer that now he needs 6?

 As I said before, what the developer specifies is not a list of tests,
 but a list of components, that qe has to map to different sets of tests
 that can change with time. So specifying webadmin will run all the tests
 in that group, that might be only one, or 100, and might be
 increasing/decreasing with time transparently for the developer. Adding
 a new component is not common and there's no need to do it so frequently.


 Why should it be the developer responsibility and not the quality
 ensuring
 engineer responsibility to determine which tests should run and when?

 Of course it's the responsibility of the qe engineer to determine when
 and which tests should be run. But this is meant to be a new tool for
 the developer not a substitute for the full qe tests, so the developer
 can easily make sure that he's changes do not break anything obvious
 before starting the real tests (that will take more time and resources).
 The developer just adds some metadata so the qe engineer can decide
 which tests to run per patch, so it's on qe's hand in the end to decide
 if ignore or not the metadata and which tests to run.


 As far as this template was not actually used for anything but humans,
 it
 was not that important, but once you formalize it as an interface, I
 step
 forward and state that the subject line is not the right tool for the
 task
 at hand (or any for this matter).

 I agree with that, I think that it should be a tag similar to Change-Id,
 at the end of the commit message.


 The fact that you have in each commit are the sources that are
 modified,
 all the other data is just plain noise. From the sources that are
 modified
 you should be able to derive a test plan with high chance that this
 test
 program

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-20 Thread Eyal Edri
OK, Rome wasn't built in a day.

To move things forward, 
I propose we'll just improve current commit header template to include more 
relevant code
areas [1], and start looking into mapping all code to the relevant components 
(either via renaming folders, adding a metadata file under each folder mapping 
the files/classnames/directory names or using automated tools like sonar)

[1] instead of   core | restapi | tools | history | engine | 
userportal | webadmin
change to something like core | restapi | tools | userportal | webadmin | 
network | storage | virt | packaging

Eyal.

- Original Message -
 From: Moran Goldboim mgold...@redhat.com
 To: Eyal Edri ee...@redhat.com
 Cc: Fabian Deutsch fabi...@redhat.com, engine-devel 
 engine-devel@ovirt.org, infra in...@ovirt.org
 Sent: Sunday, July 14, 2013 6:07:05 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 On 07/11/2013 11:57 AM, Eyal Edri wrote:
 
  - Original Message -
  From: Fabian Deutsch fabi...@redhat.com
  To: Eyal Edri ee...@redhat.com
  Cc: Alon Bar-Lev alo...@redhat.com, engine-devel
  engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Thursday, July 11, 2013 11:41:24 AM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
  commits
 
  Am Mittwoch, den 10.07.2013, 15:27 -0400 schrieb Eyal Edri:
  - Original Message -
  From: Fabian Deutsch fabi...@redhat.com
  To: Alon Bar-Lev alo...@redhat.com
  Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Tuesday, July 9, 2013 3:54:06 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for
  engine
  commits
 
  Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:
 
  - Original Message -
  From: Yair Zaslavsky yzasl...@redhat.com
  To: Alon Bar-Lev alo...@redhat.com
  Cc: Eyal Edri ee...@redhat.com, engine-devel
  engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Tuesday, July 9, 2013 3:42:24 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for
  engine commits
 
 
  - Original Message -
  From: Alon Bar-Lev alo...@redhat.com
  To: Eyal Edri ee...@redhat.com
  Cc: engine-devel engine-devel@ovirt.org, infra
  in...@ovirt.org
  Sent: Tuesday, July 9, 2013 3:33:57 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for
  engine
   commits
 
 
 
  - Original Message -
  From: Eyal Edri ee...@redhat.com
  To: engine-devel engine-devel@ovirt.org
  Cc: infra in...@ovirt.org
  Sent: Tuesday, July 9, 2013 12:38:51 PM
  Subject: Proposal for new commit msg design for engine commits
 
  Hi,
 
  You all probably know and familiar with 'ovirt-engine' git hook
  for
  commit
  msg template [1].
  this helps understand the general area of the patch in the
  project but it
  lacks additional info that might
  be valuable for scaling automatic tests in Jenkins CI.
 
  Let me explain:
 
  Infra team is working hard on expanding oVirt CI infrastructure
  and
  adding
  more tests in jenkins (per commit/patch).
  Adding important meta-data per patch can significatly improve
  the ability
  to
  run specific tests for each patch/commit,
  and not waste valuable resources on Jenkins jobs that are not
  relevant to
  the
  code in the patch.
 
  So the idea is to add/expand current metadata per patch, in the
  form of:
  (either)
1. expanding current header template to include more data like
  'network'
,
'setup', 'tools', 'virt'
  Please do not expand header, it is too short anyway.
 
2. adding a new label with relevant tags for the patch, called
  e.g
'METADATA: network, rest, virt'
  Having:
 
  CI-Tests: xxx
  CI-Tests: yyy
  CI-Tests: zzz
 
  Is much better.
  I'm not sure we should have CI-Test - as we might use this for
  something else
  besides CI.
  Region_of_Interest as Dan suggests sounds better IMHO.
  I don't care how this is to be called.
  However, I do not think that commit message is the place for
  instructing CI to do anything.
  Commit message stays for good, it should contain information that is
  required a year from now.
  It has nothing to do with tests and such.
  I agree with Alon here that the Ci informations don't belong in the
  commit msg.
  My opinion is that a testcase should know what it covers. This
  information from the testcase can then be used by any party to determin
  if the testcase should be run on a specific commit (which yields
  informations about the changed paths, files, owner, author, etc ...
  which might be valuable).
  i think you're missing the point here.
  can you explain how do you propose a test case will know what it
  covers?
 
  let's take an example:
  let's say a new commit comes from ovirt-engine:
  http://gerrit.ovirt.org/#/c/16668/
  commit msg: core: Use images instead of volumes at CDA message.
 
  now you have 1000 test cases (could be system or functional test).
  (let's assume that your infra can't support running

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-20 Thread Alon Bar-Lev


- Original Message -
 From: Eyal Edri ee...@redhat.com
 To: infra in...@ovirt.org
 Cc: engine-devel engine-devel@ovirt.org, Fabian Deutsch 
 fabi...@redhat.com
 Sent: Saturday, July 20, 2013 8:34:28 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 OK, Rome wasn't built in a day.
 
 To move things forward,
 I propose we'll just improve current commit header template to include more
 relevant code
 areas [1], and start looking into mapping all code to the relevant components
 (either via renaming folders, adding a metadata file under each folder
 mapping the files/classnames/directory names or using automated tools like
 sonar)

Again, and I am sorry, but I disagree of any relationship between commit 
message and CI.

It will be simple to add metadata to sources, and have CI run tests based on 
actual source change thus probable impact, this way we won't be exposed to 
human errors, nor make commit message unusable for actual history.

All we need is someone to take ownership of the task of adding metadata to 
source tree.

As I proposed this can be either within every source using special signature, 
or can be in a directory at special file, for example .ovirt-metadata, and have 
the mapping between source component to relevant tests at a simple text file at 
source root.

Regards,
Alon Bar-Lev.

 
 [1] instead of   core | restapi | tools | history | engine |
 userportal | webadmin
 change to something like core | restapi | tools | userportal | webadmin
 | network | storage | virt | packaging
 
 Eyal.
 
 - Original Message -
  From: Moran Goldboim mgold...@redhat.com
  To: Eyal Edri ee...@redhat.com
  Cc: Fabian Deutsch fabi...@redhat.com, engine-devel
  engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Sunday, July 14, 2013 6:07:05 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
  commits
  
  On 07/11/2013 11:57 AM, Eyal Edri wrote:
  
   - Original Message -
   From: Fabian Deutsch fabi...@redhat.com
   To: Eyal Edri ee...@redhat.com
   Cc: Alon Bar-Lev alo...@redhat.com, engine-devel
   engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Thursday, July 11, 2013 11:41:24 AM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine
   commits
  
   Am Mittwoch, den 10.07.2013, 15:27 -0400 schrieb Eyal Edri:
   - Original Message -
   From: Fabian Deutsch fabi...@redhat.com
   To: Alon Bar-Lev alo...@redhat.com
   Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Tuesday, July 9, 2013 3:54:06 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine
   commits
  
   Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:
  
   - Original Message -
   From: Yair Zaslavsky yzasl...@redhat.com
   To: Alon Bar-Lev alo...@redhat.com
   Cc: Eyal Edri ee...@redhat.com, engine-devel
   engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Tuesday, July 9, 2013 3:42:24 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine commits
  
  
   - Original Message -
   From: Alon Bar-Lev alo...@redhat.com
   To: Eyal Edri ee...@redhat.com
   Cc: engine-devel engine-devel@ovirt.org, infra
   in...@ovirt.org
   Sent: Tuesday, July 9, 2013 3:33:57 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine
commits
  
  
  
   - Original Message -
   From: Eyal Edri ee...@redhat.com
   To: engine-devel engine-devel@ovirt.org
   Cc: infra in...@ovirt.org
   Sent: Tuesday, July 9, 2013 12:38:51 PM
   Subject: Proposal for new commit msg design for engine commits
  
   Hi,
  
   You all probably know and familiar with 'ovirt-engine' git hook
   for
   commit
   msg template [1].
   this helps understand the general area of the patch in the
   project but it
   lacks additional info that might
   be valuable for scaling automatic tests in Jenkins CI.
  
   Let me explain:
  
   Infra team is working hard on expanding oVirt CI infrastructure
   and
   adding
   more tests in jenkins (per commit/patch).
   Adding important meta-data per patch can significatly improve
   the ability
   to
   run specific tests for each patch/commit,
   and not waste valuable resources on Jenkins jobs that are not
   relevant to
   the
   code in the patch.
  
   So the idea is to add/expand current metadata per patch, in the
   form of:
   (either)
 1. expanding current header template to include more data like
   'network'
 ,
 'setup', 'tools', 'virt'
   Please do not expand header, it is too short anyway.
  
 2. adding a new label with relevant tags for the patch, called
   e.g
 'METADATA: network, rest, virt'
   Having:
  
   CI-Tests: xxx
   CI-Tests: yyy
   CI-Tests: zzz
  
   Is much better.
   I'm not sure we should have CI-Test - as we might use this for
   something else
   besides CI.
   Region_of_Interest as Dan suggests

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-20 Thread Eyal Edri
This change to commit template has nothing to do with CI.
it's a change that should reflect updated components relevance to the commit 
code.

Nevertheless, i have no problems with your suggestions for metadata per 
directory to map all ovirt code.
any suggestion how to push it forward? 

Eyal.

- Original Message -
 From: Alon Bar-Lev alo...@redhat.com
 To: Eyal Edri ee...@redhat.com
 Cc: infra in...@ovirt.org, engine-devel engine-devel@ovirt.org, 
 Fabian Deutsch fabi...@redhat.com
 Sent: Saturday, July 20, 2013 9:34:13 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 
 
 - Original Message -
  From: Eyal Edri ee...@redhat.com
  To: infra in...@ovirt.org
  Cc: engine-devel engine-devel@ovirt.org, Fabian Deutsch
  fabi...@redhat.com
  Sent: Saturday, July 20, 2013 8:34:28 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
  commits
  
  OK, Rome wasn't built in a day.
  
  To move things forward,
  I propose we'll just improve current commit header template to include more
  relevant code
  areas [1], and start looking into mapping all code to the relevant
  components
  (either via renaming folders, adding a metadata file under each folder
  mapping the files/classnames/directory names or using automated tools like
  sonar)
 
 Again, and I am sorry, but I disagree of any relationship between commit
 message and CI.
 
 It will be simple to add metadata to sources, and have CI run tests based on
 actual source change thus probable impact, this way we won't be exposed to
 human errors, nor make commit message unusable for actual history.
 
 All we need is someone to take ownership of the task of adding metadata to
 source tree.
 
 As I proposed this can be either within every source using special signature,
 or can be in a directory at special file, for example .ovirt-metadata, and
 have the mapping between source component to relevant tests at a simple text
 file at source root.
 
 Regards,
 Alon Bar-Lev.
 
  
  [1] instead of   core | restapi | tools | history | engine |
  userportal | webadmin
  change to something like core | restapi | tools | userportal |
  webadmin
  | network | storage | virt | packaging
  
  Eyal.
  
  - Original Message -
   From: Moran Goldboim mgold...@redhat.com
   To: Eyal Edri ee...@redhat.com
   Cc: Fabian Deutsch fabi...@redhat.com, engine-devel
   engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Sunday, July 14, 2013 6:07:05 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
   commits
   
   On 07/11/2013 11:57 AM, Eyal Edri wrote:
   
- Original Message -
From: Fabian Deutsch fabi...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: Alon Bar-Lev alo...@redhat.com, engine-devel
engine-devel@ovirt.org, infra in...@ovirt.org
Sent: Thursday, July 11, 2013 11:41:24 AM
Subject: Re: [Engine-devel] Proposal for new commit msg design for
engine
commits
   
Am Mittwoch, den 10.07.2013, 15:27 -0400 schrieb Eyal Edri:
- Original Message -
From: Fabian Deutsch fabi...@redhat.com
To: Alon Bar-Lev alo...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra
in...@ovirt.org
Sent: Tuesday, July 9, 2013 3:54:06 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for
engine
commits
   
Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:
   
- Original Message -
From: Yair Zaslavsky yzasl...@redhat.com
To: Alon Bar-Lev alo...@redhat.com
Cc: Eyal Edri ee...@redhat.com, engine-devel
engine-devel@ovirt.org, infra in...@ovirt.org
Sent: Tuesday, July 9, 2013 3:42:24 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for
engine commits
   
   
- Original Message -
From: Alon Bar-Lev alo...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra
in...@ovirt.org
Sent: Tuesday, July 9, 2013 3:33:57 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design
for
engine
 commits
   
   
   
- Original Message -
From: Eyal Edri ee...@redhat.com
To: engine-devel engine-devel@ovirt.org
Cc: infra in...@ovirt.org
Sent: Tuesday, July 9, 2013 12:38:51 PM
Subject: Proposal for new commit msg design for engine commits
   
Hi,
   
You all probably know and familiar with 'ovirt-engine' git hook
for
commit
msg template [1].
this helps understand the general area of the patch in the
project but it
lacks additional info that might
be valuable for scaling automatic tests in Jenkins CI.
   
Let me explain:
   
Infra team is working hard on expanding oVirt CI infrastructure
and
adding
more tests in jenkins (per commit/patch).
Adding important meta-data per patch can significatly improve
the ability

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-20 Thread Alon Bar-Lev


- Original Message -
 From: Eyal Edri ee...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: infra in...@ovirt.org, engine-devel engine-devel@ovirt.org, 
 Fabian Deutsch fabi...@redhat.com
 Sent: Saturday, July 20, 2013 9:41:56 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 This change to commit template has nothing to do with CI.
 it's a change that should reflect updated components relevance to the commit
 code.

This commit template is mostly invalid, as touching more than one 'subsystem' 
is possible, and has not enough granularity.

For example, database change should trigger what?
Infra change should trigger what?
A change of both user interface and command should trigger what?
So you end up with:

userportal: storage: core: db: some message

Just to make who happy?

And maybe there are 50 tests of network, and you need only 5 of them for the 
specific change, how do you mark it, so now a developer need to know any test? 
what if you add one tomorrow which is relevant to a similar change? how do you 
inform the developer that now he needs 6?

Why should it be the developer responsibility and not the quality ensuring 
engineer responsibility to determine which tests should run and when?

As far as this template was not actually used for anything but humans, it was 
not that important, but once you formalize it as an interface, I step forward 
and state that the subject line is not the right tool for the task at hand (or 
any for this matter).

The fact that you have in each commit are the sources that are modified, all 
the other data is just plain noise. From the sources that are modified you 
should be able to derive a test plan with high chance that this test program 
will be correct. Human intervention should be possible by ordering special 
tests that are outside of the standard policy, for cases in which the standard 
policy of deriving tests from sources is too narrow.

Regards,
Alon


 
 Nevertheless, i have no problems with your suggestions for metadata per
 directory to map all ovirt code.
 any suggestion how to push it forward?
 
 Eyal.
 
 - Original Message -
  From: Alon Bar-Lev alo...@redhat.com
  To: Eyal Edri ee...@redhat.com
  Cc: infra in...@ovirt.org, engine-devel engine-devel@ovirt.org,
  Fabian Deutsch fabi...@redhat.com
  Sent: Saturday, July 20, 2013 9:34:13 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
  commits
  
  
  
  - Original Message -
   From: Eyal Edri ee...@redhat.com
   To: infra in...@ovirt.org
   Cc: engine-devel engine-devel@ovirt.org, Fabian Deutsch
   fabi...@redhat.com
   Sent: Saturday, July 20, 2013 8:34:28 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
   commits
   
   OK, Rome wasn't built in a day.
   
   To move things forward,
   I propose we'll just improve current commit header template to include
   more
   relevant code
   areas [1], and start looking into mapping all code to the relevant
   components
   (either via renaming folders, adding a metadata file under each folder
   mapping the files/classnames/directory names or using automated tools
   like
   sonar)
  
  Again, and I am sorry, but I disagree of any relationship between commit
  message and CI.
  
  It will be simple to add metadata to sources, and have CI run tests based
  on
  actual source change thus probable impact, this way we won't be exposed to
  human errors, nor make commit message unusable for actual history.
  
  All we need is someone to take ownership of the task of adding metadata to
  source tree.
  
  As I proposed this can be either within every source using special
  signature,
  or can be in a directory at special file, for example .ovirt-metadata, and
  have the mapping between source component to relevant tests at a simple
  text
  file at source root.
  
  Regards,
  Alon Bar-Lev.
  
   
   [1] instead of   core | restapi | tools | history | engine |
   userportal | webadmin
   change to something like core | restapi | tools | userportal |
   webadmin
   | network | storage | virt | packaging
   
   Eyal.
   
   - Original Message -
From: Moran Goldboim mgold...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: Fabian Deutsch fabi...@redhat.com, engine-devel
engine-devel@ovirt.org, infra in...@ovirt.org
Sent: Sunday, July 14, 2013 6:07:05 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for
engine
commits

On 07/11/2013 11:57 AM, Eyal Edri wrote:

 - Original Message -
 From: Fabian Deutsch fabi...@redhat.com
 To: Eyal Edri ee...@redhat.com
 Cc: Alon Bar-Lev alo...@redhat.com, engine-devel
 engine-devel@ovirt.org, infra in...@ovirt.org
 Sent: Thursday, July 11, 2013 11:41:24 AM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for
 engine
 commits

 Am Mittwoch, den

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-14 Thread Moran Goldboim

On 07/11/2013 11:57 AM, Eyal Edri wrote:


- Original Message -

From: Fabian Deutsch fabi...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: Alon Bar-Lev alo...@redhat.com, engine-devel engine-devel@ovirt.org, 
infra in...@ovirt.org
Sent: Thursday, July 11, 2013 11:41:24 AM
Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
commits

Am Mittwoch, den 10.07.2013, 15:27 -0400 schrieb Eyal Edri:

- Original Message -

From: Fabian Deutsch fabi...@redhat.com
To: Alon Bar-Lev alo...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
Sent: Tuesday, July 9, 2013 3:54:06 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
commits

Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:


- Original Message -

From: Yair Zaslavsky yzasl...@redhat.com
To: Alon Bar-Lev alo...@redhat.com
Cc: Eyal Edri ee...@redhat.com, engine-devel

engine-devel@ovirt.org, infra in...@ovirt.org

Sent: Tuesday, July 9, 2013 3:42:24 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for

engine commits



- Original Message -

From: Alon Bar-Lev alo...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra

in...@ovirt.org

Sent: Tuesday, July 9, 2013 3:33:57 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for

engine

 commits



- Original Message -

From: Eyal Edri ee...@redhat.com
To: engine-devel engine-devel@ovirt.org
Cc: infra in...@ovirt.org
Sent: Tuesday, July 9, 2013 12:38:51 PM
Subject: Proposal for new commit msg design for engine commits

Hi,

You all probably know and familiar with 'ovirt-engine' git hook

for

commit
msg template [1].
this helps understand the general area of the patch in the

project but it

lacks additional info that might
be valuable for scaling automatic tests in Jenkins CI.

Let me explain:

Infra team is working hard on expanding oVirt CI infrastructure

and

adding
more tests in jenkins (per commit/patch).
Adding important meta-data per patch can significatly improve

the ability

to
run specific tests for each patch/commit,
and not waste valuable resources on Jenkins jobs that are not

relevant to

the
code in the patch.

So the idea is to add/expand current metadata per patch, in the

form of:

(either)
  1. expanding current header template to include more data like

'network'

  ,
  'setup', 'tools', 'virt'

Please do not expand header, it is too short anyway.


  2. adding a new label with relevant tags for the patch, called

e.g

  'METADATA: network, rest, virt'

Having:

CI-Tests: xxx
CI-Tests: yyy
CI-Tests: zzz

Is much better.

I'm not sure we should have CI-Test - as we might use this for

something else

besides CI.
Region_of_Interest as Dan suggests sounds better IMHO.

I don't care how this is to be called.
However, I do not think that commit message is the place for
instructing CI to do anything.
Commit message stays for good, it should contain information that is
required a year from now.
It has nothing to do with tests and such.

I agree with Alon here that the Ci informations don't belong in the
commit msg.
My opinion is that a testcase should know what it covers. This
information from the testcase can then be used by any party to determin
if the testcase should be run on a specific commit (which yields
informations about the changed paths, files, owner, author, etc ...
which might be valuable).

i think you're missing the point here.
can you explain how do you propose a test case will know what it covers?

let's take an example:
let's say a new commit comes from ovirt-engine:
http://gerrit.ovirt.org/#/c/16668/
commit msg: core: Use images instead of volumes at CDA message.

now you have 1000 test cases (could be system or functional test).
(let's assume that your infra can't support running 1000 tests per
patch/commit).

Some of these test suits checks network flow, some virt (migration/template
for e.g), some host install, others storage flows and so on... ).
you have one repo to clone (ovirt-engine, let's keep vdsm a side for a
min), and to compile the project from for the tests.

now given this scenario, please explain how will you know which test from
the 1000 you have you'll run on it.
do you believe that according to the author/path/filename you'll know if
that patch involves storage or virt scenario?

Hey Eyal,

Yes - I would at least give it a try to decide automagically what tests
to run by looking at the change.
The main motivation for this is to not add another things which the
committer needs to take care of and IMO we humans tend to fail (at some
point) on those boring tasks like adding correct metadata (let it be a
typo or just not adding the correct testsuites/topis to be run).

this process can be fully automatic via gerrit hooks  templates:

typos or mistakes can be easily handles by gerrit hooks to help the committer 
fix the tags.
as mentions previously, this logic can

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-11 Thread Mike Kolesnik
- Original Message -
 
 
 - Original Message -
  From: Itamar Heim ih...@redhat.com
  To: Eyal Edri ee...@redhat.com
  Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Wednesday, July 10, 2013 10:37:03 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
  commits
  
  On 07/10/2013 10:27 PM, Eyal Edri wrote:
  
  
   - Original Message -
   From: Fabian Deutsch fabi...@redhat.com
   To: Alon Bar-Lev alo...@redhat.com
   Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Tuesday, July 9, 2013 3:54:06 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine
   commits
  
   Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:
  
  
   - Original Message -
   From: Yair Zaslavsky yzasl...@redhat.com
   To: Alon Bar-Lev alo...@redhat.com
   Cc: Eyal Edri ee...@redhat.com, engine-devel
   engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Tuesday, July 9, 2013 3:42:24 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine commits
  
  
  
   - Original Message -
   From: Alon Bar-Lev alo...@redhat.com
   To: Eyal Edri ee...@redhat.com
   Cc: engine-devel engine-devel@ovirt.org, infra
   in...@ovirt.org
   Sent: Tuesday, July 9, 2013 3:33:57 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine
commits
  
  
  
   - Original Message -
   From: Eyal Edri ee...@redhat.com
   To: engine-devel engine-devel@ovirt.org
   Cc: infra in...@ovirt.org
   Sent: Tuesday, July 9, 2013 12:38:51 PM
   Subject: Proposal for new commit msg design for engine commits
  
   Hi,
  
   You all probably know and familiar with 'ovirt-engine' git hook
   for
   commit
   msg template [1].
   this helps understand the general area of the patch in the
   project but it
   lacks additional info that might
   be valuable for scaling automatic tests in Jenkins CI.
  
   Let me explain:
  
   Infra team is working hard on expanding oVirt CI infrastructure
   and
   adding
   more tests in jenkins (per commit/patch).
   Adding important meta-data per patch can significatly improve
   the ability
   to
   run specific tests for each patch/commit,
   and not waste valuable resources on Jenkins jobs that are not
   relevant to
   the
   code in the patch.
  
   So the idea is to add/expand current metadata per patch, in the
   form of:
   (either)
 1. expanding current header template to include more data like
   'network'
 ,
 'setup', 'tools', 'virt'
  
   Please do not expand header, it is too short anyway.
  
 2. adding a new label with relevant tags for the patch, called
   e.g
 'METADATA: network, rest, virt'
  
   Having:
  
   CI-Tests: xxx
   CI-Tests: yyy
   CI-Tests: zzz
  
   Is much better.
  
   I'm not sure we should have CI-Test - as we might use this for
   something else
   besides CI.
   Region_of_Interest as Dan suggests sounds better IMHO.
  
   I don't care how this is to be called.
   However, I do not think that commit message is the place for
   instructing CI to do anything.
   Commit message stays for good, it should contain information that is
   required a year from now.
   It has nothing to do with tests and such.
  
   I agree with Alon here that the Ci informations don't belong in the
   commit msg.
   My opinion is that a testcase should know what it covers. This
   information from the testcase can then be used by any party to determin
   if the testcase should be run on a specific commit (which yields
   informations about the changed paths, files, owner, author, etc ...
   which might be valuable).
  
   i think you're missing the point here.
   can you explain how do you propose a test case will know what it
   covers?
  
   let's take an example:
   let's say a new commit comes from ovirt-engine:
   http://gerrit.ovirt.org/#/c/16668/
   commit msg: core: Use images instead of volumes at CDA message.
  
   now you have 1000 test cases (could be system or functional test).
   (let's assume that your infra can't support running 1000 tests per
   patch/commit).
  
   Some of these test suits checks network flow, some virt
   (migration/template
   for e.g), some host install, others storage flows and so on... ).
   you have one repo to clone (ovirt-engine, let's keep vdsm a side for a
   min), and to compile the project from for the tests.
  
   now given this scenario, please explain how will you know which test from
   the 1000 you have you'll run on it.
   do you believe that according to the author/path/filename you'll know if
   that patch involves storage or virt scenario?
  
   i don't think there's an alternative to a metadata to assist mapping the
   patch to a relevant topic in the code.
   whether it exists as a git note or a label in the commit, that's another
   matter and probably less important.
  
  we could use gerrit labels per test topic?
 
 I don't

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-11 Thread Fabian Deutsch
Am Mittwoch, den 10.07.2013, 15:27 -0400 schrieb Eyal Edri:
 
 - Original Message -
  From: Fabian Deutsch fabi...@redhat.com
  To: Alon Bar-Lev alo...@redhat.com
  Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
  Sent: Tuesday, July 9, 2013 3:54:06 PM
  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
  commits
  
  Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:
   
   
   - Original Message -
From: Yair Zaslavsky yzasl...@redhat.com
To: Alon Bar-Lev alo...@redhat.com
Cc: Eyal Edri ee...@redhat.com, engine-devel
   engine-devel@ovirt.org, infra in...@ovirt.org
Sent: Tuesday, July 9, 2013 3:42:24 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine commits



- Original Message -
 From: Alon Bar-Lev alo...@redhat.com
 To: Eyal Edri ee...@redhat.com
 Cc: engine-devel engine-devel@ovirt.org, infra
   in...@ovirt.org
 Sent: Tuesday, July 9, 2013 3:33:57 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for
   engine
 commits
 
 
 
 - Original Message -
  From: Eyal Edri ee...@redhat.com
  To: engine-devel engine-devel@ovirt.org
  Cc: infra in...@ovirt.org
  Sent: Tuesday, July 9, 2013 12:38:51 PM
  Subject: Proposal for new commit msg design for engine commits
  
  Hi,
  
  You all probably know and familiar with 'ovirt-engine' git hook
   for
  commit
  msg template [1].
  this helps understand the general area of the patch in the
   project but it
  lacks additional info that might
  be valuable for scaling automatic tests in Jenkins CI.
  
  Let me explain:
  
  Infra team is working hard on expanding oVirt CI infrastructure
   and
  adding
  more tests in jenkins (per commit/patch).
  Adding important meta-data per patch can significatly improve
   the ability
  to
  run specific tests for each patch/commit,
  and not waste valuable resources on Jenkins jobs that are not
   relevant to
  the
  code in the patch.
  
  So the idea is to add/expand current metadata per patch, in the
   form of:
  (either)
   1. expanding current header template to include more data like
   'network'
   ,
   'setup', 'tools', 'virt'
 
 Please do not expand header, it is too short anyway.
 
   2. adding a new label with relevant tags for the patch, called
   e.g
   'METADATA: network, rest, virt'
 
 Having:
 
 CI-Tests: xxx
 CI-Tests: yyy
 CI-Tests: zzz
 
 Is much better.

I'm not sure we should have CI-Test - as we might use this for
   something else
besides CI.
Region_of_Interest as Dan suggests sounds better IMHO.
   
   I don't care how this is to be called.
   However, I do not think that commit message is the place for
   instructing CI to do anything.
   Commit message stays for good, it should contain information that is
   required a year from now.
   It has nothing to do with tests and such.
  
  I agree with Alon here that the Ci informations don't belong in the
  commit msg.
  My opinion is that a testcase should know what it covers. This
  information from the testcase can then be used by any party to determin
  if the testcase should be run on a specific commit (which yields
  informations about the changed paths, files, owner, author, etc ...
  which might be valuable).
 
 i think you're missing the point here.
 can you explain how do you propose a test case will know what it covers? 
 
 let's take an example: 
 let's say a new commit comes from ovirt-engine: 
 http://gerrit.ovirt.org/#/c/16668/
 commit msg: core: Use images instead of volumes at CDA message.
 
 now you have 1000 test cases (could be system or functional test).
 (let's assume that your infra can't support running 1000 tests per 
 patch/commit). 
 
 Some of these test suits checks network flow, some virt (migration/template 
 for e.g), some host install, others storage flows and so on... ). 
 you have one repo to clone (ovirt-engine, let's keep vdsm a side for a min), 
 and to compile the project from for the tests.
 
 now given this scenario, please explain how will you know which test from the 
 1000 you have you'll run on it.
 do you believe that according to the author/path/filename you'll know if that 
 patch involves storage or virt scenario? 

Hey Eyal,

Yes - I would at least give it a try to decide automagically what tests
to run by looking at the change.
The main motivation for this is to not add another things which the
committer needs to take care of and IMO we humans tend to fail (at some
point) on those boring tasks like adding correct metadata (let it be a
typo or just not adding the correct testsuites/topis to be run).
But let's get back to your example.
Basically we can use the path and filename to determin what testsuite

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-11 Thread Giuseppe Vallarelli
- Original Message -
| From: Eyal Edri ee...@redhat.com
| To: Fabian Deutsch fabi...@redhat.com
| Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
| Sent: Thursday, July 11, 2013 10:57:31 AM
| Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
commits
| 
| 
| 
| - Original Message -
|  From: Fabian Deutsch fabi...@redhat.com
|  To: Eyal Edri ee...@redhat.com
|  Cc: Alon Bar-Lev alo...@redhat.com, engine-devel
|  engine-devel@ovirt.org, infra in...@ovirt.org
|  Sent: Thursday, July 11, 2013 11:41:24 AM
|  Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
|  commits
|  
|  Am Mittwoch, den 10.07.2013, 15:27 -0400 schrieb Eyal Edri:
|   
|   - Original Message -
|From: Fabian Deutsch fabi...@redhat.com
|To: Alon Bar-Lev alo...@redhat.com
|Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
|Sent: Tuesday, July 9, 2013 3:54:06 PM
|Subject: Re: [Engine-devel] Proposal for new commit msg design for
|engine
|commits
|
|Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:
| 
| 
| - Original Message -
|  From: Yair Zaslavsky yzasl...@redhat.com
|  To: Alon Bar-Lev alo...@redhat.com
|  Cc: Eyal Edri ee...@redhat.com, engine-devel
| engine-devel@ovirt.org, infra in...@ovirt.org
|  Sent: Tuesday, July 9, 2013 3:42:24 PM
|  Subject: Re: [Engine-devel] Proposal for new commit msg design for
| engine commits
|  
|  
|  
|  - Original Message -
|   From: Alon Bar-Lev alo...@redhat.com
|   To: Eyal Edri ee...@redhat.com
|   Cc: engine-devel engine-devel@ovirt.org, infra
| in...@ovirt.org
|   Sent: Tuesday, July 9, 2013 3:33:57 PM
|   Subject: Re: [Engine-devel] Proposal for new commit msg design
|   for
| engine
|   commits
|   
|   
|   
|   - Original Message -
|From: Eyal Edri ee...@redhat.com
|To: engine-devel engine-devel@ovirt.org
|Cc: infra in...@ovirt.org
|Sent: Tuesday, July 9, 2013 12:38:51 PM
|Subject: Proposal for new commit msg design for engine commits
|
|Hi,
|
|You all probably know and familiar with 'ovirt-engine' git hook
| for
|commit
|msg template [1].
|this helps understand the general area of the patch in the
| project but it
|lacks additional info that might
|be valuable for scaling automatic tests in Jenkins CI.
|
|Let me explain:
|
|Infra team is working hard on expanding oVirt CI infrastructure
| and
|adding
|more tests in jenkins (per commit/patch).
|Adding important meta-data per patch can significatly improve
| the ability
|to
|run specific tests for each patch/commit,
|and not waste valuable resources on Jenkins jobs that are not
| relevant to
|the
|code in the patch.
|
|So the idea is to add/expand current metadata per patch, in the
| form of:
|(either)
| 1. expanding current header template to include more data like
| 'network'
| ,
| 'setup', 'tools', 'virt'
|   
|   Please do not expand header, it is too short anyway.
|   
| 2. adding a new label with relevant tags for the patch, called
| e.g
| 'METADATA: network, rest, virt'
|   
|   Having:
|   
|   CI-Tests: xxx
|   CI-Tests: yyy
|   CI-Tests: zzz
|   
|   Is much better.
|  
|  I'm not sure we should have CI-Test - as we might use this for
| something else
|  besides CI.
|  Region_of_Interest as Dan suggests sounds better IMHO.
| 
| I don't care how this is to be called.
| However, I do not think that commit message is the place for
| instructing CI to do anything.
| Commit message stays for good, it should contain information that is
| required a year from now.
| It has nothing to do with tests and such.
|
|I agree with Alon here that the Ci informations don't belong in the
|commit msg.
|My opinion is that a testcase should know what it covers. This
|information from the testcase can then be used by any party to determin
|if the testcase should be run on a specific commit (which yields
|informations about the changed paths, files, owner, author, etc ...
|which might be valuable).
|   
|   i think you're missing the point here.
|   can you explain how do you propose a test case will know what it
|   covers?
|   
|   let's take an example:
|   let's say a new commit comes from ovirt-engine:
|   http://gerrit.ovirt.org/#/c/16668/
|   commit msg: core: Use images instead of volumes at CDA message.
|   
|   now you have 1000 test cases (could be system or functional test).
|   (let's assume that your infra can't support running 1000 tests per

Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-10 Thread Eyal Edri


- Original Message -
 From: Fabian Deutsch fabi...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
 Sent: Tuesday, July 9, 2013 3:54:06 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:
  
  
  - Original Message -
   From: Yair Zaslavsky yzasl...@redhat.com
   To: Alon Bar-Lev alo...@redhat.com
   Cc: Eyal Edri ee...@redhat.com, engine-devel
  engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Tuesday, July 9, 2013 3:42:24 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
  engine commits
   
   
   
   - Original Message -
From: Alon Bar-Lev alo...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra
  in...@ovirt.org
Sent: Tuesday, July 9, 2013 3:33:57 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for
  engine
commits



- Original Message -
 From: Eyal Edri ee...@redhat.com
 To: engine-devel engine-devel@ovirt.org
 Cc: infra in...@ovirt.org
 Sent: Tuesday, July 9, 2013 12:38:51 PM
 Subject: Proposal for new commit msg design for engine commits
 
 Hi,
 
 You all probably know and familiar with 'ovirt-engine' git hook
  for
 commit
 msg template [1].
 this helps understand the general area of the patch in the
  project but it
 lacks additional info that might
 be valuable for scaling automatic tests in Jenkins CI.
 
 Let me explain:
 
 Infra team is working hard on expanding oVirt CI infrastructure
  and
 adding
 more tests in jenkins (per commit/patch).
 Adding important meta-data per patch can significatly improve
  the ability
 to
 run specific tests for each patch/commit,
 and not waste valuable resources on Jenkins jobs that are not
  relevant to
 the
 code in the patch.
 
 So the idea is to add/expand current metadata per patch, in the
  form of:
 (either)
  1. expanding current header template to include more data like
  'network'
  ,
  'setup', 'tools', 'virt'

Please do not expand header, it is too short anyway.

  2. adding a new label with relevant tags for the patch, called
  e.g
  'METADATA: network, rest, virt'

Having:

CI-Tests: xxx
CI-Tests: yyy
CI-Tests: zzz

Is much better.
   
   I'm not sure we should have CI-Test - as we might use this for
  something else
   besides CI.
   Region_of_Interest as Dan suggests sounds better IMHO.
  
  I don't care how this is to be called.
  However, I do not think that commit message is the place for
  instructing CI to do anything.
  Commit message stays for good, it should contain information that is
  required a year from now.
  It has nothing to do with tests and such.
 
 I agree with Alon here that the Ci informations don't belong in the
 commit msg.
 My opinion is that a testcase should know what it covers. This
 information from the testcase can then be used by any party to determin
 if the testcase should be run on a specific commit (which yields
 informations about the changed paths, files, owner, author, etc ...
 which might be valuable).

i think you're missing the point here.
can you explain how do you propose a test case will know what it covers? 

let's take an example: 
let's say a new commit comes from ovirt-engine: 
http://gerrit.ovirt.org/#/c/16668/
commit msg: core: Use images instead of volumes at CDA message.

now you have 1000 test cases (could be system or functional test).
(let's assume that your infra can't support running 1000 tests per 
patch/commit). 

Some of these test suits checks network flow, some virt (migration/template for 
e.g), some host install, others storage flows and so on... ). 
you have one repo to clone (ovirt-engine, let's keep vdsm a side for a min), 
and to compile the project from for the tests.

now given this scenario, please explain how will you know which test from the 
1000 you have you'll run on it.
do you believe that according to the author/path/filename you'll know if that 
patch involves storage or virt scenario? 

i don't think there's an alternative to a metadata to assist mapping the patch 
to a relevant topic in the code.
whether it exists as a git note or a label in the commit, that's another matter 
and probably less important. 

eyal. 

 
 - fabian
 
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-10 Thread Itamar Heim

On 07/10/2013 10:50 PM, Eyal Edri wrote:



- Original Message -

From: Itamar Heim ih...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: Fabian Deutsch fabi...@redhat.com, engine-devel engine-devel@ovirt.org, 
infra in...@ovirt.org
Sent: Wednesday, July 10, 2013 10:37:03 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
commits

On 07/10/2013 10:27 PM, Eyal Edri wrote:



- Original Message -

From: Fabian Deutsch fabi...@redhat.com
To: Alon Bar-Lev alo...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
Sent: Tuesday, July 9, 2013 3:54:06 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for engine
commits

Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:



- Original Message -

From: Yair Zaslavsky yzasl...@redhat.com
To: Alon Bar-Lev alo...@redhat.com
Cc: Eyal Edri ee...@redhat.com, engine-devel

engine-devel@ovirt.org, infra in...@ovirt.org

Sent: Tuesday, July 9, 2013 3:42:24 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for

engine commits




- Original Message -

From: Alon Bar-Lev alo...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra

in...@ovirt.org

Sent: Tuesday, July 9, 2013 3:33:57 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for

engine

  commits



- Original Message -

From: Eyal Edri ee...@redhat.com
To: engine-devel engine-devel@ovirt.org
Cc: infra in...@ovirt.org
Sent: Tuesday, July 9, 2013 12:38:51 PM
Subject: Proposal for new commit msg design for engine commits

Hi,

You all probably know and familiar with 'ovirt-engine' git hook

for

commit
msg template [1].
this helps understand the general area of the patch in the

project but it

lacks additional info that might
be valuable for scaling automatic tests in Jenkins CI.

Let me explain:

Infra team is working hard on expanding oVirt CI infrastructure

and

adding
more tests in jenkins (per commit/patch).
Adding important meta-data per patch can significatly improve

the ability

to
run specific tests for each patch/commit,
and not waste valuable resources on Jenkins jobs that are not

relevant to

the
code in the patch.

So the idea is to add/expand current metadata per patch, in the

form of:

(either)
   1. expanding current header template to include more data like

'network'

   ,
   'setup', 'tools', 'virt'


Please do not expand header, it is too short anyway.


   2. adding a new label with relevant tags for the patch, called

e.g

   'METADATA: network, rest, virt'


Having:

CI-Tests: xxx
CI-Tests: yyy
CI-Tests: zzz

Is much better.


I'm not sure we should have CI-Test - as we might use this for

something else

besides CI.
Region_of_Interest as Dan suggests sounds better IMHO.


I don't care how this is to be called.
However, I do not think that commit message is the place for
instructing CI to do anything.
Commit message stays for good, it should contain information that is
required a year from now.
It has nothing to do with tests and such.


I agree with Alon here that the Ci informations don't belong in the
commit msg.
My opinion is that a testcase should know what it covers. This
information from the testcase can then be used by any party to determin
if the testcase should be run on a specific commit (which yields
informations about the changed paths, files, owner, author, etc ...
which might be valuable).


i think you're missing the point here.
can you explain how do you propose a test case will know what it covers?

let's take an example:
let's say a new commit comes from ovirt-engine:
http://gerrit.ovirt.org/#/c/16668/
commit msg: core: Use images instead of volumes at CDA message.

now you have 1000 test cases (could be system or functional test).
(let's assume that your infra can't support running 1000 tests per
patch/commit).

Some of these test suits checks network flow, some virt (migration/template
for e.g), some host install, others storage flows and so on... ).
you have one repo to clone (ovirt-engine, let's keep vdsm a side for a
min), and to compile the project from for the tests.

now given this scenario, please explain how will you know which test from
the 1000 you have you'll run on it.
do you believe that according to the author/path/filename you'll know if
that patch involves storage or virt scenario?

i don't think there's an alternative to a metadata to assist mapping the
patch to a relevant topic in the code.
whether it exists as a git note or a label in the commit, that's another
matter and probably less important.


we could use gerrit labels per test topic?



sure, if gerrit allows adding any metadata per commit that doesn't have to be 
in the commit msg
and can be read via api per patch, that will work as well.


soon... (gerrit 2.6)
though categories will probably be the same for all projects, so not 
sure its the best approach for something with more than a few.


(could also

[Engine-devel] Proposal for new commit msg design for engine commits

2013-07-09 Thread Eyal Edri
Hi,

You all probably know and familiar with 'ovirt-engine' git hook for commit msg 
template [1].
this helps understand the general area of the patch in the project but it lacks 
additional info that might
be valuable for scaling automatic tests in Jenkins CI.

Let me explain:

Infra team is working hard on expanding oVirt CI infrastructure and adding more 
tests in jenkins (per commit/patch).
Adding important meta-data per patch can significatly improve the ability to 
run specific tests for each patch/commit,
and not waste valuable resources on Jenkins jobs that are not relevant to the 
code in the patch.

So the idea is to add/expand current metadata per patch, in the form of: 
(either)
 1. expanding current header template to include more data like 'network' , 
'setup', 'tools', 'virt'
 2. adding a new label with relevant tags for the patch, called e.g 'METADATA: 
network, rest, virt'

Jenkins jobs will then be able to parse that data and trigger only relevant 
jobs for it.
this can also allow us to add more jobs per patch, an option that is very 
problematic today considering the amount of 
patches coming in to engine.

Once agreed on a format, we'll be able to add a git hook to verify the validity 
of the commit msg. (similar to bug-url). 

if we're not 100% sure that the tags will cover all corner cases and we feel 
like we need to run the code on all jobs,
we can a nightly job to run all the remaining jobs (but at least it won't run 
on every patch/commit).

[1] core | restapi | tools | history | engine | userportal | webadmin:


thoughts? 

Eyal Edri.
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-09 Thread Antoni Segura Puimedon
I like the idea of having a label in the bottom part of the commit that is:

METADATA: network

which would be your second proposal.

- Original Message -
 From: Eyal Edri ee...@redhat.com
 To: engine-devel engine-devel@ovirt.org
 Cc: infra in...@ovirt.org
 Sent: Tuesday, July 9, 2013 11:38:51 AM
 Subject: [Engine-devel] Proposal for new commit msg design for engine commits
 
 Hi,
 
 You all probably know and familiar with 'ovirt-engine' git hook for commit
 msg template [1].
 this helps understand the general area of the patch in the project but it
 lacks additional info that might
 be valuable for scaling automatic tests in Jenkins CI.
 
 Let me explain:
 
 Infra team is working hard on expanding oVirt CI infrastructure and adding
 more tests in jenkins (per commit/patch).
 Adding important meta-data per patch can significatly improve the ability to
 run specific tests for each patch/commit,
 and not waste valuable resources on Jenkins jobs that are not relevant to the
 code in the patch.
 
 So the idea is to add/expand current metadata per patch, in the form of:
 (either)
  1. expanding current header template to include more data like 'network' ,
  'setup', 'tools', 'virt'
  2. adding a new label with relevant tags for the patch, called e.g
  'METADATA: network, rest, virt'
 
 Jenkins jobs will then be able to parse that data and trigger only relevant
 jobs for it.
 this can also allow us to add more jobs per patch, an option that is very
 problematic today considering the amount of
 patches coming in to engine.
 
 Once agreed on a format, we'll be able to add a git hook to verify the
 validity of the commit msg. (similar to bug-url).
 
 if we're not 100% sure that the tags will cover all corner cases and we feel
 like we need to run the code on all jobs,
 we can a nightly job to run all the remaining jobs (but at least it won't run
 on every patch/commit).
 
 [1] core | restapi | tools | history | engine | userportal | webadmin:
 
 
 thoughts?
 
 Eyal Edri.
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-09 Thread Moran Goldboim

On 07/09/2013 12:41 PM, Antoni Segura Puimedon wrote:

I like the idea of having a label in the bottom part of the commit that is:

METADATA: network

which would be your second proposal.

- Original Message -

From: Eyal Edri ee...@redhat.com
To: engine-devel engine-devel@ovirt.org
Cc: infra in...@ovirt.org
Sent: Tuesday, July 9, 2013 11:38:51 AM
Subject: [Engine-devel] Proposal for new commit msg design for engine commits

Hi,

You all probably know and familiar with 'ovirt-engine' git hook for commit
msg template [1].
this helps understand the general area of the patch in the project but it
lacks additional info that might
be valuable for scaling automatic tests in Jenkins CI.

Let me explain:

Infra team is working hard on expanding oVirt CI infrastructure and adding
more tests in jenkins (per commit/patch).
Adding important meta-data per patch can significatly improve the ability to
run specific tests for each patch/commit,
and not waste valuable resources on Jenkins jobs that are not relevant to the
code in the patch.

So the idea is to add/expand current metadata per patch, in the form of:
(either)
  1. expanding current header template to include more data like 'network' ,
  'setup', 'tools', 'virt'
  2. adding a new label with relevant tags for the patch, called e.g
  'METADATA: network, rest, virt'

Jenkins jobs will then be able to parse that data and trigger only relevant
jobs for it.
this can also allow us to add more jobs per patch, an option that is very
problematic today considering the amount of
patches coming in to engine.

Once agreed on a format, we'll be able to add a git hook to verify the
validity of the commit msg. (similar to bug-url).

if we're not 100% sure that the tags will cover all corner cases and we feel
like we need to run the code on all jobs,
we can a nightly job to run all the remaining jobs (but at least it won't run
on every patch/commit).

[1] core | restapi | tools | history | engine | userportal | webadmin:


thoughts?

Eyal Edri.
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


+1 beside of letting CI know which tests to run (main goal) it will also 
help people understand the scope and effect of the change on a quick look.
i think that we can do feature based 
(live-snapshot,upgrade,live-migration...) or area base tagging 
(virt,storage,network..), what do you think?


___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-09 Thread Dan Kenigsberg
On Tue, Jul 09, 2013 at 05:41:45AM -0400, Antoni Segura Puimedon wrote:
 I like the idea of having a label in the bottom part of the commit that is:
 
 METADATA: network
 

This makes sense, but I find METADATA as an overly general term. Even
something like

Region_of_Interest: network

is more humanly comprehensible.

Another idea would be to add a gerrit-only set of flags, where the
poster or reviewers have to tick which group of tests are most important
to be run.

 which would be your second proposal.
 
 - Original Message -
  From: Eyal Edri ee...@redhat.com
  To: engine-devel engine-devel@ovirt.org
  Cc: infra in...@ovirt.org
  Sent: Tuesday, July 9, 2013 11:38:51 AM
  Subject: [Engine-devel] Proposal for new commit msg design for engine 
  commits
  
  Hi,
  
  You all probably know and familiar with 'ovirt-engine' git hook for commit
  msg template [1].
  this helps understand the general area of the patch in the project but it
  lacks additional info that might
  be valuable for scaling automatic tests in Jenkins CI.
  
  Let me explain:
  
  Infra team is working hard on expanding oVirt CI infrastructure and adding
  more tests in jenkins (per commit/patch).
  Adding important meta-data per patch can significatly improve the ability to
  run specific tests for each patch/commit,
  and not waste valuable resources on Jenkins jobs that are not relevant to 
  the
  code in the patch.
  
  So the idea is to add/expand current metadata per patch, in the form of:
  (either)
   1. expanding current header template to include more data like 'network' ,
   'setup', 'tools', 'virt'
   2. adding a new label with relevant tags for the patch, called e.g
   'METADATA: network, rest, virt'
  
  Jenkins jobs will then be able to parse that data and trigger only relevant
  jobs for it.
  this can also allow us to add more jobs per patch, an option that is very
  problematic today considering the amount of
  patches coming in to engine.
  
  Once agreed on a format, we'll be able to add a git hook to verify the
  validity of the commit msg. (similar to bug-url).
  
  if we're not 100% sure that the tags will cover all corner cases and we feel
  like we need to run the code on all jobs,
  we can a nightly job to run all the remaining jobs (but at least it won't 
  run
  on every patch/commit).
  
  [1] core | restapi | tools | history | engine | userportal | webadmin:
  
  
  thoughts?
  
  Eyal Edri.
  ___
  Engine-devel mailing list
  Engine-devel@ovirt.org
  http://lists.ovirt.org/mailman/listinfo/engine-devel
  
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-09 Thread Eyal Edri


- Original Message -
 From: Fabian Deutsch fabi...@redhat.com
 To: Alon Bar-Lev alo...@redhat.com
 Cc: engine-devel engine-devel@ovirt.org, infra in...@ovirt.org
 Sent: Tuesday, July 9, 2013 3:54:06 PM
 Subject: Re: [Engine-devel] Proposal for new commit msg design for engine 
 commits
 
 Am Dienstag, den 09.07.2013, 08:49 -0400 schrieb Alon Bar-Lev:
  
  
  - Original Message -
   From: Yair Zaslavsky yzasl...@redhat.com
   To: Alon Bar-Lev alo...@redhat.com
   Cc: Eyal Edri ee...@redhat.com, engine-devel
  engine-devel@ovirt.org, infra in...@ovirt.org
   Sent: Tuesday, July 9, 2013 3:42:24 PM
   Subject: Re: [Engine-devel] Proposal for new commit msg design for
  engine commits
   
   
   
   - Original Message -
From: Alon Bar-Lev alo...@redhat.com
To: Eyal Edri ee...@redhat.com
Cc: engine-devel engine-devel@ovirt.org, infra
  in...@ovirt.org
Sent: Tuesday, July 9, 2013 3:33:57 PM
Subject: Re: [Engine-devel] Proposal for new commit msg design for
  engine
commits



- Original Message -
 From: Eyal Edri ee...@redhat.com
 To: engine-devel engine-devel@ovirt.org
 Cc: infra in...@ovirt.org
 Sent: Tuesday, July 9, 2013 12:38:51 PM
 Subject: Proposal for new commit msg design for engine commits
 
 Hi,
 
 You all probably know and familiar with 'ovirt-engine' git hook
  for
 commit
 msg template [1].
 this helps understand the general area of the patch in the
  project but it
 lacks additional info that might
 be valuable for scaling automatic tests in Jenkins CI.
 
 Let me explain:
 
 Infra team is working hard on expanding oVirt CI infrastructure
  and
 adding
 more tests in jenkins (per commit/patch).
 Adding important meta-data per patch can significatly improve
  the ability
 to
 run specific tests for each patch/commit,
 and not waste valuable resources on Jenkins jobs that are not
  relevant to
 the
 code in the patch.
 
 So the idea is to add/expand current metadata per patch, in the
  form of:
 (either)
  1. expanding current header template to include more data like
  'network'
  ,
  'setup', 'tools', 'virt'

Please do not expand header, it is too short anyway.

  2. adding a new label with relevant tags for the patch, called
  e.g
  'METADATA: network, rest, virt'

Having:

CI-Tests: xxx
CI-Tests: yyy
CI-Tests: zzz

Is much better.
   
   I'm not sure we should have CI-Test - as we might use this for
  something else
   besides CI.
   Region_of_Interest as Dan suggests sounds better IMHO.
  
  I don't care how this is to be called.
  However, I do not think that commit message is the place for
  instructing CI to do anything.
  Commit message stays for good, it should contain information that is
  required a year from now.
  It has nothing to do with tests and such.
 
 I agree with Alon here that the Ci informations don't belong in the
 commit msg.
 My opinion is that a testcase should know what it covers. This
 information from the testcase can then be used by any party to determin
 if the testcase should be run on a specific commit (which yields
 informations about the changed paths, files, owner, author, etc ...
 which might be valuable).

i don't understand what you mean by a testcase should know what it covers.
of course it does. that's not the problem though.
the problem is ovirt-engine has multiple components with him that apply to 
various 
fields, some patches are relevant to specific areas and not not.

so a test case (that clones ovirt-engine repo) can't know which tests to run 
if he doesn't have that info somewhere in the patch.

if we don't want info in the git commit msg, we can try using git notes [1]

but i think that this meta-data isn't all about ci jobs, it's about additional 
info on 
what the patch touches/adds. it can also help qa testing later to pinpoint 
where the code was changed
and perhaps enable the use of future automation scripts that can scan the 
commits 
and generate statics on coverage per subject/field.

[1]  https://www.kernel.org/pub/software/scm/git/docs/git-notes.html
 http://alblue.bandlem.com/2011/11/git-tip-of-week-git-notes.html
 
 - fabian
 
 ___
 Infra mailing list
 in...@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/infra
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Proposal for new commit msg design for engine commits

2013-07-09 Thread Giuseppe Vallarelli
Hi Eyal, I really appreciate your concern and desire to streamline our
CI infrastructure, but I'm afraid there might be some issues worth of
discussing.

If I've understood correctly a developer should add some kind of tags
to idenfity the impact of the patch and so the subsets of tests (impact areas)
that are going to be executed. I think it might be hard in some cases to
properly identify the correct 'areas' and even error prone. I think that
it really depends on how much engine software components are independent
from each other and developer's codebase knowledge. I think it might be useful
to have a dependency graph of components let's say at package level to define
which tests should be executed, perhaps this is something that can be automate.
We might discover that for transitivity a component depends on the whole
engine.

My 2 Czech Crowns

Cheers, Giuseppe




- Original Message -
| From: Eyal Edri ee...@redhat.com
| To: engine-devel engine-devel@ovirt.org
| Cc: infra in...@ovirt.org
| Sent: Tuesday, July 9, 2013 11:38:51 AM
| Subject: [Engine-devel] Proposal for new commit msg design for engine commits
| 
| Hi,
| 
| You all probably know and familiar with 'ovirt-engine' git hook for commit
| msg template [1].
| this helps understand the general area of the patch in the project but it
| lacks additional info that might
| be valuable for scaling automatic tests in Jenkins CI.
| 
| Let me explain:
| 
| Infra team is working hard on expanding oVirt CI infrastructure and adding
| more tests in jenkins (per commit/patch).
| Adding important meta-data per patch can significatly improve the ability to
| run specific tests for each patch/commit,
| and not waste valuable resources on Jenkins jobs that are not relevant to the
| code in the patch.
| 
| So the idea is to add/expand current metadata per patch, in the form of:
| (either)
|  1. expanding current header template to include more data like 'network' ,
|  'setup', 'tools', 'virt'
|  2. adding a new label with relevant tags for the patch, called e.g
|  'METADATA: network, rest, virt'
| 
| Jenkins jobs will then be able to parse that data and trigger only relevant
| jobs for it.
| this can also allow us to add more jobs per patch, an option that is very
| problematic today considering the amount of
| patches coming in to engine.
| 
| Once agreed on a format, we'll be able to add a git hook to verify the
| validity of the commit msg. (similar to bug-url).
| 
| if we're not 100% sure that the tags will cover all corner cases and we feel
| like we need to run the code on all jobs,
| we can a nightly job to run all the remaining jobs (but at least it won't run
| on every patch/commit).
| 
| [1] core | restapi | tools | history | engine | userportal | webadmin:
| 
| 
| thoughts?
| 
| Eyal Edri.
| ___
| Engine-devel mailing list
| Engine-devel@ovirt.org
| http://lists.ovirt.org/mailman/listinfo/engine-devel
| 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel