Wednesday, 2024-12-11

*** mhen_ is now known as mhen03:01
jbernard#startmeeting cinder14:01
opendevmeetMeeting started Wed Dec 11 14:01:31 2024 UTC and is due to finish in 60 minutes.  The chair is jbernard. Information about MeetBot at http://wiki.debian.org/MeetBot.14:01
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.14:01
opendevmeetThe meeting name has been set to 'cinder'14:01
jbernard#topic roll call14:01
toskyo/14:01
jungleboyjo/14:01
jbernardo/14:01
simondodsleyo/14:01
rosmaitao/14:01
akawaio/14:01
jbernard#link https://etherpad.opendev.org/p/cinder-epoxy-meetings14:01
flelaino/14:01
vdhakado/14:02
whoami-rajathey14:02
sp-bmilanovo/14:02
msaravanHi 14:02
jbernardok, welcome everyone14:04
jbernard#topic annoucements14:05
jbernard#link https://releases.openstack.org/epoxy/schedule.html14:05
jbernardstill in M1, M2 is early Jan (6-10)14:05
jbernardgenerally we (or I at least) are focused on consolidating any pending specs in the next days14:06
jbernardspecifically the dm-clone spec from jan14:06
jbernardbut there could be something I've missed14:06
jbernardotherwise, I hope everyone is haveing a good december so far14:06
simondodsleyIt's December already!!!14:07
jungleboyjLol.  1/3 of the way through even!14:07
jbernardactually we're almost half done! :/14:07
simondodsleymust take more notice14:07
flelainHappy Advent time to you all!14:07
jbernardto you too14:08
jbernardspeaking of advent... :)14:08
jbernard#link https://adventofcode.com/14:08
jbernard^ this is fun if you don't have anything to do14:08
jhorstmanno/14:08
jbernard#topic followup on dm-clone spec14:09
flelainlol; got a couple of colleagues of mine already deeply involved in it :) Haven't found time for it so far!14:09
jbernard#link https://review.opendev.org/c/openstack/cinder-specs/+/935347/614:09
jbernard#link https://review.opendev.org/c/openstack/cinder-specs/+/93534714:09
simondodsleyI'm reading this spec now and I'm not sure I understand the need, especially if Ceph is deployed14:09
jbernardjhorstmann: we're getting some traction on your spec review, wanted to make space available now to raise any issues so far14:10
jbernardsimondodsley: if you have ceph, my understanding is that dm-clone would not be necessary; this spec rather gives you local storage with the ability to live migrate, something closer to distributed storage without the resource requirements and complexity14:11
jhorstmannthank you, happy to answer any questions14:11
jbernardjhorstmann: ^ please correct me if im wrong there14:11
simondodsleybut you are requiring a c-vol service on each compute node - that is more resources. I'm not sure that a c-vol on each hypervisor is a good methodology14:12
jhorstmannsimondodsley: the idea is to have more options. This is intended for deployments where you want either performance of local storage or are resource constrained and do not want to deploy a full storage solution14:13
jhorstmannsimondodsley: I agree that this is disadvatagious. It is one of the contraints if this is implemented as a pure cinder volume driver14:14
simondodsleyand how will this work with Nova AZs14:14
simondodsleylol - you said pure - please capitialize it ... :)14:15
jhorstmann:)14:15
simondodsleyi feel this may become problematic in core-edge scenarios where different edge nodes have no connectivity to other edge nodes14:16
whoami-rajatsimondodsley, IIUC it's a k8s over openstack use case where we require local volumes for the etcd service, we use ceph in HCI but i think it doesn't provide the desired latency14:16
whoami-rajatsimondodsley, that was one of my concerns, here all compute nodes needs to be connected via storage network14:17
simondodsleyif this is for a k8s on openstack, then a CSI driver should be used, rahter than a cinder driver shouldn't it?14:17
flelainjhosrstmann, about this spec, just to make sure I got it right, does it want to achieve block storage service right on the local storage of the compute hosting the VM?14:17
whoami-rajatsimondodsley, I'm not aware of all the details but do you mean cinder CSI driver? won't that issue API calls to cinder only?14:20
simondodsleyor even a true CNS solution - i have to be careful here as my company sells one of these so I may have to recuse myself from being involved in this14:20
simondodsleynot necessarily th cinder CSI driver.14:20
jhorstmannsimondodsley: so regarding the availability zones you have cinder.cross_az_attach=True as a default, so the AZ is not relevant in that case, correct? If you want to have to have cross_az_attach=False you have to make sure that they overlap. I am probably missing the exact point of the question14:21
simondodsleyit's more about DCN deployments14:22
jbernardflelain: i believe that is true, I think of it as an LVM deployment, but with the ability to move volumes between compute nodes as instances are migrated14:22
jhorstmannflelain: that is correct. The driver will provide storage local to the compute node and offer the possibility to transfer the data on attach and live-migration14:22
flelainthen couldn't the instance disk, using local compute node, do the trick? (w/o being a block storgae though)14:23
simondodsleyi don't understand why you are referencing iSCSI or other network attached storage as the source, because this would mean tha texternal storage is avaible and therefore why not just use the cinder driver for that storage?14:24
jhorstmannsimondodsley, whoami-rajat: yes if you want to deploy a cloud with this driver you would need some sort of storage network between the conmpute nodes, but is there a deployment were this does not apply?14:26
simondodsleyIt feel this this is just live migration 2.0, using dm-clone instead of dd.14:26
simondodsleyhow will you cater for network outages? does dm-clone have capabilities to automatically recover from these? 14:27
jhorstmannflelain: the idea is to have the full flexibility of the block storage service, so that you dynamically create the volumes of the required size and are not bounbd to any instance lifecycles14:27
jhorstmannsimondodsley: the advantage is that using the dm-clone target writes will always be local to the compute node. So you get local storage perfomrance for writes, where it is most critical for applications like e.g. databases14:29
simondodsleybut what about a network outage during a migration14:29
whoami-rajatthe spec mentions all of these details14:31
whoami-rajat#link https://review.opendev.org/c/openstack/cinder-specs/+/935347/7/specs/2025.1/add-dmclone-driver.rst14:31
whoami-rajatL#52814:31
flelainjhorstmann: gotcha. Interesting concept to be carried on!14:31
jhorstmannsimondodsley: regarding network outages: yes you can recover from those. of course you will get read errors if the source node is not available. Usually this is handled on the filesystem level by remounting read-only. Once you recover the source node you can recover the volume and data will  be trasfered again14:31
flelainjhorstmann I left comments in the spec, thank your for this proposal.14:32
jhorstmannflelain: thank you14:32
rosmaitaalso, the presentation from the PTG gives a good overview of the spec: https://janhorstmann.github.io/cinder-driver-dm-clone-presentation/000-toc.html14:32
jhorstmannsimondodsley: it is not an HA storage solution. If that is a requirement then this driver should not be used. As said before, I see this as an additional storage option, but it cannot replace most existing solutions14:34
whoami-rajati feel it would be best to leave the concerns as comments on the spec since Jan is pretty good and quick at responding on those14:37
simondodsleySo what thing that concerns me is that you cannot extend a volume. This is a minimum requirement for ny cinder driver as defined in the documentation14:38
whoami-rajatwe can extend it, just not during the migration14:38
simondodsleyso does it meet all the required core functions?14:39
simondodsleyhttps://docs.openstack.org/cinder/latest/contributor/drivers.html14:39
jhorstmannsimondodsley: yes volume extension is possible when the data is "at rest" (no clone target loaded)14:39
whoami-rajatso this is not specifically a new cinder driver but an extension of the LVM driver to provide local attachment + live migration support14:40
jbernardthese are all good questions, it might be good to have any outstanding concerns captured in the spec, Jan has been good about quick responses14:41
simondodsleyhmm - the spec doesn't really say that - it says it is a new driver14:41
simondodsleyLine #2014:41
simondodsleyand the title says 'Add' which implies 'new'14:42
simondodsleyeven the spec name is add14:42
simondodsleyisn't this more of a new replication capability with failover capabilities?14:43
whoami-rajati might need to clarify my understanding there, maybe jhorstmann can help14:43
whoami-rajatbut jbernard might have other discussion points so we can discuss it at some other place14:44
whoami-rajats/discussion/meeting14:44
jbernardon the agenda there are only review requests, this was/is our primary topic for today14:44
jbernardunless there is something not on the etherpad14:44
toskysooo, if I can: should we mark revert to snapshot as supported for Generic NFS? I've created https://review.opendev.org/c/openstack/cinder/+/936182 also to gather feedback: it seems the pending issues were addressed. Or is there still any gap that needs to be fixed?14:45
jbernard#topic open dicussion14:46
jbernardsimondodsley: those are all great questions, please if you have cycles today put any outstanding ones in the spec so that we have record14:46
jhorstmannwhoami-rajat, simondodsley: the driver inherits from the LVM driver for basic volume management, but requires to implement some methods differently. I am not sure where the line between extension and new driver is drawn14:46
jbernardeharney: re tosky's question, you are frequently in the NFS codez14:47
whoami-rajatjhorstmann, so basically if the base driver (LVM) + the new driver methods implement all required functionalities, we should be good14:48
rosmaitajhorstmann: i think calling it a new driver is fine, we have a bunch of drivers like that14:48
eharneyjbernard: yeah i meant to +2 that one -- i'm doing some work in nfs world anyway right now so i'll see if there are any concerns there14:48
whoami-rajatrosmaita, +114:49
jbernardeharney: excellent, thanks14:50
whoami-rajattosky, i see in one of recent runs of nfs job, revert is enabled but I'm unable to find any test that is exercising that code path14:50
toskywhoami-rajat: the tests are in cinder-tempest-plugin; I have a review to enable these tests for NFS, which is blocked on the known NFS format bug14:51
toskylet me dig it14:51
whoami-rajattosky, oh okay, though I can vouch it works since i worked on the fix and verified it14:52
whoami-rajat(it would still be good to see it in gate run)14:52
toskywhoami-rajat: https://review.opendev.org/c/openstack/devstack-plugin-nfs/+/89896514:53
toskyaaand we probably need fresh logs14:53
whoami-rajatwait, that doc change might not be accurate14:54
whoami-rajatso NFS doesn't support revert to snapshot14:54
toskyoh14:54
whoami-rajatbut when it falls back to the generic revert mechanism, it still fails14:54
whoami-rajatwhich is the scenario that i fixed14:54
whoami-rajatso we cannot do driver assisted revert to snapshot but at least the generic code path works with nfs now14:55
toskyso that's feature is about driver assisted revert, not just that it "just works"?14:55
toskybut in fact having the tests enabled wouldn't hurt14:55
toskystill it may need to written down in a proper way somehow14:56
toskyor just decided that yes, revert to snapshot works, just not optimized14:56
whoami-rajati think everything is expected to work in generic workflow but NFS proved us wrong :D14:56
toskyup to whatever you people decide :)14:56
whoami-rajatright, it is certainly an improvement than before when we couldn't even do revert with NFS14:56
whoami-rajatwhich also led to some complaints in the past14:57
jbernardok, last call14:59
whoami-rajatI've left a -1 on this change but we can add it in some other doc place14:59
jbernard#endmeeting15:00
opendevmeetMeeting ended Wed Dec 11 15:00:00 2024 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)15:00
opendevmeetMinutes:        https://meetings.opendev.org/meetings/cinder/2024/cinder.2024-12-11-14.01.html15:00
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/cinder/2024/cinder.2024-12-11-14.01.txt15:00
opendevmeetLog:            https://meetings.opendev.org/meetings/cinder/2024/cinder.2024-12-11-14.01.log.html15:00
jbernardthanks everyone15:00
jbernardhave a good week15:00
jungleboyjThanks!15:00
sp-bmilanovthanks!15:00
whoami-rajatthanks!15:01

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