Baremetal nodes should not be exposing non-custom-resource-class (vcpu, ram, disk)
Bug #1796920 reported by
Belmiro Moreira
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned | ||
Pike |
In Progress
|
High
|
Matt Riedemann | ||
Queens |
In Progress
|
High
|
Stephen Finucane | ||
Rocky |
Fix Committed
|
High
|
Matt Riedemann |
Bug Description
Description
===========
Baremetal nodes report CPU, RAM and DISK inventory.
The issue is that allocations for baremetal nodes are only done considering the custom_
See: https:/
If we use flavor that doesn't include a custom_
placement can include a baremetal nodee that are already deployed because cpu, ram, disk is available (but results in a error from ironic), or worst the instance is created in a baremetal node (if it wasn't deployed yet).
Environment
===========
Nova and Ironic running Queens release.
To post a comment you must log in.
The code in the ironic virt driver to report VCPU/MEMORY_ MB/DISK_ GB inventory was removed in Stein:
https:/ /github. com/openstack/ nova/commit/ a985e34cdeef777 fe7ff943e363a5f 1be6d991b7
So this bug applies only to rocky/queens/pike.
Once the ironic instance flavor data migration is complete, it is then safe to schedule only based on ironic node custom resource classes. We have a nova-status check that goes back to queens for making sure you've completed the data migration:
https:/ /review. openstack. org/#/q/ Ifd22325e849db2 353b1b1eedfe998 e3d6a79591c
Workarounds for this would be to use host aggregates to segregate VM and BM hosts and pin flavors to those aggregates, or unset the memory_mb/vcpu properties from ironic nodes, but those workarounds might not be feasible at large scale (like CERN).
We can add a workaround config option to nova to disable reporting standard resource class inventory for operators that can't use the other alternative workarounds mentioned above and who know they have done their data migrations.