| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-10-02 | |||
| 14:23:57 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add functional regression test for migrate part of bug 1781286 https://review.opendev.org/686017 | |
| 14:23:58 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Update cells v2 up-call caveats doc https://review.opendev.org/686053 | |
| 14:24:42 | efried | thing, which puts creation of the tracker container back in the hands of the caller. | |
| 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) | |