Activity log for bug #1343262

Date Who What changed Old value New value Message
2014-07-17 12:08:32 Karol Czeryna bug added bug
2014-07-17 12:13:15 Karol Czeryna description Please submit a patch from this mailing list, I will copy a content from it: >-----Original Message----- >From: Michal Privoznik [mailto:mprivozn redhat com] >Sent: Thursday, July 03, 2014 8:39 PM >To: Lichunhe; libvir-list redhat com >Subject: Re: [libvirt] [PATCH]util:ovs:Delete port if it is exist when add port > >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 <lichunhe huawei com> >> --- >> >> 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 Also here's a reproduction (forgive me these is in polish, forgot to do LANG=C) root@cthulu ~ % virsh start xmbc błąd: Uruchomienie domeny xmbc nie powiodło się błąd: Unable to add port vnet4 to OVS bridge br-nfs: Operation not permitted root@cthulu ~ % ovs-vsctl del-port vnet4 root@cthulu ~ % virsh start xmbc Domena xmbc została uruchomiona root@cthulu ~ % virsh start testy błąd: Uruchomienie domeny testy nie powiodło się błąd: Unable to add port vnet5 to OVS bridge ovbr0: Operation not permitted root@cthulu ~ % virsh list --all root@cthulu ~ % ovs-vsctl del-port vnet5 root@cthulu ~ % virsh start testy błąd: Uruchomienie domeny testy nie powiodło się błąd: Unable to add port vnet6 to OVS bridge br-nfs: Operation not permitted root@cthulu ~ % ovs-vsctl del-port vnet6 root@cthulu ~ % virsh start testy Domena testy została uruchomiona Here is the original link: http://www.redhat.com/archives/libvir-list/2014-July/msg00181.html Please submit a patch from mailing list, Here is a content: >-----Original Message----- >From: Michal Privoznik [mailto:mprivozn redhat com] >Sent: Thursday, July 03, 2014 8:39 PM >To: Lichunhe; libvir-list redhat com >Subject: Re: [libvirt] [PATCH]util:ovs:Delete port if it is exist when add port > >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 <lichunhe huawei com> >> --- >> >> 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 Also here is a reproduction of that bug (forgive me these is in Polish, I forgot to do LANG=C) root@cthulu ~ % virsh start xmbc błąd: Uruchomienie domeny xmbc nie powiodło się błąd: Unable to add port vnet4 to OVS bridge br-nfs: Operation not permitted root@cthulu ~ % ovs-vsctl del-port vnet4 root@cthulu ~ % virsh start xmbc Domena xmbc została uruchomiona root@cthulu ~ % virsh start testy błąd: Uruchomienie domeny testy nie powiodło się błąd: Unable to add port vnet5 to OVS bridge ovbr0: Operation not permitted root@cthulu ~ % virsh list --all root@cthulu ~ % ovs-vsctl del-port vnet5 root@cthulu ~ % virsh start testy błąd: Uruchomienie domeny testy nie powiodło się błąd: Unable to add port vnet6 to OVS bridge br-nfs: Operation not permitted root@cthulu ~ % ovs-vsctl del-port vnet6 root@cthulu ~ % virsh start testy Domena testy została uruchomiona Here is the original link: http://www.redhat.com/archives/libvir-list/2014-July/msg00181.html
2014-07-18 20:48:17 Serge Hallyn libvirt (Ubuntu): importance Undecided Medium
2014-07-18 20:48:17 Serge Hallyn libvirt (Ubuntu): status New Incomplete
2014-07-21 02:52:08 Serge Hallyn libvirt (Ubuntu): status Incomplete Triaged
2014-07-21 02:52:16 Serge Hallyn nominated for series Ubuntu Trusty
2014-07-21 02:52:16 Serge Hallyn bug task added libvirt (Ubuntu Trusty)
2014-07-21 02:52:37 Serge Hallyn libvirt (Ubuntu Trusty): importance Undecided Medium
2014-07-21 02:52:37 Serge Hallyn libvirt (Ubuntu Trusty): status New Triaged
2014-08-08 16:29:12 Launchpad Janitor libvirt (Ubuntu): status Triaged Fix Released
2014-08-08 18:05:13 Nobuto Murata bug added subscriber Nobuto MURATA
2014-09-30 16:57:49 Serge Hallyn description Please submit a patch from mailing list, Here is a content: >-----Original Message----- >From: Michal Privoznik [mailto:mprivozn redhat com] >Sent: Thursday, July 03, 2014 8:39 PM >To: Lichunhe; libvir-list redhat com >Subject: Re: [libvirt] [PATCH]util:ovs:Delete port if it is exist when add port > >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 <lichunhe huawei com> >> --- >> >> 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 Also here is a reproduction of that bug (forgive me these is in Polish, I forgot to do LANG=C) root@cthulu ~ % virsh start xmbc błąd: Uruchomienie domeny xmbc nie powiodło się błąd: Unable to add port vnet4 to OVS bridge br-nfs: Operation not permitted root@cthulu ~ % ovs-vsctl del-port vnet4 root@cthulu ~ % virsh start xmbc Domena xmbc została uruchomiona root@cthulu ~ % virsh start testy błąd: Uruchomienie domeny testy nie powiodło się błąd: Unable to add port vnet5 to OVS bridge ovbr0: Operation not permitted root@cthulu ~ % virsh list --all root@cthulu ~ % ovs-vsctl del-port vnet5 root@cthulu ~ % virsh start testy błąd: Uruchomienie domeny testy nie powiodło się błąd: Unable to add port vnet6 to OVS bridge br-nfs: Operation not permitted root@cthulu ~ % ovs-vsctl del-port vnet6 root@cthulu ~ % virsh start testy Domena testy została uruchomiona Here is the original link: http://www.redhat.com/archives/libvir-list/2014-July/msg00181.html =================================================== SRU Justification: Impact: a VM may fail to start due to a ovs port already existing Test case: virsh start vm service openvswitch-switch stop virsh destroy vm service openvswitch-switch start virsh start vm Regression potential: this patch has been applied upstream and only changes the ovs command used to create the ovs port. Nothing else should regress. ====================================================== Please submit a patch from mailing list, Here is a content: >-----Original Message----- >From: Michal Privoznik [mailto:mprivozn redhat com] >Sent: Thursday, July 03, 2014 8:39 PM >To: Lichunhe; libvir-list redhat com >Subject: Re: [libvirt] [PATCH]util:ovs:Delete port if it is exist when add port > >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 <lichunhe huawei com> >> --- >> >> 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 Also here is a reproduction of that bug (forgive me these is in Polish, I forgot to do LANG=C) root@cthulu ~ % virsh start xmbc błąd: Uruchomienie domeny xmbc nie powiodło się błąd: Unable to add port vnet4 to OVS bridge br-nfs: Operation not permitted root@cthulu ~ % ovs-vsctl del-port vnet4 root@cthulu ~ % virsh start xmbc Domena xmbc została uruchomiona root@cthulu ~ % virsh start testy błąd: Uruchomienie domeny testy nie powiodło się błąd: Unable to add port vnet5 to OVS bridge ovbr0: Operation not permitted root@cthulu ~ % virsh list --all root@cthulu ~ % ovs-vsctl del-port vnet5 root@cthulu ~ % virsh start testy błąd: Uruchomienie domeny testy nie powiodło się błąd: Unable to add port vnet6 to OVS bridge br-nfs: Operation not permitted root@cthulu ~ % ovs-vsctl del-port vnet6 root@cthulu ~ % virsh start testy Domena testy została uruchomiona Here is the original link: http://www.redhat.com/archives/libvir-list/2014-July/msg00181.html
2014-09-30 16:58:09 Serge Hallyn bug added subscriber Ubuntu Stable Release Updates Team
2014-10-07 02:06:13 Chris J Arges libvirt (Ubuntu Trusty): status Triaged Fix Committed
2014-10-07 02:06:17 Chris J Arges bug added subscriber SRU Verification
2014-10-07 02:06:27 Chris J Arges tags verification-needed
2014-10-21 18:34:34 Serge Hallyn tags verification-needed verification-done
2014-10-21 20:52:21 Adam Conrad removed subscriber Ubuntu Stable Release Updates Team
2014-10-21 20:58:13 Launchpad Janitor libvirt (Ubuntu Trusty): status Fix Committed Fix Released