401 Commits

Author SHA1 Message Date
zhangyangyang
a59e7dda5d Remove ChanceScheduler
ChanceScheduler is deprecated in Pike [1] and will be removed in a
subsequent release.

[1] https://review.openstack.org/#/c/492210/

Change-Id: I44f9c1cabf9fc64b1a6903236bc88f5ed8619e9e
2018-08-20 15:56:13 +01:00
Matt Riedemann
519e5a22d1 Implement granular policy rules for placement
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
2018-05-17 11:12:16 -04:00
Matt Riedemann
11ed47c9e0 Remove [scheduler]/host_manager config option
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
2018-05-03 09:39:26 -04:00
Matt Riedemann
43bae270fd Remove IronicHostManager and baremetal scheduling options
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
2018-05-02 11:35:18 -04:00
Stephen Finucane
7b01024591 Follow the new PTI for document build
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
2018-03-16 14:39:36 +00:00
Zuul
b98c119a6d Merge "setup.cfg: Explicitly set [build_sphinx] builder" 2018-03-12 22:59:03 +00:00
Stephen Finucane
bd59761804 setup.cfg: Explicitly set [build_sphinx] builder
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
2017-12-27 13:53:10 +00:00
Matt Riedemann
aa19ae204c Deprecate the IronicHostManager
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
2017-11-28 15:23:48 -05:00
Stephen Finucane
6304938327 trivial: Rename 'policy_check' -> 'policy'
The executable is 'nova-policy' - not 'nova-policy-check'.

Change-Id: I3e875a3284935cbb9607f01c7139982da0e11945
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2017-10-25 17:56:40 +01:00
Michael Still
adbf397164 Move the idmapshift binary into privsep.
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
2017-10-24 18:50:23 +11:00
Jesse Pretorius
171f6a033c Add default configuration files to data_files
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
2017-09-22 11:36:56 +00:00
He Jie Xu
0df4107ffa Using plain routes for the microversions test
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
2017-07-23 22:43:53 +08:00
He Jie Xu
4c01c1f584 Remove the unittest for plugin framework
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
2017-07-21 17:39:46 +08:00
He Jie Xu
f7e86c290b Use plain routes list for versions instead of stevedore
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
2017-07-21 17:39:46 +08:00
Jenkins
e208fe7989 Merge "Use plain routes list for extension_info instead of stevedore" 2017-07-21 06:35:48 +00:00
Jenkins
3ca8443190 Merge "Use plain routes list for os-snapshots instead of stevedore" 2017-07-21 06:20:27 +00:00
Jenkins
f774a511c1 Merge "Update URL home-page in documents according to document migration" 2017-07-19 17:31:51 +00:00
Jenkins
6600cc554c Merge "Use plain routes list for os-baremetal-nodes endpoint instead of stevedore" 2017-07-19 11:45:07 +00:00
Luong Anh Tuan
6ec456cc6e Update URL home-page in documents according to document migration
Change-Id: I48c04fdd693cfbe1c279fd26a181d65d84494aa2
2017-07-19 08:47:27 +00:00
Jenkins
7c2f8ca87e Merge "Use plain routes list for os-security-group-default-rules instead of stevedore" 2017-07-19 08:45:26 +00:00
Jenkins
08fc5b77f2 Merge "Use plain routes list for os-security-group-rules instead of stevedore" 2017-07-19 06:01:56 +00:00
He Jie Xu
ddab36dcac Use plain routes list for extension_info instead of stevedore
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
2017-07-18 22:57:00 +08:00
He Jie Xu
dd1d3f0b92 Use plain routes list for os-snapshots instead of stevedore
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
2017-07-18 22:46:59 +08:00
Jenkins
670673bbff Merge "Use plain routes list for image-metadata instead of stevedore" 2017-07-18 09:34:29 +00:00
Jenkins
edbffe5131 Merge "Use plain routes list for images instead of stevedore" 2017-07-18 09:23:43 +00:00
Jenkins
7ee82bfdd5 Merge "Use plain routes list for os-networks instead of stevedore" 2017-07-18 03:27:22 +00:00
Jenkins
34b275863b Merge "Use plain routes list for os-cells endpoint instead of stevedore" 2017-07-14 03:00:45 +00:00
ghanshyam
3e10dd5c5b Use plain routes list for os-baremetal-nodes endpoint instead of stevedore
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
2017-07-12 20:58:55 +08:00
He Jie Xu
5988f99052 Use plain routes list for os-security-group-default-rules instead of stevedore
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
2017-07-12 20:58:40 +08:00
He Jie Xu
90105b926d Use plain routes list for os-security-group-rules instead of stevedore
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
2017-07-12 20:58:26 +08:00
He Jie Xu
73b0924571 Use plain routes list for image-metadata instead of stevedore
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
2017-07-12 20:57:46 +08:00
He Jie Xu
549e2e318d Use plain routes list for images instead of stevedore
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
2017-07-12 20:57:33 +08:00
ghanshyam
a85d52d7e1 Use plain routes list for os-networks instead of stevedore
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
2017-07-12 17:36:35 +08:00
Takashi NATSUME
7a26914a43 Fix a missing classifier
Add Python 3 in classifier.

