Bug 1186142
Summary: | Fail to Migrate with Bridged network, eth + macvtap ,with different interface name on two hosts | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Laine Stump <laine> | |
Component: | libvirt | Assignee: | Laine Stump <laine> | |
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | |
Severity: | medium | Docs Contact: | ||
Priority: | medium | |||
Version: | 6.6 | CC: | dyuan, honzhang, jdenemar, jkachuck, jsvarova, lhuang, lmiksik, mjenner, mzhan, pzhang, rbalakri, rhodain, tlavigne, virt-bugs, xuzhang, yanyang | |
Target Milestone: | rc | Keywords: | Regression, ZStream | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | libvirt-0.10.2-51.el6 | Doc Type: | Bug Fix | |
Doc Text: |
The interface configuration of any libvirt domain which was of type='network' and referenced an "unmanaged" libvirt network had incorrect XML data for the interface transmitted during a migration, containing the "status" of the interface instead of the name of the network to use ("configuration"). As a consequence, the migration destination tried to set up the domain network interface using the status information from the source of the migration, and the migration thus failed. With this update, libvirt sends the configuration data for each device during migration rather than the status data, and the migration of a domain using interfaces of type='network' now succeeds.
|
Story Points: | --- | |
Clone Of: | 1177194 | |||
: | 1203367 (view as bug list) | Environment: | ||
Last Closed: | 2015-07-22 05:48:26 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: | 1177194 | |||
Bug Blocks: | 1203367 |
Description
Laine Stump
2015-01-27 07:36:16 UTC
I can reproduce it with below version. [root@intel-5504-12-1 ~]# rpm -q libvirt libvirt-0.10.2-46.el6.x86_64 [root@intel-5504-12-1 ~]# virsh migrate --live r65 qemu+ssh://10.66.82.225/system The authenticity of host '10.66.82.225 (10.66.82.225)' can't be established. RSA key fingerprint is 63:29:99:ca:cd:9e:7b:1f:0a:41:85:18:9e:e4:b1:f4. Are you sure you want to continue connecting (yes/no)? yes root.82.225's password: error: Unable to get index for interface eth0: No such device Verified as below, the bug has been fixed. [On the source]: [root@intel-5504-12-1 libvirt]# rpm -q libvirt libvirt-0.10.2-50.el6.x86_64 [root@intel-5504-12-1 libvirt]# virsh net-dumpxml vepa-net <network connections='1'> <name>vepa-net</name> <uuid>9c2ff4c5-174c-0c26-a6aa-e6787c426680</uuid> <forward dev='eth0' mode='vepa'> <interface dev='eth0' connections='1'/> </forward> </network> [root@intel-5504-12-1 libvirt]# virsh dumpxml r65 | grep "/interface" -B6 <interface type='direct'> <mac address='52:54:00:86:37:6f'/> <source dev='eth0' mode='vepa'/> <target dev='macvtap0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> [root@intel-5504-12-1 libvirt]# virsh migrate --live r65 qemu+ssh://10.66.82.225/system --verbose The authenticity of host '10.66.82.225 (10.66.82.225)' can't be established. RSA key fingerprint is 63:29:99:ca:cd:9e:7b:1f:0a:41:85:18:9e:e4:b1:f4. Are you sure you want to continue connecting (yes/no)? yes root.82.225's password: Migration: [100 %] [On the destination]: [root@amd-6168-256-1 ~]# virsh list --all Id Name State ---------------------------------------------------- 4 r65 running [root@amd-6168-256-1 ~]# virsh dumpxml r65 | grep "/interface" -B6 <interface type='direct'> <mac address='52:54:00:86:37:6f'/> <source dev='hjw0' mode='vepa'/> <target dev='macvtap0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> [root@amd-6168-256-1 ~]# virsh net-dumpxml vepa-net <network connections='1'> <name>vepa-net</name> <uuid>556bb118-5724-c439-7200-19b3622c88ec</uuid> <forward dev='hjw0' mode='vepa'> <interface dev='hjw0' connections='1'/> </forward> </network> We can get expected results, changed to Verified. Hello, This bug has been copied as 6.6 z-stream (EUS) bug #1203367 Thank You Joe Kachuck I just posted another patch which is useful for debugging the type of problems encountered in this bug: http://post-office.corp.redhat.com/archives/rhvirt-patches/2015-March/msg00615.html I only verified the improved error message from comment 11 during hitting some errors. [On old version]: (gdb) info b Num Type Disp Enb Address What 1 breakpoint keep y 0x00007fe34e263300 in virNetDevMacVLanCreate at util/virnetdevmacvlan.c:97 breakpoint already hit 1 time (gdb) 152 if (virNetlinkCommand(nl_msg, &recvbuf, &recvbuflen, 0, 0, (gdb) 157 if (recvbuflen < NLMSG_LENGTH(0) || recvbuf == NULL) (gdb) 162 switch (resp->nlmsg_type) { (gdb) set resp->nlmsg_type = 0x2 (gdb) n 165 if (resp->nlmsg_len < NLMSG_LENGTH(sizeof(*err))) (gdb) 168 switch (err->error) { (gdb) set err.error = 3 (gdb) n 178 virReportSystemError(-err->error, (gdb) c Continuing. C [root@hongming ~]# virsh start rhel6.5 error: Failed to start domain rhel6.5 error: error creating macvtap type of interface: Unknown error 18446744073709551613 [On fixed version]: we can get a more clear message from libvirtd: [root@hongming libvirt]# rpm -q libvirt libvirt-0.10.2-51.el6.x86_64 153 if (virNetlinkCommand(nl_msg, &recvbuf, &recvbuflen, 0, 0, (gdb) 158 if (recvbuflen < NLMSG_LENGTH(0) || recvbuf == NULL) (gdb) 163 switch (resp->nlmsg_type) { (gdb) set resp->nlmsg_type = 0x2 (gdb) n 166 if (resp->nlmsg_len < NLMSG_LENGTH(sizeof(*err))) (gdb) 169 switch (err->error) { (gdb) set err.error = 3 (gdb) n 179 virReportSystemError(-err->error, (gdb) c Continuing. [root@hongming libvirt]# virsh start rhel6.5 error: Failed to start domain rhel6.5 error: error creating macvtap interface macvtap1@eth0 (52:54:00:F5:C6:22): Unknown error 18446744073709551613 I think we get an expected results, changed to Verified. Is it necessary to include in the Doc Text that the described problem only existed in RHEL6.6 libvirt, but not in any earlier versions? 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-2015-1252.html |