On Thu, Aug 27, 2015 at 11:28:21AM -0700, Ben Pfaff wrote:
> On Thu, Aug 27, 2015 at 12:07:32PM -0300, Thadeu Lima de Souza Cascardo wrote:
> > When using virtualization, new ports are created and removed all the time. 
> > These
> > ports do not persist after a system reboot, for example. They may be created
> > again by the virtualization manager, but that will happen after the vswitch 
> > is
> > already running, and the virtualization manager will add them again to the
> > bridge.
> > 
> > If a reboot happens without properly deleting such ports, all kinds of 
> > errors
> > will happen. The absence of the ports will be logged as errors, and adding 
> > those
> > ports again to the database will fail.
> > 
> > This patch introduces the notion of transient ports. Ports may be added as
> > transient, as a boolean in other_config smap. When openvswitch is restarted 
> > by
> > using ovs-ctl, all transient ports will be removed. If the system 
> > administrator
> > wants to remove all transient ports from a bridge, a new ovs-vsctl command,
> > del-transient-ports may be used.
> > 
> > Signed-off-by: Thadeu Lima de Souza Cascardo <casca...@redhat.com>
> 
> I would think that reboot should be distinguished from restart within a
> boot.  Restart can happen for a number of reasons, e.g. to upgrade OVS
> userspace, to upgrade the OVS kernel module, to troubleshoot suspected
> bugs.  In most of these cases one would not want to delete all of these
> "transient" ports.
> 
> Therefore I'd consider implementing this feature as an option like the
> existing --delete-bridges option, something like
> --delete-transient-ports.  The system would supply the option only on
> the first start following boot.
> 
> Actually, that makes me wonder whether --delete-bridges is the right
> solution.  It makes a lot of sense to start fresh from an empty set of
> bridges at boot time because it provides a "clean slate" at each boot on
> which to reproducibly build up a set of bridges and ports.  It worked
> well on XenServer when we originally introduced it and I wonder whether
> it's the right model everywhere.

That's reasonable when all configurations can be persisted by other methods. I
believe that are scenarios where the system is capable of persisting some
configurations but not others. In those cases, it's preferable to have an option
like --delete-transient-ports then the alternatives: deleting all bridges or
have those undesired failures.

I will send a V2.

Gurucharan, I think that solves your concern about restoring flows. Is that OK
for you?

Thanks.
Cascardo.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to