| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-11-26 | |||
| 22:40:52 | efried | yeah, I remember looking at this when I was working on https://review.openstack.org/#/c/615705/ to see if I could just real quick implement upt for all the drivers. | |
| 22:41:11 | efried | and realizing that was going to be more work than I was ready to undertake at the time. | |
| 22:41:50 | efried | but unwinding the gar stuff, that's going to require some synapses I haven't yet explored. | |
| 22:42:01 | mriedem | heh, good thing you noted that because i was just thinking about removing that old code path to see what would break | |
| 22:42:33 | mriedem | i haven't seen hyper-v run on the latest version of that, but zvm failed | |
| 22:42:35 | efried | any case, I think the point is that we can't rely on upt being in the code path for initial population of the root provider inventories. | |
| 22:42:59 | efried | yet | |
| 22:43:05 | mriedem | no it doesn't need to be though | |
| 22:43:21 | efried | if we want upt to be able to decide whether to use initial_*_allocation_ratio it does. | |
| 22:43:22 | mriedem | as of https://review.openstack.org/#/c/613126/, if a driver implements upt, it sets the allocation_ratio on the inventory it reports, | |
| 22:43:28 | mriedem | otherwise that normalize method in the RT does | |
| 22:43:31 | mriedem | _normalize_inventory_from_cn_obj | |
| 22:43:52 | efried | right, it sets the allocation ratio based on the non-initial_* conf values. | |
| 22:43:53 | mriedem | i think upt can determine if initi allocation ratios can be used though | |
| 22:43:57 | efried | how? | |
| 22:44:11 | mriedem | if the inventory for a given class is not in the tree, it's initial | |
| 22:45:13 | efried | Wait, did you just prove (to yourself, at least) that if upt is implemented, it *does* get first crack at the root provider inventory? | |
| 22:45:51 | mriedem | yes | |
| 22:45:59 | mriedem | i believe so anyway | |
| 22:46:22 | efried | should be relatively easy to prove with a func test? | |
| 22:46:54 | mriedem | i think the one i wrote here will do it https://review.openstack.org/#/c/613126/4/nova/tests/functional/compute/test_resource_tracker.py | |
| 22:47:08 | mriedem | along with the fake driver todo being resolved https://review.openstack.org/#/c/613126/4/nova/virt/fake.py | |
| 22:47:28 | mriedem | but yeah https://review.openstack.org/#/c/602804/ really needs to run through the expected / support scenarios in a functional test, | |
| 22:47:30 | mriedem | 1. initial create | |
| 22:47:35 | mriedem | 2. overwrite in placement API | |
| 22:47:39 | mriedem | 3. overwrite via config | |
| 22:48:01 | mriedem | and make sure #2 doesn't get f'ed up when the periodic runs | |
| 22:49:59 | efried | and similar for mem/disk? | |
| 22:49:59 | efried | else: ratio = CONF.cpu_allocation_ratio or 16.0 | |
| 22:49:59 | efried | if CPU not in inv: ratio = CONF.initial_cpu_allocation_ratio or 16.0 | |
| 22:49:59 | efried | inv = ptree.data(root) | |
| 22:49:59 | efried | so we're talking about changing https://review.openstack.org/#/c/613126/4/nova/virt/libvirt/driver.py and its brethren to have logic like: | |
| 22:50:18 | efried | oh, except f'ed up when periodic runs | |
| 22:50:23 | mriedem | the "or 16.0" gets removed | |
| 22:50:33 | efried | the second one? | |
| 22:50:33 | mriedem | CONF.initial_cpu_allocation_ratio defaults to 16.0 | |
| 22:50:37 | mriedem | both | |
| 22:51:04 | mriedem | the non-initial else becomes only set the ratio if CONF.cpu_allocation_ratio is not None | |
| 22:51:11 | efried | right | |
| 22:51:12 | efried | so | |
| 22:51:13 | mriedem | in other words, don't change the allocation ratio if it was set externally | |
| 22:51:17 | mriedem | and config hasn't changed | |
| 22:51:55 | efried | # else no-op, leave it tf alone | |
| 22:51:55 | efried | elif CONF.cpu_allocation_ratio: ratio = CONF.cpu_allocation_ratio | |
| 22:51:55 | efried | if CPU not in inv: ratio = CONF.initial_cpu_allocation_ratio # which defaults to 16.0 | |
| 22:52:13 | mriedem | exactly | |
| 22:52:35 | efried | else: ratio = data[CPU][ratio] | |
| 22:52:35 | efried | I guess technically that last bit would have to be | |
| 22:52:47 | efried | so it doesn't get omitted and wind up with the placement default :( | |
| 22:52:50 | mriedem | yup | |
| 22:53:21 | efried | okay, I can dig it. Assuming we can prove the upt-gets-initial-look thing. Let me take a look at that test you highlighted... | |
| 22:55:06 | efried | still looks slightly holey. | |
| 22:55:27 | efried | Let me go list all the permutations... | |
| 22:55:43 | mriedem | in yikun's patch? | |
| 22:55:47 | mriedem | i'm dumping notes in there | |
| 22:55:58 | efried | I'll just pastebin 'em for now | |
| 22:58:00 | efried | mm, if both values are set we want to end up with the conf one, so my above algo won't quite work | |
| 22:58:40 | mriedem | why not? | |
| 22:58:57 | efried | you would end up with the CONF.initial | |
| 22:59:05 | efried | until the next time update runs. | |
| 22:59:27 | efried | works if you reverse the conditions I think. | |
| 23:00:11 | efried | else: ratio = data[CPU][allocation_ratio] | |
| 23:00:11 | efried | elif CPU not in inv: ratio = CONF.initial_cpu_allocation_ratio # which defaults to 16.0 | |
| 23:00:11 | efried | if CONF.cpu_allocation_ratio: ratio = CONF.cpu_allocation_ratio | |
| 23:00:15 | mriedem | you should only get initial config if CPU not in inv though | |
| 23:00:46 | mriedem | ok i think either would be ok | |
| 23:00:53 | openstackgerrit | Michael Still proposed openstack/nova master: Move bridge creation to privsep. https://review.openstack.org/620180 | |
| 23:01:00 | efried | but in all cases if CONF.cpu_allocation_ratio is set you want *that* value - i.e. ignore initial_* | |
| 23:01:05 | mriedem | well well well, look who it is | |
| 23:01:12 | efried | brb | |
| 23:01:14 | mriedem | efried: true yeah | |
| 23:01:17 | mriedem | ok i got your point now | |
| 23:04:02 | openstackgerrit | Merged openstack/nova stable/queens: Fix NoneType error in _notify_volume_usage_detach https://review.openstack.org/614868 | |
| 23:06:28 | efried | mriedem: I think we might strive to embed that logic in a base class helper somehow. | |
| 23:07:09 | efried | mriedem: to replace (and subsume) https://review.openstack.org/#/c/613126/4/nova/virt/driver.py@860 | |
| 23:08:19 | mriedem | yeah it would be nice to not duplicate it all over the place | |
| 23:12:09 | mriedem | alright with that i'm done | |
| 23:12:13 | mriedem | efried: thanks for the sound board | |
| 23:12:22 | efried | fo sho | |
| 23:12:50 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Drop cruft code for all_tenants behaviour https://review.openstack.org/620165 | |
| 23:42:19 | openstackgerrit | Eric Fried proposed openstack/nova master: Add missing ws seperator between words https://review.openstack.org/618491 | |
| #openstack-nova - 2018-11-27 | |||
| 00:35:14 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: Give drop_move_claim() correct docstring https://review.openstack.org/620170 | |
| 01:01:05 | openstackgerrit | Vladyslav Drok proposed openstack/nova stable/pike: [pike-only] Fix resize_instance rpcapi call https://review.openstack.org/603439 | |
| 01:06:36 | openstackgerrit | Vladyslav Drok proposed openstack/nova stable/pike: [pike-only] Fix resize_instance rpcapi call https://review.openstack.org/603439 | |
| 05:48:41 | openstackgerrit | Merged openstack/nova master: Add missing ws seperator between words https://review.openstack.org/618491 | |
| 06:21:17 | openstackgerrit | Takashi NATSUME proposed openstack/nova master: Remove Placement API reference https://review.openstack.org/614437 | |
| 08:12:02 | openstackgerrit | Yikun Jiang proposed openstack/nova master: Change the default values of XXX_allocation_ratio https://review.openstack.org/602803 | |
| 09:41:31 | openstackgerrit | Chris Dent proposed openstack/nova master: WIP: Delete the placement code https://review.openstack.org/618215 | |
| 09:41:31 | openstackgerrit | Chris Dent proposed openstack/nova master: Use external placement in functional tests https://review.openstack.org/617941 | |
| 10:25:30 | openstackgerrit | Chris Dent proposed openstack/nova master: Delete the placement code https://review.openstack.org/618215 | |
| 10:25:30 | openstackgerrit | Chris Dent proposed openstack/nova master: Use external placement in functional tests https://review.openstack.org/617941 | |
| 10:29:36 | openstackgerrit | Brin Zhang proposed openstack/nova master: Remove useless sample and add the lack of tests in v266 https://review.openstack.org/614671 | |
| 11:52:03 | openstackgerrit | Merged openstack/nova stable/rocky: Make supports_direct_io work on 4096b sector size https://review.openstack.org/619251 | |
| 12:29:47 | openstackgerrit | Yikun Jiang proposed openstack/nova master: Change the default values of XXX_allocation_ratio https://review.openstack.org/602803 | |
| 12:29:48 | openstackgerrit | Yikun Jiang proposed openstack/nova master: Use new ``initial_xxx_allocation_ratio`` CONF https://review.openstack.org/602804 | |
| 13:12:53 | amab | I've changed the default console from vnc to spice, but I get the error is this link: https://paste.ubuntu.com/p/MF6mFQBJ88/ | |
| 13:53:32 | mnaser | https://review.openstack.org/#/c/619351/ stable/rocky fix merged, stable/queens up (sorry for my daily bugging alert :]) | |
| 14:24:56 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Default zero disk flavor to RULE_ADMIN_API in Stein https://review.openstack.org/603910 | |
| 14:28:00 | openstackgerrit | Kashyap Chamarthy proposed openstack/nova master: libvirt: Refactor handling of PCIe root ports https://review.openstack.org/620327 | |
| 14:33:55 | dansmith | mriedem: http://logs.openstack.org/04/620104/1/check/neutron-grenade/832c98f/logs/grenade.sh.txt.gz#_2018-11-26_19_52_27_042 | |