| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-10-07 | |||
| 20:49:02 | gouthamr | o/ hello gibi, nova contributors - i work on manila, and a few of us wanted to discuss virtiofs with you at the upcoming PTG, i've added the topic to https://etherpad.opendev.org/p/nova-wallaby-ptg and will keep it updated with any more material we generate | |
| 20:52:06 | gouthamr | i'm hoping we can avoid an overlap in schedules if this discussion could be accommodated on thursday/oct 29th :) | |
| 20:54:26 | artom | zigo, you mean what caused the 3.1 min qemu version bump? | |
| 20:54:39 | zigo | Yeah. | |
| 20:57:06 | artom | zigo, nothing specific, it looks like: https://review.opendev.org/#/c/695056/ | |
| 20:57:25 | artom | There are mailing list discussions linked in that commit message around min versions | |
| 20:59:44 | zigo | artom: This doesn't feel right to me, there's no actual reason specified for the bump ... :/ | |
| 21:00:18 | artom | zigo, I don't necessarily disagree (though I don't know enough context to have an informed opinion) | |
| 21:00:25 | artom | But... it is what it is :/ | |
| 21:04:23 | zigo | Well, I regret I didn't take part of the discussion, but "oh, it's been a long time we didn't bump ..." is for sure *not* a good reason. | |
| 21:07:44 | artom | zigo, surely there was other stuff as well | |
| 21:07:55 | artom | It removes old code, etc... | |
| 21:08:05 | artom | zigo, anyways, I'm just the messenger :P | |
| 21:08:16 | zigo | :) | |
| #openstack-nova - 2020-10-08 | |||
| 01:53:03 | openstackgerrit | Rajat Dhasmana proposed openstack/nova master: WIP: Add support of blockCommit when VM is down https://review.opendev.org/756261 | |
| 04:43:05 | openstack | bug 1731668 in OpenStack Compute (nova) queens "placement: claim allocations fails with IndexError in _ensure_lookup_table_entry" [Low,New] https://launchpad.net/bugs/1731668 - Assigned to melanie witt (melwitt) | |
| 04:43:05 | openstackgerrit | melanie witt proposed openstack/nova stable/queens: [stable-only] Add functional test for bug 1731668 https://review.opendev.org/756636 | |
| 04:43:06 | openstackgerrit | melanie witt proposed openstack/nova stable/queens: [stable-only] Use a separate transaction for reading after race https://review.opendev.org/756637 | |
| 05:48:14 | openstackgerrit | melanie witt proposed openstack/nova master: Follow up for cherry-pick check for merge patch https://review.opendev.org/756639 | |
| 07:14:11 | gibi | dansmith: I'm OK to connect https://review.opendev.org/756534 to the old bp, just add reno for visibility | |
| 07:24:09 | gibi | gouthamr: hi! | |
| 07:25:22 | gibi | gouthamr: thanks for ping | |
| 07:26:26 | gibi | gouthamr: would the manial team needs a dedicated 1 hour slot to discuss this or is it OK If I schedule it to Thursday 13:00-17:00 UTC dynamicall? Is there a preferred time slot during that day for the manial folks? | |
| 08:22:47 | stephenfin | zigo: We bump the minimum version of libvirt regularly to help reduce the conditional soup that is the libvirt driver | |
| 08:23:18 | bauzas | good morning Nova | |
| 08:24:38 | gibi | bauzas: good morning | |
| 08:30:23 | kashyap | stephenfin: I thought the "conditional soup" has reduced quite a bit lately ... a couple of years ago, though. It's all MIN_VERSION_THIS, MIN_VERSION_THAT ;-) | |
| 08:53:35 | openstackgerrit | Jorhson Deng proposed openstack/nova master: optimize the shelve code flow https://review.opendev.org/756665 | |
| 08:57:10 | zigo | stephenfin: Thanks, makes sense. | |
| 09:11:50 | openstackgerrit | Stephen Finucane proposed openstack/nova master: libvirt: Rationalize attachment of USB tablet https://review.opendev.org/756551 | |
| 09:11:50 | openstackgerrit | Stephen Finucane proposed openstack/nova master: libvirt: Remove support for '[libvirt] use_usb_tablet' https://review.opendev.org/756550 | |
| 09:11:50 | openstackgerrit | Stephen Finucane proposed openstack/nova master: libvirt: Only add a USB controller if it's necessary https://review.opendev.org/756549 | |
| 09:11:51 | openstackgerrit | Stephen Finucane proposed openstack/nova master: libvirt: Add support for virtio-based input devices https://review.opendev.org/756552 | |
| 09:12:45 | stephenfin | gibi: See, it's not just me :-P https://review.opendev.org/#/q/topic:mypy+(status:open+OR+status:merged) | |
| 09:13:39 | gibi | stephenfin: it spreading... :) | |
| 09:15:05 | gibi | anyhow I have no hard problem with mypy I'm still lack the hands on experience to feel confortable. | |
| 09:18:17 | stephenfin | I think that still applies to everyone (I started work on an o.vo extension and quickly gave up). Still, baby steps. I'm interested in seeing how Cinder solve the o.vo problem, if indeed they do | |
| 09:21:10 | gibi | ovo is an interesting challenge. if I would have free time... :) | |
| 09:41:30 | whoami-rajat__ | hi kashyap | |
| 09:41:37 | kashyap | Hi | |
| 09:42:11 | whoami-rajat__ | i had some queries regarding the patch i'm working on https://review.opendev.org/#/c/756261/ | |
| 09:42:24 | kashyap | Go for it | |
| 09:42:56 | whoami-rajat__ | the usecase is simple, we create a dependency chain vol1 -> snap1 -> snap2 and we try to delete snap2 from cinder when the VM is off | |
| 09:43:38 | whoami-rajat__ | incase of online blockCommit, nova/libvirt updates the backing_file of snap2 from snap1->vol1 but incase of qemu-img commit | |
| 09:43:40 | kashyap | (Side note: you'd want to use the arrow the other way around to represent the backing files :-) vol1 <- snap1 <- snap2) | |
| 09:43:56 | whoami-rajat__ | oh yep | |
| 09:44:05 | whoami-rajat__ | active file is the last one | |
| 09:44:13 | kashyap | Yes | |
| 09:44:15 | whoami-rajat__ | vol1 <- snap1 <- snap2 | |
| 09:44:30 | whoami-rajat__ | anyway, when i try to do it offline using qemu-img commit | |
| 09:44:50 | whoami-rajat__ | the file gets commited snap1 to vol1 but i'm not sure how to update the backing_file of snap2 | |
| 09:46:29 | whoami-rajat__ | just for ease of referencing, these are the places where nova does online blockCommit | |
| 09:46:30 | whoami-rajat__ | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L3130-L3131 | |
| 09:46:36 | whoami-rajat__ | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/guest.py#L822-L832 | |
| 09:46:47 | kashyap | whoami-rajat__: Offline: you can commit snap2 into snap1, and then snap1 back into vol1. What doesn't work for you? | |
| 09:47:00 | kashyap | Do you have a working example to show your problem? | |
| 09:48:10 | whoami-rajat__ | I'm not sure what you mean by working example, we issue ``cinder snapshot-delete snap1`` command from cinder that doesn't work right now | |
| 09:48:45 | whoami-rajat__ | the info send from cinder to nova is the current snap to be deleted and it's backing file only | |
| 09:49:52 | kashyap | whoami-rajat__: Okay, your question is: when doing it offline, once snap1 is committed to vol1, then how do you update the backing file reference of 'snap2' to 'vol1' -- correct? | |
| 09:50:08 | whoami-rajat__ | yep | |
| 09:50:48 | kashyap | whoami-rajat__: Then, 'qemu-img rebase' is used to change the backing file pointer | |
| 09:51:01 | kashyap | whoami-rajat__: Here's a doc, carefully take a look at it :-) -- https://kashyapc.fedorapeople.org/Offline-rebase-commit-and-convert.txt | |
| 09:51:31 | whoami-rajat__ | yep i saw it but the info sent by cinder to nova is limited, it doesn't send snap2 info to nova | |
| 09:52:08 | whoami-rajat__ | kashyap, I understand the process but i'm bounded by the info that nova and cinder share :) | |
| 09:53:12 | kashyap | whoami-rajat__: Right; it's tricky. To step back a bit, you're trying to fix a partcular bug? What prompted you to try this? | |
| 09:53:47 | kashyap | (You might want to explain what you've tried so far on the change, for other reviewers. They might ask the same what I asked here) | |
| 09:56:53 | whoami-rajat__ | i have just done the qemu-img commit part there, which works but when trying to delete snap2 it fails because of the backing file issue | |
| 09:57:12 | whoami-rajat__ | the main part i haven't figured out how nova/libvirt does automatically and how i can do it manually hence the WIP | |
| 09:58:54 | kashyap | Wait, why do you delete 'snap2'? You want to (a) delete 'snap1', because you've commited its content into 'vol1'; and (b) update the backing file of 'snap2' to refer to 'vol1' (which now also has 'snap1' contents) | |
| 09:59:33 | kashyap | (Then you can delete 'snap1' file, which is now not needed anymore, obviously) | |
| 09:59:56 | kashyap | whoami-rajat__: Anyway, I've made a comment in the change. This is tricky area; so might take some good trial-and-error. Patience will help :) | |
| 10:00:42 | whoami-rajat__ | kashyap, yep, that operation is successful but we didn't update the backing file of snap2, in a subsequent operation when trying to delete snap2 it errors out because backing_file of snap2 is wrong now | |
| 10:01:09 | kashyap | Right, that makes sense. | |
| 10:03:23 | whoami-rajat__ | yeah i have been trying out a few things here and there lately but no success, i thought the part ``dev = guest.get_block_device(commit_disk)`` might contain the info regarding the whole chain and maybe i can update the backing chain there | |
| 10:03:37 | whoami-rajat__ | but i guess nova calls ``virsh blockCommit`` and libvirt does all the work there | |
| 10:06:19 | kashyap | Yes; see the wrapper method commit() in guest.py | |
| 10:08:24 | lyarwood | whoami-rajat__: just reading up | |
| 10:08:50 | lyarwood | whoami-rajat__: the entire chain should be in .info file no? | |
| 10:09:02 | lyarwood | whoami-rajat__: that cinder controls | |
| 10:09:19 | lyarwood | I guess that doesn't actually show the chain | |
| 10:12:17 | lyarwood | kashyap: why would we commit anything to vol1? | |
| 10:12:32 | lyarwood | kashyap: shouldn't the base volume remain untouched if we are just removing the middle snapshot? | |
| 10:13:07 | lyarwood | ah because we'd want the delta in snap2 to remain the same | |
| 10:13:09 | lyarwood | ignore me | |
| 10:13:15 | kashyap | lyarwood: What happens to the content in the middle one, then? :-) | |
| 10:13:26 | kashyap | Yep, you you're right | |
| 10:13:28 | lyarwood | right I was thinking that would end up in snap2 | |
| 10:14:04 | lyarwood | getting confused with the image COW usecase where we don't want the image to change | |
| 10:14:12 | lyarwood | but this isn't the same | |
| 10:14:26 | kashyap | Yeah, I hear ya | |
| 10:14:54 | whoami-rajat__ | i think that happens incase of a blockRebase when backing file changes move up to the snapshot file | |
| 10:15:02 | kashyap | In this case, we have: vol1 <- snap1 <- snap2. Commit snap1 to vol1. Then update backing file of 'snap2' to 'vol1' (base). Then remove the invalid 'snap1' | |
| 10:15:41 | whoami-rajat__ | yep, 1) and 3) are already done by nova and cinder resp, we need to figure out 2) | |
| 10:17:02 | kashyap | Offline rebase | |
| 10:19:11 | stephenfin | kashyap, lyarwood: Could you stick https://review.opendev.org/#/c/756549/ and https://review.opendev.org/#/c/752912/ on your review queues, please? | |
| 10:20:12 | lyarwood | stephenfin: ack | |
| 10:20:28 | stephenfin | thanks | |
| 10:20:57 | kashyap | stephenfin: Ah, USB controller and 'vmcore'; nice | |
| 10:21:00 | kashyap | Will do | |
| 10:21:49 | stephenfin | kashyap: You'll likely be interested in https://review.opendev.org/#/c/756552/ also. That's lower priority for me right now but still potentially useful | |