)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"0f515b27ea7494c74e8d31cd39a31e24a620d08b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c4e68ef5_4b4a44ac","updated":"2021-10-20 12:26:25.000000000","message":"Hi Rodolfo, code-wise this looks good but the failures in the unittests looks related to this change","commit_id":"2dc09c5d04d616f57213f1328eeea00b412f1510"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a0607eb93506b34cb67150bd488a42a85cff4368","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9fd9b4cf_e5ad2ec5","in_reply_to":"c4e68ef5_4b4a44ac","updated":"2021-10-20 13:10:26.000000000","message":"Yeah, I didn\u0027t have time to check this patch. Let me take a look.","commit_id":"2dc09c5d04d616f57213f1328eeea00b412f1510"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"773e5ce1956c7c8938002e051b8b8fe5d012bbb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9de30f1b_aab72010","updated":"2021-10-25 06:38:31.000000000","message":"Thanks Rodolfo.\nIs there any impact at scale in terms of performance when breaking things into multiple individual transactions?\n\nI understand that the patch minimizes/solves the issue described in the linked bug but I want to make sure of the point above. If the performance impact is significant, can\u0027t we assume that the Neutron API is fenced during the migration and keep the single-txn approach?","commit_id":"acbac21860d9381da97939c6d6dc5a5d1d6bb8f2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"aea54f06b9d2ab3e4400b776bc4d14f781153abe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"67b16604_9a10d77a","in_reply_to":"9de30f1b_aab72010","updated":"2021-10-25 08:46:46.000000000","message":"We can\u0027t guarantee the process DB isolation while processing each resource individually.\n\nAnd yes, this approach will take more time than with one single txn.\n\nLet me propose another alternative.","commit_id":"acbac21860d9381da97939c6d6dc5a5d1d6bb8f2"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0a7398172be6991bbfacbf193c22dfbcab60826a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2f2c1b0f_c5b7b527","updated":"2021-10-25 20:33:56.000000000","message":"I thought this could be fixed just by calling the DB modifications before starting the DB sync script https://github.com/openstack/neutron/blob/ac245b3b5bc1512361fc938da8670759a9719497/neutron/cmd/ovn/neutron_ovn_db_sync_util.py#L247\n\nIt even makes more sense to modify the DB and then sync it to the OVN. Does anybody see any drawbacks in doing as such?","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"dcddbe627aac07ea5845b17c32b2571d5a28562e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8919d735_caf4d411","updated":"2021-11-04 12:31:11.000000000","message":"Looks ok for me but I think that Kuba\u0027s questions should be answered before we will move on with that one.","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"781c1fc9739dc7295ef34455b856d3a0c79a684a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1546c964_7d794072","updated":"2021-10-25 15:32:22.000000000","message":"recheck","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4b1827e60d86c623afc48d5ea865488506506709","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"50fa9aa4_1365f447","updated":"2021-10-26 11:06:27.000000000","message":"recheck","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2d936816327f69282712086d3f3d03ebabb39a94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"543853bf_5160f382","updated":"2021-10-28 09:46:15.000000000","message":"recheck","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"95d79d5402b130e2e89b90df4cd36944f493caa4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5b18fc93_794eb1c2","updated":"2021-10-26 08:30:09.000000000","message":"recheck","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"b2b6ddd71a941fead0839cc0690b608cc6f53aef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"90b22f8c_3fa63abf","updated":"2021-10-27 16:10:44.000000000","message":"recheck","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"87de3993ca23274f14bd2988c4aaeccb4458a72b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9572c96f_a4c434bc","updated":"2021-11-01 09:25:41.000000000","message":"recheck","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"681a59154e3d8d3fd5e7a4704f520673ae1cb992","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a487f5c7_8b068ba5","updated":"2021-10-27 07:48:17.000000000","message":"recheck","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"20065eee21fc2e197e3e7ac765fcf80fa01a754b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0cd09a72_741e140c","updated":"2021-10-27 10:44:46.000000000","message":"recheck (Failed because of a time-out)","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b69ffcde8262b42cca0429d69b260dc923b38997","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a25e472e_19c24666","in_reply_to":"0eb40eef_fe1b6cb6","updated":"2021-10-26 11:29:02.000000000","message":"This patch should prevent any DB concurrency problem we had before. But it doesn\u0027t matter when, during the migration process, the DB migration is done. We could have other concurrent operations at any point because this is a live system.\n\nMoving the DB migration before the OVN sync will not prevent the \"ml2_port_bindings\" stale data error we saw in our tests.","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"91cf16ba6b83747d70cdadf92f72b21d57592645","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8e4a2298_290ac99e","in_reply_to":"2f2c1b0f_c5b7b527","updated":"2021-10-26 08:32:08.000000000","message":"So with that approach, just changing the order we would avoid having to have separate transactions as this patch suggests ?","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":23804,"name":"Daniel Alvarez","email":"dalvarez@redhat.com","username":"dalvarez"},"change_message_id":"804b7c11ad6861571478130929c9fa12691e9d58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0eb40eef_fe1b6cb6","in_reply_to":"8e4a2298_290ac99e","updated":"2021-10-26 09:26:34.000000000","message":"FWIW I agree with Kuba but can\u0027t see if there\u0027s any other drawbacks. For example, what if the sync script fails? Then a snapshot of the db should be restored right?\nThis is ok but should be probably documented.","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":19118,"name":"Eran Kuris","email":"ekuris@redhat.com","username":"ekuris"},"change_message_id":"aa8f3650c12d89dd140bdf7cd23b05de74fcf899","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2448aace_d377e2ff","updated":"2021-11-07 10:52:11.000000000","message":"recheck","commit_id":"53c5fce3d94a83fb6b64807d3f9ff35da55553cc"},{"author":{"_account_id":19118,"name":"Eran Kuris","email":"ekuris@redhat.com","username":"ekuris"},"change_message_id":"e034fb39f5ada6c6222d38411485a8657574661b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"dcdd7d7b_8361f57e","updated":"2021-11-07 08:39:39.000000000","message":"recheck","commit_id":"53c5fce3d94a83fb6b64807d3f9ff35da55553cc"},{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"0a1b48225b20a755d9de25fc3ab50a0211153190","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4792ea77_d88779cf","updated":"2021-11-09 08:14:56.000000000","message":"recheck","commit_id":"0496714ef93ca44aab15be59654f0c33e4ef18f8"},{"author":{"_account_id":19118,"name":"Eran Kuris","email":"ekuris@redhat.com","username":"ekuris"},"change_message_id":"32b1d495ce59aa797480982f572ddccadfb145f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d94c5720_e17d0dd3","updated":"2021-11-08 13:13:52.000000000","message":"recheck","commit_id":"0496714ef93ca44aab15be59654f0c33e4ef18f8"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"717bfbf3ea8f0cac28bd2426e8c8df4ae17f9dc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e790da28_d59296f2","updated":"2021-11-10 08:26:06.000000000","message":"I just did very small changes to make UT passing so I hope I still can vote on that change.","commit_id":"cae2969d42895cb12e77f78aec309b2708e456a4"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7df4d1020bb19b281bd0e901f641bad4627955f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"83266703_11b2621b","updated":"2021-11-09 11:57:43.000000000","message":"recheck","commit_id":"cae2969d42895cb12e77f78aec309b2708e456a4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"740c745c57ef842b71fd6ae5d36b0dc77c095970","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a4e9c710_3d91b609","updated":"2021-11-09 11:19:28.000000000","message":"recheck","commit_id":"cae2969d42895cb12e77f78aec309b2708e456a4"},{"author":{"_account_id":19118,"name":"Eran Kuris","email":"ekuris@redhat.com","username":"ekuris"},"change_message_id":"cbafe430dcd0770a8ac63669a1a137c01a417df1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"433fa91d_b23638e2","updated":"2021-11-11 09:44:59.000000000","message":"recheck","commit_id":"662045f519a164ae683a37f5cf1c4b30369a3386"},{"author":{"_account_id":19118,"name":"Eran Kuris","email":"ekuris@redhat.com","username":"ekuris"},"change_message_id":"2db59f51ec454c2334dfa765c0057010646012bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"afff4f48_37a8ef21","updated":"2021-11-11 12:38:46.000000000","message":"recheck","commit_id":"662045f519a164ae683a37f5cf1c4b30369a3386"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"783c9532c45578ff2b85df482c49180b2a666016","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"0b46bb59_35536366","updated":"2021-11-11 19:59:58.000000000","message":"recheck\n\ntempest failed on glance pkg constraint","commit_id":"662045f519a164ae683a37f5cf1c4b30369a3386"}],"neutron/plugins/ml2/drivers/ovn/db_migration.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"de89ec50469af0b344ee7d1c0aa3ecfcdf523fc8","unresolved":true,"context_lines":[{"line_number":88,"context_line":"                    # for example gateway port has been rescheduled to a"},{"line_number":89,"context_line":"                    # different gateway chassis."},{"line_number":90,"context_line":"                    pass"},{"line_number":91,"context_line":"                except sqla_exc.StaleDataError:"},{"line_number":92,"context_line":"                    # The PortBinding register has been already modified."},{"line_number":93,"context_line":"                    pass"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        pb_updated.update(diff)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"e84f485f_7bf36453","line":93,"range":{"start_line":91,"start_character":0,"end_line":93,"end_character":24},"updated":"2021-11-01 14:01:07.000000000","message":"Can this leave a port binding in non-fixed state where it still has e.g. hybrid plug enabled? Although the errors I saw were only with the gateway router ports.","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6a32ca894dbc424c0f8aa64ba297028bd445aea2","unresolved":true,"context_lines":[{"line_number":88,"context_line":"                    # for example gateway port has been rescheduled to a"},{"line_number":89,"context_line":"                    # different gateway chassis."},{"line_number":90,"context_line":"                    pass"},{"line_number":91,"context_line":"                except sqla_exc.StaleDataError:"},{"line_number":92,"context_line":"                    # The PortBinding register has been already modified."},{"line_number":93,"context_line":"                    pass"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        pb_updated.update(diff)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"32b1ff94_48bde4f2","line":93,"range":{"start_line":91,"start_character":0,"end_line":93,"end_character":24},"in_reply_to":"1c29d9a7_24c7f139","updated":"2021-11-04 13:26:03.000000000","message":"Maybe will be easier to backport if You\u0027ll respin that one :)","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"af13d0783713b89ca3a93d4605602747321236fb","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                    # for example gateway port has been rescheduled to a"},{"line_number":89,"context_line":"                    # different gateway chassis."},{"line_number":90,"context_line":"                    pass"},{"line_number":91,"context_line":"                except sqla_exc.StaleDataError:"},{"line_number":92,"context_line":"                    # The PortBinding register has been already modified."},{"line_number":93,"context_line":"                    pass"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        pb_updated.update(diff)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"40875276_c88edd02","line":93,"range":{"start_line":91,"start_character":0,"end_line":93,"end_character":24},"in_reply_to":"32b1ff94_48bde4f2","updated":"2021-11-04 13:26:36.000000000","message":"Done","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"705ca3387cae2ca3a241b1e49098299bbbb69bc8","unresolved":true,"context_lines":[{"line_number":88,"context_line":"                    # for example gateway port has been rescheduled to a"},{"line_number":89,"context_line":"                    # different gateway chassis."},{"line_number":90,"context_line":"                    pass"},{"line_number":91,"context_line":"                except sqla_exc.StaleDataError:"},{"line_number":92,"context_line":"                    # The PortBinding register has been already modified."},{"line_number":93,"context_line":"                    pass"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        pb_updated.update(diff)"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1c29d9a7_24c7f139","line":93,"range":{"start_line":91,"start_character":0,"end_line":93,"end_character":24},"in_reply_to":"e84f485f_7bf36453","updated":"2021-11-04 13:24:46.000000000","message":"This is quite difficult to hit this issue now we update each port individually. Actually I was tempted to remove this condition.\n\nBut yes, if we hit this condition, the port binding will remain unmodified (or at least with the vif details not removed). We can log a warning here.\n\nNow we have 2 +2 in this patch, I can push another patch on top of this one. Or I can always respin this one.","commit_id":"4c09372d5c74316b126cac07328aa7953c721da2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"400e87e94db5660f02d21ac770425c8e3ef5f232","unresolved":true,"context_lines":[{"line_number":29,"context_line":"    pb_api.VIF_DETAILS_CONNECTIVITY)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def migrate_neutron_database_to_ovn(plugin):"},{"line_number":33,"context_line":"    \"\"\"Change DB content from OVS to OVN mech driver."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"     - Changes vxlan network type to Geneve and updates Geneve allocations."}],"source_content_type":"text/x-python","patch_set":6,"id":"8cf8b836_7306c7b9","side":"PARENT","line":32,"updated":"2021-11-09 08:26:57.000000000","message":"this change seems like not related to that patch at all. I understand that it\u0027s valid cleanup but as it was causing some failures in the UT, I reverted it here and proposed follow-up patch https://review.opendev.org/c/openstack/neutron/+/817162 to remove it. I hope You are fine with that Rodolfo 😊","commit_id":"32c1762c363d2b55b76135a7d962f03dfe2bbea4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3a5a738cb33e8014f7ca70b86794b5b457af29b8","unresolved":true,"context_lines":[{"line_number":29,"context_line":"    pb_api.VIF_DETAILS_CONNECTIVITY)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def migrate_neutron_database_to_ovn(plugin):"},{"line_number":33,"context_line":"    \"\"\"Change DB content from OVS to OVN mech driver."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"     - Changes vxlan network type to Geneve and updates Geneve allocations."}],"source_content_type":"text/x-python","patch_set":6,"id":"594774e2_b0723115","side":"PARENT","line":32,"in_reply_to":"0d2c0a46_7cc4d233","updated":"2021-11-09 08:31:11.000000000","message":"Actually no, I don\u0027t like this change. I removed this parameter because we stopped using it. It doesn\u0027t make sense to keep it in this patch.","commit_id":"32c1762c363d2b55b76135a7d962f03dfe2bbea4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e07d5766f325a74669ba56d737f1a9dd4e24904a","unresolved":true,"context_lines":[{"line_number":29,"context_line":"    pb_api.VIF_DETAILS_CONNECTIVITY)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def migrate_neutron_database_to_ovn(plugin):"},{"line_number":33,"context_line":"    \"\"\"Change DB content from OVS to OVN mech driver."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"     - Changes vxlan network type to Geneve and updates Geneve allocations."}],"source_content_type":"text/x-python","patch_set":6,"id":"0d2c0a46_7cc4d233","side":"PARENT","line":32,"in_reply_to":"8cf8b836_7306c7b9","updated":"2021-11-09 08:29:50.000000000","message":"I would have done this change in this patch. I didn\u0027t have time to check the CI but I would have change the UTs in this patch","commit_id":"32c1762c363d2b55b76135a7d962f03dfe2bbea4"}]}
