Bug 1397515 - Ceilometer collector fails to connect to Gnocchi
Summary: Ceilometer collector fails to connect to Gnocchi
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: documentation
Version: 9.0 (Mitaka)
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
: 9.0 (Mitaka)
Assignee: Lukas Ruzicka
QA Contact: Petr Kovar
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-22 17:01 UTC by Dimitri Savineau
Modified: 2017-06-29 14:17 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-06-29 14:17:44 UTC
Target Upstream Version:


Attachments (Terms of Use)
Ceilometer collector log (6.88 KB, text/plain)
2016-11-22 17:01 UTC, Dimitri Savineau
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1643928 0 None None None 2016-11-22 17:01:56 UTC

Description Dimitri Savineau 2016-11-22 17:01:57 UTC
Created attachment 1222799 [details]
Ceilometer collector log

Description of problem:
When using Gnocchi as dispatcher for ceilometer meter datas, the collector fails to connect to Gnocchi

Version-Release number of selected component (if applicable):
OSP 9
openstack-tripleo-heat-templates-2.0.0-40.el7ost.noarch
openstack-puppet-modules-8.1.8-3.el7ost.noarch
openstack-ceilometer-collector-6.1.3-2.el7ost.noarch
python-gnocchi-2.1.3-3.el7ost.noarch

How reproducible: 100%

Steps to Reproduce:
1. Deploy overcloud with gnocchi as dispatcher (see additional info for config)
2. Run gnocchi metric list

Actual results:
No data in gnocchi
$ source overcloudrc
$ gnocchi metric list
(empty)

Expected results:
Datas stored in gnocchi
$ source overcloudrc
$ gnocchi metric list
+--------------------------------------+---------------------+----------------+--------------------------------------+
| id                                   | archive_policy/name | name           | resource_id                          |
+--------------------------------------+---------------------+----------------+--------------------------------------+
| 296d2acd-024f-4935-8b93-0180a147a831 | low                 | image          | e00be6f9-757b-40d3-94e0-f2d6c397fdac |
| 8e15eb7d-5174-4cbb-88e9-dc9b7fab4242 | low                 | image.download | e00be6f9-757b-40d3-94e0-f2d6c397fdac |
| 9120d45f-f818-4920-be3f-7a8f0b309bae | low                 | image.serve    | e00be6f9-757b-40d3-94e0-f2d6c397fdac |
| 9f5d06f0-952d-4f60-ba48-114251674f7a | low                 | image.size     | e00be6f9-757b-40d3-94e0-f2d6c397fdac |


Additional info:
The following configuration is used :

-----------------
parameter_defaults:
  CeilometerMeterDispatcher: 'gnocchi'
-----------------

In attachment the python stack trace in ceilometer collector log. After restarting ceilometer collector in pacemaker, everything is working.

# pcs resource restart openstack-ceilometer-collector-clone

Comment 1 Julien Danjou 2017-03-17 09:01:23 UTC
I think this is expected in OSP 9, Gnocchi dispatcher was not configured by default in Ceilometer. Can you confirm Prad?

Comment 3 Julien Danjou 2017-03-17 14:42:58 UTC
Closing as WONTFIX as this is not something we want to fix and it was a deliberate choice back then.

Comment 4 Dimitri Savineau 2017-03-17 15:05:01 UTC
Sorry but that doesn't make any sense to me.

You have the ability to choose your backend via CeilometerMeterDispatcher (database by default).

https://github.com/openstack/tripleo-heat-templates/blob/stable/mitaka/overcloud.yaml#L40

But if you want to use gnocchi instead (which is supported in OSP9), it doesn't work out of the box but that's not something you want to fix ?

Comment 5 Julien Danjou 2017-03-17 15:20:10 UTC
Dimitri, sorry, I may have misunderstood. Indeed if you set this option which allows "gnocchi" as a value and that is not apply, there might be something odd. I'll pass the ball to Prad which is more qualified than me on TripleO rules. :)

Comment 6 Pradeep Kilambi 2017-03-17 17:15:50 UTC
In OSP9, the way overcloud deployment runs is, all the services are deployed by puppet first and the keystone init runs in the end. Keystone init is whats responsible for creating the user and project in keystone. So when collector is deployed, gnocchi project/service is not in keystone yet and meter dispatcher initialization with gnocchi will fail. It gets added in the end as part of keystone init. Hence a restart of collector fixes the issue post deploy as at this point gnocchi user is in keystone and authentication passes. This is fixed in osp10 i believe where the keysont init is moved to puppet so it happens during the deployment, instead of in the end. Hence this wont happen in OSP10 or later.

This is one of the reasons why we dont default to gnocchi as dispatcher in OSP9. I thought we documented this as a known thing somewhere in the docs.

Comment 9 Lucy Bopf 2017-04-24 02:08:19 UTC
Moving to 'NEW' to be triaged as resources allow.

Comment 23 Petr Kovar 2017-06-29 12:53:27 UTC
LGTM, thanks.


Note You need to log in before you can comment on or make changes to this bug.