<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 6, 2018, 8:40 PM Rochelle Grober <<a href="mailto:rochelle.grober@huawei.com">rochelle.grober@huawei.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sounds like an important discussion to have with the operators in Denver. Should put this on the schedule for the Ops meetup.<br>
<br>
--Rocky<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">We are planning to attend the upgrade sessions on Monday as a group. How about we put it there?</div><div dir="auto"><br></div><div dir="auto">-Erik</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br>
> -----Original Message-----<br>
> From: Matt Riedemann [mailto:<a href="mailto:mriedemos@gmail.com" target="_blank" rel="noreferrer">mriedemos@gmail.com</a>]<br>
> Sent: Thursday, September 06, 2018 1:59 PM<br>
> To: OpenStack Development Mailing List (not for usage questions)<br>
> <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank" rel="noreferrer">openstack-dev@lists.openstack.org</a>>; openstack-<br>
> <a href="mailto:operators@lists.openstack.org" target="_blank" rel="noreferrer">operators@lists.openstack.org</a><br>
> Subject: [openstack-dev] [nova][placement][upgrade][qa] Some upgrade-<br>
> specific news on extraction<br>
> <br>
> I wanted to recap some upgrade-specific stuff from today outside of the<br>
> other [1] technical extraction thread.<br>
> <br>
> Chris has a change up for review [2] which prompted the discussion.<br>
> <br>
> That change makes placement only work with placement.conf, not<br>
> nova.conf, but does get a passing tempest run in the devstack patch [3].<br>
> <br>
> The main issue here is upgrades. If you think of this like deprecating config<br>
> options, the old config options continue to work for a release and then are<br>
> dropped after a full release (or 3 months across boundaries for CDers) [4].<br>
> Given that, Chris's patch would break the standard deprecation policy. Clearly<br>
> one simple way outside of code to make that work is just copy and rename<br>
> nova.conf to placement.conf and voila. But that depends on *all*<br>
> deployment/config tooling to get that right out of the gate.<br>
> <br>
> The other obvious thing is the database. The placement repo code as-is<br>
> today still has the check for whether or not it should use the placement<br>
> database but falls back to using the nova_api database [5]. So technically you<br>
> could point the extracted placement at the same nova_api database and it<br>
> should work. However, at some point deployers will clearly need to copy the<br>
> placement-related tables out of the nova_api DB to a new placement DB and<br>
> make sure the 'migrate_version' table is dropped so that placement DB<br>
> schema versions can reset to 1.<br>
> <br>
> With respect to grenade and making this work in our own upgrade CI testing,<br>
> we have I think two options (which might not be mutually<br>
> exclusive):<br>
> <br>
> 1. Make placement support using nova.conf if placement.conf isn't found for<br>
> Stein with lots of big warnings that it's going away in T. Then Rocky nova.conf<br>
> with the nova_api database configuration just continues to work for<br>
> placement in Stein. I don't think we then have any grenade changes to make,<br>
> at least in Stein for upgrading *from* Rocky. Assuming fresh devstack installs<br>
> in Stein use placement.conf and a placement-specific database, then<br>
> upgrades from Stein to T should also be OK with respect to grenade, but<br>
> likely punts the cut-over issue for all other deployment projects (because we<br>
> don't CI with grenade doing<br>
> Rocky->Stein->T, or FFU in other words).<br>
> <br>
> 2. If placement doesn't support nova.conf in Stein, then grenade will require<br>
> an (exceptional) [6] from-rocky upgrade script which will (a) write out<br>
> placement.conf fresh and (b) run a DB migration script, likely housed in the<br>
> placement repo, to create the placement database and copy the placement-<br>
> specific tables out of the nova_api database. Any script like this is likely<br>
> needed regardless of what we do in grenade because deployers will need to<br>
> eventually do this once placement would drop support for using nova.conf (if<br>
> we went with option 1).<br>
> <br>
> That's my attempt at a summary. It's going to be very important that<br>
> operators and deployment project contributors weigh in here if they have<br>
> strong preferences either way, and note that we can likely do both options<br>
> above - grenade could do the fresh cutover from rocky to stein but we allow<br>
> running with nova.conf and nova_api DB in placement in stein with plans to<br>
> drop that support in T.<br>
> <br>
> [1]<br>
> <a href="http://lists.openstack.org/pipermail/openstack-dev/2018-" rel="noreferrer noreferrer" target="_blank">http://lists.openstack.org/pipermail/openstack-dev/2018-</a><br>
> September/subject.html#134184<br>
> [2] <a href="https://review.openstack.org/#/c/600157/" rel="noreferrer noreferrer" target="_blank">https://review.openstack.org/#/c/600157/</a><br>
> [3] <a href="https://review.openstack.org/#/c/600162/" rel="noreferrer noreferrer" target="_blank">https://review.openstack.org/#/c/600162/</a><br>
> [4]<br>
> <a href="https://governance.openstack.org/tc/reference/tags/assert_follows-" rel="noreferrer noreferrer" target="_blank">https://governance.openstack.org/tc/reference/tags/assert_follows-</a><br>
> standard-deprecation.html#requirements<br>
> [5]<br>
> <a href="https://github.com/openstack/placement/blob/fb7c1909/placement/db_api" rel="noreferrer noreferrer" target="_blank">https://github.com/openstack/placement/blob/fb7c1909/placement/db_api</a><br>
> .py#L27<br>
> [6] <a href="https://docs.openstack.org/grenade/latest/readme.html#theory-of-" rel="noreferrer noreferrer" target="_blank">https://docs.openstack.org/grenade/latest/readme.html#theory-of-</a><br>
> upgrade<br>
> <br>
> --<br>
> <br>
> Thanks,<br>
> <br>
> Matt<br>
> <br>
> __________________________________________________________<br>
> ________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: OpenStack-dev-<br>
> <a href="http://request@lists.openstack.org?subject:unsubscribe" rel="noreferrer noreferrer" target="_blank">request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div></div></div>