[libvirt-users] Pools are not persistent

Hi all! I'm trying virt-manager on Debian Wheezy and I noticed that it has already defined a "default" pool. But if I run: # /etc/init.d/libvirt-bin restart I lose the definition of the pools. Actually, there are the definitions of the pools; but these are not read after restarting libvirt. ss01:/etc/libvirt/storage# ls -l total 8 drwxr-xr-x 2 root root 4096 jun 1 09:36 autostart -rw------- 1 root root 664 jun 1 13:46 default.xml ss01:/etc/libvirt/storage/autostart# ls -l total 0 lrwxrwxrwx 1 root root 32 may 24 07:24 default.xml -> /etc/libvirt/storage/default.xml After restart libvirt: virsh # pool-list Name State Autostart ----------------------------------------- This is what I see in libvirtd.log: 2013-06-02 01:05:29.709+0000: 19289: info : libvirt version: 0.9.12 2013-06-02 01:05:29.709+0000: 19289: error : virStorageDefParsePerms:613 : XML error: malformed owner element 2013-06-02 01:05:30.210+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:30.211+0000: 19289: warning : qemuCapsInit:949 : Failed to get host power management capabilities 2013-06-02 01:05:33.014+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:33.014+0000: 19289: warning : lxcCapsInit:77 : Failed to get host power management capabilities 2013-06-02 01:05:33.025+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:33.025+0000: 19289: warning : umlCapsInit:87 : Failed to get host power management capabilities could this be due to some type of error in the XML file that defines the pool? ss01:/etc/libvirt/storage# cat default.xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh pool-edit default or other application using the libvirt API. --> <pool type='dir'> <name>default</name> <uuid>3174232f-3d63-3167-aa25-3949671bf4c2</uuid> <capacity unit='bytes'>0</capacity> <allocation unit='bytes'>0</allocation> <available unit='bytes'>0</available> <source> </source> <target> <path>/var/lib/libvirt/images</path> <permissions> <mode>0700</mode> <owner>4294967295</owner> <group>4294967295</group> </permissions> </target> </pool> These are the versions of the packages I'm using: libvirt-bin: 0.9.12-11 (Architecture: i386) virt-manager: 0.9.1-4 (Architecture: all) Thanks in advance for your reply. Regards, Daniel -- Daniel Bareiro - GNU/Linux registered user #188.598 Proudly running Debian GNU/Linux with uptime: 21:50:39 up 17 days, 8:14, 12 users, load average: 0.00, 0.04, 0.00

On 06/01/2013 08:15 PM, Daniel Bareiro wrote:
Hi all!
I'm trying virt-manager on Debian Wheezy and I noticed that it has already defined a "default" pool. But if I run:
# /etc/init.d/libvirt-bin restart
I lose the definition of the pools. Actually, there are the definitions of the pools; but these are not read after restarting libvirt.
ss01:/etc/libvirt/storage# ls -l total 8 drwxr-xr-x 2 root root 4096 jun 1 09:36 autostart -rw------- 1 root root 664 jun 1 13:46 default.xml
ss01:/etc/libvirt/storage/autostart# ls -l total 0 lrwxrwxrwx 1 root root 32 may 24 07:24 default.xml -> /etc/libvirt/storage/default.xml
After restart libvirt:
virsh # pool-list Name State Autostart -----------------------------------------
This is what I see in libvirtd.log:
2013-06-02 01:05:29.709+0000: 19289: info : libvirt version: 0.9.12 2013-06-02 01:05:29.709+0000: 19289: error : virStorageDefParsePerms:613 : XML error: malformed owner element
"XML error: malformed owner element "
2013-06-02 01:05:30.210+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:30.211+0000: 19289: warning : qemuCapsInit:949 : Failed to get host power management capabilities 2013-06-02 01:05:33.014+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:33.014+0000: 19289: warning : lxcCapsInit:77 : Failed to get host power management capabilities 2013-06-02 01:05:33.025+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:33.025+0000: 19289: warning : umlCapsInit:87 : Failed to get host power management capabilities
could this be due to some type of error in the XML file that defines the pool?
ss01:/etc/libvirt/storage# cat default.xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh pool-edit default or other application using the libvirt API. -->
<pool type='dir'> <name>default</name> <uuid>3174232f-3d63-3167-aa25-3949671bf4c2</uuid> <capacity unit='bytes'>0</capacity> <allocation unit='bytes'>0</allocation> <available unit='bytes'>0</available> <source> </source> <target> <path>/var/lib/libvirt/images</path> <permissions> <mode>0700</mode> <owner>4294967295</owner> <group>4294967295</group>
Owner and group should uid and gid of the images directory.
</permissions> </target> </pool>
These are the versions of the packages I'm using:
libvirt-bin: 0.9.12-11 (Architecture: i386) virt-manager: 0.9.1-4 (Architecture: all)
Thanks in advance for your reply.
Regards, Daniel
_______________________________________________ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users

