Earlier  
Posted Nick Remark
#openstack-nova - 2019-08-22
14:55:36 sean-k-mooney stephenfin: i have not read all the comments in the review but i will
14:55:49 mdbooth stephenfin: Perhaps it's a general anglophone thing, too
14:56:00 stephenfin though the variant I knew growing up involved not speaking 'til you were freed from the jinx :-\
14:56:10 mdbooth stephenfin: Yep, that's the one I remember
14:56:23 sean-k-mooney stephenfin: and being punched in the sholder if you did
14:56:30 stephenfin yuuuup
14:56:48 mdbooth yonglihe: It's a cultural rabbit hole :)
14:56:54 dansmith mdbooth: just using fakelibvirt but otherwise the same? yes :)
14:57:11 mdbooth dansmith: Yarp. I had to add some additional fakeness to fakelibvirt
14:57:19 mdbooth But not a lot
14:57:32 dansmith aye
14:58:32 mdbooth dansmith: I've given the customer a test build, so hopefully we'll get some feedback on whether it addresses the real issue.
14:58:44 alex_xu stephenfin: yonglihe still checking that whether we will have empty sockets https://github.com/openstack/nova/blob/f9ba1192c4/nova/virt/libvirt/driver.py#L5219
14:58:48 dansmith mdbooth: cool
14:59:46 stephenfin alex_xu: Yeah, that branch could be invalid (it wouldn't be the first time). Just as importantly though, what does that do for the asymmetric topology case?
15:00:20 alex_xu stephenfin: whether drop the cpu_topology field probably a decision for yonglihe, I remember lasttime talk with sean-k-mooney, we said if he want the cpu_topology, then it must be a field out of nova cell
15:01:13 yonglihe alex_xu, stephenfin, sean-k-mooney: drop it seems safe enough.
15:01:16 alex_xu stephenfin: I think instance.vcpu_model is for the whole machine, doesn't related to numa
15:01:24 alex_xu okay
15:01:44 sean-k-mooney yes it is for the whole vm
15:02:02 sean-k-mooney it not related to numa
15:02:38 sean-k-mooney you can have cpu_sockets=1 and numa_nodes=2 or cpu_sockets=2 and numa_nodes=1
15:03:18 sean-k-mooney if you use the numa_cpu.X=y syntax you can even make it more disjoint
15:03:35 yonglihe if it for whole VM , does it related to asyc cpu number? how it going to behavior under such configurations?
15:03:52 yonglihe openstack flavor set test.asymmetric --property 'hw:numa_nodes=2' --property 'hw:numa_cpus.0=0' --property 'hw:numa_cpus.1=1,2' --property 'hw:numa_mem.0=256' --property 'hw:numa_mem.1=512'
15:04:08 sean-k-mooney none of those option affect eh cpu toployg at all
15:04:20 sean-k-mooney it change what memory contolr the cpu is mapped too
15:04:41 alex_xu sean-k-mooney: and the numa can across a socket, right?
15:04:45 sean-k-mooney the coup toplogy is contoled by hw:cpu_sockets, hw:cpu_threads and hw:cpu_cores
15:04:50 sean-k-mooney yep
15:05:01 sean-k-mooney or you can have multple numa node ins the same socket
15:05:17 sean-k-mooney they are treated entirely seperatly
15:05:28 alex_xu yea, so numa is totally a logic partition for the cpu
15:05:35 alex_xu and memory
15:05:54 sean-k-mooney you can technical configure a 2 core vm where differente hyperthreas are in different numa nodes if you want too
15:07:05 alex_xu nice
15:07:15 yonglihe sure, so expose cpu_topology is not related to asyc cpu.
15:08:12 alex_xu sean-k-mooney: but stephenfin point out https://github.com/openstack/nova/blob/f9ba1192c4/nova/virt/libvirt/driver.py#L5219, the vcpu_topology may empty
15:08:22 alex_xu I just doesn't figure out what case we will have yet
15:08:50 sean-k-mooney sure it will be empty unless you use teh hw:cpu_* extrapecs
15:09:22 sean-k-mooney so we need to not just check the vcpu_model but allso all of the sub fields to see if they are set
15:09:38 alex_xu oh, I thought we will have a default one
15:09:52 sean-k-mooney the default is virt driver speficic
15:10:07 sean-k-mooney so unless the virt driver populated it in the instance no
15:10:11 sean-k-mooney if it does we might
15:12:01 melwitt belmoreira: hi, as of rocky, console proxies need to be deployed per cell https://docs.openstack.org/nova/stein/user/cellsv2-layout.html#consoleauth-service-and-console-proxies and then if you need to keep consoles working during a live upgrade, set [workarounds]enable_consoleauth = True to enable nova-consoleauth to be a fall back https://docs.openstack.org/releasenotes/nova/stein.html
15:12:25 efried alex_xu, sean-k-mooney, aspiers: so what's up with this request_filters thing?
15:13:41 alex_xu efried: I thought we always getting the info from extra spec, not put something back to extra spec https://review.opendev.org/#/c/664420/42/nova/scheduler/request_filter.py@206
15:13:47 alex_xu that feel strange
15:14:25 aspiers alex_xu: did you see the eavesdrop discussions I linked to?
15:14:27 sean-k-mooney alex_xu the reques filter do modify the tempory flavor
15:14:39 efried yeah, it's an unfortunate temporary measure
15:14:42 alex_xu aspiers: sorry, I didn't get a chance yet
15:15:10 efried aspiers and I discussed at the PTG the longer road to restructuring the code so we wouldn't have to do that, we could just update the request spec (I think)
15:15:24 efried but afaik aspiers hasn't rewritten all of that for us yet :P
15:15:41 aspiers alex_xu: hw:mem_encryption=True is the extra spec visible to users/operators, but it needs to be translated into resources:MEM_ENCRYPTION_CONTEXT=1 behind the scenes just within the RequestSpec
15:16:07 aspiers users/ops shouldn't have to know about the resource class
15:16:13 efried ++ ^ this
15:16:22 alex_xu yea, I see
15:16:31 efried alex_xu: There's precedent in the other request filters, which I think aspiers pointed to.
15:16:36 sean-k-mooney we do the same thing with request filters that add required/forbiding tratis
15:16:43 alex_xu probably we can have request group obj in request spec, then it will be more beatiful
15:16:56 belmoreira melwitt thanks. I'm reading more about this change
15:16:57 efried yes alex_xu, that's the idea, but it's not simple to do.
15:17:11 efried aspiers and I talked about it for like 2h on Saturday at the PTG.
15:17:30 alex_xu ok, got it, seem that is already thing we agree on can do now
15:17:43 sean-k-mooney yep we were not planning to use the request spec in train right
15:17:46 aspiers I'd love the chance to improve things in the future, but it would be great if we don't have to block SEV for this
15:17:47 sean-k-mooney that was for U
15:17:59 melwitt belmoreira: k. let me know if you have questions. also, mnaser went through this same novnc "challenge" when he upgraded, so maybe he can help answer questions too
15:18:05 efried sean-k-mooney: we were tentatively thinking it could happen in T, but at this point, yeah, we should probably punt.
15:18:20 alex_xu I won't block on that
15:18:22 mnaser o/
15:18:39 melwitt belmoreira: from an operator perspective, I mean
15:18:47 aspiers efried: having said all that, alex_xu's suggestion to put the translation into scheduler/utils.py sounded interesting
15:19:01 aspiers but I don't know enough to understand how that relates to this discussion right now
15:19:17 sean-k-mooney efried: we have a few new request filters this cycle. i think it makes sense to prot them all in U
15:19:22 efried melwitt: Thank you for the fix around websockify. And stephenfin thanks for digging into the symbol alias business. I guess we're stuck supporting the dual-location business :(
15:19:35 efried aspiers: where was that part?
15:19:41 sean-k-mooney aspiers: we were moving away form that intentionally
15:19:46 aspiers efried: let me find it
15:19:53 belmoreira melwitt: workarounds/enable_consoleauth = True is only for the leftovers, right? becasue in stein the DB will be always used to store the token
15:20:09 sean-k-mooney e.g. we do some traslation in utils but we disucess not doing that and using request filster intead
15:20:27 melwitt mnaser: belmoreira just upgraded to stein and novnc started failing to work, console proxies are not yet deployed per cell. I'm thinking he needs to set [workarounds]enable_consoleauth = True during the live upgrade and then deploy proxies per cell and then after upgrade be able to turn [workarounds]enable_consoleauth = False
15:20:41 sean-k-mooney aspiers: efried that said we do translate vcpu/ram/disk in the scheulder/utils
15:20:47 alex_xu vpmem also need that, and stephenfin's standard cpu tracking need that also
15:20:54 aspiers efried: https://review.opendev.org/#/c/664420/42/nova/scheduler/request_filter.py@206
15:22:29 sean-k-mooney alex_xu ya so stephenfin's change will do it in the sculder utils replace this https://github.com/openstack/nova/blob/master/nova/scheduler/utils.py#L432
15:22:32 efried aspiers: So is the suggestion to put the translation from hw_mem_enc extra spec to MEM_ENC_CTX resource class into the sched/utils from_request_spec (or from_extra_specs) method instead of the request filter?
15:22:37 belmoreira melwitt, the main issue is because I'm running the novnc/console_auth globally (not per cell). And after the rocky->stein upgrade it can check tokens anymore (even when using [workarounds]enable_consoleauth=true)
15:22:43 sean-k-mooney but in general im not sure we shoudl keep doing that
15:22:48 melwitt belmoreira: right, for leftovers and also needed during the live upgrade to handle consoles while you're changing the deployment to deploy proxies per cell. once you have proxies per cell and upgrade complete, you can turn workarounds/enable_consoleauth = False and stop the nova-consoleauth service and stop having to deploy it
15:23:35 stephenfin melwitt: I think belmoreira is saying that it's still not working with 'workarounds/enable_consoleauth = True' though
15:23:48 aspiers efried: yes I think that's what alex_xu is suggesting
15:24:17 melwitt belmoreira, stephenfin: hm, ok. thinking...
15:24:18 sean-k-mooney aspiers: efried we could but i though we talked about this at the ptg and decied not to do that
15:24:28 alex_xu I'm ok with both, just want to figure out what is the plan for T release since we have serveal patch will do the same thing
15:24:37 sean-k-mooney i could be miss rememebring that
15:24:50 belmoreira stephenfin, melwitt it doesn't work with workarounds/enable_consoleauth = True (with everything running stein)
15:25:32 aspiers sean-k-mooney, alex_xu: what are the pros / cons?

Earlier   Later