14:00:25 #startmeeting nova-scheduler 14:00:26 Meeting started Mon Nov 23 14:00:25 2015 UTC and is due to finish in 60 minutes. The chair is n0ano. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:27 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:29 The meeting name has been set to 'nova_scheduler' 14:00:38 anybody here to talk about the scheduler? 14:00:44 o/ 14:00:58 yes 14:01:36 ralonsoh, a new name - welcome 14:01:55 hello, nice to meet you 14:02:50 \o 14:03:05 o/ 14:03:13 * bauzas just caffeinating at the same time 14:03:39 OK, bleery eyed (out of milk so I can't make a latte :-( but I'm back, let's start 14:03:46 \o 14:03:49 #topic specs & BPs 14:04:17 edleafe, I believe you were going to create a new spec, did you get around to it? 14:04:21 o/ 14:04:29 n0ano: yes: https://review.openstack.org/245940 14:04:45 not much feedback yet 14:05:24 well, let's ping everybody here at least 14:05:39 #action all to review the spec https://review.openstack.org/245940 14:05:58 does that add a new configuration variable? 14:05:59 edleafe: ack, CC'ing myself 14:06:19 johnthetubaguy: yes it should 14:06:25 yes 14:06:25 I mean technically 14:06:35 conceptually, I need to read the spec :) 14:06:46 you can't have a choice without a way to specify your choice :) 14:06:51 o/ 14:06:54 my problem is we are working hard to get rid of variables that point to out of tree code, and it feels to go in the opposite direction 14:07:28 but anyways, I should take that to the spec review I guess 14:07:36 the main problem I see is to add an entrypoint which would make an implicit contract 14:07:39 edleafe: I left a comment 14:07:52 johnthetubaguy: wasn't that the point of using stevedore? 14:08:02 edleafe: no 14:08:33 being more modular in the code is great, on its own 14:09:00 its this bit I always refer to, I think: http://docs.openstack.org/developer/nova/policies.html#public-contractual-apis 14:09:01 edleafe: in general, stevedore plugins imply that you have 2 in-tree plugins :) 14:09:13 johnthetubaguy: thanks, I was looking to that doc 14:09:24 we only contract on the REST APIs 14:09:32 bauzas: simple then: make the new RT for cassandra in-tree! :-P 14:09:41 edleafe: yeah I know 14:10:00 edleafe: I'm just thinking of anyone who could complain because we changed the interface 14:10:30 edleafe: althought it's perfectly clear that we don't guaranttee anything but the REST APIs 14:10:35 supporting upgrade is generally where life becomes hard with these things 14:10:37 how would it change? If they don't do a thing, it works exactly the same 14:10:46 edleafe: like, for example, I changed the filters interface 14:11:16 bauzas: yes, but that changed how they *worked* 14:11:23 bauzas, isn't that an API issue, don't change the API the upgrade should just work 14:11:28 bauzas: how they were *loaded* didn't change 14:11:28 edleafe: even if that was something internal, the entrypoint it has makes me provide an UpgradeImpact with very cautious statement that it will break out-of-tree filters 14:11:51 bauzas: IMO not the same at all 14:12:08 edleafe: well, you'll have a BaseRT interface I guess ? 14:12:22 edleafe: that anyone could consule 14:12:24 consume 14:12:45 bauzas: but we were discussing *upgrade* pain 14:12:46 I mean, any out-of-tree driver could implement that interface 14:13:07 Now you're talking about someone actively changing things 14:13:17 edleafe: sure, now take the idea that resource-providers will change how we write the DB and will modify the RT interface for writing data 14:13:34 edleafe: that would impact the BaseRT interface, right? 14:14:08 bauzas, I would think service providers would not change the internal code which is what changing the way the RT wrote data would require 14:14:37 bauzas: you should probably read the spec 14:14:44 n0ano: resource-objects doesn't, but I'm unsure about service-providers 14:14:50 edleafe: sure, fair point 14:15:01 bauzas: the only thing I'm looking at changing is how the RT does its thing 14:15:08 resoruce providers are not affected at all 14:15:28 edleafe: okay, touché, will read the spec first 14:15:29 :) 14:15:35 :) 14:15:54 I'm seeing a confusion between publicly available REST APIs and internal nova APIs, we should keep that distinction in mind 14:16:04 anyway, read the spec and comment 14:16:29 n0ano: but the way filters work is essentially a public API, since we allow out-of-tree filters 14:16:43 n0ano: yup, to be clear, I'll read the spec with http://docs.openstack.org/developer/nova/policies.html#public-contractual-apis in mind 14:16:56 edleafe: that's where the problem is 14:17:10 edleafe: there is a big misunderstanding about what nova guarantees 14:17:19 edleafe: not explicitly preventing out-of-tree filters doesn't make it a public API 14:17:28 yeah that 14:17:35 edleafe, well, `any` plugin essentially becomes a public API but the plugin has to follow the internal APIs, an external plugin for Juno is not guaranteed to work with Liberty 14:17:41 well, either nova has to provide every filtering possibility in-tree, or allow out-of-tree with a standard interface 14:17:59 edleafe: to be clear, we have plugins for in-tree choiice 14:18:00 edleafe: or accept limited filtering potential :) 14:18:21 lxsli: translation: we know what's best for your cloud! 14:18:30 edleafe: ie. if you have 2 implementations of the same interface in-tree, then you open a entrypoint 14:18:56 having that interface plus that entrypoint makes out-of-tree hacking easier, but it's not a contract 14:19:11 bauzas: that was never the design goal. It was always the case that we considered people would need their custom filters 14:19:21 edleafe: sure 14:19:39 edleafe: but since, we clarified our position, hence johnthetubaguy's doc 14:20:04 edleafe: so, if you prefer, I'm fine with having a pluggable RT if we have *tw 14:20:15 *two* in-tree implementations 14:20:30 +1 14:20:36 edleafe: I'm a bit more concerned about a driver which would propose *one* in-tree implementation 14:20:36 Fine with me 14:21:07 I still think the scheduler client should be extended to the point, that its easy for experiments to just use that seam 14:21:24 anyways, left comments on the spec 14:21:34 I'm actually +1 with the two implementations because why bother to expose the plugin if there's only one 14:21:35 johnthetubaguy: I feel it's doable to experiment some stuff by overriding the sched client, indeed 14:21:38 johnthetubaguy: but the same arguments apply to the number of in-tree clients, no? 14:21:59 hey guys, sorry for being late :( 14:22:04 isn't that why you didn't want me to make the choice of client configurable? 14:22:26 edleafe: do you really need stevedore for testing a Cassandra RT driver? 14:22:31 to be franck 14:22:33 ah 14:22:36 frank even 14:22:54 since you explained it's your goal 14:22:57 bauzas: or kafka, or cassandra, or whatever else people might be interested in 14:23:14 edleafe: just speaking of the experiment you want to have 14:23:21 I've already created the POC I had at Tokyo that hacked the RT 14:23:59 edleafe: so what's the purpose of enabling an out-of-tree hook ? 14:24:01 any alternative proposal that involve handling the data differently will need the same hack 14:24:43 edleafe: sure, but that's because we don't need any alternative in-tree for the moment :) 14:25:11 guys, I think we're arguing in circles a little here 14:25:22 maybe we should just read the spec and comment there? 14:25:27 yes, any other specs to discuss? 14:25:37 n0ano: yup, agreed 14:25:37 https://blueprints.launchpad.net/nova/+spec/aggregate-extra-specs-filter 14:25:37 eh, it's already -2'd, so... 14:26:20 ralonsoh, any specific issue with the spec or do you just want to get attention on it? 14:26:40 It was approved last release 14:26:53 And there was code in review 14:27:16 But the code was rejected by bauzas because the new class created 14:27:32 He proposed to include this code in the SpecsFilter 14:27:34 ooh that bauzas! 14:27:44 Sorry hehehe 14:27:57 * n0ano I wonder if that bauzas guy is around to comment :-) 14:28:09 hi. expose-host-capabilities spec, if you could read it, it would be great. could use some suggestions on the scheduler part. Uploading a new PS shortly: https://review.openstack.org/#/c/222200/4 14:28:42 I don't want to use your time now 14:28:46 Only to point it 14:29:30 ralonsoh, that's fine, this is exactly what we're here for, I'm guessing bauzas is review the spec again 14:29:33 sorry, was diverted 14:29:45 no problem 14:30:01 johnthetubaguy: can we remove the procedural -2 on that? 14:30:04 bauzas, NP, want to comment on ralonsoh's issue or just comment on the spec 14:30:08 ralonsoh: so, IIRC, I was having some concerns about some concept duplication that you were introducing 14:30:13 johnthetubaguy: https://review.openstack.org/#/c/189279 14:30:44 ralonsoh: so I need to reboot my mind with your spec 14:30:55 action bauzas to re-review? 14:31:09 thanks! 14:31:16 lxsli: agreed 14:31:39 #action bauzas to re-review https://blueprints.launchpad.net/nova/+spec/aggregate-extra-specs-filter 14:31:48 thanks n0ano 14:32:09 * n0ano wields the action power - bwahaha 14:32:22 claudiub: in my pipe 14:32:26 anyway, moving on 14:32:33 #topic bugs 14:32:58 bauzas: cool, ty. 14:33:05 although we have 34 bugs I note that 12 are wishlist items but that still leaves 22 outstanding 14:33:09 claudiub: initial reaction is that this is treading on a very uncertain area and it's going to take quite a bit of work to get agreement 14:33:13 well, markus_z is not around 14:33:46 lxsli: yeah, I agree, which is why I need help on that, M-1 is steadly approaching. 14:33:53 n0ano: the bug triage could probably have some lagging 14:33:57 I've got a team I can point at the list, I'll see if I can get them to take on some of these 14:34:16 n0ano: we are missing nova bug triagers you know :) 14:34:26 n0ano: I think markus_z would appreciate the help 14:34:46 let me triage, I just mark everything as NOTABUG and move on :-) 14:34:57 BROKEN_AS_DESIGNED 14:34:57 yup, that's confirmed, some bugs are untriaged 14:34:59 lxsli: but during the mitaka summit, during some nova session, it was concluded that we need something like this in nova. 14:35:07 lxsli: +1 (was just typing the same comment) 14:35:10 like https://bugs.launchpad.net/nova/+bug/1517770 14:35:10 Launchpad bug 1517770 in OpenStack Compute (nova) "NULL free_disk_gb causes scheduler failure" [Undecided,New] 14:35:21 lxsli: about the help 14:35:28 claudiub, lxsli are you guys trying to hijack this channel :-) 14:35:44 n0ano: sorry, overflow from specs part :) 14:35:49 sorry. :( 14:36:03 lxsli, claudiub NP it just makes things even more confusing 14:36:35 #action more scheduler bug triaging by all 14:36:53 moving on 14:36:57 #topic opens 14:37:01 anything new from anyone? 14:37:35 hearing crickets, last chance 14:37:40 just a reminded that this will be a slow week for US-based stackers 14:37:49 big holiday 14:37:54 bauzas: how do you feel about persist request spec? 14:38:07 lxsli: I can't remove a procedural -2 until the blueprint is approved 14:38:14 edleafe, indeed, technically I'm on vacation but I just couldn't stay away :-) 14:38:20 lxsli: some weird issue is occurring, I need time for investigating that 14:38:46 lxsli: happy to follow up with folks on how to get the blueprint approved 14:38:57 ralonsoh: ^^ 14:39:00 * bauzas not joking about the whole pack of holidays that US folks have 14:39:02 bauzas: OK thanks 14:39:07 johnthetubaguy, I though the BP wasn't approve because there wasn't a spec - I'm so confused 14:39:24 n0ano: the spec got -2 for "should be specless BP" 14:39:47 bauzas: Thursday is the holiday. Wife and daughter have the whole week off. 14:40:04 :) 14:40:05 lxsli, but at the last meeting the result was needs a spec 14:40:07 n0ano: basically the same process as the last two cycles, as documented here: https://wiki.openstack.org/wiki/Nova/Process#How_do_I_get_my_blueprint_approved.3F 14:40:54 well, the problem I had with that filters wasn't code-related, but rather a problem about whether that filter was necessary or not 14:41:03 (IIRC) 14:41:45 so I don't know if that's a specless BP, but I still have some concerns about if all of that is okay or not :) 14:41:46 bauzas that filter give the admin more choices 14:42:19 bauzas: are you saying that the filtering need can be met with the existing filter(s)? 14:42:20 bauzas but thanks to give a second review 14:42:26 edleafe: perhaps 14:42:48 even if it can't quite, might be better to extend the existing filter than create a whole new one 14:42:50 ralonsoh: the problem that I have is that we really suck (IMHO :D) about what's a good filter UI 14:42:58 well, not UI, rather UX 14:43:09 ie. how we define the interaction between the user and the filter 14:43:35 for example we don't fully commit ourselves on verifying the semantics overlapping between filters 14:43:52 that's fair enough 14:43:55 for in-tree filters I definitely don't want duplication 14:44:07 and as a consequence, they are 2 filters that are using the same metadata key for example 14:44:11 lxsli: duplication is one thing; overlap is another 14:44:24 that's very confusing for operators 14:44:45 edleafe: duplication of functionality I mean, same as overlap afaict? 14:44:46 lots of them are complaining on how we suck about filters documentation 14:45:05 for all of us, did you ever tried to play with a filter without reading code? 14:45:16 bauzas, too true 14:45:18 lxsli: not necessarily. Everything is intertwined to some degree :) 14:45:36 so, that's my biggest concern with that new filter 14:45:40 I mean 14:45:45 bauzas: +1 to not having to read the code 14:45:46 I totally got the usecase 14:45:49 Time to take this offline? 14:45:54 bauzas: similar to the REST API and config options right now, sadly, its a big issue we must fix very soon :( 14:46:07 clearer documentation, that is 14:46:22 so, I said in the precedent meeting that I have an action about providing some bits for newcomers 14:46:25 and I sucked at that too 14:46:26 johnthetubaguy, why do I have visions of the Agean stables 14:46:57 so, you should rather hassle me for fulfilling my action items and do the necessary for having people able to write docs 14:47:09 at least one of our priorities this release is to improve our REST API docs, and thats the interface we have the most users for, so some progress is good 14:47:57 johnthetubaguy: true, but the scheduler filters are out of the doc scope that has been prioritized, true? 14:48:32 bauzas: do you mean this stuff, or something different? https://wiki.openstack.org/wiki/Nova/Mentoring 14:48:39 johnthetubaguy: http://docs.openstack.org/developer/nova/filter_scheduler.html 14:48:44 bauzas: yes, but there's nothing stopping us improving filter doc meanwhile 14:48:46 johnthetubaguy: ^ that has to vhange 14:49:05 its a priority call, REST API has more users 14:49:10 I hope 14:49:10 I think we're rambling a bit, let's take anything else to the nova channel 14:49:25 https://review.openstack.org/#/c/246476/5 host manager is already implemented to use stevedore :) 14:49:28 lxsli: true, and see 4a) here http://eavesdrop.openstack.org/meetings/nova_scheduler/2015/nova_scheduler.2015-11-16-14.01.html 14:49:39 johnthetubaguy: sure 14:49:48 bauzas: :) 14:49:52 So tnx everyone and we'll talk again next week 14:49:56 cheers all o/ 14:49:58 #endmeeting