Bug 1333290
| Summary: | virt-manager fails to detect the bridge with bond enslaved | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Jijesh Kalliyat <jkalliya> | ||||||||||||
| Component: | virt-manager | Assignee: | Pavel Hrdina <phrdina> | ||||||||||||
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | ||||||||||||
| Severity: | medium | Docs Contact: | Yehuda Zimmerman <yzimmerm> | ||||||||||||
| Priority: | unspecified | ||||||||||||||
| Version: | 6.7 | CC: | akarlsso, jherrman, jkalliya, jsuchane, juzhou, laine, mxie, mzhan, nashok, phrdina, rbalakri, tzheng, xiaodwan, yoguma | ||||||||||||
| Target Milestone: | rc | ||||||||||||||
| Target Release: | --- | ||||||||||||||
| Hardware: | x86_64 | ||||||||||||||
| OS: | Linux | ||||||||||||||
| Whiteboard: | |||||||||||||||
| Fixed In Version: | virt-manager-0.9.0-32.el6 | Doc Type: | Bug Fix | ||||||||||||
| Doc Text: |
All bridge network interfaces are now listed for new devices in virtual machines
Previously, not all bridge network interfaces were listed when a device was added to a virtual machine. With this update, all bridge network interfaces are properly detected using data provided by the "libvirt" service. As a result, all bridge network interfaces known to "libvirt" are listed when a device is added to a virtual machine.
|
Story Points: | --- | ||||||||||||
| Clone Of: | Environment: | ||||||||||||||
| Last Closed: | 2017-03-21 10:42:35 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: | |||||||||||||||
| Bug Depends On: | |||||||||||||||
| Bug Blocks: | 1269194, 1359965, 1364808 | ||||||||||||||
| Attachments: |
|
||||||||||||||
Created attachment 1154126 [details]
When em1 is attached to the bridge
Might be a netcf issue. (In reply to Jaroslav Suchanek from comment #4) > Might be a netcf issue. If virt-manager is using only the results of queries to libvirt's virInterface* functions to create this list, then that is definitely the case. Note that netcf requires for an interface's ifcfg filename to match the device name. So, for example, the ifcfg file for br0 must be called "ifcfg-br0" and the ifcfg file for bond0 must be called "ifcfg-bond0". Additionally, the DEVICE attribute must be set in every ifcfg file. To help troubleshoot the exact cause: 1) please provide the output of "virsh iface-list --all" and "virsh iface-dumpxml br0" 2) Also, please attach a tarball of /etc/sysconfig/network-scripts/ifcfg-* The configuration files follows the same naming, and the DEVICE attribute is also set in every ifcfg-* files. Please find the files attached for your reference.
# virsh iface-list --all
Name State MAC Address
--------------------------------------------
br0 active c8:1f:66:d0:66:ad
lo active 00:00:00:00:00:00
# virsh iface-dumpxml br0
<interface type='bridge' name='br0'>
<protocol family='ipv4'>
<ip address='10.65.232.2' prefix='22'/>
</protocol>
<protocol family='ipv6'>
<ip address='2620:52:0:41e8:ca1f:66ff:fed0:66ad' prefix='64'/>
<ip address='fe80::ca1f:66ff:fed0:66ad' prefix='64'/>
</protocol>
<bridge>
<interface type='bond' name='bond0'>
<bond>
<interface type='ethernet' name='em1'>
<mac address='c8:1f:66:d0:66:ad'/>
</interface>
<interface type='ethernet' name='em2'>
<mac address='c8:1f:66:d0:66:ad'/>
</interface>
</bond>
</interface>
</bridge>
</interface>
Created attachment 1154476 [details]
ifcfg-* files
Based on the response and my own experiments, this *doesn't* look like a netcf problem. I tried similar configs on a Fedora 23 system and RHEL6; the newer virt-manager on F23 gives correct results in the list of possible connections for an interface, but my RHEL6 results were similar to yours (as a matter of fact, virt-manager also didn't show a simpler bridge that's connected directly to an ethernet either). However, the output of virsh iface-list and virsh iface-dumpxml are all correct, and even virt-manager itself shows the bond-based bridge in the Connection details under "Network Interfaces". So apparently the code in RHEL6 virt-manager that compiles the list of possible connections is missing something that's fixed upstream. I have a customer who is interested to get this fixed on RHEL 6.x . The bug is not in 7.2 version. Also when we create one VM with command line with the bridge (which is having port as bond), it will start to show bridge device in virt-manager for later VM creation. I can reproduce this bug with package: virt-manager-0.9.0-31.el6.x86_64 libvirt-0.10.2-29.el6_5.14.x86_64 Steps: 1. launch virt-manager, click Edit-> Connection details-> Network Interfaces. 2. Click "+" button to add interface. Select "Bond" as Interface type, Click "Forward" button. 3. Fill name as "bond0", set start mode as none, tick "active now", set IP settings as IPv4:DHCP, bond mode as "active-backup", bond monitor mode as arpmon. set Interval as 100 ,validate mode active and target address as 192.168.50.1 4. Click "ok" and choose interfaces "eth1""eth2" to bond. 5. Click "finish" button and bond0 works well. 6. Back to Connection Details page and click "+" button to add interface. 7. Select "Bridge" as Interface type, Click "Forward" button. 8. Fill name as "br1", start mode as none, tick "active now", set IP settings as IPv4:dhcp, click bridge configure and untick Enable STP. 9. Choose bond0 as interface to bridge. 10. Click "finish" button and br1 works well. 11. Back to virt-manager main page and click Create a new virtual machine. 12. Fill name as "test" and select one way to install, in the final step click Advanced options, check drop list of network device. 13. Tick "Customize configuration before install", click "Finish". Check drop list of source device in NIC tab. Result: After step 12, "Host device bond0 (Bridge 'br0')" device doesn't appear in the device list. After step 13, "Host device bond0 (Bridge 'br0')" device doesn't appear in the source device list. Try to verify this bug with new build: virt-manager-0.9.0-33.el6.x86_64 python-virtinst-0.600.0-30.el6.noarch Steps: 1. launch virt-manager, click Edit-> Connection details-> Network Interfaces. 2. Click "+" button to add interface. Select "Bond" as Interface type, Click "Forward" button. 3. Fill name as "bond0", set start mode as none, tick "active now", set IP settings as IPv4:DHCP, others as default setting. 4. Click "ok" and choose interfaces "eth0""eth3" to bond. 5. Click "finish" button and bond0 works well. 6. Back to Connection Details page and click "+" button to add interface. 7. Select "Bridge" as Interface type, Click "Forward" button. 8. Fill name as "br0", start mode as none, tick "active now", set IP settings as IPv4:dhcp, click bridge configure and untick Enable STP. 9. Choose bond0 as interface to bridge. 10. Click "finish" button and br0 works well. 11. Back to virt-manager main page and click Create a new virtual machine. 12. Fill name as "test" and select one way to install, in the final step click Advanced options, check drop list of network device. 13. Tick "Customize configuration before install", click "Finish". Check drop list of source device in NIC tab. Result: After step 12, "Bridge br0:Host device bond0" device is showing in device list, see pic-1. After step 13, "Bridge br0:Host device bond0" device is showing in device list, but device lists are different from pic-1, see pic-2. Additional info: the list are same on rhel7. So Pavel, please help me have a look, thanks. Created attachment 1228027 [details]
pic-1
Created attachment 1228028 [details]
pic-2
Hi Junqin, Yes, it's an inconsistency and could be fixed, but it's not definitely related to this BZ. Please create a new BZ for the network list issue. Pavel (In reply to Pavel Hrdina from comment #21) > Hi Junqin, > > Yes, it's an inconsistency and could be fixed, but it's not definitely > related to this BZ. Please create a new BZ for the network list issue. > > Pavel Thanks for your reply, Pavel. Since virt-manager can list the bridge with bond enslaved, move this bug to VERIFIED, and create a new bug 1406691 to track network list inconsistency issue, thanks. 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/RHBA-2017-0686.html |
Created attachment 1154125 [details] When bond0 is attached to the bridge 1) Description of problem: virt-manager doesn't list the bridge devices when a bond interface is attached to it. 2) Version-Release number of selected component (if applicable): Red Hat Enterprise Linux Server release 6.7 virt-manager-0.9.0-29.el6_7.1.x86_64 3) How reproducible: For example, create a bond device ( bond0 = em1+em2 ) and attach it to a bridge, br0 # brctl show bridge name bridge id STP enabled interfaces br0 8000.c81f66d066ad no bond0 virbr0 8000.525400700906 yes virbr0-nic Then open virt-manager GUI and try to create a VM using this bridge. Ideally the virt-manager should show up 'br0' device in the drop down list like "Host device bond0 ( Bridge 'br0' ) , but this device doesn't appear in the device list as shown in the attached bond-br0.png Note that the issue is seen only when a 'bond' device is attached to the bridge. Otherwise if a physical device ( eth0 or em1 etc ) is attached to br0 , virt-manager list the devices as expected - see em1-br0.png 4) Actual results: virt-manager doesn't list the bridge devices if a bond device is attached to it. 5) Expected results: virt-manager should list the bridge devices when a bond device is attached to it.