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 |
|