[libvirt] [PATCH v2] storage: Need to set secrettype for direct iscsi disk volume

John Ferlan jferlan at redhat.com
Mon Jun 15 18:43:23 UTC 2015


...

>>> +                /* Shared processing code with storage pools can leave
>>> +                 * this empty, but disk formatting uses it as does command
>>> +                 * creation - so use the secretType to attempt to fill it in.
>>> +                 */
>>> +                if (!authdef->secrettype) {
>>> +                    const char *secrettype =
>>> +                        virSecretUsageTypeToString(authdef->secretType);
>>> +                    if (VIR_STRDUP(authdef->secrettype, secrettype) < 0)
>>> +                        goto error;
>>> +                }
>>
>> So _virStorageAuthDef has both @secrettype and @secretType? That's
>> rather perplexing.
>>
> 
> Yeah - I think it was a "convenience" perhaps when trying to combine the
> various authdef functions that had existed.  I look to generate a
> followup that removes the need for it
> 

Ahh - now that a few more caffeine cells have been coursing through my
bloodstream - I remember what the difference is and I also see I made a
mistake in which I was using (<sigh>).

The 'secrettype' is what is read from XML "<secret type='%s'...". It is
optional and is used differently depending whether it's in the domain
'disk' or the storage pool 'source' definition.

For the domain disk, there is no <auth> 'type' field, while there is a
<secret> 'type' field.

For the storage pool, there is an <auth> 'type' field, while there is no
<secret> 'type' field.

The 'secretType' is used to determine whether a 'usage' or 'uuid' was
found the "<secret..." XML and virSecretUsageTypeToString does the magic
to properly format. So using it to format the secrettype is wrong.

Of course because I added the VIR_STORAGE_TYPE_VOLUME check to ignore
auth_secret_usage and eventually virStorageTranslateDiskSourcePool is
run, so I didn't see my mistake, but now I do.

I'll post an adjustment - the current patch works because eventually
virStorageTranslateDiskSourcePool overwrites the mistake.


John




More information about the libvir-list mailing list