Skip to content

Commit

Permalink
northd, ic: Fix handling of ovn-appctl resume.
Browse files Browse the repository at this point in the history
After ovn-appctl resume was issued for northd or ovn-ic, there was no
guarantee that northd or ovn-ic were waking up, potentially handling
changes received while they were paused..
Usually, poll_block would be woken up by POLLHUP, but race conditions could
cause this not to happen.
ovn-controller is already properly handling the resume.

This caused the following tests to fail sporadically:
- ovn-ic -- sync ISB status to INB
- propagate Port_Binding.up to NB and OVS.

Signed-off-by: Xavier Simonart <xsimonar@redhat.com>
Acked-by: Ales Musil <amusil@redhat.com>
Signed-off-by: Numan Siddique <numans@ovn.org>
  • Loading branch information
simonartxavier authored and numansiddique committed May 14, 2024
1 parent f56ad41 commit 7f1218a
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
2 changes: 1 addition & 1 deletion ic/ovn-ic.c
Original file line number Diff line number Diff line change
Expand Up @@ -2409,7 +2409,7 @@ ovn_ic_resume(struct unixctl_conn *conn, int argc OVS_UNUSED,
{
struct ic_state *state = state_;
state->paused = false;

poll_immediate_wake();
unixctl_command_reply(conn, NULL);
}

Expand Down
1 change: 1 addition & 0 deletions northd/ovn-northd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1107,6 +1107,7 @@ ovn_northd_resume(struct unixctl_conn *conn, int argc OVS_UNUSED,
{
struct northd_state *state = state_;
state->paused = false;
poll_immediate_wake();

unixctl_command_reply(conn, NULL);
}
Expand Down

0 comments on commit 7f1218a

Please sign in to comment.