Earlier  
Posted Nick Remark
#openstack-nova - 2017-08-31
19:30:54 dansmith I'm just drilling in on your comment about inheritance
19:31:02 efried As in, you can deploy an AIX VM on it.
19:31:04 dansmith right so that would be virt driver capabilities
19:31:28 efried Right, where/how do those get exposed? Is that still somehow in the placement universe?
19:32:10 dansmith so we're asking for a resource provider that has at least 2 VCPUs available, at least 1G of memory, with a trait of CUSTOM_AIX_WHYWOULDIWANNA
19:32:26 dansmith which would be your node with a virt driver that exposes sufficient inventory and traits
19:32:47 artom Wait, do traits apply to resources or resource providers?
19:33:04 dansmith there is no resources, only resource providers :)
19:33:16 dansmith a resource provider has a set of traits
19:33:38 dansmith a request demands or prefers traits, and asks for quantities of resources by name
19:33:46 artom Err
19:33:48 dansmith we find providers that have sufficient inventory and traits
19:33:49 efried okay, right, my host is the resource provider that provides VCPU and MEM_GB and DISK_GB
19:33:52 edleafe artom: inventory == resources
19:33:54 artom "quantities of resource"
19:34:00 efried and the resource provider has traits
19:34:01 artom "there is no resources"
19:34:18 dansmith artom: meaning there is no object called a resource
19:34:22 artom This isn't the Matrix, yo
19:34:33 efried artom I *think* dansmith means that *placement* doesn't know anything about specific resources.
19:34:45 dansmith artom: there are resource providers that have quantities of a given type, but that type isn't a thing that can have a trait, only the provider
19:34:53 dansmith efried: yeah
19:34:54 edleafe artom: no, but I have an inventory with resource_class == "spoon"
19:34:57 efried (Could it have been Ghostbusters, not Matrix, dansmith?)
19:35:21 dansmith I think I was thinking "there is no try, only do" or whatever
19:35:33 artom That's Star Wars
19:35:43 dansmith yeah, I dunno, I'm not a big enough nerd
19:35:46 efried Yup, and we've reached our limit of three nerd movie franchises.
19:36:02 dansmith yeah,
19:36:17 efried resource_class=SPOON would have a quantity of 8 or whatever
19:36:17 dansmith and eff jay for being on a plane and leaving me with you wolves
19:36:39 efried placement doesn't know about individual spoons
19:36:43 dansmith efried: well, SPOON=8 for consistency but yeah
19:36:45 artom There must always be a core in #openstack-nova
19:36:54 artom (Speaking of wolves)
19:37:36 edleafe er, CUSTOM_SPOON, but whatever
19:37:49 dansmith edleafe: if it's a custom resource yeah
19:38:22 dansmith edleafe: you understand all this, why are you making me squirm alone? :D
19:38:23 efried But if we had soup spoons and dessert spoons, we would either have to make two separate resource classes (SPOON_SOUP, SPOON_DESSERT), or two separate resource providers with traits (CUSTOM_SPOON_SOUP, CUSTOM_SPOON_DESSERT)
19:38:54 edleafe efried: pretty much, yeah
19:38:56 mriedem it'd be a spoon with different traits
19:39:11 efried mriedem The spoon doesn't have traits.
19:39:12 dansmith yeah
19:39:14 edleafe only spoon providers can have traits
19:39:14 efried The resource provider has traits
19:39:18 efried yeah
19:39:19 tbachman there is no spon
19:39:21 tbachman spoon
19:39:22 artom And anyways, there is no
19:39:23 mriedem so the spoon drawer is the provider
19:39:24 artom Dammit!
19:39:28 mriedem that provides spoons
19:39:39 tbachman lol
19:39:40 efried mriedem Right, but you can't have soup spoons and dessert spoons in the same drawer.
19:39:45 dansmith okay so this conversation is over right/
19:39:45 mriedem i do
19:39:54 mriedem i have all sorts of spoons in the same drawer
19:40:05 efried Dude, okay, we're getting meta here, but I'm actually still trying to understand this seriously.
19:40:05 mriedem what psycho separates them
19:40:23 edleafe efried: ok, let me try, using the spoons
19:40:34 mriedem did someone make a soundgarden joke yet?
19:41:01 artom We've only covered Ghostbusters, the Matrix, Star Wars, and GoT
19:41:01 bauzas mriedem: that's correct, before 2.29, when providing a target, we were directly calling the compute service without asking the scheduler to verify it
19:41:11 edleafe if you have a drawer with 2 types of spoons, you have to created nested resource providers with the different traits, and assign the spoons as inventory to each
19:41:31 efried edleafe Okay, so that's yet a third way of doing it.
19:41:38 edleafe the drawer would be the root provider
19:41:54 edleafe efried: that's the only way with just one drawer
19:41:54 efried and the slots in the silverware holder thingy would be the child providers
19:42:04 edleafe efried: yup
19:42:10 mriedem bauzas: yes this always trips me up https://github.com/openstack/nova/blob/2a4ca8bd6aa40ccd26300feaef4267aa71f69abf/nova/compute/api.py#L4017
19:42:16 mriedem because force is None if microversion < 2.29
19:42:17 efried edleafe I thought I could create a separate resource class?
19:42:51 artom It's a purely arbitrary construct though - the spoons can be inventory of RPs with different traits, or there can be one RP with two inventories, one for each kind of spoon
19:43:05 bauzas mriedem: yeah, because we still need to support microversion < 2.29 :)
19:43:06 artom (Right?)
19:43:21 bauzas mriedem: so, like you said, Force=None if so
19:43:25 edleafe efried: sure, but then you wouldn't have "spoons", you'd have dessert_spoon and soup_spoon
19:43:35 efried Right, okay.
19:44:14 efried If we don't have nested resource providers yet
19:44:45 mriedem bauzas: right, it's just confusing
19:44:54 edleafe efried: we still have some work to do with traits and nested providers before any of this will actually work
19:45:19 mriedem looks like our api ref docs also say a host is required in the request when live migrating, which is wrong
19:45:37 dansmith mriedem: so would you kill me if I wasn't around for the nova meeting today?
19:45:48 mriedem i'd like to not be around for the nova meeting today
19:46:28 dansmith is that a joke or are you hoping someone else would run it?
19:46:32 mriedem in 15 minutes i'm going to be knee deep in in-laws
19:46:36 mriedem i'll run it
19:46:39 dansmith okay
19:46:39 mriedem i'm just not happy about it
19:46:58 dansmith having to run a meeting is like the best possible in-law scenario I can think of personally
19:47:49 mriedem holy crap we actually do require that you specify the 'host' parameter in the os-migrateLive action
19:47:55 mriedem but you can pass 'host': None
19:47:56 mriedem dumb
19:50:44 efried dansmith edleafe artom Thanks a bunch for the talk, guys. I have a much better understanding now.
19:52:02 openstackgerrit Matt Riedemann proposed openstack/nova master: api-ref: add warnings about forcing the host for live migrate/evacuate https://review.openstack.org/499769
19:52:03 mriedem bauzas: dansmith: cfriesen_: ^
19:54:10 bauzas mriedem: I'm not sure the comment is really understanding
19:54:33 bauzas mriedem: why did you commented about the over-subscription ?
19:55:34 bauzas mriedem: anyway, commenting the change
19:59:25 mriedem well i was thinking more about failing a resource claim, but that could be removed

Earlier   Later