[openstack-dev] [ironic] [nova] [neutron] get_all_bw_counters in the Ironic virt driver

Devananda van der Veen devananda.vdv at gmail.com
Fri Jul 29 01:02:16 UTC 2016



On 07/28/2016 05:40 PM, Brad Morgan wrote:
> I'd like to solicit some advice about potentially implementing
> get_all_bw_counters() in the Ironic virt driver.
> 
> https://github.com/openstack/nova/blob/master/nova/virt/driver.py#L438
> Example Implementation:
> https://github.com/openstack/nova/blob/master/nova/virt/xenapi/driver.py#L320
> 
> I'm ignoring the obvious question about how this data will actually be
> collected/fetched as that's probably it's own topic (involving neutron), but I
> have a few questions about the Nova -> Ironic interaction:
> 
> Nova
> * Is get_all_bw_counters() going to stick around for the foreseeable future? If
> not, what (if anything) is the replacement?
> 
> Ironic
> * I assume Ironic would be responsible for knowing how to fetch bandwidth
> counters for a given instance - correct?

The nova.virt.ironic driver would be responsible for implementing that method --
but I don't think that it makes sense to fetch that information from Ironic.

In some cases, it may be possible for the Node's management controller (eg, the
iLO) to collect/measure/expose network traffic counters for each physical
interface on the Node. None of Ironic's in-tree drivers support gathering this
data, afaik; Ironic isn't capturing it, and we don't have an API to expose it
today. If we went this route, it would be a vendor-specific thing, and not
supported by the _*ipmitool class of drivers. In other words, I don't think we
could have a fully open source production-oriented implementation of this feature.

On the other hand, with the Neutron integration now underway, if one were using
Neutron and OVS or OVN to manage the physical switches, then I would think that
Neutron could expose the bandwidth counters on the VIFs associated with the
Instance // with the user-defined Ports. I believe OVS supports this, but I
don't see anything in the Neutron API that actually exposes it... (IANANE, so it
may very well be there and I just didn't find it)

I'll defer to Neutron folks here. If the VIF's bandwidth counters can be fetched
from neutron, that would be ideal, as it should work regardless of the server's
management controller.

(I've added [neutron] to the subject line to solicit their input)


--deva

> * If so, what would this look like? (I'm assuming some Ironic API endpoint Nova
> simply calls for counters - but any specific guidance here would be great.)
> 

I

> I appreciate any tips/suggestions, thank you. 
> 
> -- 
> Brad Morgan
> 
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 



More information about the OpenStack-dev mailing list