)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"a81a619da10758beda403ad75063baaee2abae02","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"90d11f16_117085e0","updated":"2022-01-17 15:59:02.000000000","message":"LGTM","commit_id":"e561f9d5b1e3e573bde315dc80935850ffe0cd08"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"0db623ac6d69ac095e6f486c488799b73b99ff1c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0799c739_ee8bdf7e","updated":"2022-01-25 17:36:12.000000000","message":"recheck","commit_id":"e561f9d5b1e3e573bde315dc80935850ffe0cd08"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6a7fb58cd629ee3e1705dde488ed7716c72c1c67","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"897149eb_12ff03b2","updated":"2022-05-16 08:09:25.000000000","message":"This looks pretty good to me. Can we get a release note though? -1 is for that","commit_id":"5a110dc5108840eb403a353cfa64be4efe4f5cc8"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5121600e02fbfd82b741daec810ebf78cae663a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f63ab5dc_bb90d0d7","updated":"2022-03-24 04:59:08.000000000","message":"recheck openstackclient.tests.functional.network.v2.test_network.NetworkTests b\"Error while executing command: ConflictException: 409, Quota exceeded for resources: [\u0027network\u0027].\\n\"","commit_id":"5a110dc5108840eb403a353cfa64be4efe4f5cc8"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9d813a5dba04c01e6b78c652534d92ead939641f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b1c41010_42730483","in_reply_to":"897149eb_12ff03b2","updated":"2022-05-16 18:11:32.000000000","message":"Thanks for reviewing! Done. I keep forgetting release notes 😑","commit_id":"5a110dc5108840eb403a353cfa64be4efe4f5cc8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"275f1e5a3440977aa94e9fb881c06203e0b777a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6bdb2094_b3fc7ad3","updated":"2022-05-18 16:22:54.000000000","message":"Thanks!","commit_id":"93578ef85ba5f94ec5dc8fc4b2917e91c74121da"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"26e1503cb978d8e5c9d6dc11f9d238bc55daba7a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d72fc5a9_16595db9","updated":"2022-05-17 19:18:05.000000000","message":"recheck\n\nb\"Failed to delete network with name or ID \u00276fa66e5267be43a5b0ced9c39c4704a3\u0027: HttpException: 502: Server Error for url: https://10.208.227.11:9696/v2.0/networks/494de110-d496-4b3f-ba38-29759e6c9bba, The proxy server could not handle the requestReason: Error reading from remote server: Apache/2.4.41 (Ubuntu) Server at 10.208.227.11 Port 9696: The proxy server received an invalid: response from an upstream server.: 502 Proxy Error: Proxy Error\\n1 of 1 networks failed to delete.\\n\"","commit_id":"93578ef85ba5f94ec5dc8fc4b2917e91c74121da"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"dc97348dac348b4036d99b4543ce031a2514c478","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1f6889d2_11db7707","updated":"2022-05-17 02:10:27.000000000","message":"recheck\n\nb\"Failed to delete network with name or ID \u0027e9680637c45942bb9d6792a9bfbf5026\u0027: HttpException: 502: Server Error for url: https://173.231.255.246:9696/v2.0/networks/bfb0d0ea-458f-4dd1-bdfb-b3d69757b8f4, 502 Proxy Error: The proxy server received an invalid: The proxy server could not handle the requestReason: Error reading from remote server: Proxy Error: Apache/2.4.41 (Ubuntu) Server at 173.231.255.246 Port 9696: response from an upstream server.\\n1 of 1 networks failed to delete.\\n\"","commit_id":"93578ef85ba5f94ec5dc8fc4b2917e91c74121da"}],"openstackclient/compute/v2/server.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"c6b2eb8414532ef3363edb770b3bf0dd8f1094da","unresolved":true,"context_lines":[{"line_number":2503,"context_line":"        # situation."},{"line_number":2504,"context_line":"        can_have_host_status \u003d ("},{"line_number":2505,"context_line":"            compute_client.api_version \u003e\u003d api_versions.APIVersion(\u00272.16\u0027))"},{"line_number":2506,"context_line":"        if parsed_args.long and can_have_host_status:"},{"line_number":2507,"context_line":"            columns +\u003d (\u0027Host Status\u0027,)"},{"line_number":2508,"context_line":"            column_headers +\u003d (\u0027Host Status\u0027,)"},{"line_number":2509,"context_line":""},{"line_number":2510,"context_line":"        table \u003d ("},{"line_number":2511,"context_line":"            column_headers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"497127a4_a0a2f86f","line":2508,"range":{"start_line":2506,"start_character":0,"end_line":2508,"end_character":46},"updated":"2021-11-25 16:57:28.000000000","message":"Shouldn\u0027t this also be conditional on it being in the response?","commit_id":"4d6f1d61779abf40c28b9569592b3652d6136389"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"538df990d3cc6f0d69a0cd9b350e72c00ad031ce","unresolved":true,"context_lines":[{"line_number":2503,"context_line":"        # situation."},{"line_number":2504,"context_line":"        can_have_host_status \u003d ("},{"line_number":2505,"context_line":"            compute_client.api_version \u003e\u003d api_versions.APIVersion(\u00272.16\u0027))"},{"line_number":2506,"context_line":"        if parsed_args.long and can_have_host_status:"},{"line_number":2507,"context_line":"            columns +\u003d (\u0027Host Status\u0027,)"},{"line_number":2508,"context_line":"            column_headers +\u003d (\u0027Host Status\u0027,)"},{"line_number":2509,"context_line":""},{"line_number":2510,"context_line":"        table \u003d ("},{"line_number":2511,"context_line":"            column_headers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"cfda5567_902faf00","line":2508,"range":{"start_line":2506,"start_character":0,"end_line":2508,"end_character":46},"in_reply_to":"497127a4_a0a2f86f","updated":"2021-12-02 01:05:01.000000000","message":"Initially I was going to do that but felt unsure (1) because of it being a server list ... That is, what would be the criteria for including the column? If any one of the servers has the field in the response? i.e.:\n\n has_host_status \u003d False\n for s in data:\n     if \u0027host_status\u0027 in s:\n         has_host_status \u003d True\n         break\n\nand (2) because I wasn\u0027t sure that any other policy-based fields check for the presence of a value before including the column. For example, if a field is by default only included for admin users, is OSC omitting the column altogether when a non-admin calls?\n\n(later) Spent awhile looking for other examples of this situation in OSC and couldn\u0027t find any. I\u0027ll change this to be conditional on the presence of the field in the response since that does make sense for a field labeled \"(Optional)\" in the api-ref [1].\n\n[1] https://docs.openstack.org/api-ref/compute/?expanded\u003dlist-servers-detailed-detail#list-servers-detailed","commit_id":"4d6f1d61779abf40c28b9569592b3652d6136389"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9b57a08e0e49d3b8d6ee8b704b027dcffd1ccf5e","unresolved":false,"context_lines":[{"line_number":2503,"context_line":"        # situation."},{"line_number":2504,"context_line":"        can_have_host_status \u003d ("},{"line_number":2505,"context_line":"            compute_client.api_version \u003e\u003d api_versions.APIVersion(\u00272.16\u0027))"},{"line_number":2506,"context_line":"        if parsed_args.long and can_have_host_status:"},{"line_number":2507,"context_line":"            columns +\u003d (\u0027Host Status\u0027,)"},{"line_number":2508,"context_line":"            column_headers +\u003d (\u0027Host Status\u0027,)"},{"line_number":2509,"context_line":""},{"line_number":2510,"context_line":"        table \u003d ("},{"line_number":2511,"context_line":"            column_headers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c20901ce_74907d35","line":2508,"range":{"start_line":2506,"start_character":0,"end_line":2508,"end_character":46},"in_reply_to":"789b574b_84d089e2","updated":"2022-03-23 19:05:02.000000000","message":"Done","commit_id":"4d6f1d61779abf40c28b9569592b3652d6136389"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"95c3aba110160ef8e482634fa421972d813c0607","unresolved":true,"context_lines":[{"line_number":2503,"context_line":"        # situation."},{"line_number":2504,"context_line":"        can_have_host_status \u003d ("},{"line_number":2505,"context_line":"            compute_client.api_version \u003e\u003d api_versions.APIVersion(\u00272.16\u0027))"},{"line_number":2506,"context_line":"        if parsed_args.long and can_have_host_status:"},{"line_number":2507,"context_line":"            columns +\u003d (\u0027Host Status\u0027,)"},{"line_number":2508,"context_line":"            column_headers +\u003d (\u0027Host Status\u0027,)"},{"line_number":2509,"context_line":""},{"line_number":2510,"context_line":"        table \u003d ("},{"line_number":2511,"context_line":"            column_headers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"789b574b_84d089e2","line":2508,"range":{"start_line":2506,"start_character":0,"end_line":2508,"end_character":46},"in_reply_to":"beb1cc55_e77f9919","updated":"2021-12-03 21:31:13.000000000","message":"That\u0027s a better idea than what I was thinking, thanks!","commit_id":"4d6f1d61779abf40c28b9569592b3652d6136389"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9711a3677f08dc9cd325b915700ae0dd90503f29","unresolved":true,"context_lines":[{"line_number":2503,"context_line":"        # situation."},{"line_number":2504,"context_line":"        can_have_host_status \u003d ("},{"line_number":2505,"context_line":"            compute_client.api_version \u003e\u003d api_versions.APIVersion(\u00272.16\u0027))"},{"line_number":2506,"context_line":"        if parsed_args.long and can_have_host_status:"},{"line_number":2507,"context_line":"            columns +\u003d (\u0027Host Status\u0027,)"},{"line_number":2508,"context_line":"            column_headers +\u003d (\u0027Host Status\u0027,)"},{"line_number":2509,"context_line":""},{"line_number":2510,"context_line":"        table \u003d ("},{"line_number":2511,"context_line":"            column_headers,"}],"source_content_type":"text/x-python","patch_set":2,"id":"beb1cc55_e77f9919","line":2508,"range":{"start_line":2506,"start_character":0,"end_line":2508,"end_character":46},"in_reply_to":"cfda5567_902faf00","updated":"2021-12-03 16:20:07.000000000","message":"Yeah apologies I\u0027m over complicating this but what about something like:\n\n  if can_have_host_status and parsed_args.long:\n      if any([hasattr(s, \u0027host_status\u0027) for s in data]):\n          columns +\u003d (\u0027Host Status\u0027,)\n          column_headers +\u003d (\u0027Host Status\u0027,)","commit_id":"4d6f1d61779abf40c28b9569592b3652d6136389"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c2eab10ef0b55fa6ba222078298c169120497134","unresolved":true,"context_lines":[{"line_number":2534,"context_line":"        if can_have_host_status and parsed_args.long:"},{"line_number":2535,"context_line":"            if any([hasattr(s, \u0027host_status\u0027) for s in data]):"},{"line_number":2536,"context_line":"                columns +\u003d (\u0027Host Status\u0027,)"},{"line_number":2537,"context_line":"                column_headers +\u003d (\u0027Host Status\u0027,)"},{"line_number":2538,"context_line":""},{"line_number":2539,"context_line":"        table \u003d ("},{"line_number":2540,"context_line":"            column_headers,"}],"source_content_type":"text/x-python","patch_set":3,"id":"c6bb4cf1_d5ae80c1","line":2537,"updated":"2022-01-31 16:36:56.000000000","message":"Nice, thanks.","commit_id":"e561f9d5b1e3e573bde315dc80935850ffe0cd08"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9b57a08e0e49d3b8d6ee8b704b027dcffd1ccf5e","unresolved":false,"context_lines":[{"line_number":2534,"context_line":"        if can_have_host_status and parsed_args.long:"},{"line_number":2535,"context_line":"            if any([hasattr(s, \u0027host_status\u0027) for s in data]):"},{"line_number":2536,"context_line":"                columns +\u003d (\u0027Host Status\u0027,)"},{"line_number":2537,"context_line":"                column_headers +\u003d (\u0027Host Status\u0027,)"},{"line_number":2538,"context_line":""},{"line_number":2539,"context_line":"        table \u003d ("},{"line_number":2540,"context_line":"            column_headers,"}],"source_content_type":"text/x-python","patch_set":3,"id":"f50d978e_1857f182","line":2537,"in_reply_to":"c6bb4cf1_d5ae80c1","updated":"2022-03-23 19:05:02.000000000","message":"Ack","commit_id":"e561f9d5b1e3e573bde315dc80935850ffe0cd08"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6a7fb58cd629ee3e1705dde488ed7716c72c1c67","unresolved":false,"context_lines":[{"line_number":2578,"context_line":"        # situation."},{"line_number":2579,"context_line":"        can_have_host_status \u003d ("},{"line_number":2580,"context_line":"            compute_client.api_version \u003e\u003d api_versions.APIVersion(\u00272.16\u0027))"},{"line_number":2581,"context_line":"        if can_have_host_status and parsed_args.long:"},{"line_number":2582,"context_line":"            if any([hasattr(s, \u0027host_status\u0027) for s in data]):"},{"line_number":2583,"context_line":"                columns +\u003d (\u0027Host Status\u0027,)"},{"line_number":2584,"context_line":"                column_headers +\u003d (\u0027Host Status\u0027,)"}],"source_content_type":"text/x-python","patch_set":4,"id":"b365042f_628fdb96","line":2581,"updated":"2022-05-16 08:09:25.000000000","message":"nit:\n\n  if (\n      compute_client.api_version \u003e\u003d api_versions.APIVersion(\u00272.16\u0027) and\n      parsed_args.long\n  ):","commit_id":"5a110dc5108840eb403a353cfa64be4efe4f5cc8"}]}
