21:00:00 #startmeeting nova_cells 21:00:01 Meeting started Wed Dec 14 21:00:00 2016 UTC and is due to finish in 60 minutes. The chair is dansmith. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:00:02 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:00:04 The meeting name has been set to 'nova_cells' 21:00:07 ohai 21:00:11 hi 21:00:35 dtp: do you not stay on irc all the time? I went looking for you this morning and you weren't in -nova 21:00:57 i try to keep it closed. i find #nova distracting 21:01:05 but it's not a big deal. i'll be on more 21:01:09 o/ 21:01:20 dtp: embrace the chaos 21:01:38 okay, 21:01:44 #topic test/bugs 21:02:03 we had a bug this week when the tripleo people were trying to upgrade past the cell setup requirement 21:02:12 I have a patch up to fix one of the major issues: 21:02:17 https://review.openstack.org/#/c/409890/ 21:02:30 which was creating the cell0 map, then failing doing the host mapping, 21:02:49 which means that if you ran it again it would never re-do the latter bit because it assumed the cell0 map meant it was done 21:03:00 that, and we have some documentation stuff we need to suck less at 21:03:00 HI! 21:03:13 any other bug/testing stuff? 21:03:22 so, on docs 21:03:24 :) 21:03:32 i was thinking an arch diagram might be nice 21:03:40 given mgagne's questions about where the api db lives in cells v1 21:03:52 I'm sure you were 21:04:02 +1 to arch diagram 21:04:25 so, 21:04:45 in this fantasy I have about writing a blog post for this, 21:04:50 I had planned a series of diagrams going from "normal nova" to "cellsv2" 21:04:56 so you can see which parts get added, where, and why 21:04:59 i'm sure you were 21:05:04 that sounds super 21:05:23 +1 on super 21:05:59 anything else on this subject? 21:06:27 #topic open reviews 21:06:27 naw 21:06:45 my megaseries has made some progress, but also grown more patches: https://review.openstack.org/#/c/367557/ 21:06:59 unit and functional tests pass for me on the top patch, however, which is somewhat mind boggling 21:07:18 that's sweet 21:07:34 the bottom patch has a couple comments on an older PS that I could fix up 21:07:47 but otherwise, several at the bottom there should be good for reviews 21:08:05 I noticed that melwitt pushed up a couple things for quotas 21:08:20 melwitt: it looked like those were just moving quotas to the api db.. did you decide against the counting plan? 21:08:32 yeah, I have WIP on them as they have no tests yet. but it would be nice to get a sanity check on where I'm going 21:08:45 no, counting is next and it's tied to a different spec 21:08:57 I thought the point was to do the counting so we don't move them? 21:09:03 we have to move limits and classes 21:09:25 I didn't move usages or reservations 21:09:30 okay, well, I haven't looked so I should shut up I guess 21:09:31 okay 21:10:04 so we have a minimal move needed to store quota limits and quota classes, even thought quota classes do nothing except handle the default quota 21:10:27 yeah, I guess I forgot about having to move the settings separate from the records 21:10:41 we could take the opportunity to kill quota classes, 21:10:44 next will be ripping out all the usages, reservations stuff and replacing it with counting 21:10:48 but it's probably a bit late for that right now 21:10:55 mriedem: yeah I was just wondering if we could just fake that or something 21:11:12 i had a ML post in newton about removing quota classes... 21:11:18 but it's all dropped out of my brain by now 21:11:21 yeah, that would involve a microversion on the API to take it out too right 21:11:33 well, 21:11:36 i'm not sure about that 21:11:45 the api could still return the default quotas 21:11:51 if it doesn't work, we just fake what we return right? 21:11:57 the quota-class-sets that lets you create and update quota classes 21:12:04 like "oh yeah, there are totally some classes, and here they are" 21:12:21 i'd have to go back and look at the ML thread 21:12:21 oh, I didn't think you could actually create them 21:12:30 i think some of the problem was some of that shit was already busted 21:12:31 oh yeah you can 21:12:37 which sucks 21:12:56 so you can create them but they don't work? 21:13:15 http://lists.openstack.org/pipermail/openstack-dev/2016-July/099218.html 21:13:55 " You can still create unique quota classes via the os-quota-class-sets API (it does a create if the update operation fails), but as far as I can tell you can't really use those in any meaningful way." 21:14:01 yeah, I read through that thread before moving them because it wasn't clear to me what it would take to remove them 21:14:30 "I think we should also add a microversion to the API in Ocata to disable the ability to create new quota classes, so that update is only update, and a 404 for anything else." 21:14:37 so... 21:14:45 we could just make update an update for default 21:14:47 and that's it 21:14:54 an update on a thing that doesn't exist is a 400 21:14:56 or 404 21:15:03 rather than update or create 21:15:08 that means we still have to move them I guess, if update is possible? if someone already created some other classes in the past? or does that not matter because no class other than default does anything? 21:15:20 or just not move those 21:15:23 so that they all become 404 :) 21:15:39 if there's no way to really use this, are we just being silly by maintaining compatibility? 21:15:52 we have to move them if they do something, I just don't understand yet whether they do anything. the non default ones if someone created some 21:16:10 compat is all well and good until you orchestrate a giant move of nothing from one database to another to ensure that a broken thing remains broken :/ 21:16:32 yeah, agreed. if existing non default quota classes don't do anything, then we won't have to move them 21:16:35 Vek did provide the original concept http://lists.openstack.org/pipermail/openstack-dev/2016-July/099270.html 21:16:52 you create a class with more or less quota, and apply that to a tenant 21:17:02 so vek said he didn't care if it went away, and sdague said he'd be okay dropping it 21:17:04 in practice i don't know of anyone that uses it 21:17:24 mriedem: but I thought it doesn't actually work for anything but default 21:17:27 are you saying it does ? 21:17:35 idk, would have to test it out 21:18:02 like, 21:18:10 maybe i can change global default quota to 1 instance per tenant, 21:18:29 but then create a custom quota class that allows 2 instances per tenant, and assign that to another tenant, and see if i can create >1 instance on it 21:18:52 yeah. that would probably be a lot easier than trying to figure out from the code whether non default classes work 21:19:03 because it's awesomely confusing 21:19:10 so i'll take the todo to see you can actually use this today 21:19:13 okay, so mriedem you're going to do that? 21:19:14 cool 21:19:16 i've got a fresh desvstack 21:19:30 but yeah the quota classes stuff plumbed throughout the code makes everything harder to follow 21:19:45 yeah 21:20:00 okay, moving on 21:20:02 #action mriedem to see if custom quota classes actually work 21:20:14 dtp: did you push up a review? 21:20:18 not yet 21:20:25 but i have questions 21:20:33 dtp: shoot 21:20:41 https://github.com/openstack/nova/blob/master/nova/consoleauth/rpcapi.py#L92 21:20:49 if i understand what i'm doing here - 21:21:05 i need to get the real data behind that token from memcache 21:21:33 so that i can get the instance_uuid 21:21:57 so is memcache somehow shared across all the cells? 21:22:08 otherwise, if we're running a separate cache in each cell 21:22:24 then i'll need to get to the cache to pull out of it, but i need the instance uuid to get to it 21:22:49 yeah, I was thinking the memcache is global but I haven't actually used the tokens before 21:22:57 well, 21:23:04 it'd be good if that didn't matter 21:23:17 so the problem is that we don't have the instance_uuid in the url for the console? 21:23:50 that is one idea. if i could get instance uuid passed, that would make things easier 21:24:00 or perhaps the only idea 21:24:09 didn't we discuss adding the instance to the url already? 21:24:15 argh, I had thought that was available on the client side but it isn't 21:24:15 perhaps for a different problem 21:24:45 yeah it's not 21:24:55 what do you mean by add it to the url? 21:25:23 the console url is something like /console/ or something right? 21:25:36 yes 21:25:37 so if it was /console// 21:25:40 then we'd have both 21:25:51 like the rest api call you mean? or something else 21:25:53 that'd be hella better than having to talk to memcache from this side 21:26:03 holy snap 21:26:05 and since we generate console urls, we can do this? 21:26:13 just missed the beginning of the meeting 21:26:14 melwitt: well, the url you make the console call on, which is in the instance I think 21:26:19 dtp: I would think we could 21:26:59 yeah, I didn't intend on talking to memcache on the client side. I just didn't realize I was looking at the server side or something at the time 21:27:27 oh yeah, 21:27:31 I think it's easy 21:27:38 it's ?token= even 21:27:52 so just add instance_uuid in ther 21:27:56 easy == GOOD 21:27:56 sec 21:27:59 https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L4546-L4548 21:28:01 now, here's the rub 21:28:07 that is done on the compute side, 21:28:15 which would make the api stop working until all computes get upgraded 21:28:33 so what might be even better is to have the api-side of that call tack on the instance uuid before returning what the compute returned, 21:28:45 which would fix it before computes are upgraded 21:29:02 so here: https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/remote_consoles.py#L67-L67 21:29:09 you could tack on the instance uuid 21:29:21 ah, cool 21:29:22 dtp: you will want to sync up with sdague on this I think 21:29:29 but I think that's probably okay, 21:29:41 and I think he might've been in a convo about this for a different thing a while ago 21:29:52 do we need to worry about existing urls that don't have instance uuid? 21:29:57 dtp: if he seems receptive, tell him "dansmith sent me" 21:30:02 dtp: and if not, tell him it's all youridea 21:30:08 lol 21:30:23 i'm still processing what you have said, but don't let me hold you up 21:30:44 melwitt: it would mean anyone that grabbed a url before an upgrade wouldn't work, but they would just re-ask and get an updated one 21:30:46 melwitt: so I don't think it's too bad 21:31:10 okay, cool 21:31:24 how is sdague involved? 21:31:25 dtp: so, this is turning into a little more meaty thing, but still not to bad I think 21:31:34 dtp: he says "no" to a lot of API stuff 21:32:03 dtp: if we can catch him in the next couple days I'll be glad to be there for that convo 21:32:22 dtp: if not, melwitt can surely back you up 21:32:33 sdague likes melwitt a lot more than he likes me anyway, so that's probably a good thing 21:33:04 hah 21:33:33 and yes, I can help talk to him next week if we can't catch him this week 21:33:41 dtp: okay, so have we jammed your brain full for the moment? definitely ask this kinda stuff sooner on irc if anything else comes up 21:33:56 melwitt: are you around next week? 21:34:00 yes, head is full. i would have but i have been delayed 21:34:03 dan is out after friday 21:34:04 mriedem: yep 21:34:27 I think I have next friday off as a company holiday 21:35:31 so I'll be around monday - thursday 21:35:43 alright 21:35:46 okay so, speaking of that 21:35:54 do we need to have a cells meeting for the next two weeks? 21:35:59 if so, ya'll'er on your own 21:36:53 hard 21:37:06 dansmith: probably not 21:37:07 soft? 21:37:10 limp 21:37:25 okay, so unless someone speaks up I shall send a mail to the list about it 21:37:38 i probably need to talk to jay about his involvement in the upcoming pagan holiday 21:37:42 when is this work due? 21:37:54 dtp: heh, are you a student? 21:38:04 dtp: feature freeze is january 26th 21:38:10 *studen of nova cells v2* 21:38:19 bah dum dum 21:38:31 ok 21:38:50 since we have already... 21:38:54 #topic open discussion 21:38:56 anything else? 21:40:34 okay then 21:40:48 dtp: don't be a stranger, ask in -nova and ye shall receive :) 21:40:50 #endmeeting