)]}'
{"HACKING.rst":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"578b6adebbdcfa14c18adc6df4f2cbcb71594728","unresolved":false,"context_lines":[{"line_number":377,"context_line":""},{"line_number":378,"context_line":"Otherwise the bug fix won\u0027t be able to land in the project."},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"Alternatevely, you can leverage `Zuul’s cross-repository dependencies"},{"line_number":381,"context_line":"\u003chttps://docs.openstack.org/infra/zuul/gating.html#cross-repository-dependencies\u003e`_."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"3. New Tests for existing features"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff73747_70f4cc86","line":380,"updated":"2017-04-26 14:57:30.000000000","message":"I\u0027m not exactly sure how this fits in. This will let you do all the changes at once and not need to manually synchronize between the repos, but it\u0027s not really an alternative. What were you going for here?","commit_id":"dbe063de7415a77d59abf8b2aa5be347ce58bfda"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"05cc7fd8da44b69a987cc0185e7b3b5ad25bdcd0","unresolved":false,"context_lines":[{"line_number":377,"context_line":""},{"line_number":378,"context_line":"Otherwise the bug fix won\u0027t be able to land in the project."},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"Alternatevely, you can leverage `Zuul’s cross-repository dependencies"},{"line_number":381,"context_line":"\u003chttps://docs.openstack.org/infra/zuul/gating.html#cross-repository-dependencies\u003e`_."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"3. New Tests for existing features"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff73747_8a114a55","line":380,"updated":"2017-04-27 07:28:08.000000000","message":"yeah, we should change api change tests deliberately.","commit_id":"dbe063de7415a77d59abf8b2aa5be347ce58bfda"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"0daf9d2e3def8b439bf5cbc3350af97ff5766328","unresolved":false,"context_lines":[{"line_number":377,"context_line":""},{"line_number":378,"context_line":"Otherwise the bug fix won\u0027t be able to land in the project."},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"Alternatevely, you can leverage `Zuul’s cross-repository dependencies"},{"line_number":381,"context_line":"\u003chttps://docs.openstack.org/infra/zuul/gating.html#cross-repository-dependencies\u003e`_."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"3. New Tests for existing features"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff73747_1bd58e1c","line":380,"in_reply_to":"5ff73747_70f4cc86","updated":"2017-04-27 09:28:55.000000000","message":"What I meant is, if CRD is used, we don\u0027t have to merge the \"skip on Tempest\" patch (step 2), right ?\n\nIf I rephrase with something like \u0027If CRD is used, we can do without step 2\", would that work ?","commit_id":"dbe063de7415a77d59abf8b2aa5be347ce58bfda"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"0daf9d2e3def8b439bf5cbc3350af97ff5766328","unresolved":false,"context_lines":[{"line_number":377,"context_line":""},{"line_number":378,"context_line":"Otherwise the bug fix won\u0027t be able to land in the project."},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"Alternatevely, you can leverage `Zuul’s cross-repository dependencies"},{"line_number":381,"context_line":"\u003chttps://docs.openstack.org/infra/zuul/gating.html#cross-repository-dependencies\u003e`_."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"3. New Tests for existing features"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff73747_bbb8dae4","line":380,"in_reply_to":"5ff73747_8a114a55","updated":"2017-04-27 09:28:55.000000000","message":"Sure, this section addresses the \"how to\" change API, not the \"when\" nor \"why\" change the API.","commit_id":"dbe063de7415a77d59abf8b2aa5be347ce58bfda"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"6b063cd6f0967ca1b071e45d6342dc4d07c7c0d3","unresolved":false,"context_lines":[{"line_number":377,"context_line":""},{"line_number":378,"context_line":"Otherwise the bug fix won\u0027t be able to land in the project."},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"Alternatevely, you can leverage `Zuul’s cross-repository dependencies"},{"line_number":381,"context_line":"\u003chttps://docs.openstack.org/infra/zuul/gating.html#cross-repository-dependencies\u003e`_."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"3. New Tests for existing features"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5ff73747_99a2a1fb","line":380,"updated":"2017-04-28 06:55:01.000000000","message":"I feel the rephrasing is better. And if you write like this phrase, I think it\u0027s better to write more details like the tempest patch depends on the project patch or something like that.","commit_id":"ff8a1f8f9cfb50075ebe9a55fc8d45c518a8bc37"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f41e3f7d260c2f59719e0b7854d5dee27fbdab11","unresolved":false,"context_lines":[{"line_number":110,"context_line":"that have tests."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"For scenario tests having a service tag is required. For the api tests service"},{"line_number":113,"context_line":"tags are only needed if the test method makes an api call (either directly or"},{"line_number":114,"context_line":"indirectly through another service) that differs from the parent directory"},{"line_number":115,"context_line":"name. For example, any test that make an API call to a service other than Nova"},{"line_number":116,"context_line":"in ``tempest.api.compute`` would require a service tag for those services,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_1b9bb0c9","line":113,"range":{"start_line":113,"start_character":49,"end_line":113,"end_character":52},"updated":"2017-05-04 21:58:30.000000000","message":"API","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"77b47a11fefee3787343eff1315bd4f6d346ba66","unresolved":false,"context_lines":[{"line_number":257,"context_line":"   run the unit tests is the git tree, python and the dependencies installed."},{"line_number":258,"context_line":"   This includes running services, a config file, etc."},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"2. The unit tests cannot use setUpClass, instead fixtures and testresources"},{"line_number":261,"context_line":"   should be used for shared state between tests."},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_12194e84","line":260,"range":{"start_line":260,"start_character":62,"end_line":260,"end_character":75},"updated":"2017-05-05 03:03:37.000000000","message":"test resources?","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"9940b9d017ef1efd30fa38a8252d2d4a45245756","unresolved":false,"context_lines":[{"line_number":257,"context_line":"   run the unit tests is the git tree, python and the dependencies installed."},{"line_number":258,"context_line":"   This includes running services, a config file, etc."},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"2. The unit tests cannot use setUpClass, instead fixtures and testresources"},{"line_number":261,"context_line":"   should be used for shared state between tests."},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f013ff3_33dc7373","line":260,"range":{"start_line":260,"start_character":62,"end_line":260,"end_character":75},"in_reply_to":"3f044301_12194e84","updated":"2017-05-14 11:30:33.000000000","message":"I prefer to leave it as is for now.","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f41e3f7d260c2f59719e0b7854d5dee27fbdab11","unresolved":false,"context_lines":[{"line_number":382,"context_line":"can be leveraged to do without step 2 and to have steps 3 and 4 happen"},{"line_number":383,"context_line":"\"atomically\". To do that, make the patch written in step 1 to depend (refer to"},{"line_number":384,"context_line":"Zuul\u0027s documentation above) on the patch written in step 4. The commit message"},{"line_number":385,"context_line":"for the Tempest change should have a link to the Gerrit review that justify"},{"line_number":386,"context_line":"that change."},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"3. New Tests for existing features"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_bbf71cf6","line":385,"range":{"start_line":385,"start_character":68,"end_line":385,"end_character":75},"updated":"2017-05-04 21:58:30.000000000","message":"justifies","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"797d512a2c051e1f51896809573eb86e7e480f89","unresolved":false,"context_lines":[{"line_number":380,"context_line":"Handily, `Zuul’s cross-repository dependencies"},{"line_number":381,"context_line":"\u003chttps://docs.openstack.org/infra/zuul/gating.html#cross-repository-dependencies\u003e`_."},{"line_number":382,"context_line":"can be leveraged to do without step 2 and to have steps 3 and 4 happen"},{"line_number":383,"context_line":"\"atomically\". To do that, make the patch written in step 1 to depend (refer to"},{"line_number":384,"context_line":"Zuul\u0027s documentation above) on the patch written in step 4. The commit message"},{"line_number":385,"context_line":"for the Tempest change should have a link to the Gerrit review that justifies"},{"line_number":386,"context_line":"that change."},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"3. New Tests for existing features"},{"line_number":389,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_f2b3e5e7","line":386,"range":{"start_line":383,"start_character":13,"end_line":386,"end_character":12},"updated":"2017-05-24 07:54:41.000000000","message":"but how Tempest patch in Step4 will land without project change? Once project bug is fixed then, we want to make the Tempest tests to verify the new behavior.","commit_id":"96d4fceb72ce14e955b147f41495eca1ee5296c3"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"a1c1a901bdeaa753f831493f84165a1a9b1ba23e","unresolved":false,"context_lines":[{"line_number":380,"context_line":"Handily, `Zuul’s cross-repository dependencies"},{"line_number":381,"context_line":"\u003chttps://docs.openstack.org/infra/zuul/gating.html#cross-repository-dependencies\u003e`_."},{"line_number":382,"context_line":"can be leveraged to do without step 2 and to have steps 3 and 4 happen"},{"line_number":383,"context_line":"\"atomically\". To do that, make the patch written in step 1 to depend (refer to"},{"line_number":384,"context_line":"Zuul\u0027s documentation above) on the patch written in step 4. The commit message"},{"line_number":385,"context_line":"for the Tempest change should have a link to the Gerrit review that justifies"},{"line_number":386,"context_line":"that change."},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"3. New Tests for existing features"},{"line_number":389,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f1d235d_cf9d4558","line":386,"range":{"start_line":383,"start_character":13,"end_line":386,"end_character":12},"in_reply_to":"ff0f0b1f_f2b3e5e7","updated":"2017-07-11 18:18:38.000000000","message":"Tempest patch in Step 4 will land because of point number 3: \"Land project change in master and all open stable branches (if required)\".\n\nWhat led you think that we could do without step 3 ? We need a project change and that\u0027s why we have step 3.","commit_id":"96d4fceb72ce14e955b147f41495eca1ee5296c3"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Tempest Specific Commandments"},{"line_number":9,"context_line":"------------------------------"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"- [T102] Cannot import OpenStack python clients in tempest/api \u0026"},{"line_number":12,"context_line":"         tempest/scenario tests"},{"line_number":13,"context_line":"- [T104] Scenario tests require a services decorator"},{"line_number":14,"context_line":"- [T105] Tests cannot use setUpClass/tearDownClass"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_988307aa","line":11,"updated":"2017-07-12 03:20:00.000000000","message":"This sentence is rendered in boldface..","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"- [T106] vim configuration should not be kept in source files."},{"line_number":16,"context_line":"- [T107] Check that a service tag isn\u0027t in the module path"},{"line_number":17,"context_line":"- [T108] Check no hyphen at the end of rand_name() argument"},{"line_number":18,"context_line":"- [T109] Cannot use testtools.skip decorator; instead use"},{"line_number":19,"context_line":"         decorators.skip_because from tempest.lib"},{"line_number":20,"context_line":"- [T110] Check that service client names of GET should be consistent"},{"line_number":21,"context_line":"- [T111] Check that service client names of DELETE should be consistent"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_78926bf8","line":18,"updated":"2017-07-12 03:20:00.000000000","message":"same here","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"Test cases are independent"},{"line_number":94,"context_line":"--------------------------"},{"line_number":95,"context_line":"Every ``test_method`` must be callable individually and MUST NOT depends on,"},{"line_number":96,"context_line":"any other ``test_method`` or ``test_method`` ordering."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Test cases MAY depend on commonly initialized resources/facilities, like"},{"line_number":99,"context_line":"credentials management, testresources and so on. These facilities, MUST be able"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_588d6fd1","line":96,"updated":"2017-07-12 03:20:00.000000000","message":"I\u0027m actually not sure we should quote these \u0027test_method\u0027 with backquotes. I feel these should be just \u0027test method\u0027 or \u0027test-method\u0027.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":118,"context_line":"however they do not need to be tagged as ``compute``."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Test fixtures and resources"},{"line_number":121,"context_line":"---------------------------"},{"line_number":122,"context_line":"Test level resources should be cleaned-up after the test execution. Clean-up"},{"line_number":123,"context_line":"is best scheduled using `addCleanup` which ensures that the resource cleanup"},{"line_number":124,"context_line":"code is always invoked, and in reverse order with respect to the creation"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_38be3365","line":121,"updated":"2017-07-12 03:20:00.000000000","message":"I think there are many words which should be double-backquoted not single-backquoted.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":120,"context_line":"Test fixtures and resources"},{"line_number":121,"context_line":"---------------------------"},{"line_number":122,"context_line":"Test level resources should be cleaned-up after the test execution. Clean-up"},{"line_number":123,"context_line":"is best scheduled using `addCleanup` which ensures that the resource cleanup"},{"line_number":124,"context_line":"code is always invoked, and in reverse order with respect to the creation"},{"line_number":125,"context_line":"order."},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_18c137e5","line":123,"updated":"2017-07-12 03:20:00.000000000","message":"here","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":124,"context_line":"code is always invoked, and in reverse order with respect to the creation"},{"line_number":125,"context_line":"order."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Test class level resources should be defined in the `resource_setup` method of"},{"line_number":128,"context_line":"the test class, except for any credential obtained from the credentials"},{"line_number":129,"context_line":"provider, which should be set-up in the `setup_credentials` method."},{"line_number":130,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_f8b79b85","line":127,"updated":"2017-07-12 03:20:00.000000000","message":"here","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Test class level resources should be defined in the `resource_setup` method of"},{"line_number":128,"context_line":"the test class, except for any credential obtained from the credentials"},{"line_number":129,"context_line":"provider, which should be set-up in the `setup_credentials` method."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"The test base class `BaseTestCase` defines Tempest framework for class level"},{"line_number":132,"context_line":"fixtures. `setUpClass` and `tearDownClass` are defined here and cannot be"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_d8ba9f6c","line":129,"updated":"2017-07-12 03:20:00.000000000","message":"here","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":128,"context_line":"the test class, except for any credential obtained from the credentials"},{"line_number":129,"context_line":"provider, which should be set-up in the `setup_credentials` method."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"The test base class `BaseTestCase` defines Tempest framework for class level"},{"line_number":132,"context_line":"fixtures. `setUpClass` and `tearDownClass` are defined here and cannot be"},{"line_number":133,"context_line":"overwritten by subclasses (enforced via hacking rule T105)."},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_b8b12392","line":131,"updated":"2017-07-12 03:20:00.000000000","message":"here","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":129,"context_line":"provider, which should be set-up in the `setup_credentials` method."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"The test base class `BaseTestCase` defines Tempest framework for class level"},{"line_number":132,"context_line":"fixtures. `setUpClass` and `tearDownClass` are defined here and cannot be"},{"line_number":133,"context_line":"overwritten by subclasses (enforced via hacking rule T105)."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Set-up is split in a series of steps (setup stages), which can be overwritten"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_98ac2736","line":132,"updated":"2017-07-12 03:20:00.000000000","message":"here","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":138,"context_line":"- `skip_checks`"},{"line_number":139,"context_line":"- `setup_credentials`"},{"line_number":140,"context_line":"- `setup_clients`"},{"line_number":141,"context_line":"- `resource_setup`"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Tear-down is also split in a series of steps (teardown stages), which are"},{"line_number":144,"context_line":"stacked for execution only if the corresponding setup stage had been"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_78ab8b1c","line":141,"updated":"2017-07-12 03:20:00.000000000","message":"these","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":145,"context_line":"reached during the setup phase. Tear-down stages are:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"- `clear_credentials` (defined in the base test class)"},{"line_number":148,"context_line":"- `resource_cleanup`"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Skipping Tests"},{"line_number":151,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_58a68f55","line":148,"updated":"2017-07-12 03:20:00.000000000","message":"and these","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":233,"context_line":"  and xml version of the same test class there could still be a race between"},{"line_number":234,"context_line":"  methods."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"- The rand_name() function from tempest.lib.common.utils.data_utils should be"},{"line_number":237,"context_line":"  used anywhere a resource is created with a name. Static naming should be"},{"line_number":238,"context_line":"  avoided to prevent resource conflicts."},{"line_number":239,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_3863d31c","line":236,"updated":"2017-07-12 03:20:00.000000000","message":"These(rand_name and tempest.lib.common...data_utils) should be quoted.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":357,"context_line":""},{"line_number":358,"context_line":"When adding tests for new features that were not in previous releases of the"},{"line_number":359,"context_line":"projects the new test has to be properly skipped with a feature flag. Whether"},{"line_number":360,"context_line":"this is just as simple as using the @test.requires_ext() decorator to check"},{"line_number":361,"context_line":"if the required extension (or discoverable optional API) is enabled or adding"},{"line_number":362,"context_line":"a new config option to the appropriate section. If there isn\u0027t a method of"},{"line_number":363,"context_line":"selecting the new **feature** from the config file then there won\u0027t be a"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_1866d72a","line":360,"updated":"2017-07-12 03:20:00.000000000","message":"Should be quoted.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":369,"context_line":""},{"line_number":370,"context_line":"When trying to land a bug fix which changes a tested API you\u0027ll have to use the"},{"line_number":371,"context_line":"following procedure::"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    1. Propose change to the project, get a +2 on the change even with failing"},{"line_number":374,"context_line":"    2. Propose skip on Tempest which will only be approved after the"},{"line_number":375,"context_line":"      corresponding change in the project has a +2 on change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_f86c3b09","line":372,"updated":"2017-07-12 03:20:00.000000000","message":"This is rendered as Python code, but it\u0027s not correct. I think this should be rendered as a plain text or some other better ones.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"}],"README.rst":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"05cc7fd8da44b69a987cc0185e7b3b5ad25bdcd0","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Tempest Design Principles that we strive to live by."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"- Tempest should be able to run against any OpenStack cloud, be it a"},{"line_number":26,"context_line":"  one node Devstack install, a 20 node LXC cloud, or a 1000 node KVM"},{"line_number":27,"context_line":"  cloud."},{"line_number":28,"context_line":"- Tempest should be explicit in testing features. It is easy to auto"},{"line_number":29,"context_line":"  discover features of a cloud incorrectly, and give people an"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff73747_ca0bd221","line":26,"updated":"2017-04-27 07:28:08.000000000","message":"It seems \"DevStack\"(capital \u0027S\u0027) is used in the its document[1].\n[1] https://docs.openstack.org/developer/devstack/","commit_id":"dbe063de7415a77d59abf8b2aa5be347ce58bfda"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"05cc7fd8da44b69a987cc0185e7b3b5ad25bdcd0","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"#. Installing Tempest may create a /etc/tempest dir, however if one isn\u0027t"},{"line_number":71,"context_line":"   created you can create one or use ~/.tempest/etc or ~/.config/tempest in"},{"line_number":72,"context_line":"   place of /etc/tempest. If none of these dirs are created Tempest will create"},{"line_number":73,"context_line":"   ``~/.tempest/etc`` when it\u0027s needed. The contents of this dir will always"},{"line_number":74,"context_line":"   automatically be copied to all etc/ dirs in local workspaces as an initial"},{"line_number":75,"context_line":"   setup step. So if there is any common configuration you\u0027d like to be shared"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff73747_aa140645","line":72,"updated":"2017-04-27 07:28:08.000000000","message":"I\u0027m curious why you didn\u0027t double-quoat the above directory paths.","commit_id":"dbe063de7415a77d59abf8b2aa5be347ce58bfda"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"   This can be done within a venv, but the assumption for this guide is that"},{"line_number":68,"context_line":"   the Tempest CLI entry point will be in your shell\u0027s PATH."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"#. Installing Tempest may create a ``/etc/tempest dir``, however if one isn\u0027t"},{"line_number":71,"context_line":"   created you can create one or use ``~/.tempest/etc`` or ``~/.config/tempest`` in"},{"line_number":72,"context_line":"   place of ``/etc/tempest``. If none of these dirs are created Tempest will create"},{"line_number":73,"context_line":"   ``~/.tempest/etc`` when it\u0027s needed. The contents of this dir will always"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_f89e7b05","line":70,"updated":"2017-07-12 03:20:00.000000000","message":"I think this should be \u0027``/etc/tempest`` dir\u0027.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"#. Then ``cd`` into the newly created working dir and also modify the local"},{"line_number":94,"context_line":"   config files located in the ``etc/`` subdir created by the ``tempest init``"},{"line_number":95,"context_line":"   command. Tempest is expecting a ``tempest.conf`` file in etc/ so if only a"},{"line_number":96,"context_line":"   sample exists you must rename or copy it to tempest.conf before making"},{"line_number":97,"context_line":"   any changes to it otherwise Tempest will not know how to load it. For"},{"line_number":98,"context_line":"   details on configuring Tempest refer to the :ref:`tempest-configuration`."}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_d8a17f48","line":95,"updated":"2017-07-12 03:20:00.000000000","message":"``etc/``","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"By setting OS_TEST_PATH to ./tempest/tests it specifies that test discover"},{"line_number":189,"context_line":"should only be run on the unit test directory. The default value of OS_TEST_PATH"},{"line_number":190,"context_line":"is OS_TEST_PATH\u003d./tempest/test_discover which will only run test discover on the"},{"line_number":191,"context_line":"Tempest suite."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Alternatively, there are the py27 and py35 tox jobs which will run the unit"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_b88803c6","line":190,"updated":"2017-07-12 03:20:00.000000000","message":"Why not double-backquote these?","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"}],"REVIEWING.rst":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"05cc7fd8da44b69a987cc0185e7b3b5ad25bdcd0","unresolved":false,"context_lines":[{"line_number":26,"context_line":"While checking in the job logs that a new test is actually executed, also"},{"line_number":27,"context_line":"pay attention to the execution time of that test. Keep in mind that each test"},{"line_number":28,"context_line":"is going to be executed hundreds of time each day, because Tempest tests are"},{"line_number":29,"context_line":"ran in many OpenStack projects. It\u0027s worth to consider how important/critical"},{"line_number":30,"context_line":"the feature under test is with how costly the new test is."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff73747_ea068e1c","line":29,"updated":"2017-04-27 07:28:08.000000000","message":"s/ran/run","commit_id":"dbe063de7415a77d59abf8b2aa5be347ce58bfda"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b50d78156c8dc81ac291cbf32d3a4f850b632cec","unresolved":false,"context_lines":[{"line_number":26,"context_line":"While checking in the job logs that a new test is actually executed, also"},{"line_number":27,"context_line":"pay attention to the execution time of that test. Keep in mind that each test"},{"line_number":28,"context_line":"is going to be executed hundreds of time each day, because Tempest tests are"},{"line_number":29,"context_line":"ran in many OpenStack projects. It\u0027s worth to consider how important/critical"},{"line_number":30,"context_line":"the feature under test is with how costly the new test is."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5ff73747_f3c08ae3","line":29,"range":{"start_line":29,"start_character":43,"end_line":29,"end_character":54},"updated":"2017-04-28 20:55:59.000000000","message":"considering","commit_id":"ff8a1f8f9cfb50075ebe9a55fc8d45c518a8bc37"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b50d78156c8dc81ac291cbf32d3a4f850b632cec","unresolved":false,"context_lines":[{"line_number":26,"context_line":"While checking in the job logs that a new test is actually executed, also"},{"line_number":27,"context_line":"pay attention to the execution time of that test. Keep in mind that each test"},{"line_number":28,"context_line":"is going to be executed hundreds of time each day, because Tempest tests are"},{"line_number":29,"context_line":"ran in many OpenStack projects. It\u0027s worth to consider how important/critical"},{"line_number":30,"context_line":"the feature under test is with how costly the new test is."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5ff73747_738b5ac2","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":3},"updated":"2017-04-28 20:55:59.000000000","message":"run","commit_id":"ff8a1f8f9cfb50075ebe9a55fc8d45c518a8bc37"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"77b47a11fefee3787343eff1315bd4f6d346ba66","unresolved":false,"context_lines":[{"line_number":64,"context_line":"directories, so it\u0027s easy to introduce test duplication. For example, testing"},{"line_number":65,"context_line":"volume attachment to a server could be a compute test or a volume test, depending"},{"line_number":66,"context_line":"on how you see it. So one must look carefully in the entire code base for possible"},{"line_number":67,"context_line":"overlap. As a rule of thumb, the older a feature is, the more likely it is that"},{"line_number":68,"context_line":"it\u0027s already tested."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_f597ec8f","line":67,"range":{"start_line":67,"start_character":69,"end_line":67,"end_character":79},"updated":"2017-05-05 03:03:37.000000000","message":"this can be removed?","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d2f0c754a39beaa2ccf27b5010bd6ba2bb5026b1","unresolved":false,"context_lines":[{"line_number":25,"context_line":"--------------"},{"line_number":26,"context_line":"While checking in the job logs that a new test is actually executed, also"},{"line_number":27,"context_line":"pay attention to the execution time of that test. Keep in mind that each test"},{"line_number":28,"context_line":"is going to be executed hundreds of time each day, because Tempest tests are"},{"line_number":29,"context_line":"run in many OpenStack projects. It\u0027s worth considering how important/critical"},{"line_number":30,"context_line":"the feature under test is with how costly the new test is."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_c57a67b8","line":29,"range":{"start_line":28,"start_character":73,"end_line":29,"end_character":3},"updated":"2017-05-23 21:56:59.000000000","message":"nit: \"run\" is an intransitive verb, so we could remove \"are\".","commit_id":"96d4fceb72ce14e955b147f41495eca1ee5296c3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d2f0c754a39beaa2ccf27b5010bd6ba2bb5026b1","unresolved":false,"context_lines":[{"line_number":65,"context_line":"volume attachment to a server could be a compute test or a volume test, depending"},{"line_number":66,"context_line":"on how you see it. So one must look carefully in the entire code base for possible"},{"line_number":67,"context_line":"overlap. As a rule of thumb, the older a feature is, the more likely it\u0027s"},{"line_number":68,"context_line":"already tested."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Being explicit"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff0f0b1f_45489785","line":68,"updated":"2017-05-23 21:56:59.000000000","message":"+1","commit_id":"96d4fceb72ce14e955b147f41495eca1ee5296c3"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":120,"context_line":"fix it. When it will happen, we will deal with it on a case-by-case basis."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"When to approve"},{"line_number":123,"context_line":"---------------"},{"line_number":124,"context_line":" * Every patch needs two +2s before being approved."},{"line_number":125,"context_line":" * Its ok to hold off on an approval until a subject matter expert reviews it"},{"line_number":126,"context_line":" * If a patch has already been approved but requires a trivial rebase to merge,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_18981719","line":123,"updated":"2017-07-12 03:20:00.000000000","message":"Belows are a bit weird rendered. I suppose whitespaces in the beginning should be removed.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"}],"doc/source/configuration.rst":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"77b47a11fefee3787343eff1315bd4f6d346ba66","unresolved":false,"context_lines":[{"line_number":316,"context_line":"unlike accounts.yaml this should never be triggered."},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"However, there is an option ``create_isolated_networks`` to disable dynamic"},{"line_number":319,"context_line":"credentials\u0027s automatic provisioning of network resources. If this option is set"},{"line_number":320,"context_line":"to ``False`` you will have to either rely on there only being a single/default"},{"line_number":321,"context_line":"network available for the server creation, or use ``fixed_network_name`` to"},{"line_number":322,"context_line":"inform Tempest which network to use."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_d28526af","line":319,"range":{"start_line":319,"start_character":0,"end_line":319,"end_character":13},"updated":"2017-05-05 03:03:37.000000000","message":"credentials\u0027","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":20,"context_line":" #. ``admin_username``"},{"line_number":21,"context_line":" #. ``admin_password``"},{"line_number":22,"context_line":" #. ``admin_project_name``"},{"line_number":23,"context_line":" #. ``admin_domain_name``"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Admin credentials are not mandatory to run Tempest, but when provided they"},{"line_number":26,"context_line":"can be used to:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_98fe6736","line":23,"updated":"2017-07-12 03:20:00.000000000","message":"Whitespaces in the beginning should be removed.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":" - ``auth_version``"},{"line_number":51,"context_line":" - ``uri``"},{"line_number":52,"context_line":" - ``uri_v3``"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The ``auth_version`` option is used to tell Tempest whether it should be using"},{"line_number":55,"context_line":"Keystone\u0027s v2 or v3 api for communicating with Keystone. The two uri options are"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_78fdcb38","line":52,"updated":"2017-07-12 03:20:00.000000000","message":"same here","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    ``admin_username``, ``admin_project_name``, ``admin_domain_name`` and"},{"line_number":80,"context_line":"    ``admin_password`` options"},{"line_number":81,"context_line":" #. To enable dynamic credentials in the ``auth`` section with the"},{"line_number":82,"context_line":"    ``use_dynamic_credentials`` option."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"This is also currently the default credential provider enabled by Tempest, due"},{"line_number":85,"context_line":"to its common use and ease of configuration."}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_58f8cf47","line":82,"updated":"2017-07-12 03:20:00.000000000","message":"ditto here. There are same things below.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":106,"context_line":"For a long time using dynamic credentials was the only method available if you"},{"line_number":107,"context_line":"wanted to enable parallel execution of Tempest tests. However, this was"},{"line_number":108,"context_line":"insufficient for certain use cases because of the admin credentials requirement"},{"line_number":109,"context_line":"to create the credential sets on demand. To get around that the accounts.yaml"},{"line_number":110,"context_line":"file was introduced and with that a new internal credential provider to enable"},{"line_number":111,"context_line":"using the list of credentials instead of creating them on demand. With locking"},{"line_number":112,"context_line":"test accounts each test class will reserve a set of credentials from the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_389513e5","line":109,"updated":"2017-07-12 03:20:00.000000000","message":"I feel this and below \u0027accounts.yaml\u0027 should be quoted.","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"}],"tempest/README.rst":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"578b6adebbdcfa14c18adc6df4f2cbcb71594728","unresolved":false,"context_lines":[{"line_number":9,"context_line":"OpenStack clouds."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"As such Tempest tests come in many flavors, each with their own rules"},{"line_number":12,"context_line":"and guidelines. Below is the overwiew of the Tempest respository structure"},{"line_number":13,"context_line":"to make this clear."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"| tempest/"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff73747_30b9a4cb","line":12,"range":{"start_line":12,"start_character":29,"end_line":12,"end_character":37},"updated":"2017-04-26 14:57:30.000000000","message":"s/overwiew/overview/","commit_id":"dbe063de7415a77d59abf8b2aa5be347ce58bfda"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0309a0410dc47054e2d017c60cd7703d33eb6d2a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"| tempest/"},{"line_number":16,"context_line":"|    api/ - API tests"},{"line_number":17,"context_line":"|    scenario/ - complex scenario tests"},{"line_number":18,"context_line":"|    tests/ - unit tests for Tempest internals"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Each of these directories contains different types of tests. What"},{"line_number":21,"context_line":"belongs in each directory, the rules and examples for good tests, are"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f1d235d_b8036342","line":18,"updated":"2017-07-12 03:20:00.000000000","message":"These lines are a bit weird rendered.\nhttp://docs-draft.openstack.org/28/460128/6/check/gate-tempest-docs-ubuntu-xenial/8dec19b//doc/build/html/field_guide/index.html","commit_id":"74a56aba03aaed32669ea7f0b011a5a7c2c6a730"}],"tempest/api/README.rst":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f41e3f7d260c2f59719e0b7854d5dee27fbdab11","unresolved":false,"context_lines":[{"line_number":23,"context_line":"spinning up a server, image, etc, then operating on it."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Why are these tests in tempest?"},{"line_number":27,"context_line":"-------------------------------"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"This is one of the core missions for the Tempest project, and where it"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_fb6484bb","line":26,"range":{"start_line":26,"start_character":23,"end_line":26,"end_character":30},"updated":"2017-05-04 21:58:30.000000000","message":"Tempest","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"}],"tempest/scenario/README.rst":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f41e3f7d260c2f59719e0b7854d5dee27fbdab11","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    4. create a snapshot of the vm"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Why are these tests in tempest?"},{"line_number":25,"context_line":"-------------------------------"},{"line_number":26,"context_line":"This is one of Tempest\u0027s core purposes, testing the integration between"},{"line_number":27,"context_line":"projects."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_3b51ccd9","line":24,"range":{"start_line":24,"start_character":23,"end_line":24,"end_character":30},"updated":"2017-05-04 21:58:30.000000000","message":"Tempest","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"}],"tempest/tests/README.rst":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f41e3f7d260c2f59719e0b7854d5dee27fbdab11","unresolved":false,"context_lines":[{"line_number":12,"context_line":"working as expected. They should not require an external service to be running"},{"line_number":13,"context_line":"and should be able to run solely from the Tempest tree."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Why are these tests in tempest?"},{"line_number":16,"context_line":"-------------------------------"},{"line_number":17,"context_line":"These tests exist to make sure that the mechanisms that we use inside of"},{"line_number":18,"context_line":"Tempest are valid and remain functional. They are only here for self"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f044301_7b47541f","line":15,"range":{"start_line":15,"start_character":23,"end_line":15,"end_character":30},"updated":"2017-05-04 21:58:30.000000000","message":"Tempest","commit_id":"35af49e2ee26fdaf2640e46c6cf2b84e42079c63"}]}
