Hello, I believe this commit introduced a regression, not directly in OVN itself but in the OVN ML2 driver in OpenStack. Since OpenStack is a reference CMS for OVN, I believe it could be essential to mention this regression here. At least OpenStack releases from Ussuri to Yoga are affected. Copying the content of the external_ids column from both Logical_Switch_Port and Logical_Router_Port tables starts an endless loop of revision_number bumping. Change in one table fires an update in another and vice versa. I show an example of the Neutron log file here, and I also attach the same log but uncut in [1] since it is too big for a letter. I will also report this issue to the Neutron team.
... 2022-05-13 09:30:56.318 25 ... Successfully bumped revision number for resource 8af189bd-c5bf-48a9-b072-3fb6c69ae592 (type: router_ports) to 4815 2022-05-13 09:30:56.366 25 ... Running txn n=1 command(idx=0): CheckRevisionNumberCommand(...) 2022-05-13 09:30:56.367 25 ... Running txn n=1 command(idx=1): SetLSwitchPortCommand(...) 2022-05-13 09:30:56.367 25 ... Running txn n=1 command(idx=2): PgDelPortCommand(...) 2022-05-13 09:30:56.467 25 ... Successfully bumped revision number for resource 8af189bd-c5bf-48a9-b072-3fb6c69ae592 (type: ports) to 4815 2022-05-13 09:30:56.880 25 ... Running txn n=1 command(idx=0): CheckRevisionNumberCommand(...) 2022-05-13 09:30:56.881 25 ... Running txn n=1 command(idx=1): UpdateLRouterPortCommand(...) 2022-05-13 09:30:56.881 25 ... Running txn n=1 command(idx=2): SetLRouterPortInLSwitchPortCommand(...) 2022-05-13 09:30:56.984 25 ... Successfully bumped revision number for resource 8af189bd-c5bf-48a9-b072-3fb6c69ae592 (type: router_ports) to 4816 2022-05-13 09:30:57.057 25 ... Running txn n=1 command(idx=0): CheckRevisionNumberCommand(...) 2022-05-13 09:30:57.057 25 ... Running txn n=1 command(idx=1): SetLSwitchPortCommand(...) 2022-05-13 09:30:57.058 25 ... Running txn n=1 command(idx=2): PgDelPortCommand(...) 2022-05-13 09:30:57.159 25 ... Successfully bumped revision number for resource 8af189bd-c5bf-48a9-b072-3fb6c69ae592 (type: ports) to 4816 2022-05-13 09:30:57.523 25 ... Running txn n=1 command(idx=0): CheckRevisionNumberCommand(...) 2022-05-13 09:30:57.523 25 ... Running txn n=1 command(idx=1): UpdateLRouterPortCommand(...) 2022-05-13 09:30:57.524 25 ... Running txn n=1 command(idx=2): SetLRouterPortInLSwitchPortCommand(...) 2022-05-13 09:30:57.627 25 ... Successfully bumped revision number for resource 8af189bd-c5bf-48a9-b072-3fb6c69ae592 (type: router_ports) to 4817 2022-05-13 09:30:57.674 25 ... Running txn n=1 command(idx=0): CheckRevisionNumberCommand(...) 2022-05-13 09:30:57.674 25 ... Running txn n=1 command(idx=1): SetLSwitchPortCommand(...) 2022-05-13 09:30:57.675 25 ... Running txn n=1 command(idx=2): PgDelPortCommand(...) 2022-05-13 09:30:57.765 25 ... Successfully bumped revision number for resource 8af189bd-c5bf-48a9-b072-3fb6c69ae592 (type: ports) to 4817 ... [1] https://pastebin.com/raw/NLP1b6Qm On Wed, Feb 23, 2022 at 6:44 PM Selvaraj Palaniyappan <selvara...@nutanix.com> wrote: > > > > On 23-Feb-2022, at 10:37 PM, Han Zhou <hz...@ovn.org<mailto:hz...@ovn.org>> > wrote: > > > > On Wed, Feb 23, 2022 at 1:30 AM Selvaraj Palaniyappan > <selvara...@nutanix.com<mailto:selvara...@nutanix.com>> wrote: > > > > This patch makes ovn-northd copy all string-string pairs in > > external_ids column of the Logical_Router_Port table in > > Northbound database to the equivalent column of the Port_Binding > > table in Southbound database. > > > > Signed-off-by: Selvaraj Palaniyappan > > <selvara...@nutanix.com<mailto:selvara...@nutanix.com>> > > --- > > northd/northd.c | 1 + > > ovn-nb.xml | 6 ++++++ > > ovn-sb.xml | 3 ++- > > tests/ovn-northd.at > > [ovn-northd.at]<https://urldefense.proofpoint.com/v2/url?u=http-3A__ovn-2Dnorthd.at&d=DwMFaQ&c=s883GpUCOChKOHiocYtGcg&r=s-LBGxFeMigvGGdbcJ8ZlFHWTAGRMXX30AvpXtJVEZs&m=UP7QVwCesJotsEqsy5wwlR3PqkC8Uhs_Yxhh7qs6dTyGjViW_oQ3Tvptsvsx9M9i&s=REAnkiwTw6MyIPjvn_UXAuuUIbFb0enLS70gccvVUDU&e=> > > | 12 ++++++++++++ > > 4 files changed, 21 insertions(+), 1 deletion(-) > > > > diff --git a/northd/northd.c b/northd/northd.c > > index fc7a64f99..090922ae2 100644 > > --- a/northd/northd.c > > +++ b/northd/northd.c > > @@ -3240,6 +3240,7 @@ ovn_port_update_sbrec(struct northd_input *input_data, > > ds_destroy(&s); > > > > struct smap ids = SMAP_INITIALIZER(&ids); > > + smap_clone(&ids, &op->nbrp->external_ids); > > sbrec_port_binding_set_external_ids(op->sb, &ids); > > > > sbrec_port_binding_set_nat_addresses(op->sb, NULL, 0); > > diff --git a/ovn-nb.xml b/ovn-nb.xml > > index 6a6972856..293d25b32 100644 > > --- a/ovn-nb.xml > > +++ b/ovn-nb.xml > > @@ -2895,6 +2895,12 @@ > > <group title="Common Columns"> > > <column name="external_ids"> > > See <em>External IDs</em> at the beginning of this document. > > + <p> > > + The <code>ovn-northd</code> program copies all these pairs into > > the > > + <ref column="external_ids"/> column of the > > + <ref table="Port_Binding"/> table in <ref db="OVN_Southbound"/> > > + database. > > + </p> > > </column> > > </group> > > </table> > > diff --git a/ovn-sb.xml b/ovn-sb.xml > > index 9ddacdf09..f7c41ccdc 100644 > > --- a/ovn-sb.xml > > +++ b/ovn-sb.xml > > @@ -3354,7 +3354,8 @@ tcp.flags = RST; > > <p> > > The <code>ovn-northd</code> program populates this column with > > all entries into the <ref column="external_ids"/> column of the > > - <ref table="Logical_Switch_Port"/> table of the > > + <ref table="Logical_Switch_Port"/> and > > + <ref table="Logical_Router_Port"/> tables of the > > <ref db="OVN_Northbound"/> database. > > </p> > > </column> > > diff --git a/tests/ovn-northd.at > > [ovn-northd.at]<https://urldefense.proofpoint.com/v2/url?u=http-3A__ovn-2Dnorthd.at&d=DwMFaQ&c=s883GpUCOChKOHiocYtGcg&r=s-LBGxFeMigvGGdbcJ8ZlFHWTAGRMXX30AvpXtJVEZs&m=UP7QVwCesJotsEqsy5wwlR3PqkC8Uhs_Yxhh7qs6dTyGjViW_oQ3Tvptsvsx9M9i&s=REAnkiwTw6MyIPjvn_UXAuuUIbFb0enLS70gccvVUDU&e=> > > b/tests/ovn-northd.at > > [ovn-northd.at]<https://urldefense.proofpoint.com/v2/url?u=http-3A__ovn-2Dnorthd.at&d=DwMFaQ&c=s883GpUCOChKOHiocYtGcg&r=s-LBGxFeMigvGGdbcJ8ZlFHWTAGRMXX30AvpXtJVEZs&m=UP7QVwCesJotsEqsy5wwlR3PqkC8Uhs_Yxhh7qs6dTyGjViW_oQ3Tvptsvsx9M9i&s=REAnkiwTw6MyIPjvn_UXAuuUIbFb0enLS70gccvVUDU&e=> > > index 84e52e701..5f7f5cb08 100644 > > --- a/tests/ovn-northd.at > > [ovn-northd.at]<https://urldefense.proofpoint.com/v2/url?u=http-3A__ovn-2Dnorthd.at&d=DwMFaQ&c=s883GpUCOChKOHiocYtGcg&r=s-LBGxFeMigvGGdbcJ8ZlFHWTAGRMXX30AvpXtJVEZs&m=UP7QVwCesJotsEqsy5wwlR3PqkC8Uhs_Yxhh7qs6dTyGjViW_oQ3Tvptsvsx9M9i&s=REAnkiwTw6MyIPjvn_UXAuuUIbFb0enLS70gccvVUDU&e=> > > +++ b/tests/ovn-northd.at > > [ovn-northd.at]<https://urldefense.proofpoint.com/v2/url?u=http-3A__ovn-2Dnorthd.at&d=DwMFaQ&c=s883GpUCOChKOHiocYtGcg&r=s-LBGxFeMigvGGdbcJ8ZlFHWTAGRMXX30AvpXtJVEZs&m=UP7QVwCesJotsEqsy5wwlR3PqkC8Uhs_Yxhh7qs6dTyGjViW_oQ3Tvptsvsx9M9i&s=REAnkiwTw6MyIPjvn_UXAuuUIbFb0enLS70gccvVUDU&e=> > > @@ -144,6 +144,18 @@ AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup]) > > AT_CLEANUP > > ]) > > > > +OVN_FOR_EACH_NORTHD([ > > +AT_SETUP([check LRP external id propagation to SBDB]) > > +ovn_start > > + > > +ovn-nbctl lr-add ro > > +ovn-nbctl lrp-add ro lrp0 00:00:00:00:00:01 192.168.1.1/24 > > [192.168.1.1]<https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.1.1_24&d=DwMFaQ&c=s883GpUCOChKOHiocYtGcg&r=s-LBGxFeMigvGGdbcJ8ZlFHWTAGRMXX30AvpXtJVEZs&m=UP7QVwCesJotsEqsy5wwlR3PqkC8Uhs_Yxhh7qs6dTyGjViW_oQ3Tvptsvsx9M9i&s=PUcZoLp7BsEjR4yGhEiTf6m-y5s2sVTkr0zXejxbJYw&e=> > > +ovn-nbctl --wait=sb set logical_router_port lrp0 external_ids=test=123 > > +check_column "test=123" sb:Port_Binding external_ids logical_port=lrp0 > > + > > +AT_CLEANUP > > +]) > > + > > OVN_FOR_EACH_NORTHD([ > > AT_SETUP([check IPv6 RA config propagation to SBDB]) > > ovn_start > > -- > > 2.22.3 > > > > _______________________________________________ > > dev mailing list > > d...@openvswitch.org<mailto:d...@openvswitch.org> > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > [mail.openvswitch.org]<https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwMFaQ&c=s883GpUCOChKOHiocYtGcg&r=s-LBGxFeMigvGGdbcJ8ZlFHWTAGRMXX30AvpXtJVEZs&m=UP7QVwCesJotsEqsy5wwlR3PqkC8Uhs_Yxhh7qs6dTyGjViW_oQ3Tvptsvsx9M9i&s=ZHYlzG49NgbcOKN7ERq53X6xjxT8oNSIifxDID9lipc&e=> > > Thanks I applied to the main branch. > > Thanks Han for merging the commit to the main branch. > > Kind Regards, > Selva > > Han _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev