15:00:49 #startmeeting manila 15:00:49 Meeting started Thu Feb 2 15:00:49 2017 UTC and is due to finish in 60 minutes. The chair is bswartz. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:51 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:53 The meeting name has been set to 'manila' 15:00:54 hello all 15:00:57 \o 15:00:58 Hello 15:00:58 hi 15:01:02 hello 15:01:23 hello 15:01:28 Hi 15:01:31 gouthamr might be a few minutes late -- he's interviewing a candidate atm 15:01:44 \o 15:02:10 hi 15:02:38 #topic announcements 15:03:07 the target date for RC1 is today 15:03:15 #link https://launchpad.net/manila/+milestone/ocata-rc1 15:03:37 I count 17 open bugs on this list 15:03:38 hello o/ 15:04:17 o/ hiii 15:04:19 today I'm going to start retargetting bugs to pike 15:04:23 hi 15:04:53 because while I'm okay with not doing RC1 today, it does need to get done in the next couple of days 15:05:15 also a reminder 15:05:28 PTG is in 2.5 weeks! 15:05:38 keep adding topics to the etherpad 15:05:47 #link https://etherpad.openstack.org/p/manila-pike-ptg-topics 15:06:04 #agenda https://wiki.openstack.org/wiki/Manila/Meetings 15:06:14 oops looks like an item was left off of this 15:06:36 fixed 15:06:41 #topic Microversions 15:06:47 rhagarty you're up 15:07:00 ok... 15:07:19 #link https://review.openstack.org/#/c/420119 15:07:28 hi 15:07:35 from manila_ui perspective, was hoping to just make single call to get min support based on installed client and service 15:08:37 I think right now, the call to get microversion support is just a call to manila endpoint 15:09:25 rhagarty: what are you not able to get from the current endpoint? 15:09:29 I'm unclear on what's missing 15:09:35 what if the installled client is older and doesn't provide support? 15:10:16 rhagarty: what is wrong with this -> https://github.com/openstack/python-manilaclient/blob/c0fdf827/manilaclient/api_versions.py#L30 15:10:21 how old? 15:10:30 user has older client that doesn't support new feature added in 2.33, but endpoint service says we support 2.52. 15:10:36 rhagarty: you have versions range in client and get it from server 15:10:39 anything so old that it doesn't speak microversions will be stuck with the v1 API anyways 15:11:03 rhagarty: don't see problem at all 15:11:35 ok - let me take a look... 15:12:19 * bswartz doesn't see a problem either 15:12:27 and remember, I am talking from manila_ui perspective... goal would be not to show feature. Getting an error is not the best solution... 15:12:32 I hope this is just a misunderstanding about the version API 15:12:47 ok - thanks 15:13:06 rhagarty: it is question of manila UI behaviour in using of existing client functionality 15:13:12 rhagarty: I completely agree -- the UI must be capable of greying out or hiding functionality from the user if it's not going to work 15:13:27 rhagarty: do you want conditional behavior in the UI depending on max microversion supported in the python-manilaclient? 15:13:36 letting the user try something which will always fail is a dumb user experience 15:14:02 and infuriating to the user 15:14:03 tbarron: yes 15:14:29 so we have UI that supports share groups but client that does not for example 15:14:40 what?!?! 15:14:43 customer has 15:14:48 tbarron: the client has to support first 15:14:58 tbarron: manila-UI uses client, does not make rest calls directly 15:14:58 that particular case should be prevented using proper requirements 15:15:17 the UI should simply have a dependency on the client version that supports what it needs 15:15:24 I'm just trying to get the problem or perceived problem exposed clearly. 15:15:28 it would be idiotic to allow the UI to run with a too-old client version 15:15:42 bswartz: how is that prevented? 15:15:48 bswartz: like, older than the UI itself? 15:15:50 rhagarty: correct if that's the wrong idea 15:15:53 rhagarty: requirements.txt 15:16:05 yeah, but the requirements need a fix then.. https://github.com/openstack/manila-ui/blob/master/requirements.txt#L14 15:16:14 rhagarty: also strange to hear "too old" when whole openstack has "requirements.txt" file describing all dependencies 15:16:15 everyone understands that packages depend on minimum versions of other packages 15:16:26 if you can't satisfy those dependencies then you can't use the package 15:16:36 we say anything greater than 1.12.0 is acceptable.. 15:16:37 it's not like these things are installed on different machines -- it's all local 15:16:40 which is weird.. 15:16:58 we've upper constraints for releases, but not milestones when features get in 15:17:00 gouthamr: +1 15:17:00 gouthamr: why? 15:17:19 the fix is to bump up he minimum client version 15:17:26 gouthamr: while lib keeps being backwards compatible why it is weird? 15:17:33 I can't think of ANY good reason to use an old client version with a new UI version 15:18:02 bswartz: own fork? 15:18:12 what fork? 15:18:20 of client 15:18:33 who cares about forks 15:18:34 downstream fork of upstream client 15:18:35 then it's the problem of the people who did the fork 15:18:45 vponomaryov: the lib being the manilaclient? 15:18:49 toabctl: +9000 15:18:50 they forked themselves 15:18:52 bswartz; you said "think", I mentioned one of possible 15:19:03 I said good reason 15:19:08 ok ) 15:19:14 people who fork code are on their own 15:19:34 typically forks are done by smart people, such as downstream package maintainers 15:19:36 manila-ui/ocata should simply require manilaclient/ocata 15:19:42 yes 15:19:50 which is done via g-r 15:20:06 I completely agree 15:20:12 that seems right 15:20:33 that is why I don't see any reason in proposed feature of UI project such as "support range of microversions at once" 15:20:36 so my stance here is that manila-ui should be able to depend on a completely modern version of manilaclient -- there should never be a version mismatch between those 15:21:05 however manila-ui should be prepared to deal with possibly older or newer versions of the server 15:21:28 bswartz: server should be of the same release 15:21:33 microversions exist to help with compabitility between client version and server versions 15:21:42 not between application versions and client versions 15:22:01 bswartz: agreed 15:22:05 okay, so we need to bump the requirements file for ocata.. i.e, release python-manilaclient 1.x and require >=1.x 15:22:08 vponomaryov: on most cases yes, but we added microversions to cover the small set of cases where that's not true 15:22:21 gouthamr: +1 15:22:24 okay can we move on? 15:22:32 bswartz: yes, thanks 15:22:43 #topic Share groups bugs 15:23:16 so in the conversion from consistency groups to share groups, some functionality was lost 15:23:38 and some existing bugs were discovered too 15:23:38 and there are some bugs in the core of share groups, but according to vponomaryov those are waiting for review 15:24:01 bswartz: others are being postponed to be fixed in Pike... 15:24:09 #link https://bugs.launchpad.net/manila/+bug/1660321 15:24:09 Launchpad bug 1660321 in Manila "share-group-snapshot-create is not passing share as part of snapshot" [High,In progress] - Assigned to Valeriy Ponomaryov (vponomaryov) 15:24:10 #link https://bugs.launchpad.net/manila/+bug/1660319 15:24:11 #link https://bugs.launchpad.net/manila/+bug/1659023 15:24:11 #link https://bugs.launchpad.net/manila/+bug/1661266 15:24:12 #link https://bugs.launchpad.net/manila/+bug/1661268 15:24:12 Launchpad bug 1660319 in Manila "share continues to be member of group after migration" [High,In progress] - Assigned to Rodrigo Barbieri (rodrigo-barbieri2010) 15:24:13 Launchpad bug 1659023 in Manila "Consistent Snapshots are broken in the NetApp cDOT driver" [Medium,Triaged] - Assigned to Ben Swartzlander (bswartz) 15:24:14 Launchpad bug 1661266 in Manila "Share group types have no public extra specs" [Undecided,New] 15:24:15 Launchpad bug 1661268 in Manila "consistent_snapshots group extra spec should allow "pool" and "host" consistency" [Undecided,New] 15:24:22 ouch 15:24:32 sorry for paste storm 15:24:54 the bugs hurt more :P 15:25:02 anyways I'm concerned about the problems users may have upgrading from newton to ocata, and from ocata to pike 15:25:09 first two ready to review/merge 15:25:42 I think we should consider disabling share group APIs for the ocata release, and turning them on in pike 15:26:23 It has been experimental feature 15:26:34 why it should be disabled? 15:26:35 our main objective (my main objective at least) was to remove the experimental cgroup APIs which we've known needed to be removed for a long time, and that's done 15:26:46 I certainly don't want to be handling escalated customer calls on this stuff. 15:27:10 We aren't testing it downstream end-to-end. 15:27:13 Yet. 15:27:17 mainly I want to make sure our messaging is clear about what is usable and what should be avoided 15:27:24 vponomaryov: I think it is better to be disabled than to explain erroneous behaviors to customers 15:27:27 tbaron: disable it in your deployments, what is the problem then? 15:27:29 I don't want to remove the code -- it's good code and we should build on it 15:27:44 but I'm proposing turning it dark for just this release, since we have no time to resolve remaining issues 15:28:18 vponomaryov: alternatively we could disable it through policy.json upstream, and people who wanted to experiment with it could re-enable it 15:28:22 disable how? make 'em unroutable? or set the policy so deployers/users can enable at their own risk? 15:28:24 vponomaryov: maybe, but we want to minimize differences between upstream and downstream. 15:28:54 tbarron: policy.json is configuration file 15:29:03 i am concerned about the share-group id being in the shares model 15:29:05 tbarron: I am not talking about soruce code change 15:29:09 and us disabling APIs 15:29:10 mainly I don't want people thinking that they're going to have smooth sailing if they're using cgroups on newton and they upgrade 15:29:18 gouthamr: maybe we should have a microversion bump for this 15:29:19 I would rather have them wait and upgrade to pike 15:29:48 bswartz: if they do that, they'll miss all other ocata features 15:29:49 gouthamr: that's another bug we need to file and fix 15:30:08 ganso: only customers who actually use and care about cgroups 15:30:17 the only driver that supported consistency groups (CG snapshots) was cDOT/NetApp 15:30:26 ganso: hopefully that set of customers is the empty set, but we can't be sure 15:30:50 gouthamr, bswartz: we got multi-vendor clouds out there, and we can't have 2 versions of manila on a cloud 15:32:11 are there any technical issues with disabling the APIs through policy.json? 15:32:11 ganso: I'm not sure what your point is 15:32:32 bswartz: if some cloud is already using CGs, then it is highly unlikely to upgrade to ocata 15:32:47 ganso: and what do you propose we do to fix that? 15:33:06 ganso: I'm saying that we have no good options here 15:33:31 +1 disable, but can we have an ML post to dev/operators please? 15:33:36 either people give up on cgroups for 1 release or they stay behind or they have unfixed bugs to face 15:33:57 -1 for disable 15:34:07 bswartz: yea we don't have... existing shares in CGs will still exist, and even though they cannot be deleted or new ones created, they must remain usuable 15:34:12 bswartz: s/usuable/usable 15:34:13 experimental feature + easy to disable manually 15:34:26 vponomaryov: what is your proposal to prevent issues around consistency groups? 15:34:28 easy to enable manually 15:34:31 :D 15:34:43 vponomaryov: we're not doing enough to protect users from the pitfalls of these "experimental" features 15:34:57 +1 disable 15:35:12 bswartz: issues exist in every feature, disable anything that is not going to be used in prod 15:35:25 bswartz: I woudl do so 15:35:43 * gouthamr remembers someone mentioning "Bob in IT sets the experimental flag in the API request and boom" 15:36:16 my feeling is that experimental features are features we believe are usable but reserve the right to change based on user feedback 15:36:37 features that are under development and not ready to use at release time should be turned dark 15:36:45 +1 disable 15:36:52 bswartz: experimental means "no guarantee" 15:37:05 My biggest concern would be for customers that were using CGs. I don't have any of those. 15:37:19 vponomaryov: there's never a guarantee, even on supported features 15:37:28 markstur: not sure if we have any, but that's no excuse. :) 15:37:32 Apache license specifically states NO WARANTEE 15:38:05 :( whoa. bad precedents here 15:38:19 however we owe it to our users to communicate what we think is good and what we think needs more work 15:38:42 gouthamr: right but that path to share groups via bug fixes vs skipping a release might be a better call for someone with a CG impl 15:39:02 bswartz: and remember feedback from last summit -> "It is experimental? No thanks, we will wait until it becomes stable" 15:39:31 until the API is stable is different than until it works 15:39:31 markstur: maybe some fixes we can backport, and then users could turn the feature on manually, once their bugfix has been backported 15:39:43 anyone else against disabling? 15:39:58 ganso: I like that idea but I suspect the needed bugfixes will involve database migrations 15:40:01 so we could backport a disable of the disabling too? 15:40:05 ganso: these fixes affect the database.. 15:40:05 ganso: as far as i see.. 15:40:10 naw man.. 15:40:17 markstur that would piss of distros 15:40:28 piss off* 15:40:29 CGs are a safety feature, ensuring data integrity. I wouldn't use them till they are solid. 15:40:39 bswartz: can't these remaining bugs be fixed and backported? 15:40:48 bswartz, gouthamr: yes, but what if we have some of them fixed now with db migrations? but this is likely riskier 15:40:54 did someone say distros shmistros? wasn't me. love distros 15:41:07 xyang2: as I said, yes, unless they involve database migrations or anything that looks like a new feature 15:41:30 ganso: we'll still review and fix them.. 15:41:47 gouthamr: yes, review, but likely not test enough 15:41:55 but it sounds like we're stuck w/o a share groups that is ready to release 15:41:55 is anything likely to break if we change policy.json to disable the APIs? 15:42:05 ganso: sadly 15:42:38 we have another agenda item I want to get to 15:43:22 gouthamr: NetApp CI actually passed on the groups functional tests. Are those not working? 15:43:31 xyang2: we never ran them 15:43:45 gouthamr: I saw them in the logs 15:43:45 gouthamr: )) 15:43:51 gouthamr: :O 15:44:02 gouthamr: http://dcf901611175aa43f968-c54047c910227e27e1d6f03bb1796fd7.r95.cf5.rackcdn.com/64/355264/26/check/manila-cDOT-ss/75f34c0/console.txt 15:44:03 xyang2: i think netapp driver uses default approach as all other drivers do 15:44:35 xyang2: ah.. sorry, i meant we didn't run any "CG" tests 15:44:47 gouthamr: ok 15:44:48 * tbarron logs for future discussion: lots of big changes merging at FF, not enough time to test end-to-end and review. 15:45:00 * gouthamr +100 15:45:25 okay let's move on 15:45:25 tbarron: big features are being tested for years 15:45:38 #topic LVM revert to snapshot 15:45:40 tbarron: and constantly improving 15:45:51 vponomaryov: yes, we are getting better 15:45:54 this came up yesterday in the channel with ganso 15:46:08 there's a bug in LVM's revert to snapshot support 15:46:39 I attempted to fix it and noticed that the nfs helper code is gross 15:46:48 wait let me step back 15:46:48 vponomaryov: here is another example, I +2ed revert to snapshot and didn't catch this bug. 15:47:09 vponomaryov: we won't catch them all of course 15:47:25 more background: the bug in LVM is that the share must be temporarily exported in order for the unmount to proceed so we can revert the LV 15:47:35 s/exported/unexported/ 15:47:56 bswartz: else it gets stuck in lv merge state... were you able to unstuck it? 15:48:14 * ganso wonders if "unstuck" is a real word 15:48:21 at the very least the driver interface needs the manager to pass down all the access rules for that share so it can safely unexport/re-export the share 15:48:53 ganso: unstucking it isn't the issue -- it should never have gotten to that stage 15:49:21 anyways I want to clean up the nfs helper code and fix this bug at the same time 15:49:32 but that would be a reltively large change this late in the release 15:49:33 bswartz: if it is not possible to unstuck and recover the data, it makes the issue level increase to critical... I wasn't able to recover data 15:49:59 my proposal here is to remove the revert_to_snapshot_support flag from LVM 15:50:05 and fix this in pike 15:50:24 revert feature is not experimental, right? 15:50:25 the downside is that it leaves us with a test coverage hole for the new feature we merged 15:50:34 vponomaryov: correct 15:50:53 the only drivers that would support the feature in ocata would be netapp and hnas (I think) 15:50:59 then yes, either disable or fix 15:51:25 personally that doesn't bother me, as we will fix the bug in pike and have first party driver support again 15:51:42 but there's a risk of backports to ocata breaking the revert feature (a very small risk) 15:51:52 and the only way we would catch those is through 3rd party CI 15:51:59 do we set a bad precedent/incentives? 15:52:28 tbarron: I don't think so 15:52:55 the requirement that we have first party driver support for the feature wasn't really violated, it was just too buggy to release 15:53:07 well, I can get a feature in despite not having reliable first party test/success for it. 15:53:25 feature velocity vs stability 15:53:47 tbarron: what remedy would you prefer? 15:53:55 fix the LVM driver even if it's gross? 15:54:00 disable the feature entirely? 15:54:22 agree we don't have any great alternatives now ... 15:54:22 bswartz: I'd prefer fix even if it is gross, backport the good fix asap 15:54:51 * tbarron and again, I was part of moviing this one through feature freeze, am not casting stones. 15:55:04 I'm okay with the gross fix approach, but I wanted to warn you guys bout it 15:55:06 about* it 15:55:10 bswartz: even though my argument against share groups was that we could not test enough, I am in for fixing now, reviewing it, testing it (it is small) and shipping in ocata 15:55:41 okay I'll continue work on this 15:55:57 we're gonna skip the PTG topic today due to lack of time 15:56:00 #topic open discussion 15:56:06 anything else critical for today? 15:56:27 regarding the 17 open bugs, please get those fixes merged asap 15:56:55 bugs without fixes will get retargeted today unless I hear from the owner 15:57:14 and owners of bugs with fixes not ready to merge will be hearing from me 15:58:02 okay it looks like we're done 15:58:11 thanks all 15:58:21 #endmeeting