Fixes trove-api daemon fake mode functionality.

This commit adds code to register taskmanager as a fake endpoint.
This allows the fake daemon to work again.

Fixes bug 1238901
Change-Id: Icb7c97cad3d76dc36a38126eb7f8b5929dc0d591
This commit is contained in:
Tim Simpson 2013-10-11 12:47:43 -05:00 committed by Craig Vyvial
parent 8f88998d40
commit eb81a1e963
7 changed files with 21 additions and 6 deletions

2
.gitignore vendored
View File

@ -15,7 +15,7 @@ dist/
host-syslog.log host-syslog.log
tags tags
.tox .tox
rdtest.log trovetest.log
trove/versioninfo trove/versioninfo
AUTHORS AUTHORS
ChangeLog ChangeLog

View File

@ -12,7 +12,7 @@ function run() {
run bin/trove-manage \ run bin/trove-manage \
--config-file=etc/trove/trove.conf.test db_wipe \ --config-file=etc/trove/trove.conf.test db_wipe \
trove_test.sqlite mysql fake trove_test.sqlite mysql fake
run bin/trove-server \ run bin/trove-fake-mode \
--fork --config-file=etc/trove/trove.conf.test \ --fork --config-file=etc/trove/trove.conf.test \
$@ $@

View File

@ -41,6 +41,7 @@ from trove.db import get_db_api
CONF = cfg.CONF CONF = cfg.CONF
if __name__ == '__main__': if __name__ == '__main__':
cfg.parse_args(sys.argv) cfg.parse_args(sys.argv)
logging.setup(None) logging.setup(None)

View File

@ -54,13 +54,23 @@ CONF = cfg.CONF
CONF.register_cli_opts(extra_opts) CONF.register_cli_opts(extra_opts)
def start_fake_taskmanager():
topic = CONF.taskmanager_queue
from trove.openstack.common.rpc import service as rpc_service
from trove.taskmanager import manager
manager_impl = manager.Manager()
taskman_service = rpc_service.Service(None, topic=topic,
manager=manager_impl)
taskman_service.start()
def run_server(): def run_server():
try: try:
get_db_api().configure_db(CONF) get_db_api().configure_db(CONF)
conf_file = CONF.find_file(CONF.api_paste_config) conf_file = CONF.find_file(CONF.api_paste_config)
launcher = wsgi.launch('trove', CONF.bind_port or 8779, conf_file, launcher = wsgi.launch('trove', CONF.bind_port or 8779, conf_file,
workers=CONF.trove_api_workers) workers=CONF.trove_api_workers)
start_fake_taskmanager()
launcher.wait() launcher.wait()
except RuntimeError as error: except RuntimeError as error:
import traceback import traceback
@ -68,7 +78,7 @@ def run_server():
sys.exit("ERROR: %s" % error) sys.exit("ERROR: %s" % error)
if __name__ == '__main__': def main():
cfg.parse_args(sys.argv) cfg.parse_args(sys.argv)
if CONF.override_logfile: if CONF.override_logfile:
CONF.use_stderr = False CONF.use_stderr = False
@ -87,3 +97,7 @@ if __name__ == '__main__':
f.write(str(pid)) f.write(str(pid))
else: else:
run_server() run_server()
if __name__ == '__main__':
main()

View File

@ -12,7 +12,7 @@ rpc_backend = trove.common.rpc.impl_fake
# This will remove some of the verbose logging when trying to diagnose tox issues # This will remove some of the verbose logging when trying to diagnose tox issues
default_log_levels=routes.middleware=ERROR,trove.common.auth=WARN default_log_levels=routes.middleware=ERROR,trove.common.auth=WARN
log_file = rdtest.log log_file = trovetest.log
use_stderr = False use_stderr = False

View File

@ -23,9 +23,9 @@ packages =
trove trove
scripts = scripts =
bin/trove-api bin/trove-api
bin/trove-fake-mode
bin/trove-manage bin/trove-manage
bin/trove-mgmt-taskmanager bin/trove-mgmt-taskmanager
bin/trove-server
bin/trove-taskmanager bin/trove-taskmanager
bin/trove-guestagent bin/trove-guestagent