| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-10-17 | |||
| 17:03:49 | dansmith | edleafe: it should do whatever would happen if we had no retries left in the current path | |
| 17:03:50 | dansmith | yeah | |
| 17:03:51 | dansmith | that | |
| 17:03:58 | edleafe | mriedem: that was my assumption, but I wanted to be sure there wasn't some other action | |
| 17:04:07 | openstackgerrit | Jan Zerebecki proposed openstack/nova master: Fix wording of debug message for future releases https://review.openstack.org/508261 | |
| 17:04:31 | edleafe | ah, so that should be the same as what happens in compute when there are no retries left. | |
| 17:04:37 | dansmith | right | |
| 17:08:59 | openstackgerrit | Elod Illes proposed openstack/nova master: WIP: Transform scheduler.select_destinations notification https://review.openstack.org/508506 | |
| 17:12:35 | dansmith | edleafe: so, looking at your third patch, | |
| 17:12:43 | dansmith | edleafe: we have limits in the reqspec, | |
| 17:13:03 | dansmith | oh, | |
| 17:13:22 | dansmith | the selection limits are really just for the return value from the rpc call to continue to include them is that right? | |
| 17:13:35 | dansmith | I was thinking we had to have them for communicating to the compute, but that is in reqspec | |
| 17:13:37 | dansmith | is that right? | |
| 17:13:57 | edleafe | dansmith: the caching scheduler needs them | |
| 17:14:16 | dansmith | the caching scheduler _sets_ them | |
| 17:14:22 | dansmith | the compute _needs_ them | |
| 17:14:44 | edleafe | ok, I thought it was needed in the filters | |
| 17:15:02 | dansmith | my point is, we really just need them in Selection so that the return from select_destinations(), which is now a bunch of Selections, can include the limits back to conductor, | |
| 17:15:06 | edleafe | but yeah, the compute will need them too | |
| 17:15:11 | dansmith | which will populate the reqspec | |
| 17:15:22 | dansmith | the filters don't need them, the filters are what put things into limits | |
| 17:15:42 | edleafe | ok, I guess I misunderstood mriedem's concerns | |
| 17:15:49 | dansmith | compute can get them from the reqspec | |
| 17:18:44 | mriedem | the limits are stored in the reqspec? | |
| 17:19:01 | mriedem | tbc, we pass a reqspec down to build_and_run_instance in compute and it's *totally* ignored | |
| 17:19:05 | mriedem | we pass the limits dict separately | |
| 17:19:57 | mriedem | ok i see the SchedulerLimits field in the request spec | |
| 17:20:02 | mriedem | i just don't think compute is using that today | |
| 17:20:14 | dansmith | mriedem: right, so this will be passing limits N more times than we currently pass it | |
| 17:20:39 | dansmith | I'm thinking maybe we just have select_destinations return (reqspec, alternates) with reqspec updated with limits, | |
| 17:20:53 | dansmith | and then we can avoid putting them into the selection | |
| 17:21:10 | dansmith | aside from numa, they'll be the same for num_instances, right? | |
| 17:21:14 | mriedem | need to see what actually populates RequestSpec.limits today | |
| 17:21:26 | dansmith | I think it's populate_filter_properties | |
| 17:23:48 | dansmith | https://github.com/openstack/nova/blob/master/nova/scheduler/utils.py#L367 | |
| 17:24:01 | mriedem | yeah looking at what calls that | |
| 17:24:12 | dansmith | conductor | |
| 17:24:39 | dansmith | https://github.com/openstack/nova/blob/master/nova/conductor/manager.py#L1110-L1110 | |
| 17:25:03 | mriedem | god what a weird mess | |
| 17:25:11 | dansmith | yeah | |
| 17:25:32 | dansmith | it's also still in the half-uncleaned-up reqspec object | |
| 17:25:42 | dansmith | the only problem is, | |
| 17:25:49 | dansmith | I think numa limits will be per-host, | |
| 17:25:58 | dansmith | although,hmm | |
| 17:26:08 | dansmith | maybe the regular limits won't because of the allocation ratios or something? | |
| 17:26:49 | dansmith | yeah, toast | |
| 17:26:50 | mriedem | we also aren't doing this trick for evacuate | |
| 17:26:51 | dansmith | gdi | |
| 17:27:30 | mriedem | not really sure why we have RequestSpec.limits at all since it's not used anywhere, i guess because RequestSpec was supposed to replace filter_properties | |
| 17:27:48 | dansmith | the thing that goes into limits for things like ramfilter varies per host | |
| 17:27:49 | dansmith | mriedem: yeah, all that is unfinished | |
| 17:28:04 | dansmith | mriedem: so we pass it in reqspec, and as an arg, and now in N alternates | |
| 17:28:21 | dansmith | oh and we pass filter_properties too | |
| 17:28:36 | dansmith | so reqspec, filter_properties, limits, and N*selection | |
| 17:28:36 | mriedem | to build_and_run_instance | |
| 17:28:37 | mriedem | yeah heh | |
| 17:28:46 | dansmith | I wonder if that's enough redundancy | |
| 17:28:58 | mriedem | RAID-4? | |
| 17:29:03 | mriedem | for limits | |
| 17:29:07 | dansmith | this is like raid 50 | |
| 17:29:45 | mriedem | ok yeah so the allocation ratios are per host, | |
| 17:29:49 | mriedem | so the limits are per host | |
| 17:29:55 | mriedem | so they go into the selection object yeah? | |
| 17:30:03 | dansmith | yeah, have to | |
| 17:30:15 | mriedem | and RequestSpec.limits is i guess just the same as the first host chosen | |
| 17:30:38 | dansmith | and filter properties | |
| 17:30:40 | dansmith | and limits | |
| 17:33:00 | mriedem | maybe this is an appropriate time to drop this in here https://review.openstack.org/#/c/499799/ | |
| 17:33:41 | mriedem | removes 5% of the request spec TODOs | |
| 17:43:35 | openstackgerrit | Jackie Truong proposed openstack/nova master: Implement certificate_utils https://review.openstack.org/479949 | |
| 17:46:16 | openstackgerrit | Eric Fried proposed openstack/nova master: Send Allocations to spawn https://review.openstack.org/511879 | |
| 17:46:27 | efried | dansmith gibi I think I hit your concerns ^ | |
| 17:59:30 | openstackgerrit | Jackie Truong proposed openstack/python-novaclient master: Microversion 2.54 - Add trusted_image_certificates https://review.openstack.org/500396 | |
| 18:08:16 | openstackgerrit | Merged openstack/nova master: fix cleaning up evacuated instances https://review.openstack.org/510938 | |
| 18:09:58 | dansmith | efried: sorry if I wasn't clear, but I don't think adding a whole new fixture just to mock that one thing makes sense, | |
| 18:10:12 | dansmith | I just wanted you to use MonkeyPatch in there instead of mock.start() and addCleanup() | |
| 18:11:17 | dansmith | efried: like this for example: https://github.com/openstack/nova/blob/master/nova/tests/unit/virt/test_virt_drivers.py#L96 | |
| 18:22:36 | gregwork | is there a way to pass custom options to qemu via nova ? | |
| 18:22:48 | gregwork | such that when a guest starts up it starts with those extra options | |
| 18:28:17 | artom | gregwork, like literally custom qemu command line options? No. | |
| 18:28:47 | mriedem | artom: do you care about updating this newton change? https://review.openstack.org/#/c/467321/ | |
| 18:29:01 | mriedem | artom: looks like it would need to cherry pick from https://review.openstack.org/#/c/482219/ in ocata | |
| 18:29:21 | mriedem | newton eol is tomorrow | |
| 18:29:31 | artom | mriedem, aha, thanks for the heads up | |
| 18:29:38 | artom | Yeah, lemme do that now | |
| 18:31:48 | efried | dansmith okay. | |
| 18:33:53 | mriedem | dansmith: want to put this in? https://review.openstack.org/#/c/507557/ - the change on stable/ocata is merged, which is what i think tony was waiting for | |
| 18:34:22 | melwitt | mriedem, dansmith: I've got a change up to remove a lot of old quotas code. the only thing I'm not 100% about is the Quotas object methods, I assume they can't be removed until a major version bump. https://review.openstack.org/#/c/511689 | |
| 18:34:42 | mriedem | i've got that one starred, hadn't been through it yet though | |
| 18:34:58 | dansmith | mriedem: ack | |
| 18:35:02 | gregwork | artom: im trying to get qemu to spawn the guest with -mem-path /dev/hugetlbfs and -mem-prealloc as per my mellanox dpdk guide | |
| 18:35:04 | mriedem | and yeah i suppose you can't remove the versioned object methods w/o a major bump | |
| 18:35:12 | dansmith | yup | |
| 18:35:24 | dansmith | if they're remotable, that is | |
| 18:35:24 | melwitt | yeah, I wasn't sure if that's true only for remotables or all | |
| 18:35:27 | gregwork | artom: not sure how to pull this off | |
| 18:35:48 | dansmith | melwitt: non-remotables can be removed | |
| 18:35:49 | dansmith | melwitt: you'll know because the hash won't change | |
| 18:36:15 | mriedem | what if the quota engine code behind the remotable object method is removed? | |