Then attach a XML that is valid for libvirt, but will fail to attach a disk (after loading the .so files)
<disk type='network' device='disk'>
<driver name='qemu' type='raw'/>
<source protocol="http" name="does-not-exist">
<host name="localhost" port="80"/>
</source>
<target dev='vdc' bus='virtio'/>
<readonly/>
</disk>
You'll get a fail (intentionally) like:
$ virsh attach-device guest1 non-disk.xml
error: Failed to attach device from on-disk.xml
error: internal error: unable to execute QEMU command 'device_add': Property 'virtio-blk-device.drive' can't find value 'drive-virtio-disk2'
Yeah, the workaround can be a disk that "fails" which helps to be not guest detectable:
Check libs before the workaround:
$ sudo lsof -p 9952 | awk '{print $9}' | grep '\.so' | sort | uniq > pre.libs
Then attach a XML that is valid for libvirt, but will fail to attach a disk (after loading the .so files) not-exist" >
<disk type='network' device='disk'>
<driver name='qemu' type='raw'/>
<source protocol="http" name="does-
<host name="localhost" port="80"/>
</source>
<target dev='vdc' bus='virtio'/>
<readonly/>
</disk>
You'll get a fail (intentionally) like: blk-device. drive' can't find value 'drive- virtio- disk2'
$ virsh attach-device guest1 non-disk.xml
error: Failed to attach device from on-disk.xml
error: internal error: unable to execute QEMU command 'device_add': Property 'virtio-
Check after this:
$ sudo lsof -p 9952 | awk '{print $9}' | grep '\.so' | sort | uniq > post.libs
And we see all of them loaded: 64-linux- gnu/libcom_ err.so. 2.1 64-linux- gnu/libcrypt- 2.27.so 64-linux- gnu/libkeyutils .so.1.5 x86_64- linux-gnu/ libasn1. so.8.0. 0 x86_64- linux-gnu/ libcurl- gnutls. so.4.5. 0 x86_64- linux-gnu/ libgssapi_ krb5.so. 2.2 x86_64- linux-gnu/ libgssapi. so.3.0. 0 x86_64- linux-gnu/ libhcrypto. so.4.1. 0 x86_64- linux-gnu/ libheimbase. so.1.0. 0 x86_64- linux-gnu/ libheimntlm. so.0.1. 0 x86_64- linux-gnu/ libhx509. so.5.0. 0 x86_64- linux-gnu/ libk5crypto. so.3.1 x86_64- linux-gnu/ libkrb5. so.26.0. 0 x86_64- linux-gnu/ libkrb5. so.3.3 x86_64- linux-gnu/ libkrb5support. so.0.1 x86_64- linux-gnu/ liblber- 2.4.so. 2.10.8 x86_64- linux-gnu/ libldap_ r-2.4.so. 2.10.8 x86_64- linux-gnu/ libnghttp2. so.14.15. 2 x86_64- linux-gnu/ libpsl. so.5.2. 0 x86_64- linux-gnu/ libroken. so.18.1. 0 x86_64- linux-gnu/ librtmp. so.1 x86_64- linux-gnu/ libsqlite3. so.0.8. 6 x86_64- linux-gnu/ libwind. so.0.0. 0 x86_64- linux-gnu/ qemu/block- curl.so
$ diff -Naur pre.libs post.libs | grep '^+'
+++ post.libs 2019-11-18 07:01:55.461495910 +0100
+/lib/x86_
+/lib/x86_
+/lib/x86_
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/
+/usr/lib/