nova/releasenotes/notes/defaulting_group_policy-36f584cd3920818c.yaml
Balazs Gibizer ad4f798362 Defaults missing group_policy to 'none'
If more than one numbered request group is in the placement a_c query
then the group_policy is mandatory. Based on the PTG discussion [1]
'none' seems to be a good default policy from nova perspective. So this
patch makes sure that if the group_policy is not provided in the flavor
extra_spec and there are more than one numbered group in the request and
the flavor only provide one or zero groups (so groups are coming from
other sources like neutron ports) then the group_policy is defaulted to
'none'.

The reasoning behind this change: If more than one numbered request
group is coming from the flavor extra_spec then the creator of the
flavor is responsible to add a group_policy to the flavor. So in this
nova only warns but let the request fail in placement to force the
fixing of the flavor. However when numbered groups are coming from
other sources (like neutron ports) then the creator of the flavor
cannot know if additional group will be included so we don't want to
force the flavor creator but simply default the group_policy.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-May/005807.html

Change-Id: I0681de217ed9f5d77dae0d9555632b8d160bb179
2019-07-16 14:05:32 +02:00

20 lines
1.1 KiB
YAML

---
other:
- |
`Numbered request groups`_ can be defined in the flavor extra_spec
but they can come from other sources as well (e.g. neutron ports).
If there is more than one numbered request group in the
allocation candidate query and the flavor does not specify any
group policy then the query will fail in placement as group_policy
is mandatory in this case. Nova previously printed a warning to the
scheduler logs but let the request fail. However the creator of
the flavor cannot know if the flavor later on will be used in a boot
request that has other numbered request groups. So nova will start
defaulting the group_policy to 'none' which means that the resource
providers fulfilling the numbered request groups can overlap.
Nova will only default the group_policy if it is not provided in the flavor
extra_spec, and there is more than one numbered request group present in
the final request, and the flavor only provided one or zero of such groups.
.. _`Numbered request groups`: https://docs.openstack.org/nova/latest/user/flavors.html#extra-specs-numbered-resource-groupings