| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-04-06 | |||
| 14:50:02 | mriedem | 1. nova-manage cell_v2 map_cell0 can do a db query for cell0 rather than rely on a DBDuplicateEntry | |
| 14:50:10 | mriedem | 2. you can run nova-manage api_db sync unconditionally | |
| 14:50:48 | odyssey4me | we're very happy to shorten and simplify the steps taken, so option 2 sounds good to me | |
| 14:51:29 | odyssey4me | I'll push a patch up shortly. I'll ping you to verify the review if that's ok? | |
| 14:51:31 | mriedem | fwiw, grenade also runs map_cell0 on upgrade and cell0 is already mapped http://logs.openstack.org/38/544238/4/check/neutron-grenade/d101bba/logs/grenade.sh.txt.gz#_2018-04-05_09_41_34_277 | |
| 14:51:48 | mriedem | sure. i'm not ansible guy, but i can see if the non-voting upgrade job is green or not :) | |
| 14:52:33 | odyssey4me | :) hopefully we can make it as readable as a shell task procedure | |
| 14:52:42 | mriedem | oh looky here http://logs.openstack.org/38/544238/4/check/neutron-grenade/d101bba/logs/grenade.sh.txt.gz#_2018-04-05_09_41_25_031 | |
| 14:52:49 | mriedem | grenade hits the same thing but doesn't fail for some reason | |
| 14:56:11 | tssurya | sorry was afk, that doesn't look goo | |
| 14:56:14 | tssurya | good* | |
| 14:57:40 | odyssey4me | mriedem maybe someone couldn't figure it out and added || true ;) | |
| 14:58:41 | odyssey4me | jokes aside, that's quite serious... but I'm glad we're not alone, and that we could find a red flag :) | |
| 14:58:48 | mriedem | it's hitting htis https://github.com/openstack-dev/grenade/blob/master/projects/60_nova/upgrade.sh#L74 | |
| 14:59:09 | mriedem | oh i know why it's not failing | |
| 14:59:17 | mriedem | the nova-manage command doesn't return a non-0 | |
| 14:59:27 | mriedem | that's why it dumps out the breadcrumb | |
| 14:59:33 | mriedem | "Has "nova-manage api_db sync" been run?" | |
| 15:00:03 | openstackgerrit | Merged openstack/nova master: libvirt: Allow to specify granular CPU feature flags https://review.openstack.org/534384 | |
| 15:00:05 | tssurya | mriedem: is this because api DB was not synced before running db sync ? | |
| 15:00:26 | mriedem | yes | |
| 15:00:46 | tssurya | ah ok | |
| 15:04:47 | mriedem | the order in grenade for the db sync matches what we have in our upgrade docs too https://docs.openstack.org/nova/latest/user/upgrade.html#rolling-upgrade-process | |
| 15:07:50 | mriedem | tssurya: odyssey4me: superdan: jgwentworth: https://bugs.launchpad.net/grenade/+bug/1761775 | |
| 15:07:50 | openstack | Launchpad bug 1761775 in grenade "InternalError during nova-manage db sync when upgrading to Rocky" [Undecided,Confirmed] | |
| 15:07:58 | mriedem | i listed 2 options in there for fixing grenade | |
| 15:08:13 | mriedem | trying to channel what sdague would say... | |
| 15:08:40 | fried_rice | mriedem: Care to +W https://review.openstack.org/#/c/555961/ (lower-constraints.txt) quick before we break it again? | |
| 15:08:40 | tssurya | hmm question.. why wasn't this an issue before me adding a new column to cell_mappings ? | |
| 15:09:12 | tssurya | I mean no other column change in api_db before has needed a api sync before db sync situation ? | |
| 15:09:29 | odyssey4me | mriedem yeah, that does seem a bit chicken-and-egg | |
| 15:09:55 | cdent | finucannot: +many on the -W stuff. pain now for less pain later | |
| 15:10:09 | mriedem | tssurya: we just haven't modified the cell_mappings table in forever | |
| 15:10:41 | tssurya | mriedem: cell_mappings yes, what about other tables ? | |
| 15:10:57 | mriedem | db sync doesn't hit other tables | |
| 15:11:01 | mriedem | in the api db | |
| 15:11:11 | jgwentworth | mriedem: interesting, I always thought the order was api_db first in the upgrade docs. I would have thought that one should be done first and I can't immediately think of why it's not | |
| 15:11:17 | superdan | mriedem: oh is it trying to read the cell mappings to do the cell databases before it has sync'd the api db? | |
| 15:11:27 | superdan | yeah I'm not sure why api isn't first | |
| 15:11:32 | finucannot | cdent: Yup, only way to do it, unfortunately | |
| 15:11:35 | mriedem | superdan: nova-manage db sync by default tries to also sync cell0- | |
| 15:11:37 | tssurya | mriedem: ah heh yes, anyways I thought api_sync was run before db sync until now | |
| 15:11:59 | superdan | mriedem: and it looks up the mapping for it before it has sync'd the api db? | |
| 15:12:18 | tssurya | superdan: yes | |
| 15:12:32 | mriedem | yeah | |
| 15:12:58 | superdan | er, I guess t's just that we call db sync before api_db sync in grenade you mean | |
| 15:13:27 | mriedem | right | |
| 15:13:31 | mriedem | that's one possible fix | |
| 15:13:31 | superdan | mriedem: tbh, I imagine that it's second because the main db sync was there first, and we were adding stuff, so appending it to the end | |
| 15:13:52 | superdan | I don't think that was an intentional decision | |
| 15:14:00 | mriedem | superdan: maybe https://review.openstack.org/#/c/190399/ | |
| 15:14:15 | mriedem | wow mitaka | |
| 15:14:23 | superdan | I'm kinda surprised actually since you would have to sync the api db at day zero to get cell0 to work at all, unless it's just using config for that one | |
| 15:14:49 | mriedem | ocata->pike would use devstack to setup ocata first though wouldn't it? | |
| 15:14:55 | mriedem | and devstack does the base install with the api db sync first | |
| 15:15:11 | superdan | ah, right, right | |
| 15:15:17 | mriedem | https://github.com/openstack-dev/devstack/blob/master/lib/nova#L724 | |
| 15:15:31 | mriedem | then later: https://github.com/openstack-dev/devstack/blob/master/lib/nova#L741 | |
| 15:15:44 | superdan | yeah I was thinking about my superconductor changes and was like "I was sure api goes first" | |
| 15:15:51 | superdan | but this is grenade, which matters less | |
| 15:15:55 | superdan | because devstack has already run | |
| 15:15:57 | superdan | so that makes sense | |
| 15:16:27 | mriedem | fried_rice: someone is goign to have to tl;dr that for me - will that lower-constraints.txt file get synced automagically by the reqs bot? | |
| 15:16:44 | superdan | someone else should write the grenade patch so I can +2 it | |
| 15:16:47 | fried_rice | mriedem: No, it's manual. | |
| 15:17:02 | fried_rice | mriedem: There was a ML thread by dhellmann | |
| 15:17:11 | mriedem | yeah i saw the novel | |
| 15:17:13 | tssurya | superdan: I can.. | |
| 15:17:14 | mriedem | again, tl;dr | |
| 15:17:28 | mriedem | fried_rice: also, is that job supposed to actually run tests? http://logs.openstack.org/61/555961/3/check/openstack-tox-lower-constraints/91b6d17/job-output.txt.gz#_2018-04-06_13_19_18_865706 | |
| 15:17:30 | mriedem | b/c it doesn't | |
| 15:17:35 | superdan | and we should change those docs, I imagine they're in that order for the same reason | |
| 15:18:23 | mriedem | fried_rice: so -1 on that | |
| 15:19:24 | superdan | tssurya: okay I'll tweak the doc | |
| 15:19:29 | fried_rice | mriedem: Okay. The requirements-check job sure works (cause that's what held up PS1 and PS2). But yeah, I don't know anything beyond that. | |
| 15:19:36 | tssurya | although mriedem says he prefers a "Add a from-queens script" to swapping | |
| 15:19:52 | mriedem | no i don't prefer that | |
| 15:20:04 | mriedem | i said, "Option #1 seems a bit shady, but option #2 seems excessive, especially if we're going to be changing things in the API DB in future releases." | |
| 15:20:19 | mriedem | in other words, i'm hedging | |
| 15:20:35 | tssurya | okay sorry so its the shady one then | |
| 15:21:16 | superdan | I don't think it's shady, I think it's been wrong for a long time, hidden by the fact that we run devstack (in the proper order) first before grenade | |
| 15:21:18 | mriedem | if we added a from-queens script, per grenade guidelines, we'd also need a nova release note in rocky saying you need to run nova-manage api_db sync before nova-manage db sync | |
| 15:21:20 | jgwentworth | heh, I think it was shady assuming there was a good reason for the current ordering, which there apparently isn't | |
| 15:21:31 | superdan | yeah | |
| 15:21:43 | odyssey4me | mriedem alright, I've pushed up an OSA patch to test out the shady option: https://review.openstack.org/#/c/559354/1/tasks/nova_db_setup.yml | |
| 15:21:54 | tssurya | superdan : should I do the docs in the same one then ? | |
| 15:22:03 | odyssey4me | that'll make api_db sync before before db | |
| 15:22:06 | superdan | tssurya: I'm doing the doc patch, if you can do grenade | |
| 15:22:16 | tssurya | superdan: okay :) | |
| 15:22:28 | odyssey4me | go.... TEAM! ;) | |
| 15:22:36 | mriedem | odyssey4me: that will affect both base install and upgrade? | |
| 15:22:46 | odyssey4me | mriedem yep | |
| 15:23:08 | jgwentworth | \o/ | |
| 15:24:28 | fried_rice | mriedem: Looking over dhellmann's email again, it's possible that the no-op-ness of that job is intentional; to be switched on at some point in the future once the dust has settled. This is just setting up the framework. | |
| 15:24:56 | mriedem | fried_rice: well the commit message is clearly misleading then | |
| 15:25:17 | fried_rice | mriedem: But... I guess I'll let dhellmann respond to your -1. I was just trying to take over since he's got a few hundred of these up in the air. | |
| 15:25:29 | jgwentworth | so we set our constraints manually and the job makes sure all of the components work together with the versions they've required? | |
| 15:25:34 | odyssey4me | mriedem if install must do a different order to upgrade, then that's not awesome - but we can adjust... but as it stands now it looks like our api_db sync happened first on upgrade only, but the db sync didn't happen before the cell mapping... so I can adjust the sequence to just move when the db sync happens if that's more sensible | |
| 15:25:59 | mriedem | odyssey4me: this might be fine, we'll see; i was wondering why there were redundant api db syncs in there before | |
| 15:26:32 | mriedem | i guess the first one was trying to be sly | |