Add a configuration option 'use_rootwrap_daemon' to
switch on the rootwrap daemon mode support. This
option is switched off by default to keep the current
behavior as is.
The code honors the various options available in
processutils.execute() like 'attempts', 'delay_on_retry'
etc to ensure that we don't regress any current behavior.
DocImpact
Part of blueprint nova-rootwrap-daemon-mode
Depends-On: I80c7b9dd8e9e0f940aa4e54a95b241dfc40d3574
Change-Id: I57dc2efa39b86fa1fa20730ad70d056e87617c96
This is part of the v3 cleanup effort. The last remaining files in the
n/t/u/a/o/c/plugins/v3 directory have been moved to the base directory,
and all references to them have been updated to reflect the new paths.
Partial-Bug: #1462901
Change-Id: I38d97803b1a9caea98a1b043b2bc2ad774add3b3
Commit bd7e62f796fe951fd42c2edad56e252a0b7393c8 disabled the
autodoc_index_modules flag for building docs but it wasn't really
necessary, that change was just to get the module index out of the main
docs page.
We want to autodoc the modules so we can view the actual module index in
the tox -d docs build results, which also tells us if we have correct
ReST format in doc strings.
Notes
-----
1. Several doc string blocks have to be fixed as part of this to get
the docs tox job to pass.
2. A docstring in vhdutilsv2 is updated to remove the math directive
since that requires the sphinx.ext.pngmath extension which requires
latex and dvipng packages from the distro - which is overkill for
what the docstring was actually doing with the math directive.
3. We exclude autodoc for tests since we don't really care about
docstrings on unit tests.
4. We exclude the nova.wsgi.nova-* modules since those won't build with
autodoc since they can't be imported (there is no
nova/wsgi/__init__.py module). We could arguably add the __init__.py
but it's not really necessary for what those scripts are used for.
5. The sphinx.ext.ifconfig extension is removed since there are no docs
that use the ifconfig directive.
6. Update the developer docs to explicitly point out that graphviz must
be installed prior to running tox -e docs.
7. Hide doc/source/api/autoindex.rst from the toctree so that we don't
regress the point of commit bd7e62f796fe951fd42c2edad56e252a0b7393c8.
8. unused_docs and exclude_trees options are removed from conf.py since
they are deprecated in Sphinx 1.2.3:
https://github.com/sphinx-doc/sphinx/blob/1.2.3/sphinx/config.py#L54
9. Fix imports for moved libvirt volume options.
Closes-Bug: #1471934
Change-Id: I946e2f89f2c9fc70e870faaf84e4a8b0fc703344
The compute monitor plugins were being loaded using the nova.loadables
module. This patch uses the stevedore library to load monitor
extensions. We keep the same semantics as the previous loading
mechanism: we use the CONF.compute_monitors configuration option to
winnow the set of all monitor plugins, and we ensure that no two
monitors that return the same set of metrics will be loaded.
However, this patch deprecates the CONF.compute_available_monitors
configuration option, since stevedore and setuptools entry points now
allow a set of plugins to be specified without any further configuration
options.
Change-Id: I97bf8bcd43faf9f3fe40983497c2360233d5f599
Fixes-bug: 1468012
DocImpact: deprecates the CONF.compute_available_monitors option.
Modules eventlet_backdoor, loopingcall, periodic_task,
service, sslutils, systemd, threadgroup were removed
from nova. These modules were imported from oslo.service
library.
Co-Authored-By: Marian Horban <mhorban@mirantis.com>
Depends-On: I305cf53bad6213c151395e93d656b53a8a28e1db
Change-Id: Iaef67e16af3d69f845742f7bdcb43667bf1576ee
Oslo team is actively getting rid of the old style generator.py
in openstack/common/config. So we should switch to the newer
oslo-config-generator which is the way forward. For simplicity's
sake, i used one single list_opts in opts.py. However we can
split this up and add entrypoints in setup.cfg if we decide to
do that instead.
blueprint oslo-config-generator
Change-Id: Ib7c72af7be47df08983708ac6da0ce103518b78c
Bump pre-version in setup.cfg to formally open Liberty development.
Kilo release branch will be cut from the previous commit.
Change-Id: I7cc3e0234cc320794551a78aa426fd14d6baf6f6
The pci plugin was only ever merged into the v3 (now v2.1 microversions)
and never the v2 API. Since v2.1 i meant to be identical to v2 it should not
appear in v2 either.
This change disables the pci api functionality in v2.1. It will be renabled
soon after microversions is enabled using a microversion bump.
Related-Bug: 1426241
Partially implements blueprint v2-on-v3-api
Change-Id: Ifc1d6f24d5a637270154b996087a98b41133e014
Stevedore lib support lazy loading, so this change replace
LazyPluggable class by stevedore extentions and remove it
Stevedore support usage of driver property since 0.4 release,
some of Openstack projects like glance is already using it.
Change-Id: I7d384a73861e18cac04e07f75abd60df7f183aa2
The preserve ephemeral on rebuild functionality was merged into the servers plugin
code. This should never have happened and the hook for handling extra parameters
for the rebuild api used instead (otherwise we end up with monster functions).
This patch splits the relevant bits out to their own plugin.
Partially implements bp v2-on-v3-api
Change-Id: I0f35f897b9470039d509a97e6513c6cc806169b4
Although os-user-data has an entry in nova.api.v3.extensions.server.create
in setup.cfg it is missing one in the general nova.api.v3.extensions list.
Without an entry the plugin does not appear in the extension list so this
patch adds an entry for it.
Partially implements blueprint v2-on-v3-api
Change-Id: I13fa049539b07ff901b36ae18eca59fbb1354794
Adds support for specifying api versioning information
on api methods and the infrastructure to route requests
to the correct method based on the request information.
The api_version decorator allows us to retain the same
method name for different implementations (versions) of
the API method (GET/PUT/POST, etc).
Note that currently the @api_version decorator must
be the first (outermost) decorator on an API method.
We should in future have at least a hacking rule to enforce
this but better would be to remove this restriction.
Partially Implements Blueprint api-microversions
Change-Id: Ifb6698c582d37284c42b9b81100a651fd8d1dd1a
Ports virtual-interfaces extension and adapts it to the
v2.1/v3 API framework. API behaviour is identical.
- unittest code modified to share testing with both v2/v2.1
- Adds expected error decorators for API methods
Partially implements blueprint v2-on-v3-api
Change-Id: Ic25ae83ecfaaa461b6ddd044e04af844d02dd6b7
This patch ports floating_ips extension from v2 to v2.1,
and have v2 unit test cases shared between v2.1 and v2.
Partially implements blueprint v2-on-v3-api
Change-Id: Ib06c0d6c7ff123f09a99ed94f4b0009695897602
Moves definition of API_EXTENSION_NAMESPACE to a method so we can
mock it for unittests. This will allow us to do much better
unittesting for the API framework including the new microversion
features. It will also allow us to cleanup other framework type
tests which currently rely on real plugins.
Partially implements blueprint api-microversions
Change-Id: I093e15483fc84d823c09c84a218e5eb14f1de607
User can specify 'personality' attribute while server creation
& rebuild to inject files into server.
This patch implement this as separate plugin for V2.1 API.
Also define the schema and unit tests for the same.
Partially implements blueprint v2-on-v3-api
Change-Id: Ia0c527539af7fe33eba4999822476653e1b96bc6
Port v2 quota_classes extension and adapts it to the v2.1/v3 API
framework. API behaviour is identical with the exception that
there is no support for XML. Also
- unittest code modified to share existing testing with both
v2/v2.1
- Adds expected error decorators for API methods
- Adds API samples
Partially implements blueprint v2-on-v3-api
Change-Id: I372e9940f499d3e2cf621a58eafa9502d4e14cea
Nova does not support Python 2.6 anymore starting with Kilo and might
not work correctly with it, so remove the classifier.
Change-Id: If60c60af9ae28ce91bdcc3f7f47c906ec8250dd1
This patch ports assisted-volume-snapshots to v2.1 and make v2 and v2.1
share unit test cases.
This patch addes a schema to do the input validation for snapshots_create
The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3 .
Partially implements blueprint v2-on-v3-api
Change-Id: I5b7be1de8ac2628a287897dcc5ca0eaf7a8957a2
This patch adds 'instance-usage-audit-log' plugin for V2.1 API.
Also implement the API sample tests and share the unit tests
between V2 & V2.1.
Partially implements blueprint v2-on-v3-api
Change-Id: I152d00fb4b12942515d5db54a7ec381279c31ccd
This patch port security-group-default-rules into v2.1.
This patch just move the v2 code into v2.1 and share the unittest. The other
v2.1 related fix and improvement will be addressed by subsequent patchset.
Partially implements blueprint v2-on-v3-api
Change-Id: I4d65993d6413160d2c7c2eb2ce0c3f66768e1a36
This patch ports floating_ip_dns extention from v2 to v2.1,
and have v2 unit test cases shared between v2.1 and v2.
Partially implements blueprint v2-on-v3-api
Change-Id: Ia1316697c141fde2b431ba79aebae5986687a4fa
This patch ports floating_ips_bulk extention from v2 to v2.1,
and have v2 unit test cases shared between v2.1 and v2.
Partially implements blueprint v2-on-v3-api
Change-Id: I9444ff9c394d530cb76dd4ac21b51cd4de7ef6dc
This patch ports baremetal-nodes(include baremetal-stat-ext)
to v2.1 and make v2 and v2.1 share unit test cases.
In v2.1/v3,baremetal-nodes will not depend on baremetal-stat-ext.
Partially implements blueprint v2-on-v3-api
Change-Id: I0f6a968897975ee91e76538d2ce7d2538044613e
This patch ports fixed_ip extention from v2 to v2.1,
and have v2 unit test cases shared between v2.1 and v2.
Partially implements blueprint v2-on-v3-api
Change-Id: Ifa7e0dd5a91cfe881077b92aeb7019d0435d780a
Ports os-networks-associate extension and adapts it to the
v2.1/v3 API framework. API behaviour is identical.
- unittest code modified to share testing with both v2/v2.1
- Adds expected error decorators for API methods
Partially implements blueprint v2-on-v3-api
Change-Id: I6ccf9613abf999784c548fb058522ac60db7f052
Ports os-tenant-networks extension and adapts it to the v2.1/v3 API
framework. API behaviour is identical.
- unittest code modified to share testing with both v2/v2.1
- Adds expected error decorators for API methods
Partially implements blueprint v2-on-v3-api
Change-Id: I340c9b1312a3477c63d28f19df9611c95e67cde6
This patch ports floating_ip_pools extention from v2 to v2.1,
and have v2 unit test cases shared between v2.1 and v2.
Partially implements blueprint v2-on-v3-api
Change-Id: I0b34358db08a29e76a59b22a0992abc88296058d
Ports os-networks extension and adapts it to the v2.1/v3 API
framework. API behaviour is identical.
- unittest code modified to share testing with both v2/v2.1
- Adds expected error decorators for API methods
Partially implements blueprint v2-on-v3-api
Change-Id: I94b7b476cbb02725a396725a379417b64afd58a7
This patch ports couldpipe extension from v2 to v2.1,
and have v2 unit test cases shared between v2.1 and v2.
Partially implements blueprint v2-on-v3-api
Change-Id: Id40c637c0fc207e97b1d094805eb0cee6e9cd9c9
This patch removes the baremetal virt driver from nova, which was
deprecated in Juno. It does not aim to perform any of the refactoring
we need to do now that the driver is gone, but is intended as a clean
removal of all the baremetal code itself.
Of specific note are the api_samples tests. We didn't have samples to
test the ironic proxy code, so I removed the baremetal ones for show
and index, resetting that extension back to "untested" status as if it
was new.
Tests that stub out ironic interactions and re-introduce those tests
should be added after this patch.
Change-Id: Ia76e41a8a3b7230701872ae7a1975edc3d9ea847
This patch ports v2 disk_config extension to v2.1.
Unittest code modified to share testing with both v2/v2.1.
API sample file and their tests have been added.
Also added extension point of server resize V3.
Partially implements blueprint v2-on-v3-api
Change-Id: Id2aace8121a310f8c86c6a9cc532bd1074d653c4
Ports v2 fping extension and adapts it to the v2.1/v3 API
framework. API behaviour is identical.
- unittest code modified to share testing with both v2/v2.1
- Adds expected error decorators for API methods
Partially implements blueprint v2-on-v3-api
Change-Id: I8dc4ede46826bf6062097a3b4ba6be9a09a1bd12