| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-10-26 | |||
| 15:15:40 | dansmith | we just can't get rid of them just yet | |
| 15:15:43 | jaypipes | dansmith: ok. | |
| 15:16:08 | jaypipes | dansmith: but we're only keeping them for the caching scheduler users, *not* because of out of tree filters. correct? | |
| 15:16:20 | edleafe | dansmith: question: if SchedulerLimits is already part of the reqspec object, why is it needed in the Seleciton object at all? | |
| 15:16:21 | dansmith | jaypipes: that's what his comment is saying | |
| 15:16:26 | jaypipes | dansmith: ok. | |
| 15:16:34 | dansmith | edleafe: because it differs per host | |
| 15:17:06 | dansmith | edleafe: and because we have to pass at least ten copies of limits to the compute node or we lose our heavyweight championship title | |
| 15:18:15 | edleafe | dansmith: more is better! | |
| 15:18:29 | dansmith | obvi | |
| 15:21:13 | jaypipes | dansmith, mriedem: so I'm confused. if the RequestSpec and legacy filter properties are always passed to the compute service during a build operation, and those things contain the limits cruft, why do we want to pass limits information in the Selection object? | |
| 15:21:15 | mriedem | sorry, was trying to cleanup reqspec madness in compute while it's fresh in my mind - sounds like we're all good? | |
| 15:21:28 | mriedem | jaypipes: different limits per alternate | |
| 15:21:33 | dansmith | that ^ | |
| 15:21:36 | jaypipes | mriedem: gah. ok. | |
| 15:21:39 | jaypipes | ack | |
| 15:21:46 | mriedem | plus, the request spec is not passed back to the cell conductor during reschedules, | |
| 15:21:51 | mriedem | so it won't be there for alternates | |
| 15:21:54 | mriedem | i'm just noticing... | |
| 15:22:00 | jaypipes | k, another good point, thanks. | |
| 15:22:11 | mriedem | i'm going to polish some turds this morning | |
| 15:23:46 | mriedem | oh i forgot, | |
| 15:23:49 | mriedem | dansmith: :) | |
| 15:24:02 | mriedem | limits are also passed as a direct kwarg from conductor to compute.build_and_run_instance | |
| 15:24:03 | dansmith | ? | |
| 15:24:09 | mriedem | 1. requestspec.limits | |
| 15:24:14 | mriedem | 2. filterproperties.limits | |
| 15:24:16 | mriedem | 3. direct limits kwarg | |
| 15:24:22 | mriedem | 4. selection.limits | |
| 15:24:24 | dansmith | and once per alternate | |
| 15:24:29 | dansmith | because we rock | |
| 15:24:36 | mriedem | * 4. selection.limits * max_attempts | |
| 15:24:51 | dansmith | actually it's max_attempts +1 I think | |
| 15:24:56 | dansmith | well, maybe not | |
| 15:24:57 | dansmith | whatever | |
| 15:24:59 | dansmith | too fucking many | |
| 15:25:01 | mriedem | i mean seriously, can i just get some limits please | |
| 15:25:03 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: WIP: proper fix for Quobyte CI https://review.openstack.org/515447 | |
| 15:25:08 | mriedem | unlimited ways to get the limits | |
| 15:25:09 | artom_ | kaisers_, still around? | |
| 15:25:10 | dansmith | we should limit our limits | |
| 15:25:31 | mriedem | "nova: blowing up your rpc queue with limits since 2014" | |
| 15:27:46 | efried | mriedem If your req spec turd polishing overlaps with https://review.openstack.org/#/c/515223/2/nova/scheduler/utils.py please let me know. | |
| 15:28:15 | mriedem | right now it doesn't | |
| 15:28:22 | mriedem | just going to try and clean up some things in the compute | |
| 15:28:47 | mriedem | so that maybe by S we can stop passing at least limits and filter_properties down to the compute | |
| 15:29:38 | kaisers_ | artom: yep, few mins | |
| 15:29:46 | kaisers_ | artom: saw the cl | |
| 15:30:54 | kaisers_ | artom: I'll check that out in detail tomorrow | |
| 15:31:48 | artom | kaisers_, aha, thanks! This is very very very preliminary | |
| 15:32:09 | artom | kaisers_, but if we could get a quobyte CI run against that without dynamic_ownership = 0, it would be a first step | |
| 15:32:30 | artom | And ideally a way to recheck, still without dynamic_ownership = 0 | |
| 15:32:51 | kaisers_ | artom: exactly. I'll spin up a manual instance and run tests, etc. | |
| 15:33:21 | kaisers_ | that related to the previous comment... :) | |
| 15:35:24 | kaisers_ | artom: not sure about the automated recheck, I'll comment in the CL | |
| 15:35:35 | artom | kaisers_, fantastic, thanks | |
| 15:36:00 | artom | To be honest it might fail Jenkins CI | |
| 15:36:31 | artom | So maybe wait for that to at least be sure we can still boot generic VMs with that patch ;) | |
| 15:50:42 | mriedem | bauzas: why does RequestSpec._from_hints turn the key=value from filter_properties into a key=[value] ? | |
| 15:53:06 | openstackgerrit | Merged openstack/nova master: Move project_id and user_id to Allocation object https://review.openstack.org/500410 | |
| 15:54:27 | mriedem | i guess because you can pass in hints like key=value1 key=value2 and the CLI will convert those to a key=[value1,value2] | |
| 15:55:43 | mriedem | seems that _validate_instance_group_policy in the compute manager doesn't handle the hint value being a list at all | |
| 15:56:42 | mriedem | oh becaues the 'group' hint schema only allows a string value | |
| 15:57:00 | mriedem | https://github.com/openstack/nova/blob/d36dcd52c24c32418fd358d245688c86664025d5/nova/api/openstack/compute/schemas/scheduler_hints.py#L21 | |
| 15:57:20 | mriedem | fun, all of this being undocumented... :) | |
| 16:18:27 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Use the RequestSpec when getting scheduler_hints in compute https://review.openstack.org/515461 | |
| 16:18:28 | mriedem | bauzas: here you go ^ i'm helping! | |
| 16:22:46 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Use the RequestSpec when getting scheduler_hints in compute https://review.openstack.org/515461 | |
| 16:31:37 | cdent | jaypipes: thanks for the review on the stack leading to POST /allocations. No, nobody suggested I split things up, I did that to try and keep things a bit smaller, led in part by the stack that is adding last-modified to lots of things, all under the same microversion | |
| 16:32:16 | jaypipes | cdent: sorry, I may have missed the last-modified thing... I don't see that anywhere in this patch series? | |
| 16:32:20 | cfriesen | In _post_live_migration() at https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L6075 why are we calling self._update_scheduler_instance_info() rather than self._delete_scheduler_instance_info() ? | |
| 16:32:39 | cdent | jaypipes: it’s a different series, but has the same split behavior of docs/reno coming later | |
| 16:33:16 | jaypipes | cdent: ack. I'd like to see all public API-modified changes in a single commit please. even if it leads to large commits. | |
| 16:33:22 | cfriesen | One of our devs thinks that this is causing issues with the server group affinity filter by causing the scheduler to get out-of-date with the compute nodes. | |
| 16:33:41 | jaypipes | cdent: just enables us to keep our "this single commit changes the API and in these ways" behaviour. | |
| 16:33:49 | jaypipes | dansmith: thoughts on ^? | |
| 16:34:00 | cdent | I thought we had relaxed some of that in favor of being able to review things a bit more discreetly? | |
| 16:34:17 | sean-k-mooney | cfriesen: oh hi since your about do you know if the patches to fix live migration with vnic=macvtap were ever merged | |
| 16:34:17 | jaypipes | cdent: I'm not aware of such a relaxation... | |
| 16:34:26 | dansmith | yeah, we can't | |
| 16:34:31 | jaypipes | cdent: but of course, I very easily could be wrong :) | |
| 16:34:32 | cdent | it’s doable of course, but will require a fair bit of reordering on the last-modified stuff | |
| 16:34:37 | cdent | which is fine | |
| 16:34:45 | dansmith | the only way around it is adding dead code in a commit, then turning it on later when you add the microversion | |
| 16:34:57 | dansmith | but we can't add real functionality separate from the microversion itself | |
| 16:35:14 | cdent | I’m not _not_ adding the microversion, just not doccing it | |
| 16:35:31 | cdent | which perhaps should be considered the same thing? /me shrugs | |
| 16:35:40 | dansmith | oh, I thought it was asserted that you were | |
| 16:35:45 | cfriesen | sean-k-mooney: I don't think so....see https://review.openstack.org/#/c/136077/ and https://review.openstack.org/#/c/251387/ | |
| 16:36:26 | cdent | dansmith: no I’m starting a microversion and then adding different pieces of functionality or docs that are within that microversion in subsequent patches | |
| 16:36:30 | cdent | so for example | |
| 16:36:42 | cdent | https://review.openstack.org/#/c/495380/ | |
| 16:36:46 | dansmith | cdent: that's the same thing as adding the functionality before the microversion, | |
| 16:37:00 | sean-k-mooney | cfriesen: ok cool ill assume its stil broken then. ill try to make sure we can handel it properly in the multiple port binding work im doing | |
| 16:37:01 | dansmith | although with the latter you can keep it dead until the microversion which is what you'd have to do | |
| 16:37:22 | sean-k-mooney | cfriesen: i might not actully fix it but ill make sure not to break it more | |
| 16:37:29 | cfriesen | sean-k-mooney: :) | |
| 16:37:35 | cdent | dansmith: I’m not sure I’m fully parsing “that's the same thing as adding the functionality before the microversion," | |
| 16:37:46 | dansmith | cdent: opening a microversion in one commit and extending it in another defeats the point of it, in that clients can't depend on the functionality you're adding when the microversion is exposed | |
| 16:38:25 | dansmith | jaypipes: that's what you're trying to say right? ^ | |