This patch contains the changes required to adapt the rescue
extension and the corresponding unittest to the v3 framework
Partially implements blueprint nova-v3-api
Change-Id: Iaa6d0cf7708b0887512db952b1e26ccde75d24ef
Alphabetize the v3 API extension point list in setup.cfg. With lots
of extensions being ported to V3 and an entry needed in setup.cfg for
each one and multiple people working on the ports if we always just
add an entry to the end of the list we are going to get a lot of merge
conflicts. To minimise the number of conflicts we'll try keeping the
list in alphabetical order and the number of conflicts should drop
as the list gets longer.
Change-Id: I386ec9bdb99660861d80f47923855e73f474a15f
Ports the core consoles API functionality to the V3 API as a
plugin along with the corresponding tests
Partially implements blueprint v3-api-core-as-extensions
Change-Id: Iada86afbfeed055942fef554d12cd36385aa2e1f
Port the core ips api to the V3 API as plugins along
with the corresponding tests for the ips and servers API.
Partially implements blueprint v3-api-core-as-extensions
Change-Id: I6e9f8ab71745791e6bc18999810f39764cd40116
This is the second patch for the new extension framework
which is only to be used by the Nova v3 API.
- Adds tracking of extensions loaded and allows
extensions access to this information
- Adds core API functionality as extensions
- 'server'
- Adds an entry point that other extensions can
use to modify the server create arguments without
having to modify the server extension itself
- TODO: Will have to add more entry points as other
extensions are ported. Delaying adding entry points
now so they can be tested as they are added.
- Adds port of os-keypairs extension
- This is an example of a controller extension in the new
framework
- This is an example of using the server extension entry
point to add functionality without modify the core API code
- Ports tests for the os-keypairs extensions
- Adds v3 API fake specific code for tests
This completes the bulk of the new extension framework. Porting
of the server tests will be done in future changesets as more
of the core API is ported across as the tests are dependent
on multiple core APIs.
Partially implements blueprint v3-api-extension-framework
Change-Id: Ibadb5bbe808c27d2f4afebe65c06a92576397085
This is the initial patch for the new extension framework to be used
by the Nova v3 API. It will only be used by v3 API extensions
and not v2 API extensions. v3 API extensions will only use this plugin
framework and will not be compatible with the old one.
- Sets up a /v3 url prefix
- Looks in an entry point namespace of nova.api.extensions
- The fixed_ips extensions is ported to /v3 as an example of
a resource extensions. Required changes are very minor.
- All extensions must derive from the V3APIExtensionBase class
- Drops updated field from extensions, replaced with version field
- Ports tests for fixed_ips extension
- None of the core has been ported in this patch, though
the example extension works without it. The intent is
to port the core code over as plugins as well. There will still
be a conceptual core however I don't think we need a separate directory
for core.
This is the first of a series of patches to add support for the
new extension framework. Future direction including support
for controller extensions, removal of extension code in core
code etc can be seen here:
https://github.com/cyeoh/nova/tree/v3_api_extension_framework
Partially implements blueprint v3-api-extension-framework
Change-Id: I88aa6353ad1d74cac51abbb6aac7274b1567485a
Declarative approach to packaging, obviates the need for copying files.
Also, removes the need for setup.py to import files from the nova
module.
./run_tests.sh now ensure's that nova.egg-info/entry_points.txt is up to
date before running tests.
Change-Id: I7b7a18e065a62491ade54fbed5d8400db1d4e6c7
Convert nova from using nosetests to testr for its test runner. Some
tests had to be modified to get them to run properly under testr.
run_tests.sh has been updated to run testr instead of nosetests.
Coverage is collected by running subunit.run under coverage.py when the
coverage environment is selected.
Note that you will need to rebuild your virtualenvs as nose is being
removed from the dependency lists and is being replaced by testr. Tests
will run in different processes once this test is merged so you cannot
use test classes to pass information between tests. Each test should be
a proper independent unit. Additionally the -x and -d flags to
run_tests.sh have been removed as there are currently no decent
approximations for those functions.
Change-Id: I019ca098972ca749b195f59968cf21edd5ba9109
Nosetests' detailed error reporting breaks when running testtools tests.
Disable this plugin to get proper error reporting.
Change-Id: I4898f567e8588e1dd61940486dfc515e459adc34
Shrink tox.ini to the new short version.
Fix the test cases to be able to be run in nosetets plus the
openstack.nose_plugin, which finally removes the need for
nova/testing/runner.py
Also, now we'll just output directly to stdout, which will
make nose collect the trace logging directly and either output
it at the end of the run, or inject it into the xunit output
appropriately.
Change-Id: I1456e18a11a840145492038108bdfe812c8230d1
If we structure things like this, we can get things
actually, you know, installed.
Locales ast and oc aren't supported by babel. We'll re-import them
from Launchpad once we get babel updated.
If you want translations installed, run:
python setup.py compile_catalog
Before you run either setup.py sdist or setup.py install
More work is needed to actually properly use the installed translations, but
we're closer.
Change-Id: I4a4bedd982c89063aa09688c9cbcf97054bcb34b
We moved to DistUtilsExtra because it promised a more automatic workflow
from setup.py. It doesn't actually deliver though, and it also vomits
warnings during setup.py usage, and also breaks pip integration.
So this is going back to babel. Mostly folks shouldn't need to know
anything about this. We'll need to update the translations import
jobs in Jenkins, and we might need to add a corresponding translations
upload job that runs post-merge.
Translations installation doesn't fully work - but it actually wasn't fully
working before. Getting this part of the project done now though is a
pre-requisite for using tox for multi-python testing (tox starts by
creating an sdist tarball and then installing it into the venv, which
is just 100% broken with DistUtilsExtra)
Change-Id: I126e1bcfab0656eab6ca10de67d3d2aaa8b844f3