'ceilometer.storage' driver found

Asked by Riki Arslan

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:
Last reply:
Revision history for this message
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?

Revision history for this message
Glaucimar Aguiar (glaucimar-aguiar) said :
#2

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.

Revision history for this message
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?

Revision history for this message
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.

Revision history for this message
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.