Earlier  
Posted Nick Remark
#openstack-nova - 2026-03-23
16:40:05 sean-k-mooney but it did produce some interesting results so ya that was all i had
16:40:21 gibi sean-k-mooney: does the deep-copy expensive due to multiple compute nodes per compute host?
16:40:25 sean-k-mooney https://review.opendev.org/c/openstack/nova/+/980679 and https://review.opendev.org/c/openstack/nova/+/980676/1
16:40:30 sean-k-mooney gibi: yep
16:40:48 sean-k-mooney so for 1000 noes we copery the resouce provider for the first one 999 times i blieve
16:41:00 gibi ohh I see why that is bad :)
16:41:15 dansmith this totally doesn't surprise me :)
16:41:24 Uggla (OO°
16:41:28 Uggla (OO)
16:41:37 sean-k-mooney anyway im not sayign the poc patches are correct
16:41:40 dansmith like I bet we probably have some things like that in runtime code too
16:41:43 sean-k-mooney but locally they do sped thing up alot
16:42:16 sean-k-mooney ya so this deepcopy is in get_provider_tree_and_ensure_root
16:42:25 gibi sean-k-mooney: my only question is if this is the real bottleneck, ie the code, or is there any nova-ironic interaction at startup that is inherently slow due to network?
16:43:08 gibi I imagine 1000 tree memcopy is still faster than 1000 network call to ironic
16:43:18 sean-k-mooney on my laptop the delta between the first patch and last goes form 2 and ahalf minute sdown to 40 ish seconds
16:43:31 sean-k-mooney i didnt try tweakign the latency ineject for the api calls
16:43:51 sean-k-mooney but the similater in thory can add in some it defautl to 0 for the get node call at the momemnt
16:44:07 gibi I though you have it in funct test, I'm sure that mock ironic API calls
16:44:17 dansmith sean-k-mooney: and lots of cpu usage I guess?
16:44:44 sean-k-mooney yep as i said i only spent a few hour on this at the weekend but i wanted to see if we coudl guest some emperical data
16:44:46 gibi anyhow. Improvement is good. Question remains if we improved the critical path or not
16:44:54 sean-k-mooney before the ironic cross project session
16:45:14 sean-k-mooney the other atpch that helps is https://review.opendev.org/c/openstack/nova/+/980679/1
16:45:26 sean-k-mooney that kicks out the per node operation into a thread pool
16:45:35 dansmith well, and if we improved it without introducing other issues (like the cache patch seems the easiest, but as <human> points out it may be problematic)
16:45:39 sean-k-mooney https://review.opendev.org/c/openstack/nova/+/980680/1
16:46:00 sean-k-mooney is a basi update to the reprot before/after the sersise but as i said i have not fully validate this as correct
16:46:09 sean-k-mooney its easy to make thing fast if correctness is not a requirement
16:46:21 dansmith and honestly two minutes to start up with lots of nodes may not be unreasonable, but certainly sucks if we can avoid it (especially if it's just burning cpu time copying stuff)
16:46:38 sean-k-mooney dansmith: so on real ironci system its 15+ minutes
16:46:57 dansmith yeah, uncool :)
16:47:03 sean-k-mooney based on the commit messge i lied N=1000: 42.1 s (42.1 ms/node) — was 4 min 4 s (244 ms/node)
16:47:12 sean-k-mooney so it was 4 minutes even without any network overhead
16:47:31 sean-k-mooney i will also note the bigest boteel neck on the 1000 node case was in placmenet
16:47:42 sean-k-mooney in the jsonschema validation
16:47:57 sean-k-mooney but that partly an artifact fo me using the palcement fixture
16:48:07 dansmith I think we can also put #squarepegroundhole on some of this
16:49:02 sean-k-mooney anyway i just wanted to share one of the experiemts i did. im not sure if we coudl eveolve this simulator into a gerneicly useful perf tool
16:49:30 sean-k-mooney dansmith: you had asked about a schduer simultor in the past so this might be a foundation to build that if we had time
16:49:50 Uggla dansmith #squarepegroundhole what's that ?
16:49:52 dansmith I guess maybe I'd like to have JayF (a mere human) look over this for ironic gotchas before we look too deep at the other things
16:49:54 dansmith sean-k-mooney: yep, for sure
16:50:10 JayF the biggest issue is that it's dangerous to heavily lean on a cache
16:50:19 dansmith Uggla: ironic as a driver in nova is a square peg in a round hole (doesn't fit very well and has lots of ironic-specific issues like this)
16:50:33 JayF because it completely breaks use cases where "node completes cleaning -> immediate re-deploy" which while it's not a very openstack-y use case, is very common
16:50:43 sean-k-mooney Uggla: the reall issues is the compute agent was desgisn to have 1 pre compute node. the ironic driver has 1 agent for 1000s
16:50:50 dansmith this ^
16:50:59 JayF we'd need ironic to close that loop on more of an event-driven basis vs a poll to fix that concern before relying more heabily on cache
16:51:17 JayF admittedly my initial email was written assuming "ironic updates more stuff about ironic nodes" may be the path, I didn't expect sean-k-mooney to find low-hanging-fruit like he has
16:51:25 sean-k-mooney JayF: ya i saw your coment on the cach. i think we shoudl actully start lookign at riping out the hasring stuff
16:51:41 sean-k-mooney but also have a wider converation on this in general
16:52:02 JayF even just if we put in knobs to let operators make the tradeoff, it might help, idk
16:52:14 JayF I'll ensure I review those before the cross-project session
16:52:26 JayF if a sync between just us two to refine before PTG is valuable, we can do that too
16:52:59 sean-k-mooney ya perhaps. the one caveat ill say is im not activly working on this
16:53:12 sean-k-mooney but you peaked my interest enouch to see if there was anythign obviously wrong
16:53:27 sean-k-mooney or simple improvemtn we coudl make
16:54:03 JayF It's a major issue for Ironic/Nova users; which are 25% of nova users per the survey :) hopefully we can catch the eyes of someone who has expertise, even just to lay the path out for me and/or my team (cid or clif) to implement
16:54:46 sean-k-mooney JayF: i can chat to you after the meetign more if you like but it might be interestign to see if we could perhaps replciate this in devstack with the ironic fake driver
16:55:00 JayF yeah, that sounds like a good path
16:55:09 JayF and I've wanted to make ironic easier to hook up in devstack with fake driver
16:55:12 sean-k-mooney i.e. to see if the imovpments in this emulated env traslate to a real env
16:55:14 JayF maybe I'll spike on that between now:ptg
16:56:07 sean-k-mooney Uggla: sorry that took more time then i was planning but i think this has been productive
16:56:27 JayF we should take Uggla to "why Ironic driver is awesome and terrible 101" some day, I think :P
16:56:48 Uggla JayF sure
16:56:51 dansmith let him enjoy life, gawd
16:57:03 dansmith that's like explaining santa
16:57:30 Uggla Are we good ?
16:57:33 JayF "And here's _tooth_fairy()"
16:57:42 JayF yes, ty Uggla :)
16:57:48 Uggla Anything else ?
16:58:14 Uggla seems not.
16:58:15 dansmith JayF: wait, what's your point about the tooth fairy? If you have a contact, I'm still waiting for $10
16:58:45 Uggla Quick update on bug scrubbing because we are at he top of the hour.
16:58:53 Uggla #topic Bug scrubbing
16:58:59 Uggla #info up to 199 (-7)
16:59:09 JayF dansmith: I saw her walking out of "Budget Dentures". Scandalous! ;)
16:59:14 dansmith lol
16:59:25 Uggla I manage to go down 200.
16:59:33 Uggla #link: https://etherpad.opendev.org/p/nova-bug-triage-roster
16:59:50 Uggla #link: https://truc.uggla.fr/ if you want to see the trend.
17:00:32 Uggla JayF, dansmith, can tooth fairy do something for bugs ?
17:01:01 JayF If she is a metaphor for the Ironic driver, she can create them ;)
17:01:10 Uggla :)
17:01:56 Uggla Time to close.
17:02:10 Uggla thanks for joining this meeting. Have a nice day/evening and see you next week.
17:02:16 gibi o/
17:02:17 Uggla #endmeeting
17:02:17 opendevmeet Meeting ended Mon Mar 23 17:02:17 2026 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)
17:02:17 opendevmeet Minutes: https://meetings.opendev.org/meetings/nova/2026/nova.2026-03-23-16.00.html
17:02:17 opendevmeet Minutes (text): https://meetings.opendev.org/meetings/nova/2026/nova.2026-03-23-16.00.txt
17:02:17 opendevmeet Log: https://meetings.opendev.org/meetings/nova/2026/nova.2026-03-23-16.00.log.html
17:02:24 elodilles same to you, thanks o/
17:02:24 lajoskatona o/
18:27:17 sean-k-mooney melwitt: thanks for taking a look at https://review.opendev.org/c/openstack/nova/+/975872/5
18:28:01 sean-k-mooney melwitt: gibi do you thinks we could try and get the repoducer patch merged in the next few days https://review.opendev.org/c/openstack/nova/+/975859/4 while we dicuss the fix in https://review.opendev.org/c/openstack/nova/+/975872
18:29:01 sean-k-mooney it woudl be nice to make some progress on this again. im hoping to complete that bug work in the next week or two
18:29:23 melwitt sean-k-mooney: ok yeah let me focus on that one then, I had started with the fix (obviously)

Earlier   Later