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