ChanceScheduler is deprecated in Pike [1] and will be removed in a
subsequent release.
[1] https://review.openstack.org/#/c/492210/
Change-Id: I44f9c1cabf9fc64b1a6903236bc88f5ed8619e9e
This adds a granular policy checking framework for
placement based on nova.policy but with a lot of
the legacy cruft removed, like the is_admin and
context_is_admin rules.
A new PlacementPolicyFixture is added along with
a new configuration option, [placement]/policy_file,
which is needed because the default policy file
that gets used in config is from [oslo_policy]/policy_file
which is being used as the nova policy file. As
far as I can tell, oslo.policy doesn't allow for
multiple policy files with different names unless
I'm misunderstanding how the policy_dirs option works.
With these changes, we can have something like:
/etc/nova/policy.json - for nova policy rules
/etc/nova/placement-policy.yaml - for placement rules
The docs are also updated to include the placement
policy sample along with a tox builder for the sample.
This starts by adding granular rules for CRUD operations
on the /resource_providers and /resource_providers/{uuid}
routes which use the same descriptions from the placement
API reference. Subsequent patches will add new granular
rules for the other routes.
Part of blueprint granular-placement-policy
Change-Id: I17573f5210314341c332fdcb1ce462a989c21940
While this option itself was not technically deprecated,
the option only had two choices and the "ironic_host_manager"
choice has been deprecated since Queens:
Iebc74a09990dcda8cf0ee2a41f9ae1058d2a182a
And was removed in Rocky:
I695b250c82c8dcedcd8e2bee00c56bb2df19212c
Since the host_manager option only had one choice, which
is also the default, it's not really an option anymore and
we can simply remove it. Setting it will have no effect
so there should be no upgrade impact for its removal.
Change-Id: Ic61ae3a4f563aa54a3a2956667c702a81e610fc3
The use_baremetal_filters and baremetal_enabled_filters were
deprecated in Pike: I843353427c90142a366ae9ca63ee4298b4f3ecd4
The IronicHostManager was deprecated in Queens:
Iebc74a09990dcda8cf0ee2a41f9ae1058d2a182a
Note that the NUMATopologyFilter should be OK in a mixed
VM/BM deployment because ironic compute nodes will not
report 'numa_topology' so those "hosts" will be filtered
out from requests for a specific NUMA topology or CPU
policy.
This change drops the deprecated baremetal scheduling options
and since the IronicHostManager is really only useful when
using those scheduling options, it is also removed.
Baremetal scheduling is now required to go through resource
classes.
Change-Id: I695b250c82c8dcedcd8e2bee00c56bb2df19212c
The Project Testing Interface [1] asks that we list requirements in
'doc/requirements.txt' and build docs by calling 'sphinx-build' directly
instead of via the 'build_sphinx' setuptool/distutils wrapper. Start
doing this.
[1] https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: If9342c8ea757b1735f2488db751008984fb33baf
An recent change in pbr changed the default behavior of pbr's variants
of the 'sphinx_build' setuptools plugin [1]. Previously, pbr defaulted
to building both HTML and man page output, but it now builds only the
former. nova happens to be one of the rare projects that _does_ care
about man pages so mitigate the impact of this change by explicitly
setting the 'builder' configuration option to build HTML and man page
output.
While we're at it, the 'build_apiguide' section is removed as this
doesn't actually do anything and is a remnant of a broken cookiecutter
file [2].
[1] https://review.openstack.org/#/c/456157/
[2] https://review.openstack.org/#/c/448164/
Change-Id: I79efedd44b11c9832ae8cb36e54c2567f85fcf50
The use_baremetal_filters and baremetal_enabled_filters options
along with the ExactRamFilter, ExactCoreFilter and ExactDiskFilter
filters were all deprecated in Pike:
I843353427c90142a366ae9ca63ee4298b4f3ecd4
The IronicHostManager is configurable and relies on those options,
so if those options are deprecated then the IronicHostManager should
also be deprecated.
The sticky part with this is going to be filters that don't work with
ironic nodes today, like the NUMATopologyFilter, so a note is left
in the use_baremetal_filters option code to remind us that we can't
likely remove any of this until all filters work with ironic nodes.
Change-Id: Iebc74a09990dcda8cf0ee2a41f9ae1058d2a182a
The executable is 'nova-policy' - not 'nova-policy-check'.
Change-Id: I3e875a3284935cbb9607f01c7139982da0e11945
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
I can't see any evidence that anyone else uses our nova-idmapshift
binary, and it adds a lot of complexity (flags we never call for
example). Move the code we do actually use into the privsep
directory and simplify our calls to it. Remove the extra binary
from our install and documentation.
Change-Id: Ibce28d20d166da154833376cf51f1877b829925e
blueprint: hurrah-for-privsep
In order to make it simpler to use the default
configuration files when deploying services
from source, the files are added to pbr's
data_files section so that the files are
included in the built wheels and therefore
deployed with the code. Packaging and deployment
tools can then more easily use the default files
if they wish to.
This pattern is already established with similar
files for neutron and the glance metadefs as has
been mentioned in the related bug report.
Change-Id: I66e6525338e06f289a20ff2cdc2d108ffd6d30b2
Closes-Bug: #1718356
Few microversions unittest still depend on the stevedore to load few
fake controller. This patch uses the plain routes to instead of stevedore.
For the unittest can injects routes which are used for test, the `custom_routes`
parameter is added to the APIRouterV21.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I1a7c653ab21be41b1a41f748a35ec9a57dd8b15d
The extension/plugin mechanism is removed from the Nova API. This
patch removed related unittest.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I1c5a1dccb08bd0b869cb206b247d6cb744e76163
This patch adds versions related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova
To support the redirection from '' to '/', this patch also
enables to put a target patch instead of a dict with supported
methods in the ROUTE_LIST.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: Iba340c5dd66cf9d006e2e8d3d0674b2140915014
This patch adds extension_info related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I07c5e0dc34042d4f3cea8b1b933b11a624ec9512
This patch adds os-snapshots related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: If2f073066fc4df533138409eec6c8ac0dd44d00a
This patch adds os-baremetal-nodes related routes
by a plain list, instead of using stevedore. After all the Nova
API endpoints moves to the plain routes list, the usage of stevedore
for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I2df8f897cf2d53d01e5e9156efbcddd7aa988473
This patch adds os-security-group-default-rules related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: Ifd7c8fc508c0afdb3ce14a4514862805a1569a8b
This patch adds os-security-group-rules related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
The API sample tests are missed for os-security-group-rules API,
this patch adds them to ensure the route working correctly.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I2d3ac79fdb0314014f4b8b69a9c5f27a922d9046
This patch adds image-metadata related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I466d2e1693f56ee32fa32fd74789f88c1d0a1f7c
This patch adds images related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I884dbfef8032a34d155a7022037f5690d86ef532
This patch adds os-networks related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from
Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I49a424979394d0de7d8eae564468e29ee94b8bfa
This patch adds os-cells related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: Iec6e720b4e225251ce06ddfecb316569f9260913
This patch adds os-remote-consoles related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: Id192220445e296656eedb79e39042cd00bbe65a7
The stevedore will be removed from the nova API code. And the extension info
API already is implemented by a hard-code list. So this multiple create extension
entry is useless anymore.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I57caf68d62393b32f800300d4504dd726c3a37c4
This patch adds os-tenant-networks related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I54c03a5ec3311677fc095425b71c2b590ff5c987
This patch adds os-cloudpipe related routes by a plain list,
instead of using stevedore.
After all the Nova API endpoints moves to the plain routes list,
the usage of stevedore for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: Id02d878867dec642fab72981cd0b492c62c846fb
This patch adds os-quota-classes related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to the plain
routes list, the usage of stevedore for API loading will be removed from
Nova.
Because of os-server-group-quotas is never loaded, we can safely removed
the logic check for server-group data and possibily return it though a
microversion update if needed.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I34c776bedc0bc5fc0ef4d29dd3b8f84e914d83e2
This patch adds os-server-groups related routes by a plain list,
instead of using stevedore. After all the Nova API endpoints moves to the
plain routes list, the usage of stevedore for API loading will be removed
from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I2df31cc04fbd2d54103a412f461cfd665209dfa7
This patch adds user_data related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to the
plain routes list, the usage of stevedore for API loading
will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: Ie0f806b1231da7676b1929de1eaece7435afe58a
This patch adds block_device_mapping related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to the
plain routes list, the usage of stevedore for API loading
will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I3d1774943708db3c285ca6597898393349970c7b
This patch adds os-consoles and os-console-auth-tokens related routes by
a plain list, instead of using stevedore. After all the Nova API
endpoints moves to the plain routes list, the usage of stevedore for API
loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I0e7433e6b470fc535b5954de7dcdcf66ac5ac41d
This patch adds os-services related routes by a plain list, instead of
using stevedore. After all the Nova API endpoints moves to the plain
routes list, the usage of stevedore for API loading will be removed from
Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: Ib145494b9fc3c660176098e4168cf72db507f34d
This patch adds os-virtual-interfaces related routes by a plain list,
instead of using stevedore. After all the Nova API endpoints moves to
the plain routes list, the usage of stevedore for API loading will be
removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I47ccef43e41da0a85bff3da71655c33b6fea4fe4
This patch adds hypervisors related routes by a plain list,
instead of using stevedore. After all the Nova API endpoints moves
to the plain routes list, the usage of stevedore for API loading
will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I1095e91b5ef84995b32b38445b0876b132b9627a
This patch adds hosts related routes by a plain list, instead
of using stevedore. After all the Nova API endpoints moves to the
plain routes list, the usage of stevedore for API loading
will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: I1a205faab6f34158744436e79ae2ed9f80132b58
This patch adds os-fping related routes
by a plain list, instead of using stevedore. After all the Nova
API endpoints moves to the plain routes list, the usage of stevedore
for API loading will be removed from Nova.
Partial-implement-blueprint api-no-more-extensions-pike
Change-Id: Id58263258fe3cc28961fb095b4d758eef234ca47