Hi, Colin. On Sunday, 02 June 2013 12:37:12 -0500, Colin Davis wrote:
This is what I see in libvirtd.log:
2013-06-02 01:05:29.709+0000: 19289: info : libvirt version: 0.9.12 2013-06-02 01:05:29.709+0000: 19289: error : virStorageDefParsePerms:613 : XML error: malformed owner element
"XML error: malformed owner element "
2013-06-02 01:05:30.210+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:30.211+0000: 19289: warning : qemuCapsInit:949 : Failed to get host power management capabilities 2013-06-02 01:05:33.014+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:33.014+0000: 19289: warning : lxcCapsInit:77 : Failed to get host power management capabilities 2013-06-02 01:05:33.025+0000: 19289: error : virExecWithHook:424 : Cannot find 'pm-is-supported' in path: No existe el fichero o el directorio 2013-06-02 01:05:33.025+0000: 19289: warning : umlCapsInit:87 : Failed to get host power management capabilities
could this be due to some type of error in the XML file that defines the pool?
ss01:/etc/libvirt/storage# cat default.xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh pool-edit default or other application using the libvirt API. -->
<pool type='dir'> <name>default</name> <uuid>3174232f-3d63-3167-aa25-3949671bf4c2</uuid> <capacity unit='bytes'>0</capacity> <allocation unit='bytes'>0</allocation> <available unit='bytes'>0</available> <source> </source> <target> <path>/var/lib/libvirt/images</path> <permissions> <mode>0700</mode> <owner>4294967295</owner> <group>4294967295</group>
Owner and group should uid and gid of the images directory.
</permissions> </target> </pool>
ss01:~# ls -ld /var/lib/libvirt/images drwx--x--x 2 root root 4096 may 27 11:03 /var/lib/libvirt/images So I adapted the permissions to this directory: <permissions> <mode>0700</mode> <owner>0</owner> <group>0</group> </permissions> After restarting libvirt, the pool was recognized: virsh # pool-list Name State Autostart ----------------------------------------- default active yes Then I went back to create another pool: virsh # pool-define-as ISO dir - - - - "/space/isos" Pool ISO defined virsh # pool-start ISO Pool ISO started virsh # pool-autostart ISO Pool ISO marked as autostarted virsh # pool-list --all Name State Autostart ----------------------------------------- default active yes ISO active yes Files are created: ss01:/etc/libvirt/storage# ll total 12 drwxr-xr-x 2 root root 4096 jun 2 15:49 autostart -rw------- 1 root root 646 jun 2 15:05 default.xml -rw------- 1 root root 644 jun 2 15:48 ISO.xml ss01:/etc/libvirt/storage/autostart# ll total 0 lrwxrwxrwx 1 root root 32 may 24 07:24 default.xml -> /etc/libvirt/storage/default.xml lrwxrwxrwx 1 root root 28 jun 2 15:49 ISO.xml -> /etc/libvirt/storage/ISO.xml But it seems that the permissions are equally incorrect: ss01:/etc/libvirt/storage# cat ISO.xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh pool-edit ISO or other application using the libvirt API. --> <pool type='dir'> <name>ISO</name> <uuid>3c7b9f44-c81a-13c7-47cc-f9f317e848a9</uuid> <capacity unit='bytes'>0</capacity> <allocation unit='bytes'>0</allocation> <available unit='bytes'>0</available> <source> </source> <target> <path>/space/isos</path> <permissions> <mode>0700</mode> <owner>4294967295</owner> <group>4294967295</group> </permissions> </target> </pool> This have to do with a bug when using libvirt on a 32-bit operating system? http://www.redhat.com/archives/libvir-list/2012-November/thread.html#01048 Thanks for your reply. Regards, Daniel -- Daniel Bareiro - GNU/Linux registered user #188.598 Proudly running Debian GNU/Linux with uptime: 15:25:28 up 18 days, 1:49, 12 users, load average: 0.34, 0.27, 0.19

