| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-08-30 | |||
| 20:52:57 | mriedem | cdent: just so you can rest easy tonight, i think we can safely confirm that we have some sort of weird multi-thread race with shared ProviderTree cache | |
| 20:52:59 | mriedem | https://bugs.launchpad.net/nova/+bug/1789654/comments/9 | |
| 20:52:59 | openstack | Launchpad bug 1789654 in OpenStack Compute (nova) "placement allocation_ratio initialized with 0.0" [High,In progress] - Assigned to Matt Riedemann (mriedem) | |
| 20:52:59 | melwitt | mriedem: so _copy_resources is bypassing the compute node normalization routine? | |
| 20:53:00 | mriedem | efried: ^ | |
| 20:53:32 | mriedem | melwitt: yes, and from my log digging in that comment it shows that if we hit this in the right order, we call ComputeNode.save() which will change the CN.cpu_allocation_ratio from 0.0 (from _copy_resources) back to 16.0 | |
| 20:53:43 | cdent | oh great, I love weird multi-thread races, especially when caches are involved | |
| 20:53:49 | mriedem | which goes to the RT._normalize_inventory_from_cn_obj method which puts 16.0 back into the inventory dict | |
| 20:54:02 | melwitt | mriedem: ah, ok. nice sleuthing | |
| 20:54:13 | mriedem | but there is clearly something else hitting ProviderTree.update_inventory at the same time that RT.update_available_resource is running | |
| 20:54:42 | mriedem | and i don't think it's coming from the RT | |
| 20:54:59 | mriedem | the only place in RT that we call ProviderTree.update_inventory is after driver.update_provider_tree, which isn't implemented for xen | |
| 20:55:09 | mriedem | so i think it's the SchedulerReportClient's provider tree cache | |
| 20:57:37 | cdent | I suspect (or at least hope) that efried will have some insight on the meanderings of the cache | |
| 20:58:06 | efried | I may, once I'm not trying to do several things at once. | |
| 20:59:00 | cdent | efried: this seems to be an unfortunately common problem | |
| 20:59:15 | cdent | let's all quit | |
| 20:59:22 | cdent | (that'll show em) | |
| 20:59:32 | mriedem | meeting in 1 min? | |
| 20:59:48 | melwitt | yes, I gave a 10 minute warning 9 minutes ago | |
| 21:05:13 | mriedem | far as i can tell the report client gets inventory like 500 times a second | |
| 21:05:25 | mriedem | it calls _refresh_and_get_inventory *a lot* | |
| 21:05:37 | mriedem | for every _ensure_resource_provider | |
| 21:05:49 | mriedem | where again, _ensure_resource_provider is less ensure and more "refresh the world" now | |
| 21:13:48 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Log the operation when updating generation in ProviderTree https://review.openstack.org/597553 | |
| 21:13:49 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add debug logs for when provider inventory changes https://review.openstack.org/597560 | |
| 21:15:14 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add debug logs for when provider inventory changes https://review.openstack.org/597560 | |
| 21:18:58 | openstackgerrit | Dan Smith proposed openstack/nova master: WIP: Move conductor wait_until_ready() delay before manager init https://review.openstack.org/598353 | |
| 21:19:10 | dansmith | mriedem: can we see if this helps? ^ | |
| 21:20:05 | mriedem | we sure can | |
| 21:21:58 | mriedem | i didn't know conductor_api.wait_until_ready existed | |
| 21:22:01 | mriedem | so see, i did need you | |
| 21:22:25 | dansmith | you need better grep skills, that's all | |
| 21:25:26 | mriedem | i even said in my patch after WPIing it something like "we should really wait until conductor is ready, but what makes it 'ready'" | |
| 21:25:31 | mriedem | i guess this | |
| 21:25:44 | melwitt | wait_until_ready, of course | |
| 21:25:50 | melwitt | (I didn't know about it either) | |
| 21:25:55 | mriedem | ConductorAPI.easy_button() | |
| 21:26:31 | mriedem | what i'd like to do, del nova.compute.resource_tracker | |
| 21:28:35 | melwitt | you and jaypipes and bauzas and everyone else | |
| 21:29:15 | dansmith | well, so far that patch is doing super awesome in the gate | |
| 21:30:40 | jaypipes | dansmith: which patch? | |
| 21:31:04 | jaypipes | damn it, I've got more reading back to do... | |
| 21:31:48 | dansmith | it's annoying that this didn't even capture some basic logs | |
| 21:32:47 | dansmith | unless something else just broke real bad | |
| 21:35:46 | dansmith | ...which is the case, woot. | |
| 21:42:09 | mriedem | jebus h c | |
| 21:42:41 | lbragstad | all the grep skillz you need is just one plugin away | |
| 21:43:13 | mriedem | ctrl+shift+f my man | |
| 21:47:50 | efried | how does a guy install a pycharm plugin? | |
| 21:51:05 | jaypipes | efried: sudo apt install vim? | |
| 21:51:40 | lbragstad | git clone https://github.com/$USER/dotfiles | |
| 21:53:33 | efried | found it. Thanks for nothing, snarks | |
| 21:54:16 | zigo | jaypipes: Real man use joe editor ... | |
| 21:59:39 | jaypipes | zigo: luckily, I'm not a real man. | |
| 22:00:07 | dansmith | mriedem: so should I just make up a fake test for that so we can merge and see if the problem goes away? presumably that's the only way we're really going to know? | |
| 22:04:59 | mriedem | dansmith: is it passing in the gate? | |
| 22:05:01 | mriedem | if so, yeah sure | |
| 22:05:05 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Avoid spurious ComputeNode.save during update_available_resource periodic https://review.openstack.org/598365 | |
| 22:05:19 | mriedem | efried: melwitt: ^ is a thing related to that xen bug | |
| 22:05:22 | mriedem | for allocation ratios | |
| 22:05:38 | mriedem | since i'm not sure how we're actually racing here, i'm not sure if it will actually fix it, | |
| 22:06:12 | melwitt | ack | |
| 22:06:33 | mriedem | but it's about the only thing i can think of that would get us this which f's up the inventory in placement during the periodic: | |
| 22:06:34 | mriedem | Aug 29 16:58:05.483508 dsvm-devstack-citrix-mia-nodepool-1379368 nova-compute[24436]: INFO nova.compute.resource_tracker [None req-a869fa19-aa9d-4335-9816-42ff29b64d48 None None] Using cpu_allocation_ratio 0.0 for node: 2f5a2e04-1b61-4437-ab6e-8dbbf797dc07 | |
| 22:06:39 | efried | mriedem: Doesn't seem to be doing what the commit title says... | |
| 22:06:44 | mriedem | that's logs from the normalize method in the RT | |
| 22:07:02 | dansmith | mriedem: it's passing the stuff that isn't dead on the floor for other reasons | |
| 22:07:15 | mriedem | efried: oh but you must read the full message my friend | |
| 22:07:20 | mriedem | it's a rich tapestry of suck | |
| 22:07:21 | efried | yeah yeah | |
| 22:07:43 | mriedem | and with that, i'm putting my lawn mowin' clothes on and hitting nature | |
| 22:07:47 | efried | I don't see it hurting anything to never write 0.0 to an allocation ratio. | |
| 22:08:06 | efried | unless, as you say, some other suckpoint is using that as a signal to refresh the real values from somewhere else. | |
| 22:08:07 | mriedem | right, i don't think this hurts, it might help | |
| 22:08:09 | efried | In which case that should be change. | |
| 22:08:10 | efried | d | |
| 22:08:26 | mriedem | except i have that todo in there - mostly a question for reviewers to check my brain | |
| 22:10:53 | openstackgerrit | Dan Smith proposed openstack/nova master: Move conductor wait_until_ready() delay before manager init https://review.openstack.org/598353 | |
| 22:26:45 | jaypipes | mriedem_lawnboy, efried: prescient? https://review.openstack.org/#/c/598365/1/nova/tests/unit/compute/test_resource_tracker.py@1381 | |
| 22:27:30 | efried | Mm | |
| 22:27:36 | efried | I thought it was a bug in the test. | |
| 22:27:38 | efried | Clearly not. | |
| 22:37:25 | openstackgerrit | Eric Fried proposed openstack/nova master: Fix nits: Compute: Handle reshaped provider trees https://review.openstack.org/598387 | |
| #openstack-nova - 2018-08-31 | |||
| 03:15:19 | openstackgerrit | Leopard Ma proposed openstack/nova master: Replace assertRaisesRegexp with assertRaisesRegex https://review.openstack.org/598415 | |
| 03:21:20 | openstackgerrit | huanhongda proposed openstack/nova master: Fix instance delete stuck in deleting task_state https://review.openstack.org/598084 | |
| 03:44:41 | openstackgerrit | Brin Zhang proposed openstack/nova-specs master: Resource retrieving: add changes-before filter https://review.openstack.org/591976 | |
| 06:25:15 | openstackgerrit | Leopard Ma proposed openstack/nova master: Replace assertRaisesRegexp with assertRaisesRegex https://review.openstack.org/598415 | |
| 07:56:15 | openstackgerrit | Chen proposed openstack/nova master: Fix SOFT_DELETE vm_state string https://review.openstack.org/598482 | |
| 08:45:43 | openstackgerrit | Brin Zhang proposed openstack/nova-specs master: Resource retrieving: add changes-before filter https://review.openstack.org/591976 | |
| 08:48:55 | openstackgerrit | Brin Zhang proposed openstack/nova-specs master: Resource retrieving: add changes-before filter https://review.openstack.org/591976 | |
| 09:06:03 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Consumer gen support for delete instance allocations https://review.openstack.org/591597 | |
| 09:45:26 | openstackgerrit | Chen proposed openstack/nova master: Fix filter server list with SOFT_DELETED status https://review.openstack.org/597443 | |
| 10:13:58 | openstackgerrit | Merged openstack/nova master: Delete instance_group_member records from API DB during archive https://review.openstack.org/588943 | |
| 10:31:32 | dr_gogeta86 | hi | |
| 10:31:57 | dr_gogeta86 | there is any known tecnique to migrate VMs with high memory pressure | |
| 10:32:13 | dr_gogeta86 | i can't evaquate a node for some machine who uses a lot of ram | |
| 10:52:50 | gibi | dr_gogeta86: I suggest to read the spec https://specs.openstack.org/openstack/nova-specs/specs/newton/implemented/auto-live-migration-completion.html | |
| 10:54:05 | dr_gogeta86 | tnx | |
| 11:10:16 | giblet | dr_gogeta86: and here some final documentation for the features proposed in that spec https://docs.openstack.org/nova/latest/admin/configuring-migrations.html#advanced-configuration-for-kvm-and-qemu | |