Message ID | 20230918164631.3144868-1-xsimonar@redhat.com |
---|---|
State | Accepted |
Headers | show |
Series | [ovs-dev] Fix missing flows in ls_in_dhcp_options table | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
ovsrobot/github-robot-_Build_and_Test | success | github build: passed |
ovsrobot/github-robot-_ovn-kubernetes | fail | github build: failed |
Thanks Xavier, Acked-by: Mark Michelson <mmichels@redhat.com> On 9/18/23 12:46, Xavier Simonart wrote: > When ha-chassis-group is updated, causing a new hv to become master, > port move to a different chassis, and flows get created in table ls_in_dhcp_options. > If pb->chassis is reported empty by sb (because set to [] by the hv being the > previous owner of the port) those flows were deleted. > However, when pb->chassis is finally updated by sb (to the new hv), flows were > not re-installed, as runtime_data was not seen as updated. > > This caused some random failures in test "external logical port". > > Signed-off-by: Xavier Simonart <xsimonar@redhat.com> > --- > controller/binding.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/controller/binding.c b/controller/binding.c > index fd08aaafa..d48fd99aa 100644 > --- a/controller/binding.c > +++ b/controller/binding.c > @@ -1362,6 +1362,7 @@ claim_lport(const struct sbrec_port_binding *pb, > register_claim_timestamp(pb->logical_port, now); > sset_find_and_delete(postponed_ports, pb->logical_port); > } else { > + update_tracked = true; > if (!notify_up) { > if (!claimed_lport_set_up(pb, parent_pb, sb_readonly)) { > return false;
On 9/19/23 22:00, Mark Michelson wrote: > Thanks Xavier, > > Acked-by: Mark Michelson <mmichels@redhat.com> > Thanks, Xavier, Mark! I applied this to main and backported it to stable branches down to and including 22.09. Do we need this on older branches too (I assume so)? If so, could you please post a custom backport patch? Thanks, Dumitru > On 9/18/23 12:46, Xavier Simonart wrote: >> When ha-chassis-group is updated, causing a new hv to become master, >> port move to a different chassis, and flows get created in table >> ls_in_dhcp_options. >> If pb->chassis is reported empty by sb (because set to [] by the hv >> being the >> previous owner of the port) those flows were deleted. >> However, when pb->chassis is finally updated by sb (to the new hv), >> flows were >> not re-installed, as runtime_data was not seen as updated. >> >> This caused some random failures in test "external logical port". >> >> Signed-off-by: Xavier Simonart <xsimonar@redhat.com> >> --- >> controller/binding.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/controller/binding.c b/controller/binding.c >> index fd08aaafa..d48fd99aa 100644 >> --- a/controller/binding.c >> +++ b/controller/binding.c >> @@ -1362,6 +1362,7 @@ claim_lport(const struct sbrec_port_binding *pb, >> register_claim_timestamp(pb->logical_port, now); >> sset_find_and_delete(postponed_ports, pb->logical_port); >> } else { >> + update_tracked = true; >> if (!notify_up) { >> if (!claimed_lport_set_up(pb, parent_pb, >> sb_readonly)) { >> return false; > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >
diff --git a/controller/binding.c b/controller/binding.c index fd08aaafa..d48fd99aa 100644 --- a/controller/binding.c +++ b/controller/binding.c @@ -1362,6 +1362,7 @@ claim_lport(const struct sbrec_port_binding *pb, register_claim_timestamp(pb->logical_port, now); sset_find_and_delete(postponed_ports, pb->logical_port); } else { + update_tracked = true; if (!notify_up) { if (!claimed_lport_set_up(pb, parent_pb, sb_readonly)) { return false;
When ha-chassis-group is updated, causing a new hv to become master, port move to a different chassis, and flows get created in table ls_in_dhcp_options. If pb->chassis is reported empty by sb (because set to [] by the hv being the previous owner of the port) those flows were deleted. However, when pb->chassis is finally updated by sb (to the new hv), flows were not re-installed, as runtime_data was not seen as updated. This caused some random failures in test "external logical port". Signed-off-by: Xavier Simonart <xsimonar@redhat.com> --- controller/binding.c | 1 + 1 file changed, 1 insertion(+)