Red Hat Bugzilla – Bug 1162915
net-event should not report unsuccessful event
Last modified: 2015-03-05 02:47:25 EST
Description of problem: net-event should not report unsuccessful event Version-Release number of selected component (if applicable): libvirt-1.2.8-6.el7.x86_64 How reproducible: 100% Steps: 1.prepare a virtual network # virsh net-list --all Name State Autostart Persistent ---------------------------------------------------------- default active yes yes 2.# virsh net-event net4 lifecycle --loop 3.open another terminal [root@localhost lhaung]# virsh net-start default error: Failed to start network default error: Requested operation is not valid: network is already active [root@localhost lhaung]# virsh net-start default error: Failed to start network default error: Requested operation is not valid: network is already active 4.from the first terminal event 'lifecycle' for network default: Started event 'lifecycle' for network default: Started Actual results: net-event output a unsuccessful event Expected results: net-event should not report unsuccessful event Additional info: upstream patch: commit 45d9ea5cddad5ed151db15362a881b730b8c88f1 Author: Luyao Huang <lhuang@redhat.com> Date: Sat Nov 1 18:03:23 2014 +0800 network: fix call virNetworkEventLifecycleNew when networkStartNetwork fail When start a network fail, libvirt still call virNetworkEventLifecycleNew to send a event. Signed-off-by: Luyao Huang <lhuang@redhat.com> diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 10ded33..11e86e0 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -3253,7 +3253,8 @@ static int networkCreate(virNetworkPtr net) if (virNetworkCreateEnsureACL(net->conn, network->def) < 0) goto cleanup; - ret = networkStartNetwork(driver, network); + if ((ret = networkStartNetwork(driver, network)) < 0) + goto cleanup; event = virNetworkEventLifecycleNew(network->def->name, network->def->uuid,
Verify this bug with libvirt-1.2.8-7.el7: Steps: 1.do net-event infirst terminal: # virsh net-event --event lifecycle --loop 2.open another terminal and do : # virsh net-destroy default Network default destroyed # virsh net-start default Network default started # virsh net-start default error: Failed to start network default error: Requested operation is not valid: network is already active # virsh net-start default error: Failed to start network default error: Requested operation is not valid: network is already active 3.check the first terminal and libvirt only output the success event: # virsh net-event --event lifecycle --loop event 'lifecycle' for network default: Stopped event 'lifecycle' for network default: Started
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0323.html