Ceilometer Agent Unicode Error "do not support str() because they may contain non-ascii characters"

Bug #1554599 reported by Qingqing
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ceilometer
Invalid
Undecided
Unassigned

Bug Description

Hi all,

I am installing ceilometer on an OpenStack environment. When I am trying to run a compute agent using command #systemctl start openstack-ceilometer-compute.service, I got the following Unicode error and cannot get the resource usages. (I am using kilo version)

Is this a bug? Or there is some kind of library that I need to download?
Thank you so much for your help!

2016-03-08 10:52:21.068 26085 TRACE ceilometer.nova_client
2016-03-08 10:52:21.069 26085 ERROR ceilometer.agent.base [-] Unable to discover resources: Message objects do not support str() because they may contain non-ascii characters. Please use unicode() or translate() instead.
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base Traceback (most recent call last):
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/ceilometer/agent/base.py", line 346, in discover
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base discovered = discoverer.discover(self, param)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/ceilometer/compute/discovery.py", line 37, in discover
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base instances = self.nova_cli.instance_get_all_by_host(cfg.CONF.host)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/ceilometer/nova_client.py", line 48, in with_logging
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base return func(*args, **kwargs)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/ceilometer/nova_client.py", line 145, in instance_get_all_by_host
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base search_opts=search_opts))
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/novaclient/v2/servers.py", line 583, in list
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base return self._list("/servers%s%s" % (detail, query_string), "servers")
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/novaclient/base.py", line 64, in _list
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base _resp, body = self.api.client.get(url)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 444, in get
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base return self._cs_request(url, 'GET', **kwargs)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 398, in _cs_request
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base self.authenticate()
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 553, in authenticate
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base auth_url = self._v2_auth(auth_url)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 644, in _v2_auth
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base return self._authenticate(url, body)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 659, in _authenticate
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base return self._extract_service_catalog(url, resp, respbody)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 493, in _extract_service_catalog
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base print(_("Could not find any suitable endpoint. Correct "
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base File "/usr/lib/python2.7/site-packages/oslo_i18n/_message.py", line 167, in __str__
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base raise UnicodeError(msg)
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base UnicodeError: Message objects do not support str() because they may contain non-ascii characters. Please use unicode() or translate() instead.
2016-03-08 10:52:21.069 26085 TRACE ceilometer.agent.base
2016-03-08 10:52:21.070 26085 INFO ceilometer.agent.base [-] Skip polling pollster network.incoming.bytes, no resources found

Revision history for this message
Rahul U Nair (rahulunair) wrote :

Can you please post the /etc/ceilometer/ceilometer.conf file here and also which version of OpenStack are you using and on what platform?.

Revision history for this message
Qingqing (qqli) wrote :
Download full text (30.0 KiB)

[DEFAULT]

#
# Options defined in oslo.messaging
#

# Use durable queues in amqp. (boolean value)
# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
#amqp_durable_queues=false

# Auto-delete queues in amqp. (boolean value)
#amqp_auto_delete=false

# Size of RPC connection pool. (integer value)
#rpc_conn_pool_size=30

# Qpid broker hostname. (string value)
#qpid_hostname=localhost

# Qpid broker port. (integer value)
#qpid_port=5672

# Qpid HA cluster host:port pairs. (list value)
#qpid_hosts=$qpid_hostname:$qpid_port

# Username for Qpid connection. (string value)
#qpid_username=

# Password for Qpid connection. (string value)
#qpid_password=

# Space separated list of SASL mechanisms to use for auth.
# (string value)
#qpid_sasl_mechanisms=

# Seconds between connection keepalive heartbeats. (integer
# value)
#qpid_heartbeat=60

# Transport to use, either 'tcp' or 'ssl'. (string value)
#qpid_protocol=tcp

# Whether to disable the Nagle algorithm. (boolean value)
#qpid_tcp_nodelay=true

# The number of prefetched messages held by receiver. (integer
# value)
#qpid_receiver_capacity=1

# The qpid topology version to use. Version 1 is what was
# originally used by impl_qpid. Version 2 includes some
# backwards-incompatible changes that allow broker federation
# to work. Users should update to version 2 when they are
# able to take everything down, as it requires a clean break.
# (integer value)
#qpid_topology_version=1

# SSL version to use (valid only if SSL enabled). valid values
# are TLSv1, SSLv23 and SSLv3. SSLv2 may be available on some
# distributions. (string value)
#kombu_ssl_version=

# SSL key file (valid only if SSL enabled). (string value)
#kombu_ssl_keyfile=

# SSL cert file (valid only if SSL enabled). (string value)
#kombu_ssl_certfile=

# SSL certification authority file (valid only if SSL
# enabled). (string value)
#kombu_ssl_ca_certs=

# How long to wait before reconnecting in response to an AMQP
# consumer cancel notification. (floating point value)
#kombu_reconnect_delay=1.0

# The RabbitMQ broker address where a single node is used.
# (string value)
#rabbit_host=localhost

# The RabbitMQ broker port where a single node is used.
# (integer value)
#rabbit_port=5672

# RabbitMQ HA cluster host:port pairs. (list value)
#rabbit_hosts=$rabbit_host:$rabbit_port

# Connect over SSL for RabbitMQ. (boolean value)
#rabbit_use_ssl=false

# The RabbitMQ userid. (string value)
#rabbit_userid=guest

# The RabbitMQ password. (string value)
#rabbit_password=guest

# the RabbitMQ login method (string value)
#rabbit_login_method=AMQPLAIN

# The RabbitMQ virtual host. (string value)
#rabbit_virtual_host=/

# How frequently to retry connecting with RabbitMQ. (integer
# value)
#rabbit_retry_interval=1

# How long to backoff for between retries when connecting to
# RabbitMQ. (integer value)
#rabbit_retry_backoff=2

# Maximum number of RabbitMQ connection retries. Default is 0
# (infinite retry count). (integer value)
#rabbit_max_retries=0

# Use HA queues in RabbitMQ (x-ha-policy: all). If you change
# this option, you must wipe the RabbitMQ database. (boolean
# value)
#rabbit_ha_queues=false

# If passed, use a fake RabbitMQ provider. (...

Revision history for this message
Qingqing (qqli) wrote :

We are using kilo version of OpenStack running on two physical machines, one as controller node and the other as compute node. This ceilometer agent is running on the compute node.

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

what version of oslo.i18n do you have? also what version of novaclient? right now that error is raised from novaclient so it seems like the bug should be raised against that.

Changed in ceilometer:
status: New → Incomplete
Revision history for this message
Igor Meneguitte Ávila (igoravila) wrote :

I have the same issue.

2016-04-13 14:00:41.632 31007 INFO ceilometer.agent.base [-] Skip polling pollster disk.write.bytes, no resources found
2016-04-13 14:00:41.633 31007 INFO ceilometer.agent.base [-] Polling pollster disk.device.write.requests in the context of disk_source
2016-04-13 14:00:41.861 31007 ERROR ceilometer.agent.base [-] Unable to discover resources: utcnow() takes no arguments (1 given)
2016-04-13 14:00:41.861 31007 TRACE ceilometer.agent.base Traceback (most recent call last):
2016-04-13 14:00:41.861 31007 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/agent/base.py", line 346, in discover
2016-04-13 14:00:41.861 31007 TRACE ceilometer.agent.base discovered = discoverer.discover(self, param)
2016-04-13 14:00:41.861 31007 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/compute/discovery.py", line 48, in discover
2016-04-13 14:00:41.861 31007 TRACE ceilometer.agent.base self.last_run = timeutils.utcnow(True).isoformat()
2016-04-13 14:00:41.861 31007 TRACE ceilometer.agent.base TypeError: utcnow() takes no arguments (1 given)
2016-04-13 14:00:41.861 31007 TRACE ceilometer.agent.base
2016-04-13 14:00:41.863 31007 INFO ceilometer.agent.base [-] Skip polling pollster disk.device.write.requests, no resources found
2016-04-13 14:00:41.864 31007 INFO ceilometer.agent.base [-] Polling pollster cpu in the context of cpu_source
2016-04-13 14:00:42.072 31007 ERROR ceilometer.agent.base [-] Unable to discover resources: utcnow() takes no arguments (1 given)
2016-04-13 14:00:42.072 31007 TRACE ceilometer.agent.base Traceback (most recent call last):
2016-04-13 14:00:42.072 31007 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/agent/base.py", line 346, in discover
2016-04-13 14:00:42.072 31007 TRACE ceilometer.agent.base discovered = discoverer.discover(self, param)
2016-04-13 14:00:42.072 31007 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/compute/discovery.py", line 48, in discover
2016-04-13 14:00:42.072 31007 TRACE ceilometer.agent.base self.last_run = timeutils.utcnow(True).isoformat()
2016-04-13 14:00:42.072 31007 TRACE ceilometer.agent.base TypeError: utcnow() takes no arguments (1 given)

Package python-oslo-i18n:
i A 1.5.0-0ubuntu1~cloud0

Package python-novaclient:
p 1:2.17.0-0ubuntu1 trusty 500
p 1:2.17.0-0ubuntu1.2 trusty-updates 500
i 1:2.22.0-0ubuntu2~cloud0

Regards,

Igor Meneguitte Ávila

Revision history for this message
ZhiQiang Fan (aji-zqfan) wrote :
gordon chung (chungg)
Changed in ceilometer:
status: Incomplete → Invalid
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.