| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-cyborg - 2026-05-07 | |||
| 11:15:29 | tafkamax | hmm empty | |
| 11:15:58 | tafkamax | oh I need to do that beforehand? | |
| 11:17:47 | chandankumar | Do we need to create the device profile with resource class like this https://paste.openstack.org/raw/bJEmpgye27s5h4tEMlTf/ | |
| 11:18:03 | chandankumar | for pci and fake fpga device, we pass resource class | |
| 11:18:27 | tafkamax | Like PGPU? | |
| 11:20:40 | chandankumar | sorry it should be GPU | |
| 11:21:48 | tafkamax | ok, thanks, so that comes from openstack accelerator device show command | |
| 11:29:36 | chandankumar | https://github.com/openstack/cyborg/blob/f111946df6713aa64efa29dd025d47839241c529/cyborg/common/constants.py#L115 | |
| 11:29:45 | chandankumar | "PGPU": orc.PGPU, | |
| 11:29:45 | chandankumar | "VGPU": orc.VGPU, | |
| 11:29:52 | chandankumar | pgpu - for physcial gou | |
| 11:30:13 | chandankumar | pgpu - for physcial gpu and vgpu - for virtual gpu | |
| 11:30:57 | chandankumar | Cyborg also have GPU. | |
| 11:41:45 | tafkamax | I have this in log: 2026-05-07 14:39:05.152 7 WARNING cyborg.accelerator.drivers.gpu.nvidia.sysinfo [-] Unable to load vGPU_type from [gpu_devices] Ensure "enabled_vgpu_types" is set if the gpuis virtualized. but I dont have vgpu enabled. Is this just informational? | |
| 11:45:24 | tafkamax | from nova scheduler then: 2026-05-07 14:40:05.475 1087 ERROR nova.scheduler.client.report [req-3a504845-350b-4532-a33d-f0334e44db4c req-f8f77ce8-89c9-42c9-90e5-a9e7d6eaaf33 204c13dfae0b4214ae00b15a95a5d180 87aa79e7272a4f9b9e66e4582fb28c93 - - default default] Failed to retrieve allocation candidates from placement API for filters: | |
| 11:45:24 | tafkamax | RequestGroup(aggregates=[],forbidden_aggregates=set([]),forbidden_traits=set([]),in_tree=8b9f6c21-0c4a-458a-8541-d481921c6d08,provider_uuids=[],requester_id=None,required_traits=set([]),resources={MEMORY_MB=16384,VCPU=8},use_same_provider=False), | |
| 11:45:24 | tafkamax | RequestGroup(aggregates=[],forbidden_aggregates=set([]),forbidden_traits=set([]),in_tree=None,provider_uuids=[],requester_id='device_profile_0',required_traits=set(['CUSTOM_NVIDIA_26B9']),resources={},use_same_provider=True) | |
| 11:48:56 | chandankumar | I am not sure about the first warning. It might be informative message. | |
| 11:48:57 | tafkamax | Do I need to enable more filters or something? | |
| 11:49:11 | chandankumar | From last error, it does not have any resources. | |
| 11:50:07 | chandankumar | Not sure it is linked with fAILED TO retrive allocation error | |
| 11:50:26 | chandankumar | I will wait for other people to take a look | |
| 11:50:49 | chandankumar | May be resource type would be PGPU or VGPU | |
| 11:51:15 | chandankumar | can you try with PGPU? | |
| 11:51:35 | tafkamax | Yeah, I will try. Also, some commands give this output in CLI: | |
| 11:51:35 | tafkamax | openstack accelerator device enable 4dc9f844-75d4-4e6c-a252-b9986816cc5b | |
| 11:51:35 | tafkamax | 'Proxy' object has no attribute 'enable_device' | |
| 11:51:57 | tafkamax | Is this expected? | |
| 11:57:03 | tafkamax | Do I need to the arq bind thing aswell? | |
| 11:58:31 | chandank` | tafkamax: yes, 'Proxy' object has no attribute 'enable_device' similar error is coming in my env with both enable and disable | |
| 11:59:02 | chandank` | you can open a bug for this on https://bugs.launchpad.net/openstack-cyborg | |
| 12:01:14 | tafkamax | Aww damn | |
| 12:03:08 | tafkamax | openstack accelerator device attribute list | |
| 12:03:08 | tafkamax | 'Proxy' object has no attribute 'attributes' | |
| 12:03:11 | tafkamax | this also return the same | |
| 12:03:43 | tafkamax | https://bugs.launchpad.net/openstack-cyborg/+bug/2151792 | |
| 12:04:44 | chandank` | https://paste.openstack.org/raw/bRpUV3OrPTrGUImCllzA/ - opentack accelerator device attribute list output from master devstack vm | |
| 12:05:30 | tafkamax | Could it be openstacksdk or some client lib version? | |
| 12:06:28 | tafkamax | I am using from 2025.1 UC:... (full message at <https://matrix.org/oftc/media/v1/media/download/AZYa4b2-0u7aEhweDKgZL_Hoq4YysFkqdAt284_KUhwWGucPCZc6Mi3CuUP0OQA3sVMa9LPSYo5LiskzetFd6NFCeeSm4TQgAG1hdHJpeC5vcmcvRmVaa0JwUENuSWlhUFRjdm5OUm5Bc3h2>) | |
| 12:10:19 | tafkamax | Accelerator client initialized using OpenStackSDK: <openstack.accelerator.v2._proxy.Proxy object at 0x7f1aad7e4dd0> | |
| 12:10:19 | tafkamax | 'Proxy' object has no attribute 'attributes' | |
| 12:10:20 | tafkamax | using -vvv | |
| 12:12:00 | chandank` | openstacksdk 4.11.0 is used in master. | |
| 12:12:32 | chandank` | Can you also add openstacksdk and python-cyborgclient version in the bug? If anyone fixes it, we can backport it back | |
| 12:14:22 | tafkamax | edited | |
| 12:14:47 | tafkamax | 2025.2 UC worked for attribute list | |
| 12:15:18 | chandank` | we are missing some backport then | |
| 12:16:07 | tafkamax | but the enable command seems to be not working indeed | |
| 12:20:44 | tafkamax | https://review.opendev.org/c/openstack/openstacksdk/+/883238?usp=search | |
| 12:20:49 | tafkamax | does this need to be backported? | |
| 12:21:01 | tafkamax | its april 4 2025, so after 2025.1 ? | |
| 12:24:37 | jgilaber | yes that commit is missing in 2025.1 https://github.com/openstack/openstacksdk/tree/stable/2025.1/openstack/accelerator | |
| 12:25:54 | chandank` | We have a upgrade job, let me push one patch to get the error in CI | |
| 12:27:00 | tafkamax | But regarding the enable/disable that just seems to be missing? | |
| 12:27:21 | tafkamax | E.g. this needs to be looked in the cyborg API spec and implemented i presume | |
| 12:30:09 | tafkamax | docs.openstack.org/api-ref/accelerator/#enable-a-device ? | |
| 12:31:02 | jgilaber | from a quick glance looks like the controller for that API exists https://github.com/openstack/cyborg/blob/79384661ce73984d2eef05dbee800507d36e997c/cyborg/api/controllers/v2/devices.py#L173 | |
| 12:31:05 | chandank` | yes, it is implemented in cyborg side | |
| 12:31:16 | chandank` | something is misisng or broken on cyborgclient side | |
| 12:33:33 | tafkamax | oh okay | |
| 12:34:09 | tafkamax | So: https://github.com/openstack/python-cyborgclient/blob/master/cyborgclient/osc/v2/device.py#L141 | |
| 12:40:34 | sean-k-mooney | ya its a know gap | |
| 12:40:45 | sean-k-mooney | there are a few issues witht eh current cli | |
| 12:40:55 | sean-k-mooney | and the way its usign the sdk | |
| 12:41:27 | sean-k-mooney | those are thign we plan to fix over this cycle now that we are trying to more activlly maintian cyborg again | |
| 12:42:26 | sean-k-mooney | tafkamax: thanks for filling the bug it will help to have a backlog orf the sepcific brakages | |
| 12:43:38 | sean-k-mooney | chandank`: P in PGPU stands for phsycial becasue its only used for the physical function but this is somethign we will likely evolved in newer drivers | |
| 12:43:56 | sean-k-mooney | the type in the device list and the resouce class are not expected to be the same | |
| 12:47:31 | tafkamax | aha okay, so I should always look for attribute list, when creating a profile | |
| 12:51:14 | tafkamax | Okay. So I need to enable the device actually for it to be able to "bind" to an VM? | |
| 12:52:05 | tafkamax | Hmm I will try to use an API call for enable then. | |
| 12:58:48 | sean-k-mooney | tafkamax: so the device profile need to match the resouce class used but the atribute api allow you to overied that | |
| 12:59:34 | sean-k-mooney | tafkamax: we will use a default one based on the driver that manages the device but if you wanted to use a diffent resouce class the atibutes api provide a way to cofnigure it | |
| 13:00:01 | tafkamax | oh okay, so my device is ID 8, I can add a custom attribute to that device ID 8. | |
| 13:00:10 | sean-k-mooney | my expecation is over then next 12-18 montsh we are goign to revisit how many fo the drivres work and ensure there is a declaritve way to do that via the config file as well | |
| 13:00:41 | sean-k-mooney | tafkamax: yes if you wanted to add custom traits to it you could do that via placement directly but you can also do that via the atibutes api | |
| 13:00:44 | sean-k-mooney | at least in theory | |
| 13:01:01 | sean-k-mooney | this is an areay i have not spent too much time on yet and the testing is lite | |
| 13:01:15 | sean-k-mooney | so if you find bugs please let us know | |
| 13:01:31 | tafkamax | ok | |
| 13:02:07 | sean-k-mooney | on of the topic we ont have time for this cycle form the PTG was "how to evolve the api" | |
| 13:02:24 | sean-k-mooney | currently i think having devices, atribute and deployabels as 3 seperate apis is a bit confusing | |
| 13:03:07 | sean-k-mooney | i think eventually the devices api would be a better home for atibutes for example | |
| 13:03:49 | sean-k-mooney | i.e. include the atibute in the device show and proveide /devices/<id>/atibutes subpaths for adding/removing them | |
| 13:04:02 | tafkamax | so how would you enable the device if the CLI does not work. Via curl to the API endpoint? | |
| 13:04:17 | sean-k-mooney | so it shoudl be enabled by default | |
| 13:04:21 | sean-k-mooney | but yes | |
| 13:04:26 | sean-k-mooney | unfortunetly via curl | |
| 13:04:34 | sean-k-mooney | so you woudl do an openstack token issue | |
| 13:04:47 | sean-k-mooney | to get a keyston token and then curl the end point with that token | |
| 13:05:38 | tafkamax | yep, thats what i was thinking. will do a script for it now for testing | |
| 13:05:45 | tafkamax | thanks for the quick responses here | |
| 13:06:34 | sean-k-mooney | just one point of clarifcaion while the resouce calss is an atibute on the device im not sure that you can modify it today | |
| 13:06:42 | sean-k-mooney | you can add and remove addtional atibutes | |
| 13:06:58 | sean-k-mooney | but im not sure the api allows you to overreid once generated by the driver | |
| 13:07:21 | sean-k-mooney | and the docs dont actully tell you one way or another so that on my todo list to figure out | |
| 13:07:46 | sean-k-mooney | ill need to go back to the orginal atibutes spec and compare that to the final code | |
| 13:08:59 | tafkamax | oh okay | |
| 13:48:34 | tafkamax | Hmm I am trying to enable the gpu via API and it gives me an 204: | |
| 13:48:34 | tafkamax | 2026-05-07 16:45:59.843 1097 INFO eventlet.wsgi.server [None req-78038ad2-f1fe-4f2c-a984-aa6fd469ab34 204c13dfae0b4214ae00b15a95a5d180 1cc33bde294848818c8a462ad9d221a9 - - default default] "POST /v2/devices/4dc9f844-75d4-4e6c-a252-b9986816cc5b/enable HTTP/1.1" status: 204 len: 278 time: 0.4349580 | |