Earlier  
Posted Nick Remark
#openstack-nova - 2018-04-12
14:38:21 mriedem starts at "I’m 28 and been married two weeks. "
14:39:14 bauzas what's also sad to me is that my brother-in-law has a daughter of 23 who also studies IT, and she's in couple with a IT PhD student
14:39:23 efried bauzas: We should clarify our terminology. I've been using "candidate" to mean "one result in the list returned by GET /allocation_candidates". Technically we should be calling that an "allocation request". That's the blob that you would turn around and PUT to /allocations/{consumer_uuid} to create the actual allocation for the instance (consumer).
14:39:26 bauzas so he has 2 good reasons to not call me
14:39:41 bauzas in particular when it's the middle of the afternoon and I'm not on PTO
14:40:10 mriedem dansmith: when you get a chance, channel topic needs updating https://etherpad.openstack.org/p/nova-runways-rocky
14:40:34 dansmith mriedem: I don't think it does yet
14:40:38 dansmith I checked this morning
14:40:51 mriedem runways have changed...
14:40:52 dansmith oh, nm
14:40:57 efried bauzas: Again putting sharing aside, one allocation request is going to be a list of resources from (nested) providers on a single host. So there may be e.g. 10 allocation requests returned, but only three hosts represented (so more than one allocation request per host).
14:40:58 dansmith I had to refresh, it didn't notice
14:41:45 dansmith hmm, why did the certificate stuff get kicked out?
14:41:50 dansmith that had a few more days
14:41:57 dansmith and the top one is overdue
14:42:00 efried bauzas: In the use case we're talking about, the filter is going to have to look at each of those allocation requests to figure out how many NUMA node providers are in it.
14:42:37 dansmith mriedem: ^
14:42:39 efried bauzas: ...and compare that number against N in hw:numa_nodes=N. If they don't match, the filter removes that allocation request from the list.
14:43:08 dansmith certs were supposed to go until monday
14:43:13 mriedem i didn't move these
14:43:36 mriedem Certificate Validation - https://blueprints.launchpad.net/nova/+spec/nova-validate-certificates [END DATE: 2018-04-16]
14:43:39 mriedem yeah i don't know why that moved
14:43:40 dansmith right
14:43:43 dansmith and the top one
14:43:49 dansmith is supposed to be kicked out
14:43:57 dansmith maybe we remove the top one and put certs back in its place?
14:44:02 mriedem sounds like we need a CA on this one 10-4
14:44:06 efried bauzas: Having done that, let's say we've filtered our 10 allocation requests down to 4. Of those, one is on host1, three are on host2, and host3 is no longer in the picture (we filtered out all of his allocation requests).
14:44:07 mriedem yeah probably
14:44:19 dansmith mriedem: you gonna do that?
14:44:24 mriedem dansmith: you do it
14:44:29 bauzas efried: wait
14:44:41 efried bauzas: So now we can land on host1 or host2 (but not host3). If we land on host1, we have to use that one allocation request for that guy. If we land on host2, we have a choice of three allocation requests.
14:44:44 efried bauzas: waiting...
14:45:18 bauzas efried: the fact that we have multiple allocation requests related to one host shouldn't impact filters
14:45:41 dansmith mriedem: actually melwitt should be around in 15 mins, so let's just wait
14:45:46 bauzas efried: because filters interface is against *host*, not allocation request
14:45:50 dansmith she clearly logged that she removed it yesterday
14:45:57 openstackgerrit Jay Pipes proposed openstack/nova master: placement: resource requests for nested providers https://review.openstack.org/554529
14:46:48 efried bauzas: That's going to need to be rethought, then.
14:47:08 bauzas efried: what needs to rethought ?
14:47:10 efried bauzas: If we can't have NUMATopologyFilter winnow down the list of *allocation requests* then we're back to the drawing board.
14:47:32 jaypipes mriedem, dansmith: your review needed on https://review.openstack.org/#/c/556873/ pls (nested allocation candidates spec)
14:47:53 bauzas efried: I considered Placement as the way to winnow down the list of hosts we were checking
14:48:04 bauzas efried: so that's still a net win
14:48:07 gameon Hello all - I am trying to configure live migration between hosts, I have a Broadwell 56 core host and a 32 core Haswell server. Both single sockets. I have set cpu_mode=custom and cpu_model to various things, kvm64, haswell, SandyBridge - but still I get an error about CPU incompatibility when attempting to live migration from 32 to 56 core hosts. Is there any way of fixing this? I thought the configuration of custom mode woul
14:48:29 mriedem gameon: please see channel topic
14:48:32 efried bauzas: Because in our scenario above, we've filtered down to host1 and host2, great, let's say we pick host1 -we can't just pick *any* allocation request that relates to host1. Because some of those still have allocation requests where <#numa node RPs> != hw:numa_nodes from extra specs.
14:48:46 gameon mriedem: Sorry I missed that.
14:48:58 bauzas efried: where is the spec describing the query side of nested RPs ?
14:49:47 bauzas efried: probably worth hangouting you know
14:49:48 efried bauzas: https://review.openstack.org/#/c/556873/
14:50:00 efried bauzas: But I'm not sure that's going to help you much.
14:50:20 bauzas efried: well, I'm not in need of anything
14:50:44 bauzas efried: here, I'm just saying "let's use Placement to winnow the list of hosts"
14:50:50 bauzas ah snap
14:50:56 bauzas it will work for NUMA
14:51:01 bauzas but not for VGPU
14:51:09 bauzas oh wait
14:51:11 efried separate use case, let's focus on one at a time.
14:51:11 bauzas it will
14:51:16 bauzas no no
14:51:17 bauzas sec
14:51:20 efried no, it won't. But separate use case.
14:51:25 bauzas trying to wrap around my heard
14:51:27 bauzas head
14:51:34 bauzas so
14:51:46 bauzas we said we're going to get a list of allocation requests
14:52:14 bauzas then, each filter will go thru the list of corresponding hosts and do the checks they want - which are unrelated to what Placement checked
14:52:40 bauzas at the end, we'll figure out that, say host345, host346 are valid
14:52:51 bauzas then, we'll look back at the allocation candidates
14:53:14 bauzas and claim against one of the allocation requests corresponding to those hosts
14:53:54 bauzas what filtering will do is just reducing that list of allocation requests to the ones that are related to hosts that match filtering
14:54:03 efried Right, but since the filter only filtered *hosts*, there can still be allocation requests we can't use.
14:54:13 efried Placement will winnow the list of hosts so far. The filter can winnow the list of hosts further. But - assuming the filter *only* returns a list of hosts - what's going to be left after that is still going to include allocation requests we can't use. And now there's nobody left to filter those out.
14:54:38 efried bauzas: So what I was saying we could reimagine was the role of filters in this flow.
14:54:41 bauzas efried: why should we filter more ?
14:54:49 sahid gameon: you should try with cpu_mode=none
14:55:03 efried bauzas: Instead of being just focused on hosts, a filter is allowed to filter allocation requests too.
14:55:08 bauzas efried: filters give you a subset of allocation requests that are supported
14:55:15 bauzas efried: please no.
14:55:23 efried bauzas: That's not what I understood from what you said above.
14:55:32 sahid so no check are done by in libvirt layer but it's possible that qemu failed to start the -incoming process on destination
14:55:37 efried bauzas: What I understood you to say was that filters give you a subset of *hosts*.
14:56:04 sahid at least you should see the log o QEMU which will indicated which cpu feature is not supported by destination
14:56:04 bauzas they give you a subset of hosts, which turns nova into knowing which allocation requests are valid accordingly
14:56:11 efried bauzas: Exactly
14:56:18 bauzas so, we're cool
14:56:29 bauzas in the example of NUMA
14:56:31 efried bauzas: No. The problem is that there are still invalid allocation requests for the remaining hosts
14:56:54 bauzas oh right, because the NUMA filter did crazy things
14:57:14 bauzas so it said "that NUMA node, I'll take it"
14:57:26 bauzas but it doesn't really do that you know
14:57:34 bauzas it just consider the host valid
14:57:50 gameon sahid: setting it to none makes no difference, I get the same error. I can't see which feature set isn't supported. I am beginning to think it's to do with the number of cores on the hosts. Even kvm64 doesn't work for live migration from 56 to 32 cores (it's a 1 core VM..)
14:57:52 bauzas efried: the NUMA attachment is a late bind on compute
14:58:07 bauzas efried: IIUC the construct
14:58:36 sahid gameon: what qemu is saying? /var/log/libvirt/qemu/instance-xxx.log
14:58:52 efried bauzas: Example: flavor says hw:numa_nodes=2. So we ask for resources1=VCPU:1&resources2=VCPU:1. We get back the following from GET /allocation_candidates:
14:58:53 efried [ [ host1_NUMA0: { VCPU: 1 }, host1_NUMA1: { VCPU: 1 } ],

Earlier   Later