)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"e630b4f2b68cd321c008ddbcfdf9c08d90b73105","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     panbalag \u003cpanbalag@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-20 20:20:02 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"rally-verify-generalization: Specs to add ability for rally verify to use any in-tree Openstack project functional tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I2110dae5c95c1c7f9a39ba3ac0fb64d226ff2d2d"},{"line_number":10,"context_line":"Signed-off-by: panbalag \u003cpanbalag@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a75e904_15ffde02","line":7,"updated":"2015-03-21 08:55:51.000000000","message":"please, add new line before \"Specs ....\", so, it should look like:\n\n    rally verify-generalization\n\n    Specs to add...\n\n\nAlso, each line of commit message should not be longer than 79 characters","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"858f2bc3e8f30ba111aeb38dabf8070095148ac1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     panbalag \u003cpanbalag@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-23 20:26:58 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rally verify support for any in-tree Openstack project functional tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I2110dae5c95c1c7f9a39ba3ac0fb64d226ff2d2d"},{"line_number":10,"context_line":"Signed-off-by: panbalag \u003cpanbalag@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9aa53dc9_696390b2","line":7,"updated":"2015-04-07 13:53:37.000000000","message":"Please add [Spec] tag in the beginning","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"}],"doc/specs/in-progress/common-rally-verify.rst":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"e3bb20f2fce9888191cfd09c461298e06cb116d8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"tests."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Currently, Rally verify command works as follows: "},{"line_number":25,"context_line":"1. Verify test set name (currently syupports test names hard coded in consts.py)."},{"line_number":26,"context_line":"2. Verify test code for the specified deployment."},{"line_number":27,"context_line":"   a. Check if test code exists in the base directory."},{"line_number":28,"context_line":"   b. If it does not exist, pull test code from any repo via “source” argument (openstack/tempest by default)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a75e904_9512ee56","line":25,"updated":"2015-03-21 08:57:30.000000000","message":"typo\ns/syupports/supports/d","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"4467d8387c80ddafc1efb65ebb30a87ec1697a5b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"tests."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Currently, Rally verify command works as follows: "},{"line_number":25,"context_line":"1. Verify test set name (currently syupports test names hard coded in consts.py)."},{"line_number":26,"context_line":"2. Verify test code for the specified deployment."},{"line_number":27,"context_line":"   a. Check if test code exists in the base directory."},{"line_number":28,"context_line":"   b. If it does not exist, pull test code from any repo via “source” argument (openstack/tempest by default)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_b0ffda00","line":25,"in_reply_to":"7a75e904_9512ee56","updated":"2015-03-23 17:56:26.000000000","message":"Done","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3f3008a3bb79b97f3b15addf4df541285640a5c9","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Milestones"},{"line_number":52,"context_line":"----------"},{"line_number":53,"context_line":"Target Milestone for completion:"},{"line_number":54,"context_line":"  Kilo-2"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Work Items"},{"line_number":57,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_09e7bb41","line":54,"updated":"2015-03-23 09:07:15.000000000","message":"Kilo-2 is finished. You don\u0027t have time!:)\nMaybe L-1?","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"4467d8387c80ddafc1efb65ebb30a87ec1697a5b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Milestones"},{"line_number":52,"context_line":"----------"},{"line_number":53,"context_line":"Target Milestone for completion:"},{"line_number":54,"context_line":"  Kilo-2"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Work Items"},{"line_number":57,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_100fce31","line":54,"in_reply_to":"1a6ced46_09e7bb41","updated":"2015-03-23 17:56:26.000000000","message":"Done","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"d1651fffed002106bd77614b1954a26bf07f3fe0","unresolved":false,"context_lines":[{"line_number":57,"context_line":"----------"},{"line_number":58,"context_line":"1. Create list of names of Openstack project functional test sets."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"   /rally/consts.py, _FunctionalsTestSets()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"2. Allow user input of any of the above functional project test sets."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_9b9cbf6b","line":60,"updated":"2015-03-23 15:30:26.000000000","message":"pyhton convention looks better:\n\n rally.consts._FunctionalsTestSets","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3f3008a3bb79b97f3b15addf4df541285640a5c9","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"   /rally/consts.py, _FunctionalsTestSets()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"2. Allow user input of any of the above functional project test sets."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   /rally/cmd/commands/verify.py, start(..) "},{"line_number":65,"context_line":"   "}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_091dfb66","line":62,"updated":"2015-03-23 09:07:15.000000000","message":"What a way is proposed to determine tempest or functional tests is used?","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"4467d8387c80ddafc1efb65ebb30a87ec1697a5b","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"   /rally/consts.py, _FunctionalsTestSets()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"2. Allow user input of any of the above functional project test sets."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   /rally/cmd/commands/verify.py, start(..) "},{"line_number":65,"context_line":"   "}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_fa25a4ab","line":62,"in_reply_to":"1a6ced46_091dfb66","updated":"2015-03-23 17:56:26.000000000","message":"Class rally.consts._TempestTestsAPI already list the tempest tests. Based on 1), rally.consts._FunctionalsTestSets will include the allowed set of functional project tests. Depending on the list the user input matches, I will be able to identify whether it is tempest or functional test and also set the project name. Then I can pass the project name to rally.api.verify and identify the appropriate project test set.","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"d1651fffed002106bd77614b1954a26bf07f3fe0","unresolved":false,"context_lines":[{"line_number":66,"context_line":"3. Generalize base repo path and other configuration details. The plan is to create a separate directory"},{"line_number":67,"context_line":"   to hold all code related to Openstack projects functional tests."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"   /rally/verification/projects/projects.py, __init__"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. Source project test code and create a copy of the code for specified deployment."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_417c1a21","line":69,"range":{"start_line":69,"start_character":3,"end_line":69,"end_character":39},"updated":"2015-03-23 15:30:26.000000000","message":"IMHO project-specific files can be placed directly in /rally/verification/{project_name} package (like tempest)","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"4467d8387c80ddafc1efb65ebb30a87ec1697a5b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"3. Generalize base repo path and other configuration details. The plan is to create a separate directory"},{"line_number":67,"context_line":"   to hold all code related to Openstack projects functional tests."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"   /rally/verification/projects/projects.py, __init__"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. Source project test code and create a copy of the code for specified deployment."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_ba316ca4","line":69,"in_reply_to":"1a6ced46_417c1a21","updated":"2015-03-23 17:56:26.000000000","message":"Yes. I will be following a similar layout as described in the next comment. So there would be separate folders for each project.","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"3f3008a3bb79b97f3b15addf4df541285640a5c9","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. Source project test code and create a copy of the code for specified deployment."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"   /rally/verification/projects/projects.py, install()"},{"line_number":74,"context_line":"   "},{"line_number":75,"context_line":"5. Execute the project functional tests."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_89572b02","line":73,"updated":"2015-03-23 09:07:15.000000000","message":"I suppose to have a base class(maybe abstract) for all verifiers, with install, run, cleanup methods.","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"d1651fffed002106bd77614b1954a26bf07f3fe0","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. Source project test code and create a copy of the code for specified deployment."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"   /rally/verification/projects/projects.py, install()"},{"line_number":74,"context_line":"   "},{"line_number":75,"context_line":"5. Execute the project functional tests."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_01ff8268","line":73,"in_reply_to":"1a6ced46_89572b02","updated":"2015-03-23 15:30:26.000000000","message":"Here is my proposal regarding verifier interface (for example, let it be `nova\u0027):\n\n /rally/verification/nova/__init__.py\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n /rally/verification/nova/verifier.py\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n class Verifier(object):\n\n     def __init__(self, url, **kwargs):\n         # set configuration\n\n     def install(self):\n         # do install\n\n     def run(self):\n         # run tests\n\n     def get_results(self, output_format\u003d\"json\"):\n         # obtain results","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"4467d8387c80ddafc1efb65ebb30a87ec1697a5b","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. Source project test code and create a copy of the code for specified deployment."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"   /rally/verification/projects/projects.py, install()"},{"line_number":74,"context_line":"   "},{"line_number":75,"context_line":"5. Execute the project functional tests."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_704ba259","line":73,"in_reply_to":"1a6ced46_89572b02","updated":"2015-03-23 17:56:26.000000000","message":"Yes. Also,  I will follow a similar template to existing tempest.py code so that there are methods like install, uninstall, generate config, save results, etc.","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"4467d8387c80ddafc1efb65ebb30a87ec1697a5b","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. Source project test code and create a copy of the code for specified deployment."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"   /rally/verification/projects/projects.py, install()"},{"line_number":74,"context_line":"   "},{"line_number":75,"context_line":"5. Execute the project functional tests."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_daab8887","line":73,"in_reply_to":"1a6ced46_89572b02","updated":"2015-03-23 17:56:26.000000000","message":"Yes. I intend to have a base class as you have mentioned. As for the layout of the subclasses, it will be similar to what Alexander has mentioned below with methods similar to what is in rally.verification.tempest.tempest.","commit_id":"4f4f0b4f2bc9ecb526cdb90d7869ebb99c74c58d"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"ff1303d435cca03a20e03f459a63dab908025532","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The proposed changes would be,"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"1. Include the list of Openstack project functional tests in consts.py"},{"line_number":36,"context_line":"2. Verify if functional tests directory exists for the specified project."},{"line_number":37,"context_line":"   a. If not, create the base directory by pulling test code via \"source\" argument."},{"line_number":38,"context_line":"   b. Create a copy of the test code for the specified deployment."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a6ced46_39b589ee","line":35,"updated":"2015-03-23 18:40:31.000000000","message":"Just to be sure: do you mean the list of OpenStack projects which ship/contain functional tests here?","commit_id":"6b09bc00cb5c9531a1ecc9a73b6faca8d763eee9"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"5d1cc93a6119aa954b52f152cfbb44721a18e603","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The proposed changes would be,"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"1. Include the list of Openstack project functional tests in consts.py"},{"line_number":36,"context_line":"2. Verify if functional tests directory exists for the specified project."},{"line_number":37,"context_line":"   a. If not, create the base directory by pulling test code via \"source\" argument."},{"line_number":38,"context_line":"   b. Create a copy of the test code for the specified deployment."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a6ced46_5f74e598","line":35,"in_reply_to":"1a6ced46_39b589ee","updated":"2015-03-23 19:18:25.000000000","message":"Yes.","commit_id":"6b09bc00cb5c9531a1ecc9a73b6faca8d763eee9"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"efc2c0066cffa87102f3bbece7a0192f54789ded","unresolved":false,"context_lines":[{"line_number":36,"context_line":"2. Verify if functional tests directory exists for the specified project."},{"line_number":37,"context_line":"   a. If not, create the base directory by pulling test code via \"source\" argument."},{"line_number":38,"context_line":"   b. Create a copy of the test code for the specified deployment."},{"line_number":39,"context_line":"3. execute functional tests via \"testr\" (check if testr can be replaced by tox)."},{"line_number":40,"context_line":"4. collect results from testr or tox."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a6ced46_730c7a43","line":39,"updated":"2015-03-23 21:24:11.000000000","message":"I prefer to use testr directly, because it allow to split management stuff(install venv, dependencies) and launcher. Also, when we talk about Tempest, `testr` is proposed as preferable launcher for it( https://github.com/openstack/tempest/blob/master/README.rst )","commit_id":"6b09bc00cb5c9531a1ecc9a73b6faca8d763eee9"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"ff1303d435cca03a20e03f459a63dab908025532","unresolved":false,"context_lines":[{"line_number":36,"context_line":"2. Verify if functional tests directory exists for the specified project."},{"line_number":37,"context_line":"   a. If not, create the base directory by pulling test code via \"source\" argument."},{"line_number":38,"context_line":"   b. Create a copy of the test code for the specified deployment."},{"line_number":39,"context_line":"3. execute functional tests via \"testr\" (check if testr can be replaced by tox)."},{"line_number":40,"context_line":"4. collect results from testr or tox."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a6ced46_f904d17f","line":39,"updated":"2015-03-23 18:40:31.000000000","message":"I\u0027m always a bit confused by this, but using tox could make things more complicated if you want to use packages instead of pip.","commit_id":"6b09bc00cb5c9531a1ecc9a73b6faca8d763eee9"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"5d1cc93a6119aa954b52f152cfbb44721a18e603","unresolved":false,"context_lines":[{"line_number":36,"context_line":"2. Verify if functional tests directory exists for the specified project."},{"line_number":37,"context_line":"   a. If not, create the base directory by pulling test code via \"source\" argument."},{"line_number":38,"context_line":"   b. Create a copy of the test code for the specified deployment."},{"line_number":39,"context_line":"3. execute functional tests via \"testr\" (check if testr can be replaced by tox)."},{"line_number":40,"context_line":"4. collect results from testr or tox."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a6ced46_3fa64911","line":39,"in_reply_to":"1a6ced46_f904d17f","updated":"2015-03-23 19:18:25.000000000","message":"I have not tried this before. If it is not possible, I would go with testr itself.","commit_id":"6b09bc00cb5c9531a1ecc9a73b6faca8d763eee9"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"858f2bc3e8f30ba111aeb38dabf8070095148ac1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"https://docs.google.com/a/mirantis.com/spreadsheets/d/16DXpfbqvlzMFaqaXAcJsBzzpowb_XpymaK2aFY2gA2g/edit#gid\u003d0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Rally verify genaralization (Line 17) - add ability to use rally verify for"},{"line_number":10,"context_line":"in-tree functional tests of all projects."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_49ca0ca3","line":9,"updated":"2015-04-07 13:53:37.000000000","message":"Rally Road map is something that can be changed, in opposite to this specification, so, I think it is not a good idea to refer road map here, especially its specific lines.\n\nMaybe skip reference to Road map at all?\n\nJust explain what is this spec about.","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"ac3bc4570b27b28f6123caa7c7999b1ae7638099","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"https://docs.google.com/a/mirantis.com/spreadsheets/d/16DXpfbqvlzMFaqaXAcJsBzzpowb_XpymaK2aFY2gA2g/edit#gid\u003d0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Rally verify genaralization (Line 17) - add ability to use rally verify for"},{"line_number":10,"context_line":"in-tree functional tests of all projects."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5aa745d1_6fa4aba5","line":9,"in_reply_to":"9aa53dc9_49ca0ca3","updated":"2015-04-16 19:11:41.000000000","message":"Removed the link to rally road map and kept only description for the spec.","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"2b9d33a69081b60ce75297b3eb6f440001da9fe1","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Proposed change"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":"The solution is to modify rally/cmd/commands/verify.py to support"},{"line_number":23,"context_line":"Openstack project functional tests."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Currently, Rally verify command works as follows:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_214a6584","line":22,"updated":"2015-04-06 16:54:38.000000000","message":"It looks like not only commands should be modified, \"modify rally verification\" or \"modify `rally verify`\" will be more clear.","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"ac3bc4570b27b28f6123caa7c7999b1ae7638099","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Proposed change"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":"The solution is to modify rally/cmd/commands/verify.py to support"},{"line_number":23,"context_line":"Openstack project functional tests."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Currently, Rally verify command works as follows:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5aa745d1_af999370","line":22,"in_reply_to":"9aa53dc9_214a6584","updated":"2015-04-16 19:11:41.000000000","message":"Done","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"2b9d33a69081b60ce75297b3eb6f440001da9fe1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"The solution is to modify rally/cmd/commands/verify.py to support"},{"line_number":23,"context_line":"Openstack project functional tests."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Currently, Rally verify command works as follows:"},{"line_number":26,"context_line":"1. Verify test set name (currently supports test names hard coded in"},{"line_number":27,"context_line":"   consts.py)."},{"line_number":28,"context_line":"2. Verify test code for the specified deployment."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_e1435d6b","line":25,"updated":"2015-04-06 16:54:38.000000000","message":"same here","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"858f2bc3e8f30ba111aeb38dabf8070095148ac1","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Openstack project functional tests."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Currently, Rally verify command works as follows:"},{"line_number":26,"context_line":"1. Verify test set name (currently supports test names hard coded in"},{"line_number":27,"context_line":"   consts.py)."},{"line_number":28,"context_line":"2. Verify test code for the specified deployment."},{"line_number":29,"context_line":"   a. Check if test code exists in the base directory."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_291468f3","line":26,"updated":"2015-04-07 13:53:37.000000000","message":"Restructured text provides numeric lists:\n\n#. Item 1\n\n#. Item 2\n\n...","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"e8e736c42cc594e812650abcaad7b7e1ad615200","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Openstack project functional tests."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Currently, Rally verify command works as follows:"},{"line_number":26,"context_line":"1. Verify test set name (currently supports test names hard coded in"},{"line_number":27,"context_line":"   consts.py)."},{"line_number":28,"context_line":"2. Verify test code for the specified deployment."},{"line_number":29,"context_line":"   a. Check if test code exists in the base directory."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_2500ff33","line":26,"in_reply_to":"9aa53dc9_291468f3","updated":"2015-04-07 16:45:22.000000000","message":"\"N. \" is more readable style.","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"ac3bc4570b27b28f6123caa7c7999b1ae7638099","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Openstack project functional tests."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Currently, Rally verify command works as follows:"},{"line_number":26,"context_line":"1. Verify test set name (currently supports test names hard coded in"},{"line_number":27,"context_line":"   consts.py)."},{"line_number":28,"context_line":"2. Verify test code for the specified deployment."},{"line_number":29,"context_line":"   a. Check if test code exists in the base directory."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5aa745d1_8fb017f6","line":26,"in_reply_to":"9aa53dc9_291468f3","updated":"2015-04-16 19:11:41.000000000","message":"So instead of 1. 2. etc you want to change to # only?","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"2b9d33a69081b60ce75297b3eb6f440001da9fe1","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"The proposed changes would be,"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"1. Include the list of Openstack project functional tests in consts.py"},{"line_number":39,"context_line":"2. Verify if functional tests directory exists for the specified project."},{"line_number":40,"context_line":"   a. If not, create the base directory by pulling test code via source"},{"line_number":41,"context_line":"      argument."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_c1161955","line":38,"updated":"2015-04-06 16:54:38.000000000","message":"please, change \"consts.py\" to \"rally.consts\"","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"ac3bc4570b27b28f6123caa7c7999b1ae7638099","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"The proposed changes would be,"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"1. Include the list of Openstack project functional tests in consts.py"},{"line_number":39,"context_line":"2. Verify if functional tests directory exists for the specified project."},{"line_number":40,"context_line":"   a. If not, create the base directory by pulling test code via source"},{"line_number":41,"context_line":"      argument."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5aa745d1_8fe25702","line":38,"in_reply_to":"9aa53dc9_c1161955","updated":"2015-04-16 19:11:41.000000000","message":"Done","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"858f2bc3e8f30ba111aeb38dabf8070095148ac1","unresolved":false,"context_lines":[{"line_number":73,"context_line":"3. Generalize base repo path and other configuration details. The plan is to"},{"line_number":74,"context_line":"   create a separate directory to hold all code related to Openstack"},{"line_number":75,"context_line":"   projects functional tests."},{"line_number":76,"context_line":"   rally.verification.projects.projects.__init__"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"4. Source project test code and create a copy of the code for"},{"line_number":79,"context_line":"   specified deployment."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_70fa50bf","line":76,"updated":"2015-04-07 13:53:37.000000000","message":"Why no simplify this path? IMHO having all project-specific code directly in rally/verification/{project_name}/ is better, for example, implement nova-specific code in rally/verification/nova/\n\nActually this is how it is already implemented for tempest.","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"ac3bc4570b27b28f6123caa7c7999b1ae7638099","unresolved":false,"context_lines":[{"line_number":73,"context_line":"3. Generalize base repo path and other configuration details. The plan is to"},{"line_number":74,"context_line":"   create a separate directory to hold all code related to Openstack"},{"line_number":75,"context_line":"   projects functional tests."},{"line_number":76,"context_line":"   rally.verification.projects.projects.__init__"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"4. Source project test code and create a copy of the code for"},{"line_number":79,"context_line":"   specified deployment."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5aa745d1_4f1e8f0d","line":76,"in_reply_to":"9aa53dc9_70fa50bf","updated":"2015-04-16 19:11:41.000000000","message":"Alexander, Yes. I did mean {project_name} when I used .projects. Sorry that it was not clear. I will change the text to \u003cproject_name\u003e to make it more clear.","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"858f2bc3e8f30ba111aeb38dabf8070095148ac1","unresolved":false,"context_lines":[{"line_number":83,"context_line":"   rally.verification.projects.projects.run"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"6. Save the test results."},{"line_number":86,"context_line":"   rally.verification.projects.projects._save_test_results()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Dependencies"},{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9aa53dc9_f379cafd","line":86,"updated":"2015-04-07 13:53:37.000000000","message":"IMHO, this interface is more unified (just a proposal):\n\n Implement module rally.verification.{project_name}.tests:\n\n # Class that cares about testing\n rally.verification.{project_name}.tests.Tests\n\n # Download/deploy tests\n rally.verification.{project_name}.tests.Tests.setup()\n\n # Start tests\n rally.verification.{project_name}.tests.Tests.start()\n\n # Save results\n rally.verification.{project_name}.tests.Tests.save_results()\n\n # Get results as JSON\n rally.verification.{project_name}.tests.Tests.results_json()\n\n # Get results as HTML\n rally.verification.{project_name}.tests.Tests.results_html()","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"},{"author":{"_account_id":15661,"name":"Prasanth Anbalagan","email":"panbalag@redhat.com","username":"panbalag"},"change_message_id":"ac3bc4570b27b28f6123caa7c7999b1ae7638099","unresolved":false,"context_lines":[{"line_number":83,"context_line":"   rally.verification.projects.projects.run"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"6. Save the test results."},{"line_number":86,"context_line":"   rally.verification.projects.projects._save_test_results()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Dependencies"},{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5aa745d1_efd31b37","line":86,"in_reply_to":"9aa53dc9_f379cafd","updated":"2015-04-16 19:11:41.000000000","message":"Done","commit_id":"90dcbda8be61253f8086db0d4a4b9e256819c170"}]}
