libvirt-daemon-driver-storage bug in Centos 7

libvirt

failed to load module libvirt_driver_storage.so

Today I was installing virt-sysprep tool on one of KVM hosts. When this was done I couldn't list VMs anymore using virsh:

[root@host1 ~]# virsh list --all
[454/564]
 Id    Name                           State
 ----------------------------------------------------

Hmm that's not normal obsiously. Checked the libvirtd status:

[root@host1 ~]# service libvirtd status
Redirecting to /bin/systemctl status  libvirtd.service
libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled)
   Active: active (running) since Mon 2015-04-06 15:43:55 CEST; 1h 16min ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 21191 (libvirtd)
   CGroup: /system.slice/libvirtd.service
           ├─ 5865 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf
           └─21191 /usr/sbin/libvirtd

...
Apr 06 17:01:42 host1.devops.ent libvirtd[6254]: failed to load module 
/usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so 
/usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so: symbol 
dm_task_get_info_with_deferred_remove, version Base not defined in file 
libdevmapper.so.1.02 with link time reference
Apr 06 17:01:42 host1.devops.ent libvirtd[6254]: failed to load module 
/usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so 
/usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so: undefined 
symbol: virStorageFileCreate
...

I confirmed that installing virt-sysprep caused also upgrading libvirtd related packages:

 Updated     libvirt-1.1.1-29.el7_0.7.x86_64                         @updates
    Update              1.2.8-16.el7_1.2.x86_64                         @updates
    Updated     libvirt-client-1.1.1-29.el7_0.7.x86_64                  @updates
    Update                     1.2.8-16.el7_1.2.x86_64                  @updates
    Updated     libvirt-daemon-1.1.1-29.el7_0.7.x86_64                  @updates
    Update                     1.2.8-16.el7_1.2.x86_64                  @updates
    Updated     libvirt-daemon-config-network-1.1.1-29.el7_0.7.x86_64   @updates
    Update                                    1.2.8-16.el7_1.2.x86_64   @updates
    Updated     libvirt-daemon-config-nwfilter-1.1.1-29.el7_0.7.x86_64  @updates
    Update                                     1.2.8-16.el7_1.2.x86_64  @updates
    Updated     libvirt-daemon-driver-interface-1.1.1-29.el7_0.7.x86_64 @updates
    Update                                      1.2.8-16.el7_1.2.x86_64 @updates
    Updated     libvirt-daemon-driver-lxc-1.1.1-29.el7_0.7.x86_64       @updates
    Update                                1.2.8-16.el7_1.2.x86_64       @updates
    Updated     libvirt-daemon-driver-network-1.1.1-29.el7_0.7.x86_64   @updates
    Update                                    1.2.8-16.el7_1.2.x86_64   @updates
    Updated     libvirt-daemon-driver-nodedev-1.1.1-29.el7_0.7.x86_64   @updates
    Update                                    1.2.8-16.el7_1.2.x86_64   @updates
    Updated     libvirt-daemon-driver-nwfilter-1.1.1-29.el7_0.7.x86_64  @updates
    Update                                     1.2.8-16.el7_1.2.x86_64  @updates
    Updated     libvirt-daemon-driver-qemu-1.1.1-29.el7_0.7.x86_64      @updates
    Update                                 1.2.8-16.el7_1.2.x86_64      @updates
    Updated     libvirt-daemon-driver-secret-1.1.1-29.el7_0.7.x86_64    @updates
    Update                                   1.2.8-16.el7_1.2.x86_64    @updates
    Updated     libvirt-daemon-driver-storage-1.1.1-29.el7_0.7.x86_64   @updates
    Update                                    1.2.8-16.el7_1.2.x86_64   @updates
    Dep-Install libvirt-daemon-kvm-1.2.8-16.el7_1.2.x86_64              @updates

So once more I read the problematic log entry:

failed to load module /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so: symbol dm_task_get_info_wit
h_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

and decided to yum upgrade device-mapper-libs. Afterwards I restarted libvirtd and everything started working perfectly.

This would not happen if I had updated all the libraries, but unfortunately all I wanted was virt-sysprep installed - not update'ing all packages.

Finally filed a bugrequest

Comments