Bug 1250307

Summary: virt-manager does not update the status of network interfaces immediately
Product: Red Hat Enterprise Linux 7 Reporter: fwu
Component: virt-managerAssignee: Pavel Hrdina <phrdina>
Status: CLOSED DEFERRED QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: crobinso, juzhou, mzhan, qxiao, tzheng, xiaodwan
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-05 01:55:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description fwu 2015-08-05 05:49:59 UTC
Description of problem:
virt-manager does not update the status of network interfaces immediately after using ifconfig command to change it.

Version-Release number of selected component (if applicable):
virt-manager-1.2.1-4.el7.noarch
libvirt-1.2.17-2.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Check the current network status:
#ifconfig
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.66.4.177  netmask 255.255.252.0  broadcast 10.66.7.255
        inet6 fe80::224:7eff:fe05:eb20  prefixlen 64  scopeid 0x20<link>
        ether 00:24:7e:05:eb:20  txqueuelen 1000  (Ethernet)
        RX packets 895091  bytes 1094993324 (1.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 443044  bytes 36142184 (34.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xfc400000-fc420000 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 917  bytes 979420 (956.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 917  bytes 979420 (956.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


2. Then check on virt-manager for the Network Interfaces. Stay on the tab:
Open virt-manager:#virt-manager -> 'Edit' -> 'Connection details' -> 'Network Interfaces'

3. Shutdown a network by ifconfig command. (e.g. enp0s25)
#ifconfig enp0s25 down

4. Check the network status by ifconfig command:
#ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 917  bytes 979420 (956.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 917  bytes 979420 (956.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

5. Check the network status on Network Interfaces tab.

6. Start a network by ifconfig command. (e.g. enp0s25)
#ifconfig enp0s25 up

7. Repeat Step 4 and Step 5.

Actual Result:

After Step 5, find out virt-manager didn't update the network status immediately.

Expected Result:

After Step 5, the network should be updated immediately. Alternatively, a refresh button can be used to get the latest status of network interfaces.

Additional info:

1. If the tab was switched to another and then switched back, the status of network interfaces was updated immediately.

2. Restart virt-manager, the status of virtual networks will be shown.

Comment 5 Cole Robinson 2015-11-05 01:55:53 UTC
Again this has to do with lack of libvirt interface events APIs. There's currently no way for us to detect this without polling regularly, which we decided not to do since it's too much network traffic for remote connections.