If the hypervisor_type is only available in the nova cell DB how does the OpenStackClient determine the hypervisor type? If I execute 'openstack hypervisor list' then the Hypervisor Type column is visible and correctly distinguishes between ironic and qemu hyervisors. On 5/24/19 9:27 PM, Matt Riedemann wrote:
On 5/24/2019 1:39 AM, info@dantalion.nl wrote:
I think we should look into if bare metal nodes are stored in the compute_model as I think it would more sense to filter them out.
The tricky thing with this would be there isn't a great way to identify a baremetal node from a kvm node, for example. There is a hypervisor_type column on the compute_nodes table in the nova cell DB, but it's not exposed in the API.
Two obvious differences would be:
1. The hypervisor_hostname on an ironic node in the os-hypervisors API is a UUID rather than a normal hostname. That could be one way to try and identify an ironic node (hypervisor).
2. For servers, the associated flavor should have a CUSTOM resource class extra spec associated with it and the VCPU, DISK_GB, and MEMORY_MB resource classes should also be zero'ed out in the flavor per [1]. The server OS-EXT-SRV-ATTR:hypervisor_hostname field would also be a UUID like above (the UUID is the ironic node ID).
[1] https://docs.openstack.org/ironic/latest/install/configure-nova-flavors.html