nova/releasenotes/notes/fix-ironic-inventory-d565c77af83c710d.yaml
Dmitry Tantsur 9ed692bf8c Fix reporting inventory for provisioned nodes in the Ironic driver
Currently we report the full inventory for available nodes, and an empty
inventory for nodes that are deployed to or otherwise unavailable.

Reporting an empty inventory for deployed nodes has 2 bad consequences:
1. Nova tries deleting the inventory for Placement, which fails, because
   the resources are still in use. This results in nasty warnings.
2. When adding a resource class to a deployed node, it does not get into
   inventory, and thus does not get to Placement. It results in an error
   later on, when the custom resource class is not found.

This patch fixes the latter problem by
1. Always reporting the custom resource class for deployed nodes, if present.
2. Reporting VCPUS/memory/disk in exactly the same amount, as it is configured
   in the ironic node's properties.

As a side effect, the warnings are no longer shown for deployed nodes.
They still appear, however, for nodes during cleaning.

Partial-Bug: #1710141
Change-Id: I2fd1e4a95f000da19864e75299afa51527697101
2017-08-15 15:05:34 +02:00

31 lines
1.4 KiB
YAML

---
fixes:
- |
The ironic virt driver no longer reports an empty inventory for bare metal
nodes that have instances on them. Instead the custom resource class, VCPU,
memory and disk are reported as they are configured on the node.
issues:
- |
Due to the changes in scheduling of bare metal nodes, additional resources
may be reported as free to Placement. This happens in two cases:
* An instance is deployed with a flavor smaller than a node (only possible
when exact filters are not used)
* Node properties were modified in ironic for a deployed nodes
When such instances were deployed without using a custom resource class,
it is possible for the scheduler to try deploying another instance on
the same node. It will cause a failure in the compute and a scheduling
retry.
The recommended work around is to assign a resource class to all ironic
nodes, and use it for scheduling of bare metal instances.
deprecations:
- |
Scheduling bare metal (ironic) instances using standard resource classes
(VCPU, memory, disk) is deprecated and will no longer be supported in
Queens. Custom resource classes should be used instead.
Please refer to the `ironic documentation
<https://docs.openstack.org/ironic/latest/install/configure-nova-flavors.html#scheduling-based-on-resource-classes>`_
for a detailed explanation.