Earlier  
Posted Nick Remark
#openstack-nova - 2018-03-27
20:14:19 dansmith efried: if you ask for two things with no trait difference, I think the assumption is you want them from different places
20:14:31 efried But if they *don't* have different traits, putting them in different groups does *not* give you different RPs.
20:14:45 dansmith you're saying that,
20:14:47 dansmith but I disagree that that is how it should be
20:15:00 dansmith so if you're talking about your patches as of now, then okay.. but then we should find and -2 those :)
20:15:23 efried dansmith: http://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html#semantics third bullet.
20:15:39 jaypipes agree wholeheartedly with dansmith. I don't see any logic in granular request groups *ever* meaning "give me two of these exact same resources, but allow them both to be from the same provider"
20:16:06 dansmith efried: okay so that's what I was saying above.. we either decide if they should be different (what I've been assuming) or they're not and they're effectively merged
20:16:11 dansmith efried: your bullet says the latter
20:16:22 dansmith which, if we've decided, then cool, but I think that was/is a mistake
20:16:30 efried jaypipes: You would never want two VFs from the same PF?
20:16:33 jaypipes agreed it was a mistake.
20:16:45 dansmith efried: two VFs from one PF is VF=2
20:16:51 jaypipes efried: if you did, you would say resources:SRIOV_NET_VF=2
20:16:53 dansmith efried: not VF=1,VF=1
20:16:54 sean-k-mooney[m] jaypipes: it does simply one case which is merging resouce request form the image/flavor/port/volume
20:17:02 sean-k-mooney[m] jaypipes: it also has implcation for you cpu spec
20:17:18 dansmith what jaypipes said
20:17:39 efried How do you say, "Give me 8 VCPUs, but I don't care how you split them across NUMA nodes"?
20:17:43 sean-k-mooney[m] today if i have a guest with no numa toplogy and it cant fit on one numa node it will be spread.
20:17:51 jaypipes IMO, that third bullet should absolutely be amended to say "requesting granular request groups of the same resource means that the resulting candidates will be from different providers"
20:17:54 dansmith efried: if I just want multiple VFs and ensure they're on different PFs, but I don't care about any other reason, then VF=1,VF=1 means that, different from VF=2
20:18:06 dansmith efried: VCPUS=8
20:18:10 sean-k-mooney[m] if we say the non numbered resouce request must also be form one RP we cannot support that now
20:18:38 efried dansmith: VCPUS=8 will get you all 8 from the same RP. That's not even related to this discussion.
20:19:04 jaypipes sean-k-mooney[m]: the non-numbered request group specifically says "use_same_provider=False"
20:19:22 dansmith efried: how does VPUS=4,VCPUS=4 make it more flexible?
20:19:26 dansmith efried: that's not saying "do as you with"
20:19:28 dansmith *wish
20:19:51 efried dansmith: It doesn't. But VCPUS=1,VCPUS=1,VCPUS=1,VCPUS=1,VCPUS=1,VCPUS=1,VCPUS=1,VCPUS=1 does.
20:19:58 sean-k-mooney[m] dansmith: what about the case of all you severs have 2 numa node with 10 cores each and i want 16 cores but dont care about numa in my guest
20:20:00 efried dansmith: Now we can spread 'em any which way they fit.
20:20:04 dansmith efried: you can't be serious
20:20:32 dansmith efried: and if I want 32G of memory allocated anywhere? 32*24 query params? :)
20:20:44 sean-k-mooney[m] jaypipes: so non granular can be form multiple RPs and granular resuest each request is guarteeed to be form differnt RPs
20:20:44 jaypipes sean-k-mooney[m]: then you would request VCPU=16
20:20:57 efried dansmith: I imagine step sizes come into play there
20:21:07 jaypipes sean-k-mooney[m]: yes.
20:21:12 dansmith efried: okay but that's still a damn lot of params for silly reasons
20:21:28 dansmith tbh, I'm kinda frustrated by this conversation at this stage in the game and I'm late leaving for something else
20:21:30 efried dansmith: How else do you ensure generic spreadability? Is that a silly reason?
20:21:44 efried Okay. Y'all have made your position clear.
20:21:50 dansmith so I shall bow out, but jaypipes I agree about that third bullet change, or at least putting a stake in the ground about needing to revisit it
20:22:02 dansmith back later
20:22:16 jaypipes efried: what is generic spreadability? is that like I can't believe it's not butter?
20:22:40 efried Oh, you better believe it.
20:22:43 jaypipes heh
20:24:49 efried jaypipes: It means, "I know I want 4 VCPUs. I don't care about NUMA affinity. I just want my instance." Some hosts have no NUMA (all VCPU on the compute RP). Some have two NUMA nodes, some have four. It's a fullish cloud. I sure would like it if I could land my instance, whether there's a host with 4 VCPUs in one NUMA node, or one with 3,1, or one with 2,1,1,0, etc.
20:25:35 sean-k-mooney[m] jaypipes: so just to confim. non granuarl resouce resutes can from from multiple RP. each Granular resouce request of the same resouce class is guarenteed to come form different RPs and Granular Resouce request can or cannot spread across multiple RP im assuming Cannot?
20:25:37 jaypipes efried: resources:VCPU=4
20:25:40 jaypipes simply as that.
20:25:50 efried jaypipes: Then we're treating VCPU special.
20:25:58 efried jaypipes: Cause you definitely can't treat DISK_GB=1024 the same way.
20:26:32 cdent efried: are you saying in the case where the vcpu inventory is registered on the numa nested provider, or something else?
20:26:40 jaypipes sean-k-mooney[m]: a single granular request group of an amount of a resource class cannot spread that bucket across multiple providers, no.
20:26:44 efried [1] http://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html#semantics
20:26:44 efried sean-k-mooney[m]: As currently designed [1], separate request groups with the same resource class *may* or *may not* come from the same RP.
20:26:55 sean-k-mooney[m] efried: that would be covered by just Resource:VCPU=4
20:26:59 efried sean-k-mooney[m]: Oh, also what jaypipes says.
20:27:05 efried sean-k-mooney[m]: No - see above about DISK_GB.
20:27:06 jaypipes efried: how so? all of those resource providers have 4 VCPU available.
20:27:27 efried jaypipes: No, 3,1 means "3 in NUMA node 0, 1 in NUMA node 1" etc.
20:27:27 sean-k-mooney[m] efried: why?
20:28:01 efried sean-k-mooney[m]: If VCPU=4 means I can spread VCPU across multiple numa node RPs, then DISK_GB=1024 means I can spread... individual gigabytes? across multiple storage RPs.
20:28:08 jaypipes oh, in that case then no, no providers would be returned (since none have 4 VCPU available)
20:28:15 jaypipes efried: ^
20:28:22 jaypipes efried: and that is A-OK in my book.
20:28:30 efried jaypipes: Exactly. I get NoValidHosts. But there *were* hosts with available procs.
20:28:40 jaypipes no there were not.
20:28:50 jaypipes efried: there were no resource providers that had 4 VCPU.
20:29:03 efried But there were *hosts* that had 4 VCPu.
20:29:20 jaypipes efried: the host isn't the provider of the VCPU in your scenario, though.
20:29:25 efried why not just say you can't have the same RC in different RPs then?
20:30:04 sean-k-mooney[m] jaypipes: well in his case there were 3cpus on 1 numa node an 1 on the second
20:30:08 efried jaypipes: But I didn't ask for my instance to land on a RP. I asked for it to land on a host. Which has a tree of RPs. But I don't know (and shouldn't care in this case) where the VCPUs are in that tree.
20:30:26 sean-k-mooney[m] but there was not host with 1 RP with 4 VCPUS
20:30:26 jaypipes sean-k-mooney[m]: exactly. there were no providers that had 4 VCPU available.
20:31:14 efried tbc, I'm agreeing that VCPU=4 should give you no hits in this case.
20:31:34 efried I'm saying we need a way to express a request that *does* land this instance.
20:31:51 jaypipes efried: I pretty specifically remember you telling me that my proposed "sum the inventories for like resource classes within a provider tree" was absolutely the wrong way to handle nested providers.
20:31:56 sean-k-mooney[m] jaypipes: right so today. before placement i can have a host with 2 socket each with 10 cores and i can boot a vm with no numa topology with 16 cores
20:32:02 jaypipes efried: and I'm saying I don't care about that.
20:32:14 sean-k-mooney[m] that would now break
20:32:14 efried jaypipes: Yes, exactly, because the DISK_GB case breaks it unequivocally.
20:32:26 efried ^^ this.
20:32:51 efried With the granular syntax as designed, we have a way to ask for this ^ that will work in *any* scenario.
20:32:51 jaypipes I really don't care.
20:33:10 efried namely: resources1=VCPU:1,...,resources16=VCPU:1
20:33:13 sean-k-mooney[m] efried: well diskGB only breaks in some cases
20:33:24 efried I'll grant you that I don't want the admin/operator to have to say that.
20:33:28 jaypipes efried: that is just over-engineering IMHO.
20:33:47 jaypipes for a use case that just isn't particularly attractive to me.
20:33:53 openstackgerrit Merged openstack/nova-specs master: tox.ini: remove the stale 'minversion = 1.4' https://review.openstack.org/530776
20:34:46 sean-k-mooney[m] efried: that has the opisite problem
20:35:04 efried sean-k-mooney[m]: Not if separate granular groups can land on the same RP.
20:35:09 sean-k-mooney[m] now i cant say thes have to come from different RPs
20:35:15 efried correct.
20:35:20 efried without traits.
20:36:50 sean-k-mooney[m] efried: even with traits
20:36:58 sean-k-mooney[m] traits would artifically nanorow your selection

Earlier   Later