diff --git a/ceilometer/storage/impl_mongodb.py b/ceilometer/storage/impl_mongodb.py index d1acfb2790..c690d7479f 100644 --- a/ceilometer/storage/impl_mongodb.py +++ b/ceilometer/storage/impl_mongodb.py @@ -286,6 +286,12 @@ class Connection(base.Connection): if 'username' in opts: self.db.authenticate(opts['username'], opts['password']) + # NOTE(jd) Upgrading is just about creating index, so let's do this + # on connection to be sure at least the TTL is correcly updated if + # needed. + self.upgrade() + + def upgrade(self, version=None): # Establish indexes # # We need variations for user_id vs. project_id because of the @@ -341,10 +347,6 @@ class Connection(base.Connection): # Assume is not supported if we can get the version return self.conn.server_info().get('versionArray', []) >= [2, 2] - @staticmethod - def upgrade(version=None): - pass - def clear(self): self.conn.drop_database(self.db) diff --git a/ceilometer/tests/db.py b/ceilometer/tests/db.py index c8d8191741..4e5a385ae5 100644 --- a/ceilometer/tests/db.py +++ b/ceilometer/tests/db.py @@ -34,3 +34,4 @@ class TestBase(test_base.TestCase): self.conn = storage.get_connection(cfg.CONF) self.conn.upgrade() self.conn.clear() + self.conn.upgrade()