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 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
- 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
- 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
- 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
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
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
- 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
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
- 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
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
- 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
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
- 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
- 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
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
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
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
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
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
- 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
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