19:07:00 <kgriffs> #startmeeting sharding
19:07:00 <openstack> Meeting started Thu Oct 24 19:07:00 2013 UTC and is due to finish in 60 minutes.  The chair is kgriffs. Information about MeetBot at http://wiki.debian.org/MeetBot.
19:07:01 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
19:07:03 <openstack> The meeting name has been set to 'sharding'
19:07:30 <alcabrera> ad-hoc meeting - that's cool.
19:08:10 <kgriffs> amitgandhi: ur invited
19:08:12 <kgriffs> :p
19:09:21 <kgriffs> ok
19:09:50 <kgriffs> so here we have what I think was my original concept
19:09:54 <alcabrera> alright
19:09:58 <kgriffs> https://plus.google.com/hangouts/_/e74ecfded42b35093aa9dad06e4af44c7824ea2a?hl=en
19:10:13 <kgriffs> #topic planes
19:10:31 <alcabrera> this is a really pretty diagram.
19:10:37 <kgriffs> :D
19:10:50 <alcabrera> :)
19:11:10 <kgriffs> so, I realize this is different from what we discussing earlier today
19:11:10 <alcabrera> hmmm
19:11:41 <kgriffs> I just wanted to get my mental model down from what I was thinking when i did my sharding patch
19:11:53 <alcabrera> that looks a lot like what I was envisioning.
19:12:14 <kgriffs> so, a few things about that
19:12:29 <alcabrera> where the transport speaks with the /v1/shards for registration, and then the sharding.X is implemented in terms of the ShardController/CatalogueController
19:12:42 <kgriffs> first, how distinct do we want to make the control and data planes?
19:13:18 <alcabrera> I want to make it so that if sharding is removed, pipeline fastforwards to mongodb.Driver
19:13:36 <alcabrera> so...
19:14:06 <kgriffs> well, that is taken care of in the current implementation
19:14:27 <alcabrera> hmm...
19:14:29 <alcabrera> yeah
19:14:44 <kgriffs> in the bootstrap, it will either use sharding.Driver or a real driver
19:14:49 <kgriffs> depending on config
19:15:01 <alcabrera> what came to mind when you asked about 'distinct' above?
19:15:05 <alcabrera> I'm drawing a blank
19:15:20 <kgriffs> oh, so do we consider both of those part of the same API, or not?
19:15:36 <alcabrera> ah, I see.
19:16:15 <alcabrera> it doesn't make sense to have the sharding admin API enabled if sharding isn't enabled. :/
19:16:45 <alcabrera> I hadn't considered that.
19:17:16 <kgriffs> etherpad
19:17:23 <alcabrera> Yup
19:17:31 <kgriffs> https://etherpad.openstack.org/p/queuing-scratch
19:17:40 <kgriffs> let me jot down api things
19:17:44 <alcabrera> k
19:29:43 <kgriffs> alcabrera: ping
19:29:51 <kgriffs> ok. so the idea is to keep a single API
19:30:07 <alcabrera> yup
19:30:14 <kgriffs> and enable extra routes when sharding is enabled
19:30:18 <alcabrera> with conditionally enabled routes
19:30:24 <alcabrera> depending on admin_mode and sharding
19:30:32 <kgriffs> and those routes should require admin role.
19:30:45 <kgriffs> ah, admin mode
19:30:51 <kgriffs> so you would have to enable both
19:30:55 <alcabrera> yup. :)
19:31:04 <kgriffs> I guess that sets us up for other admin things that will always be on
19:31:17 <kgriffs> e.g., /storage/stats
19:31:22 <kgriffs> although
19:31:33 <kgriffs> why not always have them on, just let RBAC take care of it?
19:31:41 <alcabrera> that sounds better
19:31:43 <alcabrera> except
19:31:46 <alcabrera> for the case of registering shards
19:31:52 <alcabrera> /v1/shards/{shard}
19:31:59 <alcabrera> That should be firewalled/holywalled/watev
19:32:31 <kgriffs> doesn't that require an admin token?
19:32:32 <kgriffs> hmmm
19:32:42 <kgriffs> maybe safer to keep the admin mode after all
19:32:49 <alcabrera> yup
19:32:59 <alcabrera> I can see */stats being limited by RBAC
19:32:59 <kgriffs> then you can protect people with auth as well as network
19:33:12 <alcabrera> But I remember oz_akan_'s words about proxy-dev.
19:33:17 <kgriffs> well, we ought to just do all or nothing imo
19:33:38 <kgriffs> so, keep admin mode flag for now
19:33:47 <kgriffs> and only turn on control plane there
19:34:07 <kgriffs> maybe change to "enable_control_plane" or something
19:34:24 <alcabrera> hmmmm
19:34:26 <alcabrera> maybe!
19:34:27 <kgriffs> i guess admin mode is ok too
19:34:28 <kgriffs> anyway
19:34:34 <alcabrera> enable_control_plane is another good name
19:34:36 <kgriffs> that is effectively what it would do
19:34:38 <alcabrera> a little more clear maybe
19:34:40 <alcabrera> yeah
19:35:10 <kgriffs> ok, last thing to think about is whether to have that separate "Catalog Driver"
19:35:32 <kgriffs> let's noodle on that and sync up later
19:35:37 <alcabrera> cool
19:35:44 <alcabrera> I'll continue updating the admin API patches wrt to this discussion and pending review comments.
19:35:48 <alcabrera> Let's hold on that etherpad
19:35:51 <alcabrera> Sounds like BP gold
19:35:59 <alcabrera> see ya later, kgriffs!
19:35:59 <oz_akan_> sorry, quick Q: do we change the uri based on the shard and do we return the uri with shard information in to the user?
19:36:18 <oz_akan_> alcabrera: you might reply
19:36:20 <alcabrera> oz_akan_: let's talk offline on that. :)
19:36:28 <oz_akan_> k
19:37:04 <kgriffs> #link http://goo.gl/BiCgnw
19:43:23 <kgriffs> #endmeeting