Thursday, 2025-05-15

opendevreviewMerged openstack/nova master: [doc] Adding vGPUs max_instances caveat fix for virtual-gpu  https://review.opendev.org/c/openstack/nova/+/94957907:40
opendevreviewKamil Sambor proposed openstack/nova master: Replace eventlet.event.Event with threading.Event  https://review.opendev.org/c/openstack/nova/+/94975409:34
sean-k-mooneygibi: would you mind looking at https://review.opendev.org/c/openstack/nova/+/946581/2 also it the update to the repoducer below melwitt migration fix. im going to take a look at the migration fix now10:01
opendevreviewSerhii Ivanov proposed openstack/nova-specs master: Proposes 'Add Graceful Nova Compute Shutdown'  https://review.opendev.org/c/openstack/nova-specs/+/93718510:11
opendevreviewSerhii Ivanov proposed openstack/nova-specs master: Proposes 'Add Graceful Nova Compute Shutdown'  https://review.opendev.org/c/openstack/nova-specs/+/93718510:14
opendevreviewIvan Anfimov proposed openstack/placement master: wip  https://review.opendev.org/c/openstack/placement/+/94986410:16
opendevreviewIvan Anfimov proposed openstack/placement master: Remove installation guide for openSUSE/SLES  https://review.opendev.org/c/openstack/placement/+/94986410:17
opendevreviewIvan Anfimov proposed openstack/nova master: wip  https://review.opendev.org/c/openstack/nova/+/94578110:38
*** ykarel_ is now known as ykarel11:41
opendevreviewLajos Katona proposed openstack/os-vif master: VS Trunk: Add bridge_name to external_ids  https://review.opendev.org/c/openstack/os-vif/+/94973611:58
opendevreviewMerged openstack/nova master: Amend functional reproducer for bug 1899835  https://review.opendev.org/c/openstack/nova/+/94658112:46
MengyangZhang[m]1Hi folks,... (full message at <https://matrix.org/oftc/media/v1/media/download/AQCeKS0ygNQmR5GAVx8_xminTOY9XUuccxdyP6UnUQrmb3Vz1w1JBUlNsmlKKGyklGrLpna6pA6u3Ut2PN1dGyJCeXHE8e3wAG1hdHJpeC5vcmcvdnJhVFZrZ1hHbERzQWJWVFluSVJ0bE5s>)13:50
*** kevko6 is now known as kevko15:49
gibistephenfin: sean-k-mooney: melwitt: I think we indeed have a useless lock in https://review.opendev.org/c/openstack/nova/+/949161/comment/e72e2ca3_b8b7f24f/16:43
sean-k-mooneygibi: so this was there i belvie because of mod_wsig16:44
sean-k-mooneybut i guess your right that becasue we reinitalise the lock16:45
sean-k-mooneyeven if its reloaded it wont guard the we we expect16:45
gibiyeah 16:45
sean-k-mooneywe need either only create the lock if it is not None or delete it16:45
melwitthm16:45
gibiI think there is no way to threadsafely check if the variable is None and set it atomically16:46
sean-k-mooneyif we really want we coudl proably apply the run once decorator to init_applciation16:47
gibiat least not in this context16:47
sean-k-mooneywhat we are trying to do is not have 2 thread reintiallse the applction object16:47
gibiwe would need to guard the is None check with a lock :)16:48
sean-k-mooneyon the other hand nova does nto currently supprot using multiple thread in mod_wsgi any way for other reasons16:48
sean-k-mooneygibi: you normlly fix this with atomics16:49
gibiyeah CAS16:49
gibiwhich we don't have :)16:49
sean-k-mooneywell actully16:49
sean-k-mooneyhow we fix it in nova16:49
sean-k-mooneyis we use the synconise decorator16:49
sean-k-mooneyto create a filesystem level lock16:49
melwittwith the guard you would just check None once outside the lock and again inside the lock before proceeding to init, no?16:51
sean-k-mooneyyou mean double check locking that only works if you declari the loc with static lifetime16:51
melwittright16:52
gibithe lock needs to exists before any of the two threads enters, otherwise both can create a lock as both can see that the lock variable is none16:52
sean-k-mooneyso we can test this if we just import the module twice in an inteperer16:52
gibito trigger the race the thread needs to be switched right after the first thread checked that the lock is none but before set the lock variable16:53
gibiso it is not easy to trigger the actual race16:53
* melwitt yeah I guess like sean said either use an external file lock with the decorator or use the run_once decorator16:54
sean-k-mooneyoh becase of the if applcation is None16:54
sean-k-mooneymelwitt: right if we use a file lock or any interprocess lock form oslo utils16:54
melwittyeah. seems like one of those is consistent with other stuff in nova16:55
sean-k-mooneythen the filesytem will ensure a strict orderign for us and the handle is just that16:55
gibiyeah external lock works, if we can create them before any of the threads enter, we cannot let the threads create the lock after they checking for none, as the none check would be unprotected16:55
melwittwe already @run_once for the global data init. I guess we could just move it? dunno16:56
sean-k-mooneywe can add a do_init function the the curent logic and decorate that16:56
sean-k-mooneythe problem with a file lock is we want this to actully work if you have mulipel processes16:57
gibiI think either the module import (and therefore the module level code execution) already happens under a lock or we cannot make this thread safe. 16:57
sean-k-mooneyso the name has to include the pid the trehad is form16:57
gibiyepp there is an import lock...16:58
sean-k-mooneygibi: well there is also the gil16:59
sean-k-mooneybut we doen really want to rely on that16:59
gibiI don't see who can you create a lock in the module level code that is threadsafe and ensured to be only created once17:00
gibia/who/how/17:00
gibiif lock not is None: lock = createLock() # is not thread safe17:00
gibiit is only threadsafe as there is an explicit import lock in python so we know that the module level code only run by a single thread uninterupted 17:01
gibibut with that we can have just an applicaton is None check, no need to any other locks17:02
gibihttps://docs.python.org/fr/3.8/library/imp.html#imp.lock_held17:12
opendevreviewBalazs Gibizer proposed openstack/nova master: Use futurist for _get_default_green_pool()  https://review.opendev.org/c/openstack/nova/+/94807217:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Replace utils.spawn_n with spawn  https://review.opendev.org/c/openstack/nova/+/94807617:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Add spawn_on  https://review.opendev.org/c/openstack/nova/+/94807917:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Move ComputeManager to use spawn_on  https://review.opendev.org/c/openstack/nova/+/94818617:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Move ConductorManager to use spawn_on  https://review.opendev.org/c/openstack/nova/+/94818717:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Make nova.utils.pass_context private  https://review.opendev.org/c/openstack/nova/+/94818817:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Rename DEFAULT_GREEN_POOL to DEFAULT_EXECUTOR  https://review.opendev.org/c/openstack/nova/+/94808617:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Make the default executor configurable  https://review.opendev.org/c/openstack/nova/+/94808717:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Print ThreadPool statistics  https://review.opendev.org/c/openstack/nova/+/94834017:13
opendevreviewBalazs Gibizer proposed openstack/nova master: Document threading mode and tuneables  https://review.opendev.org/c/openstack/nova/+/94936417:13
opendevreviewBalazs Gibizer proposed openstack/nova master: WIP: allow service to start with threading  https://review.opendev.org/c/openstack/nova/+/94831117:13
opendevreviewBalazs Gibizer proposed openstack/nova master: DNM:Run nova-next with n-sch in threading mode  https://review.opendev.org/c/openstack/nova/+/94845017:13
cardoehey all. I see you don't have https://review.opendev.org/c/openstack/nova-specs/+/471815 on your roadmap for 2025.217:52
cardoeAny chance we can get that added?17:52
cardoeThere's a number of operators that are using Ironic with Nova and need trunk port data.17:53
cardoeThe actual implementation of that was proposed by two different companies against nova.17:53
cardoeI've gotten everyone to collapse down behind Vasyl's patch and he's updated the spec as asked.17:54
cardoeThere's a push on doing this on the Ironic side as well for some standalone cases.17:55
cardoeReally wanting to advocate for collaboration here between the projects and to fulfill operator need.17:55
cardoeWe're essentially blocked on reviews.17:55
ishanwar[m]Hey 18:06
ishanwar[m]sean-k-mooney (@_oftc_sean-k-mooney:matrix.org)18:06
ishanwar[m]can you have a look for this https://review.opendev.org/c/openstack/nova/+/94520418:06
sean-k-mooneycardoe: is that the vnc console one18:07
sean-k-mooneyto provide a graphical console18:07
cardoeNo. That's trunk port info in metadata18:07
sean-k-mooneycardoe: oh its not18:07
sean-k-mooneycardoe: so that problemantic18:08
sean-k-mooneycardoe: the problem is tha twhen ironci is used vai nova it relaly should not be touchign the neutorn prots at all18:08
sean-k-mooneycardoe: which means that to supprot port group and trunkign it shoudl be modeled in neutron 18:09
sean-k-mooneywhic hits not today18:09
cardoeI don't disagree.18:10
cardoeOne of the many specs on my queue to write.18:10
sean-k-mooneycardoe: without deep diving into the spec we probably can supprot addign the subport info into the metadtata api or config drive 18:11
sean-k-mooneyfor any virt dirver18:11
sean-k-mooneyeven ironic 18:11
sean-k-mooneybut only if the trunk port is pass by uuid as part of the boot request18:11
sean-k-mooneyif ironic makes changes to the prots out of band however18:12
sean-k-mooneyi.e. maping that 1 neutorn trunk port to to a port group 18:12
sean-k-mooneyyour kind of out of luck18:12
sean-k-mooneyso like you could not really combin  doign bondign via port groups and this18:13
JayFYeah, that's been the root pain the whole time. To model this all in network metadata on the nova side requires it to be modeled all the way through, which I think has to start with neutron not with nova18:14
sean-k-mooneycardoe: or rather if you did try and combind them nova can only provide the info it had ebfore we call ironci to provision in the config drive18:15
sean-k-mooneyJayF:right we can add any info that is aviabel from neutron at the point we generate the config drive18:15
sean-k-mooneybut after that point either ironic need to update it itsself18:16
sean-k-mooneyor we would need a way to trigger a refresh18:16
JayF(patches are close to merge that have ironic regen it)18:16
sean-k-mooneyJayF: is that to adresss the bonding bug mnaser reported18:16
JayFI think we addressed that in a backportable way 18:17
cardoewhich is the bug mnaser reported?18:17
JayFhttps://launchpad.net/bugs/210607318:18
sean-k-mooneyhttps://bugs.launchpad.net/ironic/+bug/210607318:18
sean-k-mooney:)_18:18
sean-k-mooneycardoe: its a similar problam statement18:18
sean-k-mooneythe config drive is needed to be abel to bootstrap the networkign to be able to hit the metadta when you are usign static ips or bonds18:19
sean-k-mooneyspecificly any bond that require both the swtich and host to be configured in a given bonding mode for traffic to flow18:19
sean-k-mooneycardoe: your usecase is related but seperate and i  think valid18:20
sean-k-mooneycardoe: ironic could enrich the metadat with the turnk port info18:21
sean-k-mooneybtu nova can do that too18:21
sean-k-mooneyand nova could do it for libvirt or vmware in a generic way18:21
cardoeI would love if neutron modeled this all. Much like I’m trying to get L2 VNI in there.18:34
sean-k-mooneycardoe: when we dicussed trunkports intially we also disucssed bond ports18:35
cardoeWhich is something already patched in nova18:35
sean-k-mooneythe latter just didnt get doen btu i dont see why you cant have the same bond port sub port relationship18:35
sean-k-mooneyport groups in ironci are a littel differnt however then just a bond or turnk port18:36
cardoeTrunk boards are already modeled inside of neutron18:36
cardoePorts18:36
cardoeIt’s nova that doesn’t handle it18:36
cardoeSo it’s not really related to that bug.18:37
sean-k-mooneycardoe: so i did a very quick review and asked a few questions but +1 for the over all idea18:41
sean-k-mooneycardoe: im not sure if we currently test turnkprots in the nova ci jobs (maybe the ovs hybrid plug one?) but i know the neutron do and have a tempest plugin to do some more advanced testing with it18:43
sean-k-mooneyso whiel im not sure if the trunk connectivty test would be accepted in core tempest it definlly could be done in one of neutron tempest plugins18:43
sean-k-mooneymelwitt: speaking of specs are you plannign to work on the vtpm spec and implemetion this cycle. i think that was the plan aroudn the ptg but just touching base to make sure that has not changed?18:49
* melwitt sean-k-mooney: yes I am -- still the plan. I have re-proposed the spec and noted the changes from the last approval in the commit message18:50
melwittargh18:50
melwittsean-k-mooney: yes I am -- still the plan. I have re-proposed the spec and noted the changes from the last approval in the commit message18:50
sean-k-mooneycool. i will proably try and put aside some time to look at the open spec next week18:51
melwittsure, thanks18:51
* melwitt seen this a few times now, nova-ceph-multistore failures due to "nova.exception.ImageDeleteConflict: Conflict deleting image. Reason: HTTP 409 Conflict: Image a34561ed-6ef7-457c-8845-677f83af10de could not be deleted because it is in use: The image cannot be deleted because it is in use through the backend store outside of Glance.."18:55
melwittseen this a few times now, nova-ceph-multistore failures due to "nova.exception.ImageDeleteConflict: Conflict deleting image. Reason: HTTP 409 Conflict: Image a34561ed-6ef7-457c-8845-677f83af10de could not be deleted because it is in use: The image cannot be deleted because it is in use through the backend store outside of Glance.."18:56
sean-k-mooneyya18:56
sean-k-mooneyi noticed that too18:56
melwittI wonder if anything's changed or why it's happening often recently. I haven't spent time looking into it yet18:57
cardoesean-k-mooney: https://review.opendev.org/c/openstack/nova/+/941227 is the implementation. Linked you’ll find the addition of tests and tempest patches as well to test it all.19:10
sean-k-mooneycardoe: can you put the implemation and the spec on a gerrit topic called bp/<sepc/blueprint name>19:32
sean-k-mooneyconvetionally the topic shoudl eb "bp/expose-vlan-trunking" in thei case but "spec/expose-vlan-trunking" is also perfectly fine19:33
cardoeWill do.19:33
sean-k-mooneycardoe: we try to keep teh filename/topic/spec link all the same.19:33
sean-k-mooneycardoe: im goint to call it a day now but did you sway there are also existing tempest tests19:36
sean-k-mooneycardoe: ah tehy were abandoned https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/94135519:37
cardoesorry was replying from mobile. I'll resurrect things.19:55

Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!