)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"86dae0825738639ad08d6fd9207da36a5989f4b9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"112bbca7_41a05e69","updated":"2023-07-20 10:22:41.000000000","message":"Finishing tests","commit_id":"43926e2c5d9182ed8f59542bd024df57658efa18"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"399a75f5864e3983eaf9808c2c6879f07b3d0d69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"00628e8a_4de1ab89","updated":"2023-07-20 12:18:31.000000000","message":"thanks! LGTM, tested it and it works as expected","commit_id":"3c5b7ec91658e159b9e2214dd66d728660c279ac"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"327132c4345834b369ca97f154acf1becc7c2612","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"56d26550_f250c60c","updated":"2023-08-04 13:47:26.000000000","message":"LGTM!","commit_id":"e6cd4124344a7d5ab0c46ce23c4b13522a3c225e"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"08601a4ee71b80a73fb8ae1abd512b3b1fa4681e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4c1dc18b_d1ddca78","updated":"2023-07-21 09:41:49.000000000","message":"works as expected","commit_id":"e6cd4124344a7d5ab0c46ce23c4b13522a3c225e"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"201ebc924eab306aa4346b23473675a765fc11ea","unresolved":true,"context_lines":[{"line_number":237,"context_line":"                    wait\u003dtenacity.wait_random(min\u003d2, max\u003d3),"},{"line_number":238,"context_line":"                    stop\u003dtenacity.stop_after_attempt(3),"},{"line_number":239,"context_line":"                    reraise\u003dTrue)"},{"line_number":240,"context_line":"    def _wait_for_port_bindings_host(self, context, db_port):"},{"line_number":241,"context_line":"        port \u003d ml2_db.get_port(context, db_port.id)"},{"line_number":242,"context_line":"        # This is already checked previously but, just to stay on"},{"line_number":243,"context_line":"        # the safe side in case the port is deleted mid-operation"}],"source_content_type":"text/x-python","patch_set":2,"id":"ffea5898_c03a37ac","line":240,"range":{"start_line":240,"start_character":52,"end_line":240,"end_character":59},"updated":"2023-07-20 16:02:20.000000000","message":"I guess if you\u0027re only ever using the ID, could have just passed that","commit_id":"3c5b7ec91658e159b9e2214dd66d728660c279ac"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"02480ce3dc8ffbdaf77036d10ffd773c062f892b","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                    wait\u003dtenacity.wait_random(min\u003d2, max\u003d3),"},{"line_number":238,"context_line":"                    stop\u003dtenacity.stop_after_attempt(3),"},{"line_number":239,"context_line":"                    reraise\u003dTrue)"},{"line_number":240,"context_line":"    def _wait_for_port_bindings_host(self, context, db_port):"},{"line_number":241,"context_line":"        port \u003d ml2_db.get_port(context, db_port.id)"},{"line_number":242,"context_line":"        # This is already checked previously but, just to stay on"},{"line_number":243,"context_line":"        # the safe side in case the port is deleted mid-operation"}],"source_content_type":"text/x-python","patch_set":2,"id":"c9f0b2b8_21facf79","line":240,"range":{"start_line":240,"start_character":52,"end_line":240,"end_character":59},"in_reply_to":"ffea5898_c03a37ac","updated":"2023-07-21 08:39:46.000000000","message":"++ good point","commit_id":"3c5b7ec91658e159b9e2214dd66d728660c279ac"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"201ebc924eab306aa4346b23473675a765fc11ea","unresolved":true,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        if not port.port_bindings:"},{"line_number":249,"context_line":"            raise RuntimeError("},{"line_number":250,"context_line":"                _(\u0027No port bindings information found with for \u0027"},{"line_number":251,"context_line":"                  \u0027port %s\u0027) % db_port.id)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        host \u003d port.port_bindings[0].host"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff993eba_fcfc5ef2","line":250,"range":{"start_line":250,"start_character":54,"end_line":250,"end_character":58},"updated":"2023-07-20 16:02:20.000000000","message":"nit: can remove \u0027with\u0027","commit_id":"3c5b7ec91658e159b9e2214dd66d728660c279ac"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"02480ce3dc8ffbdaf77036d10ffd773c062f892b","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        if not port.port_bindings:"},{"line_number":249,"context_line":"            raise RuntimeError("},{"line_number":250,"context_line":"                _(\u0027No port bindings information found with for \u0027"},{"line_number":251,"context_line":"                  \u0027port %s\u0027) % db_port.id)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        host \u003d port.port_bindings[0].host"}],"source_content_type":"text/x-python","patch_set":2,"id":"fca50bc4_6a80870a","line":250,"range":{"start_line":250,"start_character":54,"end_line":250,"end_character":58},"in_reply_to":"ff993eba_fcfc5ef2","updated":"2023-07-21 08:39:46.000000000","message":"Ops typo, thank you!","commit_id":"3c5b7ec91658e159b9e2214dd66d728660c279ac"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"201ebc924eab306aa4346b23473675a765fc11ea","unresolved":true,"context_lines":[{"line_number":279,"context_line":"                        context, db_port)"},{"line_number":280,"context_line":"                except RuntimeError as e:"},{"line_number":281,"context_line":"                    LOG.warning(e)"},{"line_number":282,"context_line":"                    return"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"            host \u003d db_port.port_bindings[0].host"},{"line_number":285,"context_line":"            ext_ids \u003d (\u0027external_ids\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"24998965_3d238397","line":282,"updated":"2023-07-20 16:02:20.000000000","message":"Just curious if the change in behavior matters here. Previously the absence of port_bindings was just to return, but now it\u0027s a warning. Will that result in unwanted log messages? i.e. is just the host not being present the failure case?","commit_id":"3c5b7ec91658e159b9e2214dd66d728660c279ac"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"02480ce3dc8ffbdaf77036d10ffd773c062f892b","unresolved":true,"context_lines":[{"line_number":279,"context_line":"                        context, db_port)"},{"line_number":280,"context_line":"                except RuntimeError as e:"},{"line_number":281,"context_line":"                    LOG.warning(e)"},{"line_number":282,"context_line":"                    return"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"            host \u003d db_port.port_bindings[0].host"},{"line_number":285,"context_line":"            ext_ids \u003d (\u0027external_ids\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9304f043_9842f09d","line":282,"in_reply_to":"24998965_3d238397","updated":"2023-07-21 08:39:46.000000000","message":"That\u0027s a good point, in our tests I think the port_bindings was present but the host information in it was not, so host_id was being set to an empty string. We first tested this by adding a sleep() in mech_driver.py between provisioning_complete() and the get_port() and that worked. A sleep is not ideal that\u0027s why I added this retry mechanism.\n\nMaybe we can keep that same behavior. My fear when I was working on this patch was that port_bindings could also have a sync issue so I included it as part of the retry, to be on the safe-side.\n\nI will remove it and retest to see.","commit_id":"3c5b7ec91658e159b9e2214dd66d728660c279ac"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"0199aad4d4cf75a8805d113e36bfc364c978f4db","unresolved":false,"context_lines":[{"line_number":279,"context_line":"                        context, db_port)"},{"line_number":280,"context_line":"                except RuntimeError as e:"},{"line_number":281,"context_line":"                    LOG.warning(e)"},{"line_number":282,"context_line":"                    return"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"            host \u003d db_port.port_bindings[0].host"},{"line_number":285,"context_line":"            ext_ids \u003d (\u0027external_ids\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3de7a960_ee267068","line":282,"in_reply_to":"9304f043_9842f09d","updated":"2023-07-21 12:09:39.000000000","message":"Luis tested this new patch-set and it works as expected, so I think we are good!\n\nThanks for the review","commit_id":"3c5b7ec91658e159b9e2214dd66d728660c279ac"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"a93c542bf03fb8daa927f8f78fbd22480acd3d8a","unresolved":true,"context_lines":[{"line_number":234,"context_line":"        return {\u0027cmd\u0027: add_dhcp_opts_cmd}"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    @tenacity.retry(retry\u003dtenacity.retry_if_exception_type(RuntimeError),"},{"line_number":237,"context_line":"                    wait\u003dtenacity.wait_random(min\u003d2, max\u003d3),"},{"line_number":238,"context_line":"                    stop\u003dtenacity.stop_after_attempt(3),"},{"line_number":239,"context_line":"                    reraise\u003dTrue)"},{"line_number":240,"context_line":"    def _wait_for_port_bindings_host(self, context, port_id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"b5a65be0_c829c255","line":237,"range":{"start_line":237,"start_character":34,"end_line":237,"end_character":45},"updated":"2023-08-14 07:42:41.000000000","message":"nit: mostly out of curiosity :) not sure why this and not a fixed 3 seconds for example, does a random delay buy us something?","commit_id":"3044b938b9fa7dfef126db9acc18782978238dc6"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"2a3d6f3f3dee9802efe09491882ac061665b1ff4","unresolved":true,"context_lines":[{"line_number":234,"context_line":"        return {\u0027cmd\u0027: add_dhcp_opts_cmd}"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    @tenacity.retry(retry\u003dtenacity.retry_if_exception_type(RuntimeError),"},{"line_number":237,"context_line":"                    wait\u003dtenacity.wait_random(min\u003d2, max\u003d3),"},{"line_number":238,"context_line":"                    stop\u003dtenacity.stop_after_attempt(3),"},{"line_number":239,"context_line":"                    reraise\u003dTrue)"},{"line_number":240,"context_line":"    def _wait_for_port_bindings_host(self, context, port_id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9cc75c7b_418f3618","line":237,"range":{"start_line":237,"start_character":34,"end_line":237,"end_character":45},"in_reply_to":"b5a65be0_c829c255","updated":"2023-08-14 08:07:36.000000000","message":"Probably not, this was more of a copy\u0026paste from another example. Could be 3 seconds fixed as u said, but at this point I don\u0027t think we need to change it cause it will do the job either way.","commit_id":"3044b938b9fa7dfef126db9acc18782978238dc6"}]}
