[Openstack] [nova] Havana -> Icehouse upgrades with cells
Sam Morrison
sorrison at gmail.com
Wed Apr 16 07:42:46 UTC 2014
I’ve been playing with having an Icehouse API cell and a Havana compute cell to see how it goes and to plan how we upgrade to Icehouse.
Most things actually work out of the box, booting etc works which I would think is the hard one.
Unfortunately some of the simple ones fail, after some brief testing reboot, pause and unpause are affected.
These require the object_backport() method of the conductor rpcapi that only came in Icehouse.
Error you get is below, I’m wondering if this method could be back ported to Havana to allow this to work?
Anyone else been working in this area?
Traceback (most recent call last):
File "/opt/nova/nova/openstack/common/rpc/amqp.py", line 461, in _process_data
**args)
File "/opt/nova/nova/openstack/common/rpc/dispatcher.py", line 172, in dispatch
result = getattr(proxyobj, method)(ctxt, **kwargs)
File "/opt/nova/nova/cells/rpc_driver.py", line 184, in process_message
message = self.msg_runner.message_from_json(message)
File "/opt/nova/nova/cells/messaging.py", line 1553, in message_from_json
message_dict['ctxt'], v)
File "/opt/nova/nova/objects/base.py", line 566, in deserialize_entity
entity = self._process_object(context, entity)
File "/opt/nova/nova/objects/base.py", line 536, in _process_object
e.kwargs['supported'])
File "/opt/nova/nova/conductor/api.py", line 331, in object_backport
return self._manager.object_backport(context, objinst, target_version)
File "/opt/nova/nova/conductor/rpcapi.py", line 502, in object_backport
target_version=target_version)
File "/opt/nova/nova/rpcclient.py", line 85, in call
return self._invoke(self.proxy.call, ctxt, method, **kwargs)
File "/opt/nova/nova/rpcclient.py", line 63, in _invoke
return cast_or_call(ctxt, msg, **self.kwargs)
File "/opt/nova/nova/openstack/common/rpc/proxy.py", line 126, in call
result = rpc.call(context, real_topic, msg, timeout)
File "/opt/nova/nova/openstack/common/rpc/__init__.py", line 139, in call
return _get_impl().call(CONF, context, topic, msg, timeout)
File "/opt/nova/nova/openstack/common/rpc/impl_kombu.py", line 824, in call
rpc_amqp.get_connection_pool(conf, Connection))
File "/opt/nova/nova/openstack/common/rpc/amqp.py", line 574, in call
rv = list(rv)
File "/opt/nova/nova/openstack/common/rpc/amqp.py", line 539, in __iter__
raise result
RemoteError: Remote error: UnsupportedRpcVersion Specified RPC version, 1.62, not supported by this endpoint.
(also note that this is hard coded to use conductor so if you don’t use conductor you’ll just get an RPC timeout.)
I think this is a bug but not my first concern.
Thanks,
Sam
More information about the Openstack
mailing list