[Openstack] [nova] Havana -> Icehouse upgrades with cells

Tim Bell Tim.Bell at cern.ch
Fri Apr 18 14:41:30 UTC 2014


It would certainly be interesting to see how we could upgrade without a big multi node upgrade.

Would the option of upgrading the Cell API nodes first to Icehouse work better ?

Tim

-----Original Message-----
From: Andrew Laski [mailto:andrew.laski at rackspace.com] 
Sent: 18 April 2014 14:49
To: Sam Morrison
Cc: openstack at lists.openstack.org
Subject: Re: [Openstack] [nova] Havana -> Icehouse upgrades with cells

On 04/16/14 at 05:42pm, Sam Morrison wrote:
>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.

There were some significant changes to how cells overrides the compute api at the global level to send messages to a child cell for certain methods.  The affected methods can be found in nova/compute/cells_api.py in the cells_compatible list in the ComputeRPCAPIRedirect class.

>
>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?

I'm not aware of anyone else working in this area, and we at Rackspace haven't been.  While there has been significant progress towards running older computes while upgrading the rest of the system in a non cells deployment that upgradeability effort hasn't been put into cells yet.  
But if backporting that method is all it takes to get things working well enough I think it's worth putting it up for review and get some feedback from the stable-maintenance team.

>
>
>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
>
>
>
>_______________________________________________
>Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>Post to     : openstack at lists.openstack.org
>Unsubscribe : 
>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack at lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack


More information about the Openstack mailing list