| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-04-26 | |||
| 09:33:51 | aspiers | kashyap: ok | |
| 09:34:21 | kashyap | aspiers: In short, if you want to start thinking about it: we're suggested to query domCapabilities once at the beginning of building domain XML process, but then forget them right after | |
| 09:34:37 | kashyap | I asked the libvirt dev to also comment in this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1683471 | |
| 09:34:39 | openstack | bugzilla.redhat.com bug 1683471 in libvirt "getDomainCapabilities claims SEV is supported for pc-i440fx-1.4 machine type" [Unspecified,Closed: notabug] - Assigned to libvirt-maint | |
| 09:34:59 | aspiers | kashyap: but this is the point I already made in the comment - that approach totally fails in the OpenStack world | |
| 09:35:13 | kashyap | In the doc string, right? | |
| 09:35:21 | aspiers | kashyap: because we need to know stuff before placement time, not just at launch time | |
| 09:35:54 | aspiers | kashyap: https://review.opendev.org/#/c/655268/2/nova/virt/libvirt/host.py@690 | |
| 09:36:17 | aspiers | I suspect the libvirt folks were only thinking of the single hypervisor paradigm when they designed this | |
| 09:36:19 | kashyap | aspiers: Right, I'm still thinking, how to resolve that | |
| 09:37:13 | aspiers | but anyway, what is the problem with memoizing? it's not caching to disk | |
| 09:37:22 | aspiers | which caps would actually change? | |
| 09:39:36 | kashyap | aspiers: For example, when QEMU is updated, you get new features | |
| 09:39:50 | kashyap | (And as you know domCapabilities are machine type dependent.) | |
| 09:40:27 | aspiers | Didn't we already talk about this? When qemu is updated, nova-compute would be restarted, so the memoization vanishes | |
| 09:40:58 | openstack | bugzilla.redhat.com bug 1683471 in libvirt "getDomainCapabilities claims SEV is supported for pc-i440fx-1.4 machine type" [Unspecified,Closed: notabug] - Assigned to libvirt-maint | |
| 09:40:58 | kashyap | aspiers: Meanwhile: https://bugzilla.redhat.com/show_bug.cgi?id=1683471#c11 | |
| 09:41:21 | kashyap | aspiers: Oh, right. Forgive me if I forget something, I'm still somewhat ill, and not fully functional. | |
| 09:41:28 | aspiers | kashyap: np! :) | |
| 09:43:04 | kashyap | aspiers: Mind mentioning that in the docstring? The point when libvirt/QEMU gets updated, the Compute agent needs restarting, and the memoization vanishes | |
| 09:43:05 | aspiers | kashyap: http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2019-04-23.log.html#t2019-04-23T12:42:11 | |
| 09:43:13 | ltyrex | does someone remember which table has the CPU pinning mapping in Openstack? | |
| 09:43:56 | aspiers | kashyap: sure, happy to | |
| 09:44:21 | kashyap | Thanks, I was revisiting the IRC log. | |
| 09:45:21 | gibi | slaweq: replied in the bug https://bugs.launchpad.net/neutron/+bug/1821912/comments/13 | |
| 09:45:22 | openstack | Launchpad bug 1821912 in neutron "intermittent ssh failures in various scenario tests" [High,Confirmed] | |
| 09:45:49 | gibi | slaweq: it feels like something was wrong with the VM hosting the devstack during the time period | |
| 09:46:33 | slaweq | gibi: thx a lot | |
| 09:46:47 | slaweq | gibi: I saw it but wasn't sure if that rabbitmq issue can be related somehow | |
| 09:49:05 | openstackgerrit | Eric Fried proposed openstack/nova master: Correct signature on fake_get_availability_zones https://review.opendev.org/655806 | |
| 09:51:25 | gibi | slaweq: there is gap in the log for the same time in the dstat log as well http://logs.openstack.org/47/653947/3/gate/tempest-slow-py3/629abee/controller/logs/screen-dstat.txt.gz#_Apr_25_14_56_44_349844 | |
| 09:52:18 | gibi | slaweq: seem like the VM did not got execution time so every service was slowed to halt | |
| 09:58:56 | kashyap | aspiers: Added some notes in the change; ruthlessly correct me if something is wrong :-) | |
| 09:59:03 | aspiers | I am doing ;-) | |
| 10:00:12 | kashyap | (Just a heads-up: won't be very responsive this afternoon due to prior committments; will read the change once my queue is free.) | |
| 10:00:18 | aspiers | np | |
| 10:05:47 | openstackgerrit | caoyuan proposed openstack/os-traits master: Replace git.openstack.org URLs with opendev.org URLs https://review.opendev.org/655066 | |
| 10:06:22 | aspiers | kashyap: very nice notes, thanks. I'm incorporating the missing points into the docstring | |
| 10:07:00 | aspiers | kashyap: believe it or not the C API *does* allow omitting some parameters, whereas they are mandatory in Python | |
| 10:07:10 | aspiers | kashyap: again replying in Gerrit | |
| 10:07:20 | aspiers | gotta dash to an appointment now though, back a bit later | |
| 10:16:34 | openstackgerrit | sean mooney proposed openstack/nova master: libvirt: auto detach/attach sriov ports on migration https://review.opendev.org/629589 | |
| 10:25:06 | slaweq | gibi: yes, that may be this | |
| 11:01:26 | openstackgerrit | sean mooney proposed openstack/nova master: [WIP] Libvirt: add nfv job https://review.opendev.org/652197 | |
| 11:21:51 | openstackgerrit | Stephen Finucane proposed openstack/nova master: test_rpc: Stop f****** with global state https://review.opendev.org/655843 | |
| 11:30:18 | kashyap | aspiers: I should've read the C API closer (instead of skimming) -- I think it incorporates some sane defaults. I'll believe you, of course | |
| 11:38:11 | kashyap | aspiers: BTW, it's a bug -- the virConnectGetDomainCapabilities() allowing skipping params, while its Python binding not :-) | |
| 11:38:20 | kashyap | aspiers: A libvirt dev is pushing a patch upstream | |
| 11:39:41 | kashyap | s/skipping parms/skipping _some_ params/ | |
| 11:52:47 | aspiers | kashyap: you mean a bug in the Python binding? that's what I suspected | |
| 11:54:46 | kashyap | aspiers: Bug in the C API, from the sounds of it. | |
| 11:55:04 | aspiers | ? | |
| 11:55:32 | kashyap | If you run `virsh domcapabilities`, the C API is run with with NULL, NULL, NULL, 0 | |
| 11:55:41 | aspiers | right | |
| 11:56:08 | aspiers | and then it obtains defaults https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_driver.c;h=f48d9256e4cc0f6282dcd7aa13bb7a1b53508eb3;hb=HEAD#l19898 | |
| 11:56:22 | aspiers | I have all this in a draft comment on the Gerrit review | |
| 11:56:26 | aspiers | I only just got back to my desk | |
| 11:56:48 | kashyap | No rush | |
| 12:00:04 | kashyap | aspiers: Yeah, it's indeed a bug in Python binding | |
| 12:00:12 | kashyap | def getDomainCapabilities(self, emulatorbin, arch, machine, virttype, flags=0): | |
| 12:00:16 | kashyap | """Prior creating a domain (for instance via virDomainCreateXML | |
| 12:00:18 | kashyap | or virDomainDefineXML) it may be suitable to know what the | |
| 12:00:21 | kashyap | underlying emulator and/or libvirt is capable of. For | |
| 12:00:24 | kashyap | instance, if host, libvirt and qemu is capable of VFIO | |
| 12:00:26 | kashyap | passthrough and so on. """ | |
| 12:00:28 | kashyap | ret = libvirtmod.virConnectGetDomainCapabilities(self._o, emulatorbin, arch, machine, virttype, flags) | |
| 12:00:32 | kashyap | if ret is None: raise libvirtError ('virConnectGetDomainCapabilities() failed', conn=self) | |
| 12:00:36 | kashyap | return ret | |
| 12:00:39 | kashyap | aspiers: The "flags=0" | |
| 12:02:22 | aspiers | kashyap: I think flags is *always* 0 | |
| 12:02:32 | aspiers | kashyap: the problem is with omitting any of the other 4 | |
| 12:02:50 | aspiers | kashyap: maybe it works if I pass None | |
| 12:03:27 | aspiers | kashyap: but in any case we don't want to take the defaults in nova, but instead iterate over all relevant (arch, machine) tuples | |
| 12:03:59 | kashyap | aspiers: Let's see what the upstream fix is | |
| 12:07:18 | aspiers | kashyap: sure | |
| 12:07:29 | aspiers | kashyap: expect a new patch set shortly | |
| 12:35:48 | kashyap | aspiers: Just back; indeed, we can pass 'None' to the API, meanwhile. | |
| 12:35:53 | kashyap | (I commented on the change.) | |
| 12:35:55 | kashyap | Fun, fun. | |
| 12:40:21 | mriedem | gibi: looks like this introduces its own problem https://review.opendev.org/#/c/654466/4..5/oslo_config/cfg.py | |
| 12:41:09 | mriedem | bnemec: any ideas on how we can make that counter work in ConfigOpts? ^ | |
| 12:44:53 | mriedem | oh i think i see | |
| 12:45:07 | mriedem | self._get_counter isn't set until after register_opt which calls __clear_cache | |
| 12:45:26 | mriedem | fixing | |
| 13:09:17 | gibi | mriedem: good point | |
| 13:12:43 | gibi | mriedem: have you seen stephenfin's patch trying to solve this in a different way https://review.opendev.org/#/c/655843/ ? | |
| 13:13:10 | mriedem | i glanced at it... | |
| 13:18:50 | kashyap | aspiers: There it is: https://www.redhat.com/archives/libvir-list/2019-April/msg01418.html -- [python PATCH] Allow virConnect.getDomainCapabilities() to have no arguments | |
| 13:22:45 | kashyap | aspiers: I'm not "-1"ing it, because you already know what to do there ('None' for @emulatorbin) | |
| 13:36:41 | openstackgerrit | Dan Smith proposed openstack/nova master: Add ironic driver image type capabilities https://review.opendev.org/655729 | |
| 13:36:42 | openstackgerrit | Dan Smith proposed openstack/nova master: Add xenapi driver image type capabilities https://review.opendev.org/655731 | |
| 13:36:42 | openstackgerrit | Dan Smith proposed openstack/nova master: Add vmware driver image type capabilities https://review.opendev.org/655730 | |
| 13:36:43 | openstackgerrit | Dan Smith proposed openstack/nova master: Add zvm driver image type capabilities https://review.opendev.org/655732 | |
| 13:43:24 | aspiers | kashyap: that would make one of my previous patches wasted effort ... | |
| 13:57:25 | openstackgerrit | Matt Riedemann proposed openstack/nova master: WIP: Add heal_instance_mappings command https://review.opendev.org/655908 | |
| 13:57:31 | mriedem | mnaser: ^ got around to porting your script from the bug into a nova-manage command | |
| 14:01:24 | mnaser | openstackgerrit: oooo that's awesoem | |
| 14:02:56 | mnaser | err | |
| 14:02:59 | mnaser | mriedem: ^ oops | |
| 14:06:00 | mriedem | https://review.opendev.org/#/c/586742/ got me thinking about it again | |