435 Commits

Author SHA1 Message Date
Ghanshyam Mann
7c8b800867 Update python testing as per zed cycle teting runtime
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Removing the py36 centos8 job as well as
updating the python classifier also to reflect the same.

[1] https://governance.openstack.org/tc/reference/runtimes/zed.html

Change-Id: Iba5074ea6f981a7527e86cfc98edd1ed7dd3086f
2022-04-21 22:06:22 +00:00
yuval brave
b5e2128f38 Lightbits LightOS driver
This commit introduces the LightOS driver for nova. LightOS is a
software-defined disaggregated clustered storage solution running on
commodity servers with commodity SSDs. It it developed by Lightbits
Labs (https://www.lightbitslabs.com) and is actively developed and
maintained. LightOS is proprietary but the openstack drivers are
licensed under Apache v2.0.

The Cinder driver for LightOS currently supports the following
functionality:

Create volume
Delete volume
Attach volume
Detach volume
Create image from volume
create volume from image
Live migration
Volume replication
Thin provisioning
Multi-attach
Extend volume
Create snapshot
Delete snapshot
Create volume from snapshot
Create volume from volume (clone)

This driver has been developed and has been in use for a couple of
years by Lightbits and our clients. We have tested it extensively
internally with multiple openstack versions, including Queens, Rocky,
Stein, and Train. We have also tested it with master (19.1 xena) and we
are working to extend testing to cover additional openstack releases.

We are glad to join the openstack community and hope to get your
feedback and comments on this driver, and if it is acceptable, to see
it merged into the tree.

Note: the patch depends on os-brick 5.2.0. That version also increased
the lower constraints of several dependencies, thus needs nova to
increase those as well in requirements.txt, lower-constraints.txt and
setup.cfg.

Depends-On: I2e86fa84049053b7c75421d33ad1a1af459ef4e0
Signed-off-by: Yuval Brave  yuval@lightbitslabs.com
Change-Id: Ic314b26695d9681d31a18adcec0794c2ff41fe71
2022-02-22 16:17:29 +01:00
Stephen Finucane
86d87be8db Move optional build dependencies to 'extras'
...and start skipping the relevant tests in 'nova.tests.unit.virt' if
these dependencies are not present. Thanks to hacking rules N311 and
N312, which prevent virt drivers using code from other virt drivers,
simply skipping the unit tests for a virt driver module is enough to
ensure we never load those modules.

This means users that want to use the powervm driver can install the
required dependencies using e.g. 'pip install .[powervm]', and packagers
can choose to skip packaging a dependency safe in the knowledge that the
relevant tests will be skipped.

Change-Id: I3787f9afd78cd0a7c7feb4dfe1bcb21437b5a128
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2022-01-28 12:27:06 +00:00
Ghanshyam Mann
cb1a52a828 Re-add python 3.6 functional testing
We have updated the yoga testing runtime to keep the
py36 testing.

- https://review.opendev.org/c/openstack/governance/+/820195

Unit tests job template is also updated to keep python
3.6 as a voting job.

- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286

This commit re-add the python 3.6 functional tests also which we
removed in https://review.opendev.org/c/openstack/nova/+/819194
also, re-adding py3.6/3.7 versions in setup.cfg classifier.

Change-Id: I7c83f1d64f31741dc51cc736265cf50fd0dad7af
2021-12-13 19:26:19 -06:00
Ghanshyam Mann
9dd0070ce6 Updating tests with Yoga testing runtime
Yoga testing runtime is updated now
- https://governance.openstack.org/tc/reference/runtimes/yoga.html

which needs to test py38 and py39. Unit tests update are
handled by the job template change in openstack-zuul-job and
this commit makes changes to fucntional job to run py39 as voting
and updating the metdata in setup file.

Change-Id: I314fd61f20f2c3551f6231d191b7dcaaefabd2b5
2021-11-25 17:38:32 +00:00
Stephen Finucane
7d08a360d7 setup.cfg: Resolve warning
setuptools is now emitting the following warning when building nova:

  UserWarning: Usage of dash-separated 'python-requires' will not be
  supported in future versions. Please use the underscore name
  'python_requires' instead

Do as it says. While we're here, we update a few other options to use
their new variants and add some additional metadata. This leaves one
final warning:

  Warning: Unknown distribution option: 'requires_python'

That unfortunately cannot be fixed here and requires a separate fix in
pbr.

Change-Id: I859bc89bc1ee80652f471c3463ef6562d720263b
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-09 12:49:50 +00:00
Stephen Finucane
5aeb3a3874 Drop support for custom schedulers
We deprecated this functionality in Ussuri and can now remove it. It's
highly unlikely that there exists a functioning alternative to this
scheduler and it's not something we can really support nowadays.

Change-Id: I546d3d329a69acaad3ada48ccbfddf3a274b6ce2
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-02-09 17:26:22 +00:00
Ghanshyam Mann
454b8d30f4 Fix config option default value for sample config file
There are multiple places where nova set the new default
value for other (than nova) namespace config option for
example oslo lib config options. Examples:

- 20572809f2/nova/config.py (L62)
- 20572809f2/nova/policy.py (L48)

and these defaults are reflected in code also which is working
as expected. But when config sample file is generated via
oslo-config-generator tool (tox -egenconfig) then these defaults
which are set by Nova are not reflected as this tool take the
raw defaults. To solve this issue oslo config provide a option
to add hook to reflect the new default in config generator
- https://docs.openstack.org/oslo.config/latest/cli/generator.html#modifying-defaults-from-other-namespaces

We already doing it for middleware cors option
- 20572809f2/setup.cfg (L41)

Fixing existing default value and if we find more or any future
change for default value, we need to add those config generator hook.

Change-Id: Ib0e926aec069dfb4ffd1bbfe8506d62464511b51
Closes-Bug: #1904250
2020-11-25 00:05:08 +00:00
Stephen Finucane
34ecf5ab91 tox: Integrate mypy
mypy is an experimental optional static type checker for Python that
aims to combine the benefits of dynamic (or "duck") typing and static
typing. While still in development, most features are supported and it's
already being used by real world projects like Sphinx. Let's start small
by integrating it into some of the interfaces that nova exposes. We can
further build upon this if it works out.

This change sets up the boilerplate necessary to use mypy in nova. Type
annotations are not included for any module - these will be added
separately. We're calling mypy by way of a script, as this allows us to
store a list of files that we have converted while we're in the process
of adding type annotations where necessary.

Change-Id: I75ab46a6768c4ca2050fdde2b7f8eeb90724c8c6
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-05-15 15:59:53 +01:00
Ghanshyam Mann
c3834e675f Moving functional jobs to Victoria testing runtime
As per Victoria testing runtime[1], we need to tests py3.6,
py3.7, and py3.8.

- py3.7 is being tested with integration jobs.
- py3.6 and py3.8 are tested with unit test jobs.

Nova functional tests are testing py3.6 which can be moved to the latest
python available in this cycle which is 3.8. We do not need to run functional
or integration tests on each supported python version. Testing them on
the latest python version is enough. Coverage of all supported python version
is achieved via unit tests job.

[1] https://governance.openstack.org/tc/reference/runtimes/victoria.html

Change-Id: I1d6a2986fcb0435cfabdd104d202b65329909d2b
2020-05-08 11:01:34 -05:00
Andreas Jaeger
5c01be7bf3 Remove translation sections from setup.cfg
These translation sections are not needed anymore, Babel can
generate translation files without them.

Remove babel.cfg as well, this is the default role and not needed
anymore.

Change-Id: I4d1665f1442b15c0efe3c9c8b04d0f5226902b0c
2020-04-26 13:42:59 +02:00
Stephen Finucane
1b606da3f1 api: Add support for new cyborg extra specs
There's currently only one, as noted at [1].

[1] https://specs.openstack.org/openstack/nova-specs/specs/train/approved/nova-cyborg-interaction.html

Change-Id: Ie70a0aef4f6647510750b7e0bdd2f040331b79e8
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-04-08 13:19:39 +00:00
Stephen Finucane
58784943f7 api: Add framework for extra spec validation
Add the validation framework necessary to verify extra specs along with
the definitions for every extra spec we currently recognize in-tree.
None of this is currently used since we don't have the API microversions
wired up, but that will come in a future patch.

Note that we must add the H238 hacking check to the ignore list here,
since this includes our first use of Python 3-type classes without the
explicit 'object' subclass. This can be removed when that check is
removed from hacking.

Part of blueprint flavor-extra-spec-validators

Change-Id: Ib64a1348cce1dca995746214616c4f33d9d664bd
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-04-08 12:47:01 +00:00
Zuul
916c542b4b Merge "trivial: Remove FakeScheduler" 2020-02-26 12:07:45 +00:00
Stephen Finucane
a0a88d7c0c trivial: Remove FakeScheduler
We don't need this and it's blocking us from removing pluggable
scheduler drivers. Remove it.

Change-Id: I61c1a47559645c41089747cc81270848b58b68f9
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-02-18 15:13:45 +00:00
Stephen Finucane
641d53196c Remove universal wheel configuration
Now that we've dropped py2 support we shouldn't be setting this
anymore.

Change-Id: Ief4e4bbaa3c95bd4a54dd4a6f4f2288997390afe
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-02-07 10:37:28 +00:00
Stephen Finucane
f5f73b4c4e nova-net: Kill it
Finish the job by removing all the now-unused modules. This also allows
us to - wait for it - kill mox at long last. It's a great day in the
parish.

Partial-Implements: blueprint remove-nova-network-ussuri
Partial-Implements: blueprint mox-removal-ussuri

Change-Id: Ia33ec2604b2fc2d3b6830b596cac669cc3ad6c96
2020-01-14 21:25:56 +00:00
Stephen Finucane
02eb9cffe6 Remove 'nova-xvpvncproxy'
This legacy service is no longer used and was deprecated during the
Stein cycle [1]. It's time to say adios and remove them in their
entirety. This is pretty straightforward, with the sole exception of
schema for the 'remote-consoles' API, which has to continue supporting
requests for type 'xvpvnc' even if we can't fulfil those requests now.

[1] https://review.opendev.org/#/c/610076/

Part of blueprint remove-xvpvncproxy

Depends-On: https://review.opendev.org/695853
Change-Id: I2f7f2379d0cd54e4d0a91008ddb44858cfc5a4cf
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-12-23 14:20:28 +00:00
Stephen Finucane
3dbdbb4e2b Revert "(Temporarily) readd bare support for py27"
This reverts commit 33a2a5f2e408ee11e61b38b4dbdfe340939ecceb. We're now
at M1 and the DevStack default has been changed. We no longer need to
pretend to support Python 2.7. This is slightly modified to drop an
additional Python 2.7-only dependency from lower-constraints.txt.

[1] I52b03caee0ba700da3a15035201ea6cd91baa06b

Change-Id: I1068850072e639ee268d68ca82249f569a40310e
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-12-13 12:45:52 +00:00
Stephen Finucane
c56a635de1 nova-net: Remove 'nova-network' binary
Get excited, people. It's finally dying, for real. There is a lot more
doc work needed here, but this is a start. No need for a release note
modification since we've already said that nova-network has been
removed, so there's no point in saying that the service itself has been
removed since that's implicit.

Change-Id: I18d73212f9d98bc75974a024cf6fd872fdfb1ca4
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-11-27 09:36:17 +00:00
Stephen Finucane
19424403f4 nova-net: Remove 'nova-dhcpbridge' binary
There are actually a few things here that rely on a running
nova-dhcpbridge instances, but since it's not possible to start
nova-network now, that shouldn't matter.

Change-Id: I63447baeaac0be3fb7f919bfe588da50133c74d7
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-11-25 16:43:36 +00:00
Stephen Finucane
6537a537f9 Remove 'nova-console' service, 'console' RPC API
This legacy service was only compatible with the XenServer driver and
has effectively been replaced by the noVNC console proxy service. Remove
the service. The API that provided remote access to this service,
'os-consoles', was removed in a previous change. Note that
'os-remote-consoles' is unrelated and therefore is not removed, though
it will now reject requests for XVP VNC consoles.

This was previously discussed and agreed on openstack-dev [1] and
openstack-discuss [1].

Part of blueprint remove-xvpvncproxy

[1] http://lists.openstack.org/pipermail/openstack-dev/2018-October/135413.html
[2] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005369.html

Change-Id: Ib1ff32f04b16af7981471f67c8e0bf04e6ecb6be
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-11-22 16:09:38 +00:00
Luigi Toscano
33a2a5f2e4 (Temporarily) readd bare support for py27
Revert part of the changes from
Ie1a0cbd82a617dbcc15729647218ac3e9cd0e5a9

This way it is possible again for nova to be installed
using python 2, thus allowing other devstack-based
jobs to work until everything switches to python 3
according the plans.

While py2 support may break anytime, its days are limited anyway.

Change-Id: I99ff84e6c1c033c28d499b0b8ac17ac5b0565f61
2019-11-19 15:38:33 +01:00
Stephen Finucane
14872caae1 Stop testing Python 2
It's Ussuri. We can *finally* stop testing Python 2 [1]. Time to party.
We don't attempt any cleanup but simply stop testing with Python 2,
indicate that we only support Python 3 via 'setup.cfg' and remove any
Python 2 only dependencies. Our 'tox.ini' is modified such that
'functional' now runs with 'python3', whatever that may point to, though
the gate will only use a versioned variant (currently
'functional-py36').

This should free up a significant amount of resources from the gate and
let us start using Python 3 idioms in our code. Win-win.

[1] https://governance.openstack.org/tc/resolutions/20180529-python2-deprecation-timeline.html#python2-deprecation-timeline

Change-Id: Ie1a0cbd82a617dbcc15729647218ac3e9cd0e5a9
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-11-18 10:31:06 +00:00
Stephen Finucane
f223ae5828 setup.cfg: Cleanup
- pbr hasn't need the hook configuration since forever [1]
- We don't distribute eggs, so there's no need to include configuration
  for same
- nova-based entrypoints are grouped
- The 'wheel' group is renamed to 'bdist_wheel' [2]

[1] c84876dc0f
[2] f7c9878712

Change-Id: I1bc60eab58055bd6217ddb7c7c5c2e3bd6fb539e
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-10-11 19:00:56 +01:00
Stephen Finucane
a1d3519dcc Rename 'nova.common.config' module to 'nova.middleware'
There was only one sub-module in 'nova.common' but its presence
interferes with tab complete for the majority of people that want
'nova/compute'. Just move that sub-module to its own top-level module
and be done.

Change-Id: Iee886d915577f347e1ee4f54133ae0f87ae75841
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-08-16 00:53:03 +01:00
Stephen Finucane
2398b78df5 Remove nova-consoleauth
Obliterate all references to the aforementioned service. This mostly
consists of removing the core service and any references to the now
removed '[workarounds] enable_consoleauth' configuration option.

Part of blueprint remove-consoleauth

Change-Id: I0498599fd636aa9e30df932f0d893db5efa23260
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Depends-On: Icfc175c49a1fc650d1c9ad06b77209a70c6386db
2019-07-05 15:04:47 +00:00
ZhongShengping
0973fbe21f Update Python 3 test runtimes for Train
This goal is to implement the process set out in the 2018-10-24 Python
Update Process TC resolution[1], for the Train cycle to ensure unit
testing is in place for all of the Tested Runtimes for Train[2].
In practice, this generally means adding unit tests for Python 3.7 and dropping
unit tests for Python 3.5. Using the Zuul template for Train will ensure that
all projects that support Python3 will be tested against the agreed runtime
versions, and make it easier to update them in future.

[1]https://governance.openstack.org/tc/resolutions/20181024-python-update-process.html
[2]https://governance.openstack.org/tc/reference/runtimes/train.html

Change-Id: I095770fabafda1a7735c2711d4df061a6dc2bb78
Depends-On: https://review.opendev.org/#/c/641878/
2019-05-09 17:35:43 +08:00
Chris Dent
70a2879b2c Delete the placement code
This finalizes the removal of the placement code from nova.
This change primarily removes code and makes fixes to cmd,
test and migration tooling to adapt to the removal.

Placement tests and documention were already removed in
early patches.

A database migration that calls
consumer_obj.create_incomplete_consumers in nova-manage has been
removed.

A functional test which confirms the default incomplete
consumer user and project id has been changes so its its use of
conf.placement.incomplete_* (now removed) is replaced with a
constant. The placement server, running in the functional
test, provides its own config.

placement-related configuration is updated to only register those
opts which are relevant on the nova side. This mostly means
ksa-related opts. placement-database configuration is removed
from nova/conf/database.

tox.ini is updated to remove the group_regex required by the
placement gabbi tests. This should probably have gone when the
placement functional tests went, but was overlooked.

A release note is added which describes that this is cleanup,
the main action already happened, but points people to the
nova to placement upgrade instructions in case they haven't
done it yet.

Change-Id: I4181f39dea7eb10b84e6f5057938767b3e422aff
2019-04-28 20:06:15 +00:00
Zuul
013aa1915c Merge "Remove 'nova-cells' service" 2019-04-16 08:25:34 +00:00
Ghanshyam Mann
6321f01f0c Dropping the py35 testing
All the integration testing has been moved to
Bionic now[1] and py3.5 is not tested runtime for
Train or stable/stein[2].

As per below ML thread, we are good to drop the py35
testing now:
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005097.html

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004647.html
[2]
https://governance.openstack.org/tc/reference/runtimes/stein.html
https://governance.openstack.org/tc/reference/runtimes/train.html

Change-Id: Ia1289f038b92c36dbdd79bcdf12d7cb95a3e5aa9
Signed-off-by: zhangyangyang <zhangyangyang@unionpay.com>
2019-04-15 03:07:18 +00:00
Stephen Finucane
a4743f982a Remove 'nova-cells' service
We're going to start unpicking this stuff from the top down. Start with
the 'nova-cells' executable itself.

Part of blueprint remove-cells-v1

Change-Id: I5bd1dd9f1bbae7a977ab9e032c4f4d200c35e193
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-04-09 17:15:37 +01:00
ZhongShengping
ba0502182e Update mailinglist from dev to discuss
openstack-dev was decomissioned this night in https://review.openstack.org/621258
Update openstack-dev to openstack-discuss

Change-Id: If51f5d5eb710e06216f6d6981a70d70b6b5783cc
2018-12-05 09:44:35 +08:00
Matt Riedemann
25dadb94db Remove the CachingScheduler
The CachingScheduler has been deprecated since Pike [1].
It does not use the placement service and as more of nova
relies on placement for managing resource allocations,
maintaining compabitility for the CachingScheduler is
exorbitant.

The release note in this change goes into much more detail
about why the FilterScheduler + Placement should be a
sufficient replacement for the original justification
for the CachingScheduler along with details on how to migrate
from the CachingScheduler to the FilterScheduler.

Since the [scheduler]/driver configuration option does allow
loading out-of-tree drivers and the scheduler driver interface
does have the USES_ALLOCATION_CANDIDATES variable, it is
possible that there are drivers being used which are also not
using the placement service. The release note also explains this
but warns against it. However, as a result some existing
functional tests, which were using the CachingScheduler, are
updated to still test scheduling without allocations being
created in the placement service.

Over time we will likely remove the USES_ALLOCATION_CANDIDATES
variable in the scheduler driver interface along with the
compatibility code associated with it, but that is left for
a later change.

[1] Ia7ff98ff28b7265058845e46b277317a2bfc96d2

Change-Id: I1832da2190be5ef2b04953938860a56a43e8cddf
2018-10-18 17:55:36 -04:00
zhangyangyang
92a459331f 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
0a461979df 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
4a55e260a4 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
a55608897e 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
c21ab6b134 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
975fdcfc3b Merge "setup.cfg: Explicitly set [build_sphinx] builder" 2018-03-12 22:59:03 +00:00
Stephen Finucane
936404b90a 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
c99fc64271 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
494fe90cf4 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
3f7995f586 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
10c4bf888f 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
d8928e4a7c 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
c11e9c4848 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
80f0428033 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
e62d931025 Merge "Use plain routes list for extension_info instead of stevedore" 2017-07-21 06:35:48 +00:00
Jenkins
c55c5196d5 Merge "Use plain routes list for os-snapshots instead of stevedore" 2017-07-21 06:20:27 +00:00