On Wed, Sep 22, 2021 at 8:18 AM Vladislav Odintsov <[email protected]> wrote:
>
> In commit [1] support for graceful stop during ovn-controller RPM
> upgrade was added. Unfortunately there was an error, where after
> ovn-controller service stop via ctl socket was invoked, systemd
> service transitioned to dead state and subsequent try-restart
> didn't start the service.
>
> This commit fixes such situation by checking actual ovn-controller
> service status and doing an unconditional restart if service was
> running before upgrade.
>
> [1]
> https://github.com/ovn-org/ovn/commit/8540c544f0e67d3dc475bbeb350ea3053a1772dd
>
> Signed-off-by: Vladislav Odintsov <[email protected]>
Thanks for the patch.
I applied this patch to the main branch and branch-21.09. The patch
seems ok to me.
Thanks
Numan
> ---
> rhel/ovn-fedora.spec.in | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/rhel/ovn-fedora.spec.in b/rhel/ovn-fedora.spec.in
> index 5fe0f990f..2d6399c53 100644
> --- a/rhel/ovn-fedora.spec.in
> +++ b/rhel/ovn-fedora.spec.in
> @@ -401,22 +401,19 @@ fi
>
> %postun host
> if [ "$1" -ge "1" ] ; then
> + /bin/systemctl daemon-reload >/dev/null 2>&1 || :
> # Package upgrade, not uninstall
> # We perform lightweight stop here not to affect active traffic during
> # ovn-controller upgrade.
> # Ideally this would be held by systemd, but it's impossible
> # to pass custom restart command to systemd service.
> - %{_datadir}/ovn/scripts/ovn-ctl stop_controller --restart
> -fi
> -%if 0%{?systemd_postun_with_restart:1}
> - %systemd_postun_with_restart ovn-controller.service
> -%else
> - /bin/systemctl daemon-reload >/dev/null 2>&1 || :
> - if [ "$1" -ge "1" ] ; then
> - # Package upgrade, not uninstall
> - /bin/systemctl try-restart ovn-controller.service >/dev/null 2>&1 ||
> :
> + systemctl -q is-active ovn-controller
> + if [ "$?" -eq 0 ] ; then
> + # ovn-controller was running prior to upgrade, so do a graceful
> restart
> + %{_datadir}/ovn/scripts/ovn-ctl stop_controller --restart >/dev/null
> 2>&1 || :
> + /bin/systemctl restart ovn-controller.service >/dev/null 2>&1 || :
> fi
> -%endif
> +fi
>
> %postun vtep
> %if 0%{?systemd_postun_with_restart:1}
> --
> 2.30.0
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev