Merge "Allow no configured sources, provide a default file"

This commit is contained in:
Jenkins 2012-11-05 10:58:39 +00:00 committed by Gerrit Code Review
commit ce853d0977
4 changed files with 32 additions and 20 deletions

View File

@ -37,13 +37,10 @@ if __name__ == '__main__':
cfg.CONF(sys.argv[1:]) cfg.CONF(sys.argv[1:])
logging.setup('ceilometer.api') logging.setup('ceilometer.api')
root = app.app root = app.make_app()
# Enable debug mode # Enable debug mode
if cfg.CONF.verbose or cfg.CONF.debug: if cfg.CONF.verbose or cfg.CONF.debug:
root.debug = True root.debug = True
# Install the middleware wrapper
root = acl.install(root, cfg.CONF)
root.run(host='0.0.0.0', port=cfg.CONF.metering_api_port) root.run(host='0.0.0.0', port=cfg.CONF.metering_api_port)

View File

@ -24,23 +24,36 @@ from ceilometer.openstack.common import cfg
from ceilometer.openstack.common import jsonutils from ceilometer.openstack.common import jsonutils
from ceilometer import storage from ceilometer import storage
from ceilometer.api import v1 from ceilometer.api import v1
from ceilometer.api import acl
app = flask.Flask('ceilometer.api')
app.register_blueprint(v1.blueprint, url_prefix='/v1')
storage.register_opts(cfg.CONF) storage.register_opts(cfg.CONF)
@app.before_request def make_app(enable_acl=True, attach_storage=True):
def attach_config(): app = flask.Flask('ceilometer.api')
flask.request.cfg = cfg.CONF app.register_blueprint(v1.blueprint, url_prefix='/v1')
storage_engine = storage.get_engine(cfg.CONF)
flask.request.storage_engine = storage_engine
flask.request.storage_conn = storage_engine.get_connection(cfg.CONF)
try:
with open("sources.json", "r") as f:
sources = jsonutils.load(f)
except IOError:
sources = {}
@app.before_request @app.before_request
def attach_sources(): def attach_config():
with open("sources.json", "r") as f: flask.request.cfg = cfg.CONF
flask.request.sources = jsonutils.load(f) flask.request.sources = sources
if attach_storage:
@app.before_request
def attach_storage():
storage_engine = storage.get_engine(cfg.CONF)
flask.request.storage_engine = storage_engine
flask.request.storage_conn = \
storage_engine.get_connection(cfg.CONF)
# Install the middleware wrapper
if enable_acl:
return acl.install(app, cfg.CONF)
return app

View File

@ -26,13 +26,14 @@ import flask
from ceilometer.tests import db as db_test_base from ceilometer.tests import db as db_test_base
from ceilometer.api import v1 from ceilometer.api import v1
from ceilometer.api import app from ceilometer.api import app
from ceilometer.openstack.common import cfg
class TestBase(db_test_base.TestBase): class TestBase(db_test_base.TestBase):
def setUp(self): def setUp(self):
super(TestBase, self).setUp() super(TestBase, self).setUp()
self.app = flask.Flask('test') self.app = app.make_app(enable_acl=False, attach_storage=False)
self.app.register_blueprint(v1.blueprint) self.app.register_blueprint(v1.blueprint)
self.test_app = self.app.test_client() self.test_app = self.app.test_client()
@ -40,8 +41,6 @@ class TestBase(db_test_base.TestBase):
def attach_storage_connection(): def attach_storage_connection():
flask.request.storage_conn = self.conn flask.request.storage_conn = self.conn
self.app.before_request(app.attach_sources)
def get(self, path, **kwds): def get(self, path, **kwds):
if kwds: if kwds:
query = path + '?' + urllib.urlencode(kwds) query = path + '?' + urllib.urlencode(kwds)

View File

@ -0,0 +1,3 @@
{
"openstack": {}
}