17:00:10 #startmeeting nova_cells 17:00:10 Meeting started Wed Jun 17 17:00:10 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:11 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:14 The meeting name has been set to 'nova_cells' 17:00:21 hi 17:00:25 o/ 17:00:46 * bauzas waves 17:00:49 o/ 17:01:00 #topic Tempest testing 17:01:10 melwitt: you're up 17:01:37 since the last patch mentioned last meeting merged, the cells job is looking good: http://goo.gl/b7R8wq 17:01:59 it's been only failing on patches that are really failing tests 17:02:00 \o/ 17:02:15 awesome 17:02:16 * bauzas prepares to wave again 17:02:33 the patch to change it to voting is up at https://review.openstack.org/#/c/190894/ but we're waiting on some advice from mtreinish about whether we should add it to run on tempest changes as well 17:03:29 there's another question in the review on whether to run the job against devstack changes too 17:03:54 once we get those answers I'll update the patch and then it should be good to go 17:04:01 excellent 17:04:03 I think that's it on the tempest testing status 17:04:08 \o/ 17:04:12 (I said that) 17:04:16 fwiw I think we should run on tempest, not sure about devstack though 17:04:32 thanks for the update 17:04:45 #topic Specs 17:05:00 there are still a couple of specs up 17:05:08 reviews always appreciated 17:05:15 https://review.openstack.org/#/c/169901/ https://review.openstack.org/#/c/190147/ 17:05:31 oh, I forgot to wave, but I'm here 17:05:53 cool 17:06:03 about #190147 and the migration 17:06:57 to start use cellV2 we need to "signal" that someway and the operators will need to migrate the data... 17:07:22 preferably with a nova-manage command 17:07:25 +1 17:08:18 a strategy we could use would be to look up flavors in the new table, and fall back to the old one if they're not there 17:08:19 should we have a global spec for data migration? since we need to create a common nova-manage 17:08:54 alaski: but we should be in cellsV1 or cellsV2 17:09:08 otherwise I think we add confusion 17:09:48 alaski: could we get those spec reviews into the etherpad, so they get higher priority, maybe they are already there? https://etherpad.openstack.org/p/liberty-nova-priorities-tracking 17:09:53 I've been assuming we would have both for a period of time. cellsv1 would have a single v2 cell as the parent cell 17:09:57 johnthetubaguy: should already be there 17:10:04 oh wait, I saw them! my bad 17:10:27 yeah, that's the migration path, right 17:11:03 so, a tool for migrating flavors to cellsv2 API DB sounds reasonable, and doesn't confuse 17:11:10 even if people run cells V1 17:11:26 because both can interlace 17:11:57 belmoreira: that's a good question on a global migration. I could see a command to handle all of the individual migrations, but I think they should be separately runnable as well 17:12:13 alaski: sorry, can we be more verbose about "cellsv1 would have a single v2 cell as the parent cell" :) 17:13:02 your current top level cell would become a v2 cell, with api and cell. so it would be a v1 parent cell and also a v2 api and cell 17:13:38 the top level v2 cell would run v1 code to route message properly 17:13:54 I should probably draw that out somehow 17:14:04 agreed 17:14:13 alaski: ok, thanks 17:14:40 #action alaski draw out how cellsv1 and v2 will interact during transition period 17:15:43 alaski: just for the records, I think the transition period can last a certain time :) 17:16:09 belmoreira: back to your original question about a signal, I think if at all possible the code should work with migrated or unmigrated data 17:16:12 Running the migrations separately could mean that I only migrate flavors and nothing else 17:16:31 belmoreira: then the migration can be run at any time 17:16:55 shouldn't we consider to migrate the flavor information on the fly with the object ? 17:17:04 ie. when calling Flavor.save() 17:17:15 and leave the nova-manage tool for instant upload 17:17:55 that's a possibility, and if we need to do that we can 17:18:07 yeah, would be far better 17:18:28 but there's typically not much flavor data, and rarely saved, so doing it 'online' with a nova-manage command would be my preference 17:19:05 alaski: well, I care about the extra specs, but your point is fair 17:20:30 bauzas: just for my understanding... calling Flavor.save() will be data migration? in that case only new/updates flavors will be added in the new table 17:21:17 belmoreira: let me think about a global migration a bit more. I was thinking we would migrate one table at a time, but that could be tedious for a deployer 17:21:31 belmoreira: that's a pattern for allowing objects to care about the migration by themselves, ie. we load either from source A or B, but at the end, we write on B 17:21:34 belmoreira: but I also don't want to have to wait for all migrations to be done before we can run any for testing 17:21:53 alaski: fair 17:22:50 bauzas: I understand that... but for the particular flavor case it can took some time. no? 17:23:48 belmoreira: well, you hydrate your object from the Cells V2 API first, and if not found, from the regular nova DB, but you only save to the Cell V2 DB 17:24:01 cell V2 API DB I mean 17:24:12 alaski: so the bit I like here is being able to stagger the migration into small chunks so you can limit the DB load on production, a single command to do all the migrations would make life easier 17:24:13 bauzas: ok 17:25:09 johnthetubaguy: yeah, I envision a command to run all the subcommands 17:25:37 and some things will be probably be handled by object saves, helping to spread the load 17:25:50 alaski: makes sense 17:26:23 we can continue this on the flavor review, but it seems like we could also use something to discuss the high level migration plan on as well 17:26:58 alaski: the cells devref maybe? 17:27:19 could be, similar to https://review.openstack.org/#/c/190209/ 17:27:21 for a "once its all done" overview 17:27:39 alaski: +1 17:27:46 thats some good stuff there :) 17:27:53 moving on then ? :) 17:28:02 for the flavor spec we will update it asap 17:28:09 belmoreira: great 17:28:14 bauzas: moving on 17:28:17 alaski: honestly, I am good with merging that, if it makes it easier to find 17:28:23 #topic Open Discussion 17:28:32 johnthetubaguy: I like it as a living document right now 17:28:39 alaski: cool 17:28:57 https://review.openstack.org/#/c/192098/ 17:29:07 alaski: The second part of cell-ost-mapping spec impl. is at https://review.openstack.org/#/c/192098/ 17:29:40 cool, I started to go through that but didn't quite finish 17:30:16 bauzas: what's the status on having a request_spec object? 17:30:32 alaski: on its way, good progress 17:30:52 alaski: the main discussion we currently have is how to manage the transition period 17:30:58 great. can I start working on persistence yet? 17:31:13 alaski: technically, you can take a look at the object 17:31:25 okay 17:31:34 alaski: but I'm going to provide a new change, since I recently discovered that hints are API validated \o/ 17:31:48 ahh, cool 17:31:52 I was thinking we were waiting for strings and dict of strings, but that's not the case 17:31:57 https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/schemas/v3/scheduler_hints.py 17:32:24 so I can remove that ugly DictofStrings field which was making me uncomfortable and use a real Hints object 17:32:42 nice 17:33:08 I want to get that work going so I can play with a buildrequest object as well, though that spec hasn't merged yet 17:33:16 alaski: just be aware that I'm iterating over the changes very often 17:33:36 alaski: just because I'm discovering craps while I'm using that in the FilterScheduler 17:33:58 bauzas: no problem, as long as there's some stability in at least the object name I can work with that 17:33:59 alaski: but at least, I think you can take the fields as example 17:34:16 the fields shouldn't really change, rather the hydrating methods 17:34:25 okay, even better 17:34:30 to care all the corner cases 17:35:03 alaski: that's cool you're planning to work on persisting it 17:35:12 alaski: I was thinking it was a due to me 17:35:44 I wrote the spec, so I figured I had volunteered 17:35:49 alaski: just one note, I'm planning to add a new field https://review.openstack.org/#/c/179224/11/specs/liberty/approved/check-destination-on-migrations.rst,cm 17:35:57 alaski: sure thing, that's cool 17:36:11 alaski: that will free up some time for me to make decent reviews then 17:36:14 but I need it for the buildrequest stuff too so I'll work on it so I'm not blocked, and you can focus on the object itself 17:36:35 cool, that works 17:37:02 anything else to discuss? 17:37:59 thanks all! 17:38:04 #endmeeting