)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ff87b08f87e43351ce5418aa7d199dd6e8023400","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"99edb1bd_46cced2d","updated":"2022-12-09 16:40:16.000000000","message":"-1 is mainly for the warning log whitespace issue. We could also do with a release note if possible, please","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"afe846c070707082da1cf76e2c0f3b428ec9a2e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"19c57d4c_873b0b1d","updated":"2022-12-09 14:29:32.000000000","message":"one nit, but is fine otherwise","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25d1cf9cb109d76400a86d84b2eaffd43b189ad6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5437ea46_c56b6d58","updated":"2022-12-15 16:21:02.000000000","message":"Tiny typo. We still need a release note too. You can create that with reno. For example:\n\n  pip install --user reno\n  reno new migrate-host-list-show-to-sdk\n  # edit the generated file","commit_id":"cb49df87a7718f71e162aaff1f4145a726b9226b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39f5dd40113e239c28a7468b22e0275a9433594c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6a19cd26_ff85d369","updated":"2023-02-22 09:49:34.000000000","message":"recheck post failure","commit_id":"ecc6aeeede68db65cb888390dd9299a4cfad6630"}],"openstackclient/compute/v2/host.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6d1e7c3a2cee7679f1f7bed467b9021a6096313","unresolved":true,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ListHost(command.Lister):"},{"line_number":25,"context_line":"    _description \u003d _(\"List hosts\")"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def get_parser(self, prog_name):"},{"line_number":28,"context_line":"        parser \u003d super(ListHost, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fe6b5707_888ba01b","line":25,"updated":"2022-12-09 16:39:55.000000000","message":"Could you prefix this command with \u0027DEPRECATED:\u0027, i.e.\n\n  DEPRECATED: List hosts\n\njust to make it clearer that it shouldn\u0027t be used if possible now.","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25d1cf9cb109d76400a86d84b2eaffd43b189ad6","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ListHost(command.Lister):"},{"line_number":25,"context_line":"    _description \u003d _(\"List hosts\")"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def get_parser(self, prog_name):"},{"line_number":28,"context_line":"        parser \u003d super(ListHost, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"b8a8eef0_8163857c","line":25,"in_reply_to":"fe6b5707_888ba01b","updated":"2022-12-15 16:21:02.000000000","message":"Done","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6d1e7c3a2cee7679f1f7bed467b9021a6096313","unresolved":true,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        self.log.warning("},{"line_number":45,"context_line":"            \"\"\"API has been deprecated"},{"line_number":46,"context_line":"            please consider using Hypervisor api for later versions\"\"\""},{"line_number":47,"context_line":"        )"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        response \u003d compute_client.get("}],"source_content_type":"text/x-python","patch_set":1,"id":"1033d061_76fb2736","line":46,"updated":"2022-12-09 16:39:55.000000000","message":"This will print like this:\n\n  API has been deprecated\n              please consider using Hypervisor api for later versions\n\ni.e. exactly preserving whitespace. I don\u0027t think that\u0027s what you want. Python will automatically concatenate strings inside brackets, so what you actually want is\n\n   self.log.warning(\n       \"API has been deprecated. \"\n       \"Please consider using \u0027hypervisor list\u0027 instead.\"\n   )","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25d1cf9cb109d76400a86d84b2eaffd43b189ad6","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        self.log.warning("},{"line_number":45,"context_line":"            \"\"\"API has been deprecated"},{"line_number":46,"context_line":"            please consider using Hypervisor api for later versions\"\"\""},{"line_number":47,"context_line":"        )"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        response \u003d compute_client.get("}],"source_content_type":"text/x-python","patch_set":1,"id":"feb106f5_7b09194a","line":46,"in_reply_to":"1033d061_76fb2736","updated":"2022-12-15 16:21:02.000000000","message":"Done","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6d1e7c3a2cee7679f1f7bed467b9021a6096313","unresolved":true,"context_lines":[{"line_number":46,"context_line":"            please consider using Hypervisor api for later versions\"\"\""},{"line_number":47,"context_line":"        )"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        response \u003d compute_client.get("},{"line_number":50,"context_line":"            \u0027/os-hosts\u0027, microversion\u003d\u00272.1\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        hosts \u003d response.json().get(\u0027hosts\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e0e7de88_0c2e5b08","line":49,"updated":"2022-12-09 16:39:55.000000000","message":"Could you add a note here that we\u0027re doing this because openstacksdk has chosen not to support this deprecated API? Just so future people will know why we did things this way.","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25d1cf9cb109d76400a86d84b2eaffd43b189ad6","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            please consider using Hypervisor api for later versions\"\"\""},{"line_number":47,"context_line":"        )"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        response \u003d compute_client.get("},{"line_number":50,"context_line":"            \u0027/os-hosts\u0027, microversion\u003d\u00272.1\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        hosts \u003d response.json().get(\u0027hosts\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"b5e3c6b6_8592a864","line":49,"in_reply_to":"e0e7de88_0c2e5b08","updated":"2022-12-15 16:21:02.000000000","message":"Done","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6d1e7c3a2cee7679f1f7bed467b9021a6096313","unresolved":true,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"class ShowHost(command.Lister):"},{"line_number":120,"context_line":"    _description \u003d _(\"Display host details\")"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def get_parser(self, prog_name):"},{"line_number":123,"context_line":"        parser \u003d super(ShowHost, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fbb5463f_79464c12","line":120,"updated":"2022-12-09 16:39:55.000000000","message":"DEPRECATED:","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25d1cf9cb109d76400a86d84b2eaffd43b189ad6","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"class ShowHost(command.Lister):"},{"line_number":120,"context_line":"    _description \u003d _(\"Display host details\")"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def get_parser(self, prog_name):"},{"line_number":123,"context_line":"        parser \u003d super(ShowHost, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"856cae54_62cb2fa8","line":120,"in_reply_to":"fbb5463f_79464c12","updated":"2022-12-15 16:21:02.000000000","message":"Done","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6d1e7c3a2cee7679f1f7bed467b9021a6096313","unresolved":true,"context_lines":[{"line_number":141,"context_line":"        self.log.warning("},{"line_number":142,"context_line":"            \"\"\"API has been deprecated"},{"line_number":143,"context_line":"            please consider using Hypervisor api for later versions\"\"\""},{"line_number":144,"context_line":"        )"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        response \u003d compute_client.get("},{"line_number":147,"context_line":"            \u0027/os-hosts/\u0027 + parsed_args.host,"}],"source_content_type":"text/x-python","patch_set":1,"id":"a115e128_6ea52f1f","line":144,"updated":"2022-12-09 16:39:55.000000000","message":"As above.","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25d1cf9cb109d76400a86d84b2eaffd43b189ad6","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        self.log.warning("},{"line_number":142,"context_line":"            \"\"\"API has been deprecated"},{"line_number":143,"context_line":"            please consider using Hypervisor api for later versions\"\"\""},{"line_number":144,"context_line":"        )"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        response \u003d compute_client.get("},{"line_number":147,"context_line":"            \u0027/os-hosts/\u0027 + parsed_args.host,"}],"source_content_type":"text/x-python","patch_set":1,"id":"f6e3c704_d742d294","line":144,"in_reply_to":"a115e128_6ea52f1f","updated":"2022-12-15 16:21:02.000000000","message":"Done","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"afe846c070707082da1cf76e2c0f3b428ec9a2e4","unresolved":true,"context_lines":[{"line_number":147,"context_line":"            \u0027/os-hosts/\u0027 + parsed_args.host,"},{"line_number":148,"context_line":"            microversion\u003d\u00272.1\u0027"},{"line_number":149,"context_line":"        )"},{"line_number":150,"context_line":"        hosts \u003d response.json().get(\u0027host\u0027)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        data \u003d []"},{"line_number":153,"context_line":"        if hosts is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5e60c265_2776d9c1","line":150,"updated":"2022-12-09 14:29:32.000000000","message":"response contain only single host and that is what you are extracting here. But logically those are not \"hosts\", but rather \"resources\"","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25d1cf9cb109d76400a86d84b2eaffd43b189ad6","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            \u0027/os-hosts/\u0027 + parsed_args.host,"},{"line_number":148,"context_line":"            microversion\u003d\u00272.1\u0027"},{"line_number":149,"context_line":"        )"},{"line_number":150,"context_line":"        hosts \u003d response.json().get(\u0027host\u0027)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        data \u003d []"},{"line_number":153,"context_line":"        if hosts is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5c7b205b_75496983","line":150,"in_reply_to":"27440faa_996b1b44","updated":"2022-12-15 16:21:02.000000000","message":"Done","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6d1e7c3a2cee7679f1f7bed467b9021a6096313","unresolved":true,"context_lines":[{"line_number":147,"context_line":"            \u0027/os-hosts/\u0027 + parsed_args.host,"},{"line_number":148,"context_line":"            microversion\u003d\u00272.1\u0027"},{"line_number":149,"context_line":"        )"},{"line_number":150,"context_line":"        hosts \u003d response.json().get(\u0027host\u0027)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        data \u003d []"},{"line_number":153,"context_line":"        if hosts is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"27440faa_996b1b44","line":150,"in_reply_to":"5e60c265_2776d9c1","updated":"2022-12-09 16:39:55.000000000","message":"Yeah, I think it would be better to call this variable \u0027resources\u0027. You could do the unpacking in one line too.\n\n  resources \u003d compute_client.get(\n      ...\n  ).json()[\u0027host\u0027]","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"25d1cf9cb109d76400a86d84b2eaffd43b189ad6","unresolved":true,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        self.log.warning("},{"line_number":144,"context_line":"            \"API has been deprecated. \""},{"line_number":145,"context_line":"            \"Please consider using \u0027hypervisor stats\u0027 instead.\""},{"line_number":146,"context_line":"        )"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        # doing this since openstacksdk has decided to deprecate this command"}],"source_content_type":"text/x-python","patch_set":2,"id":"49fb0ca2_ec1b38fb","line":145,"range":{"start_line":145,"start_character":47,"end_line":145,"end_character":52},"updated":"2022-12-15 16:21:02.000000000","message":"show","commit_id":"cb49df87a7718f71e162aaff1f4145a726b9226b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6cfe8810a2a6c1690a6766b4ae1e233d198e537a","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        self.log.warning("},{"line_number":144,"context_line":"            \"API has been deprecated. \""},{"line_number":145,"context_line":"            \"Please consider using \u0027hypervisor stats\u0027 instead.\""},{"line_number":146,"context_line":"        )"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        # doing this since openstacksdk has decided to deprecate this command"}],"source_content_type":"text/x-python","patch_set":2,"id":"4db85083_fec39fc8","line":145,"range":{"start_line":145,"start_character":47,"end_line":145,"end_character":52},"in_reply_to":"49fb0ca2_ec1b38fb","updated":"2022-12-20 12:13:26.000000000","message":"Done","commit_id":"cb49df87a7718f71e162aaff1f4145a726b9226b"}],"openstackclient/tests/unit/compute/v2/test_host.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d6d1e7c3a2cee7679f1f7bed467b9021a6096313","unresolved":true,"context_lines":[{"line_number":38,"context_line":")"},{"line_number":39,"context_line":"class TestHostList(TestHost):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    _host \u003d compute_fakes.FakeHost.create_one_host()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def setUp(self):"},{"line_number":44,"context_line":"        super(TestHostList, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"351ab1e1_a6267bfe","line":41,"updated":"2022-12-09 16:39:55.000000000","message":"Personally I would move the contents of this method, which is simply generating a static dictionary, into this file and delete the original.","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6cfe8810a2a6c1690a6766b4ae1e233d198e537a","unresolved":false,"context_lines":[{"line_number":38,"context_line":")"},{"line_number":39,"context_line":"class TestHostList(TestHost):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    _host \u003d compute_fakes.FakeHost.create_one_host()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def setUp(self):"},{"line_number":44,"context_line":"        super(TestHostList, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"18c3ab14_f1e986b0","line":41,"in_reply_to":"351ab1e1_a6267bfe","updated":"2022-12-20 12:13:26.000000000","message":"Done","commit_id":"ab6b227dbd52e9a2021a664237a4909aa88b8cd9"}]}
