16:01:14 #startmeeting cinder 16:01:15 Meeting started Wed Dec 19 16:01:14 2012 UTC. The chair is jgriffith. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:01:16 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:01:18 The meeting name has been set to 'cinder' 16:01:23 o/ 16:01:27 o/ 16:01:28 hi 16:01:33 hi 16:02:26 hey .... ok, of course the folks who's BP's I pushed out yesterday aren't here :) 16:02:48 Let's get started anyway and they can catch up or we can back-track 16:02:54 #topic G2 status 16:03:09 We're looking pretty good I think 16:03:32 I did push out local-volumes, expected_states and the metering BP's 16:03:49 the date is Jan 10th right? 16:04:00 bswartz: hehe... well as of today yes 16:04:11 hi, oops, m late 16:04:52 So that's possibly going to change 16:05:15 There's some schedule tweaking going on to accomodate when the summit might land 16:05:34 Most likely it will stay, but ther'es a possibility that it will push out a week 16:06:31 more time is always welcome 16:06:40 :) 16:07:14 anyway.. 16:07:16 https://launchpad.net/cinder/+milestone/grizzly-2 16:07:41 I'm still concerned about volume-backups, anybody have any updates on that one? 16:07:54 I can talk about that 16:08:11 hey... frankm didn't see ya standing there 16:08:41 The architecture changes for the port are larger than we expected in terms of volume handling 16:09:09 We're working though them, it's slowed us down a little 16:09:39 so what are your thoughts re G2? 16:09:52 But on the plus side the volume backups will fit into the pluggable backend architecture 16:09:59 and btw do you have anything up on github for folks to start looking at? 16:10:08 We're still pushing to hit G2 16:10:54 Nothing on githib yet, we should have something up there early in new year 16:10:58 frankm: hmm... I'm kinda worried 16:11:11 frankm: only because it's a fairly significant change 16:11:22 frankm: I'm worried we won't have the review time it deserves 16:11:51 We're pushing as fast as we can - as soon as we've got a draft to review, we'll put something up 16:12:11 frankm: it would be good if you can have it broken up if possible so we can start reviewing some of it. 16:12:12 DuncanT: frankm Just to be clear, not a knock on your efforts at all 16:12:20 DuncanT: frankm just trying to plan ahead 16:12:26 np 16:12:30 I understand 16:12:48 with most folks taking next week off I'm concerned the patch lands a day before lockdown :) 16:13:31 Remember, release is the 10'th but we freeze a few days before that 16:15:15 We'll push as hard as we can to get something in as early as possible 16:15:35 Ok we'll leave it for now and I"ll touch base with you after Christmas :) 16:15:56 Maybe we'll get an extra week, should know the answer to that later this week 16:16:17 If G2 slips, then would G3 automatically slip too? 16:17:11 bswartz: yeah 16:17:28 So the background is that we're talking about slipping G3 to aline closer to the summit date 16:17:37 as a result everything would slide 16:17:50 anyway, I'll let everyone know if that happens 16:18:11 and now I'm off my conf call so you all have my full undivided attention :) 16:18:22 back to remaining G2 items... 16:18:39 I think I've touched base with everyone 16:18:56 Anybody concerened they're not going to hit next week? 16:19:12 Or first week of January? 16:19:25 Or any surprises that aren't on this list that should be? 16:19:45 Hi John. This is Xing. How about the code review for EMC Volume Driver? Are you going to review it? 16:20:00 xyang_: yep 16:20:23 Ok... if nobody wants to talk about G2 16:20:42 the only thing I'll add is as always we need reviewers 16:20:57 If you're on core you should be looking at this at least once a day IMO 16:21:00 how much is ready for review already? 16:21:07 bswartz: ? 16:21:12 Sorry I missed the beginnig of the meeting. When will be G2? 16:21:28 I mean how much more is coming relative to what's done now? 16:21:32 xyang_: Jan 10, but that last week is bug fixes only 16:21:39 review-wise 16:21:41 bswartz: a good bit :) 16:21:48 https://launchpad.net/cinder/+milestone/grizzly-2 16:22:01 bswartz: You can see the status of the targetted items there 16:22:18 I'll take a look at the "needs code review" stuff 16:22:18 but also keep in mind there is work going on outside of targetted 16:22:37 it's best if folks can just jump on gerrit and search for open reviews in cinder and cinderclient 16:22:51 anyway... 16:22:59 i started putting in couple of hours each day for code review, from today 16:23:10 #topic external PYPI includes 16:23:26 So the HP 3Par driver brings up an interesting new twist 16:23:37 they have an external lib published to PYPI 16:24:11 This raises the question of packaging/adding it to the cinder project requires 16:24:18 external for licensing reasons? 16:24:23 So, the question is how to handle dynamic dependencies? 16:24:32 jgriffith: I commented on that in my code review of the driver...seems odd 16:24:35 bswartz: thank goodness NO, otherwise it wouldn't even be a question IMO 16:24:39 hemna is not on but I should be able to answer any questions 16:24:57 So the idea is they have it for other uses so don't want to maintain in two places 16:25:07 okay 16:25:16 It's valid IMO, however I'm not crazy about it 16:25:53 Is there any way to keep the model but not require every user to install the client, regardless of what back-end they use? 16:25:59 yeah it seems like you can keep the seperation between cinder and non-cinder things at an API level and not having to do funky code imports 16:26:28 so the good thing is it's licensed under Apache 16:26:42 I'm leaning towards implement it in the driver like the rest of us... 16:26:44 Or... 16:27:01 You can include it to get sucked in for unit tests but not in the release packaging 16:27:38 ah - so the problem is more with the unit tests than the actual delivery of the driver.? 16:27:43 Unit tests use the fake driver - why is the real client needed? 16:27:52 :) 16:28:10 So this brings up all sorts of issues so let me just propose this: 16:28:24 My personal thought is I do NOT want to go this route 16:28:38 while it makes sense for HP and their maintenance it's bad for ours 16:28:51 we technically should be reviewing their PYPI lib 16:29:30 I don't see why the existing httlib, json and other tools can't be used in OpenStack 16:30:27 for those that are intersted and haven't seen it: http://pypi.python.org/pypi/hp3parclient 16:30:42 Where does there lib hook in? I haven't look at the pull request. 16:30:58 Does it use a driver to wrap calls to hp3parclient? 16:31:04 https://review.openstack.org/#/c/18351/ 16:32:15 walter you around? 16:32:33 galthaus: the impression i got is that things related to the controller are in the separate package, and things related to OpenStack are in the driver 16:32:38 jgriffith: no he's not on 16:32:44 kmartin: bummer 16:33:00 avishay: It appears that way. 16:33:16 avishay: galthaus yeah... sorry 16:33:47 avishay: galthaus what I haven't quite figured out is the need for it in unit tests 16:34:13 I also didn't really understand why there was ~100 LOC implementing SSH functions when there are available functions 16:34:14 seems that the client throws typed exceptions 16:34:28 defined in the hp3par client module 16:34:32 aabes: yeah, but that's the only thing I can find 16:35:19 seems that they host the code on github... http://packages.python.org/hp3parclient/installation.html 16:35:31 can a similar approach to the openstack-common address the issues 16:35:45 yep - stubs for those and draw the line going forward that You need to provide stub libraries for external non-common dependencies. 16:36:01 I'm not happy with that statement either, btw. 16:36:21 avishay: the problem is the driver is ahead of the 3par release cycle, so the need to fall back to SSH 16:37:14 kmartin: i didn't do a thorough review, but couldn't they have used available SSH functions? 16:37:23 avishay: +1 16:37:36 So here's the main question IMO 16:37:59 Do we want to set a precedent of just using your own published external libs to do drivers in Openstack/cinder? 16:38:12 we could but due to the limited ssh connection on the 3par array we wanted to the REST route 16:38:45 sorry, i'm late 16:38:51 jgriffith: what about binary distributions? 16:39:14 aabes: yeah so that's the next problem right 16:39:20 jgriffith: I can see both advantages and disadvantages, I'm not sure I have a strong opinion on that one 16:39:48 or otherwise non OS code... vendors might chose not to expose internal efficient protocols.. mostly so they control the UX and support 16:39:49 bswartz: the disadvantage is when there's a bug reported against Cinder and we have to try and fix it 16:40:12 bswartz: and the bug is in their PYPI lib 16:40:45 bswartz: It's not that we don't deal with external tool chains already but we use them in a global manner 16:40:54 jgriffith: does that point towards coverage of unit tests? 16:40:57 using them for a single driver in a project seems off to me 16:41:09 aabes: sure, in theory :) 16:41:25 if the bug is only triggered when the 3par driver is active, I don't see how any would have a problem with it who wasn't also empowered to fix the bug where it needs to be fixed 16:41:36 anyone* would have a problem 16:42:11 bswartz: My point is I don't want to have to muck around with their client to triage or fix a bug that gets reported in Cinder 16:42:21 there's still the test-requires issue... 16:42:42 aabes: yup 16:42:44 yeah the unit tests seems like a bigger issue than the bugs issue 16:42:54 if there's a test-fake-requires or somesuch, that allows you to test with fakes 16:42:56 bswartz: agree 16:43:06 jgriffith: But you have a worse problem in some regards if you make them include code that is specific to their stuff anyway. 16:43:11 or maybe the otherway around - test--requires 16:43:21 galthaus: except it's in their driver :) 16:43:30 This is in their library 16:43:40 galthaus: we have access to the repo, single bug system, single review process etc 16:44:05 jgriffith: you'd still need a 3par box to be able to test it ;) 16:44:19 aabes: and there's the big problem with all of our drivers :) 16:44:50 Yeah - I guess I don't see the distinction from a driver with specialized code and a driver that calls a library with specialized code. 16:45:03 yeah that argues for not worrying about the bug thing -- a bug that is driver specific is not really fixable by people other than the vendor anyways 16:45:04 alright, well I'm not getting a clear picture on how people feel about this topic 16:45:08 imho, vendors will be highly motivated to give their users good UX and quick resolution to problems, as long as the finger can be pointed squarely at them 16:45:14 but if i make a change to cinder that requires minor changes to all drivers, i can do that, until now 16:45:47 galthaus: I guess my point was that if it's a lib or a driver doesn't matter but my point was it might be best if it resided in Openstack/Cinder 16:45:48 I don't think we need to worry too much about driver-specific bugs -- they only affect a subset of users, and those user presumably have contacts directly to their vendors 16:45:51 avishay: can you? I'm not sure you can safely do it in ither case. 16:46:12 bswartz: disagree... have you seen the bugs being logged against NetApp :) 16:46:22 yes, I was going to mention those 16:46:36 bswartz: theyre' logging them in Luanchpad against Cinder, not their NetApp support contacts 16:46:37 my feeling is that i don't really care, but i'd rather not have to install this library if i don't use it 16:46:37 I don't expect cinder-core people to fix our bugs 16:46:46 avishay: What's the difference between an ssh call that does unknowable magic and a local python call that does unknowable magic? Either way I can't change it without knowiing the semantics 16:46:46 we are fixing our own bugs 16:46:51 jgriffith: yeah. There is a nicety to having it in your space. 16:47:25 Ok... so no clear outcome here it seems 16:47:29 How about this.... 16:47:30 avishay: I think that is the underlying question. Can we design/tweak the system to enable custom libraries, but validate taht the cinder code works. 16:47:33 avishay: the driver is still in cinder, just the python wrapper client that lives in the pypi, and the driver has unit test that also resides in cinder 16:47:39 Folks that are so inclined take a look at the review 16:47:57 If there are things that the unit tests can/should be doing without the client then suggest it 16:48:08 If we need to add it to test-requires, cool, we'll do so 16:48:14 For end users.... 16:48:43 Yep, please comment on the review and Walt will be in later today to respond :) 16:48:44 We don't try to get Cannonical and others to package it we jsut document it in the drivers section that the end user needs to install the lib 16:48:53 hmm... seems that some of the netapp bugs (the 2 i looked at) have to do with cinder->driver expectations.... 16:49:19 aabes: and good lead in... 16:49:25 (have a plan to get a readme in lace, but other priorities) 16:49:25 #topic driver bugs 16:49:35 So this is NOT NetApp specific 16:49:35 * bswartz hides 16:49:40 this is general 16:50:05 so part of having a driver accepted in to Cinder and OpenStack is it's supported and it's part of OpenStack 16:50:17 That means that we ALL have to support it 16:50:28 we all have to contribute to bug fixes etc 16:50:38 jgriffith: what if a bug is only reproducible with real hardware? 16:50:46 While there are cases that this may not be practical due to hardware that's not always the case 16:51:04 bswartz: agreed, there are cases where that's going to happend 16:51:06 happend 16:51:12 AHHHH... keyboard 16:51:23 * jgriffith is removing the d key 16:51:53 but really,if we're not supporting what we put in then what's the point in integrating the driver? 16:52:16 If you want to go that route just provide your customers with a patch or a driver yourself and leave the rest of us out of it :) 16:52:27 I thought the point was to make it easy for the linux distros to redistribute all the drivers 16:52:42 bswartz: the point is that it's a supported OpenStack componenet 16:52:45 and users to consume it ;) 16:52:45 component 16:52:52 * jgriffith can't type this morning 16:53:30 I don't think it's unreasonable to take the stance that Cinder distributes vendor-specific drivers, but does not support them 16:53:36 really, if all OpenStack is to folks is a packaging method then I'm sure wasting an awful lot of my time 16:53:58 if supporting them is really what we want to do, then I agree we need something better than what we have 16:53:59 bswartz: haha that should go over really well 16:54:31 bswartz: Ok, well I'll just start marking any bug that comes in and somebody is using a third party driver as invalid 16:54:40 I'll say, "not supported, just packaged" 16:54:42 looking at ceph... cinder provides path to innovative integration of the pieces of openstack... 16:55:04 yes.. you could in theory go and fix bugs in their code, but do you have a handy cluster of scale to test on? 16:55:10 jgriffith: we track bugs internally -- the reason that there are also bugs filed against cinder is so we have something to reference when the fix goes in 16:55:29 alright, I think I'm wasting my breath 16:55:34 but I'll just say... 16:55:52 We still HAVE to triage every bug and make sure the problem is not in the Cinder infrastructure 16:56:27 this one feels like an enhance,net request for the infra: https://bugs.launchpad.net/cinder/+bug/1091480 16:56:29 Launchpad bug 1091480 in cinder "NetApp: Errors if requests are too close together" [Undecided,New] 16:56:37 but what you're saying is that if we do that and get to the point where it's in somebody's driver then leave it alone until somebody from NetApp, SolidFire or wherever comes in and fixes it? 16:56:43 a backoff mechanism, that might be applicable to many drivers 16:56:55 aabes: Yeah, and the answer is NO 16:57:01 :( 16:57:19 Until it's evident that a backoff mechanism is needed by all the other drivers 16:57:22 IMO 16:57:28 that sounds fair. 16:57:33 okay so I need to grab netapp specific bugs and assign them to myself or rushi, so they don't distract you guys 16:57:57 sorry I didn't do that 16:58:16 bswartz: No, that's not really my point 16:58:27 bswartz: I don't think there's anything wrong or bad about anything right now 16:58:39 bswartz: I was just wanting to clarify some expectations 16:58:52 bswartz: but it seems I'm in the minority on this one as well 16:59:14 Folks seem to agree that OpenStack/Cinder is just a packaging/distribution mechanism for the vendors 16:59:21 so much for OpenSource 16:59:46 * jgriffith walks away depressed 16:59:54 I think we're still getting benefits from open source here -- in case you didn't notice, one of our users actually fixed a bug he found in the netapp driver 17:00:20 bswartz: ahh... and there's my point 17:00:29 * winston-d agrees with jgriffith on this one 17:01:03 bswartz: So the reason we review drivers and such is becuase we are expecting to offer at least some level of support 17:01:42 anyway... like I said, this applies to all drivers IMO 17:01:57 this is NOT a NetApp related rant on my part or anything else 17:02:13 Meanwhile... it's also not very constructive so moving on 17:02:15 okay -- so is the concern that our current model is incompatible with the plan for 3par wants to do? 17:03:01 I like the idea of drivers being supported to the extent possible by the core team, as long as we understand there are limits to that support where real hardware is required 17:03:23 over time limit, gotta go - bye all 17:03:31 bswartz: indeed 17:03:41 bswartz: there are limits for sure 17:03:50 bswartz: but we should make an effort 17:04:23 alright... we're about out of time 17:04:31 #topic open discussion 17:04:31 ok what did I miss? 17:04:51 hemna: you missed almost everything. :) 17:05:05 haha 17:05:12 ;) 17:05:20 hemna: we can talk offline 17:05:34 jgriffith: rtslib has been put into pypi now, so i'm going to go look at that for the LIO changes 17:05:51 eharney: :) 17:05:59 are we missing a possible benefit here - perusing through the 3par lib.. it mostly does very plain vanila things. 17:06:01 eharney: when did it land? 17:06:15 aabes: yeah, that's the beauty of it 17:06:20 jgriffith: yesterday evening 17:06:25 eharney: nice! 17:06:38 heh ok 17:06:39 So how about this: 17:06:43 I just got in the office 17:06:53 define a few exceptions, and a few very basic methods. most seem generally applicable to cinder... 17:06:54 add the external lib to the test-requires only 17:07:10 for customers that want to use it document it as a requirement 17:07:23 in your driver add a check-setup function that verifies it's there 17:07:56 In the case of the HP client this is works becuase it's Apached licensed so there's no conflict 17:08:02 and how do you get the check-setup to be called prior to the import ? 17:08:20 hemna: You could do an __init__ 17:09:01 hemna: I think it would work to do something like: /drivers/hp/__init__.py, 3par_driver.py 17:09:23 hemna: There are also ways to wrap the import 17:09:30 ok 17:09:42 hemna: in fact IIRC there's a function in utils to do that 17:09:44 anyway 17:09:56 anybody else haveinput or care? 17:10:01 :) 17:10:30 If you think I'm worrying about nothing please say so 17:10:41 so I presume the major point of the discussion was around not adding the 3rd party library to pip-requires, where a particular driver is the only code that needs it? 17:10:48 I'm going to have to re-read the whole debate to be able to form a real opinion TBH 17:11:02 But I suspect your worries are not unreasonable 17:11:05 DuncanT: Yeah, and there's some filtering of the other topics there 17:11:13 hemna: Yes, that's what I was thinking 17:11:20 ok 17:11:43 hemna: It doesn't seem unreasonable to me and maybe we'll change it later 17:11:43 Shall we give people a chance to read the code & the comments made, digest and comment again next meeting? 17:11:50 I guess it would be a moot point if there was a built in mechanism that allowed for deps for components to be pulled only when they are used. 17:11:53 DuncanT: indeed, very good point 17:11:54 but that's probably asking too much 17:12:18 #proposal Folks check out the 3par review and lib and form an opinion on test-requires and pip-requires 17:12:42 I don't think it's unreasonable to not install it by default, since in this particular case, only people that are going to use the driver need it. 17:12:53 Soa! any FC status ? :) 17:12:57 just dropping in ! 17:13:00 will do 17:13:14 kmartin: ^^ 17:13:25 * zykes- guesses for hp legal :p 17:13:35 zykes-: I believe it's cleared 17:13:36 zykes-: Cleared the HP legal hurdle, all clear to submit 17:13:37 jgriffith, fwiw in the review I don't think I added the pip-requires changes, but only the test-requires 17:13:47 hemna: :) 17:13:54 #topic next weeks meeting 17:14:08 Planning to skip, anybody have an objection? 17:14:08 kmartin: got a few after the meeting ? 17:14:33 Or course anybody is welcome to chair in my absence 17:14:51 zykes-: sure until another meeting I have to attend at 9:30 17:15:25 Ok... no meeting next week unless somebody voices an objection between now and then 17:15:38 jgriffith: HP is shut down next week, so we will not be in the office 17:15:55 * jgriffith misses shut-downs 17:16:10 alright... Have a great Christmas everyone 17:16:20 jgriffith: you too 17:16:24 or other Holiday that you may choose to celebrate :) 17:16:28 #endmeeting