OpenStack Telemetry (Ceilometer)

'ceilometer.storage' driver found

Asked by Riki Arslan on 2012-10-20

Hi,

I am trying to run ceilometer-collector on stable/folsom. However, I am getting the following error. I would appreciate your help on this:

  File "/usr/local/lib/python2.7/dist-packages/stevedore-0.4-py2.7.egg/stevedore/driver.py", line 34, in __init__
    raise RuntimeError('No %r driver found, looking for %r' % (namespace, name))
RuntimeError: No 'ceilometer.storage' driver found, looking for 'mongodb'
Removing descriptor: 5
2012-10-20 13:58:16 22078 CRITICAL ceilometer [-] No 'ceilometer.storage' driver found, looking for 'mongodb'

Thanks.

Question information

Language:
English Edit question
Status:
Answered
For:
Ceilometer Edit question
Assignee:
No assignee Edit question
Last query:
2012-10-29
Last reply:
2013-09-14
Doug Hellmann (doug-hellmann) said : #1

It looks like it cannot find or import the database driver to talk to MongoDB. Did you install the dependencies for using Mongo?

How did you install ceilometer?

I am facing the same error. I've installed devstack without installing ceilometer and latter, installed ceilometer following the documentation: first installed mondgodb and then ceilometer.

Riki Arslan (riki-arslan) said : #3

Hello Doug,

I have installed ceilometer through these steps:
$ cd /home/user
$ git clone https://github.com/stackforge/ceilometer.git
$ cd ceilometer
$ sudo python setup.py install
$ grep -v format_string /etc/nova/nova.conf > /etc/ceilometer-collector.conf
$ ./bin/ceilometer-collector

I have also installed MongoDB through these default steps:
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

I can access MongoDB both locally and remotely. However, as you have stated, ceilometer can not find the default MongoDB instance:
https://github.com/stackforge/ceilometer/blob/master/ceilometer/storage/__init__.py

STORAGE_OPTS = [
    cfg.StrOpt('database_connection',
               default='mongodb://localhost:27017/ceilometer',
               help='Database connection string',
               ),
    ]

Does ceilometer require any additional dependencies that are not listed? Should I install an additional driver?

Doug Hellmann (doug-hellmann) said : #4

It appears we are missing a step from our installation instructions.

Ceilometer does not set a dependency on any database drivers because our intent is to allow you to use any database backend. The driver for Mongo can be installed with:

$ sudo pip install pymongo==2.2.1

There may also be a system package for the driver, I'm not sure.

Stas Maksimov (maksimov) said : #5

Year later I'm getting the same problem with latest devstack. pymongo dependency is installed.

 [-] No 'ceilometer.storage' driver found, looking for 'mongodb'
 Traceback (most recent call last):
   File "/usr/local/bin/ceilometer-api", line 10, in <module>
     sys.exit(start())
   File "/opt/stack/ceilometer/ceilometer/api/app.py", line 113, in start
     root = VersionSelectorApplication()
   File "/opt/stack/ceilometer/ceilometer/api/app.py", line 101, in __init__
     self.v2 = setup_app(pecan_config=pc)
   File "/opt/stack/ceilometer/ceilometer/api/app.py", line 55, in setup_app
     storage_engine = storage.get_engine(cfg.CONF)
   File "/opt/stack/ceilometer/ceilometer/storage/__init__.py", line 75, in get_engine
     invoke_on_load=True)
   File "/usr/local/lib/python2.7/dist-packages/stevedore/driver.py", line 35, in __init__
     (namespace, name))
   RuntimeError: No 'ceilometer.storage' driver found, looking for 'mongodb'

Can you help with this problem?

Provide an answer of your own, or ask Riki Arslan for more information if necessary.

To post a message you must log in.