Hide Forgot
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:
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
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?
> 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.