15:01:04 #startmeeting manila 15:01:04 Meeting started Thu Nov 10 15:01:04 2016 UTC and is due to finish in 60 minutes. The chair is bswartz. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:01:05 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:01:07 The meeting name has been set to 'manila' 15:01:11 hello all 15:01:12 Hi 15:01:17 hello 15:01:18 Hello 15:01:20 hi 15:01:24 hi 15:01:26 hello 15:01:32 Hi 15:01:41 hi 15:01:48 #agenda https://wiki.openstack.org/wiki/Manila/Meetings 15:01:53 hi 15:01:59 hi 15:02:10 #topic announcements 15:02:21 we're 1 week away from ocata-1 15:02:46 as agreed, that's when we will freeze low priority specs 15:02:56 more about that later in the agenda 15:03:32 thanks ganso 15:03:37 first up we have a hopefully small issue raised by one of ganso's specs 15:03:38 TommyLikeHu_: np 15:03:46 #topic Decide defaults for migration options 15:03:56 #link https://review.openstack.org/#/c/392291 15:04:10 I thought we had reached an agreement in BCN about this 15:04:15 but apparently not 15:04:47 my preference is to default all of the share-migration related optional flags to False 15:05:00 because False is a more obvious default than True 15:05:28 bswartz: it is situation when default should be the most strictest variant 15:05:38 and I also feel that a migration operations with no special args should always succeed (so it should be compatible with the fallback migration) 15:06:16 bswartz: the most strictest because it is fool-proof approach 15:06:21 the problem I see is that we're adding more and more options over time 15:06:23 vponomaryov: +1 15:06:32 if we default eveything to true than a command that works last release won't work next release 15:06:41 it's a backwards compatibility thing 15:07:06 bswartz: we are not committed to keep backwards compatibility on experimental features 15:07:14 ganso: +1 15:07:17 ganso: I'm talking about the future not the past 15:07:32 suppose we ship ocata with migration not experimental 15:07:36 and everything defaults to true 15:07:56 bswartz: in that case, yes, we should not change it anymore in the future 15:07:57 then in pike, we add a --preserve-fairy-dust migration flag 15:08:07 and it defaults to true 15:08:35 then people will observe that commands that used to work no longer too 15:08:37 do we have real user feedback for the share-migration API? I outside of the manila-core group ? 15:08:39 s/too/do/ 15:09:03 toabctl: SAP has provided significant feedback 15:09:18 bswartz: at that point, we may break the consistency of "all options TRUE" or "all options FALSE", but if we retain the assumption that the API parameters default value follows the strictest default set idea then we should be fine IHMO 15:09:28 bswartz: s/IHMO/IMHO 15:09:51 ganso: if we default everything to false then adding new options in the future is easy 15:10:03 bswartz, I didn't read the feedback. was it possitive? or are there any concerns about the current API design? just asking. 15:10:31 toabctl: many of these optional flags were inspired by feedback from SAP in Austin 15:10:35 toabctl: concerns are listed in appropriate spec with migration API improvements 15:10:40 toabctl: most part of the feedback came from Goutham's interaction with some customers he was presenting to 15:10:42 thx 15:10:46 what is SAP 15:10:58 SAP is a large software company in germany 15:11:07 thanks 15:11:20 #link http://go.sap.com/index.html 15:11:24 yup, mkoderer___ gave some feedback from SAP as well, that the options should be the strictest 15:11:53 ganso: what a coincidence )) 15:11:55 ganso: my interpretation was that he wanted a way to guarantee that migrations were lossless 15:12:07 that guarantee didn't need to be on by default 15:12:19 as long as there's a way to do it, users should be happy 15:12:48 bswartz: lossless by default, and lossy only when "yes I know what I am doing" 15:12:55 I thought there should be no loss unless the flag said it's ok to be lossy 15:13:04 bswartz: IIRC, he said that if there was any risk of losing data accidentally (like starting a migration that may lose data because the admin forgot the use a set of parameters), they would just disable migration in their cloud 15:13:06 argh 15:13:23 vponomaryov: exactly 15:13:32 the problem with that approach is that it won't work with most backends most of the time 15:13:37 I think others like disruptive we have more leeway with. 15:14:01 migration will become a feature that fails all the time unless you either specific a bunch of flags or have a very special backend 15:14:05 markstur: +1, that's exactly what I believe we had agreed to in the Newton midcycle 15:14:09 that seems anti-cloud to me 15:14:28 bswartz: it is safe 15:14:42 bswartz: after getting API error, admin will use proper set of options 15:14:47 bswartz: no data loss 15:14:57 but remember we want to open up migration to normal users 15:15:00 bswartz: I agree that it is unfortunate and inconvenient, but with data loss we seem to have a real need for "are you sure?" type of inconvenience 15:15:01 not just admins 15:15:22 normal users can't possibly know what will and won't work ahead of time 15:15:39 therefore they should specify what they want and find out if it works 15:16:04 normal users would probably need to fail and then decide to try again w/ non-defualt options 15:16:13 hopefully user messages can help with that 15:16:14 tbarron, cknight, xyang1, what do you think? 15:16:29 markstur: but how would they know which options to make false and which ones to leave true? 15:16:39 it will depend heavily on which backends they have 15:16:44 which they won't know 15:16:48 trial and error / admin help / ... ? 15:16:49 bswartz: following "fool-proof" approach 15:16:54 bswartz: using the UI it is less likely that the admins will ignore the feature, he may just tick everything (if it is not ticked by default) because they want to have the "best possible migration", but my main concern is the python-manilaclient 15:16:56 vponomaryov: sorry, I'll have to get back to this later. in another meeting at the same time:( 15:17:54 my main concern is the REST API 15:18:13 I want to make sure that it's sane 15:18:23 vponomaryov: I don't have a settled view on this. Would of course like to provide a good user experience for the end user with no "surprises". 15:18:30 I think we've already agreed that any option added in the future would have to default to false 15:18:55 if we're okay with future options defaulting to false then why aren't we okay with existing options defaulting to false 15:19:23 I don't have this same paranoia you guys do about users accidentally migrating their data and being unhappy about the result 15:19:30 bswartz: because the point is safety, not false/true values 15:19:53 migration will be clearly documented and I prefer the default to be: it always works, but we don't preserve anything 15:20:40 users may have a hard time understand why there was data loss 15:20:42 I hate the idea that migration will be another feature that works with a tiny fraction of backends (like replication) 15:21:00 when they open a ticket for their admin to migrate their data, they do not expect their data to have missing metadata 15:21:23 ganso: the admins job is to preserve it for them 15:21:34 it's not hard to check the boxes in the UI 15:21:38 bswartz: +1, and that's why I oscillate 15:22:09 bswartz: yes, being fool-proof prevents the admin from losing their data by mistake when they could have just inputted the parameters in python-manilaclient 15:22:13 vponomaryov: if safety is all we care about, why implement fallback approach at all? 15:22:39 bswartz: the fallback approach currently is the only way to migrate across vendors 15:22:40 why not force all migrations to be "safe"? 15:22:41 bswartz: for case when it is enough 15:22:53 bswartz: but it should not be default, IMHO 15:23:03 it seems to me that the user has to know what he's doing no matter which approach we take 15:23:10 To make defuult false, we could change preserve_metadata to opposite. Like no_preserve_metadata 15:23:23 markstur: that's not my point 15:23:26 bswartz: it is the desired mechanism to use and it should be proper documented that there will be losses when migrating across vendors 15:23:36 I want a migration with no optional args specified to work with fallback approach 15:24:03 and I want users to ask for any special flags they care about (like snapshots, lossless, no-disrupt, etc) 15:24:11 markstur: in that case, yes, that's one alternative 15:24:18 but it won't "work" if damaging your ACLs is considered a major fail 15:24:51 "just works" assumes the result will be OK and not in major need of repair (if possible) 15:24:58 okay so I feel like I'm the only one arguing for my approach 15:25:06 not sure how to break the impasse 15:25:12 I don't want to eat up the whole meeting on this topic 15:25:22 can we settle it with a vote? 15:25:29 * markstur will wish I agreed with bswartz everytime I forget the option 15:25:40 bswartz: your point on having a rule that defaults everything to false to be easier to add new parameters is valid 15:25:42 cool 15:25:47 bswartz: but then I would go with markstur's idea 15:25:56 bswartz: of inverting all parameters 15:26:07 bswartz: so we still have the strictest combination defaulting to false 15:26:31 ganso: so you're okay with all flags default to false, but only TRUE is compatible with fallback migration 15:26:46 bswartz: yes 15:26:50 except for options we add in the future, where false will be compatible with fallback 15:27:00 that seems equally confusing 15:27:10 bswartz: I mean, for any options we introduce, we would be following 2 rules 15:27:16 bswartz: defaulting to false, and being strict 15:27:34 then you have the same problem I mentioned 15:27:37 bswartz: so --no-preserve-fairy-dust if the admin wants to allow fallback 15:27:52 a command that works in Ocata won't work in puke 15:27:54 pike 15:28:04 :) 15:28:21 because the admin will need to add --no-preserve-fairy-dust for the command to succeed 15:28:25 lol on puke 15:28:50 bswartz: well, yes 15:28:57 bswartz: that does not really solve the problem 15:28:59 it seems as bad as the other proposal 15:29:06 bswartz: indeed it does 15:29:59 so the basic issue here is that our desire to protect admins and users from mistakes is conflicting with our desire to have a forwards compatible API with sane semantics 15:30:08 s/sane/consistent/ 15:30:36 wouldn't the first be easily addressed with proper docs? 15:30:39 I don't see how we can have both 15:30:51 vkmc: who reads docs? )) 15:31:04 vponomaryov, docs! dooooocs! 15:31:05 haha 15:31:06 and honestly IDK care about protecting users from mistake at the API level -- I feel that's the responsibility of a high level abstraction 15:31:30 bswartz++ 15:31:47 the unlink() system call doen't have a (bool are_you_sure) paramer 15:31:56 parameter 15:32:33 lol 15:33:00 bswartz: not sure it is good example, it does not have two ways of work, like migration does 15:33:25 bswartz: if we had the possibility of allowing access to the destination share to check the data before issuing migration-complete I could lean towards your proposal, but we agreed to not allow that in a previous meeting 15:33:38 lol 15:33:49 my only point is that APIs should do exactly what you ask them to do -- if we assume users calling our APIs don't know what they're asking for then all hope is lost 15:34:10 bool are_you_sure sounds like a windows interface to me 15:34:14 s/hope/data 15:34:50 vkmc: housewife's mode happens to be really useful )) 15:34:53 looks like the problem is that we provide a mgration where data can be lost. that's imo the problem 15:35:03 bswartz: you can always have safe defaults in manila client, even if the API defaults all arguments to false. 15:35:24 bswartz: the client *is* a thin abstraction atop the API 15:35:33 cknight: that's something I'd be more interested in considering 15:36:06 cknight: manilaclient will be used almost always 15:36:12 ganso: what if the API did what I want, but the CLI client explicitly defaulted to true (opposite of what the API does) 15:36:15 cknight: to talk to server 15:36:34 ganso: +1 That's what I'm suggesting. 15:36:35 bswartz: that looks weird, but acceptable I would say 15:37:06 vponomaryov: housewife's role? what are you talking about? 15:37:16 that would result in safety for people who use python-manilaclient, but users who don't want a fisher-price interface can just calls the REST APIs and get sane behavior 15:37:19 tbarron: "mode" 15:37:32 vponomaryov: same question 15:37:56 tbarron vponomaryov: let's not go down a rathole with our limited time in this meeting 15:37:57 tbarron: I mean extremely high level of fool-proof design 15:38:00 bswartz: wait, why we would like the python-manilaclient to have insane behavior while the REST API is sane? there is no consistency in that 15:38:09 ganso: no 15:38:24 I suggest the API defaults to false, and false is compatible with fallback 15:38:47 the CLI client can default to explicit true values when it sends the API unless the users says not to 15:39:26 bswartz: why we use defaults in API then? wouldn't it be better to require setting it explicitly? 15:39:50 vponomaryov: because microversions 15:39:53 bswartz: and set safe variants in our client? 15:40:04 bswartz: it is experimental now 15:40:17 bswartz: that easily leads to another mistake, where user of python-manilaclient assumes the default is TRUE, while it is not, so the user issues a curl command and migrates data losing metadata 15:40:40 vponomaryov: it would be nice to make everything explictly required but when we add the next value in the future it will need to have a default for backwards compatibility 15:41:24 bswartz: it is ok for old microversions and it is not the point of currect concern 15:42:07 okay I'm going to table this subject in the interest of time 15:42:18 #topic Spec review & prioritization 15:42:36 spec review have been going great 15:42:41 sorry to disturb, but did we go throgh all of the specs last week? 15:42:50 TommyLikeHu_: no 15:42:53 the review focus specs are getting reviews exactly as we'd hoped 15:43:11 ok~ 15:43:12 I have started writing the spec about race conditions 15:43:20 #link https://etherpad.openstack.org/p/manila-ocata-spec-review-focus 15:43:24 #link https://review.openstack.org/#/q/status:open+project:openstack/manila-specs 15:43:37 TommyLikeHu_: not all of desired specs were even created 15:43:45 lol 15:44:02 I would like to propose that we mark the eliminate race conditions spec high priority 15:44:06 #link https://review.openstack.org/396255 15:44:12 bswartz: +1 15:44:22 +1 15:44:22 I'm working on completing it in parallel with reviewing other sepcs 15:44:23 +1 15:44:24 +1 15:44:35 +1 15:44:38 TommyLikeHu_: we reviewed the specs that existing at the time last week 15:44:49 how about the share backup 15:44:52 any other new specs to consider 15:44:58 https://review.openstack.org/#/c/330306/ 15:45:15 TommyLikeHu_: we briefly touched on it, but we can revisit it today 15:45:36 +1 for ending race conditions hi-pri 15:45:40 I'm in favor of leaving it low priority, because it's a significant feature and this is a short release 15:46:15 if it's a significant feature 15:46:22 that's sort of what we agreed to last week, but with minimal discussion because we ran out of time 15:46:24 can we keep on this 15:46:37 and maybe merge it in Ocata 15:46:37 ? 15:46:43 only specs 15:46:54 TommyLikeHu_: if the spec merges by next week then the code could be considered in ocata 15:47:01 if not, then it's automatically pushed to pike 15:47:11 TommyLikeHu_: I believe there is no point in merging the spec if we do not want the feature in ocata 15:47:20 cool~ 15:47:27 ganso: +1 15:47:39 yeah and as ganso says we may decide not to merge the spec just so we can reserve bandwidth for other things 15:47:43 TommyLikeHu_: spec can be provided in "pike" subdirectory 15:47:58 TommyLikeHu_: specifying by it desired release target 15:48:02 time is short in ocata so we have to jealously guard core reviewer time 15:48:14 okay any other specs to consider for ocata 15:48:23 https://review.openstack.org/#/c/365617/ 15:48:30 gouthamr had said something about an access rule spec.... 15:48:31 bswartz: HA? 15:48:39 bswartz: do we have spec about HA? 15:48:56 no~ 15:49:03 bswartz: I am looking forward to seeing the access rules refactor spec 15:49:09 vponomaryov: it's touched on in the race condition spec, but HA is something we assume works for api/scheduler and assume it doesnt work for m-shr 15:49:28 and we don't plan to fix the m-shr problems for HA in ocata 15:49:36 bswartz: ok 15:50:15 bswartz: +1 15:50:22 gouthamr is on vacation today and tomorrow unfortunately 15:50:33 so if he has a spec forthcoming it might not be until next week 15:50:45 enjoy his berlin beer 15:50:57 however he's at a conference next week so I expect he'll have other stuff to focus on 15:51:13 let me suggest this 15:51:42 if the spec materializes and people want to designate it high priority, I'll push a patch to do that and we can use gerrit to decide it 15:51:43 bswartz: if we designate his spec hi-pri while it is not submitted yet, would that work? 15:51:48 ganso: no 15:52:22 the high-priority designation requires a gerrit change anyways, so that can be the voting interface 15:52:36 we'll just avoid merging it until we have enough +2s 15:52:56 any other specs to consider today? 15:53:12 https://review.openstack.org/#/c/390052/ 15:53:57 TommyLikeHu_: we decided low priority for that one 15:54:08 * bswartz goes to the review focus etherpad 15:54:08 sure 15:54:37 I am ok if this can be reviewed~ 15:54:51 looks like still only one of the 8 merged 15:55:02 we need to merge more specs soon 15:55:15 and remember we're looking for 6 or 7 +2s on the specs on the etherpad 15:55:38 bswartz: 6 when author is another core member? 15:55:46 bswartz: revert-to-snapshot is ready, just need 1-2 more reviews. https://review.openstack.org/#/c/391269 15:55:58 I can do a help for the +2 15:56:10 vponomaryov: it's approximate, but yes if the author is a core then they shouldn't +2 their own spec 15:56:37 cknight: what's with Erlon? 15:56:58 bswartz: no idea, he just posted a few things I disgree with 15:57:03 let's see if we can get him to remove his -1 15:57:13 but if he's not around I'm happy to override him 15:57:44 #topic open discussion 15:58:00 we're still carrying a backlog of design summit topics we didn't get to in BCN 15:58:14 not sure if we'll cover any of those next week 15:58:21 top priority for everyone is specs 15:59:01 bswartz: cknight TommyLikeHu_ zhonghua erlon is also reviewing the corresponding cinder spec. 15:59:12 we still need to resolve the issue in ganso' spec about migration defaults 15:59:22 I guess I'll work with ganso offline on that 15:59:35 and we can have an ML thread about it maybe 15:59:47 thank everyone 15:59:51 #endmeeting