Earlier  
Posted Nick Remark
#openstack-nova - 2018-12-05
17:35:37 mriedem getting telemetry over the hump is probably the biggest hurdle
17:35:39 mriedem within openstack
17:35:41 sean-k-mooney right but i gues what i ment is freezing the unversioned code.
17:35:47 mriedem it's already frozen
17:36:07 sean-k-mooney including bug fixes
17:36:11 mriedem deprecation would just be signaling, don't write new stuff with this
17:36:32 mriedem i can't remember the last time we had a bug fix that dealt with unversioned notifications
17:37:09 openstack Launchpad bug 1805659 in OpenStack Compute (nova) "nova notifications hammering the message bus" [Low,Confirmed]
17:37:09 mriedem my concern is https://bugs.launchpad.net/nova/+bug/1805659
17:37:11 mriedem which jmlowe brought up
17:37:22 mriedem today we default to send both, versioned and unversioned, which kills rpc
17:37:27 mriedem s/kills/doesn't help/
17:37:39 mriedem if nothing is consuming versioned yet, then that is a shitty default imo
17:38:02 mriedem i know we want to get people off the old stuff, but no one is doing that
17:38:18 sean-k-mooney ya just readign that makes sense but im kind of reluctent to default to old
17:38:32 mriedem and honestly without a schema that consumers can use, it's probably not really something they care about
17:38:37 mriedem since they can't do version negotiation
17:39:27 sean-k-mooney can we default to versioned going forward instead and tell peopel to enable both/unversions if they have a service that uses them?
17:39:45 mriedem we can do whatever
17:40:00 mriedem me? i'm going to go make lunch and try to think about something else.
17:40:21 sean-k-mooney ok :)
17:54:19 cfriesen sean-k-mooney: I replied to your comments on https://review.openstack.org/#/c/620959/
17:55:33 sean-k-mooney cfriesen: yep i know the feature flags are already in placement but they currently mean find ma a host wtih X not enable X on the vm
17:55:53 sean-k-mooney cfriesen: qemu does not always requrie the host to have X to enable X for the guest
17:56:27 sean-k-mooney AVX is an exampel you can enable AVX in a guest as long as the host has SSE4 suport
17:56:28 cfriesen sean-k-mooney: not quite true. according to the spec the exposed traits represent the features of the CPU model that you would get in the guest.
17:57:01 sean-k-mooney the new spec
17:57:20 cfriesen In https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/report-cpu-features-as-traits.html it says "The libvirt virt-driver should only return the CPU features which are available to the guest."
17:57:49 sean-k-mooney cfriesen: we currently report all cpu feature on the host i belive
17:58:00 sean-k-mooney i dont think we filter by the configured cpu model
17:59:15 cfriesen sean-k-mooney: see _get_cpu_traits() in virt/libvirt/driver.py
17:59:28 openstackgerrit Merged openstack/nova master: Add a bug tag for nova doc https://review.openstack.org/619434
18:00:24 cfriesen sean-k-mooney: "if mode is 'custom', use cpu_model to generate CPU features"
18:02:28 sean-k-mooney when the traits were defiend in os tratis they were ment to model the host capablity though
18:02:32 cfriesen so on x86-64 specifying a trait currently *should* result in a guest with the specified CPU feature present, as far as I can tell
18:02:55 sean-k-mooney cfriesen: that seams to be the case but that was not the intent of the trait
18:02:59 cfriesen why would you care whether a host has a feature if you can't get it in the guest?
18:03:27 sean-k-mooney the trait was ment to allow you to ensure it was not emulated in software
18:04:11 sean-k-mooney the way it currently works i could get avx emulated in software using sse4 which will allow the application to run but will have worese perfromance
18:04:17 cfriesen so I guess you'd need to still use the ComputeCapabilitiesFilter for that?
18:04:34 cfriesen combine that with requesting the trait in the flavor, and you'd get both, no?
18:06:00 sean-k-mooney it still misses the point that HW_CPU_X86_AVX is ment to only be used if the host support it in hardware
18:07:22 cfriesen sean-k-mooney: if ComputeCapabilitiesFilter fails hosts that don't have it in hardware, and specifying the trait requests that it's available in the guest, that seems like it'd work.
18:07:49 cfriesen The other option is to simply not specify CPU models with features unsupported by your hardware...which is up to the operator.
18:08:11 sean-k-mooney it would work but i realy dislike that we are not useing the HW e.g. hardware namespace to model only hardware things
18:08:22 cfriesen sean-k-mooney: have you got any specs/docs for the intent of the trait?
18:09:41 sean-k-mooney that was my intent when i asked for namespacing in os traits https://github.com/openstack/os-traits/commit/23d81d4451dd29c23150b29b8fa9d3025ee8878f#diff-f290aedb8b7fdc21b2b04be76222f6c3
18:10:23 sean-k-mooney the HW namespace was for hardware features
18:10:42 cfriesen we use the "hw" namespace for all sorts of virtual hardware stuff
18:11:10 sean-k-mooney we only started doing that this cylce with the vtpm spec
18:11:12 cfriesen number of numa nodes, cpu distribution between numa nodes, etc
18:11:19 cfriesen oh, you mean for trait
18:11:23 sean-k-mooney yes
18:12:10 sean-k-mooney anyway looks like we approved and implmented https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/report-cpu-features-as-traits.html#libvirt so we are stuck with it
18:13:04 sean-k-mooney i was hopping not to make the same mistakes we did with flavors in os-traits but if i can rely on traits to modele this correctly i will always need filters
18:13:16 cfriesen I think it'd be worth adding something to the release notes warning operators to consider this when adding CPU models to the list.
18:13:55 cfriesen In practice, I would expect that most operators advertising high-performance would not want emulated features, no?
18:14:16 sean-k-mooney ya or better to the config option so its in the docs for setting the models/extra flags
18:14:27 cfriesen right, that makes sense
18:14:51 sean-k-mooney cfriesen: yes but as a tenat i can no longer rely on it being a hardware feature in a public cloud
18:15:15 sean-k-mooney i get the opertor usecase but this originally came form the mano folks
18:15:51 cfriesen gotta run for lunch
18:15:59 sean-k-mooney o/
18:16:08 sean-k-mooney ill comment back on the spec.
18:16:21 sean-k-mooney since we are already missuing them wwe might as well continue
18:45:17 openstackgerrit Matt Riedemann proposed openstack/nova-specs master: Per aggregate scheduling weight (spec) https://review.openstack.org/599308
18:46:35 mriedem_away johnthetubaguy: bauzas: ^ when you're around, i'm +2 on ^ now - seems like a good compromise from the per-flavor weights it started from
18:46:49 mriedem_away mgagne_: since you said you had something like this downstream already ^ it would be good if you can ack that works for you as well
18:52:31 mgagne_ mriedem: done. thanks
19:32:06 openstackgerrit Jack Ding proposed openstack/nova master: Preserve UEFI NVRAM variable store https://review.openstack.org/621646
21:09:26 efried jaypipes, mriedem: Are you waiting for CERN to deploy on ironic nodes before reviewing series at https://review.openstack.org/#/c/615677/ ?
21:10:56 mriedem efried: not really
21:11:02 mriedem i'm not intentionally avoiding it
21:11:34 efried Cool, I know you're stretched pretty thin.
21:11:46 mriedem but my waist line continues to grow
21:13:57 mriedem here is an easy gate related fix https://review.openstack.org/#/c/623011/
21:15:40 mriedem efried: i've been ignoring some other stuff for awhile so trying to burn that list down first
21:15:49 mriedem reviewing your series will be my xmas gift to you
21:15:52 efried mriedem: +2 on the tempest timeout
21:15:54 mriedem thanks
21:15:56 efried Thanks :)
21:38:38 efried mriedem: reserved=total for which resource? And how do you stop the virt driver from overwriting that? (Re ML post about CERN workaround for low alloc candidates limit)
21:40:24 mriedem VCPU? all of them?
21:40:27 dansmith for the compute node
21:40:35 dansmith for all of them yeah
21:40:57 mriedem the compute would probably need to know if it's service is disabled and if so, not ovewrite it
21:41:04 dansmith mriedem: I think we discussed just having an rpc cast to compute to have it do it, vs. a periodic
21:41:04 mriedem *its
21:41:22 mriedem dansmith: sure, but the next update_available_resource periodic would overwrite it
21:41:30 mriedem when reporting inventory
21:41:34 dansmith the compute can stop calling the virt driver's update method if it's disabled I would think
21:41:36 sean-k-mooney efried: the virt dirver really should not be touching the reserved value excpet when its first creating the RP
21:41:46 mriedem sean-k-mooney: the ironic driver does all the time
21:41:49 dansmith sean-k-mooney: uh, why?
21:41:49 mriedem when the node is being cleaned
21:41:57 dansmith the reserved amount is owned by the virt driver, IMHO
21:42:02 mriedem that's exactly why the placement api change was made so that reserved can equal total
21:42:04 dansmith only the virt driver knows what it should be
21:42:25 sean-k-mooney dansmith: well for the same reason as teh have the cpu allocation ratios vs inital cpu allocation ratios spec
21:42:28 efried agreed, all the inventory values ought to be owned by the virt driver, period. We start making exceptions, we end up with messes like allocation ratio... and reserved.

Earlier   Later