[openstack-dev] [nova][puppet][tripleo][kolla][fuel] Let's talk nova cell v2 deployments and upgrades

melanie witt melwittt at gmail.com
Fri Jan 13 21:40:08 UTC 2017


On Fri, 13 Jan 2017 14:04:27 -0700, Alex Schultz wrote:
> Just from the puppet standpoint, it's much easier to create the cell
> and populate it after the fact and run some command to sync stuff
> after the nodes have been added.  This also would be easier to consume
> for scale up/scale down actions.  I'm pretty sure that's also the case
> if you're going to implement this in ansible or some other workflow
> tooling.  I think this is a cleaner path than having to preplan your
> computes, install them and then setup your cell.

Agreed this is the reasonable way for scale up/scale down to occur 
during deployment. The usual expectation for scale up/scale down is on a 
live system, so the compute hosts would be registered at the time you 
are creating cells (and the existing commands support this). But, we 
have a gap for the fresh install case and the scale up during deploy 
case. For others tuned in to this, there's a patch up [1] for a command 
that can create an empty cell, and the operator can add hosts to it at a 
later time. The expected use of the commands would be: at setup time, 
run 'map_cell0' to create cell0 for storage of instances that fail to 
schedule and 'create_cell' to create an empty cell intended for compute 
hosts. Then later after compute hosts are up and running, 
'discover_hosts' to associate hosts with a given cell.

> Thanks. We don't have to necessarily fix simple_cell_setup if it's
> working the way it's supposed to.  It seems that we're missing pieces
> and the knowledge around when we're supposed to run.  What made this
> worse was it seems that nova works without any cell v2 items on the
> fresh install but the upgrade has it as a hard requirement.

I think the current consensus is to leave 'simple_cell_setup' alone 
since it means "set up all the things" and if it can't, it should return 
1. Instead we'll add 'create_cell' to allow each piece to be run 
deliberately at the appropriate stages of a deployment. The 
'simple_cell_setup' was intended to be a lightweight way for people to 
setup things during an upgrade of an existing non-cells-v1 deployment.

> That seems
> like it should be made consistent and clearer for the end user to
> understand why something is failing. But I would say that anything
> that is going to be a hard requirement as part of an upgrade, it
> really should be documented prior to when it's made a hard
> requirement.  Just to share, I'd also like to point to
> https://review.openstack.org/#/c/267153/ which I was only made aware
> of today.  It seems like the start of the documentation that we needed
> around this process but hasn't been merged yet.  I would personally
> like to see that completed and merged prior to any new hard
> requirements get merged in.

I agree. I think the thought was that the release notes covered the 
upgrade requirement, but it's clear there wasn't enough info there. 
What's really needed is a small manual that describes each command and 
its use case, along with how-to steps for each common deployment 
scenario. We'll be working on writing that.

-melanie

[1] https://review.openstack.org/#/c/332713/




More information about the OpenStack-dev mailing list