mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 14:57:42 +00:00
openvswitch: Delete port if it exists while adding a new one
If the openvswitch service is stopped, and is followed by destroying a VM, the openvswitch bridge translates into a state where it doesn't recover the port configuration. While it successfully fetches data from the internal DB, since the corresponding virtual interface does not exists anymore the whole recovery process fails leaving restarted VM with inability to connect to the bridge. The following set of commands will trigger the problem: virsh start vm service openvswitch-switch stop virsh destroy vm service openvswitch-switch start virsh start vm Signed-off-by: Chunhe Li <lichunhe@huawei.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
1c89f6ebd4
commit
33445ce844
@ -84,8 +84,8 @@ int virNetDevOpenvswitchAddPort(const char *brname, const char *ifname,
|
||||
|
||||
cmd = virCommandNew(OVSVSCTL);
|
||||
|
||||
virCommandAddArgList(cmd, "--timeout=5", "--", "--may-exist", "add-port",
|
||||
brname, ifname, NULL);
|
||||
virCommandAddArgList(cmd, "--timeout=5", "--", "--if-exists", "del-port",
|
||||
ifname, "--", "add-port", brname, ifname, NULL);
|
||||
|
||||
if (virtVlan && virtVlan->nTags > 0) {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user