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