Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
The running Guest was paused while cancel the migration on the third machine which connect the source machine with the remote access
Version-Release number of selected component (if applicable):
kernel-2.6.32-358.2.1.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.355.el6_4.2.x86_64
libvirt-0.10.2-19.el6.x86_64
How reproducible:
100%
Steps
1. set setenforce 1 && virt_use_nfs 1 (on both source and target)
2.prepare a guest which the image file is on the NFS server,and mount the nfs server on both source and target
start the guest on the source machine
#virsh start rhelguest1
# virsh list --all
Id Name State
----------------------------------------------------
- rhelguest1 running
3.Start the migrataion on the third machine
# virsh -c qemu+ssh://xx.xx.xx.xx/system migrate rhelguest1 --live qemu+ssh://yy.yy.yy.yy/system --verbose
The authenticity of host 'xx.xx.xx.xx (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is ce:52:b1:64:6c:0c:23:25:1d:9c:22:17:7b:66:0b:68.
Are you sure you want to continue connecting (yes/no)? yes
root.83.194's password:
root.83.191's password:
Migration: [ 31 %]^Cerror: internal error received hangup / error event on socket
4.Check the guest's status on the source host,the guest was in paused status
# virsh list
Id Name State
----------------------------------------------------
7 rhelguest1 paused
5.The guest won't be paused while cancel the migration on the source host directly
Actual results:
The running Guest was paused while cancel the migration on the third machine which connect the source machine with the remote access
Expected results:
The guest should keep running status
The problem is related to using ssh transport for the migration. The second ssh client apparently receives the interrupt sequence and kills the "nc" process tunelling the connection. This causes virsh to fail without resuming the domain on the source of the migration.
This can be verified by sending SIGINT to virsh that is performing the migration using kill/killall. (not by pressing ctrl+c) In that case the migration is aborted correctly and the guest is resumed.
Fixed upstream with:
commit b46c4787dde79b015dad67dedda4ccf6ff1a3082
Author: Peter Krempa <pkrempa>
Date: Thu Aug 29 15:18:20 2013 +0200
virsh-domain: Avoid killing ssh transport tunnels when cancelling job
The vshWatchJob function registers a SIGINT handler that is used to
abort the active job and does not terminate virsh. Unfortunately, this
breaks when using the ssh transport as SIGINT is sent to the foreground
process group including the ssh transport processes which terminate.
This breaks the connection and migration is left in a insane state.
With this patch the terminal is modified to ignore key binding that
sends SIGINT and does the handling manually.
Resoves: https://bugzilla.redhat.com/show_bug.cgi?id=983348
commit ebef68936396f7eab077e883ac48c4ce0508afa2
Author: Peter Krempa <pkrempa>
Date: Thu Aug 29 10:36:00 2013 +0200
virsh: Remember terminal state when starting and add helpers
This patch adds instrumentation to allow modification of config of the
terminal in virsh and successful reset of the state afterwards.
The added helpers allow to disable receiving of SIGINT when pressing the
key sequence (Ctrl+C usualy). This normally sends SIGINT to the
foreground process group which kills ssh processes used for transport of
the data.
commit 8c725cc10daa666d47ab5a4f2ccc0b196ab608d8
Author: Peter Krempa <pkrempa>
Date: Mon Aug 26 12:31:51 2013 +0200
virsh-domain: rename print_job_progress to vshPrintJobProgress
Comment 7RHEL Program Management
2014-04-04 20:57:39 UTC
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.