[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