16:00:37 <jungleboyj> #startmeeting cinder
16:00:37 <openstack> Meeting started Wed Mar  6 16:00:37 2019 UTC and is due to finish in 60 minutes.  The chair is jungleboyj. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:00:38 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
16:00:40 <openstack> The meeting name has been set to 'cinder'
16:00:45 <whoami-rajat> Hi
16:00:48 <rajinir> hi
16:00:52 <geguileo> hi o/
16:00:55 <walshh_> hi
16:00:59 <woojay> Hello
16:01:01 <rosmaita> o/
16:01:14 <eharney> hi
16:01:29 <smcginnis> o/
16:01:53 <e0ne> hi
16:01:56 <jungleboyj> @!
16:01:56 <_pewp_> jungleboyj ( ・ω・)ノ
16:02:14 <jungleboyj> smcginnis:  You should come join me in Scottsdale before the next Snowmageddon.
16:02:41 <yikun> Hello
16:02:50 <smcginnis> That would be nice.
16:03:09 <jungleboyj> :-)  Next year you can come join our guys' week for Spring Training.  :-)
16:03:11 <enriquetaso> o/
16:03:29 <jungleboyj> smcginnis:  Wondering if I am going to have issues getting home Sunday though.  Ugh.
16:03:57 <jungleboyj> Ok.  Lets get started.
16:04:15 <jungleboyj> courtesy ping:  jungleboyj diablo_rojo, diablo_rojo_phon, rajinir tbarron xyang xyang1 e0ne gouthamr thingee erlon tpsilva ganso patrickeast tommylikehu eharney geguileo smcginnis lhx_ lhx__ aspiers jgriffith moshele hwalsh felipemonteiro lpetrut lseki _alastor_ whoami-rajat yikun rosmaita enriquetaso hemna _hemna
16:04:37 <xyang> hi
16:04:39 <jungleboyj> #topic announcements
16:04:51 <jungleboyj> PTL Nominations are now open.
16:05:02 <tbarron> hi
16:05:09 <jungleboyj> I have been PTL for a while now.
16:05:32 <jungleboyj> I am willing to continue but don't want to hold anyone up from running if they are interested in doing so.
16:05:57 <e0ne> jungleboyj: thank you for your hard work!
16:06:10 <jungleboyj> We are kind of at that point where Sean was, when I ran, that I am happy to continue but also think change is good for the team.
16:06:40 <jungleboyj> My time commitments keep getting to be more stretched and I don't want anyone to hesitate if they feel like they could do better.  :-)
16:06:45 <jungleboyj> e0ne:  Thank you!
16:06:52 <jungleboyj> It is a team effort.
16:07:07 <rosmaita> what e0ne said
16:07:50 <_pewp_> hemna (;-_-)ノ
16:07:50 <jungleboyj> rosmaita:  Thanks.
16:08:03 <jungleboyj> hemna:  Welcome.
16:08:14 <jungleboyj> Does anyone have questions about that?
16:08:49 <jungleboyj> If anyone is interested or has questions feel free to reach out to me.
16:09:25 <jungleboyj> My other announcement is we are now at Milestone-3 for Stein.
16:09:38 <jungleboyj> #link https://releases.openstack.org/stein/schedule.html
16:10:08 <jungleboyj> Now is the time to transition from development to more testing.  No more merging new features.
16:10:45 <e0ne> do we have anything for FFE?
16:10:57 <jungleboyj> We should try to get bugs addressed and merged.
16:11:05 <jungleboyj> e0ne:  Not that I have seen.
16:11:56 <jungleboyj> Anyone have comments or questions there?
16:12:18 <rosmaita> i have a patch up for a requirements change, does that have to merge this week?
16:12:29 <rosmaita> https://review.openstack.org/#/c/641037/
16:12:39 <jungleboyj> rosmaita:  I don't believe that has to merge but sooner is better.  Let me look here.
16:12:45 <rosmaita> eharney has one also: https://review.openstack.org/#/c/641065/
16:12:51 <rosmaita> i didn't notice any others
16:13:10 <eharney> the schedule says req freeze at m-3
16:13:12 <jungleboyj> rosmaita:  Oh, this is redrobot requirements freeze.
16:13:14 <jungleboyj> So yes.
16:13:32 <jungleboyj> *requirements freeze
16:13:43 <jungleboyj> We can take a look at those and get them merged.
16:13:49 <rosmaita> ok, cool
16:13:52 <smcginnis> That taskflow one might be good to get in quickly to watch for side effects.
16:14:01 <jungleboyj> smcginnis:  ++
16:14:01 <e0ne> smcginnis: +2/A
16:14:10 <smcginnis> e0ne: ++
16:14:34 <rosmaita> great, thanks everyone
16:14:36 <jungleboyj> Anything else that people want to discuss around M-3?
16:15:34 <jungleboyj> Ok.  Cool.  Moving on.
16:15:56 <jungleboyj> General filtering API modification
16:16:03 <jungleboyj> #topic General filtering API modification
16:16:06 <jungleboyj> whoami-rajat:
16:16:09 <whoami-rajat> Hi
16:16:27 <jungleboyj> @!
16:16:27 <_pewp_> jungleboyj |。・ω・|ノ
16:16:39 <whoami-rajat> So i've been digging around the general filtering API and it's bugs regarding non-admin users
16:16:48 <jungleboyj> whoami-rajat:  Cool.
16:17:06 <whoami-rajat> i would like to get some feedback on my findings.
16:17:19 <jungleboyj> Ok.
16:17:33 <whoami-rajat> previously we used to pop out the invalid filters with a debug msg
16:17:44 <whoami-rajat> after the filtering API we error out on them
16:18:21 <whoami-rajat> since the filters mentioned in the resource_filters.json file are just a fraction of what all filters we support like is_public, all_tenants ...
16:18:42 <whoami-rajat> we're facing a lot of unexpected errors for non-admins
16:18:54 <eharney> all_tenants is a special case compared to most of these other filters IMO
16:19:15 <whoami-rajat> eharney:  cause all_tenants is common to multiple commands,
16:19:35 <whoami-rajat> is_public is also an issue related to volume types
16:19:53 <smcginnis> We should probably go back to existing behavior of just logging it. But I can also see why we wouldn't want to ignore something a client has requested to filter on.
16:20:25 <jungleboyj> Don't want to spam the logs.
16:21:09 <eharney> well, it makes sense to distinguish between filters that are valid vs ones that will never work, as well as returning permission denied when appropriate (denied by policy etc)
16:21:28 <jungleboyj> eharney:  Agreed.
16:21:40 <jungleboyj> whoami-rajat:  Why are there so many errors for non-admins?
16:22:02 <eharney> so i'm pretty sure the answer isn't to stop throwing errors
16:22:04 <whoami-rajat> eharney: also an interesting case that may fail commands using all_tenants the revert-to-snapshot was failing because we first search for snapshots and all_tenants is automatically appended in the search_opts, so it should have generated NotFound error but generating BadRequest due to filtering API.
16:22:27 <hemna> jungleboyj: would like to get my patch in for the new driver options discovery
16:22:32 <hemna> it's been sitting a few days
16:22:50 <whoami-rajat> jungleboyj: because while adding the support for general filtering, all filters weren't covered.
16:22:52 <jungleboyj> hemna:  Hold on.
16:23:00 <eharney> that could be fixed in the client, or we could handle all_tenants in a way that the client expects/expected
16:23:26 <eharney> but all_tenants is more about who has privileges to see what than resource filtering, afaict
16:23:47 <whoami-rajat> jungleboyj: since the filters are only for non-admins (admins are allowed for mostly all filters), this caused failure in multiple commands after 3.31 mv
16:24:41 <jungleboyj> Ok.
16:24:52 <whoami-rajat> eharney: yes, popping out invalid filters also doesn't look a good approach as if client sends it intentionally we shouldn't process the request
16:24:56 <hemna> we are seeing this problem as well
16:25:28 <whoami-rajat> eharney: one solution could be to add all valid filters in the json but that would cause a lot of duplicacy
16:25:33 <eharney> whoami-rajat: i would agree for filters in general, because we designed the server to reject invalid filters.  but, the client was clearly designed before that to assume that all_tenants will work, and i think it's reasonable to treat that one separately
16:25:53 <hemna> do we have a bug for this in lauchpad
16:25:54 <hemna> ?
16:26:12 <jungleboyj> Sounds like this is a bug that should be tracked.
16:26:39 <eharney> yeah, but it's not just a small bug, it's an area we need to actually document the design of because nobody is sure how this is supposed to work
16:26:59 <hemna> another good reason for a bug :)
16:27:08 <whoami-rajat> eharney: i tried to handle the case for all_tenants but then it error out for is_public, i think there may occur multiple other scenarios as well
16:27:26 <jungleboyj> :-)  Just to take a step back.  This is a big bug but it is a nuisance right, not a major issues.
16:27:28 <whoami-rajat> hemna: i found multiple different bugs for different commands,
16:27:57 <hemna> but it's a filter permissions issue no?
16:27:58 <eharney> it's a couple of different bugs, the server is wrong, the client is also doing things a bit wrong
16:28:01 <eharney> no
16:28:07 <hemna> we have a demo account that can't list volumes
16:28:19 <jungleboyj> :-(
16:28:30 <hemna> when filters are added to that list command issued
16:28:43 <hemna> like....status=available
16:28:55 <whoami-rajat> I think the idea to implement it was to avoid multiple checks for each filter and stack them at one place.
16:29:20 <whoami-rajat> but we forgot to cover all filters possible and only added the major ones
16:29:49 <eharney> forgot to cover what exactly?  isn't the list of filters configurable?
16:30:05 <jungleboyj> whoami-rajat:  How hard would it be to fix this by adding the filters to the json file as a bandaid and then work on the long term fix after that?
16:31:13 <whoami-rajat> eharney:  yes,
16:31:42 <whoami-rajat> jungleboyj:  depends on every resource. i can start with it if that is the intended approach.
16:31:51 <eharney> adding all_tenants to the default filter list is wrong IMO
16:32:01 <hemna> hehe
16:32:03 <hemna> yah
16:32:14 <jungleboyj> eharney:  That sounds like a special case.  Right?
16:32:44 <jungleboyj> We should at least handle the non-admin filter cases by default.
16:32:47 <whoami-rajat> eharney: probably needs to be added in every resource,
16:32:53 <hemna> a workaround would be nice for short term, but this seems quite broken in general
16:33:00 <eharney> whoami-rajat: what does?
16:33:04 <jungleboyj> hemna:  Agreed.
16:33:19 <whoami-rajat> eharney: all_tenants
16:33:23 * jungleboyj sadly doesn't understand this code path so well.
16:33:39 <eharney> i don't think it has to be added to every resource
16:34:00 <eharney> what i suggested a couple weeks ago was that we special case all_tenants and verify that it is handled as expected at a layer further into the stack, which it should be
16:34:39 <jungleboyj> all_tenants are the things that all_tenants should be able to filter upon?
16:34:45 <eharney> no
16:34:49 <jungleboyj> Ugh.
16:34:57 <eharney> it's an arg that says "show me resources owned by other tenants"
16:34:59 <whoami-rajat> eharney: IIUC you're suggesting we should pass it through the filtering and then handle this particular as a special case?
16:35:14 <eharney> and it is specifically checked all over our code with checks like "if is_admin and all_tenants..."
16:35:17 <hemna> that's admin like privs
16:35:19 <eharney> because it's not a normal filter
16:35:27 <eharney> it's just caught by the generic filtering code
16:35:31 <eharney> because it wasn't written right
16:35:35 <eharney> and nobody noticed
16:35:35 <whoami-rajat> jungleboyj: it's an admin action to show resources in every project
16:35:45 <eharney> so we should special case it in the filtering code and do it correctly, like it used to work
16:36:32 <whoami-rajat> eharney: i checked it with the previous code, it just pops out the all_tenants and proceeds normally. so a special case would be good.
16:37:27 <whoami-rajat> eharney: and other filters causing issues could be directly added to resource_filters file.
16:37:28 <jungleboyj> eharney:  Ok, that makes sense.
16:37:51 <eharney> whoami-rajat: that just depends on what we want to allow by default vs leave up to deployers to enable
16:38:02 <eharney> whoami-rajat: we probably don't want to just add everything
16:38:22 <whoami-rajat> eharney: also i tried handling that in clients for the findall resource method https://review.openstack.org/#/c/641310/
16:38:39 <jungleboyj> eharney:  Oh, this was added for the read-only admin case.  Right?
16:38:57 <eharney> jungleboyj: what was?
16:38:58 <whoami-rajat> eharney: no, not all, just some important ones like is_public for volume types.
16:39:11 <jungleboyj> Adding all_tenants
16:39:23 <eharney> i think all_tenants has always been there
16:39:56 <jungleboyj> Hmmm.  Ok.
16:40:02 <jungleboyj> I will just stay out of the way.
16:41:51 <jungleboyj> It sounds, however, like we should special case it and set some reasonable set of defaults to avoid spamming the logs.
16:42:22 <jungleboyj> The the defaults aren't right for the end user they will need to update accordingly.
16:42:57 <eharney> it looks like we can just throw away or ignore "all_tenants" in reject_invalid_filters if the caller isn't admin
16:42:59 <eharney> yeah
16:43:44 <jungleboyj> Cool.  That makes sense.
16:43:52 <whoami-rajat> eharney: but when a non-admin user intentionally passes all-tenants, is it ok not to error out?
16:44:20 <eharney> we used to just ignore it so it didn't do anything
16:44:30 <eharney> i don't see why we couldn't decide to start doing that again
16:44:55 <smcginnis> Especially if all-tenants:false
16:45:09 <jungleboyj> That makes sense.
16:45:40 <whoami-rajat> smcginnis that we used to ignore in client
16:45:56 <whoami-rajat> so we want to ignore that in server now?
16:46:09 <eharney> we should fix the client to not send the arg when it isn't appropriate, that's the easier part to fix though
16:46:48 <smcginnis> Easier for the python client. There are a lot of other clients out there though, so handling this sanely on the server side is the best option.
16:47:17 <eharney> we should fix both, the client shouldn't be sending all_tenants=0 for no reason
16:47:29 <eharney> but the server fix is the more important for sure
16:48:14 <whoami-rajat> eharney:  smcginnis  ok. this seems to be the better workaround to fix at both places.
16:48:21 <jungleboyj> whoami-rajat:  Yep.
16:48:47 <whoami-rajat> will do
16:49:11 <jungleboyj> eharney:  Thank you for the input.
16:49:47 <whoami-rajat> jungleboyj: eharney smcginnis thanks for all the useful feedback.
16:49:49 <jungleboyj> whoami-rajat:  Know what to do?
16:50:02 <whoami-rajat> jungleboyj: yes.
16:50:16 <jungleboyj> whoami-rajat:  Awesome!  Thank you for all the work you have been doing.
16:50:39 <jungleboyj> #action whoami-rajat  to propose fixes to handle all_tenants properly on both the client and server sides.
16:51:49 <jungleboyj> Ok.  So, I think that is all on that topic.
16:52:11 <jungleboyj> Last topic.  rosmaita  Are those the requirement changes you proposed earlier?
16:52:30 <rosmaita> looking
16:52:36 <eharney> yes
16:53:02 <whoami-rajat> jungleboyj: np :) thanks.
16:53:17 <jungleboyj> Ok.  So we already covered that.
16:53:21 <rosmaita> jungleboyj: what eharney said
16:53:24 <jungleboyj> #topic open discussion
16:53:53 <jungleboyj> Anything else that needs to be discussed?
16:54:21 <jungleboyj> Oh, reminders to put topics in for the forum.
16:54:23 <eharney> https://review.openstack.org/#/c/641414/ is a couple of nice reverts for someone to review
16:54:47 <jungleboyj> We seriously can't have nothing but what I proposed to talk about there:
16:54:56 <jungleboyj> #link https://etherpad.openstack.org/p/cinder-denver-forum-brainstorming
16:55:11 <jungleboyj> Are those submissions due tomorrow, of Friday.
16:55:23 <jungleboyj> Friday, so I will propose what is there.
16:55:28 <jungleboyj> Please add topics
16:55:38 <jungleboyj> hemna:  You had something.
16:56:17 <whoami-rajat> i think raghavendra has a patch for HPE 3par driver, he has been pinging continuously mail and IRC for the review. https://review.openstack.org/#/c/634119/
16:57:11 <hemna> oh hey
16:57:24 <hemna> you mentioned feature freeze
16:57:30 <jungleboyj> whoami-rajat:  Need eharney and hemna  To look at the responses there.
16:57:33 <jungleboyj> hemna:  Yeah.
16:57:44 <hemna> so I wanted to ask for some love on my feature patch for driver options
16:57:52 <jungleboyj> hemna:  Yeah.  Link?
16:57:53 <eharney> i'm still skeptical about that 3par patch
16:58:01 <hemna> https://review.openstack.org/#/c/635255/
16:58:20 <hemna> https://review.openstack.org/#/c/639193/
16:58:22 <hemna> those 2 are related
16:58:27 <hemna> one is for cinder
16:58:30 <hemna> and the other is for cinderlib
16:58:52 <jungleboyj> hemna:  Ok.  I will try to get my love on with those.
16:59:05 <hemna> thanks
16:59:54 <hemna> fwiw, you can see all of the driver options in the drivers list docs now with that patch
16:59:57 <hemna> http://logs.openstack.org/55/635255/10/check/openstack-tox-docs/0200672/html/drivers.html
17:00:16 <hemna> and I ordered all the drivers alphabetically
17:00:40 <jungleboyj> Nice!
17:00:40 <hemna> and put the unsupported drivers at the bottom
17:00:59 <jungleboyj> Ok.  Will definitely take a look at the patch.
17:01:04 <jungleboyj> Ok, we are out of time.
17:01:08 <jungleboyj> Thanks everyone!
17:01:14 <jungleboyj> #endmeeting