| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-08-09 | |||
| 17:52:23 | dansmith | meaning, if we're about to drop a column or add a constraint | |
| 17:52:27 | dansmith | I thought we had one of those early on | |
| 17:52:29 | mriedem | dansmith: takashi's patch would break that if we did | |
| 17:53:03 | dansmith | I really thought one of the first uses for nova-status was to warn people before we added a constraint, but I don't remember the details | |
| 17:53:18 | mriedem | earliest checks were for cells v2 and placement | |
| 17:53:19 | mriedem | in ocata | |
| 17:53:49 | mriedem | https://github.com/openstack/nova/blob/stable/ocata/nova/cmd/status.py#L358 | |
| 17:53:53 | melwitt | dansmith: I thought the same thing. like, "you have homework to do before running db migrations" | |
| 17:54:33 | melwitt | or maybe it's before online data migrations? | |
| 17:54:53 | dansmith | it tells you if you *haven't* run online migrations, | |
| 17:55:18 | mriedem | right for some definitely - there was a check for missing request specs which was solved with an online data migration, | |
| 17:55:22 | dansmith | but I really thought we were prescribing running it before to handle things like column drops, constraints, etc | |
| 17:55:26 | mriedem | and couldn't be done with a blocker migratoin b/c the records are in different dbs | |
| 17:55:45 | melwitt | yeah ok | |
| 17:57:02 | mriedem | as far as i know we haven't dropped a column or added a new constraint in a loong time | |
| 17:57:25 | mriedem | so haven't really had to think about the ordering of that plus the upgrade check | |
| 17:58:28 | dansmith | mriedem: but, if people are only ever running this after db sync, we can't rely on this to help us in that regard | |
| 17:58:49 | dansmith | and basically have to stick to blocker migrations | |
| 17:58:58 | mriedem | or you add the check in the n-1 release | |
| 17:59:18 | mriedem | "i see you've got stuff in column x which is going to be dropped in the next release, you should do y to drain it" | |
| 17:59:21 | mriedem | or whatever | |
| 17:59:33 | mriedem | we've added checks that get backported, like for the ironic flavor migratoins in pike | |
| 18:00:03 | dansmith | if we're going to require db sync first, why did we go with raw sqla access then? | |
| 18:00:18 | mriedem | but i don't think we've ever said this is an end-all perfect tool, it's part of the whole box - blocker migratoins, online data migratoins, runtime data migrations, and the checks to automate release notes | |
| 18:00:21 | dansmith | I mean, that was the whole point of doing that, AFAIK, so we could talk to the schema independent of the models | |
| 18:00:31 | dansmith | sure | |
| 18:00:36 | mriedem | i'm not saying db sync is required, | |
| 18:00:51 | mriedem | i'm saying that's how we test it, and how it behaves before db sync is undefined | |
| 18:01:02 | dansmith | ack, | |
| 18:01:05 | mriedem | if we want to support both ways, we need to test it both ways | |
| 18:01:12 | dansmith | but I think the question is about intent and assumptions and what-not, | |
| 18:01:19 | dansmith | especially in the face of that patch to require it | |
| 18:01:38 | mriedem | yup, which is a result of a bug that mgoddard opened | |
| 18:01:48 | mriedem | to i guess make us shit or get off the pot | |
| 18:02:01 | mriedem | i prefer to wallow thank you very much | |
| 18:02:30 | mriedem | and i think he did that b/c he's getting pushback in kolla about adding the checks in | |
| 18:02:41 | mriedem | https://review.opendev.org/#/c/665643/ | |
| 18:03:50 | dansmith | his patch actually doesn't make it required, so much as it just checks that you've done it I guess | |
| 18:03:51 | dansmith | which is less concerning | |
| 18:05:27 | dansmith | if the expectation of the tool is to tell you go/no-go for deploying new code, then it's probably fine to have that be an ERROR and not a WARN | |
| 18:05:37 | mriedem | https://review.opendev.org/#/c/667047/10/nova/cmd/status.py@395 is a fail | |
| 18:05:44 | dansmith | right, but ^ | |
| 18:05:54 | mriedem | and https://review.opendev.org/#/c/667047/10/nova/cmd/status.py@370 | |
| 18:06:13 | dansmith | it's still legit to run that before you do db sync to catch other soft changes knowing that the error is expected before you've done anything | |
| 18:07:00 | mriedem | maybe, but then you have to build some logic into your ansible that detects which check failed and ignore this one if you know you're doing before-sync checks | |
| 18:07:04 | dansmith | we could have a pre-upgrade command in that tool which doesn't run stuff like that, but does do things like sanity checks, | |
| 18:07:16 | mriedem | which gets back to something mnaser originally asked for which was more machine-readable output | |
| 18:07:41 | dansmith | we could also have the pre-upgrade run any of the checks from the previous release as error->fail, and any of the current release checks as error->warn or something | |
| 18:07:44 | mriedem | separating the commands would make more sense imo | |
| 18:07:47 | dansmith | and just move them each release | |
| 18:08:03 | mriedem | then you have a defined behavior and we'd test that in grenade | |
| 18:08:13 | dansmith | yeah | |
| 18:08:19 | mnaser | i did this a really long time ago but yeah -- https://review.opendev.org/#/c/576944/ | |
| 18:12:04 | openstack | Launchpad bug 1839560 in OpenStack Compute (nova) "ironic: moving node to maintenance makes it unusable afterwards" [High,In progress] - Assigned to Matt Riedemann (mriedem) | |
| 18:12:04 | mnaser | also just a friendly bringing up of this fun one https://bugs.launchpad.net/nova/+bug/1839560 | |
| 18:12:41 | mriedem | i've had it with friendship | |
| 18:13:18 | mriedem | mnaser: i said we should ping dansmith about that in the morning, and now i've already exceeded my sweet dan quota for the day on upgrade checkers and queens backport reviews | |
| 18:13:38 | dansmith | yeah you were done by 8am | |
| 18:13:41 | mriedem | ha | |
| 18:13:44 | dansmith | please try again on monday | |
| 18:13:55 | mriedem | dan is out of the office and out of clothes | |
| 18:15:24 | mriedem | mnaser: i also feel like i woke up at 2am thinking about a way to avoid the revert and still fix the unique constraint thing in a backportable way, but i think it eludes me. something something catch DuplicateEntry on ComputeNode.create(), look for existing deleted node with the same uuid, and just update it and set deleted=0. | |
| 18:15:28 | mriedem | but that's pretty hacky | |
| 18:16:12 | mnaser | that does feel pretty hacky | |
| 18:16:24 | mnaser | does the compute_node entry get created after or before the 'hypervisor' entry | |
| 18:16:43 | mnaser | aka maybe that hack can happen *only if* its using ironic but i dunno, seems like we're digging ourself a bigger hole | |
| 18:17:05 | mriedem | hypervisor entry? | |
| 18:17:21 | mriedem | tbachman: he was gone after the last summit | |
| 18:17:23 | mnaser | sorry its been a long day | |
| 18:17:31 | tbachman | I’m so out of touch | |
| 18:17:39 | mriedem | gone but not forgotten | |
| 18:17:41 | tbachman | heh | |
| 18:17:42 | mnaser | i think he's at aws | |
| 18:17:45 | mriedem | i just chatted him up this morning | |
| 18:17:46 | mriedem | he is | |
| 18:17:47 | mnaser | i still see him respond to placement threads | |
| 18:17:53 | mnaser | on the ML | |
| 18:17:55 | mnaser | so not too far away :P | |
| 18:18:31 | tbachman | Just when I thought I was out, they pull me right back in | |
| 18:19:03 | mriedem | those are more like self-inflicted wounds | |
| 18:19:57 | tbachman | LI profile says Principal Open Source Engineer at AWS | |
| 18:20:24 | tbachman | ah, but I guess he’s a kubernetes guy now | |
| 18:20:25 | mriedem | yes he's working on EKS | |
| 18:20:47 | tbachman | thx for bringing me up to date | |
| 18:21:09 | tbachman | checks yahoo email | |
| 18:21:17 | tbachman | (that last one is actally true) | |
| 18:26:12 | mriedem | melwitt: replied, sort of | |
| 18:27:25 | melwitt | mriedem: thanks. yeah, just thought it was weird if you happened to know what/why that is. I hadn't seen it before | |
| 18:38:24 | mriedem | you must be on cve backport duty with lee | |
| 18:42:33 | artom | mriedem, just come work for us, at this point. You know our internal better than we do ;) | |
| 18:42:37 | artom | *internals | |
| 18:43:07 | artom | Actually don't - we already have too many cores on staff. | |
| 18:45:13 | melwitt | heh, well, it's a cve so important to get the fixes merged and out there. and I had the context on the bug and fix for reviewing | |
| 18:45:30 | mriedem | artom: but then i could support the same-company approvals policy! | |
| 18:45:51 | artom | mriedem, sellout | |
| 18:46:04 | mriedem | melwitt: yeah i know, i appreciate the quick reviews | |
| 18:53:53 | mriedem | dansmith: if you prefer handling the DuplicateEntry-on-create-then-update-and-undelete thing here https://review.opendev.org/#/c/675496/ i can go that directoin | |
| 18:54:13 | mriedem | personally i'd like to keep the ironic node id, compute node uuid and resource provider id all aligned for debuggability | |
| 18:54:19 | mriedem | but it's low priority | |
| 18:55:47 | mriedem | the alignment i mean, not the fix that mnaser is waiting on | |