)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d44ee44e7b410fa66f98439bd5c4a4579e0757c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"48177f5a_74e3e77a","updated":"2024-04-26 10:57:44.000000000","message":"This is pretty much there. If you can address my comments, I\u0027m +2","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"4e8aa83e_9882dae6","updated":"2024-07-30 10:33:08.000000000","message":"Better but I still have a few small outstanding issues","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"c8a95473ebedcdc9a9c68ec6ceedf798a2266c21","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"77ab90a2_8e7adcba","updated":"2024-07-28 15:05:06.000000000","message":"Hello,\nI will continue the development of the feature patch that implements the stack signal functionality. I have uploaded a new patch set resilving the review comments lefted by stephenfin. Thank you 😊","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"ef80732ca22bbb8a5a2ebfc88e1f0e657ad7334e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"07dae178_70ac2efe","updated":"2024-07-28 15:08:44.000000000","message":"Hello,\nI will continue the development of the feature patch that implements the stack signal functionality. I have uploaded a new patch set resolving the review comments lefted by stephenfin. Thank you 😊","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"}],"openstack/orchestration/v1/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d44ee44e7b410fa66f98439bd5c4a4579e0757c3","unresolved":true,"context_lines":[{"line_number":357,"context_line":"            _resource.Resource, stack_name\u003dobj.name, stack_id\u003dobj.id, **query"},{"line_number":358,"context_line":"        )"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    def signal_resource(self, stack, resource_name, data\u003dNone, data_file\u003dNone):"},{"line_number":361,"context_line":"        \"\"\"Signal a resource with optional data."},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        :param stack: Can be either the ID of a stack or an instance of"}],"source_content_type":"text/x-python","patch_set":8,"id":"008b3ede_4e30eebe","line":360,"range":{"start_line":360,"start_character":63,"end_line":360,"end_character":72},"updated":"2024-04-26 10:57:44.000000000","message":"We normally call this `filename` (see e.g. `create_image` in `openstack/image/v2/_proxy.py`)","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"ef80732ca22bbb8a5a2ebfc88e1f0e657ad7334e","unresolved":false,"context_lines":[{"line_number":357,"context_line":"            _resource.Resource, stack_name\u003dobj.name, stack_id\u003dobj.id, **query"},{"line_number":358,"context_line":"        )"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    def signal_resource(self, stack, resource_name, data\u003dNone, data_file\u003dNone):"},{"line_number":361,"context_line":"        \"\"\"Signal a resource with optional data."},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        :param stack: Can be either the ID of a stack or an instance of"}],"source_content_type":"text/x-python","patch_set":8,"id":"1983f48d_8289b77f","line":360,"range":{"start_line":360,"start_character":63,"end_line":360,"end_character":72},"in_reply_to":"008b3ede_4e30eebe","updated":"2024-07-28 15:08:44.000000000","message":"i\u0027ve changed `data_file` to `filename`","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d44ee44e7b410fa66f98439bd5c4a4579e0757c3","unresolved":true,"context_lines":[{"line_number":370,"context_line":"        \"\"\""},{"line_number":371,"context_line":"        if data and data_file:"},{"line_number":372,"context_line":"            raise exceptions.InvalidRequest("},{"line_number":373,"context_line":"                \u0027Should only specify one of data or \u0027 \u0027data-file\u0027"},{"line_number":374,"context_line":"            )"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        if data_file:"}],"source_content_type":"text/x-python","patch_set":8,"id":"a54d8d4e_03b63c93","line":373,"range":{"start_line":373,"start_character":52,"end_line":373,"end_character":55},"updated":"2024-04-26 10:57:44.000000000","message":"whoops","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"ef80732ca22bbb8a5a2ebfc88e1f0e657ad7334e","unresolved":true,"context_lines":[{"line_number":370,"context_line":"        \"\"\""},{"line_number":371,"context_line":"        if data and data_file:"},{"line_number":372,"context_line":"            raise exceptions.InvalidRequest("},{"line_number":373,"context_line":"                \u0027Should only specify one of data or \u0027 \u0027data-file\u0027"},{"line_number":374,"context_line":"            )"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        if data_file:"}],"source_content_type":"text/x-python","patch_set":8,"id":"47c1d3d3_c20f4431","line":373,"range":{"start_line":373,"start_character":52,"end_line":373,"end_character":55},"in_reply_to":"a54d8d4e_03b63c93","updated":"2024-07-28 15:08:44.000000000","message":"thank you!","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":true,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from json import loads"},{"line_number":14,"context_line":"from urllib import request"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstack import exceptions"}],"source_content_type":"text/x-python","patch_set":9,"id":"ab4be317_d868e801","line":13,"updated":"2024-07-30 10:33:08.000000000","message":"[Do not import objects, only modules](https://docs.openstack.org/hacking/latest/user/hacking.html#imports)\n\n```suggestion\nimport json\n```","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":true,"context_lines":[{"line_number":357,"context_line":"        )"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def signal_resource(self, stack, resource_name, data\u003dNone, filename\u003dNone):"},{"line_number":360,"context_line":"        \"\"\"Signal a resource with optional data."},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        :param stack: Can be either the ID of a stack or an instance of"},{"line_number":363,"context_line":"                      :class:`~openstack.orchestration.v1.stack.Stack`."}],"source_content_type":"text/x-python","patch_set":9,"id":"1ca42abb_2c050e03","line":360,"updated":"2024-07-30 10:33:08.000000000","message":"Would it be possible to give an example of the kind of data you could pass into this?","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":true,"context_lines":[{"line_number":359,"context_line":"    def signal_resource(self, stack, resource_name, data\u003dNone, filename\u003dNone):"},{"line_number":360,"context_line":"        \"\"\"Signal a resource with optional data."},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        :param stack: Can be either the ID of a stack or an instance of"},{"line_number":363,"context_line":"                      :class:`~openstack.orchestration.v1.stack.Stack`."},{"line_number":364,"context_line":"        :param resource_name: ID of the resource to send the signal to."},{"line_number":365,"context_line":"        :param data: JSON Data to send to the signal handler"},{"line_number":366,"context_line":"        :param filename: File containing JSON data to send to the signal handler"}],"source_content_type":"text/x-python","patch_set":9,"id":"98382421_1a77c7ca","line":363,"range":{"start_line":362,"start_character":0,"end_line":363,"end_character":71},"updated":"2024-07-30 10:33:08.000000000","message":"nit:\n\n```suggestion\n        :param stack: Can be either the ID of a stack or an instance of\n            :class:`~openstack.orchestration.v1.stack.Stack`.\n```","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":true,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        if data:"},{"line_number":380,"context_line":"            try:"},{"line_number":381,"context_line":"                data \u003d loads(data)"},{"line_number":382,"context_line":"            except ValueError as ex:"},{"line_number":383,"context_line":"                raise exceptions.InvalidRequest("},{"line_number":384,"context_line":"                    \u0027Data should be in JSON format: %s\u0027 % ex"}],"source_content_type":"text/x-python","patch_set":9,"id":"e422d393_0b2d47cd","line":381,"updated":"2024-07-30 10:33:08.000000000","message":"Out of curiosity, why require a string when you\u0027re just going to parse it: wouldn\u0027t it be easier to require a dict?","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"}],"openstack/orchestration/v1/resource.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d44ee44e7b410fa66f98439bd5c4a4579e0757c3","unresolved":true,"context_lines":[{"line_number":54,"context_line":"    #: Timestamp of the last update made to the resource."},{"line_number":55,"context_line":"    updated_at \u003d resource.Body(\u0027updated_time\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def signal(self, session, stack, resource_name, body):"},{"line_number":58,"context_line":"        url \u003d ("},{"line_number":59,"context_line":"            \u0027/stacks/%(stack_name)s/%(stack_id)s/resources/%(resource_name)s/signal\u0027"},{"line_number":60,"context_line":"            % {"}],"source_content_type":"text/x-python","patch_set":8,"id":"ef355747_c8cb6d83","line":57,"updated":"2024-04-26 10:57:44.000000000","message":"Can we get a docstring?","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    #: Timestamp of the last update made to the resource."},{"line_number":55,"context_line":"    updated_at \u003d resource.Body(\u0027updated_time\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def signal(self, session, stack, resource_name, body):"},{"line_number":58,"context_line":"        url \u003d ("},{"line_number":59,"context_line":"            \u0027/stacks/%(stack_name)s/%(stack_id)s/resources/%(resource_name)s/signal\u0027"},{"line_number":60,"context_line":"            % {"}],"source_content_type":"text/x-python","patch_set":8,"id":"cafed809_ffc3f122","line":57,"in_reply_to":"3383ba6f_357142d4","updated":"2024-07-30 10:33:08.000000000","message":"Acknowledged","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"ef80732ca22bbb8a5a2ebfc88e1f0e657ad7334e","unresolved":true,"context_lines":[{"line_number":54,"context_line":"    #: Timestamp of the last update made to the resource."},{"line_number":55,"context_line":"    updated_at \u003d resource.Body(\u0027updated_time\u0027)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def signal(self, session, stack, resource_name, body):"},{"line_number":58,"context_line":"        url \u003d ("},{"line_number":59,"context_line":"            \u0027/stacks/%(stack_name)s/%(stack_id)s/resources/%(resource_name)s/signal\u0027"},{"line_number":60,"context_line":"            % {"}],"source_content_type":"text/x-python","patch_set":8,"id":"3383ba6f_357142d4","line":57,"in_reply_to":"ef355747_c8cb6d83","updated":"2024-07-28 15:08:44.000000000","message":"I\u0027ve added docstring. Can you check it?","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        :param stack: The stack to send the signal to"},{"line_number":62,"context_line":"        :param resource_name: The name of a resource in the stack"},{"line_number":63,"context_line":"        :param body: The contents of the request body"},{"line_number":64,"context_line":"        :return: The server response"},{"line_number":65,"context_line":"        :raises: :class:`~openstack.exceptions.HttpException` if response is not success"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        url \u003d ("}],"source_content_type":"text/x-python","patch_set":9,"id":"483ae9be_1a11d69a","line":64,"updated":"2024-07-30 10:33:08.000000000","message":"I don\u0027t think this is true: this appears to return nothing?","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        :param resource_name: The name of a resource in the stack"},{"line_number":63,"context_line":"        :param body: The contents of the request body"},{"line_number":64,"context_line":"        :return: The server response"},{"line_number":65,"context_line":"        :raises: :class:`~openstack.exceptions.HttpException` if response is not success"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        url \u003d ("},{"line_number":68,"context_line":"            \u0027/stacks/%(stack_name)s/%(stack_id)s/resources/%(resource_name)s/signal\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"2b58a29c_fbc1ac23","line":65,"updated":"2024-07-30 10:33:08.000000000","message":"nit: Can you wrap this at \u003c\u003d 79 characters?\n\n```suggestion\n        :raises: :class:`~openstack.exceptions.HttpException` if response is\n            not success\n```","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"}],"openstack/tests/unit/orchestration/v1/test_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d44ee44e7b410fa66f98439bd5c4a4579e0757c3","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from unittest import mock"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from oslo_serialization import jsonutils"},{"line_number":16,"context_line":"from testscenarios import load_tests_apply_scenarios as load_tests  # noqa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from openstack import exceptions"}],"source_content_type":"text/x-python","patch_set":8,"id":"a4fed068_d269c977","line":15,"updated":"2024-04-26 10:57:44.000000000","message":"We don\u0027t use oslo libraries in SDK. Just use `json`.","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"ef80732ca22bbb8a5a2ebfc88e1f0e657ad7334e","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from unittest import mock"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from oslo_serialization import jsonutils"},{"line_number":16,"context_line":"from testscenarios import load_tests_apply_scenarios as load_tests  # noqa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from openstack import exceptions"}],"source_content_type":"text/x-python","patch_set":8,"id":"efa13b90_a34383d6","line":15,"in_reply_to":"a4fed068_d269c977","updated":"2024-07-28 15:08:44.000000000","message":"check","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":true,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from json import loads"},{"line_number":14,"context_line":"from unittest import mock"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from testscenarios import load_tests_apply_scenarios as load_tests  # noqa"}],"source_content_type":"text/x-python","patch_set":9,"id":"0f605767_ed164742","line":13,"updated":"2024-07-30 10:33:08.000000000","message":"ditto\n\n```suggestion\nimport json\n```","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"}],"releasenotes/notes/add-signal-resource-6c3a42973f61a873.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db39de491b5d76fa8511ea8430b504d4a613eb76","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The ``signal_resource`` method have been added to signal a specific resource."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"4b7b2e87_2cae9cc4","line":4,"updated":"2024-07-30 10:33:08.000000000","message":"nit: wrap at \u003c\u003d 79 characters\n\n```suggestion\n    The ``signal_resource`` method have been added to signal a specific\n    resource.\n```","commit_id":"a3b1e0d72a7656b1fd9a2a626b9f03a7ed3fb625"}],"requirements.txt":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d44ee44e7b410fa66f98439bd5c4a4579e0757c3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"appdirs\u003e\u003d1.3.0 # MIT License"},{"line_number":2,"context_line":"cryptography\u003e\u003d2.7 # BSD/Apache-2.0"},{"line_number":3,"context_line":"decorator\u003e\u003d4.4.1 # BSD"},{"line_number":4,"context_line":"dogpile.cache\u003e\u003d0.6.5 # BSD"}],"source_content_type":"text/plain","patch_set":8,"id":"dec834bd_faea246f","line":1,"updated":"2024-04-26 10:57:44.000000000","message":"This has been replaced by `platformdirs` now. Please remove this.","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"ef80732ca22bbb8a5a2ebfc88e1f0e657ad7334e","unresolved":true,"context_lines":[{"line_number":1,"context_line":"appdirs\u003e\u003d1.3.0 # MIT License"},{"line_number":2,"context_line":"cryptography\u003e\u003d2.7 # BSD/Apache-2.0"},{"line_number":3,"context_line":"decorator\u003e\u003d4.4.1 # BSD"},{"line_number":4,"context_line":"dogpile.cache\u003e\u003d0.6.5 # BSD"}],"source_content_type":"text/plain","patch_set":8,"id":"56aa800f_2140850e","line":1,"in_reply_to":"dec834bd_faea246f","updated":"2024-07-28 15:08:44.000000000","message":"check","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d44ee44e7b410fa66f98439bd5c4a4579e0757c3","unresolved":true,"context_lines":[{"line_number":9,"context_line":"keystoneauth1\u003e\u003d3.18.0 # Apache-2.0"},{"line_number":10,"context_line":"netifaces\u003e\u003d0.10.4 # MIT"},{"line_number":11,"context_line":"os-service-types\u003e\u003d1.7.0 # Apache-2.0"},{"line_number":12,"context_line":"oslo.serialization!\u003d2.19.1,\u003e\u003d2.18.0 # Apache-2.0"},{"line_number":13,"context_line":"pbr!\u003d2.1.0,\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":14,"context_line":"platformdirs\u003e\u003d3 # MIT License"},{"line_number":15,"context_line":"PyYAML\u003e\u003d3.13 # MIT"}],"source_content_type":"text/plain","patch_set":8,"id":"712bfb04_3f5158eb","line":12,"updated":"2024-04-26 10:57:44.000000000","message":"We don\u0027t use oslo libs in openstack","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"ef80732ca22bbb8a5a2ebfc88e1f0e657ad7334e","unresolved":true,"context_lines":[{"line_number":9,"context_line":"keystoneauth1\u003e\u003d3.18.0 # Apache-2.0"},{"line_number":10,"context_line":"netifaces\u003e\u003d0.10.4 # MIT"},{"line_number":11,"context_line":"os-service-types\u003e\u003d1.7.0 # Apache-2.0"},{"line_number":12,"context_line":"oslo.serialization!\u003d2.19.1,\u003e\u003d2.18.0 # Apache-2.0"},{"line_number":13,"context_line":"pbr!\u003d2.1.0,\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":14,"context_line":"platformdirs\u003e\u003d3 # MIT License"},{"line_number":15,"context_line":"PyYAML\u003e\u003d3.13 # MIT"}],"source_content_type":"text/plain","patch_set":8,"id":"73f844fe_0d9dae78","line":12,"in_reply_to":"712bfb04_3f5158eb","updated":"2024-07-28 15:08:44.000000000","message":"check","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d44ee44e7b410fa66f98439bd5c4a4579e0757c3","unresolved":true,"context_lines":[{"line_number":13,"context_line":"pbr!\u003d2.1.0,\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":14,"context_line":"platformdirs\u003e\u003d3 # MIT License"},{"line_number":15,"context_line":"PyYAML\u003e\u003d3.13 # MIT"},{"line_number":16,"context_line":"requests\u003e\u003d2.14.2 # Apache-2.0"},{"line_number":17,"context_line":"requestsexceptions\u003e\u003d1.2.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":8,"id":"d90c2345_42d5884c","line":16,"updated":"2024-04-26 10:57:44.000000000","message":"This is an implicit dependency through `keystoneauth1` and doesn\u0027t need to be explicit.","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"ef80732ca22bbb8a5a2ebfc88e1f0e657ad7334e","unresolved":true,"context_lines":[{"line_number":13,"context_line":"pbr!\u003d2.1.0,\u003e\u003d2.0.0 # Apache-2.0"},{"line_number":14,"context_line":"platformdirs\u003e\u003d3 # MIT License"},{"line_number":15,"context_line":"PyYAML\u003e\u003d3.13 # MIT"},{"line_number":16,"context_line":"requests\u003e\u003d2.14.2 # Apache-2.0"},{"line_number":17,"context_line":"requestsexceptions\u003e\u003d1.2.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":8,"id":"293b5397_fc166063","line":16,"in_reply_to":"d90c2345_42d5884c","updated":"2024-07-28 15:08:44.000000000","message":"check","commit_id":"74e6554a3fc1ca7e25ef64883b521d130bfc04d6"}]}
