Bug 1277921

Summary: Removed storage makes service non-responsive
Product: [Community] Virtualization Tools Reporter: rokupstys
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: crobinso, dyuan, rbalakri, rokupstys, yisun
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-25 11:13:59 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 rokupstys 2015-11-04 11:03:07 UTC
Description of problem:
If certain disks are removed when machine is offline (removable disks, hard disk bays) libvirtd will accept connections (virsh/virt-manager) however will not process them further causing said tools remain stuck indefinitely in "connecting" state. In some cases service works properly however opening VM with missing disk and selecting disk in virt-manager causes virt-manager to freeze. It never times out, no message about missing disk is produced. However if VM is started it will correctly report missing disk.

Version-Release number of selected component (if applicable):
libvirt 1.2.20

How reproducible:
Sometimes

Steps to Reproduce:
1. Connect removable disk
2. Add connected disk to some VM
3. Shutdown and remove disk
4. Boot and start libvirtd service
5. Try to interact with service via virt-manager or virsh

Actual results:
virt-manager is "connecting" indefinitely. virsh list command never returns, prints nothing. libvirtd log shows no activity upon attempted connections.

Expected results:
Connecting to service should work. Starting VMs with missing disks should report an error. Inspecting missing disks that are added to VM should not freeze virt-manager.

Additional info:
Restoring contents of /etc/libvirt/storage to package defaults allows to properly connect to libvirtd. Removing disk elements from VM via virsh edit allows to get rid of missing disks that otherwise can not be removed via GUI.

Comment 1 Cole Robinson 2016-04-10 22:41:14 UTC
What distro is this?
Can you still reproduce with a newer libvirt?
I think you'll need to get a gdb backtrace of libvirtd for us to know where it's hanging

Comment 2 rokupstys 2016-04-25 11:13:59 UTC
Can not reproduce it any more so i guess it was fixed. Distro was archlinux by the way.