Earlier  
Posted Nick Remark
#openstack-cyborg - 2026-06-02
14:26:14 chandankumar will I rename that?
14:26:17 sean-k-mooney no update is what prgram is called in teh drier interface
14:26:24 chandankumar ok
14:26:36 sean-k-mooney so that a sperat question
14:26:45 sean-k-mooney we could perhas rename it but that is a large change
14:26:56 sean-k-mooney sicne it woudl be changing the public api of the drivers
14:27:02 chandankumar program interface is currently used in fpga driver only not in generic one
14:27:16 sean-k-mooney again that is but true and untrue
14:27:41 sean-k-mooney so form an api perspective we shoudl not have any driver specifc apis
14:28:11 sean-k-mooney so its more correct to say that the update api si a noop for driver other then the fpg driver
14:28:24 sean-k-mooney rahter then teh progarm api is only for fpga
14:28:43 sean-k-mooney the ablity to program or update a device with a glance image
14:29:05 sean-k-mooney is a genereic capablity that is not used by other drivers
14:29:18 sean-k-mooney but the nvme driver coudl supprot it as we have dicussed in the past
14:29:24 chandankumar yes
14:30:27 chandankumar https://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/driver.py#L27 with respect to current patch, How we do want to proceed? Reusing update at all places a seperate patch and calling update flow via profram cli?
14:30:30 jgilaber I'm looking quickly but the program api can't call the fake driver right?
14:30:42 chandankumar jgilaber: yes
14:31:28 sean-k-mooney so the current patch is incorrect
14:31:30 sean-k-mooney https://github.com/openstack/cyborg/blob/master/cyborg/accelerator/drivers/driver.py#L26-L35
14:31:31 jgilaber and is there any endpoint for update?
14:31:38 sean-k-mooney udpate is part of the base driver interface
14:31:44 sean-k-mooney and that is how programing shoudl be invoked
14:32:09 sean-k-mooney at least that is muy current understandign but ill need to review that in more detail to confirm
14:32:19 chandankumar there is no endpoint for update, we currently invoke program https://bugs.launchpad.net/openstack-cyborg/+bug/2144308/comments/1
14:32:29 jgilaber so the fpga implemented it incorrectly?
14:32:41 sean-k-mooney so there are 2 ways to program the ptgs
14:32:42 chandankumar $CYBORG_URL/deployables/$DEPLOYABLE_UUID/program - was the api interface
14:32:54 sean-k-mooney you an refence the image via the device profile
14:33:01 sean-k-mooney or you can manually do it via the deployable api
14:33:54 jgilaber but to test chandankumar's patch we need to call the api iirc
14:34:03 sean-k-mooney if we look at progrma its curenly using PATCH which i want to fix in the future but PATCH is an "update" the same way put is
14:34:13 jgilaber the image verification was only in the program endpoint path
14:34:46 chandankumar https://review.opendev.org/c/openstack/cyborg-tempest-plugin/+/991081/1/cyborg_tempest_plugin/services/cyborg_rest_client.py#154 is this how i am calling in tempest
14:34:56 sean-k-mooney internally its calling fpga_program over the rpc bus
14:35:39 sean-k-mooney which looks like you are right is callign driver.prgram
14:35:44 sean-k-mooney which is an internal api
14:36:13 sean-k-mooney that shoudl nto be called by the manger
14:36:49 chandankumar ah, yes correct, that needs to be fixed on tempest patch side
14:36:49 sean-k-mooney so i think we need to fix that first
14:37:17 chandankumar I also need to add a flag to disable it on older release
14:37:51 sean-k-mooney yes you shoudl add a supprot_program flag or similar
14:38:30 sean-k-mooney we shoudl have a accelorator_features configre group or similar config sction ile the compute_enabeld_feature tempest section
14:38:56 sean-k-mooney we can add fake_program True|False to that to guard the supprot
14:39:35 chandankumar sure, I will update both the patches based on above suggestion
14:39:35 sean-k-mooney so looping back
14:39:47 sean-k-mooney https://github.com/openstack/cyborg/blob/2875d3c12d4484e9336ba5084f32f2acf83a2366/cyborg/accelerator/drivers/fpga/base.py
14:39:57 chandankumar first one I need to re-read the conversaiton
14:40:03 sean-k-mooney shoudl likely be updated to add an implamntion fo update that calle program
14:40:21 sean-k-mooney and program should be updated to _programe or just removed from the fpga drivers
14:40:43 sean-k-mooney alternitivly we coudl do the reverse and make program the public method and remove update
14:41:15 sean-k-mooney we shoudl not really ahve both and the manager shoudl never call a method on a driver that is not part of https://github.com/openstack/cyborg/blob/2875d3c12d4484e9336ba5084f32f2acf83a2366/cyborg/accelerator/drivers/driver.py
14:42:20 jgilaber I don't understand how the current version of chandankumar patches passed in ci with the new test
14:42:47 jgilaber the agent manager calls explicitely the fpga driver program method
14:42:51 chandankumar jgilaber: it is just faking the device path, there is no real check
14:42:55 sean-k-mooney jgilaber: yes it does
14:43:30 sean-k-mooney jgilaber: well technially it doesnt
14:43:38 sean-k-mooney it called the program funciton on the driver object
14:43:49 sean-k-mooney jgilaber: by inheriting form the genic fgpa class
14:43:56 sean-k-mooney the fake driver gained a program funciton
14:44:12 sean-k-mooney which is why its workign but that not really the correct way this should work
14:44:39 sean-k-mooney jgilaber: does that make sense
14:45:00 jgilaber sort of, but I need to stare at it for a bit
14:45:07 jgilaber I'll do that offline though
14:45:12 jgilaber we can continue
14:45:26 sean-k-mooney https://review.opendev.org/c/openstack/cyborg/+/991027/2/cyborg/accelerator/drivers/fake.py
14:45:43 sean-k-mooney so progam call update and update redutr True
14:46:04 sean-k-mooney and because that added program the agened didnt explode when it did driver.program
14:46:24 sean-k-mooney here https://github.com/openstack/cyborg/blob/2875d3c12d4484e9336ba5084f32f2acf83a2366/cyborg/agent/manager.py#L184
14:46:30 sean-k-mooney but cool lets move on
14:47:07 jgilaber oh I misread the variable, I get it now thanks!
14:47:13 chandankumar I will propose a patch to make program method public and remove update , can back on that patch again
14:47:16 sean-k-mooney chandankumar: so meta comment
14:47:22 sean-k-mooney you need to split this patch in 2
14:47:37 sean-k-mooney https://review.opendev.org/c/openstack/cyborg/+/991027 shoudl now bopth remvoe the image signiture verficaion
14:47:48 sean-k-mooney and try and hook up programing supprot in the fake dirver
14:48:01 sean-k-mooney thsoe are 2 compeletely diffent activeties so they shoudl be in 2 diffent commits
14:48:26 chandankumar yes, sure!
14:48:44 sean-k-mooney and based on the disucss abvoe we may want to fix how the agent calls the driver ectra as well in a sperate commit
14:49:04 chandankumar ok
14:49:52 chandankumar Now I have next course of action on these
14:50:06 chandankumar thank you!
14:50:15 jgilaber thanks chandankumar!
14:50:33 jgilaber sean-k-mooney, you mentioned before you wanted to hightlight some patches?
14:51:15 sean-k-mooney yes i think im now happy enough with the current content to move forward with https://review.opendev.org/c/openstack/cyborg/+/989470
14:51:39 sean-k-mooney i do plan ot add a followup with more detailed docuemeation on exactly how the kernel modlule works
14:51:53 sean-k-mooney but i want to work on that in parallel with creating some tempest tests to test the pci driver
14:52:25 sean-k-mooney as part of that change i have future tweaked the ci jobs
14:52:27 sean-k-mooney https://review.opendev.org/c/openstack/cyborg/+/989470/5/.zuul.yaml
14:52:47 sean-k-mooney so the default tempest job will now be multi node (the ipv6 one will be single node)
14:52:57 chandankumar thank you for taking care of multinode changes in that patch
14:53:00 sean-k-mooney the jobs are also mvoed to debian 13
14:53:23 sean-k-mooney i may add ubuntu 24.04 at some point btu it shoudl already work on ubuntu 26.04
14:53:33 sean-k-mooney so im hoping ot avoid athat instead
14:53:45 jgilaber do we have a requirement to have some job on ubuntu?
14:53:46 sean-k-mooney its also tbd if i will add centos 10 stream supprot ro not
14:53:58 sean-k-mooney if we need that for some reason we can consider it in the future
14:53:58 jgilaber without the new module I mean
14:54:05 sean-k-mooney jgilaber: no
14:54:13 sean-k-mooney we can but we dont

Earlier   Later