Session does not use ceilometer.conf's database_connection
use [database]connection setting from openstack.common sqlalchemy session Change-Id: I582d4cb7d51d6ddecc27ae5fcdedcfd19dc898af Fixes: bug #1183106
This commit is contained in:
parent
0e2274253e
commit
9f6e3639fb
@ -35,13 +35,16 @@ STORAGE_ENGINE_NAMESPACE = 'ceilometer.storage'
|
||||
STORAGE_OPTS = [
|
||||
cfg.StrOpt('database_connection',
|
||||
secret=True,
|
||||
default='mongodb://localhost:27017/ceilometer',
|
||||
help='Database connection string',
|
||||
default=None,
|
||||
help='DEPRECATED - Database connection string',
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
cfg.CONF.register_opts(STORAGE_OPTS)
|
||||
cfg.CONF.import_opt('connection',
|
||||
'ceilometer.openstack.common.db.sqlalchemy.session',
|
||||
group='database')
|
||||
|
||||
|
||||
def register_opts(conf):
|
||||
@ -52,7 +55,9 @@ def register_opts(conf):
|
||||
|
||||
def get_engine(conf):
|
||||
"""Load the configured engine and return an instance."""
|
||||
engine_name = urlparse.urlparse(conf.database_connection).scheme
|
||||
if conf.database_connection:
|
||||
conf.database.connection = conf.database_connection
|
||||
engine_name = urlparse.urlparse(conf.database.connection).scheme
|
||||
LOG.debug('looking for %r driver in %r',
|
||||
engine_name, STORAGE_ENGINE_NAMESPACE)
|
||||
mgr = driver.DriverManager(STORAGE_ENGINE_NAMESPACE,
|
||||
|
@ -91,7 +91,7 @@ class Connection(base.Connection):
|
||||
'''
|
||||
Hbase Connection Initialization
|
||||
'''
|
||||
opts = self._parse_connection_url(conf.database_connection)
|
||||
opts = self._parse_connection_url(conf.database.connection)
|
||||
opts['table_prefix'] = conf.table_prefix
|
||||
|
||||
if opts['host'] == '__test__':
|
||||
|
@ -196,7 +196,7 @@ class Connection(base.Connection):
|
||||
}""")
|
||||
|
||||
def __init__(self, conf):
|
||||
opts = self._parse_connection_url(conf.database_connection)
|
||||
opts = self._parse_connection_url(conf.database.connection)
|
||||
LOG.info('connecting to MongoDB on %s:%s', opts['host'], opts['port'])
|
||||
|
||||
if opts['host'] == '__test__':
|
||||
|
@ -132,11 +132,11 @@ class Connection(base.Connection):
|
||||
"""SqlAlchemy connection."""
|
||||
|
||||
def __init__(self, conf):
|
||||
url = conf.database_connection
|
||||
url = conf.database.connection
|
||||
if url == 'sqlite://':
|
||||
url = os.environ.get('CEILOMETER_TEST_SQL_URL', url)
|
||||
LOG.info('connecting to %s', url)
|
||||
self.session = sqlalchemy_session.get_session(url, conf)
|
||||
self.session = sqlalchemy_session.get_session()
|
||||
|
||||
def upgrade(self, version=None):
|
||||
migration.db_sync(self.session.get_bind(), version=version)
|
||||
|
@ -43,7 +43,7 @@ cfg.CONF.register_opts(sql_opts)
|
||||
|
||||
|
||||
def table_args():
|
||||
engine_name = urlparse.urlparse(cfg.CONF.database_connection).scheme
|
||||
engine_name = urlparse.urlparse(cfg.CONF.database.connection).scheme
|
||||
if engine_name == 'mysql':
|
||||
return {'mysql_engine': cfg.CONF.mysql_engine,
|
||||
'mysql_charset': "utf8"}
|
||||
|
@ -39,7 +39,8 @@ class TestBase(test_base.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestBase, self).setUp()
|
||||
cfg.CONF.database_connection = self.database_connection
|
||||
cfg.CONF.set_override('connection', self.database_connection,
|
||||
group='database')
|
||||
self.conn = storage.get_connection(cfg.CONF)
|
||||
self.conn.upgrade()
|
||||
self.conn.clear()
|
||||
|
@ -444,7 +444,7 @@
|
||||
# Name of this node. Must be a valid hostname, FQDN, or IP
|
||||
# address. Must match "host" option, if running Nova. (string
|
||||
# value)
|
||||
#rpc_zmq_host=dex
|
||||
#rpc_zmq_host=ceilometer
|
||||
|
||||
|
||||
#
|
||||
@ -462,8 +462,8 @@
|
||||
# Options defined in ceilometer.storage
|
||||
#
|
||||
|
||||
# Database connection string (string value)
|
||||
#database_connection=mongodb://localhost:27017/ceilometer
|
||||
# DEPRECATED - Database connection string (string value)
|
||||
#database_connection=<None>
|
||||
|
||||
|
||||
#
|
||||
@ -482,19 +482,6 @@
|
||||
#cinder_control_exchange=cinder
|
||||
|
||||
|
||||
[api]
|
||||
|
||||
#
|
||||
# Options defined in ceilometer.api
|
||||
#
|
||||
|
||||
# The port for the ceilometer API server (integer value)
|
||||
#port=8777
|
||||
|
||||
# The listen IP for the ceilometer API server (string value)
|
||||
#host=0.0.0.0
|
||||
|
||||
|
||||
[publisher_udp]
|
||||
|
||||
#
|
||||
@ -588,6 +575,19 @@
|
||||
#topics=notifications
|
||||
|
||||
|
||||
[api]
|
||||
|
||||
#
|
||||
# Options defined in ceilometer.api
|
||||
#
|
||||
|
||||
# The port for the ceilometer API server (integer value)
|
||||
#port=8777
|
||||
|
||||
# The listen IP for the ceilometer API server (string value)
|
||||
#host=0.0.0.0
|
||||
|
||||
|
||||
[matchmaker_redis]
|
||||
|
||||
#
|
||||
@ -631,4 +631,4 @@
|
||||
#ringfile=/etc/oslo/matchmaker_ring.json
|
||||
|
||||
|
||||
# Total option count: 119
|
||||
# Total option count: 120
|
||||
|
@ -89,7 +89,7 @@ TEST_NOTICE = {
|
||||
class TestCollector(tests_base.TestCase):
|
||||
def setUp(self):
|
||||
super(TestCollector, self).setUp()
|
||||
cfg.CONF.set_override("database_connection", "log://")
|
||||
cfg.CONF.set_override("connection", "log://", group='database')
|
||||
|
||||
|
||||
class TestUDPCollectorService(TestCollector):
|
||||
|
@ -26,14 +26,14 @@ from ceilometer.storage import impl_log
|
||||
|
||||
def test_get_engine():
|
||||
conf = mox.Mox().CreateMockAnything()
|
||||
conf.database_connection = 'log://localhost'
|
||||
conf.database.connection = 'log://localhost'
|
||||
engine = storage.get_engine(conf)
|
||||
assert isinstance(engine, impl_log.LogStorage)
|
||||
|
||||
|
||||
def test_get_engine_no_such_engine():
|
||||
conf = mox.Mox().CreateMockAnything()
|
||||
conf.database_connection = 'no-such-engine://localhost'
|
||||
conf.database.connection = 'no-such-engine://localhost'
|
||||
try:
|
||||
storage.get_engine(conf)
|
||||
except RuntimeError as err:
|
||||
|
@ -98,5 +98,5 @@ class GetEventTest(base.GetEventTest, EventTestBase):
|
||||
|
||||
|
||||
def test_model_table_args():
|
||||
cfg.CONF.database_connection = 'mysql://localhost'
|
||||
cfg.CONF.database.connection = 'mysql://localhost'
|
||||
assert table_args()
|
||||
|
@ -32,8 +32,8 @@ class BinDbsyncTestCase(base.TestCase):
|
||||
super(BinDbsyncTestCase, self).setUp()
|
||||
self.tempfile = self.temp_config_file_path()
|
||||
with open(self.tempfile, 'w') as tmp:
|
||||
tmp.write("[DEFAULT]\n")
|
||||
tmp.write("database_connection=log://localhost\n")
|
||||
tmp.write("[database]\n")
|
||||
tmp.write("connection=log://localhost\n")
|
||||
|
||||
def test_dbsync_run(self):
|
||||
subp = subprocess.Popen([self.path_get('bin/ceilometer-dbsync'),
|
||||
@ -74,7 +74,6 @@ class BinApiTestCase(base.TestCase):
|
||||
tmp.write("[DEFAULT]\n")
|
||||
tmp.write(
|
||||
"rpc_backend=ceilometer.openstack.common.rpc.impl_fake\n")
|
||||
tmp.write("database_connection=log://localhost\n")
|
||||
tmp.write(
|
||||
"auth_strategy=noauth\n")
|
||||
tmp.write(
|
||||
@ -86,6 +85,8 @@ class BinApiTestCase(base.TestCase):
|
||||
tmp.write("[api]\n")
|
||||
tmp.write(
|
||||
"port=%s\n" % self.api_port)
|
||||
tmp.write("[database]\n")
|
||||
tmp.write("connection=log://localhost\n")
|
||||
self.subp = subprocess.Popen([self.path_get('bin/ceilometer-api'),
|
||||
"--config-file=%s" % self.tempfile])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user