Red Hat Bugzilla – Bug 1156367
network using host bridge gets a MAC on libvirt update
Last modified: 2015-03-05 02:46:36 EST
description of problem: virtual network which using an existing host bridge will get a mac when update or downgrade libvirt Version-Release number of selected component (if applicable): libvirt-1.2.8-5.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.# virsh net-dumpxml host-bridge <network> <name>host-bridge</name> <uuid>3b251430-0eb4-4670-96e5-9ddd6d0bd90f</uuid> <forward mode='bridge'/> <bridge name='br14'/> </network> 2.# virsh net-list --all Name State Autostart Persistent ---------------------------------------------------------- host-bridge inactive no yes 3.update libvirt from 1.2.8-4 to libvirt-1.2.8-5.el7.x86_64 # yum update libvirt* 4.# virsh net-dumpxml host-bridge <network> <name>host-bridge</name> <uuid>3b251430-0eb4-4670-96e5-9ddd6d0bd90f</uuid> <forward mode='bridge'/> <bridge name='br14'/> <mac address='52:54:00:5f:cb:9e'/> </network> 5.# virsh net-list --all Name State Autostart Persistent ---------------------------------------------------------- host-bridge inactive no yes Actual results: host bridge type virtual network will get a mac when update or downgrade libvirt Expected results: do not get a mac Additional info: we cannot add a mac to this type network # virsh net-edit host-bridge error: unsupported configuration: Unsupported <mac> element in network host-bridge with forward mode='bridge' Failed. Try again? [y,n,f,?]: Test 1.1.1-29 update to 1.2.8-5 and also found the issue
Upstream patches: https://www.redhat.com/archives/libvir-list/2014-November/msg00309.html
Now pushed upstream: commit a47ae7c004e92f959b45808ca82326e8559c2f61 Author: Ján Tomko <jtomko@redhat.com> CommitDate: 2014-12-02 15:56:33 +0100 Generate a MAC when loading a config instead of package update Partially reverts commit 5754dbd. The code in the specfile adds a MAC address to every <bridge>, even for <forward mode='bridge'> for which we don't support changing MAC addresses. Remove it completely. For new networks, we have been adding MAC addresses on definition/creation since the commit mentioned above. For existing networks (pre-0.9.0), the MAC is added by this commit. https://bugzilla.redhat.com/show_bug.cgi?id=1156367 commit c9c7a2bd964d02f1c1ffc542cb18bf851852dd37 Author: Ján Tomko <jtomko@redhat.com> CommitDate: 2014-12-02 15:56:29 +0100 Silently ignore MAC in NetworkLoadConfig Libvirt's RPMs have been adding it to networks which don't support it. https://bugzilla.redhat.com/show_bug.cgi?id=1156367 git describe: v1.2.10-237-ga47ae7c
Verify as below: [root@ibm-x3850x5-06 ~]# rpm -q libvirt libvirt-1.2.8-10.el7.x86_64 [root@ibm-x3850x5-06 ~]# virsh net-dumpxml host-bridge <network> <name>host-bridge</name> <uuid>0b90fed5-2ea9-4ff5-9728-95ef0116fdca</uuid> <forward mode='bridge'/> <bridge name='br14'/> </network> [root@ibm-x3850x5-06 ~]# [root@ibm-x3850x5-06 libvirt-1.2.8-11.el7]# rpm -Uvh * Preparing... ################################# [100%] Updating / installing... 1:libvirt-client-1.2.8-11.el7 ################################# [ 3%] 2:libvirt-daemon-1.2.8-11.el7 ################################# [ 5%] 3:libvirt-daemon-driver-network-1.2################################# [ 8%] 4:libvirt-daemon-driver-nwfilter-1.################################# [ 10%] 5:libvirt-daemon-driver-interface-1################################# [ 13%] 6:libvirt-daemon-driver-nodedev-1.2################################# [ 15%] 7:libvirt-daemon-driver-secret-1.2.################################# [ 18%] 8:libvirt-daemon-driver-storage-1.2################################# [ 20%] 9:libvirt-daemon-driver-lxc-1.2.8-1################################# [ 23%] 10:libvirt-daemon-driver-qemu-1.2.8-################################# [ 25%] 11:libvirt-daemon-config-nwfilter-1.################################# [ 28%] 12:libvirt-daemon-config-network-1.2################################# [ 30%] 13:libvirt-docs-1.2.8-11.el7 ################################# [ 33%] 14:libvirt-devel-1.2.8-11.el7 ################################# [ 35%] 15:libvirt-1.2.8-11.el7 ################################# [ 38%] 16:libvirt-daemon-kvm-1.2.8-11.el7 ################################# [ 40%] 17:libvirt-daemon-lxc-1.2.8-11.el7 ################################# [ 43%] 18:libvirt-lock-sanlock-1.2.8-11.el7################################# [ 45%] 19:libvirt-login-shell-1.2.8-11.el7 ################################# [ 48%] 20:libvirt-debuginfo-1.2.8-11.el7 ################################# [ 50%] Cleaning up / removing... 21:libvirt-1.2.8-10.el7 ################################# [ 52%] 22:libvirt-daemon-lxc-1.2.8-10.el7 ################################# [ 55%] 23:libvirt-daemon-kvm-1.2.8-10.el7 ################################# [ 58%] 24:libvirt-devel-1.2.8-10.el7 ################################# [ 60%] 25:libvirt-daemon-config-network-1.2################################# [ 63%] 26:libvirt-daemon-config-nwfilter-1.################################# [ 65%] 27:libvirt-docs-1.2.8-10.el7 ################################# [ 68%] 28:libvirt-debuginfo-1.2.8-10.el7 ################################# [ 70%] 29:libvirt-lock-sanlock-1.2.8-10.el7################################# [ 73%] 30:libvirt-daemon-driver-qemu-1.2.8-################################# [ 75%] 31:libvirt-daemon-driver-lxc-1.2.8-1################################# [ 78%] 32:libvirt-daemon-driver-network-1.2################################# [ 80%] 33:libvirt-daemon-driver-nwfilter-1.################################# [ 83%] 34:libvirt-daemon-driver-interface-1################################# [ 85%] 35:libvirt-daemon-driver-nodedev-1.2################################# [ 88%] 36:libvirt-daemon-driver-secret-1.2.################################# [ 90%] 37:libvirt-daemon-driver-storage-1.2################################# [ 93%] 38:libvirt-daemon-1.2.8-10.el7 ################################# [ 95%] 39:libvirt-login-shell-1.2.8-10.el7 ################################# [ 98%] 40:libvirt-client-1.2.8-10.el7 ################################# [100%] [root@ibm-x3850x5-06 libvirt-1.2.8-11.el7]# rpm -q libvirt libvirt-1.2.8-11.el7.x86_64 [root@ibm-x3850x5-06 libvirt-1.2.8-11.el7]# service libvirtd restart Redirecting to /bin/systemctl restart libvirtd.service [root@ibm-x3850x5-06 libvirt-1.2.8-11.el7]# virsh net-dumpxml host-bridge <network> <name>host-bridge</name> <uuid>0b90fed5-2ea9-4ff5-9728-95ef0116fdca</uuid> <forward mode='bridge'/> <bridge name='br14'/> </network> [root@ibm-x3850x5-06 libvirt-1.2.8-11.el7]# rpm -q libvirt-daemon --scripts postinstall scriptlet (using /bin/sh): if [ $1 -eq 1 ] ; then # Initial installation /usr/bin/systemctl preset virtlockd.socket libvirtd.service libvirtd.socket >/dev/null 2>&1 || : fi preuninstall scriptlet (using /bin/sh): if [ $1 -eq 0 ] ; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable libvirtd.socket libvirtd.service virtlockd.socket virtlockd.service > /dev/null 2>&1 || : /usr/bin/systemctl stop libvirtd.socket libvirtd.service virtlockd.socket virtlockd.service > /dev/null 2>&1 || : fi postuninstall scriptlet (using /bin/sh): /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || : /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : fi Move to Verified.
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