Earlier  
Posted Nick Remark
#openstack-nova - 2017-08-24
18:31:28 mriedem ugh, you know what, don't we merge allocations for resize to same host in the scheduler
18:32:15 mriedem so i can't remove the allocations for the dest node blindly in prep_resize b/c dest node might == source node for resize to same host, but we also shouldn't leave the allocations as the doubled up ones
18:33:19 dansmith we don't? we have a test for that
18:33:58 mriedem this is where prep_resize fails on the dest host, before we ever confirm/revert
18:34:07 mriedem i think our existing resize to same host tests are all driven on confirm/revert
18:34:25 dansmith right but the scheduler is the thing that doubles
18:34:31 mriedem i know
18:34:32 dansmith that move_claim thingy
18:34:42 mriedem and the compute is what's cleaning up
18:35:03 mriedem in the before times, if this happened, the RT periodic would just overwrite the allocations for the instance based on what it's currently consuming
18:35:10 mriedem are we still doing that?
18:35:50 dansmith what is the thing you think we're not doing? handling the case where prep_resize fails? or the initial doubling before we get that far?
18:36:21 mriedem yeah so before we did the has_ocata_computes thing, the periodic would overwrite the doubled allocation using _update_usage_from_instance
18:36:26 mriedem self.reportclient.update_instance_allocation
18:36:33 dansmith right
18:36:36 mriedem if you don't have ocata computes, that won't correct this now
18:36:38 dansmith which won't happen in pike land
18:36:49 mriedem we're not handling the case that prep_resize fails
18:36:57 mriedem and cleaning up the allocation
18:36:59 mriedem that the scheduler created
18:37:01 dansmith yeah, so you're talking about the case where we've doubled things in the scheduler and don't undouble them if we fail in prep right?
18:37:07 mriedem yup
18:37:38 mriedem so maybe this falls under the same bug i reported for when live migration fails and we don't cleanup
18:37:56 dansmith I would like to point out that if we were doing the allocation thing in the conductor instead of the scheduler, we'd have this all in an auto-cleanup context manager that would roll back the doubling if we failed to kick off a thing
18:37:58 mriedem this is essentially the same kind of fix probably, a periodic checking for failed migrations and cleaning up allocations related to them
18:38:20 dansmith well, we should clean up allocations any time we have a solid failure and know where the instance remains,
18:38:30 dansmith and a failure in prep is that case, right? we know we didn't move anything
18:39:06 mriedem prep_resize is a cast from conductor so i'm not sure how that would auto-cleanup in this case
18:39:24 dansmith it's a cast from conductor to compute?
18:39:34 mriedem yeah
18:39:41 dansmith ah, yeah, I see
18:39:57 mriedem so, remove the dest node allocation when not resizing to same host is simple
18:40:00 dansmith that's legacy from when the api was doing it I think, but..
18:40:22 mriedem the resize to same host cleanup is shittier, since we basically need to overwrite the allocation back to the original flavor
18:40:37 mriedem which is basically just doing our RT overwrite stuff again, but in a different place
18:40:38 dansmith well,
18:40:51 dansmith we can just subtract what the new flavor would have had in it right?
18:41:07 dansmith not just regenerate, but subtract the new_flavor from our allocation if it's same host
18:41:17 dansmith merge_resources() with new_flavor and -1 as the sign
18:41:25 dansmith that will avoid trampling on shared things
18:41:30 mriedem sure
18:42:00 mriedem god i should probably have a test for the resize to same host case then too...
18:42:08 mriedem and it's nearly 2pm here
18:42:57 mriedem anyway, will work on the easy one first
18:44:47 dansmith mriedem: so you mean the fix for the thing you're testing in 497541 yes?
18:45:06 mriedem yeah
18:45:24 mriedem i don't know if we should do the resize to same host fix in here too or leave that for another bug
18:45:35 mriedem since it'd be a different test
18:46:00 dansmith if it doesn't really overlap then separate is probably best
18:46:03 mriedem and arguably resize to same host failures are less severe for holding up the release
18:46:12 dansmith yes, for real-world people
18:46:30 mriedem the ones on mtv?
18:46:31 dansmith realistically, the way this is going, we're going to be fixing these kinds of issues for a year
18:46:34 dansmith heh
18:46:40 mriedem no shit, this is whack a mole at it's finest
18:46:59 dansmith like, I'm fairly worried about how this is all going to go down
18:47:17 cburgess Worried about what specifically?
18:47:34 mriedem worried about the number of bugs that have shaken out in the last 3 weeks
18:47:35 dansmith cburgess: the thousand places we haven't already found and fixed
18:47:48 cburgess Oh.. so.. normal release cycle? :)
18:47:57 mriedem well,
18:48:06 dansmith cburgess: squared.
18:48:08 cburgess But seriously.. is there something that makes you more concerned this cylce then usual?
18:48:15 cburgess Just the volume of bugs?
18:48:23 mriedem ocata was using placement but not for claims
18:48:23 dansmith cburgess: no specifically what we were just talking about
18:48:29 dansmith cburgess: placement claims stuff
18:48:38 cburgess Ahh ok
18:48:54 mriedem now we're basically redoing the resource tracker with placement, but triplicating it everywhere when things fail
18:49:10 cburgess That means we can blame jaypipes right?
18:49:14 mriedem btw chet, wtf, you just show up?
18:49:18 dansmith doing the allocations stuff as part of RT was a huge mistake from the beginning
18:49:22 mriedem in our hour of need
18:49:25 cburgess mriedem To... ?
18:49:29 openstackgerrit Ildiko Vancsa proposed openstack/nova-specs master: Add spec to use cinder's new attachment API https://review.openstack.org/497552
18:49:31 dansmith it should have been all clean and separate
18:49:36 cburgess mriedem Oh I just looked at the back scroll yeah
18:49:52 cburgess I try and stay current but fail mostly so when I do see something of interested I ask.
18:50:04 edmondsw is there any way to toggle whether an existing flavor is public or not? I don't see an update flavor API in the API docs, and the os-flavor-access APIs don't appear to do that either based on the docs...
18:50:13 mriedem something interesting like me and dan crying over the state of things
18:50:31 mriedem edmondsw: there is no update flavors api
18:50:44 cburgess mriedem Well.. more specifically seeing 2 cores I have a lot of respect for seriously debating concerns around stability makes me notice.
18:50:45 mriedem os-flavor-access restricts access per tenant
18:50:54 mriedem cburgess: heh as it should :)
18:50:59 mriedem anyway, fixing this bug quick
18:51:04 edmondsw mriedem right, that's what I was afraid of... boo...
18:51:04 cburgess I want to know why so I can better steer our plans in the future of what releases to move to and when.
18:51:16 dansmith cburgess: that's stage 1 concern, stage 2 is seeing us polishing up resumes
18:51:38 dansmith speaking of which, has anyone seen my bottle of resume polish?
18:51:44 cburgess dansmith Yes... very yes.
18:52:01 cburgess Wait there is a polish for that? Maybe thats why I've been stuck in this same job for 6 years... :P
18:52:21 edmondsw seems odd that we have an API to allow you to restrict access by tenant but not to open it up to all tenants
18:52:26 dansmith cburgess: https://cdn.dribbble.com/users/327319/screenshots/1695561/resume_polish-01_1x.png
18:52:27 edmondsw oh well
18:53:16 cburgess dansmith OMG I'm going to have to use that on social media some how. Thats brilliant.
18:58:16 mriedem hmm looks like remove_provider_from_instance_allocation handles the resize to same host for me
19:30:28 openstackgerrit Dan Smith proposed openstack/nova master: Add uuid to migration object and migrate-on-load https://review.openstack.org/496934
19:35:27 openstackgerrit Matt Riedemann proposed openstack/nova master: Cleanup allocations in failed prep_resize https://review.openstack.org/497592
19:35:27 mriedem ok fix incoming
19:35:55 mriedem dansmith: ^ should handle both resize to same host and different hosts, but don't have a functional test for the resize to same host case

Earlier   Later