Earlier  
Posted Nick Remark
#openstack-nova - 2025-09-04
14:27:49 sean-k-mooney bauzas: you realise i litrally said that many many times
14:27:59 bauzas first good news, that's a periodically updated field using the RT update_avail_resources()
14:28:55 sean-k-mooney dansmith: the api refe just say "The total uptime of the hypervisor and information about average load."
14:29:02 bauzas sean-k-mooney: well, then I missed the many times when you said that
14:29:11 sean-k-mooney and everythin else is cached at the period of the update_aviable_resouces perodic
14:30:01 dansmith sean-k-mooney: yeah, it's unfortunate that's in our api ref at all, especially since all that is very os-specific
14:31:22 bauzas anyway, sounds like we have a plan
14:31:33 sean-k-mooney that what the deprecate api says and thsi is what the hypervior deail api say ```The total uptime of the hypervisor and information about average load. Only reported for active hosts where the virt driver supports this feature```
14:31:40 bauzas we can fix 2.88 and drop that field in a later microversion
14:32:07 bauzas if ops complain about that missing field, then we can tell them to use whatever tool for calling the OS by themselves
14:32:19 sean-k-mooney bauzas: just for extra context gibi and i talk about this a few weeks ago and before that i talk to others about this too.
14:32:22 bauzas ansible, prometheus or nagios, I don't care
14:32:36 sean-k-mooney so this is not the first converation we have had upstream or downstream on how to fix this
14:32:37 bauzas few weeks ago, I was on PTO :)
14:32:42 sean-k-mooney you were on pto for the prior ones
14:33:12 bauzas so I had no context, but the good thing is that we went to the same solution, isn't that good ?
14:33:16 sean-k-mooney yes im aware but we were not activly fixing it because of time pressuer for FF
14:33:29 bauzas I think this is a reasonable bugfix for RC1
14:33:54 bauzas not RC2 of course as that's a not a Flamingo regression per say
14:34:00 bauzas but I know you know
14:34:01 dansmith bauzas: ++ for rc1
14:34:03 sean-k-mooney maybe ill see if i can fix it tomrrwo or at least ahve a draft for review
14:34:07 dansmith if it's reasonable to do so
14:34:43 bauzas extending the Stats class by stuffing a new keypair sounds a reasonable solution
14:35:05 bauzas but sean already found the solution, I leave him tell whether he's OK
14:36:00 sean-k-mooney lets just review the patch and we can backprot as normal. if its ready for rc1 cool if not we chan cherry pick after we release 2025.2
14:38:01 dansmith sean-k-mooney: there's no patch up to review yet, right? just one in your head?
14:38:21 sean-k-mooney exactly im still chekcing if any other virtdriver ever supproted this rpc
14:39:28 sean-k-mooney basicly im not sure i want to stash a sentenal value in the stats for other virt driver
14:40:08 sean-k-mooney if i can show its only libvirt by inspecting the code i can skip that and gard the rpc call behidn both the virt type adn the absence of the key in the dict
14:40:37 sean-k-mooney that way i can aovid stashign garbage values for ironic or vmeare compute nodes
14:45:33 sean-k-mooney looks like zvm also suports it
14:46:58 sean-k-mooney although if your using zvm the contet of the respocne i think is diffent based on the unit tests
14:48:51 sean-k-mooney so zvm and libvirt the rest all raise not implemtned ok that good to know
14:49:13 sean-k-mooney i will probaly put the zvm fix in a spereate commit but it wil be effectivly the same
14:51:12 dansmith super expensive to make that rpc call for every hypervisor only to have them raise NotImplemented :/
14:53:05 sean-k-mooney yep that why i dont want to even try :)
14:54:41 bauzas stats are already provided by the virt driver and we stuff them in the Stats object using update_stats()
14:55:03 bauzas so we can just return the uptime as part of the virt resources
14:55:38 sean-k-mooney yep thats the plan
14:56:03 sean-k-mooney but the upstream is ment to be the uptime of the node which is drivder depenent. its not the uptime of the comptue service
14:56:11 bauzas if the driver doesn't provide that uptime value, fine, we already provide None
14:56:26 bauzas that's why I don't see the problem
14:56:34 sean-k-mooney for ironic if we chosse to implement it it would be the uptime of the ironic instnace. but im not suggesting we do that
14:58:07 opendevreview ribaudr proposed openstack/nova stable/2024.1: Reproducer for bug 2114951 https://review.opendev.org/c/openstack/nova/+/959540
14:58:08 opendevreview ribaudr proposed openstack/nova stable/2024.1: Fix bug 2114951 https://review.opendev.org/c/openstack/nova/+/959541
14:58:42 bauzas I don't see the problem
14:58:54 bauzas (sorry)
14:59:19 bauzas each of the virt drivers can have get_host_uptime() defined
14:59:48 bauzas the simple fix seems for me to call get_host_uptime() if defined directly in the virt driver method than returns the resources
15:00:11 bauzas and we could later remove the RPC API and make that method private
15:00:13 dansmith _is_ there a problem?
15:01:36 bauzas I dunno hence my question
15:02:03 bauzas AFAICS, only zvm and libvirt do implement the method
15:02:10 bauzas vmware is not providing it
15:02:11 dansmith right, so no problem
15:02:38 dansmith honestly,
15:02:48 dansmith the API also provides for =None for all these drivers
15:03:08 dansmith and the "does this specific driver provide this data" couldn't possibly be part of the API contract, IMHO
15:03:27 dansmith like, if we started remotely managing libvirt nodes from a central one, we wouldn't be able to provide this anymore
15:03:30 bauzas that API field has to be gone IMHO
15:03:40 bauzas but for the moment, let's fix the performance issue
15:03:53 dansmith I'm not saying we shouldn't just solve this the way we've prescribed here, but... :)
15:04:43 bauzas in a cloud world, I'm still surprised to see that we continue to provide hypervisor specific fields
15:09:25 sean-k-mooney bauzas: well https://review.opendev.org/c/openstack/nova-specs/+/765797/comment/8926d415_9c5a7022/ we all said we woudl prefer to remove it but you wanted to discuss it with operators first.
15:10:22 sean-k-mooney we tried to remove it once before and we decied to revers cource becuase peopel ask to keep it
15:10:39 sean-k-mooney that does nto mean we cant revisit that and fix it going forward
15:10:49 sean-k-mooney but we shoudl nto rewrite history
15:11:02 bauzas LOL
15:11:16 bauzas I love when something pops up out of context :)
15:11:32 bauzas 1/ I was only talking about hypervisor show
15:11:52 bauzas 2/ I was just trying to explain that we should remove that but by another spec, not that one
15:12:08 sean-k-mooney well that was update 3 to the sepc
15:12:12 bauzas and AFAIK, the spec you mentioned wasn't the one we had for 2.88, right?
15:12:26 sean-k-mooney we rogainlly agreed to remvoe it then we updated it after the fact to readd it
15:12:58 sean-k-mooney it was the spec for 2.88 it jsut went through many iteration
15:14:36 sean-k-mooney you can see the iteration if you really care https://github.com/openstack/nova-specs/commits/abfb91875c7d6b1e2df45d5bc2244956bc662884/specs/wallaby/approved/modernize-os-hypervisors-api.rst
15:16:56 sean-k-mooney i alwasy rememebr this spec because stephen use a 💩emoji
16:33:46 gmaan ++, I agree to continue showing it in same API instead of separate (separate API even in old API will be microversion bump). reporting cache value is better solution and backportable.
16:46:16 opendevreview Lajos Katona proposed openstack/nova master: Use SDK for Neutron networks https://review.opendev.org/c/openstack/nova/+/928022
17:31:44 opendevreview Sylvain Bauza proposed openstack/nova master: change uptime in hypervisor to be provided async using stats https://review.opendev.org/c/openstack/nova/+/959571
17:32:40 bauzas sean-k-mooney: gmaan: dansmith: I made a quick POC 'that works on my devstack'
17:33:52 bauzas jkulik too : https://review.opendev.org/c/openstack/nova/+/959571
17:59:47 sean-k-mooney i have a slightly diffent quick poc partly done
20:45:11 opendevreview sean mooney proposed openstack/nova master: hypervisors: Optimize uptime retrieval for better performance https://review.opendev.org/c/openstack/nova/+/959604
#openstack-nova - 2025-09-05
07:55:50 opendevreview Nicolai Ruckel proposed openstack/nova master: Preserve UEFI NVRAM variable store https://review.opendev.org/c/openstack/nova/+/959682
07:59:12 opendevreview Sylvain Bauza proposed openstack/nova master: Change uptime in hypervisor to be provided async using stats https://review.opendev.org/c/openstack/nova/+/959571
08:47:07 opendevreview Nicolai Ruckel proposed openstack/nova master: Preserve UEFI NVRAM variable store https://review.opendev.org/c/openstack/nova/+/959682
10:02:39 gibi bauzas: you are quick. I suprised that we already has impl proposed to the hypervisor uptime bug. I left some comments in the patch https://review.opendev.org/c/openstack/nova/+/959571
11:12:15 opendevreview Johannes Kulik proposed openstack/nova master: api: Pre-query not deleted members in server groups https://review.opendev.org/c/openstack/nova/+/959696
11:12:46 sean-k-mooney gibi: so do i
11:12:57 sean-k-mooney gibi: https://review.opendev.org/c/openstack/nova/+/959604
11:13:19 sean-k-mooney ah you found my version too
11:16:08 gibi ohh wait. I only found your version somehow not bauzas'
11:16:25 gibi so I will look at bauzas' too
11:16:29 sean-k-mooney i added you to mine :)
11:16:44 sean-k-mooney its similar without the test update and no fall back
11:23:20 gibi now I added my feedback to both :)
11:29:13 sean-k-mooney gibi: thanks just read them and i geneally agree with them
11:30:03 sean-k-mooney ill make those changes shortly and ill also update teh api ref to not that this is a driver depenent api respocne and that its cached, in addtion ot the mention in the release note.

Earlier   Later