When running quantum with 'rpc_backend = quantum.openstack.common.rpc.impl_qpid', get error message as below:
2013-03-25 11:32:04 ERROR [quantum.openstack.common.rpc.amqp] Exception during message handling
Traceback (most recent call last):
File "/home/soulxu/work-code/openstack/quantum/quantum/openstack/common/rpc/amqp.py", line 431, in _process_data
rval = self.proxy.dispatch(ctxt, version, method, **args)
File "/home/soulxu/work-code/openstack/quantum/quantum/common/rpc.py", line 43, in dispatch
quantum_ctxt, version, method, **kwargs)
File "/home/soulxu/work-code/openstack/quantum/quantum/openstack/common/rpc/dispatcher.py", line 133, in dispatch
return getattr(proxyobj, method)(ctxt, **kwargs)
File "/home/soulxu/work-code/openstack/quantum/quantum/db/agents_db.py", line 167, in report_state
time = timeutils.parse_strtime(time)
File "/home/soulxu/work-code/openstack/quantum/quantum/openstack/common/timeutils.py", line 65, in parse_strtime
return datetime.datetime.strptime(timestr, fmt)
TypeError: must be string, not timestamp
It because we pass timestamp as datetime object, but kombu and qpid backend will deserialize the datetime object as different way.
When running quantum with 'rpc_backend = quantum. openstack. common. rpc.impl_ qpid', get error message as below:
2013-03-25 11:32:04 ERROR [quantum. openstack. common. rpc.amqp] Exception during message handling soulxu/ work-code/ openstack/ quantum/ quantum/ openstack/ common/ rpc/amqp. py", line 431, in _process_data dispatch( ctxt, version, method, **args) soulxu/ work-code/ openstack/ quantum/ quantum/ common/ rpc.py" , line 43, in dispatch soulxu/ work-code/ openstack/ quantum/ quantum/ openstack/ common/ rpc/dispatcher. py", line 133, in dispatch soulxu/ work-code/ openstack/ quantum/ quantum/ db/agents_ db.py", line 167, in report_state parse_strtime( time) soulxu/ work-code/ openstack/ quantum/ quantum/ openstack/ common/ timeutils. py", line 65, in parse_strtime datetime. strptime( timestr, fmt)
Traceback (most recent call last):
File "/home/
rval = self.proxy.
File "/home/
quantum_ctxt, version, method, **kwargs)
File "/home/
return getattr(proxyobj, method)(ctxt, **kwargs)
File "/home/
time = timeutils.
File "/home/
return datetime.
TypeError: must be string, not timestamp
It because we pass timestamp as datetime object, but kombu and qpid backend will deserialize the datetime object as different way.