)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d189e10830abab4233e8e9dd6c03b1cbf2dcee71","unresolved":true,"context_lines":[{"line_number":10,"context_line":"no resources: key is accepted by the API but fails at ARQ bind time"},{"line_number":11,"context_line":"with an opaque InvalidParameterValue from"},{"line_number":12,"context_line":"get_resources_from_device_profile_group(). The user gets no"},{"line_number":13,"context_line":"actionable feedback at the point where the bad input was submitted."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Add a check at the end of the per-group validation loop in"},{"line_number":16,"context_line":"_validate_post_request() that raises InvalidParameterValue with a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"0bce3436_e4809982","line":13,"updated":"2026-10-01 09:28:35.000000000","message":"since we only supprot get, post and delete\nhttps://docs.openstack.org/api-ref/accelerator/#device-profiles\n\nand no ablity to patch/put and therefore update a device profile i agree\n\nthis would be less clear cut if we allowed mutation fo device profiels as you could in principal build it upt incrementaly\n\n\nso i agree this si an input validation bug,  the user shoudl recive a 400 and the create should be rejected","commit_id":"9ccbf2797943a223d92aace2c7fd3f287a53f2ff"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"a4de73ab3b0baa7c08395c24f156dde9ecbc3da2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"dbcc17f7_d189d29c","updated":"2026-09-30 13:17:35.000000000","message":"lgtm!\n\nSince it fixes the user facing bug, Do we need a release note for this?","commit_id":"c7d976bb1045d14b921390097d1603ee8c67d44a"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"a1e02b729a369e0ea214f8190a3a599553a56617","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d531b24f_a2e9f8fb","in_reply_to":"dbcc17f7_d189d29c","updated":"2026-09-30 13:25:56.000000000","message":"yes it should, good catch Chandan, I\u0027ve added it","commit_id":"c7d976bb1045d14b921390097d1603ee8c67d44a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"15141321840807ee3f7c5a66fc5b37c6d2ec0364","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3faa7777_a1897513","updated":"2026-09-30 20:17:28.000000000","message":"Looks OK to me","commit_id":"9ccbf2797943a223d92aace2c7fd3f287a53f2ff"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"ea8deff8cd82a16681f1ee45abd00c7ccd8d9ec4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2060d9ea_6d1a5a5d","updated":"2026-09-30 15:15:20.000000000","message":"lgtm!","commit_id":"9ccbf2797943a223d92aace2c7fd3f287a53f2ff"}],"cyborg/tests/unit/api/controllers/v2/test_device_profiles.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"15141321840807ee3f7c5a66fc5b37c6d2ec0364","unresolved":true,"context_lines":[{"line_number":318,"context_line":"        )"},{"line_number":319,"context_line":"        self.assertRaisesRegex("},{"line_number":320,"context_line":"            webtest.app.AppError,"},{"line_number":321,"context_line":"            \".*Device profile group must contain at least one.*\","},{"line_number":322,"context_line":"            self.post_json,"},{"line_number":323,"context_line":"            self.DP_URL,"},{"line_number":324,"context_line":"            [test_unsupported_dp],"}],"source_content_type":"text/x-python","patch_set":2,"id":"d602465a_a0bbebf4","line":321,"updated":"2026-09-30 20:17:28.000000000","message":"I wondered why the assert here doesn\u0027t include the part of the error message specific to this bug (i.e. `must contain at least one \u0027resources:\u0027 key`) and went down the rabbit hole into how the API produces messy double-encoded JSON:\n```\n{\"error_message\": \"{\\\\\"faultcode\\\\\": \\\\\"Client\\\\\", \\\\\"faultstring\\\\\": \\\\\"Device profile group must contain at least one \\\u0027resources:\\\u0027 key.\\\\\", \\\\\"debuginfo\\\\\": null}\"}\n```\nI have filed a bug and proposed a patch stacked on top of this one:\n\nhttps://review.opendev.org/c/openstack/cyborg/+/1008123","commit_id":"9ccbf2797943a223d92aace2c7fd3f287a53f2ff"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d189e10830abab4233e8e9dd6c03b1cbf2dcee71","unresolved":true,"context_lines":[{"line_number":318,"context_line":"        )"},{"line_number":319,"context_line":"        self.assertRaisesRegex("},{"line_number":320,"context_line":"            webtest.app.AppError,"},{"line_number":321,"context_line":"            \".*Device profile group must contain at least one.*\","},{"line_number":322,"context_line":"            self.post_json,"},{"line_number":323,"context_line":"            self.DP_URL,"},{"line_number":324,"context_line":"            [test_unsupported_dp],"}],"source_content_type":"text/x-python","patch_set":2,"id":"e01a1df0_cc7ce443","line":321,"in_reply_to":"91698a75_7eb6471a","updated":"2026-10-01 09:28:35.000000000","message":"ill review both pathces togherether and merge them both at the same time if i agree with the updates in the follow up","commit_id":"9ccbf2797943a223d92aace2c7fd3f287a53f2ff"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"394dc4503a24c95613934350b3d1c6fbd018aefc","unresolved":true,"context_lines":[{"line_number":318,"context_line":"        )"},{"line_number":319,"context_line":"        self.assertRaisesRegex("},{"line_number":320,"context_line":"            webtest.app.AppError,"},{"line_number":321,"context_line":"            \".*Device profile group must contain at least one.*\","},{"line_number":322,"context_line":"            self.post_json,"},{"line_number":323,"context_line":"            self.DP_URL,"},{"line_number":324,"context_line":"            [test_unsupported_dp],"}],"source_content_type":"text/x-python","patch_set":2,"id":"91698a75_7eb6471a","line":321,"in_reply_to":"d602465a_a0bbebf4","updated":"2026-10-01 06:03:26.000000000","message":"thanks for tracking that, I\u0027ll take a look at you patch","commit_id":"9ccbf2797943a223d92aace2c7fd3f287a53f2ff"}]}