TrivialFix
Change-Id: Iaaee1776bbbb1f9dfa5d9ad3a238d0e1422394a0
2017-07-10 14:02:39 +00:00
jichenjc
9553fad080 Use plain routes list for os-cells endpoint instead of stevedore
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
2017-07-04 00:07:40 +00:00
iswarya_vakati
c9057d99b0 Add python 3.5 in classifier
Now we can support py35 in classifier.

Change-Id: I56ecc2b9d82779de0c96e46bad73beb13603edf0
2017-06-27 16:36:24 +05:30
Stephen Finucane
c413eda03f Use plain routes list for os-remote-consoles instead of stevedore
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
2017-06-19 16:49:34 +01:00
Stephen Finucane
de78c01c76 Remove multiple create from stevedore
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
2017-06-19 16:49:34 +01:00
ghanshyam
f1ab3d63de Use plain routes list for os-tenant-networks instead of stevedore
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
2017-06-19 16:44:19 +01:00
jichenjc
3a94ba1491 Use plain routes list for os-cloudpipe endpoint instead of stevedore
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
2017-06-19 16:44:19 +01:00
jichenjc
85f86e778e Use plain routes list for os-quota-classes endpoint instead of stevedore
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
2017-06-19 16:38:03 +01:00
Kevin_Zheng
f13b2dff90 Use plain routes list for os-server-groups endpoint instead of stevedore
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
2017-06-13 14:04:07 +00:00
Kevin_Zheng
5dcc3968b4 Use plain routes list for user_data instead of stevedore
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
2017-06-13 14:04:00 +00:00
Kevin_Zheng
6e0b81ff18 Use plain routes list for block_device_mapping instead of stevedore
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
2017-06-12 15:48:56 +01:00
Kevin_Zheng
d6192f47e7 Use plain routes list for os-consoles, os-console-auth-tokens endpoint instead of stevedore
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
2017-06-12 15:48:19 +01:00
jichenjc
5f668706f6 Use plain routes list for os-services endpoint instead of stevedore
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
2017-06-07 14:25:58 +08:00
Stephen Finucane
e3f52773cb use plain routes list for os-virtual-interfaces
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
2017-06-07 14:25:58 +08:00
jichenjc
f6e0ef143d use plain routes list for hypervisor endpoint instead of stevedore
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
2017-06-07 14:25:58 +08:00
jichenjc
de5a6c030b Use plain routes list for hosts endpoint instead of stevedore
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
2017-06-07 14:25:58 +08:00
ghanshyam
3ef53c147a Use plain routes list for os-fping endpoint
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
2017-06-07 14:25:58 +08:00