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

Sam Morrison sorrison at gmail.com
Thu Apr 24 22:35:40 UTC 2014


On 25 Apr 2014, at 12:30 am, Chris Behrens <cbehrens at codestud.com> wrote:

>>> So, does your nova-conductor not have object version 1.13? As I was trying to get at in a previous reply, I think the only way this can possibly work is that you have Icehouse nova-conductor running in ALL cells.
>> 
>> OK so in my compute cell I am now running an Icehouse conductor. Everything else is Havana including the DB version.
>> 
>> This actually seems to make all the things that didn’t work now work. However it also means that the thing that did work (booting an instance) no longer works.
>> This is an easy fix and just requires nova-conductor to call the run_instance scheduler rpcapi method with version 2.9 as opposed the icehouse version 3.0.
>> I don’t think anything has changed here so this might be an easy fix that could be pushed upstream. It just needs to change the scheduler rpcapi to be aware what version it can use.
>> I changed the upgrade_levels scheduler=havana but that wasn’t handled by the scheduler rpcapi and just gave a version not new enough exception.
>> 
>> I think I’m making progress…..
> 
> Cool. So, what is tested upstream is upgrading everything except nova-compute. You could try upgrading nova-scheduler as well.

Yeah that fixes it although I don’t think that’s needed. Ideally what I want to do is upgrade our API cell to Icehouse then one at a time upgrade each of our compute cells.
This is possible in 2 ways:

1. Hack the object_backport code in havana to handle icehouse objects (and a few other minor things I mentioned earlier)
2. Run an Icehouse conductor in the compute cell 

Still figuring out the best way.

> Although, I didn’t think we had any build path going through conductor yet. Do you happen to have a traceback from that? (Curious what the call path looks like)

2014-04-25 08:28:35.975 1171 ERROR oslo.messaging.rpc.dispatcher [-] Exception during message handling: Specified RPC version cap, 2.9, is too low. Needs to be higher than 3.0.
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher Traceback (most recent call last):
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher   File "/opt/nova-icehouse/.venv/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 133, in _dispatch_and_reply
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher     incoming.message))
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher   File "/opt/nova-icehouse/.venv/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 176, in _dispatch
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher     return self._do_dispatch(endpoint, method, ctxt, args)
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher   File "/opt/nova-icehouse/.venv/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 122, in _do_dispatch
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher     result = getattr(endpoint, method)(ctxt, **new_args)
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher   File "/opt/nova-icehouse/nova/conductor/manager.py", line 797, in build_instances
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher     legacy_bdm_in_spec=legacy_bdm)
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher   File "/opt/nova-icehouse/nova/scheduler/rpcapi.py", line 116, in run_instance
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher     cctxt.cast(ctxt, 'run_instance', **msg_kwargs)
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher   File "/opt/nova-icehouse/.venv/local/lib/python2.7/site-packages/oslo/messaging/rpc/client.py", line 130, in cast
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher     self._check_version_cap(msg.get('version'))
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher   File "/opt/nova-icehouse/.venv/local/lib/python2.7/site-packages/oslo/messaging/rpc/client.py", line 115, in _check_version_cap
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher     version_cap=self.version_cap)
2014-04-25 08:28:35.975 1171 TRACE oslo.messaging.rpc.dispatcher RPCVersionCapError: Specified RPC version cap, 2.9, is too low. Needs to be higher than 3.0.


Sam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140425/7a44527a/attachment.html>


More information about the OpenStack-dev mailing list