[libvirt] [PATCH 7/7] storage: Add storage backend pool/vol API's to capability output

John Ferlan jferlan at redhat.com
Tue Jan 29 21:13:48 UTC 2019



On 1/29/19 5:18 AM, Michal Privoznik wrote:
> On 1/16/19 2:15 AM, John Ferlan wrote:
>> https://bugzilla.redhat.com/show_bug.cgi?id=1581670
>>
>> Add the Storage Pool and Volume API's defined for each generated
>> capability output, such as:
>>
>>   <pool>
>>      <type>dir</pool>
>>      <poolapis>
>>        <buildPool/>
>>        <refreshPool/>
>>        <deletePool/>
>>      </poolapis>
>>      <volapis>
>>        <buildVol/>
>>        <buildVolFrom/>
>>        <createVol/>
>>        <refreshVol/>
>>        <deleteVol/>
>>        <resizeVol/>
>>        <uploadVol/>
>>        <downloadVol/>
>>        <wipeVol/>
>>      </volapis>
>>    </pool>
>>
>> ...
>>
>>    <pool>
>>      <type>iscsi</pool>
>>      <poolapis>
>>        <findPoolSources/>
>>        <startPool/>
>>        <refreshPool/>
>>        <stopPool/>
>>      </poolapis>
>>      <volapis>
>>        <uploadVol/>
>>        <downloadVol/>
>>        <wipeVol/>
>>      </volapis>
>>    </pool>
> 
> Frankly, I don't like this. Firstly, our users don't see 'uploadVol'
> they see 'virStorageVolUpload'. Secondly, I am not sure if we want to be
> introspectable this much. I mean, our users can just call the API and
> deal with VIR_ERR_NO_SUPPORT. This looks like an overkill to me.
> 

That's fine - hence the reason for separation. I guess I was thinking
that developers may like to know what API's are supported by each pool -
kind of a "features" list of sorts.  Using the backend naming scheme
is/was kind of a cheat. I'm not against being more creative - ideas are
welcome ;-).

I think most important is perhaps knowing what volume operations a pool
supports or at least the upload/download, wipe, and resize.

Without any kind of extra data, the output is kind of boring:

<capabilities>

  <pool>
    <type>dir</pool>
  </pool>

  <pool>
    <type>fs</pool>
  </pool>

  <pool>
    <type>netfs</pool>
  </pool>

....

  <pool>
    <type>zfs</pool>
  </pool>

</capabilities>


John




More information about the libvir-list mailing list