| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2025-01-30 | |||
| 20:33:03 | sean-k-mooney | the use case to still use ps2 is lower overhead for realtime guest | |
| 20:33:20 | sean-k-mooney | which is whey they prefer serial console or no console over spice/vnc | |
| 20:33:30 | sean-k-mooney | less overhead to the vm due to interupts | |
| 20:33:31 | melwitt | oh... now that you say that it sounds vaguely familiar | |
| 20:34:20 | sean-k-mooney | https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.pointer_model | |
| 20:34:49 | sean-k-mooney | the thing is i dont know if none is a valid libvirt value or if you just dont create the device xml | |
| 20:35:05 | melwitt | ah, good ol usbtablet | |
| 20:35:47 | sean-k-mooney | so for sound modle https://libvirt.org/formatdomain.html#sound-devices it looks like you jsut dont create it but i also know that you can get a sound card added becasule fo q35 i think | |
| 20:36:30 | melwitt | oh, I got the idea from the libvirt doc. it says "Additionally, since 0.10.0, if the USB bus needs to be explicitly disabled for the guest, model='none' may be used." https://libvirt.org/formatdomain.html#controllers | |
| 20:36:32 | sean-k-mooney | for usb contooler i think you just dont add one | |
| 20:36:40 | melwitt | so that's why I asked | |
| 20:36:44 | sean-k-mooney | oh i missed htat | |
| 20:37:20 | sean-k-mooney | so we could supprot it but that would need more work to chnage the pointer model if the config would use usb | |
| 20:37:55 | sean-k-mooney | melwitt: your raisign very reasonable points to which i dont have a simple answer | |
| 20:37:59 | melwitt | hm ok | |
| 20:38:53 | sean-k-mooney | my my concern is delaying the spice direct feature again for this. im wondering if we could add none later if we needed it? | |
| 20:39:08 | sean-k-mooney | basiclly not to expand the scope more | |
| 20:39:36 | melwitt | yeah.. I'm assuming we can punt that to later. this was just in case you already knew it's a thing we need we could add it | |
| 20:40:07 | sean-k-mooney | we didn tactully dicsus traits in the spec https://specs.openstack.org/openstack/nova-specs/specs/2025.1/approved/libvirt-spice-direct-consoles.html | |
| 20:40:12 | sean-k-mooney | we proably should have | |
| 20:40:40 | sean-k-mooney | but we also didnt dicsu opting out | |
| 20:40:45 | melwitt | yeah. I was surprised to see the traits patch bc I didn't realize it would have traits | |
| 20:41:16 | sean-k-mooney | it can merge without it. the traits will allow for schdulign using the image properies filter | |
| 20:41:25 | sean-k-mooney | sorry | |
| 20:41:35 | sean-k-mooney | the image metadata pre filter | |
| 20:41:45 | melwitt | gotcha | |
| 20:42:07 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/scheduler/request_filter.py#L199-L239 | |
| 20:42:21 | sean-k-mooney | so that is just a nice to have for schduling | |
| 20:42:50 | sean-k-mooney | i suggested addign it because the virtio sound model is the only one not supported by our min libvirt/qemu version | |
| 20:42:58 | sean-k-mooney | for usb that not a problem | |
| 20:43:05 | melwitt | oh ok, so we would add hw_sound_model and hw_usb_model into that prefix map | |
| 20:43:45 | sean-k-mooney | yep and if you requst either in the image it will add the reqiured trait to land you on a host that supprot it | |
| 20:44:24 | sean-k-mooney | mikal: so to be clear the traits are optional, certently nice to have but can be done next cycle | |
| 20:44:58 | sean-k-mooney | the compute service bump adn min version check are needed so that we ensure we never boot on a host hat does not supprot it | |
| 20:45:38 | sean-k-mooney | without that you can request a usb devices and because old nova does not no about it it will boot without them | |
| 20:47:04 | sean-k-mooney | mikal: that is protected agaist by a compute service bump for each fo the usb and audio emulation patches and a min version check for server create and rebuild. | |
| 20:47:23 | melwitt | to be clear, I'm not opposed to the traits ... I was just trying to understand what I'm reviewing | |
| 20:47:59 | sean-k-mooney | ack, no worries | |
| 20:48:34 | mikal | Sorry, got distracted and missed this... | |
| 20:49:01 | sean-k-mooney | melwitt: my understanding is the first 3 patches up to here https://review.opendev.org/c/openstack/nova/+/924844/26 is the mvp for spice direct | |
| 20:49:17 | mikal | So, I think my take is that if the traits thing isn't too hard to do we should just do it. | |
| 20:49:39 | mikal | However you're right, I will be disappointed if I have to do this game for a third time next release so I don't want to put that at risk if I can avoid it. | |
| 20:49:54 | sean-k-mooney | melwitt: the folowing 2 patches enable the usecase request in https://review.opendev.org/c/openstack/nova-specs/+/920687 and make the spice direct feature more useful in general | |
| 20:50:20 | mikal | I guess my problem is that having never done a trait before I don't really know how far https://review.opendev.org/c/openstack/nova/+/926126/12 is from being a working implementation. | |
| 20:51:12 | sean-k-mooney | mikal: reviesion 23 is much close then 12 :) | |
| 20:51:28 | mikal | Honestly for VDI to be a thing people will actually want to use you do need sound and USB. | |
| 20:51:55 | sean-k-mooney | mikal: so https://review.opendev.org/c/openstack/nova/+/926126/23/nova/virt/libvirt/driver.py should work as is | |
| 20:52:13 | mikal | Think desktop replacement with a thin terminal on someone's desk -- they'd want sound for notifications etc and USB for smartcard / yubikey / local printer or scanner / etc. | |
| 20:53:23 | sean-k-mooney | mikal: instead of hardcodign them we normally get cleaver and constcut them form the ovo filed defnitions | |
| 20:53:42 | sean-k-mooney | or use the os-traits constants but the hardcode string will work | |
| 20:54:25 | mikal | So I really wanted to do it like the video models, that is obtain it from getDomainCapabilities(), but that doesn't report the sound models. | |
| 20:54:53 | sean-k-mooney | ya we got them to add the video models | |
| 20:55:12 | sean-k-mooney | among other things a while back to avoid matching on version | |
| 20:55:19 | sean-k-mooney | but we did version matches before that | |
| 20:55:29 | melwitt | ok, so IIUC the traits aren't required until the latter two patches. and os-traits release freeze is what, Feb 21 | |
| 20:55:40 | mikal | We could do that here, but I would assume that landing something in libvirt, waiting for it to be covered by our minimum version, and then rewriting that code would likely take literally years. | |
| 20:55:58 | sean-k-mooney | melwitt: ya only the last too | |
| 20:56:12 | sean-k-mooney | and ya its the non clinet lib feeze so about the 21st | |
| 20:56:48 | mikal | That's another thing... There are a few client patches for this stuff as well, but those are sitting queued up waiting for the nova support to land first. I was intending to propose those next release at this rate. | |
| 20:56:59 | sean-k-mooney | mikal: ya so next time we wrap around the alpahpbet we can revisit it but what you ahve now is fine : | |
| 20:57:01 | sean-k-mooney | :) | |
| 20:57:35 | sean-k-mooney | the client patches are only for the new console type right | |
| 20:57:38 | mikal | We are getting dangerously close to me having coworkers who are younger than openstack as it is... I am not sure I'll be around in another alphabet. | |
| 20:57:46 | mikal | sean-k-mooney: yeah. | |
| 20:57:58 | mikal | Its been a while since I looked at them, let me double check that. | |
| 20:58:14 | sean-k-mooney | so honetly i would push the two patches for the sdk and osc and just add a depend on on the third patch that adds the api supprot | |
| 20:59:16 | mikal | Yeah, I am carrying client patches for openstacksdk, python-novaclient, and python-openstackclient. | |
| 20:59:36 | sean-k-mooney | i think you jst need to extend https://github.com/openstack/openstacksdk/blob/master/openstack/compute/v2/server_remote_console.py#L16-L23 | |
| 20:59:58 | sean-k-mooney | but ya if you have workign patches i would post them for review | |
| 21:00:25 | mikal | https://github.com/shakenfist/kerbside-patches/blob/develop/openstacksdk/patch006-openstacksdk-expose-spice-direct-consoles.patch is what I have right now for openstacksdk. | |
| 21:01:02 | mikal | The microversion in that is wrong, I should update that. | |
| 21:01:30 | mikal | Do we still add new things to python-novaclient, or is that one a red herring? | |
| 21:01:45 | sean-k-mooney | you do not need to modify python-novaclient | |
| 21:02:03 | sean-k-mooney | we froze the shell and python biding | |
| 21:02:14 | mikal | Ahhh, ok. Cool. | |
| 21:02:17 | sean-k-mooney | so jsut osc | |
| 21:02:44 | mikal | So that would be openstacksdk and python-openstackclient. | |
| 21:03:00 | sean-k-mooney | mikal: we have to supprot python-novaclient until heat/neutron ectra swap to the sdk | |
| 21:03:05 | sean-k-mooney | yep just those | |
| 21:03:25 | mikal | I will double check those and upload them today, with a depends-on for the third patch. | |
| 21:03:43 | mikal | Similarly I have Kolla / Kolla-Ansible deployment patches, but again I am assuming those need to wait until Flamingo to be proposed. | |
| 21:04:01 | mikal | (And I suspect the K/A one needs some HA love, I developed it on an all-in-one so its a bit under baked there). | |
| 21:05:08 | sean-k-mooney | no you can do it in paralle | |
| 21:05:16 | sean-k-mooney | they jsut wont merge it until it lands in nova | |
| 21:05:40 | mikal | They trail by one release don't they? | |
| 21:05:43 | mikal | Honestly, I haven' | |
| 21:05:55 | mikal | t had much luck in getting the Kolla people to answer messages. | |
| 21:06:00 | sean-k-mooney | no | |
| 21:06:15 | sean-k-mooney | they are release trailing but not by one cycle master there is actuall master for epoxy | |
| 21:06:26 | mikal | Le huh. | |
| 21:06:35 | sean-k-mooney | they normlaly release a few weeks after the offical upstream release | |
| 21:06:38 | mikal | Well, I will take a swing at that, but I am going to deal with nova and client patches first. | |
| 21:10:53 | sean-k-mooney | mikal: fyi you have some line length issues in one of the patches | |
| 21:11:07 | mikal | Client patches you mean? | |
| 21:11:15 | sean-k-mooney | the sound device one | |
| 21:11:26 | sean-k-mooney | the pep8 line limiet is actully 79 not 80 | |
| 21:12:07 | sean-k-mooney | https://review.opendev.org/c/openstack/nova/+/926126/23/nova/virt/libvirt/driver.py#13354 | |
| 21:12:12 | mikal | Oh right. I can fix that. I have tests that run on the patch stack locally, but because there are so many queued up nova patches right now it takes a couple of hours to run and I haven't looked at the output yet today. I'll deal with that today. | |
| 21:12:53 | sean-k-mooney | no rush. i think we(reviews) shoudl focus on the first 3 patches | |
| 21:13:34 | sean-k-mooney | it woudl be ideally to merge all of them buti think the first 3 are pretty close | |