nova/releasenotes/notes/new-COMPUTE_NODE-trait-06701d03b17d179f.yaml
Eric Fried a79d3d546b Always trait the compute node RP with COMPUTE_NODE
We have at least one use case [1] for identifying resource providers
which represent compute nodes. There are a few ways we could do that
hackishly (e.g. [2], [3]) but the clean way is to have nova-compute mark
the provider with a trait, since nova-compute knows which one it is
anyway.

This commit uses the COMPUTE_NODE trait for this purpose, and bumps the
os-traits requirement to 1.1.0 where it is introduced.

Arguably this is a no-op until something starts using it, but a release
note is added anyway warning that all compute nodes should be upgraded
to ussuri (or the trait added manually) for the trait to be useful.

[1] https://review.opendev.org/#/c/670112/7/nova/cmd/manage.py@2921
[2] Assume a provider with a certain resource class, like MEMORY_MB, is
always a compute node. This is not necessarily future-proof (maybe all
MEMORY_MB will someday reside on NUMA node providers; similar for other
resource classes) and isn't necessarily true in all cases today anyway
(ironic nodes don't have MEMORY_MB inventory) and there's also currently
no easy way to query for that (GET /resource_providers?MEMORY_MB:1 won't
return "full" providers, and you can't ask for :0).
[3] Assume a root provider without the MISC_SHARES_VIA_AGGREGATE trait
is a compute node. This assumes you're only using placement for nova-ish
things.

Change-Id: I4cb9cbe1e02c3f6c6148f73a38d10e8db7e61b1a
2019-10-21 11:33:58 -05:00

13 lines
680 B
YAML

---
upgrade:
- |
Starting in the Ussuri release, compute node resource providers are
automatically marked with the ``COMPUTE_NODE`` trait. This allows them to
be distinguished easily from other providers, including sharing and nested
providers, as well as other non-compute-related providers in a deployment.
To make effective use of this trait (e.g. for scheduling purposes), all
compute nodes must be upgrade to Ussuri. Alternatively, you can manually
add the trait to pre-Ussuri compute node providers via `openstack resource
provider trait set
<https://docs.openstack.org/osc-placement/train/cli/index.html#resource-provider-trait-set>`_