| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-04-07 | |||
| 14:11:30 | mriedem | apparently i need to fix the wroding in the claims in scheduler abstract http://forumtopics.openstack.org/cfp/details/63 | |
| 14:18:48 | mriedem | johnthetubaguy: dansmith: does L26 sound like a better abstract? https://etherpad.openstack.org/p/BOS-Nova-brainstorming | |
| 14:21:37 | dansmith | mriedem: sure | |
| 14:22:39 | mriedem | done http://forumtopics.openstack.org/cfp/details/63 | |
| 14:23:35 | mriedem | dansmith: your forum session for cells v2 got approved | |
| 14:24:48 | dansmith | woot | |
| 14:25:51 | mriedem | so i assume you saw my late night ping about the HostMappingNotFound in n-sch on startup | |
| 14:25:53 | mriedem | i posted https://review.openstack.org/#/c/454426/ | |
| 14:25:56 | mriedem | no tests yet | |
| 14:26:01 | mriedem | but was looking for feedback | |
| 14:26:28 | mriedem | basically, don't send an empty instance list from the compute on startup so the scheduler doesn't try and pull an empty list from the db - it's just a waste of time | |
| 14:26:50 | mriedem | and also handle the not found in the scheduler during the update operation since we can recover later (and it could be an old compute sending an empty list) | |
| 14:27:03 | dansmith | I didn't actually | |
| 14:27:23 | johnthetubaguy | mriedem: that looks like a good write up of all things "claim-ey" | |
| 14:27:45 | dansmith | mriedem: ah yeah cool | |
| 14:29:43 | bauzas | mriedem: the instance cache is only needed by a very few filters | |
| 14:29:50 | mriedem | bauzas: right i know | |
| 14:29:56 | bauzas | mriedem: so, not providing the empty list looks good to me | |
| 14:30:05 | mriedem | bauzas: in case you haven't seen https://blueprints.launchpad.net/nova/+spec/put-host-manager-instance-info-on-a-diet | |
| 14:30:13 | mriedem | or my query in the ops list about the TypeAffinityFilter | |
| 14:30:17 | mriedem | and whether or not we can deprecate it | |
| 14:30:20 | bauzas | I just don't remember how the HostState is created when that is not yet running | |
| 14:30:34 | bauzas | mriedem: no, not yet | |
| 14:30:39 | bauzas | mriedem: looking at your spec | |
| 14:30:41 | mriedem | the host state would have an empty instance dict | |
| 14:30:48 | mriedem | it would anyway | |
| 14:30:54 | bauzas | mriedem: yeah, so it's all good | |
| 14:31:02 | mriedem | dansmith: so in general ok with that patch? if so i'll start tests | |
| 14:31:09 | dansmith | mriedem: yeah | |
| 14:31:11 | mriedem | cool | |
| 14:31:19 | bauzas | it's just meaningless to update the scheduler with an empty list given the HostState already has it :) | |
| 14:31:39 | mriedem | it's kind of nice that after so many years i've finally have to start looking at the HostManager code in the scheduler | |
| 14:32:06 | mriedem | can't avoid it forever i guess | |
| 14:32:37 | mriedem | bauzas: it's not a spec btw, it's just, don't send a full InstanceList of full objects from all computes to the scheduler | |
| 14:32:50 | mriedem | when all the scheduler filters need really is uuid (and apparently instance_type_id) | |
| 14:33:11 | bauzas | mriedem: yeah they also need the flavor id | |
| 14:33:14 | bauzas | AFAIR | |
| 14:33:24 | bauzas | some filter is verifying it | |
| 14:33:31 | mriedem | the TypeAffinityFilter uses the instance.instance_type_id | |
| 14:33:31 | bauzas | oh yeah, the InstanceTypeFilter one you mentioned | |
| 14:33:34 | mriedem | which is the flavor primary key | |
| 14:33:38 | mriedem | which is bad | |
| 14:33:39 | bauzas | yeah yeah | |
| 14:33:41 | mriedem | as noted in the ML | |
| 14:33:48 | mriedem | and i'd be surprised if anyone uses it | |
| 14:34:17 | bauzas | don't be surprised | |
| 14:34:28 | bauzas | mriedem: I'm pretty sure I'll find operators using it | |
| 14:34:40 | figleaf | mriedem: there was debate over that back when we removed db access from the filters | |
| 14:34:51 | bauzas | oh man, TGIF | |
| 14:35:06 | figleaf | There were people then who claimed those filters were used | |
| 14:35:11 | bauwser | zactly | |
| 14:35:15 | mriedem | if they claim they are used, | |
| 14:35:21 | mriedem | then i want to know how they deal with changing flavors | |
| 14:35:27 | mriedem | or do they just never change flavors | |
| 14:35:34 | mriedem | i.e. delete and recreate | |
| 14:35:37 | bauwser | the latter I guess | |
| 14:35:38 | figleaf | Otherwise I would have been happy to chuck 'em in the trash | |
| 14:35:44 | mriedem | maybe they just don't know they've been broken | |
| 14:35:50 | mriedem | and this explains their NoValidHost issues | |
| 14:35:58 | figleaf | Could be | |
| 14:36:02 | bauwser | hah | |
| 14:36:04 | mriedem | if i have to send both, | |
| 14:36:04 | bauwser | anyway | |
| 14:36:16 | figleaf | It always seemed fragile | |
| 14:36:26 | mriedem | i'll probably still trim it down from a full InstanceList to a simple InstanceInfo object or something that's versioned and has 2 fields | |
| 14:36:29 | dansmith | fragile is an understatement | |
| 14:36:46 | openstackgerrit | John Garbutt proposed openstack/nova master: Add description to policies in remote_consoles.py https://review.openstack.org/454372 | |
| 14:36:46 | mriedem | rather than just a dict | |
| 14:37:04 | bauwser | lgtm | |
| 14:37:11 | bauwser | and honestly | |
| 14:37:15 | mriedem | i was thinking, if we did deprecate TypeAffinityFilter, we'd have to wait on sending a list of uuids until queens | |
| 14:37:17 | bauwser | when I wrote that BP | |
| 14:37:28 | bauwser | about fanouting the scheduler API with stuff | |
| 14:37:33 | mriedem | and even then, some later filter might need something new and we'd have to add another field to the thing we send | |
| 14:37:41 | bauwser | I was rather thinking of how to update the scheduler differently | |
| 14:37:46 | bauwser | so, now we have placement | |
| 14:38:03 | bauwser | I do wonder if we shouldn't rather use placement for pushing those kind of "resources" | |
| 14:38:15 | bauwser | not saying placement should verify those | |
| 14:38:29 | bauwser | but then the scheduler would query placement rather | |
| 14:38:44 | bauwser | I dunno, it's just a thought | |
| 14:39:02 | mriedem | well, placement does have the list of consumers (instance uuids) per resource provider (compute node) | |
| 14:39:10 | mriedem | placement doesn't have the flavor id | |
| 14:39:10 | bauwser | I don't like computes doing RPC fanouts to the scheduler, and I'm even not comfortable because I wrote that in the past | |
| 14:39:14 | figleaf | bauwser: placement doesn't "know" instance ids and flavor ids | |
| 14:39:18 | bauwser | figleaf: I know | |
| 14:39:35 | bauwser | I'm just saying it's a problem for cellsv2 at least | |
| 14:39:40 | bauwser | because it's an upcall | |
| 14:39:44 | mriedem | the resource provider will have a COMPUTE trait though right? | |
| 14:39:47 | bauwser | like rescheduling | |
| 14:39:55 | mriedem | the compute trait replaces the can_host field | |
| 14:40:10 | bauwser | mriedem: sure, but I don't get your idea | |
| 14:40:35 | mriedem | i don't either so let's not talk about it | |
| 14:40:44 | bauwser | just to make it clear, from a cells perspective, there are 3 upcalls from compute to the API world | |
| 14:40:55 | bauwser | one is when you reschedule, you call out conductor | |
| 14:41:05 | bauwser | the second is the instance list | |
| 14:41:10 | bauwser | (to the scheduler) | |
| 14:41:16 | bauwser | the third one is the aggregate list | |
| 14:41:22 | bauwser | (to the scheduler too) | |
| 14:41:23 | mriedem | did you forget server group members? | |
| 14:41:40 | mriedem | https://review.openstack.org/#/c/442736/ | |