15:03:24 <sdague> #startmeeting service-catalog-tng
15:03:25 <openstack> Meeting started Thu Dec 10 15:03:24 2015 UTC and is due to finish in 60 minutes.  The chair is sdague. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:03:27 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
15:03:30 <openstack> The meeting name has been set to 'service_catalog_tng'
15:04:00 <sdague> #link Agenda - https://wiki.openstack.org/wiki/Meetings/ServiceCatalogTNG#Service_Catalog_TNG_Meeting
15:04:32 <sdague> ok, this is sparse and missing anne, so I'll try to provide some summary kickoff
15:04:47 <sdague> #topic overview
15:04:52 <sdague> #link https://wiki.openstack.org/wiki/ServiceCatalogTNG
15:05:23 <sdague> there is a service catalog main wiki page with what we are trying to do, which is mostly make the service catalog something that gets more used going forward
15:05:58 <sdague> the cross project spec - https://review.openstack.org/#/c/181393/ has some of the background on weirdnesses we currently have
15:06:29 <sdague> #topic Realistic Goals for Mitaka
15:06:53 <sdague> anne and I were discussing this the other day, and trying to establish what those goals would be
15:07:16 <bknudson> https://wiki.openstack.org/wiki/ServiceCatalogTNG#Mitaka_Goals ?
15:07:39 <cdent> (is it the case that, as usual, swift is special?)
15:07:39 <sdague> yes, that's our current best guess of things
15:08:10 <sdague> cdent: well, the project_id in swift is semantically meaningful
15:08:22 <cdent> yeah
15:08:24 <sdague> which is really not true for other projects
15:08:27 <bknudson> have we identified the projects?
15:08:49 <bknudson> that need the project_id removed
15:08:57 <agentle> o/ sorry I'm late
15:09:26 <ayoung> MEETING PARTY CRASHER
15:09:32 <ayoung> Sorry
15:09:48 <sdague> bknudson: I don't have the complete list, that would be a good thing to capture here. nova, and things that forked out from nova mostly
15:10:12 <sdague> #action need to capture authoritative list of projects that use project_id
15:10:30 <sdague> that could use a volunteer, if anyone wants to pitch in
15:10:53 <ayoung> sdague, notmorgan was doing a POC and identified the ones he tripped over
15:11:00 <ayoung> I think it might be a very short list
15:11:10 <sdague> ayoung: yes, it's not huge
15:11:13 <agentle> sdague: I think Thomas Goirand had one, I'll find it
15:11:18 <sdague> agentle: great
15:11:20 <ayoung> it really is only an issue if project_id is in the service catalog itselfm, and not in the URL
15:11:44 <sdague> ayoung: right, that's what I mean, if project_id is dynamically serviced by the service catalog
15:12:01 <ayoung> that we can tell by the SC generated by devstack
15:12:11 <ayoung> I only ever saw a problem with Nova
15:12:36 <ayoung> but I tend to do limited deployments...
15:13:10 <sdague> ok, so agentle can I sign you up for having the athoritative list by next week?
15:13:16 <sdague> or is there someone else that would like to volunteer for that?
15:13:24 <sdague> it's probably about 2 hrs worth of work tops
15:14:03 <agentle> sdague: Yep, by next week thurs.
15:14:11 <sdague> agentle: sounds great
15:14:37 <sdague> #action (annegentle)  capture authoritative list of projects that use project_id in catalog entries
15:14:39 <ayoung> how definitive tdoes this need to be? Everything in the Big Tent?
15:14:56 <agentle> ayoung: i'll use the list of service catalogs we gathered round the world
15:15:04 <agentle> #link https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Service_Catalog
15:15:09 <sdague> ayoung: as authoritative as we can get it
15:15:50 <sdague> ok, given that the goals get somewhat duplicated in the next set of topics, lets go through the topics in order
15:15:57 <sdague> #topic Service Catalog Spec
15:16:31 <sdague> agentle: the update was on your plate, what additional things do you need before pushing the next update?
15:17:22 <sdague> agentle: ?
15:17:27 <agentle> sdague: I think we have a response for John er, notmyname, but I might update that vision section for the focus this release
15:17:32 <agentle> sorry slow typing this morning :)
15:17:37 <sdague> agentle: ok, no prob
15:18:11 <agentle> sdague: I can't get the eavesdrop for the first part, is the focus: project id and?
15:18:11 <sdague> agentle: ok, are you able to get things into shape by next meeting?
15:18:16 <agentle> sdague: ayup
15:18:41 <sdague> #action (annegentle) update service catalog cross project spec by next meeting
15:18:50 * agentle gets all the actions today
15:18:56 <sdague> well, so far :)
15:18:59 <agentle> heh
15:19:17 <sdague> #topic Project Id Optionality in projects
15:19:29 <sdague> ok, so we have the action for anne about building the complete list of services
15:20:07 <bknudson> next step is to get the projects to support no project id
15:20:14 <sdague> we've got a nova functional patch up https://review.openstack.org/#/c/233076/ that's mostly waiting on some refactoring of our in tree testing to get it landable
15:20:44 <sdague> #action check in on nova patch for next week's meeting
15:20:48 <bknudson> that his a lot of files
15:20:58 <sdague> I'm hopeful that is ready to go next week
15:21:25 <sdague> it's router changes in 3 files, and microversion bumps
15:21:54 <sdague> a microversion bump changes a constant in about 6 places in the tree, it's pretty small change really
15:22:14 <bknudson> looks pretty easy
15:22:18 <bknudson> devstack change, too?
15:22:29 <sdague> there is a devstack change to set the catalog as well
15:22:48 <agentle> sdague: and I wonder what docs will need updating
15:23:03 <sdague> #link https://review.openstack.org/#/c/233079/
15:23:16 <sdague> that's the devstack change, it works with that nova change
15:23:24 <bknudson> there's a novaclient change, too?
15:23:36 <sdague> bknudson: yes, it's already landed
15:23:43 <sdague> it was mostly about discovery
15:23:50 <ayoung> I wonder if this is going to be a problem with Policy enforcement.  If the projectID is dropped from the URL, is it possible that a check will also be dropped?
15:23:59 <bknudson> kind of scary, but whatever
15:24:21 <sdague> ayoung: do you have an example of where such a policy enforcement check is today?
15:24:37 <ayoung> sdague, I can show you nova's
15:24:43 <bknudson> ayoung: are you worried the project ID won't be in the context?
15:24:45 <sdague> ayoung: yeh, link would be great
15:24:53 <ayoung> so...not sure, but
15:24:55 <sdague> the project_id is still in the context
15:25:17 <ayoung> the token has a proj id that is used to generate the url...the url then has a project Id that needs to match that of the resource
15:25:24 <ayoung> say...and image or a vm
15:25:27 <sdague> the code in nova litterally only cared about project_id in url for 10 lines of code
15:25:45 <sdague> where it did a project_id == context.project_id or die
15:25:59 <sdague> and the url was fully ignored beyond that
15:25:59 <cdent> death++
15:26:17 <ayoung> right. that is important, though.  Still need a check like that, but it is not sufficient
15:26:17 <agentle> interesting
15:26:43 <sdague> ayoung: it's not though, because the acl is enforced on the uuid of the server as well
15:26:45 <ayoung> I need to think this through...I'll come back
15:26:59 <sdague> you can't just find someone else's uuid of server, put it under your project id, and delete it
15:27:15 <ayoung> sdague, meaning context.project_iod == server.proejct_id or die?
15:27:48 <sdague> so, I'd recommend looking at the nova patch directly if there are concerns there
15:27:57 <sdague> because I'm pretty sure things are fully covered
15:28:09 <sdague> ok, lets move on to next topic
15:28:11 <ayoung> I suspect it is fine, but we should be testing
15:28:18 <cdent> presumably there is test coverage for this sort of thing already?
15:29:15 <sdague> cdent: there is, we had to change a tempest test though because it was no longer possible to ask for servers by wrong project id when project_id is not in the url
15:29:36 <cdent>15:29:52 <sdague> we could determine if there is another test that's appropriate here
15:30:15 <sdague> cdent: anything you might want to look at? :)
15:30:21 <sdague> given you are diving into nova now
15:30:37 <ayoung> sdague, the token.project_id should be different from the one requested.  Suspect that is already tested
15:30:50 <sdague> ayoung: yes, already tested
15:30:50 <cdent> I'm hesitant to make any commitments just yet because I don't know the lay of the land, but this is definitely an area where I'm very interested
15:31:20 <cdent> So I'm trying to get myself oriented so I can safely say "yupppers, I'm on that"
15:31:24 <sdague> ok, no prob
15:32:00 <sdague> #action nova functional test to ensure we don't loose any safety in removing project_id from url
15:32:08 <sdague> we'll see who ends up with that
15:32:14 <sdague> ok, really next topic
15:32:21 <sdague> #topic What URLs are needed
15:32:35 <sdague> this is part of coming up with a draft schema for the service catalog
15:32:41 <cdent> I found the mailing list thread on this topic challenging to parse.
15:32:52 <sdague> today, we have 3 things: publicURL, adminURL, internalURL
15:33:19 <notmorgan> sdague: and unfortunately it's different dependint on the catalog version
15:33:22 <ayoung> do we have defintions of what is meant by those?
15:33:25 <sdague> #link http://lists.openstack.org/pipermail/openstack-operators/2015-December/009061.html
15:33:33 <bknudson> I think adminURL was only there for for keystone since we have admin and public APIs
15:33:39 <notmorgan> so really we have 6 iirc. :(
15:33:40 <bknudson> (in v2)
15:33:41 <sdague> there is an openstack operators thread on this
15:33:53 <sdague> notmorgan: ok, sure, well really we have N
15:34:03 <sdague> because that's all convention, and not enforced anywhere
15:34:08 <ayoung> OK.  I know what they are supposed to mean in Keystone.
15:34:23 <sdague> and as such gets used wildly inconsistently
15:34:45 <bknudson> I think operators like internalURL and publicURL for services. I want my internal users to use internalURL and outside users only have publicURL
15:34:47 <sdague> as can been seen by some of the responses there
15:34:58 <ayoung> THey are not such horrible ideas, but we should probably taylor the SC to return the right ones
15:35:01 <bknudson> maybe there's a better way to do internal/public access
15:35:16 <sdague> bknudson: honestly, it sounded like from that thread a lot of operators don't like the current split
15:35:29 <ayoung> bknudson, different hostnames is really the best option.
15:35:29 <sdague> bluebox uses hosts overrides
15:35:41 <ayoung> THat way you can have different interfaces on the same machine handle them
15:35:46 <ayoung> its a firewall issue
15:35:47 <sdague> to always get internal users to the right address
15:35:56 <sdague> for instance
15:36:10 <sdague> I would recommend everyone read and comment on the operator thread
15:36:10 <ayoung> different ports was always sketchy, but that was an impl detail we could work around
15:36:14 <bknudson> y, putting the knowledge in the network makes sense
15:36:29 <bknudson> since otherwise apps have to provide config options or know where they're running somehow
15:36:32 <sdague> #action (sdague) revisit operator thread try to reexpress current common themes
15:37:04 <ayoung> So, here is what they are supposed to mean, and this is not Keystone specific:
15:37:06 <sdague> I think the one thing that did arrise that was new was the desire that services have dedicated urls for them to talk to each other
15:37:08 <david-lyle> so I can say the HP Public Cloud (RIP) used adminURL for nova at least
15:37:17 <ayoung> Public is what users outside the firewall get for normal useage
15:37:27 <ayoung> admin is the same, but an higher level of control and security
15:37:41 <agentle> yes david-lyle same for Rackspace also
15:37:45 <david-lyle> certain extensions were only enabled when going through adminURL rather than public
15:37:46 <ayoung> some deployments want to put that inside dfirewall
15:37:59 <ayoung> internal is service to service
15:38:19 <bknudson> if HPE and RAX both find this useful/necessary then seems like we'd keep it?
15:38:21 <ayoung> We don't Need them per-se, as there are other ways to do the same thing, but this was not a horrible approach
15:38:35 <sdague> david-lyle: for keystone only, right?
15:38:49 <david-lyle> no for nova
15:38:51 <ayoung> However...we could also deduce which one to return based on the caller
15:39:04 <sdague> david-lyle: hmmm... it doesn't appear in the catalog that was captured
15:39:11 <sdague> https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Service_Catalog#HP
15:39:20 <ayoung> IE, the nova service user gets the right Keystone URL, and the right Glance url, both internal
15:39:20 <agentle> sdague: that catalog is the public one not the "I'm a cloud admin" one
15:39:39 <sdague> ah, ok, so you only get an adminURL if you are an admin?
15:39:54 <agentle> sdague: I'm not an admin on any cloud to test that theory :)
15:40:02 <david-lyle> that catalog is not from sufficiently empowered I think
15:40:11 <ayoung> sdague, so, I'm not certain about that.  It is more likely that is supposed to be location aware
15:40:35 <david-lyle> that's the end user view
15:40:35 <ayoung> if you are inside the firewall, and a regular user, I don't know which you would get
15:40:53 <sdague> so, maybe we really should step back and describe the personas here
15:41:05 <sdague> perhaps that's the next step
15:41:07 <notmorgan> sdague: ++
15:41:27 <cdent> that's a good idea
15:41:31 <ayoung> The idea is that you want to do more than just Token securet (heh) if you are, say, adding a user.  You only want that done from inside the firewall.  Good concept, don't think the SC is the right way to enforce it
15:41:44 <ayoung> m,ayeb add user is a bad example, tho9ugh
15:41:54 <ayoung> more like adding a service or endpoint
15:41:56 <cdent> I get the sense that there are some conflicts between the technical goals and the user stories...
15:41:58 <sdague> ok, anyone interested in starting to hack out the personas? That seems like an etherpad activity.
15:42:04 <sdague> cdent: yeh
15:42:05 <bknudson> ayoung: I think david-lyle says it's not inside/outside firewall at all, but the user's auth.
15:42:15 <ayoung> bknudson, I said that
15:42:24 <ayoung> bknudson, it is a case of userauth +  more security
15:42:30 <ayoung> at least, that was the concept
15:42:42 <ayoung> we could do it with just user auth, but that is not sufficient for some people
15:42:53 <ayoung> they want to reduce their attack surface
15:43:04 <ayoung> ask gyee, this is his kind of thing 2FA and all that
15:43:05 <sdague> yeh, the "more security" seems weird though. If you don't trust keystone to enforce security correctly on 1 url, I'm not sure why 2 makes it better :)
15:43:25 <ayoung> sdague, cuz tokens suck
15:43:55 <ayoung> you want to make it if an admin user loses a token in the wild, the server can't even be reached and it is not attackable for the sensitive operations
15:44:08 <sdague> #info we need a personas document to really determine what data / urls will be needed in a new catalog
15:44:34 <bknudson> I think we'll need more operator feedback into personas
15:44:37 <ayoung> this is just the rationalization I have been able to piece together over the years.  I was not there for the initial discussion
15:44:49 <notmorgan> ayoung: i also don't think most operators actually do that.
15:44:58 <notmorgan> ayoung: HP is one of the few.
15:44:59 <ayoung> notmorgan, Heh, neither do I
15:45:09 <notmorgan> ayoung: i also think it's a false set of security.
15:45:21 <sdague> ok, I'm going to move us to open discussion
15:45:27 <sdague> #topic Open Discussion
15:45:33 <sdague> so, a few things quick
15:45:50 <ayoung> notmorgan, I'm guessing you would argue "if you need to be inside the firewall, use a CLI with direct access to the machine" is the right approach?
15:45:50 <sdague> 1) volutneers wanted / needed if we are going to make real progress here
15:46:34 <notmorgan> ayoung: that is my general view - if it's something that really is *that* sensitive, you probably shouldn't be exposing it via a REST API and it should be CMS
15:46:38 <sdague> the idea is this meeting becomes more of a status check in. less discussion. disucssion should go to the lists.
15:46:51 <ayoung> sdague, got iot
15:46:53 <ayoung> it
15:47:20 <agentle> stand up :)
15:47:21 <cdent> sdague: keep after me to be an active part of this
15:47:30 <agentle> thanks cdent
15:47:43 <bknudson> I posted a related change to devstack, removing /v2.0 from the identity entry in the catalog: https://review.openstack.org/#/c/255294/
15:47:43 <sdague> related, notmorgan and I have been working towards having nova know how to talk to glance via service catalog entries
15:47:59 <ayoung> notmorgan, I think that makes sense.
15:47:59 <sdague> as it's the last service nova talks to with hardcoded values only
15:48:14 <ayoung> sdague, the MOC guys are working on that too.
15:48:16 <sdague> link https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:glance_image_config,n,z
15:48:17 <notmorgan> sdague: actually... i think neutron needs work.
15:48:20 <bknudson> which version of the service catalog are you using?
15:48:25 <bknudson> also, which endpoint?
15:48:26 <ayoung> I'll ask them to comment and contriubte
15:48:35 <sdague> ayoung: MOC?
15:49:04 <ayoung> Mass Open Cloud.  Resourece Federation
15:49:06 <sdague> notmorgan: ok, cool, I thought we had base infrastructure for that
15:49:09 <sdague> ayoung: ah great
15:49:14 <ayoung> say glance and Nova are owned by two different orgs
15:49:26 <notmorgan> sdague: ran into this with my POC
15:49:31 <sdague> ok, any other related work from people to highlight that we should keep an eye on things?
15:49:36 <ayoung> sdague, add gsilvis to any reviews you have along those lines
15:49:56 <sdague> ayoung: ok, will do
15:50:23 <sdague> ok, anything else, or time to end meeting?
15:50:36 <sdague> next week we'll start with outstanding actions from this week
15:50:45 <sdague> then a 2 week hiatus re:holidays
15:50:55 <sdague> then back with a furry in 2016
15:51:13 <cdent> what kind of furry? a teddy bear? reindeer? kitty cat? ;)
15:51:22 <sdague> cat bus
15:51:26 <cdent> YES
15:51:29 <bknudson> new year's resolution will be to fix the service catalog
15:51:29 <cdent> \o/
15:51:32 <sdague> I brought one back for my daughter
15:51:37 <sdague> it's awesome
15:51:50 <sdague> ok, thanks for showing up to our kickoff, see you all next week
15:51:54 <sdague> #endmeeting