| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-08-04 | |||
| 13:41:13 | aarents | the info we can grab in db are entry in virtuales_interfaces: | |
| 13:41:14 | sean-k-mooney | which means we should be able to get the pci adress by the port uuid | |
| 13:41:30 | aarents | +---------------------+------------+------------+----+--------------------------------------------------------+------------+--------------------------------------+--------------------------------------+---------+------+ | |
| 13:41:35 | aarents | | created_at | updated_at | deleted_at | id | address | network_id | uuid | instance_uuid | deleted | tag | | |
| 13:41:39 | aarents | +---------------------+------------+------------+----+--------------------------------------------------------+------------+--------------------------------------+--------------------------------------+---------+------+ | |
| 13:41:43 | aarents | | 2021-08-03 15:44:23 | NULL | NULL | 62 | fa:16:3e:fb:2d:7b/4ae693fd-23fb-46c6-a8a5-369270029fc6 | NULL | 4ae693fd-23fb-46c6-a8a5-369270029fc6 | d07df8d0-fc98-4087-9b25-3b4a55cdcac4 | 0 | NULL | | |
| 13:41:47 | aarents | +---------------------+------------+------------+----+--------------------------------------------------------+------------+--------------------------------------+--------------------------------------+---------+------+ | |
| 13:41:54 | sean-k-mooney | yep | |
| 13:42:01 | opendevreview | Sylvain Bauza proposed openstack/nova master: WIP: Cleanup GPU vs. mdev wording https://review.opendev.org/c/openstack/nova/+/803379 | |
| 13:42:01 | opendevreview | Sylvain Bauza proposed openstack/nova master: Expose the mdev class https://review.opendev.org/c/openstack/nova/+/801743 | |
| 13:42:51 | sean-k-mooney | so with that info and the pci_devices table we can with some effort constuct most of what we need to inpect the xml and then figure out what the vif_type ectra was to unplug | |
| 13:43:12 | sean-k-mooney | but since the virt dirvers are not really ment to tlak to the db that is tricky to do | |
| 13:43:41 | sean-k-mooney | we would have to implement a new fuction in the compute manager ot do that more then likely | |
| 13:43:58 | sean-k-mooney | and then extend thet virt driver api | |
| 13:44:18 | sean-k-mooney | well it depend on how we approch it | |
| 13:54:33 | aarents | sean-k-mooney: it is good to know the topic is open with neutron, in short term I will find a hack to detach interface with few info I have in db | |
| 13:55:16 | aarents | sean-k-mooney: thks! | |
| 14:00:01 | kashyap | sean-k-mooney: Remind me again, why did you suggest to leave this as-is to 'cirrus'? - https://review.opendev.org/c/openstack/nova/+/798680/3/nova/virt/libvirt/config.py | |
| 14:00:23 | sean-k-mooney | because we only want to change the behavior for new instnaces | |
| 14:00:39 | sean-k-mooney | also for most code paths this get overriden | |
| 14:01:13 | sean-k-mooney | none might actully be a better default | |
| 14:01:31 | sean-k-mooney | i dont think this will ever get used currently at least not on x86 | |
| 14:01:57 | kashyap | sean-k-mooney: I'm actually going to do a bunch of migration tests with a variant of this patch to see if there's *actual* breakage or are we talking only theoretical stuff | |
| 14:03:26 | sean-k-mooney | well what we approved ot proceed was no change to existing instnaces | |
| 14:03:47 | sean-k-mooney | if you want to change the default of exisitng instance then we should disssu this cahgne again with the wider team | |
| 14:03:57 | kashyap | Well, let's see what breaks, if anything. "What was approved" was all based on theory. I'd like to see some actual evidence | |
| 14:03:59 | sean-k-mooney | so i think you should leave it at cirrus or defer this to yoga | |
| 14:04:52 | kashyap | Don't worry, I am concerned as much as you to not break any valid cases or upgrades, etc. | |
| 14:09:04 | kashyap | Oh, totally forgot: I said this befoere but I've gotten a Red Hat QE to do some tests w/ Cirrus and VirtIO to change for existing instances - for Windows and Linux. | |
| 14:09:25 | kashyap | I'll add a note in the review | |
| 14:10:02 | sean-k-mooney | they would need to test both migration and hard reboots after the fact withthe updated xmls | |
| 14:10:38 | sean-k-mooney | for live migration obviolys we cant change teh device model, it could change on a hard reboot after the migration but we generally want to avoid that | |
| 14:10:46 | kashyap | sean-k-mooney: Right, the test that was done so far was this: | |
| 14:10:55 | kashyap | Have a Linux and Windows guest on source with 'cirrus', change the video model to 'virtio'; reboot the guest, and then live-migrate -- it all succeeds | |
| 14:11:59 | sean-k-mooney | ack. we had discussed that in some cases default to virtio might be fine due to the vga fallback | |
| 14:12:10 | sean-k-mooney | have you test this where we have specifed vram | |
| 14:12:17 | sean-k-mooney | or other extra specs | |
| 14:12:34 | sean-k-mooney | * other image properteis | |
| 14:12:38 | kashyap | And on hard-reboot, a guest can pick up new device-related bits some times; can't avoid it in some cases | |
| 14:12:58 | kashyap | sean-k-mooney: Can you spell out a bit more on what do you want tested with the vRAM? | |
| 14:13:02 | sean-k-mooney | right personally i feel like that is a bug when that happens | |
| 14:13:25 | kashyap | (I mean, it's a bug if it breaks anything user-visible; if not, I'd say it's fine) | |
| 14:13:45 | sean-k-mooney | depends on who you talk too | |
| 14:13:59 | kashyap | sean-k-mooney: Likewise, what props you want to test in this case? How are these other image props related? | |
| 14:14:10 | sean-k-mooney | some customer treat it as a bug since they would require recertifcation of the workload other dont care | |
| 14:14:36 | sean-k-mooney | hw_video_ram | |
| 14:14:49 | sean-k-mooney | i belive virtio is limited to 8MB | |
| 14:14:56 | sean-k-mooney | cirrus i think is larger | |
| 14:15:23 | sean-k-mooney | i think crrus can support 24-64 mb somethign in that region | |
| 14:15:47 | sean-k-mooney | kashyap: that is hte main one im concerned about currently | |
| 14:16:02 | kashyap | sean-k-mooney: You mean hw_video_ram is the thing you're concerned about? | |
| 14:16:09 | sean-k-mooney | yes | |
| 14:16:16 | kashyap | sean-k-mooney: Sure, adding a note to test that too (and summarizing what we talked here on the change) | |
| 14:16:26 | sean-k-mooney | i think the max vram that you can use with virtio is less then that for cirrus | |
| 14:16:48 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/objects/image_meta.py#L417 | |
| 14:18:04 | kashyap | sean-k-mooney: What I'm not clear is the impact of hw_video_ram on the switch to virtio | |
| 14:20:42 | kashyap | Maybe virtio doesn't need that max vRAM. Anyway, to be tested :) | |
| 14:20:49 | sean-k-mooney | kashyap: if you had it set to 16 with cirrus it would work but when you swich to virtio you vm would not boot | |
| 14:21:15 | sean-k-mooney | kashyap: lets concirm since i tought the virt team said it did no that downstream mail thread today | |
| 14:21:17 | kashyap | Another q. is In what scenarios would one bother to set this at all? | |
| 14:21:49 | kashyap | Yes, I will ask the virt graphics maintainer about it | |
| 14:21:53 | sean-k-mooney | to improve guest performacne | |
| 14:22:22 | sean-k-mooney | it allow more frame buffers to be created in the graphic device which is need for higher resolutions | |
| 14:23:13 | sean-k-mooney | without a large enough vram allocation you can do double or triple buffing in the graphic device and xrog has to fall back to copying buffers to/from guest ram | |
| 14:24:05 | kashyap | I see; I really wonder how many users actually know this, and how many, if any at all, change this.. | |
| 14:24:44 | sean-k-mooney | kashyap: from greg " - vga compatibility mode is limited when compared to stdvga. It has | |
| 14:24:46 | sean-k-mooney | 8 MB fixed video memory, whereas stdvga has 16 MB by default can | |
| 14:24:48 | sean-k-mooney | can be configured to have more if needed (for example in case you | |
| 14:24:50 | sean-k-mooney | want use 4k). | |
| 14:24:52 | sean-k-mooney | " | |
| 14:24:55 | sean-k-mooney | that was in context of virtio-vga | |
| 14:25:04 | sean-k-mooney | vs plain vga | |
| 14:25:15 | sean-k-mooney | but i think cirrus also support more the 8MB | |
| 14:25:22 | sean-k-mooney | as does QXL | |
| 14:25:30 | kashyap | Let's confirm if Cirrus actually does | |
| 14:26:42 | sean-k-mooney | looking at https://libvirt.org/formatdomain.html#video-devices yes at least 16MB | |
| 14:26:55 | sean-k-mooney | For a guest of type "kvm", the default video is: type with value "cirrus", vram with value "16384" and heads with value "1". | |
| 14:27:59 | kashyap | sean-k-mooney: Ah, yep | |
| 14:31:02 | sean-k-mooney | lookign at https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/#qxl-vga by the way qxl defaults to 64MB which was one of the reasons it perfromed better in the past then other options i know much of the improvemnts have now been surpassed by virtio-gpu or std vga | |
| 14:33:07 | sean-k-mooney | actully from the std vga section | |
| 14:33:10 | sean-k-mooney | "The linux driver supports page-flipping, so having room for 3-4 framebuffers is a good idea. The driver can leave the framebuffers in vram then instead of swapping them in and out. FullHD (1920x1080) for example needs a bit more than 8 MB for a single framebuffer, so 32 or 64 MB would be a good choice for that. " | |
| 14:33:29 | sean-k-mooney | you can see that 8MB is not quite large enough for 1080p | |
| 14:34:34 | sean-k-mooney | so without the virtio gpu driver you perfromace would likely regress goign form cirrus to virtio-vga if you tried to use a 1080p resolution today | |
| 14:43:42 | kashyap | sean-k-mooney: Back ... reading | |
| 14:45:02 | kashyap | I really doubt the seriousness of the "regression" from performance going from 'cirrus' to 'virtio-vga'. If people want performance, you better make sure you're not using deadly-old Linux, and got the virtio-gpu driver. | |
| 14:48:28 | kashyap | I'll check w/ Gerd (the author of the above post) and post my summary on the change | |
| 14:49:08 | sean-k-mooney | ack | |
| 14:56:20 | gibi | aarents: sean-k-mooney: here is the neutron drivers meeting log about deleting bound ports https://meetings.opendev.org/meetings/neutron_drivers/2021/neutron_drivers.2021-07-02-14.00.log.html#l-67 | |
| 14:57:41 | gibi | the agreement was that it needs specs | |
| 15:00:05 | gibi | there is a summary in the rfe https://bugs.launchpad.net/neutron/+bug/1930866 | |
| 15:00:31 | sean-k-mooney | gibi: right that is what i recalled | |
| 15:05:46 | bauzas | gibi: I tried to look how to verify whether we would have existing allocations for VGPU RC in case the operator would modify the options but honestly it's difficult to do it as we don't provide the allocations when calling update_provider_tree() without ReshapeNeeded | |
| 15:06:40 | bauzas | honestly, we already don't support the fact that operators could modify the inventories if they modify the options | |
| 15:09:04 | bauzas | but I'll test this | |
| 15:09:20 | aarents | gibi: thank you for the links | |
| 15:17:25 | gibi | bauzas: if we cannot prevent it then at least a big red warning should be added to the docs. | |
| 15:17:35 | bauzas | agreed | |
| 15:17:48 | bauzas | I think we would then have orphaned allocations | |
| 15:18:20 | gibi | probably until the instance is deleted or migrated | |
| 15:18:26 | bauzas | gibi: we *could* try to hardstop in update_provider_tree() | |