[openstack-dev] [ceilometer][panko][pike] elasticsearch integration

cristian.calin at orange.com cristian.calin at orange.com
Wed Jun 20 07:08:57 UTC 2018


Some more details, I tried running with python3 and the error I got with it is a bit more detailed:

{"asctime": "2018-06-20 07:06:11.537","process": "24","levelname": "ERROR","name": "ceilometer.pipeline", "instance": {},"message":"Unable to load publisher panko://"}: tenacity.RetryError: RetryError[<Future at 0x7f12143afa20 state=finished raised NoSuchOptError>]
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>Traceback (most recent call last):
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/tenacity/__init__.py", line 251, in call
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    result = fn(*args, **kwargs)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/panko/storage/__init__.py", line 71, in _inner
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    return get_connection(url, conf)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/panko/storage/__init__.py", line 86, in get_connection
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    return mgr.driver(url, conf)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/panko/storage/impl_elasticsearch.py", line 74, in __init__
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    use_ssl = conf.database.es_ssl_enabled
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/oslo_config/cfg.py", line 3363, in __getattr__
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    return self._conf._get(name, self._group)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/oslo_config/cfg.py", line 2925, in _get
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    value = self._do_get(name, group, namespace)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/oslo_config/cfg.py", line 2942, in _do_get
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    info = self._get_opt_info(name, group)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/oslo_config/cfg.py", line 3099, in _get_opt_info
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    raise NoSuchOptError(opt_name, group)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>oslo_config.cfg.NoSuchOptError: no such option es_ssl_enabled in group [database]
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>The above exception was the direct cause of the following exception:
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>Traceback (most recent call last):
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/ceilometer/pipeline.py", line 419, in __init__
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    self.publishers.append(publisher_manager.get(p))
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/ceilometer/pipeline.py", line 713, in get
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    'ceilometer.%s.publisher' % self._purpose)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/ceilometer/publisher/__init__.py", line 36, in get_publisher
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    return loaded_driver.driver(parse_result)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/panko/publisher/database.py", line 35, in __init__
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    self.conn = storage.get_connection_from_config(conf)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/panko/storage/__init__.py", line 73, in get_connection_from_config
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    return _inner()
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/tenacity/__init__.py", line 171, in wrapped_f
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    return self.call(f, *args, **kw)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/tenacity/__init__.py", line 248, in call
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    start_time=start_time)
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python3.5/site-packages/tenacity/__init__.py", line 217, in iter
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>    six.raise_from(RetryError(fut), fut.exception())
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>  File "<string>", line 2, in raise_from
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>tenacity.RetryError: RetryError[<Future at 0x7f12143afa20 state=finished raised NoSuchOptError>]
2018-06-20 07:06:11.537 24 TRACE ceilometer.pipeline  >>>>>

I changed my panko.conf to:
[database]
connection = es://user:password@elasticsearch.service.consul.:9200
es_ssl_enable = False
[storage]
es_index_name = events

But I get the same error which means that the es_* parameters are not properly merged from panko.conf when ceilometer-agent-notification starts up.

From: cristian.calin at orange.com [mailto:cristian.calin at orange.com]
Sent: Wednesday, June 20, 2018 9:44 AM
To: openstack-operators at lists.openstack.org
Cc: openstack-dev at lists.openstack.org
Subject: [openstack-dev] [ceilometer][panko][pike] elasticsearch integration

Hello,


I'm trying to run ceilometer with panko publishers in pike release and when I run the ceilometer-agent-notification I get a trace complaining about NoSuchOptError, but without the actual parameter that is missing (see trace below).

I have configured panko.conf with the following:

[database]
connection = es://user:password@elasticsearch.service.consul.:9200
[storage]
es_ssl_enable = False
es_index_name = events


As far as I  can tell from the debug log, the storage.es_ssl_enable and storage.es_index_name parameters are not loaded, they don't show up in the "cotyledon.oslo_config_glue" output so I assume the trace relates to these parameters. Has anybody else seen this error before?

PS: sorry for CC'ing the dev list but I hope to reach the right audience
================ TRACE ====================
{"asctime": "2018-06-20 05:49:09.405","process": "59","levelname": "DEBUG","name": "panko.storage", "instance": {},"message":"looking for 'es' driver in panko.storage"} {"funcName": "get_connection","source": {"p
ath": "/opt/ceilometer/lib/python2.7/site-packages/panko/storage/__init__.py","lineno": "84"}}
{"asctime": "2018-06-20 05:49:10.436","process": "61","levelname": "DEBUG","name": "panko.storage", "instance": {},"message":"looking for 'es' driver in panko.storage"} {"funcName": "get_connection","source": {"p
ath": "/opt/ceilometer/lib/python2.7/site-packages/panko/storage/__init__.py","lineno": "84"}}
{"asctime": "2018-06-20 05:49:11.409","process": "63","levelname": "DEBUG","name": "panko.storage", "instance": {},"message":"looking for 'es' driver in panko.storage"} {"funcName": "get_connection","source": {"p
ath": "/opt/ceilometer/lib/python2.7/site-packages/panko/storage/__init__.py","lineno": "84"}}
{"asctime": "2018-06-20 05:49:18.467","process": "57","levelname": "DEBUG","name": "panko.storage", "instance": {},"message":"looking for 'es' driver in panko.storage"} {"funcName": "get_connection","source": {"p
ath": "/opt/ceilometer/lib/python2.7/site-packages/panko/storage/__init__.py","lineno": "84"}}
{"asctime": "2018-06-20 05:49:18.468","process": "57","levelname": "ERROR","name": "ceilometer.pipeline", "instance": {},"message":"Unable to load publisher panko://"}: RetryError: RetryError[<Future at 0x7f89c55
f7ed0 state=finished raised NoSuchOptError>]
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>Traceback (most recent call last):
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/ceilometer/pipeline.py", line 419, in __init__
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    self.publishers.append(publisher_manager.get(p))
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/ceilometer/pipeline.py", line 713, in get
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    'ceilometer.%s.publisher' % self._purpose)
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/ceilometer/publisher/__init__.py", line 36, in get_publisher
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    return loaded_driver.driver(parse_result)
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/panko/publisher/database.py", line 35, in __init__
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    self.conn = storage.get_connection_from_config(conf)
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/panko/storage/__init__.py", line 73, in get_connection_from_config
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    return _inner()
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/tenacity/__init__.py", line 171, in wrapped_f
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    return self.call(f, *args, **kw)
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/tenacity/__init__.py", line 248, in call
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    start_time=start_time)
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/tenacity/__init__.py", line 217, in iter
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    six.raise_from(RetryError(fut), fut.exception())
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>  File "/opt/ceilometer/lib/python2.7/site-packages/six.py", line 718, in raise_from
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>    raise value
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>RetryError: RetryError[<Future at 0x7f89c55f7ed0 state=finished raised NoSuchOptError>]
2018-06-20 05:49:18.468 57 TRACE ceilometer.pipeline  >>>>>

_________________________________________________________________________________________________________________________



Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc

pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler

a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,

Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.



This message and its attachments may contain confidential or privileged information that may be protected by law;

they should not be distributed, used or copied without authorisation.

If you have received this email in error, please notify the sender and delete this message and its attachments.

As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.

Thank you.

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20180620/4f08e152/attachment.html>


More information about the OpenStack-dev mailing list