| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-10-14 | |||
| 16:13:38 | zzzeek | melwitt: yah, saw the link, will look now | |
| 16:13:46 | melwitt | (and thanks again for helping me out with that) | |
| 16:15:02 | efried | https://review.opendev.org/#/c/688250/ https://review.opendev.org/#/c/688235/ https://review.opendev.org/#/c/688087/ if you care stephenfin | |
| 16:17:22 | cdent | mriedem: my to do list has just reminded me to prompt folk about https://review.opendev.org/#/c/623558/ which is jay's patch to improve instance info fetch in the host manager. A while back I added some unit tests and did the tweaks that eric requested | |
| 16:18:49 | openstackgerrit | Merged openstack/os-resource-classes master: Bump the openstackdocstheme extension to 1.20 https://review.opendev.org/688249 | |
| 16:24:10 | zzzeek | melwitt: before I look silly on the review because I'm missing something, do i read correctly that security_group_ensure_default is called twice inside of instance_create() ? | |
| 16:25:02 | melwitt | zzzeek: that is correct. the first time, it intends to create it if it doesn't exist, the second time, it's really only doing it to read it back (was my conclusion) | |
| 16:25:36 | zzzeek | melwitt: what condition would casue the return value to have changed in the intervening 15 or so lines of code? | |
| 16:25:39 | melwitt | are you thinking another way would be to just use the returned object from the first time, later on? | |
| 16:25:55 | openstackgerrit | Eric Fried proposed openstack/nova-specs master: Add 'Feature Liaison' spec process https://review.opendev.org/685857 | |
| 16:25:56 | openstackgerrit | Eric Fried proposed openstack/nova-specs master: Add spec for vm scoped sriov numa affinity https://review.opendev.org/683174 | |
| 16:26:01 | efried | bauzas: ^ | |
| 16:26:19 | zzzeek | melwitt: beacsue i dont know the concepts being worked with here, from what im seeing i dont immediately see why a. the top call should use the context, not independent transaction and b. what's wrong with default_gruop assigned at the top there | |
| 16:26:58 | openstackgerrit | Ghanshyam Mann proposed openstack/nova-specs master: Re-propose policy-defaults-refresh spec for Ussuri https://review.opendev.org/686058 | |
| 16:27:02 | zzzeek | melwitt: then there's this _Get_Sec_group_models closure, which appears to be called only once, three lines later, no recursion, no passing it onwards, so why is it like that | |
| 16:27:02 | gmann | melwitt: ^^^ re-proposed policy spec for ussuri | |
| 16:27:04 | mriedem | cdent: without digging into the code change yet, i dropped a few comments in the commit message | |
| 16:27:15 | mriedem | soft -1, i know it's an adopted patch | |
| 16:27:17 | zzzeek | melwitt: it makes it look like this used to be very different and was refactored, but not all the way | |
| 16:27:21 | cdent | mriedem: thanks | |
| 16:27:50 | zzzeek | melwitt: if you agree thatim reading it right i can post my comments to this effect and folks can discuss | |
| 16:28:36 | melwitt | zzzeek: indeed, I could only assume similar because I'm not _that_ familiar with the method and definitely not familiar with the history. I'm not quite parsing your question a) though, why the top call should not use a separate transcation? did you mean why does it? | |
| 16:29:10 | mriedem | note that we don't even need that call if using neutron https://review.opendev.org/#/c/653065/ | |
| 16:29:20 | melwitt | zzzeek: and I agree that it looks partially refactored | |
| 16:29:22 | zzzeek | melwitt: yes, got my negatives reversed. | |
| 16:29:29 | zzzeek | melwitt: yes why use a separte trans there | |
| 16:30:37 | zzzeek | melwitt: when the separate trans is used, that means that you either want the thing you're doing to modify the DB even if your method fails, or you want the thing you're doing to modify the DB while your mehtod is still running (like logging a slow operation), or, otehrwise you're trying to read some state that occurs within the middle of your ongoing, slow transaction | |
| 16:31:26 | zzzeek | melwitt: this instance_create doesn't look like a slow function and it looks like the originator of the transaction that it commits. but i dont know | |
| 16:31:51 | melwitt | zzzeek: ok, yeah, I went through thinking about it and I think what that comment is saying is that if we don't fork out a separate transaction, two racing server creates would try to insert the default group (the first time) and then one will succeed and the second would fail the COMMIT and then raise a DBError and fail the second server create [to the user]. using a separate transaction avoids that. now, I think an alternative way to | |
| 16:31:51 | melwitt | have handled that would have been to try-except the DBError and call instance_create again in that case, but that's not what was done | |
| 16:32:59 | zzzeek | melwitt: only if this function is overall slow-ish is there a race created that wouldn't also exist in the security_group_ensure_default() call itself | |
| 16:33:01 | melwitt | *fail the COMMIT because of the unique constraint on project_id | |
| 16:33:06 | zzzeek | like, those can race anyway right? | |
| 16:33:31 | zzzeek | oh it has the retry on it | |
| 16:33:38 | zzzeek | I see so its independent so that it can run and do a retry | |
| 16:34:07 | zzzeek | OK but...it returns the value at least, so, you can use it at the top? the return value that is, and not call it a second time | |
| 16:36:16 | melwitt | yeah... thinking... on the surface I don't see why we couldn't. I was trying to think if there would be any implications for racing requests to instance_create, but there shouldn't be right.. | |
| 16:37:19 | zzzeek | melwitt: I did a blame. this code is oldish | |
| 16:37:51 | zzzeek | Pavel Kholkin in 2015 seems to be most of what I'm asking about, is that person still around | |
| 16:38:15 | zzzeek | e.g. i can put up my qeustions and bring them onto a review if they still work for openstack | |
| 16:38:20 | melwitt | mriedem: yeah, I remember that patch. I'm not opposed to working around it but I landed on this because I was genuinely puzzled about how dupe groups were being created when the logic is clearly "get or create". once I found the root cause of how two identical groups were being created, I went ahead and proposed a way to address that directly | |
| 16:38:26 | zzzeek | haha "work for openstack" | |
| 16:39:57 | zzzeek | melwitt: is a "security group" kind of an infrequently created concept and the race here is the kind of thing that happens only during some kind of installation? a "Security group" sounds like the kind of thing an administrator creates just once | |
| 16:40:11 | melwitt | zzzeek: yeah, the code is old and as mriedem mentioned, it doesn't come into play (default group not ever used) if running with neutron, and neutron is the only networking we support as of... a few releases ago. this code is dealing with legacy nova-network security group record | |
| 16:40:44 | melwitt | and I don't think Pavel Kholkin is still around working on openstack | |
| 16:41:10 | zzzeek | melwitt: OK ill comment to these effects | |
| 16:42:58 | melwitt | zzzeek: yeah, this code only creates a group once per project and the only time it becomes a problem is when it's done with an anonymous RequestContext which has project_id=NULL, which is happening because nova-manage is inserting a "dummy" instance record to support a marker/paging (don't ask, haha) and the unique constraint on project_id won't "work" for NULL values | |
| 16:45:08 | openstackgerrit | Eric Fried proposed openstack/nova master: Stop using NoAuthMiddleware in tests https://review.opendev.org/687416 | |
| 16:45:10 | openstackgerrit | Eric Fried proposed openstack/nova master: Repro bug 1845530: versioned discovery is authed https://review.opendev.org/685180 | |
| 16:45:10 | openstack | bug 1845530 in OpenStack Compute (nova) "Versioned discovery endpoint should not require authentication" [Undecided,In progress] https://launchpad.net/bugs/1845530 - Assigned to Eric Fried (efried) | |
| 16:45:10 | openstackgerrit | Eric Fried proposed openstack/nova master: Allow versioned discovery unauthenticated https://review.opendev.org/685181 | |
| 16:45:13 | efried | mriedem: ^ | |
| 16:48:23 | openstackgerrit | Dan Smith proposed openstack/nova master: Add image caching API for aggregates https://review.opendev.org/687140 | |
| 16:52:16 | openstackgerrit | Eric Fried proposed openstack/nova-specs master: Add 'Feature Liaison' spec process https://review.opendev.org/685857 | |
| 16:52:16 | openstackgerrit | Eric Fried proposed openstack/nova-specs master: Add spec for vm scoped sriov numa affinity https://review.opendev.org/683174 | |
| 16:52:49 | efried | bauzas, gmann: Had to respin to fix the title on gibi's s/Core/Feature/ Liaison section ^ | |
| 16:53:07 | efried | (gibi thanks for adding that section preemptively :) | |
| 16:55:27 | gmann | efried: +1 | |
| 16:55:33 | efried | thanks gmann | |
| 17:26:10 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add prep_snapshot_based_resize_at_dest compute method https://review.opendev.org/633293 | |
| 17:26:10 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add PrepResizeAtDestTask https://review.opendev.org/627890 | |
| 17:26:11 | openstackgerrit | Matt Riedemann proposed openstack/nova master: FUP for I66d8f06f19c5c631e33208580428aa843abb38d2 https://review.opendev.org/678951 | |
| 17:26:12 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add prep_snapshot_based_resize_at_source compute method https://review.opendev.org/634832 | |
| 17:26:12 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add PrepResizeAtSourceTask https://review.opendev.org/627891 | |
| 17:26:13 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add finish_snapshot_based_resize_at_dest compute method https://review.opendev.org/635080 | |
| 17:26:13 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add FinishResizeAtDestTask https://review.opendev.org/635646 | |
| 17:26:14 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Execute CrossCellMigrationTask from MigrationTask https://review.opendev.org/635668 | |
| 17:26:14 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Plumb allow_cross_cell_resize into compute API resize() https://review.opendev.org/635684 | |
| 17:26:15 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Filter duplicates from compute API get_migrations_sorted() https://review.opendev.org/636224 | |
| 17:26:15 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Start functional testing for cross-cell resize https://review.opendev.org/636253 | |
| 17:26:16 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Handle target host cross-cell cold migration in conductor https://review.opendev.org/642591 | |
| 17:26:16 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Validate image/create during cross-cell resize functional testing https://review.opendev.org/642592 | |
| 17:26:17 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add zones wrinkle to TestMultiCellMigrate https://review.opendev.org/643450 | |
| 17:26:17 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add negative test for cross-cell finish_resize failing https://review.opendev.org/643451 | |
| 17:26:18 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Refresh instance in MigrationTask.execute Exception handler https://review.opendev.org/669012 | |
| 17:26:18 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add negative test for prep_snapshot_based_resize_at_source failing https://review.opendev.org/669013 | |
| 17:26:19 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Add confirm_snapshot_based_resize_at_source compute method https://review.opendev.org/637058 | |
| 17:51:00 | openstackgerrit | Son Pham proposed openstack/nova-specs master: [WIP]Add blueprint snapshot-vms-with-state of-processes https://review.opendev.org/688522 | |
| 18:00:37 | openstackgerrit | Son Pham proposed openstack/nova-specs master: [WIP]Add blueprint snapshot-vms-with-state-of-processes https://review.opendev.org/686948 | |
| 18:01:31 | mriedem | bauzas: here are a set of queens changes that are good to go: https://review.opendev.org/#/c/676285/ https://review.opendev.org/#/c/675355/ https://review.opendev.org/#/c/682722/ https://review.opendev.org/680873 https://review.opendev.org/#/c/676500/ | |
| 18:11:21 | dansmith | mriedem: I guess you didn't squash that fixup patch into your second patch when you rebased just now eh/ | |
| 18:12:10 | dansmith | doesn't look like anything is running yet, so you could do that without losing much still I think | |
| 18:12:36 | mriedem | https://review.opendev.org/#/c/678951/ you mean? | |
| 18:13:27 | mriedem | at some point the thing it was FUP'ing ( https://review.opendev.org/#/c/627890/ ) had +2s on it a couple of times so i figured it was easier to not squash for those +2s to come back as a diff check | |
| 18:14:30 | mriedem | i can if you want, i'm sure at this point a diff isn't trivial for gibi or stephenfin anymore anyway | |
| 18:14:32 | dansmith | mriedem: yeah, but rebased on master now so there's a ton of churn in the patches from there now | |
| 18:14:41 | dansmith | yeah | |
| 18:14:49 | mriedem | none of this code is impacted much from master... | |
| 18:14:58 | mriedem | well, this conductor task code | |
| 18:14:58 | dansmith | I think it makes sense to just do it now | |
| 18:15:14 | dansmith | oh, fair I guess. I just eye-diffed the bottom one and there was a lot of churn, but true about this one | |
| 18:15:35 | mriedem | https://review.opendev.org/#/c/627890/53..59 it's not really trivial anyway | |
| 18:15:37 | dansmith | anyway, whatever, the reason for doing it was a +2 on there in August, so seems safe to squash now but whatever | |
| 18:15:49 | mriedem | yeah i will | |
| 18:16:13 | mriedem | i'll take most any excuse to take a break from reviewing these queens backports... | |
| 18:22:14 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add PrepResizeAtDestTask https://review.opendev.org/627890 | |
| 18:22:14 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add prep_snapshot_based_resize_at_source compute method https://review.opendev.org/634832 | |
| 18:22:15 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add PrepResizeAtSourceTask https://review.opendev.org/627891 | |
| 18:22:15 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add finish_snapshot_based_resize_at_dest compute method https://review.opendev.org/635080 | |
| 18:22:16 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add FinishResizeAtDestTask https://review.opendev.org/635646 | |