)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"699cbaa88613c04d90dedf96b9190fd4e8f81482","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5404e7c6_21934a10","updated":"2025-12-12 20:23:38.000000000","message":"Can you open a bug against this with info on the failure, thanks","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"917623d84116359d1e1158398865d1e5df5b47df","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"93b3c98b_76cd9bb2","in_reply_to":"5404e7c6_21934a10","updated":"2025-12-15 15:43:56.000000000","message":"ack","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"9d23d91da9c590ae9ba119b3296cdb05f8c79c11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fad3cc84_7204676e","in_reply_to":"93b3c98b_76cd9bb2","updated":"2025-12-15 16:07:44.000000000","message":"Done","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"88057d6ed3ccfd7bd8a5a10e942eca373a45f0ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5322aed3_64fa33cf","updated":"2026-02-03 15:03:04.000000000","message":"I prefer this implementation that retrieves the AZ and the node before spawning any VM","commit_id":"2c850548a366c9c3794df9f6874ad19126b35fc8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0a7bfc072c9f86235aed8026add70cdc231a6451","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2f5ea2c4_1a2596ab","updated":"2026-01-28 17:11:27.000000000","message":"I see now there is another change in this code:\n\nhttps://review.opendev.org/c/openstack/neutron-tempest-plugin/+/975012\n\nIt seems a little simpler to understand, was wondering if you could take a look and see if it helps in your situation.","commit_id":"2c850548a366c9c3794df9f6874ad19126b35fc8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d9364b23baed195bd04c8e1450c82def58e69988","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7c4bb957_4b61eadb","in_reply_to":"5322aed3_64fa33cf","updated":"2026-02-03 21:16:59.000000000","message":"I would agree.","commit_id":"2c850548a366c9c3794df9f6874ad19126b35fc8"}],"neutron_tempest_plugin/scenario/admin/test_floatingip.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"699cbaa88613c04d90dedf96b9190fd4e8f81482","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                            continue"},{"line_number":85,"context_line":"                        az_name \u003d az[\u0027zoneName\u0027]"},{"line_number":86,"context_line":"                        node \u003d hv[0][\u0027hypervisor_hostname\u0027]"},{"line_number":87,"context_line":"                        break"},{"line_number":88,"context_line":"        return az_name, node"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def _create_vms(self, hyper, avail_zone, num_servers\u003d2):"}],"source_content_type":"text/x-python","patch_set":1,"id":"debb64c9_4f23ea33","line":87,"updated":"2025-12-12 20:23:38.000000000","message":"I think you can just return here, instead of possibly looping through additional values. Then below can just return None, None.","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"917623d84116359d1e1158398865d1e5df5b47df","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                            continue"},{"line_number":85,"context_line":"                        az_name \u003d az[\u0027zoneName\u0027]"},{"line_number":86,"context_line":"                        node \u003d hv[0][\u0027hypervisor_hostname\u0027]"},{"line_number":87,"context_line":"                        break"},{"line_number":88,"context_line":"        return az_name, node"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def _create_vms(self, hyper, avail_zone, num_servers\u003d2):"}],"source_content_type":"text/x-python","patch_set":1,"id":"f59d7b71_207764c5","line":87,"in_reply_to":"debb64c9_4f23ea33","updated":"2025-12-15 15:43:56.000000000","message":"yeah, right, I\u0027m breaking from inner for only, would still continue to loop over AZ.","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"9d23d91da9c590ae9ba119b3296cdb05f8c79c11","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                            continue"},{"line_number":85,"context_line":"                        az_name \u003d az[\u0027zoneName\u0027]"},{"line_number":86,"context_line":"                        node \u003d hv[0][\u0027hypervisor_hostname\u0027]"},{"line_number":87,"context_line":"                        break"},{"line_number":88,"context_line":"        return az_name, node"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def _create_vms(self, hyper, avail_zone, num_servers\u003d2):"}],"source_content_type":"text/x-python","patch_set":1,"id":"31ff5c06_f265db95","line":87,"in_reply_to":"f59d7b71_207764c5","updated":"2025-12-15 16:07:44.000000000","message":"Done","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"9d23d91da9c590ae9ba119b3296cdb05f8c79c11","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        to reach each other."},{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        avail_zone, hyper \u003d self._choose_az_and_node()"},{"line_number":128,"context_line":"        if not avail_zone and hyper:"},{"line_number":129,"context_line":"            self.skipTest(\"No suitable compute host available\")"},{"line_number":130,"context_line":"        servers, server_ssh_clients, fips \u003d self._create_vms(hyper, avail_zone)"},{"line_number":131,"context_line":"        self.check_remote_connectivity("}],"source_content_type":"text/x-python","patch_set":1,"id":"3259ad92_b7cb36f2","line":128,"range":{"start_line":128,"start_character":8,"end_line":128,"end_character":36},"updated":"2025-12-15 16:07:44.000000000","message":"also there was a bug here, should be `if not (avail_zone and hyper):`","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"699cbaa88613c04d90dedf96b9190fd4e8f81482","unresolved":true,"context_lines":[{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        avail_zone, hyper \u003d self._choose_az_and_node()"},{"line_number":128,"context_line":"        if not avail_zone and hyper:"},{"line_number":129,"context_line":"            self.skipTest(\"No suitable compute host available\")"},{"line_number":130,"context_line":"        servers, server_ssh_clients, fips \u003d self._create_vms(hyper, avail_zone)"},{"line_number":131,"context_line":"        self.check_remote_connectivity("},{"line_number":132,"context_line":"            server_ssh_clients[0], fips[1][\u0027floating_ip_address\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"43c84db2_e058562b","line":129,"updated":"2025-12-12 20:23:38.000000000","message":"I\u0027m not sure what to do here as the test should be run or fail in my opinion.","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"917623d84116359d1e1158398865d1e5df5b47df","unresolved":true,"context_lines":[{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        avail_zone, hyper \u003d self._choose_az_and_node()"},{"line_number":128,"context_line":"        if not avail_zone and hyper:"},{"line_number":129,"context_line":"            self.skipTest(\"No suitable compute host available\")"},{"line_number":130,"context_line":"        servers, server_ssh_clients, fips \u003d self._create_vms(hyper, avail_zone)"},{"line_number":131,"context_line":"        self.check_remote_connectivity("},{"line_number":132,"context_line":"            server_ssh_clients[0], fips[1][\u0027floating_ip_address\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"caa55af0_9c8b40b2","line":129,"in_reply_to":"43c84db2_e058562b","updated":"2025-12-15 15:43:56.000000000","message":"given the test needs just one compute which is minimal possible configuration for any tests - probably will fail then, with clear message. May be there are some parallel tests running that disable computes etc...","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"9d23d91da9c590ae9ba119b3296cdb05f8c79c11","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        avail_zone, hyper \u003d self._choose_az_and_node()"},{"line_number":128,"context_line":"        if not avail_zone and hyper:"},{"line_number":129,"context_line":"            self.skipTest(\"No suitable compute host available\")"},{"line_number":130,"context_line":"        servers, server_ssh_clients, fips \u003d self._create_vms(hyper, avail_zone)"},{"line_number":131,"context_line":"        self.check_remote_connectivity("},{"line_number":132,"context_line":"            server_ssh_clients[0], fips[1][\u0027floating_ip_address\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"8b5db28d_a28403a5","line":129,"in_reply_to":"caa55af0_9c8b40b2","updated":"2025-12-15 16:07:44.000000000","message":"Done","commit_id":"a8968e90ef2febccff95e2ca3d3360faedbc6edf"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"53a428bb7a1c8100f071d4f42a0871466b286263","unresolved":true,"context_lines":[{"line_number":75,"context_line":"                            if ("},{"line_number":76,"context_line":"                                h[\u0027hypervisor_hostname\u0027].startswith(host) and"},{"line_number":77,"context_line":"                                h[\"state\"] \u003d\u003d \"up\" and"},{"line_number":78,"context_line":"                                h[\"status\"] \u003d\u003d \"enabled\""},{"line_number":79,"context_line":"                            )"},{"line_number":80,"context_line":"                        ]"},{"line_number":81,"context_line":"                        if not hv:"}],"source_content_type":"text/x-python","patch_set":2,"id":"008c2c4f_ab5bfe5b","line":78,"updated":"2026-01-09 22:52:09.000000000","message":"nit: i guess you could have removed ones not up and enabled outside the loops, but for this test i think there is only two entries so not critical","commit_id":"2c850548a366c9c3794df9f6874ad19126b35fc8"}]}
