[openstack-dev] [nova] [placement] modified devstack using openstack/placement

Chris Dent cdent+os at anticdent.org
Thu Sep 6 10:05:46 UTC 2018


Yesterday I experimented to discover the changes needed in devstack
to get it working with the code in openstack/placement. The results
are at

     https://review.openstack.org/#/c/600162/

and it is passing tempest. It isn't passing grenade but that's
expected at this stage.

Firstly, thanks to everyone who helped this week to create and merge
a bunch of placement code to get the repo working. Waking up this
morning to see a green tempest was rather nice.

Secondly, the work—as expected—exposes a few gaps, most that are
already known. If you're not interested in the details, here's a
good place to stop reading, but if you are, see below. This is
mostly notes, for sake of sharing information, not a plan. Please
help me make a plan.

1) To work around the fact that there is currently no
"placement-manage db_sync" equivalent I needed to hack up something
to make sure the database tables exist. So I faked a
"placmeent-manage db table_create". That's in

     https://review.openstack.org/#/c/600161/

That uses sqlalchemy's 'create_all' functionality to create the
tables from their Models, rather than using any migrations. I did it
this way for two reasons: 1) I already had code for it in placedock[1]
that I could copy, 2) I wanted to set aside migrations for the
immediate tests.

We'll need to come back to that, because the lack of dealing with
already existing tables is _part_ of what is blocking grenade.
However, for new installs 'create_all' is fast and correct and
something we might want to keep.

2) The grenade jobs don't have 'placement' in $PROJECTS so die
during upgrade.

3) The nova upgrade.sh will need some adjustments to do the data
migrations we've talked about over the "(technical)" thread. Also
we'll need to decide how much of the placement stuff stays in there
and how much goes somewhere else.

That's all stuff we can work out, especially if some
grenade-oriented people join in the fun.

One question I have on the lib/placement changes in devstack: Is it
useful to make those changes be guarded by a conditional of the
form:

    if placement came from its own repo:
        do the new stuff
    else:
        do the old stuff

?


[1] https://github.com/cdent/placedock
-- 
Chris Dent                       ٩◔̯◔۶           https://anticdent.org/
freenode: cdent                                         tw: @anticdent


More information about the OpenStack-dev mailing list