Earlier  
Posted Nick Remark
#openstack-nova - 2017-03-15
21:47:20 edleafe jaypipes: want me to fix the pep8 issue on https://review.openstack.org/441544 ?
21:47:45 jaypipes edleafe: lol, pls do. :)
21:47:52 edleafe k
21:48:14 jaypipes edleafe: serves me right for not tox -epep8'ing.
21:49:39 openstackgerrit Ed Leafe proposed openstack/nova master: virt: implement get_inventory() for Ironic https://review.openstack.org/441544
21:49:47 edleafe jaypipes: fixed ^^
21:50:24 jaypipes cheers, I wallaby'd it.
22:02:33 openstackgerrit Rafael Folco proposed openstack/nova master: DELETE all inventory for a resource provider https://review.openstack.org/416669
22:08:07 jaypipes mriedem, dansmith, melwitt: one of you want some review bait? :) https://review.openstack.org/#/c/444497/
22:14:55 openstackgerrit Sujitha proposed openstack/nova master: Add description to policies in admin_password.py https://review.openstack.org/443957
22:15:14 openstackgerrit Sujitha proposed openstack/nova master: Add description to policies in agents.py https://review.openstack.org/445208
22:15:25 openstackgerrit Sujitha proposed openstack/nova master: Add description to policies in aggregates.py https://review.openstack.org/445230
22:15:44 openstackgerrit Sujitha proposed openstack/nova master: Add description to policies in assisted_volume_snapshots.py https://review.openstack.org/445238
22:32:38 mriedem jaypipes: no more for me today
22:32:50 mriedem melwitt: here is that functional regression test for the retry bug ^
22:32:50 openstack bug 1671648 in OpenStack Compute (nova) "Instances are not rescheduled after deploy fails" [High,In progress] https://launchpad.net/bugs/1671648 - Assigned to Shunli Zhou (shunliz)
22:32:50 openstackgerrit Matt Riedemann proposed openstack/nova master: WIP: Add a functional regression/recreate test for bug 1671648 https://review.openstack.org/446209
22:35:40 melwitt mriedem: cool, will check it out
22:45:18 melwitt jaypipes: +W
23:12:17 mriedem1 aha, the chance scheduler doesn't set filter limits
23:12:22 mriedem1 b/c it doesn't do filtering
23:12:58 mriedem and the scheduler filter uses RequestSpec.from_primitives which defaults 'limits' to {}
23:13:06 melwitt mriedem: ah, right. need to self.flags for filterscheduler
23:13:28 mriedem i don't want to use the filter scheduler actually,
23:13:31 dansmith melwitt: were you going to split up the third quota patch at all?
23:13:36 mriedem i started with that and the default enabled filters kicked out my hosts
23:13:50 dansmith I've just been going back and forth between a real file and a test file for a while,
23:14:08 dansmith and I think it should be easy to cleave off some large related chunks purely by tagging files that go together
23:14:16 dansmith is there any reason to keep this monolithic?
23:14:41 melwitt no, other than I didn't do much thinking about how to logically split it into smaller chunks
23:14:58 melwitt I had a hell of a time just getting it to work, so it stayed monolithic
23:15:16 dansmith lemme see if I can split off some chunks that look obvious to me
23:16:06 melwitt thanks. suggestions on how to split it would be appreciated
23:17:09 melwitt mriedem: I thought I had seen an example of a func test that used filterscheduler but I'm not finding anything so far
23:17:55 melwitt oh, I was grepping for the wrong thing "FilterScheduler". it looks like this to configure self.flags(driver='filter_scheduler', group='scheduler')
23:20:50 melwitt and I just read back and saw you don't want the filter scheduler. nevermind
23:23:13 mriedem right, filter scheduler is the default
23:23:31 mriedem but it has a bunch of filters enabled by default, so i'd have to wittle that list of filters down to what works for this test, which might just be the RetryFilter,
23:23:39 mriedem i'm just trying to get the base things working
23:24:59 melwitt mriedem: well, you can self.flags the enabled filters too. so maybe just put RetryFilter in there by itself
23:25:22 mriedem yeah i thought about that,
23:25:23 melwitt if the bug is about something that RetryFilter needs to populate, I mean
23:25:34 melwitt if it's unrelated, then you don't need filter scheduler
23:25:36 mriedem RetryFilter doesn't populate the thing,
23:25:40 mriedem it checks the populated value
23:26:11 mriedem anyway, the functional test is now failing and going back and forth between hosts so i'm doing something else wrong here
23:26:16 mriedem with the fix i mean
23:26:19 mriedem so it's retrying, but failing
23:27:12 mriedem even though i'm using that flag to signal when we should fail and when we shouldn't
23:27:16 melwitt so the RetryFilter is what skips hosts that have already been attempted. so it seems like that would be your problem, right?
23:27:24 melwitt (I'm reading in the filter)
23:28:04 melwitt but that implies it would go on forever otherwise? that doesn't really make sense
23:33:15 mriedem i can try self.flags(enabled_filters=['RetryFilter'], group='filter_scheduler') and see what happens
23:36:49 mriedem yeah that makes it not attempt at all
23:36:56 melwitt I have a feeling that RetryFilter is required if scheduler_max_attempts > 1, otherwise it wouldn't know how to skip already tried hosts
23:37:29 melwitt and chance scheduler I think can't work with more than one compute host and scheduler_max_attempts > 1 maybe?
23:37:31 mriedem max_attempts defaults to 3
23:37:47 mriedem throwing the ComputeFilter into the list
23:37:51 dansmith melwitt: so, I just split the third patch into these: http://pastebin.com/raw/SXVqNSZm
23:37:52 mriedem since that's a pretty dumb one
23:38:04 dansmith which takes the top patch down from 49 files touched to 32
23:38:21 melwitt dansmith: you're the best
23:38:25 dansmith totally haven't run unit tests or anything, and there are probably some pieces that I need, like I didn't bring over the object hashes
23:38:44 melwitt dansmith: yeah, if you just wanna dump it like that, I can fix whatever blows up
23:38:51 dansmith but I think it's probably worth trying to pursue that, just to make the last patch (which will be big enough regardless) a little more manageable
23:39:37 dansmith let me see how much blowing up there is before I go dumping, but if it's not terribad I will
23:39:44 melwitt k
23:40:40 openstackgerrit Samantha Blanco proposed openstack/nova master: [WIP] Make flavor-rxtx policy more granular https://review.openstack.org/444036
23:42:17 melwitt mriedem: yeah, I knew max attempts defaults to > 1 but the vast majority of our tests only use one compute service, so this doesn't come up much
23:42:34 mriedem melwitt: ah the other thing,
23:42:40 mriedem filter scheduler uses placement now,
23:42:43 melwitt and chance_scheduler is only used in the tests that derive from the integrated_helpers base test class
23:42:47 mriedem and this isn't setup to report into placement
23:42:57 melwitt hmm
23:43:04 mriedem so back to chance_scheduler it is
23:43:15 mriedem unless i also stub out the placement stuff
23:43:32 melwitt I think chance_scheduler can't retry. you'd have to check
23:43:58 melwitt it has to have some other way to skip hosts it already tried
23:44:23 mriedem i can try using the PlacementFixture
23:44:52 melwitt I had to use that recently. I can't remember the context
23:48:15 mriedem this time i got one attempt, so getting further
23:49:01 melwitt /o/
23:50:17 mriedem is that the hey ho thing?
23:52:03 dansmith melwitt: hmm, yea, so I think you'll have to make some compatible changes to the quota object (and thus the quota driver) at the bottom of the stack, then use them, and remove the old stuff at the top
23:52:23 dansmith I could split this out in front: https://review.openstack.org/#/c/416521/22/nova/objects/quotas.py
23:52:46 dansmith except that the changes to the quota driver have to go with it, but I think a lot of that has to go nearish to the end?
23:53:42 melwitt mriedem: I was imagining it as cheering you on. I don't know what the hey ho thing is
23:54:43 melwitt dansmith: yeah, the check_deltas thing was a suggestion from johnthetubaguy as a way to put count/limit_check together behind an abstraction, in hopes that later on we could do something to make the count/check atomic
23:54:59 melwitt so it's just grouping thing really
23:55:04 mriedem melwitt: https://www.youtube.com/watch?v=vr-klwxKhow
23:55:37 melwitt and it makes the code look a lot nicer and be more clear at the call sites
23:55:49 dansmith melwitt: right but it makes all the things that use that interface depend on the changes to the quota driver
23:55:56 dansmith I mean that's obvious, that they depend on them,
23:56:10 dansmith but it makes it hard to merge any of those things early, which are just setup for the main event at the end
23:56:28 melwitt dansmith: yeah
23:56:31 dansmith if instead of modifying the existing quota limit_check thing, you had a new one that did the new behavior, we could merge that and the things that need it,
23:56:42 dansmith then cut over, then remove the old stuff
23:56:55 melwitt oh, okay, I see what you're saying now
23:57:44 dansmith unless the limit check is still usable by old code in it's modified form,
23:57:54 dansmith but so much change was made and new params and stuff I can't really eyeball it

Earlier   Later