On Tue, Jun 16, 2015 at 9:58 AM, Sean Dague <email@example.com
Back when Nova first wanted to test partial upgrade, we did a
slightly odd conditionals inside of grenade and devstack to make
that if you were very careful, you could just not stop some of
services on a single node, upgrade everything else, and as long
old services didn't stop, they'd be running cached code in
it would look a bit like a 2 node worker not upgraded model. It
but it was weird.
There has been some interest by the Nova team to expand what's
touched, as well as the Neutron team to add partial upgrade
support. Both are great initiatives, but I think going about it
way is going to add a lot of complexity in weird places, and not
good of a test as we really want.
Nodepool now supports allocating multiple nodes. We have a
in Nova regularly testing live migration using this.
If we slice this problem differently, I think we get a better
architecture, a much easier way to add new configs, and a much
realistic end test.
Conceptually, use devstack-gate multinode support to set up 2
all in one, and a worker. Let grenade upgrade the all in one,
I think the only complexity here is the fact that grenade.sh
drives stack.sh. Which means one of:
1) devstack-gate could build the worker first, then run
2) we make it so grenade.sh can execute in parts more easily, so
hand something else running stack.sh for it.'
3) we make grenade understand the subnode for partial upgrade,
will run the stack phase on the subnode itself (given
This kind of approach means deciding which services you don't
upgrade doesn't require devstack changes, it's just a change of
services on the worker.
We need a volunteer for taking this on, but I think all the
partial upgrade support will be much much easier to do after we
this kind of mechanism in place.
I think this is a great approach for the future of partial upgrade
support in grenade. I would like to point out step 0 here, is to get
tempest passing consistently in multinode.
Currently the neutron job is failing consistently, and nova-network
fails roughly 10% of the time due