compute agent throwing out of range error

Bug #1321883 reported by gordon chung
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ceilometer
Won't Fix
Low
Unassigned

Bug Description

2014-05-21 15:43:17.242 6355 INFO ceilometer.agent [-] Polling pollster instance
2014-05-21 15:43:32.249 6355 ERROR ceilometer.nova_client [-] string index out of range
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client Traceback (most recent call last):
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/ceilometer/ceilometer/nova_client.py", line 35, in with_logging
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client return func(*args, **kwargs)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/ceilometer/ceilometer/nova_client.py", line 115, in instance_get_all_by_host
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client search_opts=search_opts))
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/python-novaclient/novaclient/v1_1/servers.py", line 591, in list
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client return self._list("/servers%s%s" % (detail, query_string), "servers")
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/python-novaclient/novaclient/base.py", line 64, in _list
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client _resp, body = self.api.client.get(url)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/python-novaclient/novaclient/client.py", line 311, in get
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client return self._cs_request(url, 'GET', **kwargs)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/python-novaclient/novaclient/client.py", line 277, in _cs_request
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client self.authenticate()
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/python-novaclient/novaclient/client.py", line 387, in authenticate
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client port = magic_tuple.port
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/python-novaclient/novaclient/openstack/common/network_utils.py", line 91, in port
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client host, port = parse_host_port(netloc)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client File "/opt/stack/new/python-novaclient/novaclient/openstack/common/network_utils.py", line 57, in parse_host_port
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client if address[0] == '[':
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client IndexError: string index out of range
2014-05-21 15:43:32.249 6355 TRACE ceilometer.nova_client
2014-05-21 15:43:32.249 6355 ERROR ceilometer.agent [-] Unable to discover resources: string index out of range
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent Traceback (most recent call last):
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/ceilometer/ceilometer/agent.py", line 166, in discover
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent discovered = discoverer.discover(param)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/ceilometer/ceilometer/compute/discovery.py", line 33, in discover
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent instances = self.nova_cli.instance_get_all_by_host(cfg.CONF.host)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/ceilometer/ceilometer/nova_client.py", line 35, in with_logging
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent return func(*args, **kwargs)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/ceilometer/ceilometer/nova_client.py", line 115, in instance_get_all_by_host
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent search_opts=search_opts))
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/python-novaclient/novaclient/v1_1/servers.py", line 591, in list
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent return self._list("/servers%s%s" % (detail, query_string), "servers")
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/python-novaclient/novaclient/base.py", line 64, in _list
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent _resp, body = self.api.client.get(url)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/python-novaclient/novaclient/client.py", line 311, in get
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent return self._cs_request(url, 'GET', **kwargs)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/python-novaclient/novaclient/client.py", line 277, in _cs_request
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent self.authenticate()
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/python-novaclient/novaclient/client.py", line 387, in authenticate
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent port = magic_tuple.port
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/python-novaclient/novaclient/openstack/common/network_utils.py", line 91, in port
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent host, port = parse_host_port(netloc)
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent File "/opt/stack/new/python-novaclient/novaclient/openstack/common/network_utils.py", line 57, in parse_host_port
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent if address[0] == '[':
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent IndexError: string index out of range
2014-05-21 15:43:32.249 6355 TRACE ceilometer.agent

Revision history for this message
Dina Belova (dbelova) wrote :

What where the steps to reproduce it? What ceilo installation are you using?

Changed in ceilometer:
assignee: nobody → Dina Belova (dbelova)
Revision history for this message
gordon chung (chungg) wrote :

this was because of a bad devstack merge: https://review.openstack.org/#/c/94327/

i'm going to lower this priority because it's not reproduceable without a broken keystoneclient setup... we should probably handle error better though.

Changed in ceilometer:
importance: High → Low
Revision history for this message
Dina Belova (dbelova) wrote :

ok, will do it

Revision history for this message
Chris Dent (cdent) wrote :

From my perspective the issue here is not just that there is an index error when keystone is misconfigured, but rather that things (e.g. the collector) continue to run despite the IndexError. I'd prefer that the system fail to start rather than start with partial functionality. Only through complete failure do we know that something is broken.

I only became aware that there was an issue because I wasn't seeing some expected meters which sent me to the logs.

Revision history for this message
gordon chung (chungg) wrote :

imo, i think we should catch and log the error (assuming it's recoverable without a service restart)

gordon chung (chungg)
Changed in ceilometer:
assignee: Dina Belova (dbelova) → nobody
Revision history for this message
gordon chung (chungg) wrote :

closing because it's old and was an edge case based on a broken release.

Changed in ceilometer:
status: Triaged → Won't Fix
gordon chung (chungg)
Changed in ceilometer:
assignee: nobody → Mehdi Abaakouk (sileht)
assignee: Mehdi Abaakouk (sileht) → nobody
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.