)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"614d02af1772f2052214a758d8815c4932dd193c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"892625e5_3eb7a39e","updated":"2026-08-17 11:14:17.000000000","message":"Thanks for tackling this 🙏","commit_id":"2819d1c9129cf7654159e3f1bcddfb73b931b976"}],"HACKING.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2b53f76bc7e360805471fd0a4de8d64f5f82c8ab","unresolved":true,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Read the OpenStack Style Commandments"},{"line_number":5,"context_line":"https://docs.openstack.org/hacking/latest/"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Indentation"},{"line_number":8,"context_line":"-----------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"PEP-8 allows for \u0027visual\u0027 indentation. **Do not use it**."},{"line_number":11,"context_line":"Visual indentation looks like this:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. code-block:: python"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"  return_value \u003d self.some_method(arg1, arg1,"},{"line_number":16,"context_line":"                                  arg3, arg4)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Visual indentation makes refactoring the code base unnecessarily hard."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Instead of visual indentation, use this:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":".. code-block:: python"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  return_value \u003d self.some_method("},{"line_number":25,"context_line":"      arg1, arg1, arg3, arg4)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"That way, if some_method ever needs to be renamed, the only line that needs"},{"line_number":28,"context_line":"to be touched is the line with some_method."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Additionally, if you need to line break at the top of a block, please indent"},{"line_number":31,"context_line":"the continuation line an additional 4 spaces, like this:"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. code-block:: python"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  for val in self.some_method("},{"line_number":36,"context_line":"          arg1, arg1, arg3, arg4):"},{"line_number":37,"context_line":"      self.do_something_awesome()"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Neither of these are \u0027mandated\u0027 by PEP-8. However, they are prevailing styles"},{"line_number":40,"context_line":"within this code base."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Running a Single Test"},{"line_number":43,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"50b39fdf_019121d1","line":40,"range":{"start_line":6,"start_character":1,"end_line":40,"end_character":22},"updated":"2026-08-14 20:36:47.000000000","message":"Unrelated, but all of this can probably be dropped. We just use `ruff` now","commit_id":"7282e28aff21d92892808ca6f53f900fbc298264"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"812369204efd4b7713bbf5d0ee07ffbc7987ab23","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Read the OpenStack Style Commandments"},{"line_number":5,"context_line":"https://docs.openstack.org/hacking/latest/"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Indentation"},{"line_number":8,"context_line":"-----------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"PEP-8 allows for \u0027visual\u0027 indentation. **Do not use it**."},{"line_number":11,"context_line":"Visual indentation looks like this:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. code-block:: python"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"  return_value \u003d self.some_method(arg1, arg1,"},{"line_number":16,"context_line":"                                  arg3, arg4)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Visual indentation makes refactoring the code base unnecessarily hard."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Instead of visual indentation, use this:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":".. code-block:: python"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  return_value \u003d self.some_method("},{"line_number":25,"context_line":"      arg1, arg1, arg3, arg4)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"That way, if some_method ever needs to be renamed, the only line that needs"},{"line_number":28,"context_line":"to be touched is the line with some_method."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Additionally, if you need to line break at the top of a block, please indent"},{"line_number":31,"context_line":"the continuation line an additional 4 spaces, like this:"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. code-block:: python"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  for val in self.some_method("},{"line_number":36,"context_line":"          arg1, arg1, arg3, arg4):"},{"line_number":37,"context_line":"      self.do_something_awesome()"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Neither of these are \u0027mandated\u0027 by PEP-8. However, they are prevailing styles"},{"line_number":40,"context_line":"within this code base."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Running a Single Test"},{"line_number":43,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e3ae5de3_a7587ce3","line":40,"range":{"start_line":6,"start_character":1,"end_line":40,"end_character":22},"in_reply_to":"50b39fdf_019121d1","updated":"2026-08-14 20:49:48.000000000","message":"Acknowledged","commit_id":"7282e28aff21d92892808ca6f53f900fbc298264"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fe8958326404ec788d58747d8f470ab83c8f9ae7","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Read the OpenStack Style Commandments"},{"line_number":5,"context_line":"https://docs.openstack.org/hacking/latest/"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Indentation"},{"line_number":8,"context_line":"-----------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"PEP-8 allows for \u0027visual\u0027 indentation. **Do not use it**."},{"line_number":11,"context_line":"Visual indentation looks like this:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. code-block:: python"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"  return_value \u003d self.some_method(arg1, arg1,"},{"line_number":16,"context_line":"                                  arg3, arg4)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Visual indentation makes refactoring the code base unnecessarily hard."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Instead of visual indentation, use this:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":".. code-block:: python"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  return_value \u003d self.some_method("},{"line_number":25,"context_line":"      arg1, arg1, arg3, arg4)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"That way, if some_method ever needs to be renamed, the only line that needs"},{"line_number":28,"context_line":"to be touched is the line with some_method."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Additionally, if you need to line break at the top of a block, please indent"},{"line_number":31,"context_line":"the continuation line an additional 4 spaces, like this:"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. code-block:: python"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  for val in self.some_method("},{"line_number":36,"context_line":"          arg1, arg1, arg3, arg4):"},{"line_number":37,"context_line":"      self.do_something_awesome()"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Neither of these are \u0027mandated\u0027 by PEP-8. However, they are prevailing styles"},{"line_number":40,"context_line":"within this code base."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Running a Single Test"},{"line_number":43,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d10440d2_2350c755","line":40,"range":{"start_line":6,"start_character":1,"end_line":40,"end_character":22},"in_reply_to":"e3ae5de3_a7587ce3","updated":"2026-08-17 11:23:28.000000000","message":"Done here https://review.opendev.org/c/openstack/openstacksdk/+/1001122","commit_id":"7282e28aff21d92892808ca6f53f900fbc298264"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2b53f76bc7e360805471fd0a4de8d64f5f82c8ab","unresolved":true,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Neither of these are \u0027mandated\u0027 by PEP-8. However, they are prevailing styles"},{"line_number":40,"context_line":"within this code base."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Running a Single Test"},{"line_number":43,"context_line":"---------------------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To run a single test, use ``stestr`` directly inside the tox virtualenv::"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  .tox/py3/bin/stestr run openstack.tests.unit.block_storage.v3.test_type.TestType.test_basic"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Unit Tests"},{"line_number":50,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2b3b8a9f_f9142be2","line":47,"range":{"start_line":41,"start_character":1,"end_line":47,"end_character":93},"updated":"2026-08-14 20:36:47.000000000","message":"This doesn\u0027t really belong here. Can you drop it? We already document this in https://github.com/openstack/openstacksdk/blob/master/doc/source/contributor/testing.rst","commit_id":"7282e28aff21d92892808ca6f53f900fbc298264"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"812369204efd4b7713bbf5d0ee07ffbc7987ab23","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Neither of these are \u0027mandated\u0027 by PEP-8. However, they are prevailing styles"},{"line_number":40,"context_line":"within this code base."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Running a Single Test"},{"line_number":43,"context_line":"---------------------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To run a single test, use ``stestr`` directly inside the tox virtualenv::"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  .tox/py3/bin/stestr run openstack.tests.unit.block_storage.v3.test_type.TestType.test_basic"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Unit Tests"},{"line_number":50,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9e0dec29_a1c5e09d","line":47,"range":{"start_line":41,"start_character":1,"end_line":47,"end_character":93},"in_reply_to":"2b3b8a9f_f9142be2","updated":"2026-08-14 20:49:48.000000000","message":"Done","commit_id":"7282e28aff21d92892808ca6f53f900fbc298264"}]}
