[openstack-dev] [nova] Can all virt drivers provide a disk 'id' for the diagnostics API?

Matt Riedemann mriedem at linux.vnet.ibm.com
Fri Sep 23 12:32:36 UTC 2016


On 9/23/2016 3:54 AM, Daniel P. Berrange wrote:
> On Thu, Sep 22, 2016 at 01:54:21PM -0500, Matt Riedemann wrote:
>> Sergey is working on a spec to use the standardized virt driver instance
>> diagnostics in the os-diagnostics API. A question came up during review of
>> the spec about how to define a disk 'id':
>>
>> https://review.openstack.org/#/c/357884/2/specs/ocata/approved/restore-vm-diagnostics.rst@140
>>
>> The existing diagnostics code doesn't set a disk id in the list of disk
>> dicts, but I think with at least libvirt we can set that to the target
>> device from the disk device xml.
>>
>> The xenapi code for getting this info is a bit confusing for me at least,
>> but it looks like it's possible to get the disks, but the id might need to
>> be parsed out (as a side note, it looks like the cpu/memory/disk diagnostics
>> are not even populated in the get_instance_diagnostics method for xen).
>>
>> vmware is in the same boat as xen, it's not fully implemented:
>>
>> https://github.com/openstack/nova/blob/64cbd7c51a5a82b965dab53eccfaecba45be9c27/nova/virt/vmwareapi/vmops.py#L1561
>>
>> Hyper-v and Ironic virt drivers haven't implemented get_instance_diagnostics
>> yet.
>
> The key value of this field (which we should call "device_name", not "id"),
> is to allow the stats data to be correlated with the entries in the block
> device mapping list used to configure storage when bootin the VM. As such
> we should declare its value to match the corresponding field in BDM.
>
> Regards,
> Daniel
>

Well, except that we don't want people specifying a device name in the 
block device list when creating a server, and the libvirt driver ignores 
that altogether. In fact, I think Dan Smith was planning on adding a 
microversion in Ocata to remove that field from the server create 
request since we can't guarantee it's what you'll end up with for all 
virt drivers.

I'm fine with calling the field device_name though.

-- 

Thanks,

Matt Riedemann




More information about the OpenStack-dev mailing list