
The current trove impl loads trove API extensions by searching on a single file path which is exposed as a conf property. This results in a less than optimal approach from a consumer extension POV. This change replaces the single extension path approach with dyanmic loading using stevedore. Consumers can now bind into the API extensions using the 'trove.api.extensions' entry point; a standard means to define extension points. Moreover this change refactors to the trove.openstack.common.extensions logic into trove.common.extensions. In addition this change includes base unit tests to ensure the existing trove proper extension points are loaded and that some basic checks are in place W/R/T validating trove extension points. Change-Id: Id3e712b536aef3bc9c9d1603367cdc0d4816b970 Implements: blueprint dynamic-extension-loading
63 lines
1.6 KiB
INI
63 lines
1.6 KiB
INI
[metadata]
|
|
name = trove
|
|
version = 2014.2
|
|
summary = OpenStack DBaaS
|
|
description-file =
|
|
README.rst
|
|
author = OpenStack
|
|
author-email = openstack-dev@lists.openstack.org
|
|
home-page = http://www.openstack.org/
|
|
classifier =
|
|
Environment :: OpenStack
|
|
Intended Audience :: Information Technology
|
|
Intended Audience :: System Administrators
|
|
License :: OSI Approved :: Apache Software License
|
|
Operating System :: POSIX :: Linux
|
|
Programming Language :: Python
|
|
Programming Language :: Python :: 2
|
|
Programming Language :: Python :: 2.7
|
|
Programming Language :: Python :: 2.6
|
|
|
|
[files]
|
|
packages =
|
|
trove
|
|
|
|
[entry_points]
|
|
console_scripts =
|
|
trove-api = trove.cmd.api:main
|
|
trove-taskmanager = trove.cmd.taskmanager:main
|
|
trove-mgmt-taskmanager = trove.cmd.taskmanager:mgmt_main
|
|
trove-conductor = trove.cmd.conductor:main
|
|
trove-manage = trove.cmd.manage:main
|
|
trove-guestagent = trove.cmd.guest:main
|
|
trove-fake-mode = trove.cmd.fakemode:main
|
|
|
|
trove.api.extensions =
|
|
account = trove.extensions.routes.account:Account
|
|
mgmt = trove.extensions.routes.mgmt:Mgmt
|
|
mysql = trove.extensions.routes.mysql:Mysql
|
|
security_group = trove.extensions.routes.security_group:Security_group
|
|
|
|
[global]
|
|
setup-hooks =
|
|
pbr.hooks.setup_hook
|
|
|
|
[build_sphinx]
|
|
all_files = 1
|
|
build-dir = doc/build
|
|
source-dir = doc/source
|
|
|
|
[compile_catalog]
|
|
directory = trove/locale
|
|
domain = trove
|
|
|
|
[update_catalog]
|
|
domain = trove
|
|
output_dir = trove/locale
|
|
input_file = trove/locale/trove.pot
|
|
|
|
[extract_messages]
|
|
keywords = _ gettext ngettext l_ lazy_gettext
|
|
mapping_file = babel.cfg
|
|
output_file = trove/locale/trove.pot
|