[ovs-dev] [PATCH] rhel: Add support for "systemctl reload openvswitch"

Guru Shetty guru at ovn.org
Tue Aug 8 18:24:19 UTC 2017


On 8 August 2017 at 11:05, Russell Bryant <russell at ovn.org> wrote:

> On Tue, Aug 8, 2017 at 1:32 PM, Guru Shetty <guru at ovn.org> wrote:
> > On 8 August 2017 at 07:42, Timothy Redaelli <tredaelli at redhat.com>
> wrote:
> >
> >> The reload procedure will trigger a script that saves the flows and tlv
> >> maps then it restarts ovsdb-server, it stops ovs-vswitchd, it sets
> >> other_config:flow-restore-wait=true (to wait till flow restore is
> >> finished), it starts ovs-vswitchd, it restore the backupped flows/tlv
> >> maps and it removes other_config:flow-restore-wait=true (logic mostly
> >> ripped
> >> from ovs-ctl).
> >>
> >> It uses systemctl with --job-mode=ignore-dependencies to restart
> >> ovsdb-server
> >> and stop and start ovs-vswitchd in order to avoid systemd to restart the
> >> other components due to dependencies (as explained in
> >> rhel/README.RHEL.rst).
> >>
> >> It also uses --bundle, when available, in order to minimize the
> downtime.
> >>
> >
> > The core script can probably be added to ovs-ctl, reuse some functions
> and
> > then you can call it? This way, other platforms can benefit too.
>
> Sounds like a good suggestion.
>
> What would you think about updating the stop/start behavior to do
> this, as well?  It looks like this makes "reload" actually just an
> "intelligent restart".  systemctl has a "restart" command too, which
> looks like it just does stop/start, and it'd be nice to make that work
> better too.
>

We had this discussion when we added intelligent restart
to rhel/etc_init.d_openvswitch and debian/openvswitch-switch.init

Currently both rhel and debian will take a "--save-flows=yes" option to
restart and it will do the same things as the script proposed here does
(except for --bundle) via ovs-ctl's restart function . We wanted
"--save-flows=yes" to be the default behavior instead of explicitly calling
it. But a long term user of OVS said that they use "restart" for a fresh
start. That is, they bake in the assumption that a "restart" means the
added flows disappear.

What this patch does in addition to the "restart" function in ovs-ctl is
that it uses --bundle. "restart" function in ovs-ctl calls functions in
"ovs-save". So it may make sense for this patch to add the "--bundle"
feature to ovs-save and just re-use it?

>
> --
> Russell Bryant
>


More information about the dev mailing list