)]}'
{"octavia/certificates/generator/local.py":[{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"44a0ca8f10815be4e0e04550e70719e5b3e832a6","unresolved":true,"context_lines":[{"line_number":165,"context_line":"                    lo_req.public_key()),"},{"line_number":166,"context_line":"                critical\u003dFalse"},{"line_number":167,"context_line":"            )"},{"line_number":168,"context_line":"            try:"},{"line_number":169,"context_line":"                issuer_ski \u003d lo_cert.extensions.get_extension_for_class("},{"line_number":170,"context_line":"                    x509.SubjectKeyIdentifier).value"},{"line_number":171,"context_line":"            except x509.ExtensionNotFound:"}],"source_content_type":"text/x-python","patch_set":1,"id":"81df155f_81a069d5","line":168,"updated":"2026-07-15 15:46:04.000000000","message":"I know it\u0027s in the commit message, but I think it\u0027s worth adding a comment about why we try these two approaches in this order. Someone who comes along and reads this code in 5-10 years may have no idea.","commit_id":"44e858c797cf474681ab5c32fa085674b21288ea"},{"author":{"_account_id":38360,"name":"Zachary Mark Raines","display_name":"Zachary Raines","email":"zachary.raines@canonical.com","username":"raineszm","status":"Sustaining Engineer @ Canonical"},"change_message_id":"44a0ca8f10815be4e0e04550e70719e5b3e832a6","unresolved":true,"context_lines":[{"line_number":173,"context_line":"                    x509.AuthorityKeyIdentifier.from_issuer_public_key("},{"line_number":174,"context_line":"                        lo_cert.public_key()))"},{"line_number":175,"context_line":"            else:"},{"line_number":176,"context_line":"                authority_key_identifier \u003d x509.AuthorityKeyIdentifier("},{"line_number":177,"context_line":"                    key_identifier\u003dissuer_ski.digest,"},{"line_number":178,"context_line":"                    authority_cert_issuer\u003dNone,"},{"line_number":179,"context_line":"                    authority_cert_serial_number\u003dNone)"},{"line_number":180,"context_line":"            new_cert \u003d new_cert.add_extension("},{"line_number":181,"context_line":"                authority_key_identifier,"},{"line_number":182,"context_line":"                critical\u003dFalse"}],"source_content_type":"text/x-python","patch_set":1,"id":"509a0658_18f13303","line":179,"range":{"start_line":176,"start_character":15,"end_line":179,"end_character":54},"updated":"2026-07-15 15:46:04.000000000","message":"Can we just put this into the try block, or is there some risk that the constructor throws an x509.ExtensionNotFound?","commit_id":"44e858c797cf474681ab5c32fa085674b21288ea"}]}
