On 07/23/2013 04:56 PM, Daniel P. Berrange wrote:
On Tue, Jul 23, 2013 at 10:47:46AM -0400, John Ferlan wrote:
> On 07/23/2013 10:18 AM, Ján Tomko wrote:
>> On 07/22/2013 10:31 PM, John Ferlan wrote:
>>
>>> ---
>>> src/storage/storage_backend_iscsi.c | 111
+++++++++++++++++++++++++++++++++++-
>>> 1 file changed, 110 insertions(+), 1 deletion(-)
>>>
>>
>> I can confirm this works, but it's a shame it doesn't work on autostart.
>>
>> ACK if you clarify the error.
>>
>> Jan
>>
>
> The autostart changes require getting a connection to the secret
> driver which I felt may take more time than I had to figure out
> how to get to work properly...
>
> In any case, I adjusted the message as follows (same in 5/5):
>
> diff --git a/src/storage/storage_backend_iscsi.c b/src/storage/storage_backend_i
> index 388d6ed..ee8dd2e 100644
> --- a/src/storage/storage_backend_iscsi.c
> +++ b/src/storage/storage_backend_iscsi.c
> @@ -714,7 +714,8 @@ virStorageBackendISCSISetAuth(const char *portal,
>
> if (!conn) {
> virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> - _("iscsi 'chap' authentication requires
connection"));
> + _("iscsi 'chap' authentication not supported
"
> + "for autostarted pools"));
> return -1;
> }
I noticed that the nwfilter already unconditionally calls
virConnectOpen("qemu://system"); so we're already in fact suffering from the
problem with
autostart having a qemu dependency.
Given this, I'd support a patch which simply did
conn = virConnectOpen(privilege ? "qemu:///system" :
"qemu:///session");
in storageDriverAutostart, provided that we ignore any errors from
virConnectOpen, and fallback to use NULL for the connection in that
case.
Obviously this is something we'll still need to fix properly in a
future release, but at least it'll make autostart of storage pools
with auth work in the common case in the short term for this release.
Both secret and qemu drivers are registered after the storage driver on
libvirtd startup, so autostarting these pools will only work on storage driver
reload. On libvirtd startup it fails with:
qemuConnectOpen:1033 : internal error qemu state driver is not active
(And it seems nwfilter only opens the qemu:// connection on reload)
Jan