Ceilometer does not allow to specify region name when creating nova client

Bug #1227146 reported by Bartosz Górski
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ceilometer
Fix Released
Medium
Bartosz Górski

Bug Description

Ceilometer does not specify region name when creates nova client

        self.nova_client = nova_client.Client(
            username=conf.os_username,
            api_key=conf.os_password,
            project_id=tenant,
            auth_url=conf.os_auth_url,
            endpoint_type=conf.os_endpoint_type,
            cacert=conf.os_cacert,
            no_cache=True)

If keystone has more than one API endpoint (for example two regions share one keystone) for nova in catalog the ceilometer-acompute and ceilometer-acentral fails to start

ubuntu@devstack2:~/devstack$ sg libvirtd "ceilometer-agent-compute --config-file /etc/ceilometer/ceilometer.conf" || echo "ceilometer-acompute failed to start" | tee "/opt/stack/status/stack/ceilometer-acompute.f
ailure"
2013-09-18 16:07:27.175 12541 INFO ceilometer.openstack.common.rpc.common [-] Connected to AMQP server on localhost:5672
2013-09-18 16:07:27.186 12541 INFO ceilometer.pipeline [-] Pipeline config: [{'meters': ['*'], 'interval': 600, 'transformers': None, 'name': 'meter_pipeline', 'publishers': ['rpc://']}, {'meters': ['cpu'], 'inte
rval': 600, 'transformers': [{'name': 'rate_of_change', 'parameters': {'target': {'scale': '100.0 / (10**9 * (resource_metadata.cpu_number or 1))', 'type': 'gauge', 'name': 'cpu_util', 'unit': '%'}}}], 'name': 'c
pu_pipeline', 'publishers': ['rpc://']}]
2013-09-18 16:07:27.189 12541 WARNING ceilometer.publisher.rpc [-] Publishing policy is unknown (wait) force to default
2013-09-18 16:07:27.190 12541 WARNING ceilometer.publisher.rpc [-] Publishing policy is unknown (wait) force to default
2013-09-18 16:07:27.191 12541 INFO ceilometer.pipeline [-] Pipeline cpu_pipeline: Setup transformer instance rate_of_change with parameter {'target': {'scale': '100.0 / (10**9 * (resource_metadata.cpu_number or 1
))', 'type': 'gauge', 'name': 'cpu_util', 'unit': '%'}}
2013-09-18 16:07:27.196 12541 INFO requests.packages.urllib3.connectionpool [-] Starting new HTTP connection (1): 192.168.5.5
Found more than one valid endpoint. Use a more restrictive filter
2013-09-18 16:07:27.262 12541 ERROR ceilometer.nova_client [-] AmbiguousEndpoints: [{u'adminURL': u'http://192.168.5.5:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67', u'region': u'RegionOne', u'id': u'd1a1dd0c1f8c4b57
b300b2e44d3531d9', 'serviceName': u'nova', u'internalURL': u'http://192.168.5.5:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67', u'publicURL': u'http://192.168.5.5:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67'}, {u'adminUR
L': u'http://192.168.5.6:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67', u'region': u'RegionTwo', u'id': u'49f54408d4ed4732b0e9afb54c94553f', 'serviceName': u'nova', u'internalURL': u'http://192.168.5.6:8774/v2/6d3011
2793e842ca9e8d8e7fffb3fe67', u'publicURL': u'http://192.168.5.6:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67'}]
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client Traceback (most recent call last):
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/ceilometer/ceilometer/nova_client.py", line 35, in with_logging
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client return func(*args, **kwargs)
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/ceilometer/ceilometer/nova_client.py", line 105, in instance_get_all_by_host
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client search_opts=search_opts))
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/v1_1/servers.py", line 404, in list
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client return self._list("/servers%s%s" % (detail, query_string), "servers")
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/base.py", line 61, in _list
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client _resp, body = self.api.client.get(url)
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/client.py", line 229, in get
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client return self._cs_request(url, 'GET', **kwargs)
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/client.py", line 202, in _cs_request
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client self.authenticate()
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/client.py", line 329, in authenticate
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client auth_url = self._v2_auth(auth_url)
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/client.py", line 411, in _v2_auth
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client return self._authenticate(url, body)
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/client.py", line 425, in _authenticate
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client return self._extract_service_catalog(url, resp, body)
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/client.py", line 261, in _extract_service_catalog
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client volume_service_name=self.volume_service_name,)
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client File "/opt/stack/python-novaclient/novaclient/service_catalog.py", line 86, in url_for
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client endpoints=matching_endpoints)
2013-09-18 16:07:27.262 12541 TRACE ceilometer.nova_client AmbiguousEndpoints: AmbiguousEndpoints: [{u'adminURL': u'http://192.168.5.5:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67', u'region': u'RegionOne', u'id': u'd1a1dd0c1f8c4b57b300b2e44d3531d9', 'serviceName': u'nova', u'internalURL': u'http://192.168.5.5:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67', u'publicURL': u'http://192.168.5.5:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67'}, {u'adminURL': u'http://192.168.5.6:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67', u'region': u'RegionTwo', u'id': u'49f54408d4ed4732b0e9afb54c94553f', 'serviceName': u'nova', u'internalURL': u'http://192.168.5.6:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67', u'publicURL': u'http://192.168.5.6:8774/v2/6d30112793e842ca9e8d8e7fffb3fe67'}]

Julien Danjou (jdanjou)
Changed in ceilometer:
status: New → Triaged
importance: Undecided → Medium
milestone: none → havana-rc1
Changed in ceilometer:
assignee: nobody → Bartosz Górski (bartosz-gorski)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ceilometer (master)

Fix proposed to branch: master
Review: https://review.openstack.org/47341

Changed in ceilometer:
status: Triaged → In Progress
gordon chung (chungg)
no longer affects: python-ceilometerclient
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ceilometer (master)

Reviewed: https://review.openstack.org/47341
Committed: http://github.com/openstack/ceilometer/commit/e244ae7d4c1de9a64c034ecdc045ab1a87241b87
Submitter: Jenkins
Branch: master

commit e244ae7d4c1de9a64c034ecdc045ab1a87241b87
Author: Bartosz Górski <email address hidden>
Date: Tue Sep 17 08:12:22 2013 -0700

    Adding region name to service credentials

    Change-Id: Ic6515e8e1c4f12a3a7381d99bebd30db54d9385d
    Closes-Bug: #1227146

Changed in ceilometer:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in ceilometer:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in ceilometer:
milestone: havana-rc1 → 2013.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.