18:02:12 <heckj> #startmeeting
18:02:13 <openstack> Meeting started Tue May 29 18:02:12 2012 UTC.  The chair is heckj. Information about MeetBot at http://wiki.debian.org/MeetBot.
18:02:14 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
18:02:28 <heckj> Ola all
18:02:35 <heckj> #topic status and progress...
18:02:45 <heckj> milestone 1 is cut and available
18:02:50 <heckj> so we're into milestone 2
18:03:11 <heckj> #link https://launchpad.net/keystone/+milestone/folsom-2
18:03:25 <heckj> Lots of blueprints this next milestone
18:03:31 <ayoung> IPv6....
18:03:48 <ayoung> I was hoping to use Apache HTTPD and make it a non issue.
18:03:49 <rafaduran> hi all
18:04:02 <ayoung> Let me check on the status of Eventlet upstream IPv6 support.
18:04:09 <dolphm_> o/
18:04:16 <heckj> ayoung: sounds good
18:04:32 <heckj> token_id work is under review now
18:05:04 <heckj> V3 API is in review, and needs another draft. I have a significant amount of feedback to pull together this week.
18:05:19 <heckj> Is joesavak around?
18:07:09 <heckj> dolphm (guilty by association here) - any idea what joesavak specifically wanted with https://blueprints.launchpad.net/keystone/+spec/rbac-keystone? (I updated the whiteboard with what I think it needs, but wasn't sure)
18:08:19 <dolphm_> He reviewed my proposal, and gave it a thumbs up
18:08:37 <dolphm_> Some of his feedback was already included in what I posted tithe draft API
18:08:58 <heckj> dolphm_: do we need a separate blueprint for what he wants there?
18:09:34 <dolphm_> Something specific you're referring to?
18:09:59 <heckj> dolphm_: just trying to figure out what he wanted with the blueprint and how to track it's "progress".
18:10:03 <heckj> everett toewes about?
18:10:17 <dolphm_> He likes actions/capabilities, doesn't need rules for rax
18:10:27 <heckj> chmouel?
18:10:48 <heckj> dolphm_: I guess my question really is should we be tracking a blueprint for that specific work against the v3 api?
18:11:53 <dolphm_> I'd roll it into the RBAC-keystone bp, but it's up to you
18:13:19 <heckj> I'll hunt down chmouel and everett related to the last two blueprints in folsom-2 to find out how they're doing and what help might be needed. Everett is a new contributor, so i'm expecting he'll need some
18:13:45 <heckj> #topic open discussion
18:14:33 <heckj> We've got a pile of reviews outstanding. I'm working through a number today
18:14:52 <heckj> haven't checked bug and questions this week yet either, so I"ll be trying to hit that today as well
18:15:28 <heckj> Any open questions?
18:16:15 <liemmn> o/  Thanks for all the love for https://review.openstack.org/#/c/7706/...  How do we trigger SmokeStack for patch set#3?
18:16:39 <ayoung> https://review.openstack.org/#/c/7706/
18:16:49 <ayoung> the ... messes up the hyperlink
18:17:22 <liemmn> What ...?
18:17:27 <heckj> liemmn: not entirely sureā€¦ mtaylor or dprince might have a good idea
18:17:28 <dolphm> need someone with smokestack admin access to retrigger last i asked
18:17:39 <liemmn> okie dokie
18:18:38 <ayoung> who are the core reviewers?  Why does this patch require so many reviewers to get in?  We have 3 community members plus core....
18:19:00 <heckj> ayoung: all reviews take 2 core reviewers
18:19:21 <dolphm> i'm happy to +2 if there's community consensus there
18:19:38 <heckj> core members are https://launchpad.net/~keystone-core/+members
18:19:39 <ayoung> dolphm, are you core?
18:19:45 <dolphm> ayoung: yes
18:20:08 <ayoung> yeah, and this code is basically adding in functionality that didn't make the KSL redo
18:21:24 <ayoung> As far as other topics:  I have a working proof of concept of the PKI signed tokens
18:21:38 <dolphm> :D
18:21:42 <ayoung> #link https://github.com/admiyo/keystone/tree/signed-tokens
18:21:46 <heckj> ayoung: nice!
18:22:26 <ayoung> One thing I noticed is that the service.py authenticate method is kindof overflowing its scope.  I think this should move mostly into a middleware component
18:22:53 <ayoung> it does more than authenticate, really,  as it also generates the data for the token,  then calls the token API
18:23:08 <dolphm> what would you move to middleware?
18:23:35 <dolphm> it is a token api call
18:23:40 <ayoung> this one might include a refactoring where user-id authentication is one middleware component, and the token generation and persistance a different one
18:24:00 <ayoung> I have to grok the architecture a little bit better
18:24:36 <dolphm> if you can simplify, please do!
18:25:09 <ayoung> dolphm, there are 3 stages as I see it.  1 is authenticate.  2  Is generate token,  and that needs to call the SSL binary (in my first impl)  3 is persist to DB/KVS whatever
18:25:45 <ayoung> I'd like to be able to say:  add in these two authentication mechanisms:  basic-auth,  certiificate,  and if you use those,  you then get aswsigned a token
18:26:02 <ayoung> however,  if you come in with a token,  you can do new things.
18:26:28 <ayoung> But you need to use a non-token based auth in order to get assigned a token,  or tokens never really time out...
18:27:09 <dolphm> basic-auth == http basic auth?
18:27:14 <ayoung> dolphm, yes
18:27:42 <ayoung> dolphm, as well as client certificate auth, which is part of the PkI blueprint.
18:27:59 <dolphm> makes sense to me
18:28:40 <ayoung> dolphm, the idea is, I think, that the authentication mechanism sets REMOTE_USER,  which is the WSGI way of saying the container has done auth for us.
18:29:16 <ayoung> So the definition of authenticated is that REMOTE_USER is set,  and then we can build a token for users that need it
18:29:45 <ayoung> It should also allow us to interop with Apache HTTPD a little more cleanly
18:29:51 <dolphm> cool
18:31:58 <ayoung> heckj, I'd like to backpeddal on https://bugs.launchpad.net/keystone/+bug/996139
18:32:04 <ayoung> "Change default token backend from KVS to SQL "
18:32:05 * heckj looks
18:32:06 <uvirtbot> Launchpad bug 996139 in keystone "Change default token backend from KVS to SQL" [Undecided,In progress]
18:32:14 <ayoung> I think that change only makes sense if we default to HTTPD
18:32:37 <ayoung> I think that for Eventlet,  I'd prefer to keep the Tokens in memory.  Especially in light of the PKI Signing
18:32:55 <dolphm> what's the impact from pki?
18:33:04 <ayoung> since we won't have to go back to Keystone to authenticate tokens,  "losing" them on reboot is no longer a real concern
18:33:34 <heckj> ayoung: I'm OK with that. You're welcome to mark the bug as invalid to kill it.
18:33:45 <ayoung> I like memory vs  SQL  for security reasons
18:34:02 <ayoung> IE,  you can't get access to everyone's token via A SQL query
18:34:08 <ayoung> heckj, OK.  Will do
18:34:16 <dolphm> ah
18:34:43 <dolphm> do pki tokens need to be persisted at all, then? or just logged a bit
18:35:17 <rafaduran> ayoung: if many tokens are saved in memory, can be an issue?
18:35:35 <ayoung> rafaduran, possibly
18:36:00 <ayoung> the new tokens are going to be larger.  Probably about 700 Bytes or so,  ve 64 currently
18:36:10 <ayoung> vs
18:36:36 <ayoung> rafaduran, so maybe the right answer is to not persist them at all
18:37:15 <ayoung> I could see an argument that for Signed tokens,  just append the new tokens to an audit log
18:37:16 <rafaduran> ayoung: yes, I think so
18:38:06 <rafaduran> ayoung: if you are not going back to ask for them not saving them seems the way to go
18:39:34 <ayoung> rafaduran, let me think about that for a bit.   There is some discussion vis-a-vis revocation I want to deal with first
18:39:42 <ayoung> revocation might require persistance
18:40:20 <dolphm> ayoung: pki tokens still have an identifier, i assume?
18:40:43 <dolphm> ayoung: persist only that, and remember its state?
18:40:45 <ayoung> dolphm, well,  for the first approximation, it is the whole token
18:41:05 <dolphm> a hash of the entrie token then?
18:41:13 <dolphm> sha1 or whatever
18:41:20 <ayoung> dolphm, I thought there was a separate Blueprint for splitting Token ID from secret portion
18:41:32 <ayoung> Hashing would be fine...just not certain yet it is required
18:41:40 <dolphm> ayoung: that was just a thought, i didn't make a bp
18:42:30 <ayoung> If a token has a life span of 8 hours, are we really going to need revocation?
18:42:51 <dolphm> ayoung: 8 hours is an eternity ;)
18:43:05 <ayoung> I tend to doubt it, as it makes the system much more complex, and Kerberos works with 8 hour service tickets for 20+ years now
18:43:43 <ayoung> dolphm, the only reason to make them that long is if tokens need to be used in batch jobs or something
18:44:00 <ayoung> for most uses,  20 minutes would likely be fine
18:44:06 <dolphm> personally, i think "need" is relative, so i'm just playing devil's advocate
18:44:22 <ayoung> The devil can hire his own advocates.  He has the payroll for it
18:44:26 <dolphm> as long as the token lifespan is configurable
18:44:30 <dolphm> lol
18:44:40 <ayoung> dolphm, that is my thinking
18:47:52 <rafaduran> ayoung: I don't know a lot of encryption so probably is a bad idea, but you could get automatic revocation if the encryption includes a variable part that changes/cycle afet expriation time
18:48:24 <ayoung> rafaduran, if it is after expiration time,  you have to go and get a new certificate.
18:48:37 <ayoung> lets call them tokens, actually
18:48:48 <ayoung> so the signed token has a expiry in it
18:49:08 <ayoung> and the auth_token middleware will check that
18:49:21 <ayoung> if the token has timed out,  the user will not be authenticated
18:49:44 <ayoung> the usually deal is that they then go back to keystone and get a new token
18:50:33 <rafaduran> ayoung: I think that would work fine
18:50:39 <ayoung> We can provide a grace period if the token was used to auth against, say, Nova, and then is needed a while later to talk to, say Quantum.
18:51:22 <ayoung> and b "talk to"  I mean that nova sends the token along as part of a quantum request....
18:54:37 <mtaylor> heckj: aroo?
18:54:52 <heckj> mtaylor: ola
18:55:13 <heckj> y'all good with ending the meeting?
18:55:59 <heckj> #endmeeting