Earlier  
Posted Nick Remark
#openstack-nova - 2018-04-06
19:01:49 cdent fried_rice: since you're not one with the twitters, you may not be aware of the placedock (or the blog posts associated with it) stuff, if you go to the placedock repo there's loads of links to context
19:01:57 cdent fried_rice: pretty much
19:02:15 cdent depending on the variables you pass into the container
19:02:26 cdent (and I recently found a bug with that)
19:03:07 cdent and in terms of production, you could, except that the container builds from non master code
19:07:09 openstackgerrit sean mooney proposed openstack/os-vif master: make legacy-tempest-dsvm-nova-os-vif voteing https://review.openstack.org/559401
19:31:25 sean-k-mooney cdent: i have been following your tweets on it on and off its a cool idea
19:33:48 sean-k-mooney cdent: have you considerd useing any of this work as part of functional testing for placemnet
19:34:24 cdent sean-k-mooney: not realy: because of the way the existing gabbi tests work with wsgi-intercept, it's not really needed
19:34:32 cdent using it for some kind of integration tests might be useful thought
19:34:39 sean-k-mooney cdent: when placement has its own repo this could be an interesting way for folks to do placement dev/testing
19:34:46 cdent yes
19:34:56 sean-k-mooney cdent: well i was thinking it would be kind of like neutron fullstack tests
19:35:13 sean-k-mooney they are more then fuctional tests but not quite intergration tests
19:35:30 cdent sean-k-mooney: what do you see as the difference between using the container and what the current wsgi-intercept driven tests do?
19:36:51 sean-k-mooney cdent: noting really other then the fact that you are using sqlite right so i dont need to setup a db first so it would mean a smaller testing requiremtes set
19:38:19 cdent the container can use any database, depending on environment variables
19:38:31 cdent the functional tests use sqlite, yeah?
19:39:00 sean-k-mooney am im not sure what they use but were you not tweeting about using sqlight
19:39:43 sean-k-mooney i could be getting confused between what can work and what that suff is using today
19:41:01 sean-k-mooney anyway this time im actully going to leave since its 8:40 on a friday. enjoy your weekends o/
19:43:40 cdent o/
20:45:19 mriedem for the life of me i can't figure out why this isn't a problem anymore https://bugs.launchpad.net/nova/+bug/1718512
20:45:19 openstack Launchpad bug 1718512 in OpenStack Compute (nova) "migration fails if instance build failed on destination host" [Medium,In progress] - Assigned to Matt Riedemann (mriedem)
20:46:01 mriedem or, how it was a problem to begin with - since i don't know where we save 'retry' changes to a request spec during the initial build
20:49:44 mriedem superdan: i think i see a fun little weirdness, we update the requestspec with a new flavor during resize before we've actually confirmed that the resize happened https://github.com/openstack/nova/blob/master/nova/conductor/manager.py#L349
20:49:54 mriedem b/c at that point we've rpc cast to the dest compute to start the resize
20:50:13 mriedem if it fails on the compute, the request spec now says that the instance is using a new flavor
20:51:02 superdan mriedem: and that matters because why? if you later evacuate maybe?
20:51:12 mriedem it might not matter right now,
20:51:16 mriedem i was thinking,
20:51:33 mriedem if resize does a reschedule to the cell conductor, we could try saving changes to the request spec, because of the retry stuff
20:51:36 superdan actually, I think evac is probably fine since it likely uses the instance
20:51:39 mriedem which would be an upcall to the api db
20:52:14 superdan okay, but it shouldn't need to change the flavor
20:52:17 superdan on reschedule
20:52:22 superdan (from resize)
20:52:42 mriedem right the flavor in the requestspec wouldn't change on a reschedule during resize,
20:52:49 mriedem the RequestSpec.retry field might
20:53:44 mriedem although,
20:53:57 mriedem it looks like on a reschedule for resize, the compute doesn't send the request spec back up to the cell conductor
20:54:06 mriedem which is dumb, but likely the only thing saving this
20:54:22 superdan you mean "that's by design" right? :D
20:54:49 mriedem f no
20:55:05 mriedem god _reschedule_resize_or_reraise in the compute manager is about as convoluted as it gets
20:55:21 mriedem it's not a bdm turducken, but it's close
20:55:36 superdan are you just trying to start trouble on a friday afternoon?
20:56:15 mriedem no, i've had a patch up for this bug since it came up in early november, but realized i needed a functional test for it which stalled it out for awhile, and then earlier in the week i triaged a duplicate of the same bug, so started working on writing that functional test,
20:56:24 mriedem which now that i have the functional test written, it doesn't fail as expected...
20:57:33 mriedem i pulled the reqspec out of the api db and the 'retry' field isn't saved, so i'm trying to figure out wth the reqspec gets saved during a reschedule, during build
20:58:04 superdan yeah, never go trawling through your backlog on a friday
20:58:09 superdan that's like tuesday stuff
20:58:17 mriedem the tab has been open since thursday, if that helps
20:58:21 superdan hah
20:59:51 mriedem far as i can tell, when we're still at the top during build, we populate the filter_properties dict with the initial host we're going to try for the build here https://github.com/openstack/nova/blob/stable/pike/nova/conductor/manager.py#L1155
21:00:23 mriedem but that never gets persisted back into the request_spec
21:01:08 superdan yeah, but it shouldn't right?
21:01:17 superdan because otherwise next time we went to do something we might think they requested that host specifically?
21:01:38 mriedem requesting the host specifically is the forced_hosts stuff,
21:01:45 mriedem that gets reset before all move operations
21:01:54 mriedem and yeah, i don't see a good reason to persist the retry hosts either
21:02:08 mriedem but this bug is asserting that they are/were and that causes problems with later move operations
21:02:47 mriedem time to get back to the irc logs from last september
21:04:58 mriedem oh i already found the convo http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2017-09-20.log.html#t2017-09-20T15:25:23
21:05:28 superdan doesn't seem to be loading for me
21:05:39 superdan my browser might have fridayitus
21:05:46 superdan it's a real plague
21:07:00 superdan lol, I just read over the dazed and confused references in that log
21:07:02 superdan good times
21:07:47 mriedem heh
21:07:59 mriedem the creepy guy that now drives a lincoln everywhere
21:08:03 superdan lol
21:11:04 mriedem this is his original build request spec http://paste.openstack.org/show/621557/
21:14:32 mriedem so, i'm wondering if either we used to save reqspec changes during reschedules back in mitaka?
21:14:38 mriedem otherwise, he might have special sauce
21:18:28 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: Don't ignore original retried hosts when moving an instance https://review.openstack.org/505771
21:18:29 mriedem ^ is the attempt at a recreate
21:19:09 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: Don't ignore original retried hosts when moving an instance https://review.openstack.org/505771
21:22:13 imacdonn fried_rice mriedem For https://review.openstack.org/#/c/558089/ , do we need to do anything further around unit tests? I can do a new PS with the requested comment changes, but wanted to see if anything else fell out of the discussion...
21:22:58 mriedem imacdonn: i have to go back and look at replies, in the middle of debugging something
21:23:53 fried_rice imacdonn: If mriedem is satisfied with my response at https://review.openstack.org/#/c/558089/1/nova/tests/unit/compute/test_compute_mgr.py@3730 then I think the remaining question is https://review.openstack.org/#/c/558089/1/nova/tests/unit/test_test.py@45 -- have you tried that out locally to see if it works?
21:25:11 mriedem looking back at mitaka, the api creates the request spec, but doesn't send it to conductor.build_instances, that just builds it's own fake request spec to pass to the scheduler; conductor passes that fake reqspec down to compute, where it's ignored
21:26:15 mriedem there are no request_spec.save() calls in mitaka, but there is that one in newton for a resize
21:26:28 imacdonn fried_rice: I haven't ... because I don't really know what that test is intended to accomplish
21:27:11 mriedem so i wonder if this is what happened: built the server on host1, resized - failed on host2, rescheduled to host3, then tried to live migrate to host2 and that was kicked out because the request_spec.save() during the resize reschedule was persiste
21:27:14 mriedem *persiste
21:27:16 mriedem gdi
21:27:25 mriedem this thing https://github.com/openstack/nova/blob/stable/pike/nova/conductor/manager.py#L1155
21:27:44 mriedem wrong link, this https://github.com/openstack/nova/blob/master/nova/conductor/manager.py#L349
21:27:54 fried_rice imacdonn: Does stuff break if you take out that particular PlacementFixture instantiation?
21:28:29 imacdonn fried_rice: yes, I had to add the PlacementFixture to get the test to not fail
21:29:59 cfriesen_ mriedem: seems plausible
21:30:06 mriedem cfriesen_: where the hell did you come from
21:30:37 fried_rice imacdonn: I think mriedem is correct that start_service('compute') would accomplish the same thing (just looking at what start_service('compute') now does, as amended by you). But then as you say, I'm not sure what we're gaining by that test in the first place, since there's any number of other tests that start_service('compute') already. If it were up to me, I'd say nix the test. So yeah, I guess let's wait for mrie
21:31:36 cfriesen_ mriedem: lurking all day, got bored with trying to solve internal race conditions
21:32:52 imacdonn fried_rice: ack
21:34:33 mriedem imacdonn: fried_rice: replied
21:34:36 fried_rice thx
21:35:44 imacdonn mriedem fried_rice Thanks .. I'll start wordsmithing comments then ;)
21:40:11 openstackgerrit Jay Pipes proposed openstack/nova master: mirror nova host aggregate members to placement https://review.openstack.org/553597

Earlier   Later