Monday, 2019-09-09

*** dklyle has quit IRC03:29
*** e0ne has joined #openstack-placement06:09
*** e0ne has quit IRC06:18
*** tetsuro has joined #openstack-placement06:39
*** tetsuro has quit IRC07:06
*** tetsuro has joined #openstack-placement07:08
*** tetsuro has quit IRC07:57
*** takashin has left #openstack-placement08:00
*** cdent has joined #openstack-placement08:09
*** e0ne has joined #openstack-placement08:19
*** tetsuro has joined #openstack-placement08:41
*** tetsuro has quit IRC08:45
*** tssurya has joined #openstack-placement09:22
cdenttssurya: thanks for the comment on the consumer types stuff. All it really needs at this point is some review to make sure I didn't miss anything, and to make sure it is right. I hope you had a nice vacation.09:31
tssuryacdent: vacation was good :) thanks for asking, I'll review it as soon as I start recollecting things09:32
cdentgreat, thanks09:33
cdentsean-k-mooney: is there any more to do on this: https://storyboard.openstack.org/#!/story/200544709:35
*** tetsuro has joined #openstack-placement10:58
*** tetsuro has quit IRC10:59
sean-k-mooneywe punted merging the request filter to make room to land the sev and pcpu in placement work11:09
sean-k-mooneyyou can mark it closed form an os-traits/placement point of view11:10
sean-k-mooneythe nova code should merge early in Ussuri11:10
cdentthanks sean-k-mooney11:12
cdentdoing a bit of a story cleanup/verification11:13
*** mriedem has joined #openstack-placement12:57
*** e0ne has quit IRC13:19
mriedemcdent: thanks for making that list, i'll take a whack at https://storyboard.openstack.org/#!/story/200517113:25
cdentcool, glad it is useful, and thank you13:25
mriedemthe tricky part is detecting if the oslo policy_file is being used or the placement one, since they both provide a default value, though both are different (placement's defaults to policy.yaml while oslo's defaults to policy.json), i'm thinking just checking to see if the file exists?13:39
*** e0ne has joined #openstack-placement13:50
cdentmriedem: I would go with your instincts on this one mriedem. I'm not going to be much help because most of my policy interaction has been with placement, where the defaults are good, why mess with em (kinda thing).13:51
mriedemwill talk to the oslo people to get recommendations14:00
*** belmoreira has joined #openstack-placement14:27
*** dklyle has joined #openstack-placement14:29
*** belmoreira has quit IRC14:50
*** belmoreira has joined #openstack-placement14:56
*** jroll has joined #openstack-placement15:00
openstackgerritMatt Riedemann proposed openstack/placement master: WIP: Deprecate [placement]/policy_file config option  https://review.opendev.org/68104715:22
mriedemif this looks sane ^ i'll proceed with the todos15:22
mriedemwill also ask bnemec and lbragstad to look once the oslo meeting is over15:22
efriedcdent: nova.exception.AllocationDeleteFailed: Failed to delete allocations for consumer 23bbec78-ebc2-4304-bdf9-0166667e6a72. Error: {"errors": [{"status": 500, "title": "Internal Server Error", "detail": "The server has either erred or is incapable of performing the requested operation.\n\n 'NoneType' object has no attribute 'authorize'  ", "code": "placement.undefined_code", "request_id": "req-48b4bab3-0c22-4380-974e-9de2a15:23
efriedThis happened in a nova functional test, so using the placement fixture, so not sure if it's possible irl, but lmk if you want a closer look.15:23
mriedemthat would be some policy thing15:24
mriedemby the looks of it15:24
mriedemwhat a coincidence15:24
cdentyeah, what mriedem said15:24
cdentefried: do you have a link to the code the spawned that error. It's seems like it ought to be impossible, but stranger things have happened15:25
efriedhttps://review.opendev.org/#/c/674895/28/nova/tests/functional/libvirt/test_numa_servers.py@563 if you comment out the delete_server lines it happens.15:25
efriedwhich is weird, because that's the end of the test case and nothing else should be happening at that point15:26
efriedmust be a tearDown from a superclass or fixture or something.15:26
efriedit doesn't cause the test to fail though15:26
efriedstephenfin: fyi ^15:26
mriedemjust an ugly traceback or what?15:26
efriedyeah15:26
efriedand that 500 is only a piece of the craziness15:27
efriedthere's like six tracebacks15:27
cdentseems like we got at least two bugs in play15:27
cdentefried: if you already have the entire traceback suite can you paste it somewhere15:27
efried...15:28
cdentotherwise I'll spin up some stuff locally to make my own15:28
efriedhttp://paste.openstack.org/show/774331/15:28
stephenfinefried: You've clearly looked into it more than I did :)15:28
efriedstephenfin: it's because I didn't believe you.15:29
stephenfinI asked gibi, he didn't know. I removed that, it fixed it. Done.15:29
efriednothing personal15:29
efriedand again, it doesn't fail the test case15:29
efriedI'm responding in the review.15:29
stephenfinI wouldn't trust me either, in fairness15:29
efriedtldr, happy to leave it in place since it reduces output ugliness.15:29
*** tssurya has quit IRC15:30
cdentefried: from my standpoint the thing that matters here is that placement is producing a 500, but there seems to more than just that at work15:31
efriedagree15:31
cdentlemme finish up this storyboard comment... on sec15:31
efriedI suspect it's somewhere around the compute service fixture trying to clean itself up; maybe it's trying to delete providers but not cascading.15:32
efriedbut as you say there's several things at play here because I can't think of any one fault that would cause this much chaos by itself.15:33
mriedemi think it just means that placement.policy.init isn't getting called from the PlacementFixture15:35
mriedemnormally that happens via the get_enforcer extension point thing in setup.cfg15:36
mriedemalthough the PlacementFixture is using the PolicyFixture which calls placement.policy.init directly15:37
mriedemweird15:37
mriedemmy guess is the PlacementFixture and placement PolicyFixture are tearing down before that nova code is tearing down15:38
cdentmriedem: if that were the case I wouldn't have thought the request to placement would get that far along15:39
mriedemit's something with _ensure_console_log_for_instance not being stubbed properly in nova - i've seen something like this before15:41
mriedemyou hit that StopIteration and all hell breaks loose15:41
mriedemmeaning i think there is a stub in nova that mocks that out and expects it to only be called like twice, but the test is using more than 2 servers15:43
mriedemstephenfin: ^15:43
mriedemyup, found it15:44
gibimriedem: nice catch!15:44
mriedemi've had to figure it out before15:44
cdentthat seems rather fragile ...15:45
mriedemstephenfin: right here https://github.com/openstack/nova/blob/ba3147420c0a6f8b17a46b1a493b89bcd67af6f1/nova/tests/functional/libvirt/base.py#L6315:45
mriedemcdent: it's extremely fragile15:45
mriedem"using this fixture, you'd better only ever spawn at most 2 servers"15:45
mriedem"you're welcome"15:45
cdentor to be more accurate: the way the cascade of failure happens is scary15:46
efriedagree15:46
stephenfinmriedem: I literally (re-)hit that an hour ago and in true three days to feature freeze fashion, just restubbed the thing15:46
mriedemefried: i left a comment https://review.opendev.org/#/c/674895/28/nova/tests/functional/libvirt/test_numa_servers.py@56315:46
efriednice15:47
efriedstephenfin: that ^ can be done in a separate patch afaiac15:47
efriedunless you've already done it, which may be what you just said.15:48
stephenfinefried: Didn't you have a patch up to remove 'file_open' entirely?15:49
efrieddoesn't sound familiar. Are you talking about aspiers' patch_open for mocking?15:49
efriedor this? https://review.opendev.org/#/c/645087/15:51
mriedemefried: he did this https://review.opendev.org/#/c/674895/31/nova/tests/functional/libvirt/test_numa_servers.py@55115:52
mriedemmocked around the bad stub in the functional test case that was suffering from it15:52
*** belmoreira has quit IRC16:04
*** e0ne has quit IRC16:10
cdentmriedem: not that you probably needed it, but for my own sanity I traced how those those fixtures were unwinding16:12
cdentand where the placement 500 was coming into it16:12
mriedemi also noticed that the functional test in questoin is setting up the placement fixture twice16:13
cdentit _might_ make sense to change things so that the placement fixture was cleaned up later/last16:13
mriedemonce early and once late16:13
cdentrad!16:13
mriedemi think the problem is the duplicate16:13
mriedemso it cleans up too early and then shits the bed16:13
mriedemlemme clean that up quick16:14
cdentmriedem: yeah, just tried it, that fixes it16:14
cdent(getting rid of the placement turn on in libvirt/base.py16:15
mriedemsweet16:15
mriedempush that if you want and i'll +216:15
mriedem+W even16:15
cdentrad, one sec16:15
cdentthat answers my one remaining question which was "if the fixture is gone how come it can still wsgi-intercept"16:15
mriedem_IntegratedTestBase at the top sets up placement16:16
mriedemso yeah16:16
cdentaye16:16
*** N3l1x has joined #openstack-placement16:33
*** cdent has quit IRC16:50
*** e0ne has joined #openstack-placement18:12
*** e0ne has quit IRC18:34
*** e0ne has joined #openstack-placement19:03
*** e0ne has quit IRC19:09
*** e0ne has joined #openstack-placement19:10
*** e0ne has quit IRC21:40
*** mriedem has quit IRC22:51
*** takashin has joined #openstack-placement23:32

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!