20:06:40 #startmeeting barbican 20:06:41 Meeting started Mon Dec 19 20:06:40 2016 UTC and is due to finish in 60 minutes. The chair is redrobot. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:06:42 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:06:44 The meeting name has been set to 'barbican' 20:06:52 #topic Roll Call 20:07:01 present 20:07:03 I think Dave may be out today 20:07:12 but we do have an agenda: 20:07:17 #link https://wiki.openstack.org/wiki/Meetings/Barbican#Agenda 20:09:27 ok let's get started 20:09:30 #topic Storing Fernet keys in Barbican 20:10:03 Who's topic is this? 20:10:35 mine 20:10:37 kfarr's topic maybe? 20:10:43 oh cool 20:10:46 hi breton ! 20:10:51 o/ 20:11:11 i work on implementing fernet keys backends in keystone 20:11:36 and was wondering whether i could use barbican for that 20:11:46 * lbragstad hands breton #link http://specs.openstack.org/openstack/keystone-specs/specs/keystone/ocata/fernet-key-store.html 20:12:18 there is one thing that stops us from using barbican -- in order to make a query to it we need a token 20:12:28 lbragstad: thank you 20:12:41 breton anytime :) 20:13:13 I think I've had hallway conversations about this topic before 20:13:16 so, can we do something on barbican's side to skip token validation for this case? 20:13:20 yep 20:13:29 i talked to some of you at the summit 20:13:43 (i don't know who, sorry) 20:16:35 basically we need to be able to have a different auth middleware for non-token access to Barbican 20:17:05 I think maybe doing cert-based auth might work 20:17:29 like a middlware that can do x.509 auth and skip the token middlware if x.509 checks out 20:17:45 we have something like this in keystone 20:18:24 unfortunatelly, nobody probably uses it. 20:18:53 hehe 20:19:00 I think there may be some more use cases for us 20:19:26 since other project now have to have a service user to get keystone tokens to talk to us 20:19:34 *projects 20:20:29 what do you think about new api in paste, which would not be protected by authtoken middleware? 20:20:50 because now keystonemiddleware is drop-in basically 20:21:51 what do you mean by "new api"? 20:22:45 paste pipeline 20:23:35 something like 20:23:36 [pipeline:barbican-api-keystone] 20:23:47 pipeline = cors http_proxy_to_wsgi our_x509_middleware context apiapp 20:24:05 * [pipeline:barbican-api-keystone_x509] 20:24:45 and serve it on /some_new_api/ 20:25:58 personally, I would not like to add any new routes to Barbican. A fernet key is just an encryption key that can be managed with the existing API. I think it would be more interesting to make the current api work with either a cert or a token. 20:27:29 although, to be honest, I haven't spent a whole lot of time thinking about x.509 auth 20:27:59 the data model we have now requires a project ID, so we'd need a way to translate a cert into a project id 20:28:58 oh. 20:30:05 the whole thing looks like barbican is supposed to store user data rather than openstack's data. 20:31:48 well, i think the idea was that the openstack data (or undercloud secrets) or whatever could be saved as its own tenant 20:32:18 which is fine for most projects since we can verify their identity with keystone ;) 20:33:39 definitely sounds like we need more discussions about this. maybe at the PTG? 20:33:57 sounds good 20:34:15 I have a feeling there's a lot more to x.509 auth that we might need to do 20:34:24 like cert revocation, rotation, etc 20:34:43 i agree 20:36:16 I've added the topic to our PTG etherpad 20:36:18 #link https://etherpad.openstack.org/p/ptg-barbican-pike 20:36:30 * redrobot crosses fingers he'll get to go to Atlanta 20:36:54 we can also revisit the topic in a future meeting 20:37:10 maybe take some time to think about what an x.509 auth middleware would look like 20:37:32 so we don't have to wait until the PTG 20:38:22 ok 20:38:24 any other comments on this before we move on? 20:39:14 ok, moving on 20:39:20 #topic Code review requests 20:39:27 #link https://review.openstack.org/#/c/403604/ 20:39:39 I also have a couple requests 20:40:08 dane-fichter sure thing, links? 20:40:10 https://review.openstack.org/#/c/408278/ and https://review.openstack.org/#/c/411478/ 20:40:25 the barbican tempest plugin work needs review help 20:40:51 dane-fichter ah yes, I've been meaning to look at that 20:40:59 and if anyone knows where koderer is, getting his attention would be appreciated 20:41:16 I was wondering about the client layer 20:41:31 yeah that's the first patch 20:41:43 implements the key manager client 20:41:48 haven't looked at it yet, but was the client copy/pasted from our existing tests or is it new or ? 20:42:19 It is new. 20:42:53 i see 20:43:09 I'm a little apprehensive about having to maintain separate clients like that 20:43:35 if you want tempest tests, you need a service client 20:44:16 understood. but we also have a thin client abstraction that is currently used for our functional tests 20:44:26 and also the thick client (python-barbicanclient) 20:44:53 you explicitly can't use something like barbicanclient in a tempest plugin 20:45:24 sort of defeats the point of testing the API. 20:45:58 I think I looked into the functional test client and decided it was insufficient 20:46:02 I think there may be a way to use a single codebase for the tempest tests in addition to the barbican functional tests 20:46:21 why not improve the functional test client instead of re-writing a new one? 20:46:32 To be quite honest I don't really think there's any use in a functional test client 20:47:02 I think the functional test client and the tempest client serve the same purpose: to generate requests to be sent to the api 20:47:14 while explicitly not using python-barbicanclient 20:47:43 The tempest test suite w/ API tests actually increases Barbican's legitimacy 20:48:02 sure, makes sense to me 20:48:09 i'm not opposed to having tempest tests 20:48:32 I'm just concerned about the long term maintenance of thin api clients used for these tests 20:49:00 just trying to reduce code duplication :) 20:50:27 do any other projects re-use their tempest clients? 20:50:47 I don't understand the question 20:51:31 is it typical for other projects to have a dedicated client in tempest used only for tempest tests? do they also have a separate client they use in functional testing? 20:51:38 just trying to understand how other folks are doing things 20:52:03 yes it is typical to have a dedicated client in tempest JUST for tempest tests 20:52:19 it is standard operating procedure 20:52:41 check out the magum or ironic tempest plugins for comparison 20:53:48 k, I'll try to make some time to look at those and the proposed barbican patches 20:55:01 I was hoping to see koderer 20:55:24 I was also working on getting an ID property added to our entities in the API 20:57:03 I have a few review requests, too: https://review.openstack.org/#/c/412558/ https://review.openstack.org/#/c/409978/ and https://review.openstack.org/#/c/400370/ 20:57:21 kfarr got them in just in time 20:57:27 :D 20:58:42 alright guys, we're all out of time here 20:58:47 thanks for coming! 20:59:01 #endmeeting