Neutron already provides the resource_provider_defauly_hypervisors option
to override a hypervisor name used. However because this option accepts
a map between interface and hypervisor, setting this parameter requires
very redundant description especially when a compute node has multiple
interfaces/bridges. The following example shows how redundant the current
requirement is.
~~~
[OVS]
resource_provider_bandwidths=br-data1:1024:1024,br-data2:1024:1024,\
br-data3:1024,1024,br-data4,1024:1024
resource_provider_hypervisors=br-data1:compute0.mydomain,br-data2:\
compute0.mydomain,br-data3:compute0.mydomain,br-data4:compute0.mydomain
~~~
I've submitted a change to propose a new single parameter to override
the base hypervisor name but this is currently -2ed, mainly because
I lacked analysis about the root cause of mismatch when I proposed this.
(1)
https://review.opendev.org/c/openstack/neutron/+/763563On the other hand, I submitted a different change to neutron which implements
the logic to get a hypervisor name which is fully compatible with libvirt.
While this would save users from even overriding hypervisor names, I'm aware
that this might break the other virt driver which depends on a different logic
to generate a hypervisor name. IMO the patch is still useful considering
the libvirt driver would be the most popular option now, but I'm not fully
aware of the impact on the other drivers, especially because I don't know
which virt driver would support the minimum QoS feature now.
(2)
https://review.opendev.org/c/openstack/neutron/+/788893/In the review of (2), Sean mentioned implementing a logic to determine
an appropriate resource provider(3) even if there is a mismatch about
host name format, but I'm not sure how I would implement that, tbh.
My current thought is to merge (1) as a quick solution first, and discuss whether
we should merge (2), but I'd like to ask for some feedback about this plan
(like we should NOT merge (2)).
I'd appreciate your thoughts about this $topic.
Thank you,
Takashi