15:01:19 <tbarron> #startmeeting manila
15:01:25 <openstack> Meeting started Thu Apr 19 15:01:19 2018 UTC and is due to finish in 60 minutes.  The chair is tbarron. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:01:26 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
15:01:29 <openstack> The meeting name has been set to 'manila'
15:01:35 <markstur> hi
15:01:36 <xyang> hi
15:01:37 <amito> hello o/
15:01:40 <ganso> hello
15:01:41 <zhongjun_> hi
15:01:47 <tbarron> manila courtesy ping:  gouthamr zhongjun xyang markstur vponomaryov cknight toabctl bswartz ganso
15:01:53 <dustins> \o
15:02:01 <bswartz> \o.
15:02:10 <tbarron> Hello all!
15:02:22 <tbarron> bswartz is now *officially* present.
15:02:34 <bswartz> Indeed
15:02:38 <bswartz> \o/
15:02:39 <vgreen> \o
15:02:39 <tbarron> #topic announcements
15:03:04 <tbarron> TC campaigns are underway.  Read the ML (archives).  vote.
15:03:17 <tbarron> ^^ #1
15:03:46 <tbarron> #2) spec freeze today.  specs are on the agenda so we'll talk about the freeze and possible extensions in a moment.
15:04:20 <tbarron> #3) I plan to cut rocky milestone #1 today for manila, python-manilaclient, manila-ui
15:04:31 <tbarron> #link http://lists.openstack.org/pipermail/openstack-dev/2018-April/129542.html
15:04:36 <tbarron> Today is the deadline.
15:04:44 <tbarron> Any concerns ^^ ?
15:05:07 <bswartz> tbarron: are you familiar with the mechanics of cutting tags and everything?
15:05:12 <bswartz> lmk if you need any he;[
15:05:14 <bswartz> help even
15:05:20 <tbarron> bswartz: thanks!
15:05:31 * tbarron has bswartz on speed-dial
15:05:45 <tbarron> Any other announcements?
15:06:01 <tbarron> ok
15:06:06 <tbarron> #agenda https://wiki.openstack.org/wiki/Manila/Meetings#Next_meeting
15:06:22 <gouthamr> "end extensions" :)
15:06:23 <tbarron> #topic Spec Reviews
15:07:03 <tbarron> #link https://etherpad.openstack.org/p/manila-rocky-specs
15:07:16 <tbarron> gouthamr: I take it your remark pertains to these?
15:07:32 <gouthamr> tbarron: yep, i see two not ready for merge
15:07:39 <tbarron> ok, sec
15:07:43 * vkmc sneaks in late
15:07:45 <vkmc> hi o/
15:08:08 <gouthamr> \o
15:08:17 <tbarron> vkmc has been fighting noble battles
15:08:33 <tbarron> because horizon badly broke manila-ui
15:08:36 <amito> manila-ui battles?
15:08:42 <tbarron> amito: yes
15:08:52 * amito salutes vkmc
15:09:00 <tbarron> Back on the specs ....
15:09:13 <tbarron> json schema validation merged
15:09:18 <tbarron> #link https://review.openstack.org/#/c/553662/
15:09:45 <tbarron> How ready is the access-rule metadata spec?
15:09:59 <tbarron> #link https://review.openstack.org/#/c/551106/
15:10:03 <ganso> tbarron: it has just one thing to discuss
15:10:04 <zhongjun_> It left one question
15:10:10 <tbarron> ganso is your concern addressed yet?
15:10:20 <ganso> I did not see it discussed in the comments
15:10:35 <gouthamr> +1 I think we should discuss some about this
15:10:37 <tbarron> ganso: there was a reply inline
15:10:44 <ganso> tbarron: yes I saw the reply
15:11:04 <tbarron> What is the outstanding issue?
15:11:06 <gouthamr> it shouldn't hold the spec back, but it's worth discussing imo
15:11:12 <ganso> I asked about changing the endpoint to create access rules to share-access-rules using a PUT method
15:11:18 <ganso> I would like to know what everyone thinks about this
15:11:44 <ganso> zhongjun_ is right that it is probably too much to do on a metadata implementation, we could do it later
15:11:45 <tbarron> PUT instead of the current POST ?
15:11:51 <zhongjun_> Do we have to change all the current access APIs to new APIs?
15:12:00 <bswartz> PUT overwrites an object
15:12:11 <ganso> so, the old access APIs are actions on the share resource
15:12:12 <gouthamr> tbarron: no, he's asking to change the API endpoint for creating access rules
15:12:18 <bswartz> If that's the semantics of what it does, then PUT is more appropriate
15:12:28 <zhongjun_> tbarron: The actually is use the new API instead of all old access rule APIs
15:12:56 <ganso> the metadata APIs creates a new resource and endpoints. This new resource is a share access CRUD, but it is lacking the create and delete functionality, which is still available through the old way
15:13:47 <zhongjun_> ganso:  yes,  It will too much to do on a metadata inplementation to use new APIs instead of old APIs
15:13:49 <gouthamr> to create an access rule today you use POST /shares/{share-id}/action
15:14:03 <gouthamr> and to delete one you use POST /shares/{share-id}/action
15:14:36 <tbarron> access rule is being treated as attribute of share resource
15:15:07 <zhongjun_> tbarron: yes
15:15:23 <ganso> so, by the end of Rocky, if implemented as proposed in the spec, the access rules resources will have their functionality split between 2 resource endpoints. It looks a bit messy. It is ok for me if we all agree we would like to improve that later and deprecate the way of creating/deleting access rules through POST actions in share resources
15:16:01 <tbarron> zhongjun_: what do you think about that idea?
15:16:09 <gouthamr> ganso: i disagree that it is going to be a bit messy, the latter part of your statement was my original intent
15:16:21 <ganso> I am not saying it needs to be done in the access rules metadata, I believe it shouldn't
15:16:44 <ganso> gouthamr: well it looks messy to me :P
15:16:46 <zhongjun_> tbarron: I would like to save the old API
15:17:35 <ganso> the reason zhongjun_ wants to not deprecate the old API is because of users. That's my #3 item in the inline response
15:17:36 <gouthamr> ganso: i'm suggesting a multi-step evolution for the access rules API - let's start with the GET and the new update
15:18:09 <ganso> gouthamr: yes, a multi-step is the correct way to do this. That is, if we all agree that's what we want.
15:18:21 <ganso> to achieve that, we would need to discuss that #3 concern
15:18:27 <zhongjun_> tbarron: We use the current common APIs of access rule for a long  time, all user know it and used it. We  could not change their habit´╝č
15:18:56 <tbarron> zhongjun_: even multi-step with microversions?
15:19:34 <ganso> microversions already avoid breaking applications. zhongjun_ seems concerned with the habit
15:19:45 <zhongjun_> tbarron: If we change this common API, it will let user software  broke when they want to simply upgrade manila to the latest
15:19:45 <zhongjun_> version. They have to change there software code about the part of the access rule API.
15:19:50 <tbarron> zhongjun_: note that I'm not saying that *you* are responsible for the subsequent steps
15:20:12 <zhongjun_> tbarron:  more concerned with the habit and  small change for user
15:20:26 <ganso> zhongjun_: if it is microversioned, shouldn't break any software using the old API
15:20:36 <tbarron> Are you folks thinking of having a period where both are accepted and the old way is deprecated?
15:21:17 <ganso> tbarron: yes, the old API would have an upper limit microversion, and would go away when we deprecate v2
15:21:17 <zhongjun_> tbarron: :) yeah, we just discuss if the API resource should be changed
15:21:18 <gouthamr> but that would be doing it wrong.. what's the advantage of supporting two endpoints on a given version of the API?
15:21:33 <ganso> gouthamr: the old version will not have the new features
15:21:59 <gouthamr> ganso: deprecate v2?
15:22:02 <gouthamr> :O
15:22:07 <vkmc> :O
15:22:09 <ganso> lol
15:22:13 <ganso> eventually
15:23:06 <tbarron> Is there general agreement that zhongjun_'s current spec and work don't have to solve the future steps problem, just mention it as outstanding issue?
15:23:17 <bswartz> deprecation is no big deal
15:23:22 <tbarron> Or do you folks think we can drive this to a good conclusion now?
15:23:29 <bswartz> It's the eventual removal of the old behavior where the problems start
15:23:40 <bswartz> The sooner you deprecate "bad" APIs the better
15:24:05 <gouthamr> bswartz: +1
15:24:26 * tbarron remembers to route all customer cases pertaining to this to gouthamr
15:24:35 <bswartz> :-D
15:24:48 <gouthamr> hahaha
15:25:16 <tbarron> I'm not against doing the right thing, but someone would need to write it up and I can keep it in our backlog.
15:25:16 <ganso> tbarron: regarding the spec, I don't think there is anything to decide here, but some of us don't like the idea of fixing this future problem, and they don't see it as a problem, so it could maybe never be fixed
15:25:51 <tbarron> ganso: the question is whether you want to "hold this spec hostage" to resolution of the future problem
15:26:03 <ganso> I don't
15:26:12 <ganso> I just kept the -1 to have this discussion
15:26:16 <tbarron> and then either way, who is going to write up the future problem  and drive it to resolution
15:26:17 <zhongjun_> If you are a client, you like to change your habit  ? changing your all old API to new API?
15:26:19 <tbarron> ganso: ack
15:27:00 <ganso> tbarron: yep, it is probably not going to be customer driven, so hardly anyone will pick this up, ever
15:27:02 <tbarron> OK, sounds like ganso will write another remark in the spec for the record and remove his -1, maybe vote _2
15:27:03 <gouthamr> tbarron: the spec does say that one of the APIs will not be supported on API version >=2.43 (~) where zhongjun introduces the new API
15:27:06 <tbarron> +2
15:27:22 <tbarron> Have I got that right?
15:27:46 <tbarron> Can we merge this one today then?
15:27:46 <ganso> gouthamr: yep, the GET API will stop working, so it will kinda break users' habit right there, right zhongjun_ ?
15:27:53 <ganso> tbarron: we will merge it today
15:28:22 <ganso> correction, the GET API will stop working >= 2.43
15:28:35 <tbarron> OK, those who care about the future steps issue should write up a draft spec on the matter and we can backlog it.
15:28:37 <zhongjun_> ganso:  yes, I also want to let GET API back if we got agreement
15:29:19 * gouthamr the "GET" API which is in reality the POST /shares/{share-id}/action | body {'access-list': null}
15:29:31 <tbarron> zhongjun_: hmm, are you putting the consensus at risk at this point?
15:29:39 <ganso> gouthamr: yes, the old GET
15:29:40 <gouthamr> grrr, /action
15:30:23 <zhongjun_> tbarron: :)
15:30:45 <ganso> zhongjun_, tbarron: I am not sure we will get agreement on restoring the old GET API
15:31:05 <ganso> zhongjun_: we will be marking it with upper microversion limit and we should not go back
15:31:24 <gouthamr> zhongjun_: you need to spend a couple of minutes white-boarding with bswartz, i'm sure you won't feel the same about your concerns
15:31:35 <tbarron> heh
15:32:11 <tbarron> let's approve the spec as is.  zhongjun_ if you persuade ganso and gouthamr offline we can always revise the spec.
15:32:22 <zhongjun_> gouthamr: hah
15:32:25 <ganso> tbarron: yup, as is it is fine
15:32:40 <ganso> +2'ed
15:32:40 <tbarron> #link https://review.openstack.org/#/c/546301 correct scenario test spec
15:32:57 <tbarron> This one has only procedural issues outstanding, right?
15:33:17 <tbarron> If so, then let's reach out to Nir and get them resolved but not worry about the deadline.
15:33:18 <gouthamr> tbarron: yes, i can help with this one if the original author's missing
15:33:28 <tbarron> It's a spec correction.
15:33:32 <tbarron> Kind of a bug.
15:33:32 <gouthamr> although, does it *have* to merge today?
15:33:41 <dustins> I can help with that one as well
15:33:44 <tbarron> gouthamr: no, that's what I'm saying.
15:34:06 <tbarron> Let's get it done real soon now though, even if we push the git change ourselves.
15:34:30 <tbarron> #link https://review.openstack.org/#/c/552935 access rules priority
15:34:37 <tbarron> I'm the trouble maker on this one.
15:34:52 <tbarron> But I don't think we've talked it through all the way.
15:35:39 <tbarron> please read the latest and explain what's wrong with the match most specific first resolution of the ambiguity issue
15:35:51 <tbarron> we can do it offline and take another week or so
15:36:15 <ganso> I was ok with the proposal last time I reviewed it but the latest discussion got me confused
15:36:30 <tbarron> access rules have been a painful part of our history and I don't want to rush a solution until we get a good consensus (if possible)
15:36:32 <zhongjun_> I think the point is weather the driver itself support the "most specific rule wins" now
15:36:33 <bswartz> I think it's just details we need to sort out
15:36:38 <tbarron> ganso: it is possilbe that I'm confused
15:36:46 <tbarron> bswartz: well, I don
15:37:01 <tbarron> don't consider not presenting priorities to the end user
15:37:05 <tbarron> which is what I propose
15:37:10 <tbarron> a "detail"
15:37:24 <bswartz> Well we have to decide what to specify in the case of a tie
15:37:28 <tbarron> bswartz: now it's possible that I'm just nuts on this one
15:37:41 <tbarron> bswartz: with my proposal there are no ties
15:37:53 <bswartz> Oh sorry I missed that
15:37:56 <ganso> we could return error in case of ties
15:38:02 <gouthamr> bswartz: the latest comments on it are about not allowing user-defined priorities, so no API changes
15:38:04 <tbarron> why have ties ever?
15:38:04 <bswartz> That will make upgrades a bit harder
15:38:23 <tbarron> we only have conflicts in the api
15:38:30 <bswartz> tbarron: for backwards compatibility
15:38:33 <ganso> gouthamr: how would the user choose which priority matters then?
15:38:47 <gouthamr> ganso: they don't, take a look at the alternative
15:38:47 <tbarron> and deterministic, no-tie semantics in the access rule engines
15:39:11 <tbarron> bswartz: so I agree that compatability would need to be thought  through BUT
15:39:25 <zhongjun_> bswartz: +1  about upgrade
15:39:29 <tbarron> we don't know what the old behavior actually is except for our favorite back ends
15:39:46 <ganso> gouthamr: I am not sure I understood, but I'd disagree, because the manager sorting stuff and deciding is deterministic, but could end up in a way opposed to what the user desires
15:39:54 <tbarron> So that's why I want to think about this one a bit.
15:40:11 <bswartz> My suggestion is to allow ties and to leave how ties are handled as unspecified (but equal to legacy behavior)
15:40:13 <ganso> gouthamr: and I didn't see one way to circumvent that and achieve what the user wants
15:40:31 <bswartz> That makes upgrades and backwards compatibility as painless as possible
15:40:32 <tbarron> The only thing we don't allow the user to do with my proposal is "mask" out more specific with more general.
15:40:58 <bswartz> tbarron: But the user may want that
15:41:07 <tbarron> I'm not convinced that that "use case" isn't a recipe for confusiion and trouble cases with customers anyways and
15:41:11 <tbarron> we don'
15:41:21 <tbarron> we don't know that all back ends can do it
15:41:39 <tbarron> so there are pluses and minuses here I think
15:41:50 <bswartz> For backends that can't, drivers can easily compensate
15:42:12 <tbarron> I really don't see the value of the so-called use case.
15:42:13 <bswartz> The drivers can choose not to send down rules which they know will be shadowed by more general rules
15:42:29 <bswartz> I imagine it would be used in transient situations, not on an ongoing basis
15:42:30 <tbarron> It's quite contrived.
15:42:51 <ganso> bswartz: I am concerned by how to implement such logic, because there are far too many combinations, and the user may want to intentionally do that
15:43:01 <bswartz> For example, if I want to force all my shares to read only for a short period while I fix something, but I don't want to have to delete all my rules out of manila to achieve that
15:43:34 <tbarron> bswartz: you are creative :)
15:43:39 <ganso> bswartz: +1
15:44:26 <tbarron> Let's continue this discussion in the review for one more week.  I promise not to be a blocker if
15:44:44 <tbarron> I can't persuade the community.
15:44:46 <gouthamr> that is a great use case that needs to be mentioned on the spec ^
15:44:48 <bswartz> My bigger concern is how we implement backwards compatibility
15:45:07 <bswartz> And for that, we need to allow ties with legacy behavior
15:45:11 <tbarron> But right now I really like the simplicity and clarity of the shortest match semantics.
15:45:15 <gouthamr> but enumerating all rules, denying them and adding them back is easy too :)
15:45:39 <bswartz> gouthamr: not if you're a UI-clicker
15:45:44 <tbarron> I agree that the compatability issue is important and promise to think about it.
15:46:21 <gouthamr> bswartz: maybe we can fix that, bulk export 'export-rules' and bulk import 'export rules' via the UI :)(
15:46:36 <tbarron> The most-specific-match proposal is listed in the spec as an alternative but there are not reasons given not to do it, so please fill
15:46:46 <tbarron> those out if we're going to reject it.
15:46:51 <zhongjun_> tbarron: I  also agree with the compatability, I think bswartz's way is good to solve the compatability
15:47:10 <tbarron> zhongjun_: so please explain that in the spec
15:47:15 <zhongjun_> I missed it in my spec
15:47:35 <tbarron> OK, any problem with taking one more week on this one?
15:47:38 <zhongjun_> tbarron: sure
15:47:58 <tbarron> #topic Bugs
15:48:07 <tbarron> dustins: ?
15:48:20 <tbarron> #link: https://etherpad.openstack.org/p/manila-bug-triage-pad
15:48:23 <dustins> I've got a few from last week, yeah
15:48:39 <dustins> We'll likely run out of time, but we can get through a few!
15:48:57 <dustins> https://bugs.launchpad.net/manila/+bug/1762900
15:48:58 <openstack> Launchpad bug 1762900 in Manila "tearDownClass manila_tempest_tests.tests.api.test_share_networks_negative.ShareNetworksNegativeTest Failed" [Undecided,New]
15:48:58 * gouthamr we don't have bugs, 12 minutes is plenty
15:49:17 <dustins> gouthamr: If only that were true
15:50:31 <bswartz> dustins: any flavor here?
15:50:36 <tbarron> is this another tempest resource cleanup issue?
15:50:44 <dustins> bswartz: not really
15:50:44 <gouthamr> interesting
15:51:12 <dustins> tbarron: yes, it seems like another thing where our tests are not cleaning up after themselves
15:51:13 <bswartz> It does feel like cleanups a possibly being done in the wrong order
15:51:14 <gouthamr> this is a share-server cleanup issue
15:51:47 <tbarron> it was found in newton (osp10)
15:52:10 <gouthamr> i.e, the share server still exists past the test and we're trying to tear down the dynamic credentials used to run the test class
15:52:23 * tbarron jokes: close with please upgrad and reopen if you hit it againi
15:52:48 <gouthamr> tbarron: looks like someone's trying to run through RH-OSP certification here
15:52:57 <tbarron> poor devil
15:53:36 <tbarron> well we should see if we can fix this one
15:53:42 <dustins> Totally
15:54:08 * dustins thanks whomever added the summaries
15:54:19 <dustins> Any volunteers for looking at this one?
15:54:19 <tbarron> tempest is branchless so unless this was fixed at a later commit we still have the issue
15:54:25 <gouthamr> share.create_networks_when_multitenancy_enabled = False
15:55:01 <gouthamr> interesting, i think the fix for this was proposed by Yogesh a while ago
15:55:22 <tbarron> gouthamr: is the patch still around?
15:55:34 <gouthamr> tbarron: i may be wrong, but this one: https://review.openstack.org/#/c/493962/
15:55:48 <gouthamr> it's not made it to ocata and newton
15:55:52 <gouthamr> was fixed in queens
15:56:33 <tbarron> ok, we can put it in stable/ocata and tell the victim to submit a downstream BZ for osp10
15:56:49 <dustins> Heh, victim
15:56:54 <tbarron> stable/ocata is being maintained now
15:57:05 <gouthamr> 2018-04-03 09:14:55.131 1036768 DEBUG tempest [-] share.share_network_id         = 20439dd1-77b9-4f11-8ee9-ea944101dbdf
15:57:14 <gouthamr> from the tempest log
15:57:48 <gouthamr> i think there's a correlation here - they're pre-configuring the share-network
15:57:57 <gouthamr> so they're only ever going to have 1 share server
15:58:15 <gouthamr> throughout the test suite
15:58:46 <tbarron> do we expect tempest to pass with that configuration?
15:58:57 <gouthamr> tbarron: no, hence the bug-fix
15:59:01 <tbarron> right
15:59:13 <tbarron> gouthamr: ok, will you update the bug?
15:59:22 <gouthamr> tbarron: yep, i'll ask some questions
15:59:24 <tbarron> I'll review the patch.
15:59:45 <tbarron> Just add reviewers to the patch as appropriate.
15:59:48 * bswartz peeks at the clock
15:59:51 <tbarron> We're out of time.
15:59:54 <bswartz> ;-(
15:59:57 <tbarron> Thanks everyone!!!
15:59:58 <gouthamr> tbarron: although Yogesh'll probably helpful here if he has time away from kubernetes testing
16:00:11 <tbarron> old clouds, new clouds
16:00:14 <tbarron> #endmeeting