2013-08-20 02:14:34.942 9348 ERROR ceilometer.collector.dispatcher.database [req-3846dc97-1188-401d-af2b-a8184f0b42dc None None] Failed to record metering data: Unterminated string starting at: line 1 column 349 (char 349)
2013-08-20 02:14:34.943 9348 ERROR ceilometer.collector.dispatcher.database [req-3846dc97-1188-401d-af2b-a8184f0b42dc None None] Unterminated string starting at: line 1 column 349 (char 349)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database Traceback (most recent call last):
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/opt/stack/ceilometer/ceilometer/collector/dispatcher/database.py", line 65, in record_metering_data
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database self.storage_conn.record_metering_data(meter)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/opt/stack/ceilometer/ceilometer/storage/impl_sqlalchemy.py", line 195, in record_metering_data
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database resource = session.merge(Resource(id=str(data['resource_id'])))
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1475, in merge
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database load=load, _recursive=_recursive)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1514, in _merge
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database merged = self.query(mapper.class_).get(key[1])
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 775, in get
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database return self._load_on_ident(key)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2512, in _load_on_ident
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database return q.one()
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2184, in one
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database ret = list(self)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2348, in instances
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database rows = [process[0](row, None) for row in fetch]
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/mapper.py", line 2120, in _instance
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database populate_state(state, dict_, row, isnew, only_load_props)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/mapper.py", line 1974, in populate_state
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database populator(state, dict_, row)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/strategies.py", line 150, in fetch_col
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database dict_[key] = row[col]
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/types.py", line 662, in process
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database return process_value(value, dialect)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/opt/stack/ceilometer/ceilometer/storage/sqlalchemy/models.py", line 66, in process_result_value
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database value = json.loads(value)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database return _default_decoder.decode(s)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database obj, end = self.raw_decode(s, idx=_w(s, 0).end())
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database obj, end = self.scan_once(s, idx)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database ValueError: Unterminated string starting at: line 1 column 349 (char 349)
2013-08-20 02:14:34.943 9348 TRACE ceilometer.collector.dispatcher.database
2013-08-20 02:14:35.053 9348 ERROR ceilometer.pipeline [-] Pipeline meter_pipeline: Continue after error from publisher <ceilometer.publisher.rpc.RPCPublisher object at 0x381d4d0>
2013-08-20 02:14:35.053 9348 TRACE ceilometer.pipeline Traceback (most recent call last):
2013-08-20 02:14:35.053 9348 TRACE ceilometer.pipeline File "/opt/stack/ceilometer/ceilometer/pipeline.py", line 217, in _publish_samples
2013-08-20 02:14:35.053 9348 TRACE ceilometer.pipeline p.publish_samples(ctxt, transformed_samples)
2013-08-20 02:14:35.053 9348 TRACE ceilometer.pipeline File "/opt/stack/ceilometer/ceilometer/publisher/rpc.py", line 178, in publish_samples
2013-08-20 02:14:35.053 9348 TRACE ceilometer.pipeline self.flush()
2013-08-20 02:14:35.053 9348 TRACE ceilometer.pipeline File "/opt/stack/ceilometer/ceilometer/publisher/rpc.py", line 224, in flush
2013-08-20 02:14:35.053 9348 TRACE ceilometer.pipeline self.local_queue.pop(0)
2013-08-20 02:14:35.053 9348 TRACE ceilometer.pipeline IndexError: pop from empty list
this is thrown because we pass in None as resource_id in http request. the sql model requires resource to build meter. the question is do we add a resource_id, remove the resource dependency from meters, or wait until events are properly setup to record body and scrap this Sample.