Earlier  
Posted Nick Remark
#openstack-nova - 2019-10-02
14:24:42 efried spy.claim_calls_on_node = getattr(spy, 'claim_calls_on_node', [])
14:24:42 efried dansmith: I also suggested a way we don't have to do the
14:25:07 efried same #LOC, just a little more scrutable
14:25:13 dansmith efried: yes, initializing that "context" elsewhere would be a lot better
14:25:59 dansmith anyway, it seems to do a lot for you and gibi, that's all that matters. it's something else I have to learn to comprehend the test, but...
14:26:09 efried gibi: I can work that ^ up if you like, at least for demonstration purposes.
14:26:19 efried maybe it'll read more intuitively to dansmith
14:26:59 dansmith no, not more intuitively, it'll just make the handler less gross
14:28:37 mriedem i found out yesterday that we patch mock.patch globally using something in oslotest for fixing the autospec'ing stuff - what claudiub worked on a long time ago. i saw those changes merge but didn't realize we were patching the mock library.
14:28:47 mriedem i would not be surprised when we go to a new version and that blows up in our faces
14:29:06 openstackgerrit Merged openstack/nova stable/train: Reduce scope of 'path' query parameter to noVNC consoles https://review.opendev.org/686066
14:31:46 gibi efried, dansmith: fine. I'm out of steam. I think I get that we cannot remove the full uglyness of these tests. I think we can move and contain some the uglyness. But I also get that it makes the test less explicit. so meh
14:32:28 dansmith gibi: I appreciate your efforts to improve :)
14:32:32 mriedem gibi: if it makes you feel better, i was able to use mock.patch context manager in that migrate reschedule functional test :)
14:32:44 gibi mriedem: I haven't tried mock.patch(wraps=) recently. so it might work
14:32:58 mriedem using wraps= is awkward in my experience
14:33:09 mriedem side_effect is more straightforward, but maybe that's just b/c i have more experience with it
14:33:17 gibi mriedem: and patching the mock library feels baaaad
14:33:42 mriedem we'll find out about ^ but this is what we call https://github.com/openstack/oslotest/blob/master/oslotest/mock_fixture.py#L187
14:34:10 gibi dansmith: I guess I will go and fined another tech debt and work on that a bit :)
14:34:21 gibi s/fined/find/
14:36:24 gibi mriedem: that patching might even be relevant to my problem with side_effect and bound methods as it touches 'self'
14:36:44 mriedem too much touching of self can lead to problems
14:36:47 mriedem i've heard
14:36:48 mriedem ...
14:36:52 gibi ...
14:38:05 dansmith mriedem: comment here: https://review.opendev.org/#/c/686017/3
14:39:52 mriedem i can probably keep a handle to the mock and assert it's called, but if you remove the mock the test fails so i'm not sure it's worthwhile
14:41:07 mriedem actually as written i should confirm that statement,
14:41:23 mriedem because it probably fails anyway since the stub always raises right not, not just on the first host
14:41:29 mriedem *now
14:42:43 mriedem dansmith: replied inline with options
14:42:58 dansmith mriedem: that's why I'm asking.. just seems like since we can't see the actual failure in the fault, we should make sure it's hitting what we think it is
14:44:00 dansmith mriedem: I'd rather the explicit assertCalled personally, but it was just a suggestion anyway
14:50:43 mriedem ok i can tinker with it, gonna be a bit since i'm in a meeting in 10 minutes
14:52:26 dansmith ack, I dropped a few other comments on that series,
14:52:45 dansmith but overall..thanks for closing that loop.. it always seemed like a big deal so I never wanted to even start, but you made it look easy
14:59:32 mnaser sean-k-mooney: cpu/libvirt-y related question, is it possible that not all flags are passed down to the vm even with host-passthrough ?
15:00:56 sean-k-mooney i belive that yes there are 1 or 2 instruction that are not passsed but in general no
15:01:52 mnaser ok i have way more than 1 or 2 that arent passed through in this case..
15:02:01 sean-k-mooney the ones that are not passed releated to things like system management mode/model specic registers
15:02:20 sean-k-mooney mnaser: which ones?
15:03:38 mnaser https://www.irccloud.com/pastebin/MAa6LBVo/
15:03:40 mnaser sean-k-mooney: ^
15:04:12 mnaser wait sorry, thats what is exposed
15:04:16 mnaser what _doesnt_ get exposed is
15:04:22 sean-k-mooney they are the one not passed through?
15:04:28 sean-k-mooney ok that makes more sense
15:04:33 mnaser https://www.irccloud.com/pastebin/6qVAPHMx/
15:04:35 mnaser those ^
15:04:45 sean-k-mooney i was like how is it working at all with out a floating point unit
15:04:52 mnaser loll
15:05:41 sean-k-mooney i need to jump on an internal call for an hour mind if we come back to this after
15:06:03 sean-k-mooney but first glance several of them are not verutaliable or are cpu bug flags
15:06:30 mnaser yeah it looked like a lot of "management" things
15:06:34 mnaser like seeing stuff like hw_pstate
15:07:43 sean-k-mooney ya the svm ones are amd nested virt flags which need to be enabled in the kvm module sperately
15:08:06 sean-k-mooney ht is hyper treading and is only expose dif you configre the guest to have 2 thrads
15:08:14 sean-k-mooney e.g. hw:cpu_threads=2
15:09:18 openstackgerrit Balazs Gibizer proposed openstack/nova master: Refine comments about move_allocations https://review.opendev.org/686182
15:09:18 sean-k-mooney "cat" "cdp" and "rdt" freatures cant be viertualsed
15:09:39 mnaser okay so it looks like things are okay
15:09:45 sean-k-mooney yep
15:10:12 sean-k-mooney ill look at the list again later but first glance i dont see anygin alarming
15:10:42 kashyap mnaser: Ideally all flags from host will be passed-through as-is
15:10:58 kashyap (I haven't read the whole scrollback, though)
15:11:07 mnaser kashyap: that was my theory but i figured there might some blacklist of "things i will not pass because a vm shouldnt have them"
15:11:19 mnaser https://www.irccloud.com/pastebin/6qVAPHMx/
15:11:23 mnaser ^ the list that didnt show up
15:13:06 kashyap mnaser: What's the host processor?
15:13:19 mnaser kashyap: AMD EPYC 7402
15:13:43 openstackgerrit Stephen Finucane proposed openstack/nova master: nova-net: Remove explicit 'USE_NEUTRON = True' https://review.opendev.org/685937
15:14:02 openstackgerrit Stephen Finucane proposed openstack/nova master: nova-net: Remove explicit 'USE_NEUTRON = True' https://review.opendev.org/685937
15:16:17 kashyap mnaser: Maybe silly question, did you cold-reboot the guest?
15:16:23 kashyap (A bit slow, as on a meeting)
15:16:33 kashyap s/on/I'm on/
15:17:38 mnaser kashyap: yeah, and the 'proof' of that is the model name in the VM went from "AMD EPYC Processor (with IBPB)" to "AMD EPYC 7402 24-Core Processor"
15:21:01 kashyap mnaser: Aside: your guest doesn't have 'virt-ssbd', 'amd-ssbd', -- that means your microcode/QEMU/libvirt versions are older.
15:22:31 mnaser kashyap: this is latest rdo so qemu 2.12.0, libvirt 4.5.0
15:22:35 mnaser for microcodes, amd stuff is all new to me :)
15:24:01 kashyap (Nod.) There's a QEMU web page that tells you what features you need based on your CPU
15:24:58 mnaser yeah, well, i'll see and dig into it
15:25:15 kashyap mnaser: Isn't that brand new CPU?
15:26:04 mnaser yes, like released on the 7th of august :p
15:26:21 mnaser so part of me is also wondering "oh i wonder if we have something odd here"
15:26:22 kashyap [https://github.com/qemu/qemu/blob/master/docs/qemu-cpu-models.texi] Sorry for the 'texi' file
15:26:27 kashyap mnaser: Yeah, darn, was checking on WikiChip
15:26:46 mnaser they're pretty badass :)
15:26:46 kashyap mnaser: Okay, then here are the reasons why your guest don't see those features (also confirmed w/ a libvirt dev):
15:27:37 kashyap The reasons you don't see some host CPU features in your guest _despite_ 'host-passthrough':
15:27:57 kashyap (1) The said CPU flag must be supported by QEMU/KVM and must be "virtualizable"
15:28:38 kashyap (2) Some CPU flags (rather, features) are not exposed by default because, they're not migratable.
15:29:02 kashyap ... the said features from (2) must be explicitly turned on _even with_ 'host-passthrough'.
15:29:12 openstackgerrit Eric Fried proposed openstack/nova master: Replace mock with spy in test https://review.opendev.org/686185
15:29:12 openstackgerrit Eric Fried proposed openstack/nova master: Add a way to spy on function calls in test https://review.opendev.org/686184
15:29:13 kashyap mnaser: Hope the above makes sense.
15:29:23 efried gibi, dansmith: There's my crack at it --^ (done in a separate series)
15:30:01 gibi efried: ack
15:30:02 efried I have another idea that, if it works, will be an uglier helper but more intuitive calling syntax.
15:36:18 sean-k-mooney lyarwood: could you take a look at this reno backport https://review.opendev.org/#/c/662095/ for the rabbitmq eventlet behavior

Earlier   Later