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 -- Thanks, Matt