| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-03-15 | |||
| 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 | |
| 23:58:26 | dansmith | like, with proj_values=None is it still compatible with the way it was before? | |
| 23:58:31 | melwitt | lemme see. this has been going on for awhile | |