| *** mhen_ is now known as mhen | 02:48 | |
| zigo | gmaan: Thanks ! :) | 07:44 |
|---|---|---|
| zigo | Saw it, btw. | 07:44 |
| opendevreview | Lajos Katona proposed openstack/nova master: blueprint: iothreads-for-instances https://review.opendev.org/c/openstack/nova/+/939254 | 07:51 |
| gibi | sean-k-mooney: thanks for the review on the native thread defaulting. I answered inline | 09:29 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: support instances with `user` secret security https://review.opendev.org/c/openstack/nova/+/942502 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: support instances with `host` secret security https://review.opendev.org/c/openstack/nova/+/941795 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: Add vtpm_secret_(uuid|value) to LibvirtLiveMigrateData https://review.opendev.org/c/openstack/nova/+/952628 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: support live migration of `host` secret security https://review.opendev.org/c/openstack/nova/+/941483 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: bump service version and require it for live migration https://review.opendev.org/c/openstack/nova/+/962051 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: support instances with `deployment` secret security https://review.opendev.org/c/openstack/nova/+/942021 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: support live migration of `deployment` secret security https://review.opendev.org/c/openstack/nova/+/925771 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: test live migration between hosts with different security https://review.opendev.org/c/openstack/nova/+/952629 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: add late check for supported TPM secret security https://review.opendev.org/c/openstack/nova/+/956975 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: opt-in to new TPM secret security via resize https://review.opendev.org/c/openstack/nova/+/962052 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: TPM: add documentation and reno for live migration https://review.opendev.org/c/openstack/nova/+/962889 | 09:45 |
| opendevreview | melanie witt proposed openstack/nova master: DNM vtpm tempest https://review.opendev.org/c/openstack/nova/+/957477 | 09:45 |
| opendevreview | Balazs Gibizer proposed openstack/nova master: Run nova-compute in native threading mode https://review.opendev.org/c/openstack/nova/+/965467 | 09:54 |
| opendevreview | Balazs Gibizer proposed openstack/nova master: [libvirt]Init event handling before connect https://review.opendev.org/c/openstack/nova/+/966249 | 09:54 |
| opendevreview | Balazs Gibizer proposed openstack/nova master: [libvirt]Init event handling before connect https://review.opendev.org/c/openstack/nova/+/966249 | 10:01 |
| opendevreview | Balazs Gibizer proposed openstack/nova master: Run nova-compute in native threading mode https://review.opendev.org/c/openstack/nova/+/965467 | 10:01 |
| opendevreview | Stephen Finucane proposed openstack/nova master: pre-commit: Bump versions https://review.opendev.org/c/openstack/nova/+/966089 | 11:03 |
| opendevreview | Nell Jerram proposed openstack/nova master: Add managed='no' flag to libvirt XML definition for VIF type TAP https://review.opendev.org/c/openstack/nova/+/960284 | 11:43 |
| opendevreview | Nell Jerram proposed openstack/nova master: Add managed='no' flag to libvirt XML definition for VIF type TAP https://review.opendev.org/c/openstack/nova/+/960284 | 12:29 |
| jkulik | Why is `max_unit` for a resource-provider not reduced by `reserved` (in the libvirt driver)? Seems somewhat inconsistent that it reports something that cannot be achieved. | 13:06 |
| sean-k-mooney | it kind of depends | 13:20 |
| sean-k-mooney | reserved and max_unit are typeicly not set on most invetories differntly form the defuals of 0 and total size | 13:20 |
| sean-k-mooney | for floating cpus for example | 13:20 |
| jkulik | it is set for memory_mb though | 13:20 |
| sean-k-mooney | or we can take that example | 13:21 |
| sean-k-mooney | if you have 100G of ram | 13:21 |
| sean-k-mooney | you reserve 10G | 13:21 |
| sean-k-mooney | and you set allcoation ration to 1.5 | 13:21 |
| sean-k-mooney | then its valid to allow a max unit of 100G | 13:21 |
| sean-k-mooney | but not 101 | 13:21 |
| jkulik | oh, I see | 13:21 |
| sean-k-mooney | becasue we do not allow over allcation against yourself | 13:21 |
| jkulik | I thought of reserved more like "No VM may cut into this, because it's provider-reserved" | 13:22 |
| sean-k-mooney | yes but only if allcation ration is 1.0 | 13:22 |
| sean-k-mooney | we treate reseved basically as if there is an allcoation of that size already present | 13:23 |
| sean-k-mooney | but imporantly we do (total*ratio) - reserved | 13:23 |
| jkulik | but before allocation_ratio is applied (at least in computing the "free" part), right? | 13:23 |
| jkulik | ah. do we? | 13:23 |
| sean-k-mooney | its not (total - reserved) * ratio | 13:24 |
| jkulik | I always thought it would be ^ | 13:24 |
| sean-k-mooney | no reseved it subtracted form total*ratio for backward compatibality | 13:24 |
| sean-k-mooney | becaus that how it worked before placment | 13:24 |
| jkulik | > placement/objects/allocation_candidate.py: cap = int((usage.total - usage.reserved) * allocati | 13:25 |
| jkulik | on_ratio) | 13:25 |
| sean-k-mooney | so https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.reserved_host_memory_mb | 13:26 |
| sean-k-mooney | is directly translated into the reseved value for memory mb | 13:26 |
| jkulik | yes. it's report as-is to Placement | 13:27 |
| sean-k-mooney | and the sematic of that are if you have 50G with allcaotion ration 2.0 and resved 10G we will allwo 90G of usage | 13:27 |
| jkulik | https://github.com/openstack/placement/blob/master/placement/objects/allocation.py#L253 | 13:27 |
| jkulik | so Placement does do (total - reserved) * allocation_ratio | 13:28 |
| sean-k-mooney | that for the allcation size | 13:28 |
| jkulik | that does mean, I can allocate more than total right? as long as I set `max_unit` to more than total? | 13:29 |
| jkulik | but you're saying, `max_unit` is capped at `total` anyways. so that's something else, too. | 13:29 |
| sean-k-mooney | so there is what placement allwos you to model | 13:30 |
| sean-k-mooney | and what nova allows | 13:30 |
| jkulik | hm ... ok, I think I understand why it's allowed in Placemeent now. thanks | 13:30 |
| sean-k-mooney | nova does not allow a singel vm to over subscript the host resocues | 13:30 |
| sean-k-mooney | that is part of our contract | 13:30 |
| sean-k-mooney | that does nto mean its part fo placemetn as that might make sesne to someone. i cant think of a valid reaosn for that but it might be valid | 13:31 |
| sean-k-mooney | i woudl expdect placement ot reject a invetoy whre max_ujnit exceed total | 13:31 |
| sean-k-mooney | but i have not checked if ti does | 13:31 |
| jkulik | Nova does allow going into reserved resources, though, when the admin requests an allocation_ratio > 1.0 | 13:31 |
| sean-k-mooney | correct because again nova expect capastiy = (total * allction ratio) - reserved | 13:33 |
| jkulik | Which can make sense for VCPUs, but imho does not make much sense for MEMORY_MB. I wouldn't want my hypervisor to start swapping, because an overcommitted VMs uses all of its RAM. | 13:33 |
| jkulik | and since Placement takes care with the capacity check that things fit, adding a lot of logic in Nova libvirt to report different "max_unit" depending on the allocation_ratio doesn't really make sense | 13:34 |
| sean-k-mooney | so we have docuemtned in nova in the past tha tyou have to multiply host_reserved_ram by the allcation ratio in the config | 13:34 |
| sean-k-mooney | although its not very clear i guess if you jsut look at the config ref | 13:35 |
| sean-k-mooney | so we coudl defintly improve that | 13:35 |
| jkulik | I feel like that would break the allocation capacity check in Placement. | 13:35 |
| sean-k-mooney | i am debating if that is a placement bug | 13:35 |
| sean-k-mooney | the check looks incorect to me jsut lookign at that capstiy line but | 13:36 |
| sean-k-mooney | i have not revied the code properly to say | 13:36 |
| jkulik | the discussion was helpful for me nonetheless. thank you | 13:37 |
| sean-k-mooney | https://github.com/openstack/nova/blob/rocky-eol/nova/scheduler/filters/ram_filter.py#L32-L65 | 13:38 |
| sean-k-mooney | this is what nova used to do before placement | 13:38 |
| sean-k-mooney | placement is ment ot be 1:1 compatible with that | 13:39 |
| jkulik | so what*s "total_usable_ram_mb" here? | 13:40 |
| sean-k-mooney | i was hoping you woudl not ask that :P | 13:40 |
| sean-k-mooney | but its https://github.com/openstack/nova/blob/master/nova/scheduler/host_manager.py#L217 | 13:40 |
| jkulik | `compute.memory_mb` ... one more step | 13:40 |
| sean-k-mooney | ya so that is just the total ram on the host | 13:41 |
| sean-k-mooney | at least i think it is | 13:41 |
| jkulik | ah, yes. We patched that downstream to properly include the reserved_host_memory_mb :D | 13:42 |
| sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L9445 | 13:42 |
| jkulik | it indeed used the reserved_host_memory_mb only as "usage", not as real reduction of the available memory. | 13:42 |
| sean-k-mooney | right | 13:43 |
| sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/host.py#L1150-L1158 | 13:43 |
| sean-k-mooney | so that is what determisn it upstream | 13:43 |
| jkulik | which is inconsitent with what the vmware driver reports to Placement ... at least in our version :D | 13:43 |
| sean-k-mooney | its either the file backed memory size if your using that or basically the ouput of total memory form free or in thsi cashe virsh capabliteis i belive | 13:43 |
| jkulik | yeah, I read that part. that's fine. just `max_unit` seemed off to me | 13:44 |
| sean-k-mooney | jkulik: well that is the other thing | 13:44 |
| sean-k-mooney | this is virt driver defiened | 13:44 |
| sean-k-mooney | at least to some degree | 13:44 |
| jkulik | why we even looked at that was: we use hugepages from a static pool and libvirt reports not that, but the full memory of the host ... | 13:44 |
| sean-k-mooney | you can use provider.yaml to overried max unit | 13:44 |
| jkulik | hm! | 13:45 |
| sean-k-mooney | well for hugepages you confirue the reservation diffently | 13:45 |
| sean-k-mooney | https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.reserved_host_memory_mb | 13:45 |
| sean-k-mooney | per page size per numa node | 13:45 |
| sean-k-mooney | if you use hw:mem_page_size=small we also use the values form reserved_huge_pages for the system native size i.e. 4 | 13:46 |
| sean-k-mooney | for 4k | 13:46 |
| sean-k-mooney | so if your doing anythign related to numa you are not allowed to oversibcsribe memory | 13:47 |
| jkulik | ok. then for NUMA `max_unit` would be wrong :D but nevermind | 13:47 |
| sean-k-mooney | and you use `reserved_huge_pages = node:0,size:4,count=256` | 13:48 |
| sean-k-mooney | well yes but if we implent numa in placment we can define the sematic of the livbirt driver to limit it | 13:48 |
| sean-k-mooney | since we know that numa memory will always have an allcoaiton ration of 1.0 | 13:49 |
| sean-k-mooney | the max_unit shoudl never exceed (total-reserved) in that case | 13:49 |
| jkulik | yes. but that's not there, yet, right? | 13:49 |
| sean-k-mooney | correct but we track numa memory diffently in nova already | 13:49 |
| sean-k-mooney | and do the enfocement diffently | 13:49 |
| sean-k-mooney | so placement will say this host might be valid | 13:50 |
| sean-k-mooney | and hten numa toploty filter will then do the enforcement | 13:50 |
| jkulik | ... and fail and then we go into retries for spawning in conductor, in case that's configured? | 13:51 |
| sean-k-mooney | because numa requireds an allocation ratio of exactly 1 it drops out of the equation and max unit is just total-reserved | 13:51 |
| jkulik | ah. no. it's an actual scheduler filter | 13:51 |
| sean-k-mooney | right its a scheduler filter | 13:51 |
| sean-k-mooney | we do the check again on the compute in case 2 diffent api request race for the last resouce on a given host | 13:52 |
| sean-k-mooney | but for the most part that wont hapen in a reasonable size cloud or if you say use a weigher to spread based on ram usage | 13:52 |
| jkulik | hm ... we have bad experience with spreading ... then parts of too many hosts are used, which disallows full-host-sized VMs :/ | 13:53 |
| jkulik | thank you again. | 13:54 |
| sean-k-mooney | :) well you can also opt to pack for that use case | 13:54 |
| sean-k-mooney | but ya its a trade off | 13:54 |
| sean-k-mooney | and no worries this is one of hte more complex parts of nova | 13:54 |
| stephenfin | gmaan: Not necessarily for today, but what are the chances of getting the remainder of the OpenAPI series reviewed in the next few weeks? Happy to trade reviews | 14:30 |
| opendevreview | Takashi Kajinami proposed openstack/placement master: Make sure [cors] allowed_origin accepts a list value https://review.opendev.org/c/openstack/placement/+/966275 | 14:30 |
| stephenfin | sean-k-mooney: ditto for you: gmaan has hit the bottom 9 patches of the 28 (sorry /o\) outstanding | 14:32 |
| opendevreview | Takashi Kajinami proposed openstack/nova master: Use common utility to parse Host header https://review.opendev.org/c/openstack/nova/+/966280 | 14:40 |
| opendevreview | Max proposed openstack/nova master: fix: return cross_az_attach errors directly https://review.opendev.org/c/openstack/nova/+/966284 | 15:19 |
| sean-k-mooney | stephenfin: so apprenly https://review.opendev.org/c/openstack/devstack/+/966239 is the short term fix | 16:19 |
| sean-k-mooney | but i also think this is likely incorrect | 16:19 |
| sean-k-mooney | becasue 2025.1 shoudl still be using tempest master not a pin | 16:20 |
| gmaan | stephenfin: sure, not this week but I can see if I can start it again during end of next week. but it is still in my list to continue in this cycle. | 17:01 |
| gmaan | sean-k-mooney: we should be using the master on 2025.1 but let me check chat in qa channel and see what is issue | 17:02 |
| stephenfin | sean-k-mooney: I see there's a run-tempest-26 role in the tempest repo. I would imagine we probably want something similar if there are Python issues, but that's one for gmaan et al | 17:02 |
| stephenfin | *new Python version issues | 17:02 |
| sean-k-mooney | oh i ment to respoend in the ohter channle on the tempst thing lets keep that converstaion in openstack-qa my bad | 17:21 |
| gmaan | ++ | 17:21 |
| opendevreview | Merged openstack/nova master: [CI]nova-alt-configurations tests eventlet https://review.opendev.org/c/openstack/nova/+/965922 | 17:44 |
| opendevreview | Balazs Gibizer proposed openstack/nova master: Default native threading for sch, api and metadata https://review.opendev.org/c/openstack/nova/+/965924 | 18:50 |
| gibi | sean-k-mooney: ^^ renamed the parameter as requested | 18:52 |
| sean-k-mooney | gibi: +2 on both | 18:55 |
| gibi | sean-k-mooney: thanks! | 19:01 |
| gibi | dansmith: when you have time we are ready to close one item off the my eventlet list ^^ :) | 19:01 |
| dansmith | gibi: yeah I was going to do that this morning until I saw the request..I'll circle back in a bit | 19:02 |
| gibi | thanks | 19:02 |
| opendevreview | Merged openstack/nova master: Move monkey_patch from init to the entrypoints https://review.opendev.org/c/openstack/nova/+/965923 | 23:48 |
Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!