Bug 733958 - libvirt restart always activates directory storage pools
Summary: libvirt restart always activates directory storage pools
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt
Version: 6.1
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: rc
: ---
Assignee: Libvirt Maintainers
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-08-28 22:05 UTC by Michael Hines
Modified: 2011-08-30 10:00 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-08-30 10:00:18 UTC


Attachments (Terms of Use)

Description Michael Hines 2011-08-28 22:05:12 UTC
Description of problem:

Whenever you restart libvirt, all directory-based storage pools, regardless of their autostart status are always activated no matter what.

Version-Release number of selected component (if applicable):
Tested on version 0.8.7 through 0.9.1

How reproducible:

Create a directory storage pool, restart libvirt and list the new pool.
Should be inactive, but it is instead active.

Steps to Reproduce:
1. virsh pool-define-as default  dir --target /
2. virsh pool-list --all # pool is active, with autostart == no
3. service libvirtd restart
4. virsh pool-list --all
  
Actual results:

Upon restart, the new pool is activated.

Expected results:

Should be deactivated upon restart (with autostart == no)

Additional info:

Comment 2 Daniel Veillard 2011-08-29 02:50:57 UTC
The main problem I see is that "fixing" this the way you suggest is
changing the default behaviour for dir pools. I tend to think that default
behaviour for pool dir should be to have autostart = yes, now if the user
forces it to no, then I agree this should not show on libvirtd restart.

Daniel

Comment 3 Michael Hines 2011-08-29 03:00:16 UTC
Regardless of the default (auto yes or no), libvirt is not respecting the user's choice.

If I manually disable autostart and restart libvirt, then the pool should not be started, no?

Comment 4 Daniel Berrange 2011-08-30 10:00:18 UTC
> Whenever you restart libvirt, all directory-based storage pools, regardless of
> their autostart status are always activated no matter what.

When libvirtd restarts it attempts to detect if any of its managed resources are already active. For example, if any guest VMs are running, it will detect this. We recently made it also detect if any storage pools are *already* running.  Directory based storage pools are effectively always running, unless the filesystem on which they live has been unmounted, hence you are seeing them listed as running.

This behaviour is completely independant of the autostart flag, which is about instructing libvirtd to explicitly start storage pools that were *not already* running.


Note You need to log in before you can comment on or make changes to this bug.