15:59:51 <ildikov> #startmeeting cinder-nova-api-changes
15:59:51 <openstack> Meeting started Thu Oct  5 15:59:51 2017 UTC and is due to finish in 60 minutes.  The chair is ildikov. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:59:52 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
15:59:54 <openstack> The meeting name has been set to 'cinder_nova_api_changes'
15:59:57 <mriedem> o/
16:00:00 <ildikov> johnthetubaguy jaypipes e0ne jgriffith hemna mriedem patrickeast smcginnis diablo_rojo xyang1 raj_singh lyarwood jungleboyj stvnoyes
16:00:36 * johnthetubaguy has a nasty clash this week, but tries to keep his eye on the channel
16:00:37 <smcginnis> Here but at a training event so not really here.
16:00:52 <ildikov> johnthetubaguy: I knew you're still hiding :)
16:01:19 <jungleboyj> @!
16:01:19 <_pewp_> jungleboyj |。・ω・|ノ
16:01:21 <jgriffith> o/
16:01:33 <ildikov> ok, let's start
16:01:41 <ildikov> I guess we can have a quick one today
16:01:59 <ildikov> so the gate is getting more friendly, so I have my hopes up again
16:02:20 <ildikov> mriedem: johnthetubaguy: shared_targets spec: https://review.openstack.org/#/c/507670/
16:02:45 <ildikov> mriedem: johnthetubaguy: and corresponding code changes: https://review.openstack.org/#/c/509005/
16:02:46 * jungleboyj crosses my fingers.
16:03:38 <ildikov> mriedem: johnthetubaguy: the spec has no multi-attach aspects; would we need one on the Cinder side that does?
16:04:04 <mriedem> i don't understand the question
16:04:24 <jgriffith> ildikov IMO we'll need multi-attach spec for multi-attach
16:04:29 <jgriffith> Not for shared_targets reporting
16:04:35 <johnthetubaguy> the policy stuff
16:04:46 <ildikov> mriedem: basically where to cover all the aspects of the shared_targets and if it's ok to just figure it out on the Nova side referencing the spec I linked in above?
16:05:17 <mriedem> it's something to mention in the nova multiattach spec
16:05:28 <ildikov> jgriffith: johnthetubaguy: policy on multi-attach on both sides?
16:05:42 <ildikov> as if my understanding is correct we said we will leave R/O for a later time
16:05:52 <jgriffith> I'm ignoring anything multi-attach right now so "carry on" :)
16:06:20 <jgriffith> Unless that's the specific topi right now, which is unrelated to the spec or shared_targets patch that's up IMO
16:06:21 <ildikov> jgriffith: we should do everything now that needs a version bump
16:06:26 <ildikov> jgriffith: ideally at least
16:06:34 <jgriffith> ildikov why?
16:06:49 <jgriffith> we haven't even merged the new attach API's?
16:06:56 <jgriffith> shouldn't we do that *first*?
16:06:59 <ildikov> jgriffith: that's what we agreed on and that's mainly what keeps the new attach patch from merging right now
16:07:04 <jgriffith> ok
16:07:27 <jungleboyj> ildikov: ++
16:07:38 <ildikov> jgriffith: we didn't want to do multiple version bumps and checks if that can be avoided
16:07:47 <mriedem> the policy stuff isn't a microversoin
16:07:54 <mriedem> we said you can add policy rules to cinder today
16:08:01 <ildikov> mriedem: that's not, but the shared_targets thing is
16:08:04 <mriedem> basic policy rule is, can you even create multi-attach volumes
16:08:19 <mriedem> the shared_targets cinder spec is approved and code is up though...
16:08:28 <mriedem> so what else do we need to hold up the nova side for
16:08:28 <mriedem> ?
16:08:30 * jgriffith really doesn't understand
16:08:55 <ildikov> ok, if everyone is good, I'm good :)
16:09:11 <mriedem> pretty sure this was all discussed in detail ad nauseum last week
16:09:18 <mriedem> i hope someone was taking notes :)
16:09:29 <jgriffith> mriedem :). as a matter o'fact
16:09:41 <ildikov> will update the spec on the Nova side with that bit and hopefully the code will get merged so I can update the new attach code too shortly
16:10:35 <ildikov> jungleboyj: in case we get the shared_targets patch merged along with the version bump in the client, is there anything that would keep us back from cutting yet another client?
16:11:17 <jungleboyj> ildikov:  Not that I am aware of.  Think I could make that happen.
16:11:21 <jgriffith> ildikov jungleboyj technically you don't need a new client anyway
16:11:26 <jgriffith> just sayin
16:11:33 <jungleboyj> jgriffith:  ?
16:11:50 <ildikov> jgriffith: the new attach patch will not pass on the gate without a new client
16:12:04 <ildikov> jgriffith: once I bump the version for the attach calls in it
16:12:57 <jgriffith> alrighty
16:13:10 <ildikov> :)
16:13:21 <jungleboyj> jgriffith:  I try not to argue with ildikov  :-)
16:13:52 <ildikov> jungleboyj: jgriffith: that's what happened before we cut the latest client the last time
16:14:48 <ildikov> jungleboyj: jgriffith: the client is not built from source on the gate, which is not necessarily a bad thing and there's a test in Nova that checks on the max version, which is going to fail till we don't have a new release out for a version bump
16:15:04 <ildikov> so one thing I didn't fully get after re-reading the logs from last week
16:15:24 <jungleboyj> ildikov:  Ok, that is good to know and actually makes more sense to me.
16:15:39 <ildikov> so I understand we don't want boot from a multiattach R/W volume
16:15:44 <ildikov> that's ok
16:16:00 <ildikov> what I didn't get is how and where we want to ensure that doesn't happen
16:16:38 <ildikov> is it on the Cinder side not to be able to even create a volume that's bootable with 'multiattach'=True at the same time?
16:16:53 <jgriffith> There are a couple of options, I'd probably enforce some things on the Cinder side using the bootable property of the volume
16:17:02 <ildikov> or will we block the volume getting used for boot for the second time on one on the sides?
16:17:49 <ildikov> jgriffith: when the volume is created or when it's used?
16:17:59 <jungleboyj> ildikov:  I think we want to go with that option as it is consistent with the default policy we were talking about.
16:18:07 <johnthetubaguy> I would go for when the volume is created
16:18:17 <jgriffith> ?
16:19:18 <ildikov> johnthetubaguy: that would be my thought as well if that's feasible
16:19:54 <johnthetubaguy> I think we confirmed when bootable = false Nova rejects you being able to boot from a volume, so that should cover it
16:20:22 <jungleboyj> So we would not allow multi-attach able volume to be made bootable?
16:20:31 <jgriffith> OMG
16:20:44 <jgriffith> look... a volume is marked bootable when it's created from image
16:20:57 <jungleboyj> Sorry ...
16:21:04 <jgriffith> the corner case of marking a volume as bootable after the fact is a corner case
16:21:21 <jgriffith> if you have an attachment finalized on a volume and it's marked as bootable
16:21:42 <jgriffith> Then if another request to connect is received we fail and respond with an appropriate error message
16:21:44 <ildikov> isn't it marked as bootable when it's created?
16:22:05 <smcginnis> Can be later.
16:22:31 <jungleboyj> jgriffith: Ok.  That makes sense to me.
16:22:33 <jgriffith> Are my messages not showing up in here?
16:22:49 <jungleboyj> I didn't think that was the same thing that johnthetubaguy  was saying.
16:23:37 <johnthetubaguy> I was thinking more about the Nova attach side of things
16:23:40 <ildikov> can we block having bootable=True and multiattach=True being set on a volume at the same time?
16:23:59 <jgriffith> I think perhaps we're each talking about different problems and trying to solve them all at the same time
16:24:34 <jgriffith> if bootable: multiattach=Prohibited
16:24:37 <jgriffith> or whatever you like
16:24:42 <jungleboyj> jgriffith:  I agree with you.
16:24:50 <ildikov> yep
16:24:58 <jungleboyj> jgriffith: Meaning it can be attached once and subsequent attempts fail.
16:25:00 <jgriffith> but it doesn't seem like it's difficult to solve that, at least for the primary cases
16:25:01 <ildikov> or well, simply false
16:25:31 <jgriffith> ildikov yes, or false depending on how the multi-attach stuff is implemented and what that looks like
16:25:41 <jgriffith> but I don't know becuase it doesn't exist yet :)
16:25:51 <jgriffith> jungleboyj yes, correct
16:25:53 <ildikov> and if the bootable flag can be set later, then don't allow to set it for a volume that created as multiattach
16:25:59 <jgriffith> the only draw back is possible race conditions
16:26:05 <jungleboyj> Excellent.  I am good with the plan.
16:26:47 <jgriffith> ohhhh.... donuts!
16:27:51 <ildikov> jgriffith: where is the race?
16:28:10 <jgriffith> down the hallway to get donuts
16:28:13 <jgriffith> :)
16:28:36 <ildikov> yeah, I certainly want donuts now, that part is ok :)
16:28:57 * jungleboyj is jealous
16:29:04 <ildikov> jgriffith: I thought to still elaborate on the draw back you raised :)
16:29:06 <jgriffith> the race is simultaneous bfv calls, but one will fail so it's ok
16:29:24 <jgriffith> it's just not completely deterministic but I really don't think it's a big deal
16:29:44 <smcginnis> Yeah, small and unlikely window.
16:29:55 <jgriffith> smcginnis and somewhat benign anyway
16:29:58 <ildikov> if multi-attach is false now for BFV then it shouldn't be a bigger problem than it is already
16:30:04 <ildikov> or am I missing something?
16:30:26 <jgriffith> sure
16:30:40 <ildikov> ok, cool
16:30:59 <smcginnis> The answer to "am I missing something" is almost always true. :)
16:31:26 <ildikov> jgriffith: would you mind summarizing once again the overall plan on this?
16:31:33 <ildikov> just to ensure I got it too :)
16:31:45 <jungleboyj> smcginnis:  The answer to 'does it matter' is not always yes.
16:31:53 <ildikov> smcginnis: :)
16:32:09 <jgriffith> merge new attach code
16:32:14 <smcginnis> jungleboyj: Also true.
16:32:15 <jgriffith> that's the plan
16:32:29 <ildikov> jgriffith: fair enough :)
16:32:39 <mriedem> so while you guys rehashed the multiattach policy again this week,
16:32:44 <mriedem> i reviewed jgriffith's cinder patch
16:32:56 <mriedem> please oh please dear sweet baby jesus,
16:33:00 <mriedem> don't do that data migration offline
16:33:12 <jgriffith> mriedem which one?
16:33:15 * jgriffith goes to gerrit
16:33:18 <mriedem> https://review.openstack.org/#/c/509005/
16:35:55 <jgriffith> mriedem if there's someone with the foo to do that without python I'd love to change it
16:36:18 <mriedem> jgriffith: i can find an example from nova
16:36:49 <jgriffith> mriedem let me know, when I looked that's how Nova was doing it too I think
16:37:04 <mriedem> https://github.com/openstack/nova/commit/3674a4268d177230375fa1b581dbdf6f62755cee
16:37:19 <mriedem> nova is not doing data migrations in the migration scripts
16:37:24 <mriedem> we do that stuff in the object
16:37:26 <mriedem> on read
16:37:44 <mriedem> and we have the online_data_migrations CLI for batching those as needed
16:39:54 <jgriffith> mriedem don't get offended or anything
16:40:16 <mriedem> i posted some links in the change
16:40:22 <jgriffith> thanks
16:40:24 <mriedem> np
16:40:45 <mriedem> i'm not offended,
16:40:46 <mriedem> i just,
16:40:56 <mriedem> my ass is still sore from years and years of operators ripping us on doing this
16:40:59 <mriedem> including our internal people
16:41:14 <jgriffith> mriedem cool, and I really appreciate you pointing it out!!
16:41:25 <mriedem> i only just put the donut away 2 months ago
16:41:30 <jgriffith> haha
16:41:48 <jgriffith> not a good kind of donut either
16:43:13 <ildikov> ok, it looks like we're on track with this too now
16:43:22 <mriedem> well, not good to eat
16:43:39 <jgriffith> good for sitting, not good for munching
16:43:51 <ildikov> mriedem: thanks for the pointers, etc.
16:43:57 <ildikov> :( :)
16:44:20 <mriedem> unless you've got a fetish, but we digress
16:44:22 <mriedem> end of meeting?!
16:44:29 <ildikov> I think so
16:44:51 <ildikov> unless someone objects
16:45:00 <jgriffith> ha
16:45:28 <ildikov> ok, so jgriffith will fix the shared_targets patch
16:45:43 <ildikov> johnthetubaguy will review the live_migrate patch
16:45:54 * ildikov will update the multi-attach spec
16:46:07 * ildikov will also look into start a Cinder side of that thing
16:46:29 <ildikov> and we will merge the new attach patch as soon as the new client with a new mv is out
16:46:46 <ildikov> thanks everyone!
16:47:11 <ildikov> have a good rest of your day!
16:47:18 <ildikov> #endmeeting