| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2025-01-17 | |||
| 14:29:49 | sean-k-mooney | resize is oen of them i dont know about cold-migration. live migration is intended to preserve the data | |
| 14:30:31 | dougszu | Thanks - I see the ephemeral data copied for both live and cold. The bug affects both | |
| 14:31:08 | sean-k-mooney | so the content o fthe backing file sholud not really effect the resulting image since its ment to be blank | |
| 14:31:20 | sean-k-mooney | but i think i know why this is happening | |
| 14:31:54 | dougszu | Yeah, so I think you can configure it that way - to not create a FS on the ephemeral drive. But if you do tell Nova to create FS, it will create it on the backing file. | |
| 14:31:54 | sean-k-mooney | i think we are currently formating the backign file if you have not disabeld that | |
| 14:32:19 | sean-k-mooney | dougszu: right os we have been disucssint removign the ablity for nova to format the ephemral storage | |
| 14:32:49 | sean-k-mooney | we planned to disabel it by default and then deprecate it but i dont think we have doen that yet | |
| 14:33:05 | sean-k-mooney | for the ephmeral disk there is no backign file in glance | |
| 14:33:38 | sean-k-mooney | so the only optionon cold or live migrate woudl be to copy it from the souce node otherwise we would geneate a new one on the dst with no refernce to the old one a diffent uuid as a result | |
| 14:33:48 | dougszu | curious -yeah, that would work, it forces the FS into the top layer | |
| 14:33:54 | dougszu | and fixes the issue | |
| 14:34:07 | dougszu | but not for existing VMs :D | |
| 14:34:23 | gibi | sean-k-mooney: so you suggest that devstack_local_conf post-config should work even if the referenced service is not deployed and the config file is not there as it i) creates the missing dir ii) generates a new file with the post-config content if the file does not exits? | |
| 14:34:27 | sean-k-mooney | right so evernayully we also dont want to have backign files for test disks ata ll | |
| 14:34:52 | sean-k-mooney | the fact they have them is a sideffect of hwo the qcow dirver is currently impelmetned and not really intentional | |
| 14:35:17 | sean-k-mooney | gibi: that is how i think it was orgianly inteded to work yes | |
| 14:35:33 | sean-k-mooney | or at least that is how i would have implemtned it | |
| 14:35:47 | dougszu | You also can't copy the backing file from the source node. Eg. if you had two identical VMs on different HVs, and migrated them both to another HV, they would fight over the backing file. | |
| 14:36:08 | sean-k-mooney | dougszu: you can but you need ot have a diffent name for it | |
| 14:36:20 | gibi | sean-k-mooney: ack, I can also try to dig devstack... | |
| 14:36:25 | gibi | based on thsi | |
| 14:36:27 | gibi | this | |
| 14:37:06 | dougszu | yeah - agree on that - different name would work | |
| 14:37:21 | sean-k-mooney | dougszu: but ya we dont generate a repoducable file system on the ephmale backign file today as far as im aware. | |
| 14:37:32 | sean-k-mooney | i agree this is a bug of some kind | |
| 14:37:50 | sean-k-mooney | its not clear to me what the best path forward is in ths short term | |
| 14:38:08 | sean-k-mooney | long terme there shoudl be no backing file and or no data in the backing file | |
| 14:38:24 | dougszu | thanks Sean, that's all helpful. I think as you say, the easiest fix is to just not support created the FS on the backing file | |
| 14:38:32 | dougszu | *creating | |
| 14:39:18 | dougszu | I will have a think about a fix for existing VMs. I think you can rebase the top layer onto a new backing file for one. | |
| 14:39:20 | sean-k-mooney | we wanted to make that change to reduce the security footprint of nova | |
| 14:39:56 | sean-k-mooney | dougszu: we might be abel to flatten the image on migration, im not sure | |
| 14:40:03 | dougszu | It also avoids issues with for example Nova making a v5 XFS FS and then booting a C7.9 image with XFS 4 support etc | |
| 14:40:50 | dougszu | yeah, flatten is also interesting | |
| 14:44:52 | sean-k-mooney | so i think this bug is another reaons to implement https://blueprints.launchpad.net/nova/+spec/default-ephemeral-format-unformated sooner rather then later | |
| 14:45:07 | sean-k-mooney | i cant commit to doing that this cycle but i might see if i can find time to try | |
| 14:49:16 | dougszu | ^ that looks good. I'd be happy to test/review/help out. | |
| 14:50:30 | sean-k-mooney | gibi: i think this is the relevent fucntion https://github.com/openstack/devstack/blob/38f8f4da4556c11bf526392359ed6c14b45d87ea/inc/meta-config#L79 | |
| 14:52:22 | gibi | sean-k-mooney: thanks! | |
| 14:53:09 | sean-k-mooney | the comment says it shoudl create the file if it does not exist which is the behviaor i recall i think its just failing because /etc/placement is not there for it to create the file under hence the mkdir -p comment | |
| 14:55:37 | gibi | OK I will dig | |
| 14:58:54 | opendevreview | Dan Smith proposed openstack/nova master: Handle GPT image detection https://review.opendev.org/c/openstack/nova/+/933928 | |
| 14:58:55 | opendevreview | Dan Smith proposed openstack/nova master: DNM: Test with latest oslo.utils https://review.opendev.org/c/openstack/nova/+/933444 | |
| 15:01:27 | sean-k-mooney | gibi: found it https://review.opendev.org/c/openstack/devstack/+/922846 | |
| 15:01:53 | sean-k-mooney | gibi: i know i debugged that at some point before | |
| 15:02:00 | sean-k-mooney | *knew | |
| 15:06:43 | gibi | sean-k-mooney: awesome, I will put a depends-on on it to see if this helps. | |
| 15:07:10 | gibi | sean-k-mooney: also an easy win review about whitebox in periodic queue https://review.opendev.org/c/openstack/nova/+/833453 | |
| 15:08:15 | sean-k-mooney | oh cool artom updated that | |
| 15:08:39 | sean-k-mooney | done | |
| 15:08:55 | sean-k-mooney | we can review it for stablity i guess and see how it goes | |
| 15:10:51 | gibi | yepp, bauzas tend to check the periodic state during our weekly meeting so we will see | |
| 15:11:06 | sean-k-mooney | speakign of easy wins im also approving https://review.opendev.org/c/openstack/nova/+/939453/1 to disable the heal perodic in nova-next | |
| 15:11:23 | sean-k-mooney | when you have time https://review.opendev.org/c/openstack/nova/+/939476 is the follow up about changing the default | |
| 15:11:49 | sean-k-mooney | i was going to add that to next weeks team meeting ot get import | |
| 15:25:53 | gibi | ack | |
| 15:57:24 | dansmith | ugh.. this is wrong: https://docs.openstack.org/nova/latest/configuration/config.html#libvirt.snapshot_image_format | |
| 15:58:01 | dansmith | the default is not "the same type as source image" it's "same type as the ephemeral backend is using" | |
| 15:59:27 | opendevreview | Balazs Gibizer proposed openstack/nova master: [CI][nova-next]test with placement ac breadth-first https://review.opendev.org/c/openstack/nova/+/937275 | |
| 16:31:21 | sean-k-mooney | dansmith: i have not at the code but perhaps "souce iamge" in this context was inteded to refer to "the format fo the file on disk that was snapshoted" rather then glance | |
| 16:31:33 | sean-k-mooney | which would match what you are stating | |
| 16:31:49 | dansmith | well, that's what the code is doing, but I don't think that's how someone would read that doc text | |
| 16:33:05 | dansmith | glance people also had assumed that nova snapshotted in the format of the original (source glance) image | |
| 16:33:14 | sean-k-mooney | ya without reading the docs i woudl have assuemd nova woudl use the same format in glance as the image was on disk but iagree that not what i would take away form that text | |
| 16:34:07 | sean-k-mooney | well novas current behaivor is not really surpsing to me nessisarly | |
| 16:34:30 | sean-k-mooney | but i agree the docs are incorrect | |
| 16:35:02 | dansmith | it's not really surprising to me either knowing the code and how things work under the covers, I just think that's not what the reader of the doc would think | |
| 16:35:24 | sean-k-mooney | this is also kind of glossing over images_type=rbd | |
| 16:35:29 | dansmith | and so when it was asserted that the format would be the same as the source (glance image) and I read that doc, I assumed that's what we were doing | |
| 16:35:35 | dansmith | yeah, also that | |
| 16:36:13 | sean-k-mooney | do you know what happens if you set this and you use images_type=rbd ? | |
| 16:36:37 | sean-k-mooney | it woudl be reasonabel to assuem it either has no effect (proably what happens today) | |
| 16:36:41 | dansmith | I assume you mean also where we share a pool | |
| 16:36:51 | dansmith | if sharing, we don't even run this code | |
| 16:36:55 | sean-k-mooney | but it woudl also be reasonable to assume we woudl actully upload an image in the requested format | |
| 16:36:55 | dansmith | if not, we'll do the same thing, It hink | |
| 16:37:19 | dansmith | yeah, good point | |
| 16:37:37 | dansmith | someone thinks they can set this to get qcow2 images even for things on ceph... | |
| 16:38:23 | sean-k-mooney | im no really arguing either way just that the config option seams somewhat probelmatic on other fronts | |
| 16:38:43 | sean-k-mooney | i kind of get why it exists | |
| 16:39:05 | sean-k-mooney | i.e. use force raw for the hypervior but store all snapshots in qcow to save space | |
| 16:39:06 | dansmith | yeah, problematic indeed, since it will cause us to unwrap a qcow2 into a raw with qemu | |
| 16:39:47 | dansmith | I'm not sure that would really happen unless qemu does empty space detection when you convert, and even if it did, it wouldn't work unless the guest OS had *actually* zeroed sectors | |
| 16:40:18 | sean-k-mooney | rigtht im thiniking of qcows sparce file supprot | |
| 16:40:33 | sean-k-mooney | but i also dont know if we enable that when we create the snapshot | |
| 16:41:08 | sean-k-mooney | but other then that usecase i dont really see a valid reason to ever set this | |
| 16:41:58 | dansmith | apparently it does zero detect and collapse (just tried) but still.. only helps if the guest zeroes the unused sectors or never touches them | |
| 16:42:35 | dansmith | anyway I'm on this because of our need to upload to glance with an accurate (i.e. raw vs gpt) format | |
| 16:43:00 | sean-k-mooney | im not sure if operators would scream but im inclind to say remove this current config option | |
| 16:43:18 | sean-k-mooney | im unsure if we shoudl have an option to say "match glance vs match file on disk" | |
| 16:43:51 | dansmith | well, that's what default is now | |
| 16:43:54 | sean-k-mooney | the kinder thing to do woudl be just set the glance type to what we are updating and continue to supprot this option | |
| 16:44:01 | dansmith | oh, you mean two options | |
| 16:44:02 | dansmith | I see | |
| 16:44:21 | sean-k-mooney | well this is config driven api behviaor right | |
| 16:44:46 | dansmith | I'm not really sure "match glance" is necessary, I just think it's more visible from the user's perspective and also helps us say "nope, you booted from gpt, so you stay gpt" | |
| 16:44:48 | dansmith | yes, it is | |
| 16:44:49 | sean-k-mooney | as an end user i woudl kind of expect the snapshot to be in the same format as the orgianl image | |
| 16:44:56 | dansmith | config-driven api behavior across two services | |