15:00:50 #startmeeting gantt 15:00:51 Meeting started Tue Nov 18 15:00:50 2014 UTC and is due to finish in 60 minutes. The chair is n0ano. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:52 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:54 The meeting name has been set to 'gantt' 15:01:00 anyone here to talk about the scheduler? 15:01:01 \o 15:01:06 o/ 15:02:01 hi! 15:02:04 hi 15:02:14 \o 15:02:20 (sorry, was late) 15:02:22 o/ 15:02:31 just about to ping you two :-) 15:02:38 anyway, let's start 15:02:50 #topic code cleanup tasks 15:03:13 so, maybe we can take a look at the wiki page ? 15:03:15 I hope everyone has studied the email threads and the wiki page at: 15:03:19 https://wiki.openstack.org/wiki/Gantt/kilo#Tasks 15:03:22 +1 15:03:32 #link https://wiki.openstack.org/wiki/Gantt/kilo#Tasks 15:04:05 I've tried to distill down what needs to be done at the wiki, the general question is did I miss anything or is something there that's not needed 15:04:24 n0ano: lgtm 15:04:33 n0ano, the RT objects one needs updating - I'll do it 15:04:40 PaulMurray, tnx 15:04:42 n0ano: there's refactoring of the RT unit tests ongoing, along with my work to make nova.virt.hardware use nova.objects framework. 15:05:15 jaypipes, should I add a couple of line items to the table about those? 15:05:17 jaypipes: oh right 15:05:34 n0ano: no worries, I can do that 15:06:12 jaypipes, cool, I want to tweak the table a little, I want to add a column about approval for the specs, that's pretty crucial 15:06:21 so, about https://blueprints.launchpad.net/nova/+spec/detach-service-from-computenode 15:06:28 n0ano: k, will wait for you to change. 15:06:42 jaypipes, np 15:06:43 item #4 15:06:46 bauzas, go ahead 15:07:08 I've been told yesterday that data migrations are no longer accepted for Kilo 15:07:31 before even K1? that seems a little harsh 15:08:01 schema migrations are fine, just not data migrations I guess. 15:08:09 jaypipes: exactly 15:08:19 I meant *data* migration 15:08:29 so adding a new col is ok 15:08:54 but now we have to use the objects backwards compatibility to provide data for it 15:08:56 bauzas: right. 15:09:01 so I'll update the spec 15:09:03 k 15:09:09 and I will +1 it again :) 15:09:27 bauzas: let's get this one approved ASAP, so the sooner you push a fixed spec, the better :) 15:09:35 bauzas: danpb already +2d it 15:09:47 jaypipes: so that means that the fields won't be changed on upgrade and downgrade, but the compute_node object will do it by itself 15:10:11 jaypipes: it will require some change in the code, but I don't expect so much things 15:10:39 the bad thing is that I'm the first to test the new process so maybe some discussion has to be made :) 15:11:00 bauzas: why wouldn't you be able to change the fields on update and downgrade? 15:11:02 jaypipes: yeah, but johnthetubaguy -1'd it for a good reason 15:11:28 jaypipes: because now it's asked to not do that using dbmigrate tool 15:11:50 jaypipes: instead, objects have to check the version and update by themselves 15:12:19 IIUC of course 15:12:26 bauzas: :( I think I need to know more specifics then... 15:12:58 jaypipes: I suggest that we discuss about it offline 15:13:02 with johnthetubaguy 15:13:12 bauzas, are you saying the same column would contain rows with different versions, that seems iffy 15:13:21 n0ano: nope, that's simple for us 15:13:29 bauzas, I would like to follow this - or at least find out what is done - maybe I should just read the patches 15:13:31 n0ano: there is a new col 15:13:36 called host 15:13:48 ergh, a new 'field' 15:13:57 basically objects does data migrations, flavor stuff is the first example of that 15:14:03 thats the current plan at least 15:14:11 the details areā€¦ hairy at best 15:14:16 johnthetubaguy: thanks for clarifying 15:14:34 johnthetubaguy, all this is a nightmare for rebasing - especially if someone else is working in the same code 15:14:41 there will have to be a spec I recon, for the data migration pattern, 15:14:51 PaulMurray: the other stuff is already hell for that same reason 15:14:59 and we're the first guinea pig - fun :-( 15:15:04 indeed :) 15:15:08 johnthetubaguy, I really want to make that kind of thing easier 15:15:09 n0ano: yeah, thats the sucky bit 15:15:13 I like to be a guinea pig :) 15:15:35 PaulMurray: yeah, ideas welcome, I think the version is now per object, rather than global, which helps a bit 15:15:35 bauzas, you said that out loud 15:15:59 * johnthetubaguy fills out medical testing application for bauzas 15:15:59 :) 15:16:00 johnthetubaguy, yes, but if it is referred to by another object that one has to change too 15:16:14 johnthetubaguy, etc. 15:16:20 PaulMurray: right, this is the data version, not the object version, but yeah 15:16:42 we might make them the same thing, but we need to hash all that out yet 15:16:42 johnthetubaguy, is there a BP about all this, I need to sit back and think on it. 15:16:43 PaulMurray: yeah, the nested object thing is quite a pain to maintain, but I think the idea is pretty good 15:17:09 * PaulMurray end of side-track 15:17:10 PaulMurray: johnthetubaguy: maybe we should free up what's possible with nested objects 15:17:15 n0ano: not quite, is the simple answer, I am owning that priority thing, so I need to pull my finger out an make something more formal happen 15:17:40 johnthetubaguy, fer sure, this looks hard and it would be nice to have something concrete to read on it 15:17:48 johnthetubaguy: I would apprieciate if you could review my patch series when it will be updated :) 15:18:07 right now, I would plan on doing expand and not contract, and leave the contract for the upgrade folks to fix 15:18:19 did someone say they'd create a hacking check to alert if a dependent object version was updated without the depending object version being updated? 15:18:29 and follow the pattern dansmith is doing for flavor for the expand bit 15:18:52 lxsli, there is a test for that 15:19:03 Ah great, ty 15:19:05 lxsli, but any new objects have to be added to the test 15:19:16 johnthetubaguy: well, I was not expecting data migrations to the flavor BP 15:19:30 johnthetubaguy: because it's purely additive nope ? 15:19:32 johnthetubaguy: oh 15:19:57 johnthetubaguy: nope, my bad, metadata has to be populated to the new table 15:19:58 bauzas: its a move, it doesn't really need the contract part, becuase we are not killing system metadata (yet) 15:20:04 right 15:20:13 anyways, sorry, end of side track, hopefully! 15:20:17 johnthetubaguy: I then exactly have the same pattern 15:20:21 * johnthetubaguy goes back to lurking 15:20:30 johnthetubaguy: thanks 15:20:37 bauzas: yeah, I would copy it, add the thing, and use it, leave the old 15:21:06 johnthetubaguy: that's barely already done 15:21:19 perfect 15:21:25 johnthetubaguy: except the thing that I was updating the existing fields 15:22:09 k, I think we're done with this bp 15:22:19 I also have another one to mention 15:22:21 well, seems like we know what we're doing on this one 15:22:29 bauzas, go ahead 15:22:42 https://blueprints.launchpad.net/nova/+spec/request-spec-object 15:22:55 ie. https://review.openstack.org/#/c/127610/ 15:23:06 at the moment, it's a pure mess 15:23:22 so, the basic plan is to objectify request_spec 15:23:31 but there is also filter_properties dict 15:23:50 so I discussed with jaypipes about that, but I would like to get the consensus here too 15:24:19 (because I'll still implementing this next week, albeit for K2) 15:24:27 bauzas, can you get consensus with one other person :) 15:24:54 well, from my past experience, I really like to get feedback before doing anything 15:25:08 because this scheduler.client thing merged with +70 iterations 15:25:20 and I don't talk about ERT ;) 15:25:34 +70 is a record by me 15:25:46 anyway, so what specifically do you need concensus on? 15:25:50 so 15:26:02 select_destinations() is admitting 2 args 15:26:10 filter_properties and request_spec 15:26:35 later in the scheduler, request_spec is nested into filter_properties 15:26:55 so the filters access the spec by doing filter_prop['req_spec'] 15:27:01 my question is 15:27:24 should we consider having 2 objects for that select_dest() interfaces or only one, and so which one ? 15:27:54 I was about saying RequestSpec being the object and filter_properties a field of it 15:28:10 but in that case, it's just a non-sense to invert that for the filters 15:28:10 if one param it should be the request (which contains the filter prop) but I don't see a problem with 2 parameters 15:28:20 bauzas, I agree on that way around 15:28:31 PaulMurray: which is ? 15:28:33 It seems that logically the filter_properties is part of the request 15:28:40 edleafe: agreed 15:28:52 edleafe: so we would need to invert the logic in the scheduler too 15:29:00 that's a massive and invasive change 15:29:02 bauzas: yep 15:29:05 +1 to RequestSpec being the object and filter_properties a field of it 15:29:08 bauzas, what you said: filter props inside request 15:29:26 bauzas, but I wonder if it is early to do that? 15:29:30 bauzas, it's not inverting the logic, it's changing the data access, is that really such a big change 15:29:37 n0ano: it is 15:29:41 n0ano: trust me :) 15:30:01 n0ano: because we need to change all the filters, the tests etc. 15:30:07 bauzas, could remove request spec from filter props but keep both as first step 15:30:30 PaulMurray: I like having baby steps here 15:30:30 well, the target is K2, if we start now we should be able to make it, I can get someone else to help on this 15:30:33 bauzas, then make object 15:30:41 bauzas, for request 15:30:56 bauzas: could we change it in steps: first outside the scheduler, and just have one place inside the scheduler that inverts it to match current design? 15:31:09 edleafe: I was thinking about it 15:31:19 edleafe, I like that idea 15:31:26 edleafe: good idea 15:31:32 edleafe: it's quickier to only change the RPC interface of the scheudler 15:31:39 bauzas: and then later clean up the references inside the scheduler 15:31:48 and then keep the actual logic within the scheduler 15:32:02 so we only have one place to change 15:32:13 k, agreed ? 15:32:14 remember, the objective for the Kilo release is to clean up interfaces, not necessarily internal implementations 15:32:16 jaypipes: ? 15:32:18 +1 15:32:28 n0ano: precisely 15:32:28 bauzas, +1 15:32:34 n0ano: I know, I know 15:32:56 sounds like we lost jaypipes :) 15:33:28 might want to email/irc him directly and make sure he's on board also 15:33:38 k, will go this way and will notify jaypipes 15:33:55 anyway, it was the first step 15:34:10 cool, moving on, one other item I'd like to discuss is like 3 of the table 15:34:17 the second step was to change anything in the scheduler, we can defer it or ask someone else to handle it for K3 15:34:28 edleafe: interested ? 15:34:35 PaulMurray, that's your's, since it's targed for K1 do you have an update on where we stand with it. 15:34:56 bauzas: sure, but that will come later, no? 15:35:00 n0ano, sorry got distracted 15:35:10 PaulMurray, NP 15:35:25 edleafe: yep, but we can do a temptative attempt for K3 nope ? 15:35:26 n0ano, we could take it on if you like 15:35:32 edleafe: if you have time of course 15:35:54 bauzas: sure, let's tentatively plan on that 15:36:09 PaulMurray, not sure what you meant 15:36:13 edleafe: k, will put you as a reviewer of my first drafts then 15:36:36 n0ano, you want an update on rt objects 15:36:45 yes? 15:36:52 yes if you can 15:37:22 lxsli, has started to work on the migrations patch and working with jay on redoing the tests for resource tracker 15:37:32 there is that one patch up and in progress 15:37:41 we will both start getting more on the way 15:37:45 that's about it for now 15:38:05 PaulMurray, cool, good to hear, send me links to the patches and I'll update the table 15:38:17 n0ano, already in the table - refresh 15:38:31 PaulMurray, you're too quick, tnx 15:39:07 * PaulMurray has to pay attention to something else for now... sorry 15:39:18 we've talked about the K1 items (except Berrange's ones, I'll deal with those later). 15:39:47 I think that covers the immediate concerns how about I go to opens for now 15:39:56 #topic opens 15:40:01 Anything? 15:40:39 would there be anyhelp i would like to 15:40:57 typo would there be any help required. i would like to 15:41:10 vigneshvar, tnx, one help would be to review things, that is always needed 15:41:12 vigneshvar: reviewing is the first bit to do 15:41:31 sure will 15:41:44 from there we can see what else makes sense 15:42:13 I don't want to keep everyone so, unless there are any last minute opens 15:42:49 I will say thanks and talk to you all again next week (if not earlier) 15:42:56 #endmeeting