)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1009ffbde21373462188d74e7b850019a235a7f2","unresolved":true,"context_lines":[{"line_number":22,"context_line":"Placement is used as the authoritative source for resource class and"},{"line_number":23,"context_line":"traits rather than Cyborg\u0027s internal attributes_list. The"},{"line_number":24,"context_line":"attributes_list embeds traits as a JSON string that includes standard"},{"line_number":25,"context_line":"os-traits names such as OWNER_CYBORG, which the Cyborg device profile"},{"line_number":26,"context_line":"API rejects because it requires all trait names to start with CUSTOM_."},{"line_number":27,"context_line":"Querying placement directly avoids that ambiguity and validates the"},{"line_number":28,"context_line":"full Cyborg-\u003ePlacement sync path in the same step."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"08263440_726763c8","line":26,"range":{"start_line":25,"start_character":38,"end_line":26,"end_character":69},"updated":"2026-06-17 13:50:00.000000000","message":"thats a limitation or bug that we likely should adreess as part fo your nvme spec so that we can request a device with the sanatization traits.","commit_id":"bb0f06b2dec6e39a11f145d010bfa1f237087bfe"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"27f0562e1ccde6d6a79fcf630c6b4385e7061ad8","unresolved":true,"context_lines":[{"line_number":22,"context_line":"Placement is used as the authoritative source for resource class and"},{"line_number":23,"context_line":"traits rather than Cyborg\u0027s internal attributes_list. The"},{"line_number":24,"context_line":"attributes_list embeds traits as a JSON string that includes standard"},{"line_number":25,"context_line":"os-traits names such as OWNER_CYBORG, which the Cyborg device profile"},{"line_number":26,"context_line":"API rejects because it requires all trait names to start with CUSTOM_."},{"line_number":27,"context_line":"Querying placement directly avoids that ambiguity and validates the"},{"line_number":28,"context_line":"full Cyborg-\u003ePlacement sync path in the same step."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"409a8e69_8fb47f13","line":26,"range":{"start_line":25,"start_character":38,"end_line":26,"end_character":69},"in_reply_to":"08263440_726763c8","updated":"2026-06-19 10:13:06.000000000","message":"Opened the bug here https://bugs.launchpad.net/openstack-cyborg/+bug/2157586, I am thinking about os-traits here directly in the cyborg. I will propose a patch and take it from there.","commit_id":"bb0f06b2dec6e39a11f145d010bfa1f237087bfe"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6a73e61ff8d2da8c091178e979d7905f6ce4099c","unresolved":true,"context_lines":[{"line_number":22,"context_line":"Placement is used as the authoritative source for resource class and"},{"line_number":23,"context_line":"traits rather than Cyborg\u0027s internal attributes_list. The"},{"line_number":24,"context_line":"attributes_list embeds traits as a JSON string that includes standard"},{"line_number":25,"context_line":"os-traits names such as OWNER_CYBORG, which the Cyborg device profile"},{"line_number":26,"context_line":"API rejects because it requires all trait names to start with CUSTOM_."},{"line_number":27,"context_line":"Querying placement directly avoids that ambiguity and validates the"},{"line_number":28,"context_line":"full Cyborg-\u003ePlacement sync path in the same step."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dd77e9ad_7b24ae58","line":26,"range":{"start_line":25,"start_character":38,"end_line":26,"end_character":69},"in_reply_to":"409a8e69_8fb47f13","updated":"2026-06-19 10:43:07.000000000","message":"os-traits can be used for normalising traits we reprot but it should nto be used for validation as the verion installed in the placmenet service host may not match ours\n\nwe basically should accpate any trait in the device profile but for the atibutes api we shoudl alwasy prefix them with CUSTOM_\n\neventually we will want to sandarize some of the traits reproted by cyborg drvier in os traits and we shoud not allwo those standard taits to be added out of band via the atirbute api","commit_id":"bb0f06b2dec6e39a11f145d010bfa1f237087bfe"}],"cyborg_tempest_plugin/tests/scenario/test_pci.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2f4fe78f7a1bf6ed5fe2c9f45d5726d5f85efef7","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            t for t in traits_body[\u0027traits\u0027] if t.startswith(\u0027CUSTOM_\u0027)"},{"line_number":97,"context_line":"        ]"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        inventories_body \u003d rp_client.list_resource_provider_inventories(rp_uuid)"},{"line_number":100,"context_line":"        # The resource class is the key in the inventories dict."},{"line_number":101,"context_line":"        rc \u003d next(iter(inventories_body[\u0027inventories\u0027]), None)"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"41269984_e31f368a","line":99,"updated":"2026-06-09 07:50:29.000000000","message":"pep8: E501 line too long (80 \u003e 79 characters)","commit_id":"66baae58f924ce5fff3cdd33d3846b0d64973601"}]}
