)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4c72c9159069f356c410a37734eacde6e1785b48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9b1b0f35_67cfdb0b","updated":"2023-08-25 10:15:15.000000000","message":"Looks pretty good. Couple of small asks but nothing major.\n\nYou also need to do the following:\n\n- update documentation for the proxy APIs in `doc/source/user/proxies/orchestration.rst`\n- add a release note","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"f440c6e056a702a4b874e85f5590aae2def4d07c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d2561097_caa2276e","in_reply_to":"9b1b0f35_67cfdb0b","updated":"2023-08-28 05:57:29.000000000","message":"Thank you for your review!\nAs your comment, I updated document and added release note in Patchset 3","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e93c2b1282b87bd472de6c004c0423c3d0994ffa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4800168b_4e0e1bfb","updated":"2023-08-28 10:09:36.000000000","message":"Thanks!","commit_id":"a99cd639dcb0a4e6dc4f466f9c97e53add96ba3b"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"5c072a268391e158cbc039cc5722d40ba1cc91b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4f498e8c_48ea2642","in_reply_to":"4800168b_4e0e1bfb","updated":"2023-08-31 05:07:55.000000000","message":"Thanks for your review!","commit_id":"a99cd639dcb0a4e6dc4f466f9c97e53add96ba3b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fd84e841faa47925b105a422eb63829699e57545","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f0d662cc_3092321f","updated":"2023-11-14 12:08:29.000000000","message":"This has been around for long enough. Let\u0027s send it through","commit_id":"c212f3f6afc69b25ff12de55846bb4da8472bb1e"}],"openstack/orchestration/v1/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4c72c9159069f356c410a37734eacde6e1785b48","unresolved":true,"context_lines":[{"line_number":239,"context_line":"            of :class:`~openstack.orchestration.v1.stack.Stack`."},{"line_number":240,"context_line":"        :returns: ``None``"},{"line_number":241,"context_line":"        \"\"\""},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        res \u003d self._get_resource(_stack.Stack, stack)"},{"line_number":244,"context_line":"        res.resume(self)"},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"4ed741eb_7011db68","line":242,"updated":"2023-08-25 10:15:15.000000000","message":"nit: extra new line","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"f440c6e056a702a4b874e85f5590aae2def4d07c","unresolved":false,"context_lines":[{"line_number":239,"context_line":"            of :class:`~openstack.orchestration.v1.stack.Stack`."},{"line_number":240,"context_line":"        :returns: ``None``"},{"line_number":241,"context_line":"        \"\"\""},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        res \u003d self._get_resource(_stack.Stack, stack)"},{"line_number":244,"context_line":"        res.resume(self)"},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"80882df5_5329cd0c","line":242,"in_reply_to":"4ed741eb_7011db68","updated":"2023-08-28 05:57:29.000000000","message":"Done","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"}],"openstack/orchestration/v1/stack.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4c72c9159069f356c410a37734eacde6e1785b48","unresolved":true,"context_lines":[{"line_number":165,"context_line":"    def _action(self, session, body):"},{"line_number":166,"context_line":"        \"\"\"Perform stack actions\"\"\""},{"line_number":167,"context_line":"        url \u003d utils.urljoin(self.base_path, self._get_id(self), \u0027actions\u0027)"},{"line_number":168,"context_line":"        resp \u003d session.post(url, json\u003dbody)"},{"line_number":169,"context_line":"        return resp.json()"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def check(self, session):"}],"source_content_type":"text/x-python","patch_set":2,"id":"8ccca756_d2f4b1e4","line":168,"updated":"2023-08-25 10:15:15.000000000","message":"btw, this is missing a call to\n\n```\nexceptions.raise_from_response()\n```\n\nthat you might want to add to ensure you\u0027re handling errors properly","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"f440c6e056a702a4b874e85f5590aae2def4d07c","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    def _action(self, session, body):"},{"line_number":166,"context_line":"        \"\"\"Perform stack actions\"\"\""},{"line_number":167,"context_line":"        url \u003d utils.urljoin(self.base_path, self._get_id(self), \u0027actions\u0027)"},{"line_number":168,"context_line":"        resp \u003d session.post(url, json\u003dbody)"},{"line_number":169,"context_line":"        return resp.json()"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def check(self, session):"}],"source_content_type":"text/x-python","patch_set":2,"id":"c79d2236_5904fb11","line":168,"in_reply_to":"8ccca756_d2f4b1e4","updated":"2023-08-28 05:57:29.000000000","message":"I added exception handling call in this merged review.\nhttps://review.opendev.org/c/openstack/openstacksdk/+/891089","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2f114bc25173873c8e79d638dde176e385a6910c","unresolved":true,"context_lines":[{"line_number":178,"context_line":"        resp \u003d session.delete(url)"},{"line_number":179,"context_line":"        return resp.json()"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def suspend(self, session):"},{"line_number":182,"context_line":"        body \u003d {\"suspend\": None}"},{"line_number":183,"context_line":"        self._action(session, body)"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"e0782258_ad81eb83","line":181,"updated":"2023-08-25 10:24:14.000000000","message":"Need a docstring","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"f440c6e056a702a4b874e85f5590aae2def4d07c","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        resp \u003d session.delete(url)"},{"line_number":179,"context_line":"        return resp.json()"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def suspend(self, session):"},{"line_number":182,"context_line":"        body \u003d {\"suspend\": None}"},{"line_number":183,"context_line":"        self._action(session, body)"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a8bf2235_bc62b5bc","line":181,"in_reply_to":"e0782258_ad81eb83","updated":"2023-08-28 05:57:29.000000000","message":"Done","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4c72c9159069f356c410a37734eacde6e1785b48","unresolved":true,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def suspend(self, session):"},{"line_number":182,"context_line":"        body \u003d {\"suspend\": None}"},{"line_number":183,"context_line":"        self._action(session, body)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def resume(self, session):"},{"line_number":186,"context_line":"        body \u003d {\"resume\": None}"}],"source_content_type":"text/x-python","patch_set":2,"id":"f7732d20_1cc8575a","line":183,"updated":"2023-08-25 10:15:15.000000000","message":"I assume there\u0027s nothing worth returning here?","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"f440c6e056a702a4b874e85f5590aae2def4d07c","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def suspend(self, session):"},{"line_number":182,"context_line":"        body \u003d {\"suspend\": None}"},{"line_number":183,"context_line":"        self._action(session, body)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def resume(self, session):"},{"line_number":186,"context_line":"        body \u003d {\"resume\": None}"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fb30398_efda5d8c","line":183,"in_reply_to":"f7732d20_1cc8575a","updated":"2023-08-28 05:57:29.000000000","message":"When I checked other status changing functions in other resources(like server, block storage, etc). They don’t return any result.\nBtw. I’m not sure if it’s right. If I call The status change function, I expected to see whether it success or not by seeing status code like 200, 202. How do you think about this?","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2f114bc25173873c8e79d638dde176e385a6910c","unresolved":true,"context_lines":[{"line_number":182,"context_line":"        body \u003d {\"suspend\": None}"},{"line_number":183,"context_line":"        self._action(session, body)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def resume(self, session):"},{"line_number":186,"context_line":"        body \u003d {\"resume\": None}"},{"line_number":187,"context_line":"        self._action(session, body)"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"6eb1695b_8975fe4d","line":185,"updated":"2023-08-25 10:24:14.000000000","message":"Need a docstring","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"f440c6e056a702a4b874e85f5590aae2def4d07c","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        body \u003d {\"suspend\": None}"},{"line_number":183,"context_line":"        self._action(session, body)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def resume(self, session):"},{"line_number":186,"context_line":"        body \u003d {\"resume\": None}"},{"line_number":187,"context_line":"        self._action(session, body)"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ceb993d4_7b7a5206","line":185,"in_reply_to":"6eb1695b_8975fe4d","updated":"2023-08-28 05:57:29.000000000","message":"Done","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4c72c9159069f356c410a37734eacde6e1785b48","unresolved":true,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def resume(self, session):"},{"line_number":186,"context_line":"        body \u003d {\"resume\": None}"},{"line_number":187,"context_line":"        self._action(session, body)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def fetch("},{"line_number":190,"context_line":"        self,"}],"source_content_type":"text/x-python","patch_set":2,"id":"b2c9ce8e_a021c579","line":187,"updated":"2023-08-25 10:15:15.000000000","message":"Ditto","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"f440c6e056a702a4b874e85f5590aae2def4d07c","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def resume(self, session):"},{"line_number":186,"context_line":"        body \u003d {\"resume\": None}"},{"line_number":187,"context_line":"        self._action(session, body)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def fetch("},{"line_number":190,"context_line":"        self,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5d7f9aa0_0cc4d414","line":187,"in_reply_to":"b2c9ce8e_a021c579","updated":"2023-08-28 05:57:29.000000000","message":"Same replay in #183","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"}],"openstack/tests/functional/orchestration/v1/test_stack.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4c72c9159069f356c410a37734eacde6e1785b48","unresolved":true,"context_lines":[{"line_number":100,"context_line":"        # given"},{"line_number":101,"context_line":"        # make status into suspend"},{"line_number":102,"context_line":"        # for resume test"},{"line_number":103,"context_line":"        self.conn.orchestration.suspend_stack(self.stack)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        suspend_status \u003d \u0027SUSPEND_COMPLETE\u0027"},{"line_number":106,"context_line":"        sot \u003d self.conn.orchestration.wait_for_status("}],"source_content_type":"text/x-python","patch_set":2,"id":"99f9df1f_363732c5","line":103,"updated":"2023-08-25 10:15:15.000000000","message":"Can you combine these tests? `test_resume` is implicitly testing `test_suspend` so there\u0027s no need to have two separate tests. A single `test_suspend_resume` will do the trick","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"},{"author":{"_account_id":35933,"name":"Baek Seung Ju","display_name":"Becker","email":"halucinor0@gmail.com","username":"halucinor","status":"developer"},"change_message_id":"f440c6e056a702a4b874e85f5590aae2def4d07c","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        # given"},{"line_number":101,"context_line":"        # make status into suspend"},{"line_number":102,"context_line":"        # for resume test"},{"line_number":103,"context_line":"        self.conn.orchestration.suspend_stack(self.stack)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        suspend_status \u003d \u0027SUSPEND_COMPLETE\u0027"},{"line_number":106,"context_line":"        sot \u003d self.conn.orchestration.wait_for_status("}],"source_content_type":"text/x-python","patch_set":2,"id":"bd0cbb3d_f80acd2e","line":103,"in_reply_to":"99f9df1f_363732c5","updated":"2023-08-28 05:57:29.000000000","message":"Done","commit_id":"d47f1850dda5cd55fceedc6a5359f75a55ba9163"}]}
