[libvirt] VG backed storage pool start behavior.

Libvirt 1.0.2-3 I am unable to use vg storage pools that are shared with the host. I was able to do this without issue an update before this one. Wondering if anyone else is seeing this behavior. I am on an Arch Linux system but I can't see why that would matter yet. Here is the error I get when trying to start a pool defined from the shared VG that my host, and guests share: Error starting pool 'vg_nimbus': internal error Child process (/sbin/vgchange -aln vg_nimbus) unexpected exit status 5: Can't deactivate volume group "vg_nimbus" with 7 open logical volume(s) Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/asyncjob.py", line 117, in tmpcb callback(*args, **kwargs) File "/usr/share/virt-manager/virtManager/storagepool.py", line 64, in start self.pool.create(0) File "/usr/lib/python2.7/site-packages/libvirt.py", line 2360, in create if ret == -1: raise libvirtError ('virStoragePoolCreate() failed', pool=self) libvirtError: internal error Child process (/sbin/vgchange -aln vg_nimbus) unexpected exit status 5: Can't deactivate volume group "vg_nimbus" with 7 open logical volume(s) I can still carry on using lvs manually (without storage pools) to run my guests and host lvs. -- Luke W Varnadore

On 02/18/13 23:11, Luke Varnadore wrote:
Libvirt 1.0.2-3
I am unable to use vg storage pools that are shared with the host. I was able to do this without issue an update before this one. Wondering if anyone else is seeing this behavior.
I am on an Arch Linux system but I can't see why that would matter yet.
Here is the error I get when trying to start a pool defined from the shared VG that my host, and guests share:
Error starting pool 'vg_nimbus': internal error Child process (/sbin/vgchange -aln vg_nimbus) unexpected exit status 5: Can't deactivate volume group "vg_nimbus" with 7 open logical volume(s)
It looks like we're trying to deactivate the volumes when starting the pool, which is what happens when we can't refresh the pool succesfully. Deactivation fails, since some of the volumes are still open, and this overwrites the previous error message. Try looking in libvirtd.log if there is another error message before this one. Jan

It was a distro specific issue. Arch Linux has the lvm tools in /usr/sbin instead of /sbin. I made links for lvs, vgs, and vgchange and the issue cleared up. Reported a bug for the package. On Wed, Feb 20, 2013 at 6:40 AM, Ján Tomko <jtomko@redhat.com> wrote:
On 02/18/13 23:11, Luke Varnadore wrote:
Libvirt 1.0.2-3
I am unable to use vg storage pools that are shared with the host. I was able to do this without issue an update before this one. Wondering if anyone else is seeing this behavior.
I am on an Arch Linux system but I can't see why that would matter yet.
Here is the error I get when trying to start a pool defined from the shared VG that my host, and guests share:
Error starting pool 'vg_nimbus': internal error Child process (/sbin/vgchange -aln vg_nimbus) unexpected exit status 5: Can't deactivate volume group "vg_nimbus" with 7 open logical volume(s)
It looks like we're trying to deactivate the volumes when starting the pool, which is what happens when we can't refresh the pool succesfully.
Deactivation fails, since some of the volumes are still open, and this overwrites the previous error message.
Try looking in libvirtd.log if there is another error message before this one.
Jan
-- Luke W Varnadore 727.697.7865

On 02/20/2013 09:40 AM, Luke Varnadore wrote:
It was a distro specific issue. Arch Linux has the lvm tools in /usr/sbin instead of /sbin. I made links for lvs, vgs, and vgchange and the issue cleared up. Reported a bug for the package.
Is it also a case of upstream libvirt having a bug for not checking at configure time for the preferred location of these tools, but just using a hard-coded location for them? -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

This was the change that moved the lvm tools: https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/lvm2&id=a54404dbc41bdf5a9dc60ac754311297938c0a4d I wouldn't know if libvirt needed to be changed to support finding them when configuring, but that sounds like it should happen if it isn't. On Wed, Feb 20, 2013 at 12:07 PM, Eric Blake <eblake@redhat.com> wrote:
On 02/20/2013 09:40 AM, Luke Varnadore wrote:
It was a distro specific issue. Arch Linux has the lvm tools in /usr/sbin instead of /sbin. I made links for lvs, vgs, and vgchange and the issue cleared up. Reported a bug for the package.
Is it also a case of upstream libvirt having a bug for not checking at configure time for the preferred location of these tools, but just using a hard-coded location for them?
-- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
-- Luke W Varnadore 727.697.7865

On Thu, Feb 28, 2013 at 03:35:13PM -0500, Luke Varnadore wrote:
This was the change that moved the lvm tools:
I wouldn't know if libvirt needed to be changed to support finding them when configuring, but that sounds like it should happen if it isn't.
On Wed, Feb 20, 2013 at 12:07 PM, Eric Blake <eblake@redhat.com> wrote:
On 02/20/2013 09:40 AM, Luke Varnadore wrote:
It was a distro specific issue. Arch Linux has the lvm tools in /usr/sbin instead of /sbin. I made links for lvs, vgs, and vgchange and the issue cleared up. Reported a bug for the package.
Is it also a case of upstream libvirt having a bug for not checking at configure time for the preferred location of these tools, but just using a hard-coded location for them?
Libvirt checks at configure time AC_PATH_PROG([PVCREATE], [pvcreate], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([VGCREATE], [vgcreate], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([LVCREATE], [lvcreate], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([PVREMOVE], [pvremove], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([VGREMOVE], [vgremove], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([LVREMOVE], [lvremove], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([LVCHANGE], [lvchange], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([VGCHANGE], [vgchange], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([VGSCAN], [vgscan], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([PVS], [pvs], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([VGS], [vgs], [], [$PATH:/sbin:/usr/sbin]) AC_PATH_PROG([LVS], [lvs], [], [$PATH:/sbin:/usr/sbin]) So perhaps Arch didn't rebuild their libvirt package, after they moved all the LVM tools. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (4)
-
Daniel P. Berrange
-
Eric Blake
-
Ján Tomko
-
Luke Varnadore