17:00:27 <alaski> #startmeeting nova_cells 17:00:28 <openstack> Meeting started Wed Apr 22 17:00:27 2015 UTC and is due to finish in 60 minutes. The chair is alaski. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:29 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:32 <openstack> The meeting name has been set to 'nova_cells' 17:00:50 <melwitt> o/ 17:01:21 <alaski> sweet, it's not just me :) 17:01:33 <melwitt> hehe 17:01:49 <alaski> bauzas: o/ 17:02:01 <bauzas> o/ 17:02:04 <alaski> #topic Tempest testing 17:02:21 <alaski> so... things are green! 17:02:32 <melwitt> hooray 17:02:50 <bauzas> \o/ 17:03:01 <alaski> I'd like to get a few days of data before we decide if it should vote 17:03:05 <bauzas> +1 17:03:13 <alaski> but hopefully that's something we could do this week 17:03:26 <dansmith> o/ 17:03:50 <alaski> so, let's just keep an eye out 17:03:58 <alaski> but excellent work everyone 17:04:04 <dansmith> yeah, awesome 17:04:21 <alaski> #topic Specs 17:04:40 <dansmith> I reviewed some specs 17:04:45 <dansmith> not enough, but some 17:04:53 <dansmith> hopefully enough to not be voted off the island 17:04:54 <alaski> still helps 17:04:59 <alaski> not yet 17:05:03 <dansmith> whew 17:05:28 <alaski> the feedback on the requestspec object one led me to open a few more 17:05:40 <bauzas> sounds like I have to work on it soon :=) 17:06:01 <alaski> before that, I want to co-ordinate a bit 17:06:09 <bauzas> alaski: feel free to review the already approved spec 17:06:19 <bauzas> alaski: I perhaps missed some things 17:06:21 <bauzas> sure 17:06:43 <alaski> well, I've been thinking that we sort of want to persist it in two places 17:07:02 <alaski> part of it in instance_extra, but then also in the api db 17:07:19 <bauzas> technically, there are possibly N instances for one RequestSpec 17:07:41 <alaski> right, which would be stored N times in the api db 17:07:57 <bauzas> in the instance_extra ? I'm not that sure 17:08:10 <alaski> so here's my thinking 17:08:30 <bauzas> we already have some problems with all the instance FKs, maybe something denormalized would be good 17:08:31 <alaski> we want to store it in the api db before we have an instance, but then when we have a cell and instance we want to store it in the cell with the instance 17:09:08 * edleafe sneaks in late 17:09:33 <bauzas> yup, just a mapping table sounds good to me, nope ? 17:09:48 <dansmith> so, 17:09:52 <dansmith> if this requestspec is an object, 17:09:55 <alaski> bauzas: mapping table to the request_spec? 17:10:00 <dansmith> it makes it easy to persist it in one place first, and then again elsewhere 17:10:10 <dansmith> i.e. we serialize it into an api db holding place, 17:10:13 <bauzas> dansmith: that's what I think 17:10:25 <bauzas> dansmith: and we sync it 17:10:29 <dansmith> and then when we create the N instances from it, we just serialize the thing to the instance_extra of each 17:10:32 <dansmith> sync it? 17:10:39 <alaski> dansmith: right, that's what I was thinking 17:10:42 <dansmith> once the instances are created, we delete the api holding place 17:10:42 <bauzas> +1 17:11:13 <alaski> we actually don't need the whole thing in instance_extra, just a few parts that aren't already a part of instance or instance_extra 17:11:28 <dansmith> well, 17:11:32 <dansmith> maybe 17:11:37 <dansmith> makes it easier if we have the whole thing 17:11:42 <alaski> true 17:11:50 <dansmith> but if we can take a partial requestspec object, and fill in the gaps from the running instance 17:11:52 <alaski> because I was about to say we'll need to hydrate from two forms 17:11:56 <dansmith> for things like a rebuild, then I guess that's okay 17:12:12 <dansmith> alaski: yeah, we could do that, if we plan for it from the beginning 17:12:57 <alaski> I sketched out part of this in https://review.openstack.org/#/c/176078/1 so you all can tell me how crazy I am there 17:13:19 <alaski> but we could also just persist it the same way in two places 17:13:45 <melwitt> is there any reason not to persist it same way? since that would be easier 17:13:52 <dansmith> just space 17:13:55 <alaski> just that it's redundant 17:13:56 <alaski> yeah 17:14:00 <melwitt> okay 17:14:01 <dansmith> otherwise it's much easier to just save the thing in the new place 17:14:15 <dansmith> we can also plan to just do the easy thing 17:14:21 <dansmith> and then if it looks like it's really worth it, 17:14:35 <dansmith> come up with a way to slim it down and partially hydrate it from the instance later 17:14:47 <alaski> that works for me 17:14:49 <dansmith> more work, but the rule is optimize after it's working, so.. 17:15:04 <alaski> so the second part is https://review.openstack.org/#/c/176083/ 17:15:21 <alaski> not much there, but basically should we take the instance out of the requestspec 17:15:25 <dansmith> I think alaski is over his spec quota, who's with me? :) 17:15:37 <alaski> dansmith: hah, I've not yet begun to spec 17:15:42 <melwitt> haha 17:15:43 <edleafe> dansmith: +1 17:15:44 <dansmith> heh 17:16:00 <bauzas> sorry on the phone 17:16:15 <alaski> np 17:16:43 <alaski> if we are going to persist the requestspec before we have an instance, it's helpful if there's not an instance in the requestspec 17:17:00 <bauzas> ack 17:17:04 <dansmith> aye 17:17:13 <alaski> not that having an instance obj there means we can't serialize and persist, but it's also confusing 17:17:28 <alaski> so my suggestion is to break that out into the pieces that the scheduler cares about 17:17:39 <dansmith> well, 17:18:13 <dansmith> you're saying this because of how requestspec currently works rightr? 17:18:26 <dansmith> like because it's a dict of an instance, that we create an instance from over and over? 17:18:34 <alaski> right 17:18:36 <dansmith> or because the current requestspec object proposal has an instance field? 17:18:48 <alaski> oh, that one 17:19:07 <alaski> we shove an instance in there, but call it instance_properties 17:19:12 <bauzas> yeah we can fix it 17:19:22 <alaski> what we need are just those properties 17:19:28 <alaski> and perhaps it would be better to enumerate them 17:20:04 <dansmith> so, we just make requestspec.instance an @property 17:20:11 <dansmith> and generate the instance if asked, but don't store it 17:21:20 <alaski> yeah, that works. I still feel like we should split instance_properties, but ultimately it's not the issue 17:21:30 <bauzas> probably 17:21:45 <dansmith> wait, 17:21:58 <alaski> actually, we don't really need to generate an instance at any point 17:21:59 <dansmith> by split instance_properties, you mean "not store shit in there that we don't need for scheduling" right? 17:22:01 <alaski> I don't think 17:22:15 <alaski> dansmith: that, and store it as prop1, prop2, etc... 17:22:27 <dansmith> ? 17:22:30 <dansmith> prop1 huh? 17:22:43 <alaski> I forget what's in there :) 17:23:13 <dansmith> I don't know what you mean by "and store it as prop1.." 17:23:32 <alaski> requestspec.prop1/prop2 vs requestspec.instance_properties 17:23:34 <dansmith> oh you mean as requestspec.prop1 and not requestspec.instance.prop1 17:23:38 <dansmith> yes 17:23:41 <dansmith> do that :0 17:24:05 <alaski> heh, cool 17:24:20 <alaski> that means an update to bauzas spec, which I can put up 17:24:59 <dansmith> right 17:25:07 <bauzas> fair 17:25:20 <bauzas> still otp sorry 17:25:47 <alaski> that was all I had on specs for the moment 17:25:54 <alaski> anyone else have something? 17:26:23 <alaski> #topic Open Discussion 17:26:30 <alaski> or anything for general discussion? 17:26:56 <dansmith> not I 17:27:08 <dansmith> hope to have cells job voting by next meeting? 17:27:14 <alaski> yes 17:27:19 <dansmith> pretty amazing, the future we live in 17:27:26 <alaski> I'd like to bring it up in the nova meeting 17:27:29 <alaski> dansmith: hah :) 17:27:32 <dansmith> alaski: cool 17:27:44 <melwitt> just an fyi: I've been working on the patch from long ago that passes a real instance object to cells instance_update_at_top which is part of converting stuff to objects 17:28:02 <alaski> excellent 17:28:13 <dansmith> sweet 17:28:27 <alaski> anything up to see yet? 17:28:43 <melwitt> not yet. I've almost got the unit tests passing with it 17:29:06 <alaski> cool. please add me when it's up 17:29:17 <melwitt> will do 17:29:36 <alaski> if nothing else, early marks 17:29:50 <alaski> #endmeeting