20:31:48 #startmeeting 20:31:49 Meeting started Wed May 16 20:31:48 2012 UTC. The chair is notmyname. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:31:50 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:32:04 three things to talk about. shouldn't take long, I hope 20:32:13 1) status of what to split out 20:32:19 2) 1.5.0 release timeframe 20:32:25 3) keystone stuff 20:32:38 #topic splitting stuff out of swift 20:33:10 I'd like to list the middleware we have (or had) and if anyone things it should stay in or be discussed, please speak up 20:33:18 swift3? 20:33:35 I that should def be split out 20:33:41 chmouel: were you goign to work with fujita on that? 20:33:52 he has the code split out, but no docs/packaging/etc 20:34:10 notmyname: I haven't get it touch with him yet (is he on IRC) but i can do as an action to get thing forward 20:34:18 someone could easily propose a patch to add that to hig gihub repo 20:34:31 cool 20:34:37 acl middleware? 20:34:53 I'd prefer it stay in 20:35:03 yeah it used by all middleware 20:35:06 ya, I think that makes sense 20:35:09 auth middleware 20:35:11 Those are really helper functions for other middleware tbh, so yeah stays. 20:35:21 tempauth? stays 20:35:28 same with catch_errors, emcache 20:35:47 tempauth could depend on what we decide with keystone 20:35:48 Did you mean tempauth? 20:36:09 i don't think so- need tempauth for saio 20:36:12 no. acl.py 20:36:17 I can't imagine separating tempauth. It's whole existence is to provide a test harness for the core swift repo. 20:36:55 domain_remap, formpost, tempurl, ratelimit? (they've all been removed. was that good for all of them?) 20:37:07 oh and staticweb too 20:37:30 anyone think they should stay in? 20:37:36 I kind of do 20:37:48 all of them? why? 20:37:50 ratelimit seems like a core thing 20:37:55 I'd like to see ratelimit in 20:37:58 I think rate limit as well 20:38:11 anyone want to argue ratelimit should be out? 20:38:13 I'm fine either way with all of those. I separated the ones I did to try to be consistent and hopefully not make other contributors upset that "their" stuff didn't get in. 20:39:02 That seems like an action item for me then: Revert ratelimit removal. 20:39:12 I don't know, staticweb and formpost seem like a good features. 20:39:18 domain_remap and cname_lookup (forgot that one) are pretty lightly used (I think). I'm fine with keeping those out. anyone think they should go back in? 20:39:25 It's not good or not, it's in core repo or not. 20:39:49 I don't want people to think "not in core; it must suck" or something. It's just division of reponsibilities. 20:39:57 ya, do we want to be responsible for maintaining that code and tie it's functionality to swift releases? 20:39:58 +1 20:40:07 s/it's/its 20:40:30 I don't want people to say "Well we got swift, but to get this feature everyone uses, we've gotta go to github.com/dpgoetz" 20:40:43 Not sure what "that" is in the context, but I'm already responsible for staticweb, formpost, tempurl, swauth 20:40:47 is it more about deciding what should be a "core feature" ? 20:40:54 redbo: that would be a packaging problem ? 20:41:27 and we don't know if it's been tested to the same rigor as swift core, and we don't know what versions of swift it's been integration tested with 20:41:29 is it "core repo" or "standard prod deploy". don't we want to make standard deployements of swift as easy / robust as possible? i'm worried about testing separate repos 20:41:52 as the token ops guy im 100% with dfg 20:42:23 ya, we want installs to be as easy as possible, but we also want to keep the scope as small as reasonable 20:42:27 Are we just talking about ratelimit? Or everything again? 20:42:56 was maintaining these things really causing anyone pain? 20:43:06 [Pronouns are irritating. :)] 20:43:08 i'm talking about everything (sorry) i just want a good reason for the bugs that will happen because of this 20:43:44 Dang, would've been cool for all this speak up while the geritt review was up. Hehe :) 20:43:45 I think it's because it opens door for other middleware to be added in swift core 20:43:58 redbo: I think swift3 compat causes some pain 20:43:59 i was i little busy with SOS... 20:44:05 dfg: :P 20:44:23 Well, we can pull swift3 out, especially if the primary maintainers don't mind. 20:44:49 ya, and 3rd party APIs are to be separate now, per openstack policy (aws, cdmi, etc) 20:45:19 while I reject their right to mandate that, I agree with the conclusion ;) 20:45:27 heh 20:45:29 I guess I'll go back to my position that maybe caused a lot of this ruckus. I personally don't want to maintain CDMI and ZFS code. I feel it's pretty complicated and my brain in kinda full. If that's just my problem, I'll deal. 20:45:57 gholt: +1 20:46:17 theres a set of features that Swift has to have or ship with to make it a viable product for operations teams, but i don't think it has to be a "keep all" or "discard all" type of scenario 20:46:18 I'm fine with that, I just don't like that that logic lead to a lot of things that I consider useful features to be pulled out of swift. 20:46:21 gholt: I don't think it's just your problem 20:46:26 if there was a plan for how they'd all be tested i'd feel better. before I approve commits I run unittests and functests. those just became a lot less meaningful. 20:46:59 (i do other stuf too :p) 20:47:17 ok, so swift3 should stay out. should all of the others come back in? or should some of them stay out too? 20:47:31 (and the next thing is the separation of the client libs and CLI) 20:48:04 should we make a vote with that #vote thing? 20:48:07 I don't know, staticweb is the only thing that's kind of big enough to stand on its own. But I think it's a pretty sweet feature and should probably be part of core. 20:48:09 notmyname: im indifferent on tempurl/formpost, but stuff like ratelimit/healthcheck/tempauth should stay for sure 20:48:13 would you like to vote on each of them or have a bulk vote? 20:48:32 Have to vote on the vote. :) 20:48:35 heh 20:48:38 ah 20:48:54 prevote survey 20:49:07 no exit polling 20:49:08 #startvote all middleware except swift3 should be included (or re-added) to swift: yes no 20:49:20 is that not how that works? 20:49:33 Fingers crossed 20:49:38 vote: yes 20:49:39 yes for include it, no for keep it separate 20:49:43 i think it's #agreed 20:49:46 #vote yes 20:49:52 #vote yes 20:50:03 #agreed 20:50:05 gholt's mom got exit polled. After she voted in the last election. 20:50:12 #vote yes 20:50:19 #vote yes 20:50:19 #vote yes 20:50:36 #vote yes 20:50:40 #endvote 20:50:40 shamockery 20:50:47 #vote yes 20:50:50 heh 20:51:00 I don't think I did that right, but we have a decision 20:51:11 #agreed keep or readd all the middleware except swift3 20:51:29 ok, so the client lib and CLI 20:51:33 That includes Swauth. 20:51:35 chmouel: are you working on splitting that out? 20:51:36 Joking joking 20:51:47 I would now like to read glange's absentee vote. glange: #vote discgolf 20:51:53 I don't think he knew what we'd be voting on 20:51:55 notmyname: yeah my only concern is if we want to add the direct_api there 20:52:05 ya, what should be pulled out? 20:52:15 gholt: ^^ 20:52:19 this would be stuff pulled out into a separate repo but still managed by the swift core team 20:52:38 I'm not sure why really, if everything else is in. 20:52:47 Just package stuff differently. 20:53:02 yeah well it would make easier for a lot of people to include it in pip 20:53:12 and not have to keep copy with bug or outdated in their own repos 20:53:18 well, should swauth be in a repo that's controlled by the group, or just by you? 20:53:20 or have them to use python-cloudfiles 20:53:36 gholt: ^ what I said 20:53:43 redbo: you'll have to beg him for collaborator access :-) 20:53:59 chmouel: is that solvable simply by packaging or does it require separate code locations 20:54:00 or fork it and move on, hehe 20:54:07 all of my precious swauth ideas wasted 20:54:15 notmyname: it is code location 20:54:16 the other openstack projects have separate code repos for their associated client libs 20:54:29 notmyname: as a pip cannot do subpackage 20:54:32 ah ok 20:54:56 so what needs to be in that separate code repo? just the client.py? the CLI? direct_client? 20:55:01 separate client libs make sense 20:55:09 ya, I like the idea too 20:55:12 breaking out the cli seems odd 20:55:15 definitively bin/swift and swift.common.client 20:55:17 how shall we do docs for the separate code use cases? 20:55:29 client.py and the CLI sound good; not sure about direct_client 20:55:30 annegentle: how is it done for nova/glance/etc? 20:55:40 annegentle: I'd assume the same way 20:56:00 yeah the cli and the client is a different package for all other os projects 20:56:09 "important" use cases are documented in priority order, however we haven't had to have people go to separate code repos for those yet. 20:56:29 annegentle: ah. I thought that was already done for all the other projects 20:56:39 chmouel: is it not? 20:56:59 mostly stuff that has been split out from nova has had its own API 20:57:04 (to clarify, this is to move this code to another openstack repo, but with the same -core team (ie us)) 20:57:28 ahh, in that case moving the cli makes sense 20:57:38 thought the cli would move to some random persons github 20:57:52 ok. anyone opposed to moving just the client lib and CLI to a separate openstack repo still managed by us? 20:58:11 (this is by the way ready here for just the CLI and client https://github.com/chmouel/python-swiftclient ) 20:58:42 chmouel: can you working with mtaylor and jeblair about getting that set up in openstack? 20:58:53 notmyname: yep will do that 20:58:54 (chmouel is getting a big list of stuff to do) 20:59:10 we're already pondering this on doc-core with the additional options to the .conf files, such as https://review.openstack.org/#/c/7479/ 20:59:17 hey hey and i'm on leave tomo and friday 20:59:30 ok, swift 1.5.0 release date 20:59:43 #topic swift 1.5.0 release 20:59:53 we'll release it when it's ready. what are we calling ready? 21:00:06 1) getting the middleware situation cleaned up 21:00:15 do we need to get the client libs split off first? 21:00:23 what's currently in there? i haven't been paying much attention? 21:00:27 notmyname: ola 21:00:31 chmouel: yay! 21:00:48 dfg: everything since before the summit 21:00:58 https://launchpad.net/swift/+milestone/1.5.0 21:01:32 I'd like to see the expanded recon support and proxy logging middleware be in 1.5.0, but those are lower priority to me 21:02:17 (less important == less important than solving the middleware issue, not that they aren't important) 21:02:53 anyone want to release 1.5.0 before those land? or should they be essential to the release? 21:03:31 the proxy logging middleware has problem with swift3 i think 21:03:32 ok, I'll take that to mean that they should all land :-) 21:03:41 but is it a problem anymore if it's pulled away? 21:04:11 yes, it's a problem overall, but it's not something that should block 21:04:33 that might be fixed. I don't have a good functional test for swift3. 21:04:51 ok, chmouel and redbo can work together to make sure that works 21:05:19 can we get these things merged by May 25th? 21:05:40 then we can test/QA the next week and release 1.5.0 on the 31st 21:05:43 cool ok, i think zaictev was interested as well to work on that 21:05:45 anyone opposed to that? 21:05:50 chmouel: cool 21:06:59 fine with me 21:07:01 ok, I'll let ttx know that our tentative date for 1.5.0 is May 31st 21:07:24 now for the unexpected topic that came up yesterday: keystone 21:07:36 #topic swift+keystone sitting in a tree.... 21:07:54 s-p-i-t-t-i-n-g 21:08:08 I am personally all fine with the current situation 21:08:12 currently the swift+keystone middleware lives in the keystone project 21:08:58 I think the hard part is not who maintains the code but how the integration testing is done 21:08:59 as long we communicate the change that need to be done on the other auth middleware clearly 21:09:56 one argument is that we should manage the keystone integration so as to provide a "drop-in" usability of swift with the other projects 21:10:14 I was hoping that heckj would be able to be here for this, but he doesn't seem to be online 21:11:14 first question: where should the keystone middleware live? in swift or in keystone? 21:11:37 should we vote? 21:11:52 #startvote where should the keystone middleware live? in swift or in keystone? 21:11:53 Begin voting on: where should the keystone middleware live? in swift or in keystone? Valid vote options are Yes, No. 21:11:54 Vote using '#vote OPTION'. Only your last vote counts. 21:12:00 heh 21:12:05 nice 21:12:07 #vote no 21:12:08 redbo: no is not a valid option. Valid options are Yes, No. 21:12:13 ok, yes == keystone, no == swift 21:12:15 putting it into swift would also mean that its controlled by our core devs who don't have any experience with it and don't really use it. doesn't that mean we shouldn't control it? 21:12:24 * notmyname slaps openstack 21:12:37 dfg: well the argument can be seen from the other side 21:12:48 chmouel: does anyone run both? 21:12:54 who gets to vote? 21:13:03 annegentle: core devs please :-) 21:13:08 notmyname: you got it 21:13:13 annegentle: but I welcome your input 21:13:17 #vote whatever causes the least friction 21:13:17 dfg: and to tell truth the auth_token middleware abstract most of the keystone interaction 21:13:17 redbo: whatever causes the least friction is not a valid option. Valid options are Yes, No. 21:13:30 hee hee openstack 21:13:38 chmouel: where does the middleware for the other projects live? 21:13:47 in their own 21:13:54 so nova in nova, etc? 21:13:55 i think that's the plan 21:14:10 yeah not for essex but for folsom that't the plan AFAIK 21:14:49 and have auth_token middleware only in keystone 21:14:59 what does auth_token do? 21:15:18 it sits in the pipeline 21:15:28 before the swift middleware and takes the login and do the validation 21:15:34 the credential i mean 21:15:53 so the admin token (as opposed to the user's token)? 21:15:55 and pass headers to the next middleware if authenticated with the roles etc... 21:16:29 notmyname: it will use the admin token to the validation 21:16:51 ok, so the responsibility is split? keystone does part of it and nova does another part of it? 21:17:01 and that's the plan overall for all openstack projects? 21:17:30 i need to double check but that was my understanding 21:18:04 torgomatic: thoughts from your perspective? 21:18:16 pandemicsyn: gholt: you've been quiet too 21:18:52 I don't have enough information or concern to make a decision here. Abstain. 21:18:55 dfg: I think most swift-only deployments (most swift deployments) don't use keystone. but all openstack deployments use keystone 21:19:19 chmouel: there is the generic auth_token middleware that can validate a token and set some context variables in wsgi 21:19:22 but that's a guess based only on what I've heard 21:19:23 I haven't used Keystone enough (at all, really) to have any useful input 21:19:31 https://github.com/openstack/keystone/blob/master/keystone/middleware/auth_token.py 21:19:40 so- if we added keystone. it would be good for openstack deployments? since they'd have a single auth system? 21:19:41 there is actually a header with docs about what it does 21:20:09 the thing that needs to be in each project is the conversion of the auth_token variables to project specific shims 21:20:10 my only concern would be that, if I do spin up a Swift cluster using Keystone, that I don't have to install all of Keystone on my Swift nodes just to get some auth middleware 21:20:11 dfg: well, if it's a full openstack deploy, then they already have keysone so they have the middleware either way 21:20:33 theoretically new services could consume auth_token directly and not need a shim between auth_token and the service 21:20:36 torgomatic: I think it would still be optional in that you could use tempauth 21:20:40 does it have unit / func tests? 21:20:52 torgomatic: there is talk of moving auth_token.py to openstack-common 21:21:10 notmyname: yeah right to answer the question as anotherjesse is saying all the glance/nova middleware are out of keystone only swift_auth is there 21:21:11 since it is a standalone "module" that doesn't require anything else 21:21:51 notmyname: right; I'm just talking about the quantity of unused (on my Swift nodes) code that comes along with a full Keystone install 21:21:52 yeah definitively auth_token stays in keystone 21:21:56 chmouel: correct - we used to have the nova-specific shim in keystone (due to the delays in keystone existing and nova being released while the middleware was still being tweaked) 21:21:59 torgomatic: ya, ok. I misread 21:22:03 but it is now in nova 21:22:41 torgomatic: we (openstack) should allow packagers to deploy keystone's auth_token middleware without the rest of keystone - nothing stops it currently 21:22:56 so moving the keystone piece into swift means that we are responsible for testing it with each release (commit, rather) 21:23:23 chmouel: should the unittests in python-swiftclient be expected to work right now? 21:23:48 notmyname: https://github.com/openstack/keystone/blob/master/keystone/middleware/swift_auth.py is the file we are talking about right? 21:23:53 anotherjesse: ya 21:24:10 mtaylor: it should I think but it doesn't i'll take a look again at it 21:24:15 notmyname: that is a file that converts the settings from authtoken (in the example pipeline) to swift specific variables 21:24:22 chmouel: ImportError: No module named unit.proxy.test_server 21:24:45 it is swift specific code - not keystone specific - although it does rely on the environment coming from authtoken 21:25:02 mtaylor: hum i'll follow up with you in #openstack-dev later 21:25:11 chmouel: cool 21:25:14 the contract from authtoken *SHOULD* not change without considerable effort by all projects 21:25:19 anotherjesse: doesnt' that tie release schedules together (or at least tie them to freezing that env every 6 months)? 21:25:21 since it requires updating all the other projects 21:25:34 a 21:25:35 ya 21:25:48 notmyname: we haven't changed the interface since diablo 21:25:52 and don't expect to for folsom 21:26:43 that's good. I'm not sure either way yet. I'm still learning what taking responsibility for that truly entails 21:26:47 notmyname: the expectation is that you might want to change what the mapping is 21:26:54 for instance the reseller stuff 21:27:41 its not much code. if it causes a problem it can be removed. i guess my only concern is who'll maintain / peer review it / will it cause bad dependencies between projects on different schedules 21:28:22 #endvote 21:28:23 Voted on "where should the keystone middleware live? in swift or in keystone?" Results are 21:28:29 whatever 21:28:33 dfg: I can def maintain it in there and I know that the HP guys and mnewby from internet has been involved 21:28:49 i mean internap :) 21:29:01 ok- then i'm fine with it being in. 21:29:07 +1 21:29:14 there is more swift specifics than keystone specifics tbh 21:29:32 #startvote move swift_auth.py middleware from keystone to swift 21:29:39 stupid openstack bot 21:29:46 #startvote move swift_auth.py middleware from keystone to swift? yes no 21:29:47 Begin voting on: move swift_auth.py middleware from keystone to swift? Valid vote options are yes, no. 21:29:48 Vote using '#vote OPTION'. Only your last vote counts. 21:29:57 wow it has to have a ? 21:29:59 ? 21:30:05 stupid openstack bot 21:30:07 ;-) 21:30:08 #vote yes 21:30:12 #vote yes 21:30:16 #vote yes 21:30:18 #vote yes 21:30:39 #vote yes 21:30:55 abstain 21:31:02 redbo abstains too 21:31:03 torgomatic: ? 21:31:07 abstain 21:31:11 #endvote 21:31:12 Voted on "move swift_auth.py middleware from keystone to swift?" Results are 21:31:13 yes (5): mnewby, dfg, pandemicsyn, chmouel, notmyname 21:31:30 ok, I'll work with heckj and see what needs to be done 21:31:48 I'll add this as a requirement to 1.5.0 since it shouldn't take much 21:32:03 sweet, finally. 21:32:16 ok, sorry this went longer that I expected. I wasn't planning on talking about keystone until yesterday 21:32:20 thanks all 21:32:22 #endmeeting