This framework was merged a year ago and AFAICT hasn't seen use beyond
the two initial wikimedia extensions.
The framework basically allows a way for a single plugin to register API
extensions and notification drivers. Both of these can be done by
directly using config opts like osapi_compute_extension and
notification_driver so this framework really only helps if we expected
to (and wanted to) lots of these plugins in the wild.
Change-Id: I09a11f9931ee0436a56e8b0d925683b54f73b104
When there's 2 options with the same name, the script gets confused and
doesn't know in which group it goes. This fixes it, and fixes also the
template generation which is broken for various reasons:
- gettext.install was missing
- nova-rootwrap when imported calls exit() because it doesn't find a valid
configuration file, so let's exclude it entirely anyway
- eventlet/greendns needs to be ignored for this
Change-Id: Iaa4e9a806e79032ce1675b46a6b7a7628c3eff89
Signed-off-by: Julien Danjou <julien@danjou.info>
Including 'correlation_id' middleware from oslo-incubator.
Adding this to openstack-common.conf to copy over the middleware to
the location nova/openstack/common/middleware
Change-Id: I21b27e8dae585345d03d59c125d9e1bbea95f830
Implements: blueprint cross-service-request-id
Oslo provides an equivalent implmentation of `bool_from_str` so we
should switch the code to use that instead.
Change-Id: I382f23af2468e276ae4342dff18cf06e1c24b755
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
Tests in oslo-incubator now need the horrendous hack to workaround an
issue with eventlet on RHEL6. We've moved the patch_tox_venv tool
and redhat-eventlet.patch into oslo-incubator, so add them to
openstack-common.conf.
Change-Id: I1acfec282b64d7582144b155119bedb1741db2f7
I'll move nova across to this in the next review, I just want to
make the import clearly separate.
Change-Id: I4eefd9c73d443afcd0697ff5ddd59abf315b10e5
Import the oslo looping call implementation (which is a copy of
nova's), delete nova's local copy, convert all users to the new
location.
It should be noted that the oslo implementation of
FixedIntervalLoopingCall measures time from the start of the
periodic task, not the end, so periodic tasks will run with a
constant frequency instead of the frequency changing depending on
how long the periodic task takes to run.
Change-Id: Ia62ce1988f5373c09146efa6b3b1d1dc094d50c4
Use the new 'module' option in openstack-common.conf which is a
multi-string option, allowing each module name to be placed on a
separate line.
This makes it much easier to review changes to the modules list.
Change-Id: I218601a3720287071f05b9f2f624c1de4442d34f
DB exceptions have moved to openstack/common/db/exception module so that
they can be shared with multiple DB implementations.
Deadlock checking was also added to oslo to consolidate with
DuplicateKey checking. This allows us to clean up our
_retry_on_deadlock decorator in sqlalchemy/api.py
Fixes unrelated pep8 issue with duplicate test in test_compute also.
Change-Id: I7e985b384d1ef345e0d67c919b84b4faff869699
The eventlet db_pool wrapping done in sqlalchemy is wrong. It needs to
be around the whole DB API call.
Fixes bug 1128605
Syncs nova with the fix in oslo. Moves nova to use the oslo version of
db/api.py to import the DB API implementation.
Renames configuration option sql_dbpool_enable to dbapi_use_tpool
NOTE: tpool will not work without a fix to eventlet for Threads + locking.
DocImpact
Change-Id: I6c75b6138d38d12261d133f2cb2f5e59c667f837
The cfg API is now available via the oslo-config library, so switch to
it and remove the copied-and-pasted version.
Add the 2013.1b4 tarball to tools/pip-requires - this will be changed
to 'oslo-config>=2013.1' when oslo-config is published to pypi. This
will happen in time for grizzly final.
Add dependency_links to setup.py so that oslo-config can be installed
from the tarball URL specified in pip-requires.
Remove the 'deps = pep8==1.3.3' from tox.ini as it means all the other
deps get installed with easy_install which can't install oslo-config
from the URL.
Make tools/hacking.py include oslo in IMPORT_EXCEPTIONS like it already
does for paste. It turns out imp.find_module() doesn't correct handle
namespace packages.
Retain dummy cfg.py file until keystoneclient middleware has been
updated (I18c450174277c8e2d15ed93879da6cd92074c27a).
Change-Id: I4815aeb8a9341a31a250e920157f15ee15cfc5bc
Bring in the new database code from oslo.
Uses get_session() from oslo as well as changing NovaBase to derive from
a common class.
Remove test_sqlalchemy.py now that this code is test in oslo.
Implements blueprint db-common.
Change-Id: I090754981c871250dd981cbbe1a08e7181440120
This syncs install_venv_common.py from oslo and reworks the
tools/install_venv.py script to use the new library.
Change-Id: I020eae1ec9e3a6aae0ecc7825c0ef723ab247f39
- Added notifier files to openstack-common.conf, merged from common.
- Import notifiers from common rather than nova.
- Removed nova-specific notifier code.
- Update some driver paths to refer to the new location within nova.
Should be a no-op, as the common notification code is freshly copied from Nova.
Change-Id: Icdf892bc3826b683fc74f22ead00939beda2859f
This patch adds gettextutils from openstack-common to nova. It is used
by rpc, so some parts of rpc are broken without this patch.
Change-Id: I0830319f4e2011b87180abcc24354c935bea8d16
Final patch for blueprint common-rpc.
This patch removes nova.rpc in favor of the copy in openstack-common.
Change-Id: I9c2f6bdbe8cd0c44417f75284131dbf3c126d1dd
This patch imports jsonutils from openstack-common. It removes the
equivalent code from nova.utils and then converts the code base to use
jsonutils. The primary motivator for this change was to remove the rest
of the dependencies from nova.rpc on nova.utils.
Change-Id: If43658b9b098ed56cba018c81be268b8c3e2916a
Ubuntu uses a tarball to generate packages for Nova and
other openstack projects. This allows the user to find out
what is included in the tarball.
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Change-Id: I0291e19eee1ff2c5fc98b499571b2563841c6076
This patch common.excutils from openstack-common, which includes
save_and_reraise_exception(). The patch also converts the code
base to use it from there instead of nova.utils and then removes
it from nova.utils.
The initial motivation for this was removing another nova dependency
from nova.rpc so that it can eventually be moved to openstack-common.
Change-Id: I7354ca51a02aec9c709cf33f77d4abc46acc2742
This patch updates common.importutils from openstack-common. The change
was to remove the usage of common.exception. The rest of the patch
includes the changes required in nova to no longer use common.exception,
as well.
Change-Id: Iacd186b2c466cba84248ae10589ffbb5a9cec0ba
Use import_class(), import_object(), and import_module() from
openstack-common's importutils module. The equivalent functions have
been removed from nova.utils. A few modules had import order cleaned up
in passing, as well.
My initial motivation for this was to remove some more usage of nova
bits from nova.rpc as another step towards being able to move nova.rpc
import openstack-common. Since I was pulling importutils into nova, I
went ahead and converted the whole thing.
Change-Id: I7c7786cf0001bcd06db52b9a99ff4284a3f6c6fa
nova.local was recently added to openstack-common. Remove nova.local
and use openstack.common.local instead.
One benefit of this change is that it is another step toward decoupling
nova.rpc from the rest of nova.
Change-Id: I0240f4291a81f8390d3f329a11f207a1453d7cab
Use openstack-common's update.py script to pull in some recent changes:
* Add the Mapping interface to cfg.ConfigOpts
* Add support to cfg for disabling interspersed args
Make use of both of these in nova/flags.py.
Add some dire warnings to HACKING about directly modifying the copy of
openstack-common code. I'm confident they won't be ignored :-)
Change-Id: I7ef75d18922c0bbb8844453b48cad0418034bc11