Wednesday, 2017-03-08

*** ducttape_ has quit IRC00:00
*** ducttape_ has joined #openstack-meeting-cp00:01
*** ducttape_ has quit IRC00:01
*** ducttape_ has joined #openstack-meeting-cp00:02
*** ducttape_ has quit IRC00:02
*** ducttape_ has joined #openstack-meeting-cp00:02
*** rdopiera has quit IRC00:16
*** rdopiera has joined #openstack-meeting-cp00:18
*** MarkBaker has joined #openstack-meeting-cp00:43
*** MarkBaker has quit IRC01:03
*** MarkBaker has joined #openstack-meeting-cp01:15
*** MarkBaker has quit IRC02:16
*** reed_ has joined #openstack-meeting-cp02:21
*** MarkBaker has joined #openstack-meeting-cp02:33
*** reed_ has quit IRC02:47
*** ducttape_ has quit IRC03:07
*** diablo_rojo has quit IRC03:20
*** sdague has joined #openstack-meeting-cp03:46
*** gouthamr has quit IRC04:00
*** ducttape_ has joined #openstack-meeting-cp04:09
*** ducttape_ has quit IRC04:13
*** sdague has quit IRC04:26
*** ducttape_ has joined #openstack-meeting-cp05:09
*** ducttape_ has quit IRC05:14
*** ducttape_ has joined #openstack-meeting-cp06:10
*** knangia has quit IRC06:11
*** ducttape_ has quit IRC06:15
*** markvoelker has quit IRC06:54
*** ducttape_ has joined #openstack-meeting-cp07:11
*** ducttape_ has quit IRC07:16
*** ducttape_ has joined #openstack-meeting-cp08:12
*** markvoelker has joined #openstack-meeting-cp08:12
*** Rockyg has joined #openstack-meeting-cp08:16
*** ducttape_ has quit IRC08:17
*** ducttape_ has joined #openstack-meeting-cp09:13
*** ducttape_ has quit IRC09:17
*** ducttape_ has joined #openstack-meeting-cp10:14
*** ducttape_ has quit IRC10:19
*** sdague has joined #openstack-meeting-cp10:53
*** ducttape_ has joined #openstack-meeting-cp11:15
*** ducttape_ has quit IRC11:20
*** dhellmann has quit IRC12:00
*** dhellmann has joined #openstack-meeting-cp12:01
*** reed has quit IRC12:11
*** ducttape_ has joined #openstack-meeting-cp12:16
*** ducttape_ has quit IRC12:21
*** david-lyle has quit IRC12:30
*** david-lyle has joined #openstack-meeting-cp12:33
*** sdague has quit IRC12:55
*** ducttape_ has joined #openstack-meeting-cp13:17
*** gouthamr has joined #openstack-meeting-cp13:20
*** ducttape_ has quit IRC13:21
*** ducttape_ has joined #openstack-meeting-cp13:25
*** gouthamr has quit IRC13:26
*** MarkBaker has quit IRC13:39
*** lamt has joined #openstack-meeting-cp13:44
*** gouthamr has joined #openstack-meeting-cp13:46
*** ducttape_ has quit IRC13:54
*** KeithMnemonic has joined #openstack-meeting-cp13:57
*** MarkBaker has joined #openstack-meeting-cp14:04
*** sdague has joined #openstack-meeting-cp14:13
*** sdague has quit IRC14:14
*** sdague has joined #openstack-meeting-cp14:14
*** lamt has quit IRC14:19
*** ducttape_ has joined #openstack-meeting-cp14:27
*** lamt has joined #openstack-meeting-cp14:49
*** sdague has quit IRC14:51
*** diablo_rojo has joined #openstack-meeting-cp14:55
*** sdague has joined #openstack-meeting-cp15:04
*** jaugustine has joined #openstack-meeting-cp15:11
*** sdague has quit IRC15:40
*** sdague has joined #openstack-meeting-cp15:43
*** jaugustine has quit IRC15:53
*** blancos has joined #openstack-meeting-cp15:58
lbragstad#startmeeting policy16:00
openstackMeeting started Wed Mar  8 16:00:12 2017 UTC and is due to finish in 60 minutes.  The chair is lbragstad. Information about MeetBot at http://wiki.debian.org/MeetBot.16:00
openstackUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.16:00
*** openstack changes topic to " (Meeting topic: policy)"16:00
openstackThe meeting name has been set to 'policy'16:00
lbragstadping antwash, raildo, ktychkova, dolphm, dstanek, rderose, htruta, atrmr, gagehugo, lamt, thinrichs, edmondsw, ruan, ayoung, ravelar, morgan, raj_singh, johnthetubaguy, knikolla16:00
knikollao/16:00
*** edmondsw has joined #openstack-meeting-cp16:00
*** gagehugo has joined #openstack-meeting-cp16:00
* johnthetubaguy lurks in a probably not very active way16:00
*** ayoung has joined #openstack-meeting-cp16:00
lamto/16:00
lbragstado/16:00
ayoungoyez16:01
gagehugoo/16:01
*** ravelar has joined #openstack-meeting-cp16:01
*** rderose has joined #openstack-meeting-cp16:01
lbragstadagenda #link https://etherpad.openstack.org/p/keystone-policy-meeting16:02
lbragstadedmondsw you have the first topic on the list and it was a carry over thing from several meetings ago16:02
lbragstadedmondsw do you still want to cover those things?16:03
*** diablo_rojo_phon has joined #openstack-meeting-cp16:03
edmondswwas this the question of which policy checks need more than just project scope?16:03
edmondswi.e. user scope16:03
*** spilla has joined #openstack-meeting-cp16:04
lbragstad#topic Work through 0.2% of use case granularity16:04
*** openstack changes topic to "Work through 0.2% of use case granularity (Meeting topic: policy)"16:04
rderoseo/16:04
lbragstadContext #link http://eavesdrop.openstack.org/irclogs/%23openstack-meeting-cp/%23openstack-meeting-cp.2017-02-08.log.html#t2017-02-08T16:51:1316:04
edmondswyeah, ok16:04
edmondswso one of the cases I already spoke to johnthetubaguy about, commented in his spec16:04
*** jonesn has joined #openstack-meeting-cp16:04
edmondswone sec, let me find it16:05
edmondswcome back to me?16:06
ayoungOK...so this is trying to come up with common groupings of policy?16:06
ayoungThe way I explained it in the past is this:16:06
edmondswayoung no16:06
ayoung"johnthetubaguy, I think we need to allow folks to customize listing, getting, etc individually... but I would love to see sensible defaults that use common rules... e.g. "os_compute_api:servers:show": "os_compute_api:servers:list" so if you want to change both you only have to change the list one"16:07
edmondswdifferent discussion16:07
ayoungoh...so missing the context from the link16:07
* johnthetubaguy is confused about what the question is16:07
* ayoung too16:08
lbragstadthis was a discussion we had several meetings ago - but it keeps getting bumped16:08
ayoungWhat does this 2% refere to?16:08
ayoung0.2%?16:08
edmondswcases where you customize list and show differently16:08
lbragstadfrom what i remember edmondsw had some cases that needed some extra granularity16:08
ayoungisn't that what I just said?16:08
edmondswso I'm remembering one now... this nova API: https://developer.openstack.org/api-ref/compute/#usage-reports-os-simple-tenant-usage16:09
ayoungOK....so to start the disccusion, we mean "by default GET and LIST have the same policy, but sometimes you want to split them" ?16:09
ayoungagreed>16:10
ayoung?16:10
knikollaaren't they different apis?16:10
*** antwash has joined #openstack-meeting-cp16:10
edmondswthe other examples are in keystone... e.g. when you want to let someone get a user (themselves) but not list users16:10
ayoungOK...so here is how I would explain it:16:10
ayoungat the lowest level, we have roles mapped to individual APIs16:10
ayoungat the highest level we have the users organizational position16:11
ayoungin the middle we have workflows16:11
ayoungin english:16:11
ayoungA user needs permission to access specific APIs to perform workflows specific to their organizational role16:11
edmondswknikolla yes, but the proposal was to have list and show APIs use the same policy check. The question was then where that wouldn't work16:11
lbragstadedmondsw ++16:12
lbragstadyeah - that was it16:12
edmondswsorry, took me a minute to access that cache16:12
knikollai see16:12
ayoungso, by default, no role check is done right now except for Admin in almost all APIs16:12
edmondswayoung wrong16:13
ayoungsome service user stuff, some bad anti-checks in Heat, I think, but for the most, just Admin or "any role will do"16:13
ayoungedmondsw, has it been rewritten in the past month?16:13
edmondswayoung oh, ok, you're right... if you discount customization16:13
edmondswmy bad, carry on16:13
ayoungcool16:13
ayoungOK, so now, customization might do anything possible within the current scope of policy, I don't think we can really change those rules16:14
ayoungso this is one of the places that really calls for the RBAC check to be separate from, and more customizable from, the scope check16:15
ayoungby default, we can say "any role for scope"  will continue to pass.16:15
edmondswwhich we're doing...16:15
ayoungbut, if you want to customize, then you set explicit roles for APIs16:15
ayoungand this is what I want to split out.16:15
ayoungImplied roles make it eaiser, too, to move forward16:15
edmondswI don't think we really have a problem here16:15
ayoungfor example, say you have a "reader" role that can do bot get and list16:16
ayoungand then you realize you need get to be more restrictive, that some users should only have get16:16
edmondswthe scope check moving into code as johnthetubaguy and I worked out will be able to handle these odd .2% cases16:16
ayoungyou create a new role for that, and then have reader imply get16:16
edmondswno need for implied roles here, either16:16
ayoungexcellent16:16
lbragstadcool16:16
lbragstadso - moving on16:16
ayoungnah, the implied roles is for the operator to make things smooth16:16
lbragstadeveryone good?16:16
ayoungimplied roles means that you can keep everything working the way it does now, but in the future, you can assigne the more specific role only, where applicable. All good?16:17
lbragstadi'm good16:17
edmondswwell...16:18
lbragstadi also want to get to the next topic because I'm super curious about it16:18
lbragstad;)16:18
edmondswso taking a small step back... we would have separate checks for list and get in those .2% cases, but could combine them everywhere else... and that ok?16:18
ayoungedmondsw, you are scaring me16:19
ayoungthe APIs should all be separate16:19
ayoungor are you talking about a single API that can handle filters?16:19
edmondswtalking about list vs get APIs16:19
ayoungedmondsw, separate APIs stay separate16:20
edmondswnope16:20
ayoungsingle APIs might need to be split16:20
edmondswnot what we'd agreed16:20
ayoungedmondsw, I didn't agree on anything16:20
edmondswno, you didn't ;)16:20
ayoungedmondsw, if you might want to be able to vary them independantly, at any point, keep them separate16:20
ayoungits easy to merge, hard to split16:20
ayoungeasy-> can be done by operator16:21
edmondswthis isn't a case where you might want to split them later16:21
ayounghard->won't happen16:21
edmondswthat's kinda the point16:21
ayoungthen why are they separate APIs?16:21
*** MarkBaker has quit IRC16:21
edmondswyou're asking why list and get are separate APIs?16:21
ayoungyep16:22
*** MarkBaker has joined #openstack-meeting-cp16:22
ayoungseparate use cases16:22
edmondswseems a bit obvious...16:22
ayoungedmondsw, we talking role check or just scope check here?16:23
edmondswjohnthetubaguy proposed that we compress these. If you have a reason not to, explain it16:23
edmondswrole check16:23
johnthetubaguycompress what? sorry I lots track16:24
johnthetubaguylost16:24
ayoungyeah, so instead of messing around here, please just go with the Role check from middleware16:24
edmondswpolicy checks for get vs. list16:24
ayoungscope check in code is great16:24
ayoungmake that happen16:24
lbragstad6 minutes left for this specific topic16:24
johnthetubaguywell, step one for me is scope check in code, lets do that first16:24
ayoungYesss16:25
edmondswamen16:25
johnthetubaguycool, so that feels like agreement16:25
lbragstad#success there was agreement in a policy meeting16:25
ayoungand only scope check...what about is_admin16:25
ayoungthat seems like it is part of scope check16:25
ayoungis_admin_project16:25
edmondswso let's take the simple-tenant-usage case... you'd have a policy check to see if you're allowed to read simple tenant usage, which would be called on both GET /os-simple-tenant-usage and GET /os-simple-tenant-usage/{tenant_id}16:25
johnthetubaguywell there is a "global" scope permission16:26
johnthetubaguythe question is how do you get that permission16:26
ayoungjohnthetubaguy, not really16:26
ayoungjohnthetubaguy, there is admin on this project, and admin on the admin project16:26
johnthetubaguywell maybe16:26
edmondswthen in the code there would be a scope check where if you're asking for a project outside your current token's scope, or you're asking for all projects, another policy rule would be checked in addition16:26
johnthetubaguyignoring how you define this in keystone16:26
johnthetubaguythere is some kind of "global" thing16:27
edmondswis_admin_project=True16:27
ayoungjohnthetubaguy, nope, this is more than keystone, and no there is not, there is just an open bug16:27
johnthetubaguyvs only being able to access things in your porject16:27
johnthetubaguyright, and we default that policy to is_admin_project = True right now16:27
edmondswayoung no, I think you misunderstand... we do have is_admin_project and that's what he's talking about16:27
johnthetubaguyfrom an operator view right...16:27
johnthetubaguyI want a user that can read everything in the whole system16:28
johnthetubaguy... OK, so thats global scope, and has the read role16:28
ayoungjohnthetubaguy, yep, that should be done by getting a role on the admin project.16:28
johnthetubaguyoh, so that means a user in the admin project, with the role observer, or some such16:28
ayoungyou still need to check the scope of the token, just not that it matches the scope of the object from the database16:28
ayoungyep16:28
johnthetubaguyI think we are violently agreeing here16:29
edmondswyep16:29
lbragstadis everyone good to move on?16:29
edmondswI am16:29
johnthetubaguyso I have a policy rule to configure what it means to be global right now16:29
johnthetubaguywe could hard code that to is_admin_project == True16:29
edmondsw++16:30
*** markvoelker has quit IRC16:30
johnthetubaguyso I am not sure how the backwards compatibility works with that, needs some thought16:30
lbragstadjohnthetubaguy mind if we circle back?16:30
ayoungyeah, so the question I have is whether there are cases now where we are forcing admin_project roles where they should be, at least possible, to be project specific roles, and are we going to be able to do that with this scope check in code approach?16:31
ayoungand, this is a Keystone only thing, I think.16:31
lbragstadlet's table this for now and circle back (possibly offline), i want to give blancos enough time for her topic16:32
lbragstad#topci patrole16:32
lbragstadblancos gagehugo lamt o/16:32
blancoso/16:32
ayoungthe way I think is_admin_project should work should be that the role needed to perform an operation should be the same if scoped to a project or scoped to the admin_project, and if is_admin+_prioejct is set, that is always honored16:32
lamto/16:32
edmondswlbragstad typo in your topic change16:32
gagehugoo/16:32
ayoungPah Troll AY!16:32
lbragstad#topic patrole16:32
lbragstadedmondsw thanks16:32
*** openstack changes topic to "patrole (Meeting topic: policy)"16:32
lbragstad#link https://github.com/openstack/patrole16:33
blancosWould you like me to explain it a little bit first or do like a Q&A type of thing?16:33
lbragstadblancos go for it16:33
blancosOkay :)16:33
lbragstadblancos i know i'm curious about it as a whole16:33
blancosPatrole is a Tempest plugin for RBAC validation. Internally, we wanted to create some new roles for use in each service with very specific restrictions16:34
blancosand we wanted to make sure that these roles and restrictions we created were being properly enforced.16:34
blancosFor example, we created a role that was only able to read and we wanted to make sure that it was actually only able to read and not write or update, etc.16:34
lbragstadnice - so it sounds like there is expected test cases for each role?16:35
lbragstads/is/are/16:35
blancosWe have one test for each API that isolates that API as much as possible (Nova calls like 10+ different ones to create a server) and run it for each role16:35
blancos(New fields are added to tempest.conf)16:36
blancosIt's really helped us find bugs in policy enforcement in other projects, as well as some irregularities in errors (some services throw 404 instead of 403 when access is denied based on role)16:36
lbragstadblancos is this tied into the gate somewhere?16:37
blancosWe're working on a CI gate for the project, and we talked at the PTG with QA about maybe creating Patrole gates for other projects as well16:37
lbragstadblancos that'd be nice16:37
blancosI'm guessing that's something Keystone might be interested in then?16:38
lbragstadblancos but right now I assume it's just being run locally and bugs are filed manually against the projects?16:38
lbragstadblancos yes - i'm interested16:38
blancosYes. And we have some bugs we currently are working through within the project16:38
blancosIt's still relatively new16:38
lbragstadwithin patrole itself you mean?16:38
blancosYes, but we have a pretty large team actively working on it so they're being worked through16:39
lbragstadblancos awesome - how many people are currently working on it?16:39
blancosI would say around 15? And of course we're happy to have more people join :)16:40
lbragstadwow16:40
lbragstadis there a dedicated irc room for patrole or where do most of you hang out?16:41
blancosCurrently no, but that's something we're looking into as the project grows16:41
ayoungblancos, if you make it harder for us to get RBAC in Middleware through because of Tempest tests I will not be happy16:42
blancosayoung I think this is something that would be beneficial as it's specific testing16:43
*** ducttape_ has quit IRC16:43
lbragstadayoung it sounds like it would be making it easier to validate that work16:43
blancosAnd it obviously doesn't apply to all situations16:43
ayoungOK, I need to sjhut off the music and concentrate16:43
*** ducttape_ has joined #openstack-meeting-cp16:43
ayoungthere is a serious lack of understanding of the problem.  THe RBAC check is half formed at the moment16:43
ayoungif you do RBAC checks in Tempest, are you going to do them by running customized policy files?16:44
*** ducttape_ has quit IRC16:44
*** ducttape_ has joined #openstack-meeting-cp16:44
blancosWe have multiple checks for where the policies are coming from; the first is a check for custom policy.json16:45
ayoungblancos, yeah,. kill that dead with fire16:45
lbragstadblancos i guess that's a good question - does patrole setup the new roles and customize policy files?16:45
lbragstadblancos on top of a devstack installation or something like that?16:46
*** jaugustine has joined #openstack-meeting-cp16:46
blancosWe're really more of a testing suite; the idea is that the custom policy files would already exist in a deployment and Patrole would check to make sure the actions are being properly enforced16:46
ayounglets stop talking about RBAC checks from policy file.  That is not done by default, it is fragile, and it is only done that way now because it is the only tool16:46
lbragstadblancos got it - that makes sense16:46
lbragstadblancos so patrole really just expects a set of service endpoints to run against16:47
blancosayoung We also make use of oslo policy checker or, in the case of Nova, defaults in code16:47
blancoslbragstad Yes. And if you have custom roles, those roles have to exist within Keystone16:47
blancos(For example, the custom viewer role I mentioned earlier)16:47
lbragstadblancos cool - so this could be something that could be worked into openstack-ansible or other deployment tools16:48
ayoungblancos, would that work with this spec? https://specs.openstack.org/openstack/keystone-specs/specs/keystone/ongoing/role-check-from-middleware.html16:48
blancoslbragstad Yes I don't see why not16:48
lbragstadblancos awesome16:48
edmondswblancos, so how do you actually know what the role is or isn't supposed to do, so that when you test the API calls you can tell if it was appropriately checked or not?16:48
blancosayoung We would most likely have to modify our framework somewhat but yes I don't see why it wouldn't work16:49
ayoungthis is purely the test side, blancos ?  IE:  set this role, and, in this deployment it should pass.  Set that role, in this deploy it should fail?16:49
ayoungblancos, so, the test side is awesome.  It is the custom policy.json files I don't want.16:49
ayoungUNderstand my fear?  We've had code that we can't fix due to stringent Tempest testing, and I don't want any more of that.16:49
edmondswayoung I think he was just saying they'll support that case (which they would have to because that's what we currently have), but not be limited to only supporting that16:50
blancosedmondsw We parse the policy.json into a dict and check against it. There are also log statements that tell the test runner x role should or should not be able to do something16:50
blancosayoung I believe I mentioned custom policy files are only one of the things we check against, but we also use other tools16:50
blancosAnd of course we can expand the framework to check against more :)16:51
edmondswblancos so policy is the source of truth. it won't catch mistakes in your policy file, but it will somehow catch issues with code misinterpreting the policy file?16:51
edmondswor, as you said, being inconsistent about what permission denied looks like16:51
ayoungblancos, my concern is that in developing the framework, you are going to code against customer JSON files, and that is going to lock us in to those customizations.16:51
blancosedmondsw Yes, that's correct16:52
edmondswblancos note that sometimes it's very intentional to return 404 instead of 403 for permission denied... when you don't even want to signal to the caller that what they attempted to target actually exists16:52
blancosedmondsw Right we've been talking to other projects about that, but so far they seemed to agree that they preferred a 403 vs. a 404 in those cases16:53
edmondswno no no... can't return 403 in those cases... that's a security vuln16:53
blancosedmondsw Sorry, I should've been clearer; so far we've been doing them on a case-by-case basis and in the cases that we've mentioned, they've agreed16:54
blancosI don't mean as a sweeping change16:54
*** ducttape_ has quit IRC16:54
edmondswthat scares me a bit... there are a lot of folks out there that don't properly appreciate the quirks of security in things like this.16:54
edmondswhopefully they did, and the cases you discussed were really ok, but I wouldn't necessarily bet on that16:55
blancosayoung The dict is rebuilt whenever the tests are run, so if the environment changes (i.e., custom policy file is gone) then the tests will be run with that new information16:55
lbragstadi'd be fine if they were all just documented somewhere - then we can at least reason about them independently16:55
blancosI know one of my colleagues has been heading that up; if you'd like I can drop the bugs in later16:56
blancos(the links, I mean)16:56
lbragstadthat works for me16:56
blancosIn the Keystone IRC room?16:57
lbragstad++16:57
edmondswayoung, I think you'd just be talking about writing a bit of new code in patrole to get role checks from keystone like the middleware would do, and then fallback on their current code if keystone didn't have role check info16:57
ayoungedmondsw, I just don't want to be locked in to today's bad decisions, but I've gone from anger to acceptance.16:57
lbragstadwere about out of time, but I wanted to thank blancos for swinging by and taking the time to field our questions16:58
blancosNo problem. Happy to spread the word about our project :)16:59
lbragstadblancos do keep us posted if there is a dedicated place for us to talk about patrole16:59
blancosWill do16:59
lbragstadthanks for coming everyone!16:59
lbragstad#endmeeting16:59
*** openstack changes topic to "OpenStack Meetings || https://wiki.openstack.org/wiki/Meetings"16:59
openstackMeeting ended Wed Mar  8 16:59:58 2017 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)16:59
openstackMinutes:        http://eavesdrop.openstack.org/meetings/policy/2017/policy.2017-03-08-16.00.html17:00
openstackMinutes (text): http://eavesdrop.openstack.org/meetings/policy/2017/policy.2017-03-08-16.00.txt17:00
openstackLog:            http://eavesdrop.openstack.org/meetings/policy/2017/policy.2017-03-08-16.00.log.html17:00
*** gagehugo has left #openstack-meeting-cp17:00
*** jonesn has quit IRC17:00
*** blancos has left #openstack-meeting-cp17:01
*** ravelar has quit IRC17:03
*** antwash has left #openstack-meeting-cp17:08
*** markvoelker has joined #openstack-meeting-cp17:13
*** KeithMnemonic has quit IRC17:15
*** raildo has joined #openstack-meeting-cp17:26
*** KeithMnemonic has joined #openstack-meeting-cp17:53
*** ducttape_ has joined #openstack-meeting-cp17:55
*** ducttape_ has quit IRC17:59
*** ducttape_ has joined #openstack-meeting-cp18:02
*** ducttape_ has quit IRC18:47
*** sdague has quit IRC18:49
*** sdague has joined #openstack-meeting-cp18:50
*** diablo_rojo has quit IRC19:00
*** spilla has left #openstack-meeting-cp19:05
*** breitz has quit IRC19:25
*** breitz has joined #openstack-meeting-cp19:26
*** ducttape_ has joined #openstack-meeting-cp19:47
*** markvoelker has quit IRC20:27
*** ShaneRowe has joined #openstack-meeting-cp20:32
*** diablo_rojo has joined #openstack-meeting-cp20:34
*** ShaneRowe has quit IRC20:47
*** ducttape_ has quit IRC20:52
*** jaugustine has quit IRC21:03
*** ducttape_ has joined #openstack-meeting-cp21:05
*** markvoelker has joined #openstack-meeting-cp21:27
*** raildo has quit IRC21:31
*** markvoelker has quit IRC21:32
*** gouthamr has quit IRC21:38
*** Rockyg has quit IRC21:42
*** MarkBaker has quit IRC21:52
*** sdague has quit IRC21:55
*** gouthamr has joined #openstack-meeting-cp22:01
*** ducttape_ has quit IRC22:05
*** ducttape_ has joined #openstack-meeting-cp22:05
*** knangia has joined #openstack-meeting-cp22:07
*** edmondsw has left #openstack-meeting-cp22:15
*** markvoelker has joined #openstack-meeting-cp22:54
*** ducttape_ has quit IRC22:55
*** ducttape_ has joined #openstack-meeting-cp22:55
*** ducttape_ has quit IRC23:35
*** diablo_rojo has quit IRC23:37
*** diablo_rojo has joined #openstack-meeting-cp23:37
*** ducttape_ has joined #openstack-meeting-cp23:38
*** diablo_rojo_phon has quit IRC23:40
*** david-lyle has quit IRC23:56

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!