14:00:38 <whoami-rajat> #startmeeting cinder 14:00:39 <openstack> Meeting started Wed Feb 5 14:00:38 2020 UTC and is due to finish in 60 minutes. The chair is whoami-rajat. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:40 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:42 <openstack> The meeting name has been set to 'cinder' 14:00:42 <m5z> hi :) 14:00:43 <e0ne> hi 14:00:52 <whoami-rajat> #topic roll call 14:00:57 <enriquetaso> hi 14:01:01 <LiangFang> hi 14:01:17 <smcginnis> o/ 14:01:28 <eharney> hi 14:01:30 <whoami-rajat> #link https://etherpad.openstack.org/p/cinder-ussuri-meetings 14:02:29 <jungleboyj> o/ 14:03:10 <anastzhyr> Hi 14:03:26 <tosky> hi 14:03:34 <whoami-rajat> will wait for 2 more minutes before the announcements 14:04:29 <whoami-rajat> i think we can move to announcements now 14:04:33 <whoami-rajat> #topic Announcements 14:04:49 <whoami-rajat> Ussuri milestone-2 is next week Feb 10 - Feb 14 (specifically 13 February 2020 (23:59 UTC)) 14:04:49 <whoami-rajat> that implies deadline for a new driver or a target driver 14:04:50 <whoami-rajat> requirements for a driver to be complete is working code and unit tests merged into cinder repo + working third party CI 14:04:50 <whoami-rajat> additional info in the mail 14:04:50 <whoami-rajat> #link http://lists.openstack.org/pipermail/openstack-discuss/2020-January/012055.html 14:05:38 <whoami-rajat> any additional comments regarding this are welcome :) 14:06:43 <whoami-rajat> okay, so moving on to the next announcement 14:06:59 <whoami-rajat> code review policy for py2->py3 transition 14:07:00 <whoami-rajat> #link https://review.opendev.org/#/c/703709/ 14:07:00 <whoami-rajat> The main concern here is regarding backports 14:07:00 <whoami-rajat> we need to have certain guidelines for code to work when backported to stable branches 14:07:26 <whoami-rajat> this includes guidelines for features as well as bug fixes 14:09:56 <whoami-rajat> let me know if i'm going too fast but seems like no discussion is needed around this too 14:10:56 <whoami-rajat> so moving on 14:11:17 <whoami-rajat> update to driver removal policy 14:11:17 <whoami-rajat> #link https://review.opendev.org/#/c/704906/ 14:11:18 <whoami-rajat> with some discussions around this topic from past few weeks, we've finally decided to keep 14:11:18 <whoami-rajat> unsupported drivers in-tree until they cause major disturbance in cinder gate then they will be removed (given they have completed the deprecation cycle) 14:11:18 <whoami-rajat> additional info is again mentioned in the patch 14:11:18 <jungleboyj> Think you are doing fine whoami-rajat :-) 14:11:47 <rosmaita> o/ 14:11:50 <whoami-rajat> jungleboyj, thanks :D 14:12:01 <whoami-rajat> rosmaita, yay! 14:12:17 <rosmaita> thanks for getting the meeting going 14:12:22 <jungleboyj> Looks like I need to look at the driver removal patch again. 14:12:28 <jungleboyj> Will do that. 14:12:44 <whoami-rajat> so we've some review requests for the final announcement 14:12:51 <whoami-rajat> rosmaita, np 14:12:57 <whoami-rajat> https://review.opendev.org/#/c/704425/ - fix a unit test blocking sqlalchemy upgrade to 1.3.13 14:13:13 <whoami-rajat> you want to elaborate on this rosmaita ? 14:13:42 <rosmaita> no, just that we need to merge it soon, it's blocking all of openstack from upgrading sqlalchemy 14:13:59 <rosmaita> looks like the problem was with one of our tests, not a real problem 14:14:27 <whoami-rajat> ok 14:14:48 <whoami-rajat> so one more review request 14:14:49 <whoami-rajat> https://review.opendev.org/#/c/705362/ - open specs repo for Victoria 14:14:58 <whoami-rajat> but this is approved 14:15:00 <whoami-rajat> so nevermind 14:15:13 <rosmaita> ok, thanks 14:15:28 <rosmaita> just read through the scrollback, you covered everything i wanted to say 14:15:31 <rosmaita> thanks whoami-rajat 14:15:47 <whoami-rajat> so i think with the last announcement i can hand over to rosmaita 14:15:51 <whoami-rajat> Spec freeze exception granted to "support volume-local-cache" 14:15:59 <rajinir> o/ 14:16:18 <whoami-rajat> rosmaita, i was afraid if you had more elaborate notes and i may have missed some things, but glad to hear that, feww 14:16:40 <rosmaita> some questions came up on the spec last week before the freeze deadline 14:16:55 <rosmaita> so i wanted to carry it over before we said yes or no 14:17:12 <rosmaita> which brings us to our next topic 14:17:23 <rosmaita> #topic volume-local-cache spec 14:17:56 <LiangFang> one Nova engineer thinks they are moving volumes to mount directly by qemu 14:18:12 <LiangFang> not mount to host os first 14:18:19 <rosmaita> #link http://lists.openstack.org/pipermail/openstack-discuss/2020-January/012279.html 14:18:44 <rosmaita> also, here's a link to the latest draft of the spec: 14:18:52 <rosmaita> #link https://review.opendev.org/#/c/684556/ 14:19:36 <rosmaita> so the issue is, if nova is planning to mount volumes directly by qemu, then that would completely bypass the cache in this spec, is that correct? 14:19:36 <eharney> as i understand it, consuming cinder volumes via qemu instead of attaching them to the host is still blocked by the fact that qemu doesn't support multipath 14:19:45 <eharney> but it has been a goal for a bit 14:19:51 <LiangFang> rosmaita: yes 14:20:29 <smcginnis> I know they've been pushing for that for a long time, but last I looked, there were multiple reasons NOT to go with direct QEMU mounting of volumes. 14:21:21 <rosmaita> so it may not be as much of a done deal as is implied in that email? 14:21:44 <eharney> i think everyone agrees it would be a better way to do things 14:21:54 <rosmaita> multipath support is kind of a big deal, though 14:21:59 <eharney> right 14:22:01 <LiangFang> currently only rbd and sheepdog is mounting directly by qemu 14:22:10 <rosmaita> and sheepdog is no more 14:22:56 <smcginnis> I don't think it supported FC either. 14:23:07 <smcginnis> "The storage protocol that won't die" 14:23:10 <rosmaita> ok, so my reason in putting this on the agenda is to ask: is this a reason to hold up Liang's spec? 14:23:14 <eharney> either way, i noted a handful of concerns on this spec that are generally around the theme that there are lot of things you have to account for when getting into the data path of cinder volumes that don't seem to be sorted out thoroughly yet 14:23:41 <eharney> the encryption layering one being one of the biggest issues in my mind 14:24:06 <rosmaita> yes, it is definitely important to get that right 14:24:25 <rosmaita> eharney: did you see the update yet? does it address your concerns? 14:24:32 <eharney> i haven't looked at it yet 14:24:39 <rosmaita> ok 14:25:55 <rosmaita> i think other than encryption, the major concern is migration? 14:26:42 <eharney> yes, it's not been clear to me whether migration actually works, one of the nova folks pointed out that you have to have a mechanism to flush the cache during migration 14:26:59 <smcginnis> Seems important. 14:27:19 <eharney> otherwise you leave a bunch of data in the cache on the source host during migration that doesn't show up on the destination host 14:27:36 <eharney> which would not work at all 14:27:43 <rosmaita> which would be a bummer indeed 14:28:22 <LiangFang> write-back mode is working like this 14:28:35 <rosmaita> my feeling is that these major issues need to be understood at the spec stage, we probably shouldn't try to work them out in the implementation phase 14:28:39 <LiangFang> write-through mode will not :) 14:29:10 <rosmaita> so the "safe modes" should migrate OK? 14:29:17 <LiangFang> yes 14:29:36 <LiangFang> not dirty data in cache in write-through mode 14:29:40 <rosmaita> ok, and the current proposal is that we would only support "safe modes" 14:29:40 <eharney> the same issue crops up with consistency groups 14:29:45 <whoami-rajat> flushing shouldn't be necessary in write-through right? 14:29:56 <LiangFang> yes 14:30:14 <LiangFang> no need flush for write-through 14:30:19 <eharney> and snapshots "work" but may surprise users 14:30:57 <eharney> (all for the same reason) 14:31:13 <rosmaita> just to make sure i understand 14:31:21 <LiangFang> in write-through/safe mode, every write io will go to backend 14:31:24 <rosmaita> in the "safe modes", snapshots should be OK, right? 14:31:41 <eharney> yes all of this would work normally in write-through mode 14:31:45 <LiangFang> in safe modes, cache just like read only cache 14:31:53 <rosmaita> ok, just wanted to be clear 14:32:13 <rosmaita> so the problem is that to get the best benefit from the cache, all sorts of stuff could break 14:32:22 <rosmaita> migrations, snapshots 14:32:39 <rosmaita> is restricting to safe caching modes too big a restriction? 14:32:43 <rosmaita> what i mean is 14:32:52 <eharney> migrations would break, snapshots would succeed but have older data in them than you expected 14:33:15 <rosmaita> right, and across a group, wouldn't necessarily be consistent any more 14:33:18 <eharney> right 14:33:35 <rosmaita> good thing we just call them "groups" now :) 14:33:56 <eharney> well that's a separate thing 14:34:24 <rosmaita> yeah, that was a bad joke 14:34:24 <jungleboyj> This is sounding concerning. 14:34:27 <LiangFang> eharney: I still don't understand why older data than expected 14:34:49 <LiangFang> no newer data in cache in any moment 14:35:22 <eharney> because snapshots are performed on the backend, and a snapshot will be created for the volume with the data that was written there but data in the cache (which the user of the instance thinks has been written there) won't be in the snap (when in write-back mode) 14:36:16 <LiangFang> write-back mode yes, safe-mode will not 14:36:27 <eharney> right 14:36:33 <LiangFang> :) 14:36:34 <whoami-rajat> also i couldn't find any usecase regarding the write-back cache in the spec 14:36:52 <LiangFang> will not support write-back mode 14:36:58 <rosmaita> i asked LiangFang to remove it because we aren't supporting it any more 14:37:15 <LiangFang> ceph support client side read only cache 14:37:25 <whoami-rajat> oh ok 14:37:26 <LiangFang> but it is using DRAM as cache 14:37:56 <LiangFang> volume local cache is just something like read-only cache 14:38:11 <LiangFang> but using persistent memory or fast ssd 14:38:39 <LiangFang> I know ceph read only cache is a new feature just developed 14:39:19 <rosmaita> here's a question: could we support the "unsafe" modes later on by, for example, making sure cache is flushed before a snapshot, or would that start to get too complicated? what i mean is, is there a theoretical reason other than complexity for why this couldn't be done reliably? 14:39:48 <eharney> it definitely could be done, we just need hooks to request cache flushes in the right places 14:40:06 <rosmaita> so it could be possible to implement this in phases 14:40:20 <jungleboyj> Is there a reason for the urgency here if there is a safer way to get this done? 14:40:36 <rosmaita> becasuse i think operators and users are going to want to use the unsafe caching modes 14:40:57 <eharney> would be interesting to know how widely used writeback caching is in Nova now 14:41:06 <rosmaita> jungleboyj: mainly that we have to coordinate with nova to get it to actually work 14:41:10 <jungleboyj> Ok. Then we need to make sure to implement it so that they don't shoot themselves in the foot in the process. :-) 14:41:26 <rosmaita> so nova doesn't want to approve changes unless we have approved it on our side 14:41:50 <smcginnis> Sounds like we may need some cross-team meetings to work through all the intracasies like we had to do with multiattach. 14:42:07 <rosmaita> smcginnis: ++ 14:42:11 <jungleboyj> smcginnis: ++ 14:42:22 <LiangFang> ok 14:42:25 <LiangFang> ++ 14:43:17 <rosmaita> ok, i think this is worth pursuing during this cycle? anyone disagree? 14:44:08 <eharney> seems worthwhile 14:44:18 <rosmaita> what i mean is, having the discussions, not waiting for the PTG 14:44:37 <jungleboyj> Seems worthwhile if we can do it in a safe manner. 14:44:46 <eharney> i would be much happier if we also had another reference implementation like dm-cache to test along with it, but that's probably dreaming too much :) 14:44:47 <rosmaita> ok, i think the next move is to have a bluejeans conference 14:45:31 <LiangFang> eharney: dan from Nova mentioned dm-crypt not working 14:45:34 <rosmaita> could i get names of people who definitely would want to attend and their time zones 14:45:53 <rosmaita> will help me offer some choices on a poll 14:46:00 <rosmaita> for meeting day/time 14:46:13 <eharney> i can (EST) 14:46:14 <LiangFang> eharney: main issue is: the backend volume should not containing any metadata 14:46:30 <whoami-rajat> IST +05:30 UTC 14:46:55 <rosmaita> EST 14:46:58 <LiangFang> UTC+8 14:47:44 <eharney> i think encrypted volumes already don't follow that, but we can figure it out later 14:48:02 <LiangFang> ok 14:48:25 <rosmaita> ok, i'll look on the nova spec and see who's commented 14:48:41 <LiangFang> thanks 14:48:54 <rosmaita> i'll get a poll out later today or early tomorrow 14:49:29 <rosmaita> #topic resource_filters response is inaccurate 14:49:54 <rosmaita> this was implemented before i started working on cinder 14:50:00 <rosmaita> context for this is whoami-rajat's patch fixing a problem in the volume-transfers API 14:50:18 <rosmaita> what i noticed is this 14:50:35 <rosmaita> #link https://docs.openstack.org/api-ref/block-storage/v3/?expanded=list-resource-filters-detail#resource-filters 14:50:42 <whoami-rajat> #link https://review.opendev.org/#/c/703658/ 14:50:51 <rosmaita> that's what our resource_filters response gives you 14:51:05 <rosmaita> and actually, what most people would see is really this: 14:51:17 <rosmaita> #link https://opendev.org/openstack/cinder/src/branch/master/etc/cinder/resource_filters.json 14:51:27 <rosmaita> because it was designed to be operator-configurable 14:51:51 <rosmaita> according to the api-ref, the value of the "resource" element is supposed to be "Resource which the filters will be applied to" 14:52:06 <rosmaita> the problem is that all resources mentioned in our API URIs are plural ("volumes", "snapshots", "backups") whereas all the resources in the file are singular ("volume", "snapshot", "backup") 14:52:24 <rosmaita> in some ways, this is a minor point 14:52:58 <rosmaita> but i also noticed that the volume-transfers API doesn't implement the resource_filters framework that (most) of the other list-resource calls do 14:53:18 <rosmaita> so, we should get the volume_transfers into that resource_filters response 14:53:43 <rosmaita> which brings up the question: "volume-transfer" or "volume-transfers" 14:53:55 <rosmaita> (yes, it's a hyphen '-', not an underscore 14:53:59 <rosmaita> ) 14:54:37 <rosmaita> one issue is, how can we change the resource_filters response? 14:54:57 <rosmaita> but, my take is that since it was designed to be configurable, the response doesn't have to be microversioned 14:55:15 <rosmaita> that is, whether it's available or not can be microversioned (i think it may be) 14:55:25 <rosmaita> but we can correct the response without a new mv 14:55:45 <whoami-rajat> i feel we should remove the plural 's', that makes more sense, volume name vs volumes name 14:55:48 <rosmaita> (sorry, i kind of obsess over API issues) 14:56:17 <rosmaita> well, the URL paths are all plural 14:56:24 <hemna> I'm not sure what value we would get out of a change like that 14:56:28 <rosmaita> and the question is, what does the filter apply to? 14:56:34 <hemna> it's been that way forever 14:56:38 <hemna> for better or worse 14:57:09 <rosmaita> it's just kind of weird that we're giving a list of filters you can use, but there's no actual resource with that name 14:57:21 <rosmaita> but i can live with it if it doesn't bother anyone else 14:57:43 <eharney> i would agree it doesn't need to be microversioned, but tempest definitely disagreed with me the last time i went down a similar path 14:57:44 <eharney> it is odd 14:57:45 <hemna> wouldn't that change break a lot of clients expecting volumes vs volume ? 14:58:09 <eharney> wouldn't those clients already break if you just removed the config for volume now? 14:58:12 <rosmaita> so the change is to what shows up in the resource_filters response, not the API path 14:58:39 <rosmaita> i think programmatically, what you would want to do is match the resource in the URL to the resource listed in the response 14:58:51 <eharney> i don't think the API says it must contain any particular field like "volume" 14:58:51 <rosmaita> right now, you have to know to remove the 's' to find it 14:58:59 <hemna> right, but they would be expecting the key volumes in the response and if we changed it to volume, that would break their app/client/call/expectation 14:59:09 <smcginnis> 1 minute 14:59:20 <rosmaita> hemna: the other way around, but i get your point 14:59:46 <rosmaita> ok, we can continue this later, looks like some pro, some con 14:59:51 <rosmaita> will have to be worked out 15:00:00 <rosmaita> and i have prevented open discussion again 15:00:08 <whoami-rajat> Thanks rosmaita 15:00:19 <rosmaita> anyone with other issues, please move over to cinder channel 15:00:31 <rosmaita> whoami-rajat: i think you need to end the meeting 15:00:37 <whoami-rajat> oh ok 15:00:49 <whoami-rajat> #endmeeting