| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-03-10 | |||
| 11:38:04 | dmitriis | Not sure if it's appropriate to land it at this point or not but that's more of a fix + test change rather than a new feature. | |
| 11:38:38 | noonedeadpunk | So to start nova-compute we indeed had to echo uuid to /sys | |
| 11:39:06 | sean-k-mooney[m] | ya that is the workaround for now | |
| 11:39:15 | noonedeadpunk | but it's hard as you need to get resource from placement to understand mapping of uuid to mdev pci device | |
| 11:39:19 | sean-k-mooney[m] | i prefer recommendign that as its safer then mdevctl | |
| 11:39:43 | sean-k-mooney[m] | yes as i siad i tought someone had wirtten that up | |
| 11:40:02 | noonedeadpunk | yeah, I see | |
| 11:40:14 | sean-k-mooney[m] | i know bauzas started at one point | |
| 11:41:18 | sean-k-mooney[m] | i remember discussing the algrothim with them and how they would have to use placement to find the parent pci device to know whic device to create the mdev on since that is not in the xml | |
| 11:42:42 | noonedeadpunk | well another weird thing is that mdev uuid is just random thing, while tbh I'd expect it to be resource uuid. Which would make things easier... | |
| 11:44:03 | noonedeadpunk | As we have resource uuid and then mdev uuid is just another thing that is stored _only_ in xml | |
| 11:44:22 | noonedeadpunk | (in case I'm not missing anything | |
| 11:44:56 | sean-k-mooney[m] | its randome because we do not track them in the db | |
| 11:45:08 | gibi | dmitriis, sean-k-mooney[m], bauzas: I'm generally OK with https://review.opendev.org/c/openstack/nova/+/829974 I do noted that this patch is now wide the gap we need to close later as part of https://bugs.launchpad.net/nova/+bug/1961587 as it adds more sysfs calls to our neutron code. | |
| 11:45:10 | sean-k-mooney[m] | i have been trying to change that since before we actully added the mdev feature | |
| 11:46:41 | sean-k-mooney[m] | noonedeadpunk: what i would like use to evolve to is have operators precreat the mdevs and we would track them in the resouces table in the db | |
| 11:46:52 | sean-k-mooney[m] | then claim and allocate them to instances | |
| 11:47:04 | sean-k-mooney[m] | or tack them in the pcidevice table | |
| 11:47:33 | sean-k-mooney[m] | part of the reason i want to do that is i want to get rid of the persitnt libvirt domain xml | |
| 11:47:59 | sean-k-mooney[m] | right now vgpus are the only thing that need to the persitent domain xml | |
| 11:48:40 | dmitriis | gibi: ack, I am going to look at changing this to use extra info instead in a follow-up | |
| 11:48:41 | noonedeadpunk | well, I wasn't having much fun with plain qemu without libvirt, as if you don't need config you can jsut operate qemu directly? | |
| 11:50:46 | noonedeadpunk | tbh for me from operator prespective is preferable that nova manage mdev creation. as otherwise there will be tons of nasty hooks which everybody do. This can be handled by deployment tools ofc, but considering devices are not persistant and drop on reboot... dunno. | |
| 11:51:28 | noonedeadpunk | and if uuid for mdev will be taken as placement resource id - wouldn't it solve issue with persistant libvirt config? | |
| 11:52:08 | noonedeadpunk | as at time mdev is created, I guess allocation should be already claimed and resource provided where to create it? | |
| 11:52:20 | gibi | dmitriis: ack, thanks | |
| 11:57:50 | sean-k-mooney[m] | noonedeadpunk: you can have multiple mdevs attached to a vm so we cant use placemnt ids for the uuid | |
| 11:58:00 | sean-k-mooney[m] | also they have to be gloally unique | |
| 11:58:37 | noonedeadpunk | ah, indeed, if it's not Nvidia Ampere that would be the case... | |
| 11:58:52 | noonedeadpunk | (as there you have resource per vGPU) | |
| 11:58:58 | sean-k-mooney[m] | removing the persitent domain is not the same as raw qemu | |
| 11:59:14 | sean-k-mooney[m] | libvirt has 2 domains for each insthace | |
| 11:59:24 | sean-k-mooney[m] | the running one in memory and an xml file on disk | |
| 11:59:44 | sean-k-mooney[m] | on ocation they get out of sync and cause issues in managing the vm | |
| 12:00:08 | sean-k-mooney[m] | so i would like to get rid of the file on disk and just use the in memory one which is the acurrate one | |
| 12:00:27 | noonedeadpunk | yeah, I do agree herem that makes sense | |
| 12:01:10 | noonedeadpunk | just sugested that it could be first step to raw qemu, as had to deal with such solution on some cloud platform | |
| 12:01:22 | sean-k-mooney[m] | if you have a patch or code to recreate the mdevs on boot using placement we would be happy to include it | |
| 12:02:00 | sean-k-mooney[m] | are you in favor of raw qemu or against? | |
| 12:02:08 | noonedeadpunk | I'm not at the moment as just found that out during incident, but will try to allocate some resources | |
| 12:02:14 | noonedeadpunk | I'm personally against :) | |
| 12:02:33 | sean-k-mooney[m] | ack just checkign libvirt does some useful stuff for us | |
| 12:02:42 | sean-k-mooney[m] | so we are not currently plannig to remove it | |
| 12:02:47 | noonedeadpunk | s/just suggested/just assumed/ | |
| 12:03:17 | sean-k-mooney[m] | we dont really want to have to manage cgroups directly for example | |
| 12:03:50 | noonedeadpunk | I guess it prings in selinux/apparmour rules as well | |
| 12:03:55 | noonedeadpunk | *brings | |
| 12:03:59 | sean-k-mooney[m] | yes | |
| 12:04:28 | sean-k-mooney[m] | it deals with selinux lables and a bunch of other things which we dont want to have to implement in nova | |
| 12:04:34 | noonedeadpunk | and some live migration features iirc | |
| 12:04:49 | sean-k-mooney[m] | yes libvirt does the cpu compatiblity check for us | |
| 12:05:13 | sean-k-mooney[m] | so removing the xml on disk simple. removign libvirt is basicaly a full rewrite of the dirver | |
| 12:05:26 | sean-k-mooney[m] | which is not something we have time for or really want to do | |
| 12:05:57 | noonedeadpunk | exeprience with raw qemu was quite painful | |
| 12:06:34 | sean-k-mooney[m] | the only real advantage to raw qemu would be if libvirt did not have support for feature x yet | |
| 12:06:55 | sean-k-mooney[m] | and at this point nova does not move fast enough for that to be an issue | |
| 12:07:10 | noonedeadpunk | just wanted to say the same:) | |
| 12:07:55 | noonedeadpunk | virtiofs great example of feature ppl love to get but nobody has capacity to help on with... | |
| 12:08:40 | sean-k-mooney[m] | actully that is on our radar | |
| 12:08:55 | sean-k-mooney[m] | it should hopefully get added in z | |
| 12:09:03 | sean-k-mooney[m] | for manilla shares | |
| 12:09:15 | sean-k-mooney[m] | but if you have other usecases for it let us know | |
| 12:10:03 | sean-k-mooney[m] | once we have the basic support in the libvirt driver we can extend it simply if cyborg or anything else wants to use it | |
| 12:10:30 | sean-k-mooney[m] | brb | |
| 12:12:41 | gibi | bauzas and others: I think we have a functional test instability https://paste.opendev.org/show/btHI7ErFfhKYFGdfoujl/ | |
| 12:12:50 | gibi | e.g.: https://6779a19d629122a2ad74-09e4be48fe62aca6e4b03d954e19defe.ssl.cf1.rackcdn.com/828570/8/check/nova-tox-functional-py38/99a1e4f/testr_results.html | |
| 12:13:33 | gibi | recently I saw this pretty frequently but It happened in the past too (I saw matches from mid february) | |
| 12:14:25 | gibi | Im filing a bug... | |
| 12:20:19 | gibi | https://bugs.launchpad.net/nova/+bug/1964472 | |
| 12:33:42 | gibi | ohh the failing testcase was added here https://review.opendev.org/c/openstack/nova/+/821840 | |
| 12:33:56 | gibi | this is one of the bug with rc1 tag, where the fix is still open | |
| 12:34:14 | gibi | so I guess the regression test added here is not stable and needs some tuning | |
| 12:35:24 | gibi | bauzas, sean-k-mooney[m] should we pull https://review.opendev.org/c/openstack/nova/+/815324/10 from the gate? | |
| 12:35:36 | gibi | or we expect a followup to stabilize the functional test in that? | |
| 12:41:22 | sean-k-mooney | is it unstable | |
| 12:41:44 | sean-k-mooney | oh the regerssion | |
| 12:42:24 | gibi | the test case is unstable | |
| 12:42:27 | sean-k-mooney | i see is it still unsable with the followup | |
| 12:43:07 | gibi | we only have data about it being unstable without the fix for the origina bug | |
| 12:43:14 | gibi | that bugfix is on the gate | |
| 12:43:32 | gibi | I tried to reproduce it locally but failed so far | |
| 12:43:40 | sean-k-mooney | In the last 7 days from 8 failed functional test run 6 was due to this in nova. But this happened as far back as 14th of February. | |
| 12:43:53 | sean-k-mooney | so the test has only merged yesterday | |
| 12:44:05 | sean-k-mooney | so those other failures would have been on the path itself | |
| 12:44:29 | sean-k-mooney | as in https://review.opendev.org/c/openstack/nova/+/821840/5 merged yesterday | |
| 12:44:43 | gibi | the test case merged on the 5th | |
| 12:44:56 | gibi | oh no | |
| 12:44:58 | gibi | it is 9th | |
| 12:45:01 | gibi | you are correct | |
| 12:45:02 | gibi | sorry | |
| 12:45:30 | gibi | and you are correct before yesterday it is only failed on 821840/5 | |
| 12:45:38 | gibi | after the merge it is failed on 3 other pathes | |
| 12:45:42 | gibi | see https://paste.opendev.org/show/btHI7ErFfhKYFGdfoujl/ | |
| 12:46:16 | sean-k-mooney | then ya we shoudl either revert or disable i guess | |
| 12:46:35 | opendevreview | Merged openstack/nova master: Add functional tests to reproduce bug #1960412 https://review.opendev.org/c/openstack/nova/+/830010 | |
| 12:47:39 | gibi | yeah, no point yanking the bugfix from the gate as that does not break anyithing, the patch that added the test case was already merged | |
| 12:48:07 | gibi | I can push a patch skipping the test case | |
| 12:52:32 | opendevreview | Balazs Gibizer proposed openstack/nova master: Skip TestRollbackWithHWOffloadedOVS.test_rollback_pre_live_migration https://review.opendev.org/c/openstack/nova/+/833079 | |
| 12:52:38 | gibi | bauzas, sean-k-mooney: ^^ | |
| 13:01:00 | sean-k-mooney | gibi: sorry was making coffee did you determin why its unstable by the way? i did not fully read your bug report | |