[Openstack] [Ceilometer] Upgrade Ceilometer Juno to Kilo database issue

Davide Panarese dpanarese at enter.eu
Fri Dec 16 20:44:06 UTC 2016


Hello everyone,
we're upgrading ceilometer to kilo.
We have tested upgrade in our dev environment and it's works fine.

Then we upgrade in production environment but when i start ceilometer-api this error appear:

2016-12-16 19:20:47.025 30700 ERROR ceilometer.api.hooks [-] Failed to connect to db, purpose event retry later: command SON([('create', u'event')]) failed: collection already exists
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks Traceback (most recent call last):
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/ceilometer/api/hooks.py", line 63, in get_connection
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     return storage.get_connection_from_config(cfg.CONF, purpose)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/ceilometer/storage/__init__.py", line 119, in get_connection_from_config
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     return _inner()
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/retrying.py", line 68, in wrapped_f
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     return Retrying(*dargs, **dkw).call(f, *args, **kw)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/retrying.py", line 229, in call
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     raise attempt.get()
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/retrying.py", line 261, in get
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     six.reraise(self.value[0], self.value[1], self.value[2])
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/retrying.py", line 217, in call
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/ceilometer/storage/__init__.py", line 117, in _inner
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     return get_connection(url, namespace)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/ceilometer/storage/__init__.py", line 132, in get_connection
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     return mgr.driver(url)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/ceilometer/event/storage/impl_mongodb.py", line 53, in __init__
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     self.upgrade()
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/ceilometer/event/storage/impl_mongodb.py", line 58, in upgrade
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     self.db.conn.create_collection('event')
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/pymongo/database.py", line 244, in create_collection
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     return Collection(self, name, **opts)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/pymongo/collection.py", line 115, in __init__
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     self.__create(kwargs)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/pymongo/collection.py", line 126, in __create
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     self.__database.command("create", self.__name)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/pymongo/database.py", line 396, in command
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     msg, allowable_errors)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks   File "/usr/lib/python2.7/dist-packages/pymongo/helpers.py", line 147, in _check_command_response
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks     raise OperationFailure(msg % errmsg, code)
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks OperationFailure: command SON([('create', u'event')]) failed: collection already exists
2016-12-16 19:20:47.025 30700 TRACE ceilometer.api.hooks

I tried to delete database, change database, recreate database but it doesn't work. 
Configuration of ceilometer is correct. Is the same of Openstack documentation.

Anyone has reported this same problem?

Thanks 
Davide
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20161216/7c8129bc/attachment.html>


More information about the Openstack mailing list