On 03.07.2014 13:57, Lichunhe wrote:
If the ovs service stop abnormal, or host cold reboot, vm is destroyed after
ovs service stop. The ovs
port which connect to interface of vm will not be clear. When the ovs service
restart, recover configuration
from db, but the interface is no exist, port recovery failed, and then vm
restart on the same host,
libvirt add port again, but the port configuration is same as before, ovs will
not connect the interface,
only store the configuration in db. Below will trigger this problem,
virsh start vm
service openvswitch-switch stop
virsh destroy vm
service openvswitch-switch start
virsh start vm
Signed-off-by: Chunhe Li <[email protected]>
---
src/util/virnetdevopenvswitch.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index 9bcbfb1..dd601c0 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -84,7 +84,8 @@ int virNetDevOpenvswitchAddPort(const char *brname, const
char *ifname,
cmd = virCommandNew(OVSVSCTL);
- virCommandAddArgList(cmd, "--timeout=5", "--", "--may-exist", "add-port",
+ virCommandAddArgList(cmd, "--timeout=5", "--", "--if-exists", "del-port",
+ ifname, "--", "--may-exist", "add-port",
brname, ifname, NULL);
So what's the meaning of '--may-exist' then? Does it do anything useful
after all?
Michal
--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list