)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"da02e7ae36ceee7e505fdf8a934b9989731e8d8b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Replace run_tempest.sh script with ostestr command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove run_tempest.sh replace it with ostestr call passing"},{"line_number":10,"context_line":"the appropiate parameters"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements Blueprint: implement-ostestr-refstackclient"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3aaa91ec_f94a6382","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":25},"updated":"2016-06-22 19:07:53.000000000","message":"I think this commit message can be improved, you are not describing what the original problem was, and how this commit is fixing it. Take a look at the section called \"Information in commit messages\" in https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"da02e7ae36ceee7e505fdf8a934b9989731e8d8b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Replace run_tempest.sh script with ostestr command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove run_tempest.sh replace it with ostestr call passing"},{"line_number":10,"context_line":"the appropiate parameters"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements Blueprint: implement-ostestr-refstackclient"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3aaa91ec_0b4ef66e","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":14},"updated":"2016-06-22 19:07:53.000000000","message":"s/appropiate/appropriate","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Replace run_tempest.sh script with ostestr command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove run_tempest.sh replace it with ostestr call passing"},{"line_number":10,"context_line":"the appropiate parameters"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements Blueprint: implement-ostestr-refstackclient"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3aaa91ec_d98fd273","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":14},"in_reply_to":"3aaa91ec_0b4ef66e","updated":"2016-06-27 20:12:09.000000000","message":"Done","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Replace run_tempest.sh script with ostestr command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove run_tempest.sh replace it with ostestr call passing"},{"line_number":10,"context_line":"the appropiate parameters"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements Blueprint: implement-ostestr-refstackclient"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3aaa91ec_99dc2a76","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":25},"in_reply_to":"3aaa91ec_f94a6382","updated":"2016-06-27 20:12:09.000000000","message":"Done","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"}],"README.rst":[{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"da02e7ae36ceee7e505fdf8a934b9989731e8d8b","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"**Usage**"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. Prepare a tempest configuration file that is customized to your cloud"},{"line_number":31,"context_line":"   environment."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"2. Go into the refstack-client directory::"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_ee7c58ed","line":31,"range":{"start_line":30,"start_character":3,"end_line":31,"end_character":14},"updated":"2016-06-22 19:07:53.000000000","message":"I know this is not part of your commit but I\u0027m leaving this comment here just as a record of something that could be improved. Since Tempest allows the use of either \"Dynamic Credentials\" or \"Pre-Provisioned Credentials\" as means of authentication, but apparently Restock only allows \"Pre-Provisioned Credentials\", it should be specified here that that authentication method should be used in your tempest configuration.","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"**Usage**"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. Prepare a tempest configuration file that is customized to your cloud"},{"line_number":31,"context_line":"   environment."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"2. Go into the refstack-client directory::"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_fb947f37","line":31,"range":{"start_line":30,"start_character":3,"end_line":31,"end_character":14},"in_reply_to":"3aaa91ec_ab3fc9d4","updated":"2016-06-27 20:12:09.000000000","message":"Yes, but there is a validation to ensure configuration is using accounts.yaml/Pre-provisioned credentials https://github.com/openstack/refstack-client/blob/abb45d2e411e2716b7fe127ad97c96f1a789d882/refstack_client/refstack_client.py#L162","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"**Usage**"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. Prepare a tempest configuration file that is customized to your cloud"},{"line_number":31,"context_line":"   environment."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"2. Go into the refstack-client directory::"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_e6007804","line":31,"range":{"start_line":30,"start_character":3,"end_line":31,"end_character":14},"in_reply_to":"3aaa91ec_ee7c58ed","updated":"2016-06-27 20:12:09.000000000","message":"Done.\nAdded a note to state that credentials should be provided via Pre-Provisioned method","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"998ef589c339af3295eafdde721dfab681e7ecc6","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"**Usage**"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. Prepare a tempest configuration file that is customized to your cloud"},{"line_number":31,"context_line":"   environment."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"2. Go into the refstack-client directory::"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_ab3fc9d4","line":31,"range":{"start_line":30,"start_character":3,"end_line":31,"end_character":14},"in_reply_to":"3aaa91ec_ee7c58ed","updated":"2016-06-23 05:14:37.000000000","message":"RefStack is just wrapping Tempest, so the standard generation of accounts occurs in Tempest if the correct configurations are set","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"da02e7ae36ceee7e505fdf8a934b9989731e8d8b","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"4. Validate your setup by running a short test::"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"       ./refstack-client test -c \u003cPath of the tempest configuration file to use\u003e -v -- --regex tempest.api.identity.admin.v2.test_roles"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   or ::"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_6e918852","line":43,"range":{"start_line":43,"start_character":7,"end_line":43,"end_character":135},"updated":"2016-06-22 19:07:53.000000000","message":"When running this test command in my environment I see this message:\n\"SKIPPED: Missing Identity Admin API credentials in configuration.\" along with this one: \n\"No tests were successful during the run\".\nI guess this output could be confusing for some users (it was confusing for me first) since you may think your configuration or installation is wrong.","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"998ef589c339af3295eafdde721dfab681e7ecc6","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"4. Validate your setup by running a short test::"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"       ./refstack-client test -c \u003cPath of the tempest configuration file to use\u003e -v -- --regex tempest.api.identity.admin.v2.test_roles"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   or ::"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_8b192d8b","line":43,"range":{"start_line":43,"start_character":7,"end_line":43,"end_character":135},"in_reply_to":"3aaa91ec_6e918852","updated":"2016-06-23 05:14:37.000000000","message":"I think that output is coming from testr (or now ostestr). That behavior would need to be changed in the appropriate project","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"4. Validate your setup by running a short test::"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"       ./refstack-client test -c \u003cPath of the tempest configuration file to use\u003e -v -- --regex tempest.api.identity.admin.v2.test_roles"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   or ::"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_4ca40db9","line":43,"range":{"start_line":43,"start_character":7,"end_line":43,"end_character":135},"in_reply_to":"3aaa91ec_6e918852","updated":"2016-06-27 20:12:09.000000000","message":"Response is the expected one.","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"4. Validate your setup by running a short test::"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"       ./refstack-client test -c \u003cPath of the tempest configuration file to use\u003e -v -- --regex tempest.api.identity.admin.v2.test_roles"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   or ::"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_e9eccbbc","line":43,"range":{"start_line":43,"start_character":7,"end_line":43,"end_character":135},"in_reply_to":"3aaa91ec_8b192d8b","updated":"2016-06-27 20:12:09.000000000","message":"Response is the expected one.","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"da02e7ae36ceee7e505fdf8a934b9989731e8d8b","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   or ::"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"       ./refstack-client test -c \u003cPath of the tempest configuration file to use\u003e -v -- --regex tempest.api.identity.v2.test_token"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"5. Run tests."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_84fad3bb","line":47,"range":{"start_line":47,"start_character":87,"end_line":47,"end_character":94},"updated":"2016-06-22 19:07:53.000000000","message":"For targeting a specific test or all tests from a given class or module I would use \"--no-discover\" instead of \"--regex\". --regex could match multiple modules (as happens with the example above) so I think it could lead to confusion. But if you decide to leave --regex is also fine, it would still work.","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"   or ::"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"       ./refstack-client test -c \u003cPath of the tempest configuration file to use\u003e -v -- --regex tempest.api.identity.v2.test_token"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"5. Run tests."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_4f3a3f9a","line":47,"range":{"start_line":47,"start_character":87,"end_line":47,"end_character":94},"in_reply_to":"3aaa91ec_84fad3bb","updated":"2016-06-27 20:12:09.000000000","message":"prefer to use --regex over --no-discover","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":9152,"name":"Castulo J. Martinez","email":"castulo.martinez@intel.com","username":"cas"},"change_message_id":"da02e7ae36ceee7e505fdf8a934b9989731e8d8b","unresolved":false,"context_lines":[{"line_number":79,"context_line":"   e. Adding the ``-r`` option with a string will prefix the JSON result file with the"},{"line_number":80,"context_line":"      given string (e.g. ``-r my-test`` will yield a result file like"},{"line_number":81,"context_line":"      \u0027my-test-0.json\u0027)."},{"line_number":82,"context_line":"   f. Adding ``--`` enables you to pass arbitary arguments to the ostestr runner."},{"line_number":83,"context_line":"      After the first ``--``, all other subsequent arguments will be passed to"},{"line_number":84,"context_line":"      the ostestr runner as is. This is mainly used for quick verification of the"},{"line_number":85,"context_line":"      target test cases. (e.g. ``-- --regex tempest.api.identity.v2.test_token``)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_ee98d81d","line":82,"range":{"start_line":82,"start_character":40,"end_line":82,"end_character":48},"updated":"2016-06-22 19:07:53.000000000","message":"s/arbitary/arbitrary","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":79,"context_line":"   e. Adding the ``-r`` option with a string will prefix the JSON result file with the"},{"line_number":80,"context_line":"      given string (e.g. ``-r my-test`` will yield a result file like"},{"line_number":81,"context_line":"      \u0027my-test-0.json\u0027)."},{"line_number":82,"context_line":"   f. Adding ``--`` enables you to pass arbitary arguments to the ostestr runner."},{"line_number":83,"context_line":"      After the first ``--``, all other subsequent arguments will be passed to"},{"line_number":84,"context_line":"      the ostestr runner as is. This is mainly used for quick verification of the"},{"line_number":85,"context_line":"      target test cases. (e.g. ``-- --regex tempest.api.identity.v2.test_token``)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aaa91ec_0c76853d","line":82,"range":{"start_line":82,"start_character":40,"end_line":82,"end_character":48},"in_reply_to":"3aaa91ec_ee98d81d","updated":"2016-06-27 20:12:09.000000000","message":"Done","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":9626,"name":"Paul Van Eck","email":"pvaneck@us.ibm.com","username":"pvaneck"},"change_message_id":"e02d642a9dca7d2a09db891a604ab6c5f16fcbb6","unresolved":false,"context_lines":[{"line_number":30,"context_line":"1. Prepare a tempest configuration file that is customized to your cloud"},{"line_number":31,"context_line":"   environment."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"   Note: Use Tempest Pre-Provisioned credentials_. to provide user test accounts. ::"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. _credentials: http://docs.openstack.org/developer/tempest/configuration.html#pre-provisioned-credentials"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_a82179b6","line":33,"range":{"start_line":33,"start_character":49,"end_line":33,"end_character":50},"updated":"2016-07-06 00:45:56.000000000","message":"nit: remove this period.","commit_id":"c64b94251014d26b2f4346a90b2a03548feb761c"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"19720e880946d73d383b2d31df6e50b46419a9dd","unresolved":false,"context_lines":[{"line_number":30,"context_line":"1. Prepare a tempest configuration file that is customized to your cloud"},{"line_number":31,"context_line":"   environment."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"   Note: Use Tempest Pre-Provisioned credentials_. to provide user test accounts. ::"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. _credentials: http://docs.openstack.org/developer/tempest/configuration.html#pre-provisioned-credentials"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_d34c31ca","line":33,"range":{"start_line":33,"start_character":49,"end_line":33,"end_character":50},"in_reply_to":"1aa78d24_a82179b6","updated":"2016-07-06 20:19:58.000000000","message":"Done","commit_id":"c64b94251014d26b2f4346a90b2a03548feb761c"}],"refstack_client/list_parser.py":[{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"998ef589c339af3295eafdde721dfab681e7ecc6","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        list_file \u003d self._write_normalized_test_list(full_capability_test_ids)"},{"line_number":207,"context_line":"        return list_file"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def get_whitelist(self, list_location):"},{"line_number":210,"context_line":"        \"\"\"This takes in a test list file, get normalized, and get whitelist"},{"line_number":211,"context_line":"        test IDs."},{"line_number":212,"context_line":"        Ex:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_4e3633e7","line":209,"updated":"2016-06-23 05:14:37.000000000","message":"This is a bit picky, but create_whitelist or generate_whitelist would more appropriately match the purpose of this function","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        list_file \u003d self._write_normalized_test_list(full_capability_test_ids)"},{"line_number":207,"context_line":"        return list_file"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def get_whitelist(self, list_location):"},{"line_number":210,"context_line":"        \"\"\"This takes in a test list file, get normalized, and get whitelist"},{"line_number":211,"context_line":"        test IDs."},{"line_number":212,"context_line":"        Ex:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_f54818ce","line":209,"in_reply_to":"3aaa91ec_4e3633e7","updated":"2016-06-27 20:12:09.000000000","message":"Done","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"998ef589c339af3295eafdde721dfab681e7ecc6","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def get_whitelist(self, list_location):"},{"line_number":210,"context_line":"        \"\"\"This takes in a test list file, get normalized, and get whitelist"},{"line_number":211,"context_line":"        test IDs."},{"line_number":212,"context_line":"        Ex:"},{"line_number":213,"context_line":"            \u0027tempest.test1[gate,id-2]\u0027 -\u003e tempest.test1"},{"line_number":214,"context_line":"            \u0027tempest.test2[gate,id-3](scenario)\u0027 -\u003e tempest.test2"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_2e5f670f","line":211,"updated":"2016-06-23 05:14:37.000000000","message":"This description says the function returns test ids, but the comment below shows it returning test names. It seems like one of these is incorrect","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def get_whitelist(self, list_location):"},{"line_number":210,"context_line":"        \"\"\"This takes in a test list file, get normalized, and get whitelist"},{"line_number":211,"context_line":"        test IDs."},{"line_number":212,"context_line":"        Ex:"},{"line_number":213,"context_line":"            \u0027tempest.test1[gate,id-2]\u0027 -\u003e tempest.test1"},{"line_number":214,"context_line":"            \u0027tempest.test2[gate,id-3](scenario)\u0027 -\u003e tempest.test2"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_3515809b","line":211,"in_reply_to":"3aaa91ec_2e5f670f","updated":"2016-06-27 20:12:09.000000000","message":"Done","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"998ef589c339af3295eafdde721dfab681e7ecc6","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        :param list_location: file path or URL location of list file"},{"line_number":217,"context_line":"        \"\"\""},{"line_number":218,"context_line":"        nl \u003d open(self.get_normalized_test_list(list_location), \u0027r\u0027).read()"},{"line_number":219,"context_line":"        test_ids \u003d re.sub(\"\\[.*\", \"\", nl)"},{"line_number":220,"context_line":"        return self._write_normalized_test_list(test_ids.split(\u0027\\n\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_ae7237ab","line":218,"updated":"2016-06-23 05:14:37.000000000","message":"Use a slightly more descriptive variable name here (norm_list, etc). This saves space but is harder to read","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"512cb937914c83857e25af0fafb24ebf2bbd20e5","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        :param list_location: file path or URL location of list file"},{"line_number":217,"context_line":"        \"\"\""},{"line_number":218,"context_line":"        nl \u003d open(self.get_normalized_test_list(list_location), \u0027r\u0027).read()"},{"line_number":219,"context_line":"        test_ids \u003d re.sub(\"\\[.*\", \"\", nl)"},{"line_number":220,"context_line":"        return self._write_normalized_test_list(test_ids.split(\u0027\\n\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_550e4c8c","line":218,"in_reply_to":"3aaa91ec_ae7237ab","updated":"2016-06-27 20:12:09.000000000","message":"Done","commit_id":"ba3b76c5d2a6bc99e8c3706b1e0babc0803c1dd9"}],"refstack_client/refstack_client.py":[{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"751af0664ad58c71925a4dad2d66194ae720a413","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self.logger.addHandler(self.console_log_handle)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.args \u003d args"},{"line_number":76,"context_line":"        self.tempest_dir \u003d os.path.join(os.getcwd(), \u0027.tempest\u0027)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # set default log level to INFO."},{"line_number":79,"context_line":"        if self.args.silent:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_b47aebee","line":76,"range":{"start_line":76,"start_character":40,"end_line":76,"end_character":49},"updated":"2016-06-15 09:13:32.000000000","message":"If program uses \u0027getcwd\u0027 then it should requires some circumstances from the user and itself. But I think that we can\u0027t garantee that current dir is directory of refstack client.\nSo if you want to calculate \u0027.tempest\u0027 dir it\u0027s better to get directory of current file and work with it.","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"d3c3ef3a3603a3677e2a16a852cf6587d1b48cb1","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self.logger.addHandler(self.console_log_handle)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.args \u003d args"},{"line_number":76,"context_line":"        self.tempest_dir \u003d os.path.join(os.getcwd(), \u0027.tempest\u0027)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # set default log level to INFO."},{"line_number":79,"context_line":"        if self.args.silent:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_d56c9cd2","line":76,"range":{"start_line":76,"start_character":40,"end_line":76,"end_character":49},"in_reply_to":"7aa08908_b47aebee","updated":"2016-06-22 00:08:09.000000000","message":"Done","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"751af0664ad58c71925a4dad2d66194ae720a413","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        # Use virtual environment (wrapper script)"},{"line_number":406,"context_line":"        # telling it to run the tests serially (--serial)."},{"line_number":407,"context_line":"        wrapper \u003d os.path.join(self.tempest_dir, \u0027tools\u0027, \u0027with_venv.sh\u0027)"},{"line_number":408,"context_line":"        cmd \u003d [wrapper, \u0027ostestr\u0027, \u0027--serial\u0027, \u0027--no-slowest\u0027]"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        # If a test list was specified, have it take precedence."},{"line_number":411,"context_line":"        if self.args.test_list:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_1d3cbfbe","line":408,"range":{"start_line":408,"start_character":48,"end_line":408,"end_character":60},"updated":"2016-06-15 09:13:32.000000000","message":"what means \u0027--no-slowest\u0027 ?","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"d3c3ef3a3603a3677e2a16a852cf6587d1b48cb1","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        # Use virtual environment (wrapper script)"},{"line_number":406,"context_line":"        # telling it to run the tests serially (--serial)."},{"line_number":407,"context_line":"        wrapper \u003d os.path.join(self.tempest_dir, \u0027tools\u0027, \u0027with_venv.sh\u0027)"},{"line_number":408,"context_line":"        cmd \u003d [wrapper, \u0027ostestr\u0027, \u0027--serial\u0027, \u0027--no-slowest\u0027]"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        # If a test list was specified, have it take precedence."},{"line_number":411,"context_line":"        if self.args.test_list:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_9524d4b2","line":408,"range":{"start_line":408,"start_character":48,"end_line":408,"end_character":60},"in_reply_to":"7aa08908_1d3cbfbe","updated":"2016-06-22 00:08:09.000000000","message":"After the test run don’t print the slowest tests. Available only on ostestr removing this info for consistency.","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"751af0664ad58c71925a4dad2d66194ae720a413","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            parser.setup_venv(self.logger.getEffectiveLevel())"},{"line_number":415,"context_line":"            list_file \u003d parser.get_normalized_test_list(self.args.test_list)"},{"line_number":416,"context_line":"            if list_file:"},{"line_number":417,"context_line":"                cmd +\u003d (\u0027--load-list\u0027, list_file)"},{"line_number":418,"context_line":"            else:"},{"line_number":419,"context_line":"                self.logger.error(\"Error normalizing passed in test list.\")"},{"line_number":420,"context_line":"                exit(1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_e822cfa2","line":417,"range":{"start_line":417,"start_character":25,"end_line":417,"end_character":36},"updated":"2016-06-15 09:13:32.000000000","message":"I have last version of ostestr (0.6.0) and I don\u0027t see such option","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"d3c3ef3a3603a3677e2a16a852cf6587d1b48cb1","unresolved":false,"context_lines":[{"line_number":414,"context_line":"            parser.setup_venv(self.logger.getEffectiveLevel())"},{"line_number":415,"context_line":"            list_file \u003d parser.get_normalized_test_list(self.args.test_list)"},{"line_number":416,"context_line":"            if list_file:"},{"line_number":417,"context_line":"                cmd +\u003d (\u0027--load-list\u0027, list_file)"},{"line_number":418,"context_line":"            else:"},{"line_number":419,"context_line":"                self.logger.error(\"Error normalizing passed in test list.\")"},{"line_number":420,"context_line":"                exit(1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_3547e04c","line":417,"range":{"start_line":417,"start_character":25,"end_line":417,"end_character":36},"in_reply_to":"7aa08908_e822cfa2","updated":"2016-06-22 00:08:09.000000000","message":"on version 0.7.0 is bypassed to testr, anyway changed to --whitelist_file to have coverage on older versions of ostestr","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"751af0664ad58c71925a4dad2d66194ae720a413","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            else:"},{"line_number":419,"context_line":"                self.logger.error(\"Error normalizing passed in test list.\")"},{"line_number":420,"context_line":"                exit(1)"},{"line_number":421,"context_line":"        elif \u0027arbitrary_args\u0027 in self.args:"},{"line_number":422,"context_line":"            # Additional arguments for ostestr runner"},{"line_number":423,"context_line":"            # otherwise run  all Tempest API tests."},{"line_number":424,"context_line":"            # keep consistency with old refstack usage(-- testCaseName)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_e8a76f09","line":421,"range":{"start_line":421,"start_character":14,"end_line":421,"end_character":28},"updated":"2016-06-15 09:13:32.000000000","message":"This section should be totally reworked due to different arguments of testr and ostestr","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"804102ec8524e107c1b96ce279c76db01f1d7be1","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            else:"},{"line_number":419,"context_line":"                self.logger.error(\"Error normalizing passed in test list.\")"},{"line_number":420,"context_line":"                exit(1)"},{"line_number":421,"context_line":"        elif \u0027arbitrary_args\u0027 in self.args:"},{"line_number":422,"context_line":"            # Additional arguments for ostestr runner"},{"line_number":423,"context_line":"            # otherwise run  all Tempest API tests."},{"line_number":424,"context_line":"            # keep consistency with old refstack usage(-- testCaseName)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_f31282b3","line":421,"range":{"start_line":421,"start_character":14,"end_line":421,"end_character":28},"in_reply_to":"3aaa91ec_18392d42","updated":"2016-06-22 15:51:29.000000000","message":"Ok, let\u0027s wait for thoughts of other reviewers on this.","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"00f594f75d74f20f1e404bd0b66ffb339dfdb1e3","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            else:"},{"line_number":419,"context_line":"                self.logger.error(\"Error normalizing passed in test list.\")"},{"line_number":420,"context_line":"                exit(1)"},{"line_number":421,"context_line":"        elif \u0027arbitrary_args\u0027 in self.args:"},{"line_number":422,"context_line":"            # Additional arguments for ostestr runner"},{"line_number":423,"context_line":"            # otherwise run  all Tempest API tests."},{"line_number":424,"context_line":"            # keep consistency with old refstack usage(-- testCaseName)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_18392d42","line":421,"range":{"start_line":421,"start_character":14,"end_line":421,"end_character":28},"in_reply_to":"3aaa91ec_2dee868b","updated":"2016-06-22 15:39:35.000000000","message":"If other parameters are passed (not a single TC), then ostestr parser will take care of it and will display the correct error message.","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"8c9a061f2456acd497e982f369d9273d020df26b","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            else:"},{"line_number":419,"context_line":"                self.logger.error(\"Error normalizing passed in test list.\")"},{"line_number":420,"context_line":"                exit(1)"},{"line_number":421,"context_line":"        elif \u0027arbitrary_args\u0027 in self.args:"},{"line_number":422,"context_line":"            # Additional arguments for ostestr runner"},{"line_number":423,"context_line":"            # otherwise run  all Tempest API tests."},{"line_number":424,"context_line":"            # keep consistency with old refstack usage(-- testCaseName)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_2dee868b","line":421,"range":{"start_line":421,"start_character":14,"end_line":421,"end_character":28},"in_reply_to":"7aa08908_b5a8f0dc","updated":"2016-06-22 09:00:47.000000000","message":"it will work only if user provided single TC to old implementation. if command was more complicated - this code can do different than user wants.\n- if we want to leave this argument then code should check for invalid arguments (that cloud be for the old implementation).\n- another option is to deprecate this argument and introduce new that will be compatible with ostestr","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"d3c3ef3a3603a3677e2a16a852cf6587d1b48cb1","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            else:"},{"line_number":419,"context_line":"                self.logger.error(\"Error normalizing passed in test list.\")"},{"line_number":420,"context_line":"                exit(1)"},{"line_number":421,"context_line":"        elif \u0027arbitrary_args\u0027 in self.args:"},{"line_number":422,"context_line":"            # Additional arguments for ostestr runner"},{"line_number":423,"context_line":"            # otherwise run  all Tempest API tests."},{"line_number":424,"context_line":"            # keep consistency with old refstack usage(-- testCaseName)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_b5a8f0dc","line":421,"range":{"start_line":421,"start_character":14,"end_line":421,"end_character":28},"in_reply_to":"7aa08908_e8a76f09","updated":"2016-06-22 00:08:09.000000000","message":"arbitrary_args are meant to be sent to the runner without further validation (current implementation included \u0027--\u0027 which was processed by run_tempest).\n\nChanges:\nremove \u0027--\u0027. \nand include --regex in case users are passing a single TC but forgot the \u0027--regex\u0027 otherwise ostestr will run the complete suite instead of a single TC...","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"751af0664ad58c71925a4dad2d66194ae720a413","unresolved":false,"context_lines":[{"line_number":437,"context_line":"            stderr \u003d open(os.devnull, \u0027w\u0027)"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"        # Execute the ostestr command in a subprocess."},{"line_number":440,"context_line":"        os.chdir(self.tempest_dir)"},{"line_number":441,"context_line":"        process \u003d subprocess.Popen(cmd, stderr\u003dstderr)"},{"line_number":442,"context_line":"        process.communicate()"},{"line_number":443,"context_line":"        os.chdir(\"..\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_88e50b3a","line":440,"updated":"2016-06-15 09:13:32.000000000","message":"the same - are you sure that current directory is a directory of refstack-client?","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"d3c3ef3a3603a3677e2a16a852cf6587d1b48cb1","unresolved":false,"context_lines":[{"line_number":437,"context_line":"            stderr \u003d open(os.devnull, \u0027w\u0027)"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"        # Execute the ostestr command in a subprocess."},{"line_number":440,"context_line":"        os.chdir(self.tempest_dir)"},{"line_number":441,"context_line":"        process \u003d subprocess.Popen(cmd, stderr\u003dstderr)"},{"line_number":442,"context_line":"        process.communicate()"},{"line_number":443,"context_line":"        os.chdir(\"..\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_55e6ec44","line":440,"in_reply_to":"7aa08908_88e50b3a","updated":"2016-06-22 00:08:09.000000000","message":"old implementation was already assuming that current directory is refstack-client (notice previous command was set to relative path \u0027.tempest\u0027)","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"751af0664ad58c71925a4dad2d66194ae720a413","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                                  \u0027cases or test lists. Some examples are: \u0027"},{"line_number":711,"context_line":"                                  \u0027-- --regex tempest.api.compute.images.\u0027"},{"line_number":712,"context_line":"                                  \u0027test_list_image_filters OR \u0027"},{"line_number":713,"context_line":"                                  \u0027-- --load-list /tmp/test-list.txt\u0027)"},{"line_number":714,"context_line":"    parser_test.set_defaults(func\u003d\"test\")"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"    # List command"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_c85b93f8","line":713,"range":{"start_line":713,"start_character":38,"end_line":713,"end_character":49},"updated":"2016-06-15 09:13:32.000000000","message":"there is no \u0027--load-list\u0027 argument for ostestr","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"00f594f75d74f20f1e404bd0b66ffb339dfdb1e3","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                                  \u0027cases or test lists. Some examples are: \u0027"},{"line_number":711,"context_line":"                                  \u0027-- --regex tempest.api.compute.images.\u0027"},{"line_number":712,"context_line":"                                  \u0027test_list_image_filters OR \u0027"},{"line_number":713,"context_line":"                                  \u0027-- --load-list /tmp/test-list.txt\u0027)"},{"line_number":714,"context_line":"    parser_test.set_defaults(func\u003d\"test\")"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"    # List command"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_f8826151","line":713,"range":{"start_line":713,"start_character":38,"end_line":713,"end_character":49},"in_reply_to":"3aaa91ec_edfc7e40","updated":"2016-06-22 15:39:35.000000000","message":"hahaha... totally missed it... now is truly Done :)","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":10234,"name":"Andrey Pavlov","email":"andrey.mp@gmail.com","username":"andrey-mp"},"change_message_id":"8c9a061f2456acd497e982f369d9273d020df26b","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                                  \u0027cases or test lists. Some examples are: \u0027"},{"line_number":711,"context_line":"                                  \u0027-- --regex tempest.api.compute.images.\u0027"},{"line_number":712,"context_line":"                                  \u0027test_list_image_filters OR \u0027"},{"line_number":713,"context_line":"                                  \u0027-- --load-list /tmp/test-list.txt\u0027)"},{"line_number":714,"context_line":"    parser_test.set_defaults(func\u003d\"test\")"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"    # List command"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_edfc7e40","line":713,"range":{"start_line":713,"start_character":38,"end_line":713,"end_character":49},"in_reply_to":"7aa08908_35e36035","updated":"2016-06-22 09:00:47.000000000","message":"hm, i still see load list here )","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"d3c3ef3a3603a3677e2a16a852cf6587d1b48cb1","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                                  \u0027cases or test lists. Some examples are: \u0027"},{"line_number":711,"context_line":"                                  \u0027-- --regex tempest.api.compute.images.\u0027"},{"line_number":712,"context_line":"                                  \u0027test_list_image_filters OR \u0027"},{"line_number":713,"context_line":"                                  \u0027-- --load-list /tmp/test-list.txt\u0027)"},{"line_number":714,"context_line":"    parser_test.set_defaults(func\u003d\"test\")"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"    # List command"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_35e36035","line":713,"range":{"start_line":713,"start_character":38,"end_line":713,"end_character":49},"in_reply_to":"7aa08908_c85b93f8","updated":"2016-06-22 00:08:09.000000000","message":"Done","commit_id":"43513bbbc761acff3d70edf6ce664993bd752270"},{"author":{"_account_id":9626,"name":"Paul Van Eck","email":"pvaneck@us.ibm.com","username":"pvaneck"},"change_message_id":"e02d642a9dca7d2a09db891a604ab6c5f16fcbb6","unresolved":false,"context_lines":[{"line_number":476,"context_line":"                                  sign_with\u003dself.args.priv_key)"},{"line_number":477,"context_line":"        else:"},{"line_number":478,"context_line":"            msg1 \u003d (\"ostestr command did not generate a results file under \""},{"line_number":479,"context_line":"                    \".testrepository. Review command and try again.\")"},{"line_number":480,"context_line":"            msg2 \u003d (\"Problem executing ostestr command. Results file not \""},{"line_number":481,"context_line":"                    \"generated hence no file to upload. \""},{"line_number":482,"context_line":"                    \"Review arbitrary arguments.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_d8a92e7d","line":479,"range":{"start_line":479,"start_character":21,"end_line":479,"end_character":36},"updated":"2016-07-06 00:45:56.000000000","message":"Should probably say \".tempest/.testrepository\" or \"the RefStack .tempest/.testrepository directory\" to be more clear.","commit_id":"c64b94251014d26b2f4346a90b2a03548feb761c"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"19720e880946d73d383b2d31df6e50b46419a9dd","unresolved":false,"context_lines":[{"line_number":476,"context_line":"                                  sign_with\u003dself.args.priv_key)"},{"line_number":477,"context_line":"        else:"},{"line_number":478,"context_line":"            msg1 \u003d (\"ostestr command did not generate a results file under \""},{"line_number":479,"context_line":"                    \".testrepository. Review command and try again.\")"},{"line_number":480,"context_line":"            msg2 \u003d (\"Problem executing ostestr command. Results file not \""},{"line_number":481,"context_line":"                    \"generated hence no file to upload. \""},{"line_number":482,"context_line":"                    \"Review arbitrary arguments.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"1aa78d24_536b21f1","line":479,"range":{"start_line":479,"start_character":21,"end_line":479,"end_character":36},"in_reply_to":"1aa78d24_d8a92e7d","updated":"2016-07-06 20:19:58.000000000","message":"Done","commit_id":"c64b94251014d26b2f4346a90b2a03548feb761c"}]}
