Friday, 2023-10-13

*** ravlew is now known as Guest320304:18
gokhaniGood Morning Folks, I want to ask when we create snapshots with nova, can it also save memory state of instance? And an other one, when we use instance backed ceph volume, can it also save memory state when snapshotting? Thanks. 06:22
tobias-urdingokhani: no to both questions, snapshotting memory is usually considered an enterprise feature that doesn't belong in cloud07:55
gokhanitobias-urdin, you mean OPenstack snapshot is image/disk snapshot08:19
gokhaniI saw a spec but it is not implemented https://blueprints.launchpad.net/nova/+spec/instance-memory-snapshot08:20
gokhanisorry it is not approved 08:20
tobias-urdinyes, it's disk08:24
sean-k-mooney[m]we do not curently plan to add that feature08:31
opendevreviewPavlo Shchelokovskyy proposed openstack/nova master: Don not unnecessary convert images in finish_migration  https://review.opendev.org/c/openstack/nova/+/89784211:59
opendevreviewPavlo Shchelokovskyy proposed openstack/nova master: Do not unnecessary convert images in finish_migration  https://review.opendev.org/c/openstack/nova/+/89784211:59
opendevreviewPavlo Shchelokovskyy proposed openstack/nova master: Forbid use_cow_images together with flat images_type  https://review.opendev.org/c/openstack/nova/+/89822913:12
*** haleyb|out is now known as haleyb13:33
dansmithsean-k-mooney: sorry I missed the notification for your question yesterday13:35
dansmithsean-k-mooney: seems to me like it's working for you, me, bauzas and CI so it's worth merging IMHO13:35
dansmithwhether or not we can use those things or not is a different question and we can turn off the compilation if we want to with the flags13:35
bauzasyeah the main problem is that I don't know whether we could use mtty13:36
bauzasbecause of the libvirt non-support13:36
bauzasbut let's merge it13:36
dansmithhave we asked the libvirt guys to be sure?13:36
bauzasand we could just revert it if we find eventually that it's not able 13:36
bauzasdansmith: not yet13:36
bauzasI had a lot of discussions with them13:36
dansmitheither way, to me it really seems like doing what we need to do to be able to use these as our test fixture is worthwhile13:37
bauzasbut not for this :)13:37
sean-k-mooneybauzas: to me the libvirt gap is somethign we cna entrily work around in nova13:45
sean-k-mooneydansmith: i dont disagree but i have provposed adding this exact supprot before and supproting the netdev sim for vdpa and bauzas has object during spec review13:46
sean-k-mooneyi have previously been tool we are not ment to add suprpot for emulated device just for testing 13:46
sean-k-mooneybut i would like to do that personally13:46
bauzassean-k-mooney: if we want to persist mdevs, you know that we will need to no longer call sysfs and directly call libvirt13:47
bauzasso if we need to go to the other way due to mtty, it would be bizarre13:47
sean-k-mooneybauzas: yes im aware we woudl need to call libvirt to create mdevs13:48
bauzaseven if that's not for the same call13:48
sean-k-mooneybut right now your calling sysfs to create tehm13:48
bauzasone is for getting mdev capable devices, the other one is for calling to create a mdev13:48
sean-k-mooneybut libvirt to ask about capasity13:48
sean-k-mooneyso its already split brained13:48
bauzasyes13:48
bauzasso, we would need to change both...13:48
sean-k-mooneyso what i would do is if we provide a real pci adress in the config13:49
sean-k-mooneythen we would just get the capstiy form libvirt13:49
sean-k-mooneyif not we shoudl get it form sysfs since its a virtual device13:49
sean-k-mooneyadn use libvirt to alwasy create mdevs instead of sysfs13:50
sean-k-mooneywe can specify that the value for the pci adress for virtual devices is the subpath under /sys/devices/virtual if you want too13:51
sean-k-mooneyso it woudl be pci_adddress=mtty/mtty or mdpy/mdpy  if you want or just have a seperte config13:51
sean-k-mooneythere are lots of way to make that cleaner13:51
bauzassean-k-mooney: that's what I wrote in my mtty patch13:52
sean-k-mooneyi.e. device_path /sys/devices/virtual/mtty/mtty or device_path=mtty/mtty13:53
bauzasif you pass "mtty" as a pci device, nova doesn't check the pci address13:53
sean-k-mooneysure but i dont thinkg we should pass mtty it shodl be mtty/mtty13:53
bauzasok, so you would add a conditional, I see13:53
sean-k-mooneyyes13:53
sean-k-mooneyyou basicaly alrady have13:53
dansmithsean-k-mooney: not sure if "but I would like to do that" was inverted or not, but I think designing a feature with fake fixtures in mind, or designing those fixtures along with the feature is the best plan13:53
bauzassean-k-mooney : have you seen my uploaded mtty patch ?13:54
dansmithand if we have fake mdev devices that need a little extra care, it's worth us designing *for* those as much as the real hardware where reasonable, IMHO13:54
sean-k-mooneydansmith: i would like to supprot the virtual device by design13:54
bauzasthe workaround is just to precreate the mdevs :)13:54
sean-k-mooneyi.e. design for testablity and funcitonlity13:54
sean-k-mooneynot just funcitonlity13:54
sean-k-mooneybauzas: that is fine too if it works13:55
bauzasI don't know what happened to me when I started writing that code but I regret every single day that nova supports creating mdevs on the fly13:55
sean-k-mooneythe creation isnt relaly the problem. the fact we dont store them in the db is where a lot of the pain comse form13:55
sean-k-mooneysince we cant recreate them as needed with the same values13:55
sean-k-mooneybauzas: so i guess for now to get soemthign workign we can precreate them in the ci job13:56
bauzasI'm just out of band for now13:57
sean-k-mooneybut i think we can just make this work even without that with minimal extra complexity13:57
bauzasthe customer issue went back13:57
bauzasand I also have a lot of back-and-forths internally with people afraid of the situation13:57
bauzasso I basically punted to continue working on mtty for today13:58
bauzasbut last time I tried on my vm, mdev creation was working13:58
bauzaswhat I haven't tried yet was to download my patch and test it13:58
bauzaswith precreated mdevs13:58
dansmithsean-k-mooney: ++13:59
dansmithhonestly I think creating on the fly makes plenty of sense,14:00
dansmithwe just need a persistence mechanism, which is either libvirt or us14:00
sean-k-mooneywe can perssitee them in the resouce table without any db modification14:01
sean-k-mooneyif we want too14:01
sean-k-mooneyor have libvirt do it14:01
dansmithI don't know that not being able to have libvirt persist mtty is really a problem.. like if that works for real devices and the deal is you just can restart a dev box with mtty fake devices, that's not too bad14:01
sean-k-mooneyboth work14:01
bauzasthe libvirt feature already exists14:01
bauzashttps://libvirt.org/drvnodedev.html#example-of-a-mediated-device14:01
sean-k-mooneyi know14:01
bauzaslet's just use it14:02
sean-k-mooneywhich is why we want to use it.14:02
sean-k-mooneybut im just saying this is a very solvable problem14:02
bauzasI'm not particulatly in favor of adding another datastructure in nova for something we can let the hypervisor handle14:02
bauzasand yet again a sync problem between the hypervisor and us14:03
bauzas(but that's MHO)14:03
bauzasagain, priorities matter and that's on my scope14:03
bauzasI just have a limited 70hours bandwidth this week14:03
dansmithyep, agree we should not build data structures if we don't have to14:04
sean-k-mooneythe reason we diding in the frist place was just because this was all ment to be tracked via placement14:04
sean-k-mooneybut we didnt actully impelmetnet it in such a way that would work since we have no encodign of which mdev was for which allocation14:05
sean-k-mooneybut sure sound like we have a short term adn medium path forward14:05
sean-k-mooneyshortterm just preacllocate the mdevs14:05
sean-k-mooneyin the job14:05
sean-k-mooneymedium term just make creation on the fly work with the fallback to reading /sys for aviablie_isntances14:06
sean-k-mooneyin either case this is next week us problem i assume14:06
bauzasagreed with the plan14:06
bauzasI just need hands on deck14:07
sean-k-mooneywe proceed with teh current devstack plugin and enhance it to do the other bits as we go14:07
sean-k-mooney*shall we14:07
dansmithbauzas: I know you14:07
dansmithare not suggesting that we're barking orders without helping right?14:07
bauzasno no14:08
bauzasthis is just that this puzzle is horribly overcomplicated and I'm just a man14:08
bauzasand now the situation has been properly addressed and acked by above, I get many sollicitations :)14:09
bauzas(which is eventually good)14:09
bauzasso, yeah, taking one piece after the other14:09
sean-k-mooneydansmith: oh you found out why the kvm kerenl fialed. ya if mdev was compiled out in that it makes total sense14:13
opendevreviewPavlo Shchelokovskyy proposed openstack/nova master: Forbid use_cow_images together with flat images_type  https://review.opendev.org/c/openstack/nova/+/89822914:13
sean-k-mooneyim pulling th trigger on the devstack plugin patch lets impove it in followups14:13
dansmithsean-k-mooney: yep14:15
opendevreviewMerged openstack/nova master: Compile mdev samples for nova-next  https://review.opendev.org/c/openstack/nova/+/89770816:25

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!