15:02:40 #startmeeting service-catalog-tng 15:02:40 Meeting started Thu Feb 11 15:02:40 2016 UTC and is due to finish in 60 minutes. The chair is sdague. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:02:41 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:02:43 The meeting name has been set to 'service_catalog_tng' 15:02:45 o/ 15:02:47 who is about? 15:03:03 what's up? 15:03:13 #link Agenda https://wiki.openstack.org/wiki/Meetings/ServiceCatalogTNG 15:03:39 #topic Nova project_id optional 15:04:17 #status still waiting on test removes - http://lists.openstack.org/pipermail/openstack-dev/2016-February/086218.html 15:04:17 sdague: unknown command 15:04:27 #info still waiting on test removes - http://lists.openstack.org/pipermail/openstack-dev/2016-February/086218.html 15:04:39 #topic Service Catalog Names 15:05:08 that conversation on the list seems to have resolved, and I proposed a dedicated repository for this work 15:05:19 good outcome, I think 15:05:21 yep 15:05:29 practical, actionable, forward moving and thinking 15:05:58 I guess we'll need to think a bit about file format 15:06:18 the only thing I know we need to support is more than one type allowed per project 15:06:21 use JSONSchema 15:06:33 bknudson_: it's not going to be json 15:06:41 it doesn't have to be JSON 15:06:43 because json doesn't support comments 15:07:06 you can use JSONSchema on YAML (validation takes a dict) 15:07:22 ok, well, I think english might be a better first attempt 15:07:47 sdague: i meant to say something on the list, just wanted to be sure we didn't replicate the volumev2 or versioned things. 15:08:01 One thing I think is critical that this file (or whatever it is) is have a definition of terms 15:08:12 until we agree some of those defintions all this is playing with words 15:08:16 sdague: i know we have it today, but hopefully we can move away from it. otherwise the ML topic sounded good as proposed. 15:08:53 cdent: can you expand on that? 15:09:50 bknudson_ / cdent - honestly I was kind of thinking something as simple as this - https://etherpad.openstack.org/p/service-registry-format 15:09:51 We don't have a lot of terms, maybe just one, but we need to make sure that "service type" (I think that's the term or art, yes?) is described effectrively: what it is, where it will be used, why it is used for that. 15:10:04 ok, sure, so we need a GLOSSARY 15:10:07 that's fine 15:10:41 do you want to throw any thoughts on that into https://etherpad.openstack.org/p/service-registry-format - and we can seed the first few commits from there? 15:10:45 that format seems reasonable to me, leaves room for comments 15:10:52 sure 15:11:04 notmorgan: my intent is not to codify any of the volumev2 bits 15:11:12 because, I agree, that's all goofy 15:11:15 sdague: yay. 15:11:34 didn't we have 2 services where the type was telemetry? 15:11:34 however, I do want to reopen the conversation about explicit version in endpoints, as a structured field 15:11:43 bknudson_: we do, we're going to need to resolve that 15:11:47 o/ sorry I'm late, prior meeting ran over 15:11:51 it will be one of the sticky points 15:12:28 i'm ok if we want to encode a version in the catalog as a structured (optional) field - however, i do prefer to encourage folks to use discovery 15:12:30 notmorgan: because I think seeing the catalogs in the wild, it's clear people want explicit versions, they just hacked up service type to get there 15:12:55 sdague: yeah we can't eliminate it. just as long as it's not overriding the URL or the service_type 15:13:08 or that is must override url/service_type to get there 15:13:09 sdague: but the catalogs in the wild were from devstack right? 15:13:25 annegentle_: not all. 15:13:33 ok 15:13:38 notmorgan: yeh, agreed. Once this ball gets rolling I'll propose things on the ML about it 15:13:54 trying to keep only so many uncommitted balls in the air at once 15:14:02 sdague: I have a question about the service registry when it's appropriate to ask 15:14:03 ideally it shouldn't be needed but it totally should be supported as a structured field. it saves having to ask 20 cinder endpoints if they are v2 15:14:25 notmorgan: right, and a lot of software only works with 1 major version 15:14:26 if you *must* work with a v2 endpoint for example. [future proofing] 15:14:45 so it is nice to just be able to get that, instead of boiler plate a ton of discovery code 15:14:50 in the client side 15:14:58 annegentle_: fire away 15:15:17 sdague: in most cases it wont eve rmatter but hey we'll get grumpy people w/o it. might as well make transitioning easyish 15:15:25 I think in the service catalog spec, we said we'd use the projects.yaml as the first test. why does that not work? 15:15:37 btw i am here for ~20mins then off to the dentist so.. just figured i'd drop in for the meeting :) 15:15:49 ah, the dentist, good times :) 15:15:49 the reason for the separate repo from projects.yaml was just so a separate group could merge? 15:15:58 bknudson_: ++ 15:16:01 bknudson_: yes, pretty much 15:16:10 ah, for governance 15:16:12 sorta 15:16:26 while this is under the purview of the TC [obviously], API-WG owns [according to the RFC] the repo 15:16:27 I'd prefer we make the TC do it, but that's me. 15:16:28 which i like 15:16:36 as exposed in the thread, most people were fine for this being an API WG governed thing, with the TC only handling edge cases 15:16:43 right, it's delegation 15:16:48 who do you think is the consumer for the service registry? 15:16:48 I wanted to talk more about it at this week's API WG meeting 15:17:03 for example, this service registry is only for services 15:17:04 annegentle_: yeah, I put it on the agenda there 15:17:12 do we need to get into resources and where would that happen? 15:17:14 bknudson_: two people: developers [ i have a new thing ], and deployers [i deployed a thing] 15:17:36 What's nagging at the back of my mind is this is something that can be solved with a lookup, and the lookup should be the docs as source of truth. 15:17:39 bknudson_: and end users can reference it if they want, but ideally it should be mostly transparent to them. 15:18:03 cdent: yeah Everett and I talked about it too and said we'd discuss at the API WG meeting too 15:18:13 cdent: so might be all of the agenda ha ha 15:18:31 annegentle_: honestly, right now, we're trying to create a source of truth. And it seemed a bit simpler to do that in a dedicated space where it's clear this is all it is. Like IANAL port numbers 15:19:00 "In a world where every service has to have API docs complete, we can all look for collisions before they happen." 15:19:18 (that should be read in that movie guy's voice) 15:19:22 heh 15:19:25 he he 15:19:25 annegentle_: hehe 15:19:34 we'll sell you the whole seat, but you'll only need the edge 15:19:43 so that's what I was thinking of -- not a new repo or effort but a further focus for API WG 15:19:51 cdent: LOL omg 15:19:53 cdent: oh is it going to be in 70mm too? 15:20:01 cause i'll buy that ticket! 15:20:23 annegentle_: the proposal is api-wg + this wg as the approval team 15:20:52 So, yeah: I get the sense that the goals of the api-wg are very closely tied or even dependent on the success of the sctng 15:21:00 so I don't see how this is in conflict with it being follow on api wg mission 15:21:08 sdague: okay, still, if teams met higher expectations for dev experience earlier, would we be better off? 15:21:28 once we get the data we can reformat it or move it around 15:21:34 yeah, I think the blended teams are the ones who can get stuff done 15:21:40 annegentle_: sure, but i don't think that is going to change this need really. 15:21:53 annegentle_: that seems like an obvious yes, but I'm not sure how that's in conflict with a repo and a yaml file 15:21:57 it's not 15:22:01 ok 15:22:03 and I'm not arguing against it, believe me 15:22:07 ok 15:22:14 violent agreement! 15:22:15 I'm just asking if ... 15:22:17 wait. 15:22:27 cool, I'm just saying we start moving forward, do all the easy bits like 'compute' => nova 15:22:32 I'm asking if the API docs were further along if we'd have these struggles. 15:22:34 probably not. 15:22:38 but wondering aloud 15:22:43 annegentle_: maybe, maybe not 15:22:55 we still need the registry 15:22:58 for example, if we had a great api docs reference, discoverability of collision is easier 15:23:18 but what I'm asking is whether collision at the resource level matters as much as service level 15:23:19 annegentle_: i think we still need the registry, it's like an IANA thing as sdague said. 15:23:33 I guess we are going in phases... first is service, then comes resources 15:23:40 annegentle_: oh, right, that question 15:23:40 which is all good 15:23:42 oooh 15:23:51 and I don't want to conflate or try to bite off more than chewable. 15:23:51 uh the other thing. 15:23:54 so, I had a conversation with jaypipes about that yesterday 15:23:58 oh good do tell 15:24:08 I think he was using 'top level resources' == 'service types' 15:24:20 it was a naming problem 15:24:22 sdague: oh that makes a lot more sense now. 15:24:48 because compute/flavors dataprocessing/flavors is not actually confusing 15:25:10 but calling it /flavors would be 15:25:20 right, but it's scoped to a service 15:25:24 yeah it's the context that matters, again a good docs site would show this to us. 15:25:28 * annegentle_ cries 15:25:29 it would be great if we could view the whole of openstack as the interface, rather than separate interfaces like identity / compute / networking 15:25:43 yeh, well, let's solve 1 problem first 15:25:49 bknudson_: I think that's how jaypipes tries to get us to think -- and yeah users too 15:25:51 annegentle_: I agree with you, but I also think achieving that kind of docs site in a big tent world is _really_ hard, so we need some granularity. 15:25:54 bknudson_: i'm trying to slowly move us that way, this wg is def. part of that goal though 15:25:59 and realize there are N more problems to solve 15:26:00 cdent: yeah I agree, and ordering 15:26:19 ordering of priority helps us eat the elephant 15:26:23 bknudson_: but it is slooooow 15:26:31 annegentle_: but i want to boil the ocean nowwww! :P 15:26:37 anyway, we can talk more about it at the API Wg :) 15:26:37 anyway. 15:26:38 I also think top level service resource policing is a lot of work, for not a huge amount of benefit 15:26:39 heh 15:26:48 sdague: I know what you mean 15:26:50 woot! I was waiting for someone to say "boil the ocean" :) 15:26:59 cdent: happy to oblige 15:27:03 structured error documents, for instance, would be so much more helpful to consumers 15:27:05 could also say "rearranging deck chairs on the titanic" 15:27:10 sdague: ++ 15:27:14 bknudson_: noooo 15:27:21 bknudson_: slightly different conotation 15:27:29 rearranging deck chairs on the hindenburg 15:27:51 sdague: i... the huge manatee? /meme 15:28:04 ok, anything else on service types? 15:28:11 we need a few more cross-project workgroups 15:28:19 i think the service_types are a solid starting place 15:28:27 I'd like us to make sure we have some concrete (written down) goals for what we want this thing to enable or accomplish 15:28:29 annegentle_: https://etherpad.openstack.org/p/service-registry-format - is the scratch pad 15:28:39 But overall +1, let's get on with it 15:29:01 ok, tahnks 15:29:07 ok 15:29:09 for what it's worth it's way better than tags :) 15:29:14 sdague: +1 generally for thawt 15:29:20 and pleaseeeee no tags :P 15:29:34 please......... 15:29:37 heh 15:29:56 #topic JSON Schema for SC 15:29:58 sdague: one last thing i want to toss on the pile to think about - no answer needed yet 15:30:06 notmorgan: ok, go for it 15:30:25 the concept of the service type being used as the mount-point for a service 15:30:30 e.g. /compute /identity 15:30:32 etc 15:30:36 yes 15:30:52 that will be recommended 15:30:52 just something to mull over as a group while we're pondering this. if we want to codify that or not. 15:30:56 great 15:31:03 I started a github project to codify the service catalog schemas: https://github.com/brantlk/service-catalog-schema 15:31:13 not sure if that was the best place, but needed some way to share it 15:31:22 gh is goot enough to start imo 15:31:26 oh for sure 15:31:28 notmorgan: I think it's a thing we shouldn't say is required, because we do have this whole service catalog and all, but it does seem like a good recommendation 15:31:32 so here's the v2 schema: https://github.com/brantlk/service-catalog-schema/blob/master/schemas/v2.yaml 15:31:46 and here's the v3 schema: https://github.com/brantlk/service-catalog-schema/blob/master/schemas/v3.yaml 15:32:04 and the next-gen schema: https://github.com/brantlk/service-catalog-schema/blob/master/schemas/ng.yaml (which is just the v3 schema for now) 15:32:07 bknudson_: ok, cool, how do you want to take feedback on this? 15:32:09 sdague: i would almost push for it to be the general case even if nova [for example] is the only thing on the host. but e can circle back on that. 15:32:17 sdague: i'm 100% ok with "strongly recommended" 15:32:28 notmorgan: (reasonable defaults)++ 15:32:37 sdague: how about for next meeting, take a look at it. 15:32:52 * notmorgan yeidls the floor. 15:32:54 nice bknudson_ 15:32:57 bknudson_: sounds good 15:33:02 * notmorgan also type yields right this time. 15:33:11 so what I did with this repo is I pulled all the sample catalogs from the wiki page 15:33:16 does v2 correspond with v2.0 keystone api? what's the meaning there 15:33:20 #action everyone take a look at bknudson_'s schema for next meeting - https://github.com/brantlk/service-catalog-schema 15:33:24 oh i see, reading 15:33:29 so now is probably as good a time as any to ask this question: why are there both a service type and a service name and can we just kill service name? 15:33:32 we'll make that the frist agend ideam 15:33:37 item 15:33:46 and if you run test_catalog_schema.py it validates all the sample catalogs against the schema 15:33:59 cdent: killing name is probably fine 15:34:07 bknudson_: oh good, this can actually be used as a template-y thing for another thing i want to do. 15:34:16 I think it was a dolphm original point 15:34:19 sdague: we shoiuld kill name, it's not useful. 15:34:20 so one way we can go -- create sample NG catalogs and update the NG schema. 15:34:28 service_type is what matters. 15:34:31 * cdent is relieved he's not totally stupid 15:34:40 I think showing examples is helpful 15:34:55 yeh, I can get my head around samples much easier that the schema 15:35:00 me too 15:35:02 annegentle_: yes, the v2.0 catalog is what you get in a v2 token (from v2.0/tokens), and the v3 catalog is what you get in a v3 token (from v3/auth/tokens) 15:35:04 dolphm would know/remember history 15:35:11 the schema is good for machines, less for my brain 15:35:13 ok thanks bknudson_ I think I know enough to review 15:35:23 sdague: i believe it, cause even though i know whatthe catalog should be, it's hard to read the schema 15:35:24 but this is looking good 15:35:31 the v2 catalog is not compatible with the v3 catalog 15:35:46 i expect the NG catalog to likewise be incompatible, sadly 15:35:53 but ... expected and needed 15:36:04 otherwise we'd carry cruft. 15:36:11 bknudson_: also, are you really using yaml for jsonschema? 15:36:21 that's almost really awesome 15:36:23 I think that's great. so much more redable 15:36:27 easier to write, right? 15:36:34 and it can have comments! 15:36:40 sdague: it wouldn't be hard to do it like that. 15:36:44 sdague: yes, I went with YAML for the JSONSchema definition due to JSON not allowing newlines in strings! 15:36:47 * cdent sends praises to ingy 15:36:52 I started with json and got sick of it. 15:36:52 bknudson_: ++ 15:37:00 crap, I'm going to need to redo bits of nova this way 15:37:02 json is GREAT for a wire thing 15:37:09 but ends at the wire 15:37:10 this is so much better 15:37:18 bknudson_ gets the cookie for the day 15:37:24 bknudson_: i think we should re-do keystone's validation like this ;) 15:37:31 mmm cookies 15:37:38 too crumby :) 15:37:43 screw cookies, whole cake 15:37:48 annegentle_: brownies? 15:37:50 ;) 15:37:52 gold star stickers and glitter! 15:38:03 bknudson_ takes it up a notch! 15:38:05 glitter gets everywhere 15:38:11 heeee 15:38:15 sdague: blame annegentle_ when someone asks why this channel; is covered in glitter. 15:38:25 heh 15:38:35 ok, you get the velociraptor Valentine's card! 15:38:39 * cdent fetches the disco ball 15:38:44 ok anyway 15:38:54 this is a good format :) yay 15:38:55 so I think we should consider what we think is the "ideal" catalog 15:38:56 ok, now that we're in full dance party mode 15:38:59 cool 15:39:07 great way to end a standup! 15:39:08 and propose those as samples 15:39:15 bknudson_++ 15:39:28 and, apparently, not even consider backwards-compatibility 15:39:31 bknudson_: agreed, so maybe just throw up some PRs with ideas to rough things up at this point 15:39:33 so i have one other question annegentle_, what was the result of the three urls/interfaces convo? 15:39:42 since we're talking examples. 15:39:45 notmorgan: we never really got resolution 15:39:59 sdague: if at all possible i'd like to propose 2 urls to start then 15:40:05 internal/public 15:40:13 and if we need to expand back to admin, we can. 15:40:14 I decided to pivot to more tractable problems 15:40:15 the summit-based goal was 1 15:40:21 was it not? 15:40:21 I think we found that deployments were using them all? 15:40:38 cdent: it was, the ops folks really wanted internal for billing reasons 15:40:54 so, lets start with 2 and plan to add admin back in if it turns out really needed 15:40:59 i know we can;'t do 1 15:41:11 reality is such a pain 15:41:16 cdent: heh 15:41:37 ok, so for next week, come with comments on bknudson_'s current work, as well as what else we want in the ideal 15:41:48 #topic Open Discussion 15:41:55 any further things today? 15:42:05 i was glan i was awake randomly for this. yay 15:42:12 now i know when it is so i can be here next week too 15:42:33 it's an early start for some 15:43:01 ok, thanks for coming folks. 15:43:05 #endmeeting