15:02:24 #startmeeting manila 15:02:25 Meeting started Thu Jul 10 15:02:24 2014 UTC and is due to finish in 60 minutes. The chair is bswartz. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:02:26 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:02:28 The meeting name has been set to 'manila' 15:02:44 good morning/afternoon/evening 15:02:47 guten tag 15:02:47 Hi all 15:02:47 Hi everyone. 15:02:49 Hi 15:02:49 hi 15:02:51 Hi 15:02:52 o/ 15:02:53 hi 15:02:59 hi 15:03:01 o/ 15:03:28 #link https://wiki.openstack.org/wiki/Manila/Meetings 15:03:49 fairly short agenda today 15:03:57 I don't have anything specific 15:04:23 I had a relaxing week off last week and I hope that those of you in the USA also did 15:04:33 #topic dev status 15:04:39 vponomaryov: you're up first 15:04:51 Ok, dev status: 15:05:02 1) Manilaclient now supports python3.3 version and has caching of tokens 15:05:02 bp: #link https://blueprints.launchpad.net/manila/+spec/cache-auth-token 15:05:02 status: implemented 15:05:15 2) Manila migrated from to oslo.messaging from oslo-incubator common code 15:05:15 bp: #link https://blueprints.launchpad.net/manila/+spec/oslo-messaging 15:05:15 status: implemented. 15:05:37 3) share-server-delete API 15:05:37 bp: #link https://blueprints.launchpad.net/manila/+spec/add-admin-api-delete-share-server 15:05:37 gerrit: #link https://review.openstack.org/#/c/103911/ 15:05:37 status: review in progress 15:05:57 4) oslo.db 15:05:57 bp: #link https://blueprints.launchpad.net/manila/+spec/oslo.db 15:05:57 status: work in progress, no gerrit commit yet. 15:06:13 5) Usage of common code in Manila 15:06:13 bp: #link https://blueprints.launchpad.net/manila/+spec/use-common-code 15:06:13 status: several changes has been merged, there are still field for work. 15:06:25 6) py33 compatibility for Manila 15:06:25 bp: #link https://blueprints.launchpad.net/manila/+spec/py3-compatibility 15:06:25 status: several changes has been merged, there are still field for work. 15:06:38 7) pep rules 15:06:38 lp bug: #link https://bugs.launchpad.net/manila/+bug/1333290 15:06:38 status: some changes has already been merged, lots of other on review 15:06:40 Launchpad bug 1333290 in manila "pep8 tests has a lot of disabled rules" [Medium,In progress] 15:07:04 That's all for status 15:07:11 okay 15:07:48 I think the next agenda item covers what I want to say about these 15:07:56 anyone have any questions about these bugs/bps? 15:08:41 okay next 15:08:50 #topic add-admin-api-list-shares-for-share-server 15:09:13 #link https://blueprints.launchpad.net/manila/+spec/add-admin-api-list-shares-for-share-server 15:09:13 - do we need it? (Can be useful for admins) 15:09:13 - if yes, should it be separated API? (Restriction - policy rules are different according to already existing API 'list') 15:09:13 - if yes, what name should be used for this API? 15:10:11 so we can have an optional, admin-only argument to share-create which addresses this use case, can't we? 15:10:15 what can we get today without this? A list of all shares, right? 15:10:46 err share-list 15:10:50 xyang1: list of shares without filtering by share server id 15:11:03 xyang1: it can be list of tenant shares or all tenants 15:11:19 vponomaryov: thanks. so this can be useful 15:11:22 ameade had an example for how to create policies for specific arguments of an API 15:11:37 we don't always need whole new APIs for admin-only stuff 15:11:49 I think its a useful one, the admin-only argument addition to shares-list sounds like a good landing spot. 15:12:12 #link https://etherpad.openstack.org/p/filter-shares-list-by-share-server 15:12:27 that's what ameade wrote up 15:12:43 any reason we can't do something like this? 15:13:10 looks reasonable 15:13:15 It seems easy enough to add 15:13:27 * ameade is lurking quietly 15:13:53 bswartz: having more than one policy for one API call is not obvious 15:14:22 vponomaryov: perhaps, but can't we document the sample policy.json to make it obvious? 15:14:29 Does it make sense to list all shares by share server? I might be reading the write up wrong but it looks like you need to specify share server the way it's currently documented? 15:14:39 and seriously, how often do people really edit policy.json? 15:14:51 vponomaryov: what do you mean more than 1 policy 15:14:59 I assume that 90% of people use the default and the other 10% make very few modifications 15:15:11 vponomaryov: list_shares_by_share_server only has 1 policy here? 15:15:15 policies aren't usually 1 to 1 with api resources 15:15:36 xyang1: user side 15:15:57 xyang1: one CLI command will have two policies in that case 15:16:08 vponomaryov: I see 15:16:15 vponomaryov: do you mean admin side? user has no idea there are even policies 15:16:25 only the deployer would care 15:16:55 ameade: yes, user has no idea, but will get 403 with this option and 200 without it 15:17:06 I think it's not unusual to have an API with admin-only arguments -- the only way to achieve that is with 2 policies for that API 15:17:19 why would a user even know about the option if they can't do it? 15:17:37 and there is no harm saying "sorry, you dont have permission to perform this operation" 15:17:44 so, everyone agreed that this API should be implemented? 15:17:58 +1 15:18:16 +1 15:18:22 +1 15:18:29 vponomaryov: what about having the same API, but make the CLI look different so that it is obvious to user? 15:18:37 just to be clear, we are saying to not add a new API resource for this right? 15:19:18 ameade: good point -- I think we're agreeing NOT to add a new API and we agreeing to add a new policy to the existing API 15:19:47 vponomaryov: one is share-list, the other one something like share-list-by-share-server? 15:20:06 ameade, bswartz: exactly - API method, share list does not have share-server list for now 15:20:32 s/share-server/share-server in/ 15:20:35 xyang1: I don't see a need for an extra CLI 15:20:54 xyang1: this one I prefer that new option 15:21:01 I guess there is one question 15:21:14 bswartz: trying to address vponomaryov's concern on different policies 15:21:18 can we make the builtin help for the CLI show different options for admins and non-admins? 15:21:37 ideally tenants wouldn't see the option at all 15:21:59 bswartz: why? 15:22:13 bswartz: make the "help" clear is helpful too 15:22:14 if it's an admin-only option, tenants should not see it 15:22:19 bswartz: only if not implemented via horizon 15:22:20 only admins should see it 15:22:43 can't python-manilaclient show different help depending on the access of the person running it? 15:22:54 bswartz: can not 15:23:00 DOH! 15:23:18 I'd like to fix that 15:23:19 bswartz: client does know nothing about access 15:23:27 hmm 15:23:33 bswartz: only request and return of answer 15:23:42 vponomaryov, dumb Q maybe... share-list can print the share-server column for admin only, isn't that enuf ? 15:24:01 vponomaryov, I mean by default it will print always 15:24:06 deepakcs: there no share server in list 15:24:18 deepakcs: there is no guarantee since someone could set the policy so that anyone can do it 15:24:29 yeah 15:24:40 this is just a nice optimization 15:24:40 okay then perhaps a separate CLI is a good idea 15:24:47 but no separate API 15:24:53 i dont think there is anything wrong with having a --share-server option in the CLI 15:25:11 and it just says"sorry, you dont have permission to perform this operation" 15:25:17 it would be nice if python-manilaclient could obtain the policy from the server and modify the help accordingly but that's probably a lot of work for little gain 15:25:47 ameade: agreed 15:26:15 vponomaryov, there is no share server in list today, but the CLI will print share server also in the shares-list output if it being done by admin (without any new --share-server) 15:26:39 vponomaryov: can we move on? 15:26:41 deepakcs: idea in filtering 15:27:08 bswartz: yes, but we did not make decision 15:27:12 vponomaryov, admin can do shares-list | grep 15:27:19 vponomaryov: that was what I was asking 15:27:46 I thought we decided 15:27:50 what is still unclear 15:28:05 deepakcs: grep is Ok for user, but we can minimize body of response 15:28:18 vponomaryov, ok 15:28:22 deepakcs: and it is not for for server in that case 15:28:37 s/not for for/not ok for/ 15:28:44 ok, lets move on 15:28:49 ok 15:29:10 vponomaryov: you understand what we agreed to? 15:29:39 bswartz: did we agree? 15:29:54 okay 15:30:02 so here I was my understanding is 15:30:09 1) we will NOT add a new API 15:30:26 2) we will add an optional share-server argument to the share-list API 15:30:38 3) we will add a second policy so that argument defaults to admin-only 15:31:29 how we handle the CLI is still unclear 15:31:38 but I thought we agreed on the server side API 15:32:30 okay 15:32:35 bswartz: ok 15:32:42 #topic Tempest tests for python-manilaclient 15:32:45 dustins: you're up 15:33:15 Alright, so I was looking at the tempest tests for the manila client and saw that they only covered simple read only tests 15:33:24 Same as all other python-*clients 15:34:14 okay 15:34:16 I was wondering if there was a reason, other than scope, why we couldn't add more robust and thorough tests to test more than the read only operations 15:34:47 #link http://docs.openstack.org/developer/tempest/field_guide/cli.html 15:34:55 dustins: seems like that would duplicate a lot of testing 15:35:32 bswartz: How so? There are currently no CLI tests for the clients for anything other than read-only ops 15:36:03 Sure, it'd just exercise the code that is already tested through the API, but we should be making sure the client talks to the API correctly 15:36:04 well 90% of any CLI test is testing that the server-side API worked properly 15:36:17 unless we use some kind of fake server 15:36:24 One stated goal from the docs link is not to modify the cloud. So that would limit things to read-only 15:36:24 and we have tests that test the APIs directly 15:36:59 Fair enough, I can get behind that 15:37:02 I'm not saying it's not worth doing, but we'd end up testing a lot of things twice 15:37:28 right, and currently no one else is doing it either and it doesn't seem like there's going to be an effort to add it 15:37:39 Probably because of that doubling of effort 15:38:13 the risk we're exposing ourselves to by not testing this stuff is that non-read-only operations in the CLI could end up sending the wrong API to the server or interpretting the results incorrectly 15:38:49 dustins: actually there one two layers in client - python code and shell code 15:39:03 Exactly, but it seems like the other projects also take that risk, so we're not the first or last 15:39:16 in an ideal world we would cover these cases but I think we have higher priority testing issues 15:39:22 vponomaryov: Right the CLI and the client itself, yeah? 15:39:35 dustins: yes 15:39:57 vponomaryov: the client unit tests appear to cover the python code, but not the shell layer. 15:40:20 vponomaryov: we were just wondering if that was in scope 15:40:24 cknight: it covers shell too 15:40:28 cknight: now you're talking about unit tests not tempest tests, right? 15:40:50 bswartz: yes 15:41:10 cknight: not all, maybe, but covers 15:41:40 vponomaryov: ok, found it, thanks 15:41:43 if we had GOOD unit tests coverage of the CLI that would make me feel safer about having poor functional coverage 15:42:14 bswartz: if the goal is not to test stuff twice, the unit testing in the CLI layers can accomplish that 15:42:15 bswartz: and good functional coverage of the underlying API :) 15:42:41 I'm not against testing stuff twice unless it's really expensive 15:43:02 bswartz: it's just that there isn't any thorough end-to-end functional test of the CLI in tempest, which was our question. 15:43:12 my point was that this seems low priority relative to more complete API tests 15:43:25 bswartz: fair enough 15:43:36 cknight: this question is more to tempest-related meeting 15:43:51 cknight: I think you're right, and the rest of Openstack has the same flaw, so we won't rock the boat 15:43:59 vponomaryov: Fair point 15:44:15 vponomaryov: well, we're adding things to manila client now and wanted to get it right 15:44:41 dustins: you satisfied? 15:44:58 bswartz: yup! 15:44:59 #topic open discussion 15:45:11 cknight: good unittests can help very well 15:45:12 anyone have something else to discusss? 15:45:47 xyang1: I can't remember if you had something to discuss today, based on our earlier conversation 15:46:13 bswartz: I don't have anything else to report. we are still waiting for legal 15:46:20 bswartz: on driver contribution 15:46:23 okay if that's all, please remember to do code reviews 15:46:36 I'm doing my part, but I'm slow :-( 15:46:55 we have several changes that could benefit from some reviews 15:47:06 https://review.openstack.org/#/q/manila+status:open,n,z 15:47:14 okay I think that's it 15:47:16 thanks everyone 15:47:28 thanks 15:47:30 bswartz: jfyi: gerrit commit with share-server-delete API has db method required for update of 'list' API 15:47:57 bswartz, any update on the incubation ? 15:47:57 #endmeeting