)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8b8237ef8e1b6a4787c558b5d80ff048a8b4bee8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"86b56124_b48198ed","updated":"2025-12-04 13:02:41.000000000","message":"This has been here a long time and is linter-only. Let\u0027s get it in","commit_id":"6c1e8cda78fa968c4538eaf67c835212ed8922a8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"224646583aecaa7a1d0132f434096cbc425a4161","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"69c13fd9_7a31022a","updated":"2025-11-07 11:25:45.000000000","message":"recheck","commit_id":"6c1e8cda78fa968c4538eaf67c835212ed8922a8"}],"nova/crypto.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c1ca9337ceb1abef1c365c6d0e2560fa197679cc","unresolved":true,"context_lines":[{"line_number":171,"context_line":"def ensure_vtpm_secret("},{"line_number":172,"context_line":"    context: nova_context.RequestContext,"},{"line_number":173,"context_line":"    instance: \u0027objects.Instance\u0027,"},{"line_number":174,"context_line":") -\u003e ty.Tuple[bytes, bytes]:"},{"line_number":175,"context_line":"    \"\"\"Communicates with the key manager service to retrieve or create a secret"},{"line_number":176,"context_line":"    for an instance\u0027s emulated TPM."},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bd907c0e_3cc0d8c5","line":174,"updated":"2025-11-04 16:37:14.000000000","message":"is this correct the first filed is the uuid and the second is the secrete data\nthe latter being a byte string makes sesne as it base64 encoded\n\nsecret \u003d base64.b64encode(os.urandom(_VTPM_SECRET_BYTE_LENGTH))\n\nthe uuid not being a string is a little odd to me i woudl have expecte that or a uuid object\n\ni guess it depens on what key_mgr.store returns.\n\n    secret_uuid \u003d key_mgr.store(context, cmo)\n    \nlooking at castalan ti does not defien the type in the absract base class.\n  \nhttps://github.com/openstack/castellan/blob/master/castellan/key_manager/key_manager.py#L77-L86\n\nthat is parsing it out of a url\n\nhttps://github.com/openstack/castellan/blob/master/castellan/key_manager/barbican_key_manager.py#L469-L473\n\nif we then look at the barbican client\n\nhttps://github.com/openstack/python-barbicanclient/blob/master/barbicanclient/v1/secrets.py#L329-L395\nwe  seet the secret ref is \n\nself._secret_ref \u003d response.get(\u0027secret_ref\u0027)\n\nwhich means it the raw content of the request reponce which i gues is now in bytes not text string.\n\nhttps://github.com/openstack/python-barbicanclient/blob/master/barbicanclient/client.py#L75\n\ni think this shoudl be a ty.Tuple[str, bytes]\n\nbecause .json does a json.loads on the body to produce the dict that we then call .get(key) on\n\nresponse.content is the raw bytes but .json() uses .txt text\n\nacording to https://realpython.com/python-requests/#access-the-response-content\nalthouhg https://docs.python-requests.org/en/latest/api/#requests.Response.json does not say one way or another\n\nis change actully needed or is it just recommended?","commit_id":"575c0ab6b3075eb43e5e6d9cc5b76b210384fc1e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4219b518af38733166d22b3193ea1b8daf4d14ce","unresolved":false,"context_lines":[{"line_number":171,"context_line":"def ensure_vtpm_secret("},{"line_number":172,"context_line":"    context: nova_context.RequestContext,"},{"line_number":173,"context_line":"    instance: \u0027objects.Instance\u0027,"},{"line_number":174,"context_line":") -\u003e ty.Tuple[bytes, bytes]:"},{"line_number":175,"context_line":"    \"\"\"Communicates with the key manager service to retrieve or create a secret"},{"line_number":176,"context_line":"    for an instance\u0027s emulated TPM."},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"715c71f6_6ccff582","line":174,"in_reply_to":"bd907c0e_3cc0d8c5","updated":"2025-11-06 12:03:58.000000000","message":"Done","commit_id":"575c0ab6b3075eb43e5e6d9cc5b76b210384fc1e"}]}