On 06/02/2013 01:25 PM, Daniel Bareiro wrote:
Hi, Colin.
On Sunday, 02 June 2013 12:37:12 -0500, Colin Davis wrote:
This is what I see in libvirtd.log:
2013-06-02 01:05:29.709+0000: 19289: info : libvirt version: 0.9.12
Relatively old...
This have to do with a bug when using libvirt on a 32-bit operating system?
http://www.redhat.com/archives/libvir-list/2012-November/thread.html#01048
and since that thread discusses a fix that wasn't until commit 37a1012 (0.10.0), you are correct that your version of libvirtd has a bug, and that upgrading would fix things for you. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

Ho, Eric. On Tuesday, 04 June 2013 09:40:45 -0600, Eric Blake wrote:
This is what I see in libvirtd.log:
2013-06-02 01:05:29.709+0000: 19289: info : libvirt version: 0.9.12
Relatively old...
This have to do with a bug when using libvirt on a 32-bit operating system?
http://www.redhat.com/archives/libvir-list/2012-November/thread.html#01048
and since that thread discusses a fix that wasn't until commit 37a1012 (0.10.0), you are correct that your version of libvirtd has a bug, and that upgrading would fix things for you.
Taking advantage of the new feature "multiarch" of Debian, I've migrated the VMHost to amd64 architecture and after that, I did not have this problem. Still, I see the <owner> </owner> and <group> </group> in the configuration file created after creating a pool once migrated to libvirt-bin amd64, have values that do not seem to correspond with UID and GID. This is normal? <pool type='logical'> <name>LVM</name> <uuid>6f24dd66-565d-53fa-9b21-41f6b69de757</uuid> <capacity unit='bytes'>979185434624</capacity> <allocation unit='bytes'>431644213248</allocation> <available unit='bytes'>547541221376</available> <source> <device path='/dev/md2'/> <name>vms</name> <format type='lvm2'/> </source> <target> <path>/dev/vms</path> <permissions> <mode>0700</mode> <owner>4294967295</owner> <group>4294967295</group> </permissions> </target> </pool> Thanks for your reply. Regards, Daniel -- Ing. Daniel Bareiro - GNU/Linux registered user #188.598 Proudly running Debian GNU/Linux with uptime: 16:43:32 up 25 days, 3:07, 12 users, load average: 0.00, 0.00, 0.00

On 06/09/2013 09:58 PM, Daniel Bareiro wrote:
Ho, Eric.
Still, I see the <owner> </owner> and <group> </group> in the configuration file created after creating a pool once migrated to libvirt-bin amd64, have values that do not seem to correspond with UID and GID. This is normal?
These values are -1 printed as an unsigned 32-bit number. We use -1 to mean default (the uid/gid libvirt is running as). This gets parsed as a signed integer and fails on 32-bit, since it's too big. But on 64-bit it works the same as specifying '-1' would. It's not normal and it's printed as -1 again since 0.10.0, fixed by commit 37a1012 mentioned by Eric in the last e-mail.
<pool type='logical'> <target> <path>/dev/vms</path> <permissions> <mode>0700</mode> <owner>4294967295</owner> <group>4294967295</group> </permissions> </target> </pool>
Jan
participants (4)
-
Colin Davis
-
Daniel Bareiro
-
Eric Blake
-
Ján Tomko