Earlier  
Posted Nick Remark
#openstack-nova - 2025-06-06
13:03:09 stephenfin sean-k-mooney: sorry, I'd just assumed we were going to skip validation for response bodies and be done with it
13:03:27 sean-k-mooney gibi: hum thats unfortunet
13:04:11 sean-k-mooney gibi: i assume we cant pass an arge to do the join egerly
13:05:09 elodilles hi folks, i know thay you are busy with other things, but there is a small "tool" change i'd appreciate you would review and merge if possible (yeah, it's a small fix for backport validator, related to unmaintained branches :/): https://review.opendev.org/c/openstack/nova/+/949628
13:05:17 elodilles s/thay/that/
13:06:17 gibi elodilles: +2
13:06:19 sean-k-mooney looks fine to me i guess
13:06:43 sean-k-mooney it is one of the first times we have had to skip eols
13:06:54 gibi sean-k-mooney: we might, but the server/view code is entered from different places so we should only conditionally do the join if we know it will be used
13:07:05 stephenfin gibi: sean-k-mooney: thanks for the help https://github.com/stephenfin/nova/commit/2630daf37c8adf4b443c80e66139ea6285c04eae
13:07:24 stephenfin will push all those once the bulk of what's already up on gerrit has merged
13:08:17 elodilles thanks gibi sean-k-mooney o/
13:35:42 sean-k-mooney gibi: im on a call but we have someting like "expected_filds" or something like that to contole which filed are lazy loaded on the instance object
13:35:57 sean-k-mooney i dont knwo if we can use that in soem way
13:37:37 sean-k-mooney i was thinkig of https://github.com/openstack/nova/blob/master/nova/objects/instance.py#L77C5-L101
13:46:49 opendevreview Balazs Gibizer proposed openstack/nova master: Run nova-api and -metadata in threaded mode https://review.opendev.org/c/openstack/nova/+/951957
13:48:33 gibi sean-k-mooney: yeah we can ask for the join, the problem is that there are multiple ways reaching that calls and some will use the bdms later some won't. Also the way how this is built up make is pretty hard to untangle them. It is not impossible to refactor this but I decided not to try it now
13:48:59 gibi btw if https://review.opendev.org/c/openstack/nova/+/951957 works then that is a nice surprise and an easy win
13:49:32 gibi locally it works for me but I need the full tempest run from nova-next to believe in it
14:00:50 sean-k-mooney gibi: well i had workign versions last cycel so it really wont take much
14:01:36 sean-k-mooney gibi: as in the api was the one of the first thigns i thied to move so with the infra you have added im expict that to not be supper complx to get working
14:02:20 sean-k-mooney gibi: and yes scater gatther is the only use of eventlet spwan in them
14:02:28 sean-k-mooney that why i suggested starting with the api
14:03:11 sean-k-mooney gibi: i know i need to go back adn review the most recent version but i think schduler api and metadta are doabel by m2
14:05:43 gibi yeah now that I see api working locally I believe that it is doable for m2
14:06:47 sean-k-mooney it might be worth askign clark to look at https://review.opendev.org/c/openstack/devstack/+/948436 again
14:07:17 sean-k-mooney although it will be a few days in any case before we get that far in the series
14:09:25 gibi good point. I pinged clark in the review now and I can ping him on IRC next week
15:58:09 opendevreview Merged openstack/nova master: [tool] Fix backport validator for non-SLURP https://review.opendev.org/c/openstack/nova/+/949628
16:03:19 opendevreview Elod Illes proposed openstack/nova stable/2025.1: [tool] Fix backport validator for non-SLURP https://review.opendev.org/c/openstack/nova/+/951968
16:04:36 opendevreview Elod Illes proposed openstack/nova stable/2024.2: [tool] Fix backport validator for non-SLURP https://review.opendev.org/c/openstack/nova/+/951969
16:05:14 opendevreview Elod Illes proposed openstack/nova stable/2024.1: [tool] Fix backport validator for non-SLURP https://review.opendev.org/c/openstack/nova/+/951970
16:29:22 noonedeadpunk I'm trying here to setup hugepages for one of my computes, but instance gets filtered out at NUMATopologyFilter with no good candidates https://github.com/openstack/nova/blob/master/nova/scheduler/filters/numa_topology_filter.py#L115-L121
16:31:31 noonedeadpunk compute object seems to be having mempages https://paste.openstack.org/show/bRHPMmumA43t0KHk186K/
16:33:02 noonedeadpunk I wonder if that's might be also due to PCI Passthrough attempt, as that's I guess what might not work with numa placement nicely?
16:34:55 noonedeadpunk flavor defined as `hw:cpu_policy='dedicated', hw:mem_page_size='2MB', hw:vif_multiqueue_enabled='true', trait:CUSTOM_GPU='required', pci_passthrough:alias='A10_FULL:1'`
16:35:17 noonedeadpunk and obviously once I unset hw:mem_page_size - scheduling passing nicely
16:35:58 opendevreview sean mooney proposed openstack/nova master: [DNM] testing py3.13 eventlet bug workaround https://review.opendev.org/c/openstack/nova/+/951749
16:57:47 sean-k-mooney you can have both enabled
16:58:20 sean-k-mooney however if you have a numa vm by default we require the pci device request by the guest to come form the same numa node as the guest cpus/memory
16:58:30 sean-k-mooney noonedeadpunk: you can diabel that in your pci config
17:00:37 sean-k-mooney noonedeadpunk: in your pci alias you can set https://docs.openstack.org/nova/latest/configuration/config.html#pci.alias numa_policy=preferred
17:00:52 sean-k-mooney noonedeadpunk: you can also set that in the flavor which is generally simpler
17:02:04 sean-k-mooney i would recomend setting hw:pci_numa_affinity_policy=preferred or hw:pci_numa_affinity_policy=socket
17:02:25 sean-k-mooney preferred is the most relaxed policy
17:02:54 sean-k-mooney i woudl also suggest using hw:mem_page_size=large
17:05:36 noonedeadpunk large is 1G?
17:06:11 noonedeadpunk let me try setting policies then...
17:06:52 noonedeadpunk as I tried couple of options, like hw:numa_nodes=1
17:12:37 noonedeadpunk nah, didn't fly somehow... I guess best thing to do for me now - go for a weekend and check on that with fresh eyes after it :)
17:12:43 gmaan about 2.0 removal. I am not sure what is benefits if we keep v2.1 as min version. 2.0 is just a endpoint without any change from v2.1 so no overhead of maintenance. This will just break user using 2.0 endpoint without giving any gain
17:21:33 sean-k-mooney noonedeadpunk: large is anything that isnt small i.e. anything other then 4k default pagesize
17:22:10 noonedeadpunk aha, ok
17:22:27 sean-k-mooney noonedeadpunk: if you have not turned on debug yet do that on monday in the schduler
17:22:39 sean-k-mooney you will need that to discover why
17:22:45 noonedeadpunk I did that on scheduler
17:22:51 sean-k-mooney ack
17:23:04 noonedeadpunk that's where I grabbed cpu capabilities
17:23:10 noonedeadpunk *compute
17:23:37 sean-k-mooney so your flavor was askign for pinned cpus and hugepages
17:23:43 noonedeadpunk yeah
17:23:48 sean-k-mooney did you actully configure cpu_dedicated_set ?
17:23:49 noonedeadpunk and PCI device
17:24:10 sean-k-mooney in the comptue section of the nova.conf
17:24:14 sean-k-mooney on the compute node
17:24:27 noonedeadpunk nope, I did not, I just set reserved_host_cpus = 2 and that's it
17:24:41 noonedeadpunk but it has no VMs running, as is in the isolated aggregate
17:24:47 sean-k-mooney ok well that probaly the issue
17:24:55 sean-k-mooney what release are you testing with
17:25:01 noonedeadpunk Caracal
17:25:42 noonedeadpunk when I drop hugepages from properties - it does allocate pinned cpus though
17:26:06 sean-k-mooney do you have https://docs.openstack.org/nova/2024.1/configuration/config.html#workarounds.disable_fallback_pcpu_query defiend
17:26:10 noonedeadpunk or you saying that without hugepages it does not go through the numa filter...
17:26:30 noonedeadpunk nope
17:26:38 sean-k-mooney ok so its falling abck
17:27:16 sean-k-mooney so any of hugpeages, pinning or an explcit numa topolgoy will result in the schduelr usign the numa filter to validate the host
17:27:52 sean-k-mooney how much hugepages did you allocate on the host? and how much ram are you asking for in the vm
17:28:14 noonedeadpunk ok, here where the problem can actually be....
17:28:28 noonedeadpunk as I kind of took example from docs for now for some POC
17:28:39 noonedeadpunk so it's 1024*2MB
17:28:59 noonedeadpunk and I'm asking for *really* big instance of 200Gb RAM
17:29:55 noonedeadpunk So what I should be doing - is to split available ram into blocks and that num_pages * page_size == ram?
17:30:38 sean-k-mooney would you mind pasting the output of virsh cabalities
17:30:49 sean-k-mooney i can advise based on the size of the host with that
17:31:09 noonedeadpunk https://paste.openstack.org/show/bYi3OvxXJbP6Grx275O7/
17:31:22 noonedeadpunk but we plan to run there like... 4 VMs max?
17:32:44 sean-k-mooney ok so you have 2 numa nodes
17:33:21 noonedeadpunk yup
17:33:23 noonedeadpunk no HT
17:33:39 sean-k-mooney and you allcoate 2 GB of 2MB hugepages per numa node
17:34:00 sean-k-mooney <pages unit='KiB' size='2048'>1024</pages>
17:34:25 noonedeadpunk Right... And I guess that's where the problem is
17:34:25 sean-k-mooney noonedeadpunk: try creating a 1G vm that asks for 1 cpu with hw:mem_page_size=large
17:34:44 sean-k-mooney if that works all you need ot do is decied how you want to partion the host ram
17:34:53 sean-k-mooney i.e. how much to reserve exclusivly for hugepages
17:36:14 noonedeadpunk so just to double check where I was wrong. When I set `hw:mem_page_size='2MB'` in flavor - what needs to happen is that flavor ram / hw:mem_page_size = amount of available on compute hugepages?
17:36:26 sean-k-mooney looks like you have 512GB total which 500 is usable
17:36:44 noonedeadpunk yeah, sounds about right
17:36:59 noonedeadpunk so 256 on single numa node
17:37:47 sean-k-mooney ya i woudl start conservity ly and allocage 480GB of hugepages on that system total

Earlier   Later