)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"76e35ba4b1506f9191adcd66fc33322ae5517a0a","unresolved":true,"context_lines":[{"line_number":14,"context_line":"hw_tpm_secret_security (without the v) to align with the other TPM"},{"line_number":15,"context_line":"image properties."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Implements: blueprint vtpm-live-migration"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I01721b0f244109023d97808c394281c4357c7958"},{"line_number":20,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"25e428d7_73e964f4","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":10},"updated":"2025-07-29 16:25:28.000000000","message":"nit: Nope, it just Partially-Implements: blueprint vtpm-live-migration","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"af91fe373e0e4676dd7049da9fb8766e666464a0","unresolved":true,"context_lines":[{"line_number":14,"context_line":"hw_tpm_secret_security (without the v) to align with the other TPM"},{"line_number":15,"context_line":"image properties."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Implements: blueprint vtpm-live-migration"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I01721b0f244109023d97808c394281c4357c7958"},{"line_number":20,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"af3ea716_eadb4f45","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":10},"in_reply_to":"25e428d7_73e964f4","updated":"2025-07-29 16:52:24.000000000","message":"I like to use \"Related to ...\" personally but I didn\u0027t make the effort to change all of them 🙂","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"825c9407fdef14a1cca2c8f3f4b33e573eda952e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"hw_tpm_secret_security (without the v) to align with the other TPM"},{"line_number":15,"context_line":"image properties."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Implements: blueprint vtpm-live-migration"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I01721b0f244109023d97808c394281c4357c7958"},{"line_number":20,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"126592d4_7261c892","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":10},"in_reply_to":"af3ea716_eadb4f45","updated":"2025-07-30 01:14:36.000000000","message":"Done","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e0fed7dc5688e364a26c468990457f11da7451b4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"hw_tpm_secret_security (without the v) to align with the other TPM"},{"line_number":15,"context_line":"image properties."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Related to blueprint vtpm-live-migration"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I01721b0f244109023d97808c394281c4357c7958"},{"line_number":20,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"c4dddcd7_b15e2437","line":17,"updated":"2025-07-30 05:37:58.000000000","message":"++","commit_id":"ee3a0c6b52fae7d70a48503bd7fe0710ff14da1c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"76e35ba4b1506f9191adcd66fc33322ae5517a0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"295d6ef0_df9d465d","updated":"2025-07-29 16:25:28.000000000","message":"some nits, nothing worth a respin unless we need to but awaiting to review the whole series before going further with that patch.","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e0fed7dc5688e364a26c468990457f11da7451b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"76df7565_4d4c1a8f","updated":"2025-07-30 05:37:58.000000000","message":"Holding to +2 this patch as I want to avoid object changes until we approve the whole series as we had precedents of premature object patches that required further additions.\n\nAnyway, LGTM as it is.","commit_id":"ee3a0c6b52fae7d70a48503bd7fe0710ff14da1c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2172d9ab4822efeb939ee2355500d513c741eddb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"e0c15d62_ba4a1840","updated":"2025-10-01 13:57:35.000000000","message":"Thanks!","commit_id":"336c81cd0c29d9488f0cf38718430e0016216d9e"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"53da89a0b6442cbe812c19a386f5f46a4c6b0f05","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"8670d874_d95cb04c","updated":"2025-10-21 14:34:25.000000000","message":"LGTM as previously, giving +2 to indicate I\u0027m happy with it but I\u0027d like to continue reviewing the series to see how that object modification is used before +Wing.","commit_id":"8d12a733137a3adae0166d38420f4a09340f5b10"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"ee4da70415c8f73714b40da73c8302b6cdc9745f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"5537f57a_8cf7d431","updated":"2025-10-08 19:06:31.000000000","message":"recheck ERROR nova.virt.libvirt.host [None req-3842ffe2-de47-4518-8f8a-d89d0428ae8f None None] Connection to libvirt failed: Failed to connect socket to \u0027/var/run/libvirt/libvirt-sock\u0027: No such file or directory: libvirt.libvirtError: Failed to connect socket to \u0027/var/run/libvirt/libvirt-sock\u0027: No such file or directory","commit_id":"8d12a733137a3adae0166d38420f4a09340f5b10"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"94359283d50b6eecd3389479e063a145f8a3dfcb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"a19f2c17_813ebb62","updated":"2025-10-08 17:04:51.000000000","message":"recheck ssh timeout","commit_id":"8d12a733137a3adae0166d38420f4a09340f5b10"}],"nova/notifications/objects/image.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"91f8ff87d7da6adfe991146c550e7a22012487ee","unresolved":true,"context_lines":[{"line_number":133,"context_line":"    # Version 1.13: Added \u0027hw_virtio_packed_ring\u0027 field"},{"line_number":134,"context_line":"    # Version 1.14: Added \u0027hw_firmware_stateless\u0027 field"},{"line_number":135,"context_line":"    # Version 1.15: Added igb value to \u0027hw_vif_model\u0027 enum"},{"line_number":136,"context_line":"    # Version 1.16: Added \u0027hw_tpm_secret_security\u0027 field"},{"line_number":137,"context_line":"    VERSION \u003d \u00271.16\u0027"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    # NOTE(efried): This logic currently relies on all of the fields of"}],"source_content_type":"text/x-python","patch_set":11,"id":"7e831d67_7f9c1810","line":136,"updated":"2025-03-27 18:16:04.000000000","message":"I think this is probably one of the ones we want to make refuse to backport to 1.15 if something is specified here (or maybe specified as other-than-the-current-default). In other words, if we\u0027re in an upgrade and we can\u0027t be sending 1.16, we refuse to backport this and just drop that field if someone tries to boot an image that requests something.","commit_id":"106e57fb85b330119f22e3e91ecc756cc0313498"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"6c9c3fc02f7da8c3ebc82f0eaeb7f24f56ffcc43","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    # Version 1.13: Added \u0027hw_virtio_packed_ring\u0027 field"},{"line_number":134,"context_line":"    # Version 1.14: Added \u0027hw_firmware_stateless\u0027 field"},{"line_number":135,"context_line":"    # Version 1.15: Added igb value to \u0027hw_vif_model\u0027 enum"},{"line_number":136,"context_line":"    # Version 1.16: Added \u0027hw_tpm_secret_security\u0027 field"},{"line_number":137,"context_line":"    VERSION \u003d \u00271.16\u0027"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    # NOTE(efried): This logic currently relies on all of the fields of"}],"source_content_type":"text/x-python","patch_set":11,"id":"39a0e9c7_0089070a","line":136,"in_reply_to":"3349ca88_a20d1e4c","updated":"2025-05-01 19:56:52.000000000","message":"Acknowledged","commit_id":"106e57fb85b330119f22e3e91ecc756cc0313498"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"31bc4636e053d4393586258baf16d3db31d0639c","unresolved":true,"context_lines":[{"line_number":133,"context_line":"    # Version 1.13: Added \u0027hw_virtio_packed_ring\u0027 field"},{"line_number":134,"context_line":"    # Version 1.14: Added \u0027hw_firmware_stateless\u0027 field"},{"line_number":135,"context_line":"    # Version 1.15: Added igb value to \u0027hw_vif_model\u0027 enum"},{"line_number":136,"context_line":"    # Version 1.16: Added \u0027hw_tpm_secret_security\u0027 field"},{"line_number":137,"context_line":"    VERSION \u003d \u00271.16\u0027"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    # NOTE(efried): This logic currently relies on all of the fields of"}],"source_content_type":"text/x-python","patch_set":11,"id":"3349ca88_a20d1e4c","line":136,"in_reply_to":"7e831d67_7f9c1810","updated":"2025-03-28 15:13:07.000000000","message":"I don\u0027t think I understand why you\u0027re writing this on the notification ImageMetaPropsPayload object. In ImageMetaProps there\u0027s already a change to the backporting code that just drops the field.","commit_id":"106e57fb85b330119f22e3e91ecc756cc0313498"}],"nova/objects/fields.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"76e35ba4b1506f9191adcd66fc33322ae5517a0a","unresolved":false,"context_lines":[{"line_number":567,"context_line":"    HOST \u003d \u0027host\u0027"},{"line_number":568,"context_line":"    DEPLOYMENT \u003d \u0027deployment\u0027"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    ALL \u003d (USER, HOST, DEPLOYMENT)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"class MaxPhyAddrMode(BaseNovaEnum):"}],"source_content_type":"text/x-python","patch_set":17,"id":"51b94c20_a92205db","line":570,"updated":"2025-07-29 16:25:28.000000000","message":"that\u0027s what we agreed on the spec : https://specs.openstack.org/openstack/nova-specs/specs/2025.2/approved/vtpm-live-migration.html#proposed-change","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"53da89a0b6442cbe812c19a386f5f46a4c6b0f05","unresolved":false,"context_lines":[{"line_number":565,"context_line":"class TPMSecretSecurity(BaseNovaEnum):"},{"line_number":566,"context_line":"    USER \u003d \u0027user\u0027"},{"line_number":567,"context_line":"    HOST \u003d \u0027host\u0027"},{"line_number":568,"context_line":"    DEPLOYMENT \u003d \u0027deployment\u0027"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    ALL \u003d (USER, HOST, DEPLOYMENT)"},{"line_number":571,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"249d055a_4f27576e","line":568,"updated":"2025-10-21 14:34:25.000000000","message":"as agreed by the spec","commit_id":"8d12a733137a3adae0166d38420f4a09340f5b10"}],"nova/objects/image_meta.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"31bc4636e053d4393586258baf16d3db31d0639c","unresolved":true,"context_lines":[{"line_number":208,"context_line":"                                                        target_version)"},{"line_number":209,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":210,"context_line":"        if target_version \u003c (1, 40):"},{"line_number":211,"context_line":"            primitive.pop(\u0027hw_tpm_secret_security\u0027, None)"},{"line_number":212,"context_line":"        if target_version \u003c (1, 39):"},{"line_number":213,"context_line":"            base.raise_on_too_new_values("},{"line_number":214,"context_line":"                target_version, primitive,"}],"source_content_type":"text/x-python","patch_set":11,"id":"06a84672_7154920d","line":211,"updated":"2025-03-28 15:13:07.000000000","message":"Here.","commit_id":"106e57fb85b330119f22e3e91ecc756cc0313498"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3bded9be58191040a025f4ec8c8c543ac9bffac4","unresolved":true,"context_lines":[{"line_number":208,"context_line":"                                                        target_version)"},{"line_number":209,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":210,"context_line":"        if target_version \u003c (1, 40):"},{"line_number":211,"context_line":"            primitive.pop(\u0027hw_tpm_secret_security\u0027, None)"},{"line_number":212,"context_line":"        if target_version \u003c (1, 39):"},{"line_number":213,"context_line":"            base.raise_on_too_new_values("},{"line_number":214,"context_line":"                target_version, primitive,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7f7f1507_4d91fe16","line":211,"in_reply_to":"06a84672_7154920d","updated":"2025-03-28 15:17:38.000000000","message":"Yeah, meant to comment here. Just dropping this for the backport is not okay. Like version 39 below, we need to raise and say \"sorry we can\u0027t backport this to an older version without losing (security-sensitive) information.","commit_id":"106e57fb85b330119f22e3e91ecc756cc0313498"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"ad3cf471d101058c8f20d1d13dac720c6c60d364","unresolved":true,"context_lines":[{"line_number":208,"context_line":"                                                        target_version)"},{"line_number":209,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":210,"context_line":"        if target_version \u003c (1, 40):"},{"line_number":211,"context_line":"            primitive.pop(\u0027hw_tpm_secret_security\u0027, None)"},{"line_number":212,"context_line":"        if target_version \u003c (1, 39):"},{"line_number":213,"context_line":"            base.raise_on_too_new_values("},{"line_number":214,"context_line":"                target_version, primitive,"}],"source_content_type":"text/x-python","patch_set":11,"id":"db45ab3e_78ee328a","line":211,"in_reply_to":"7f7f1507_4d91fe16","updated":"2025-03-28 17:19:18.000000000","message":"Ah I see, makes sense. Done.","commit_id":"106e57fb85b330119f22e3e91ecc756cc0313498"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"6c9c3fc02f7da8c3ebc82f0eaeb7f24f56ffcc43","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                                                        target_version)"},{"line_number":209,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":210,"context_line":"        if target_version \u003c (1, 40):"},{"line_number":211,"context_line":"            primitive.pop(\u0027hw_tpm_secret_security\u0027, None)"},{"line_number":212,"context_line":"        if target_version \u003c (1, 39):"},{"line_number":213,"context_line":"            base.raise_on_too_new_values("},{"line_number":214,"context_line":"                target_version, primitive,"}],"source_content_type":"text/x-python","patch_set":11,"id":"d65318ca_4ab2c380","line":211,"in_reply_to":"db45ab3e_78ee328a","updated":"2025-05-01 19:56:52.000000000","message":"Done","commit_id":"106e57fb85b330119f22e3e91ecc756cc0313498"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"76e35ba4b1506f9191adcd66fc33322ae5517a0a","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                                                        target_version)"},{"line_number":212,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":213,"context_line":"        if target_version \u003c (1, 42):"},{"line_number":214,"context_line":"            primitive.pop(\u0027hw_tpm_secret_security\u0027, None)"},{"line_number":215,"context_line":"        if target_version \u003c (1, 41):"},{"line_number":216,"context_line":"            primitive.pop(\u0027hw_usb_model\u0027, None)"},{"line_number":217,"context_line":"            primitive.pop(\u0027hw_redirected_usb_ports\u0027, None)"}],"source_content_type":"text/x-python","patch_set":17,"id":"63e445bf_324d037d","line":214,"updated":"2025-07-29 16:25:28.000000000","message":"backwards compat looks good to me.","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"76e35ba4b1506f9191adcd66fc33322ae5517a0a","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        # version of emulated TPM to use."},{"line_number":489,"context_line":"        \u0027hw_tpm_version\u0027: fields.TPMVersionField(),"},{"line_number":490,"context_line":"        # TPM secret security policy to use."},{"line_number":491,"context_line":"        \u0027hw_tpm_secret_security\u0027: fields.TPMSecretSecurityField(),"},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"        # boolean - if true will enable ephemeral encryption for instance"},{"line_number":494,"context_line":"        \u0027hw_ephemeral_encryption\u0027: fields.FlexibleBooleanField(),"}],"source_content_type":"text/x-python","patch_set":17,"id":"2b614554_6d09c3e8","line":491,"range":{"start_line":491,"start_character":41,"end_line":491,"end_character":63},"updated":"2025-07-29 16:25:28.000000000","message":"one may think a correct field type name would be TPMSecretSecurityPolicyField() and a correct field name in that object to be hw_tpm_secret_security_policy or just hw_tpm_secret_policy but I don\u0027t want you to update your whole series on that bikeshed 😄","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"af91fe373e0e4676dd7049da9fb8766e666464a0","unresolved":false,"context_lines":[{"line_number":488,"context_line":"        # version of emulated TPM to use."},{"line_number":489,"context_line":"        \u0027hw_tpm_version\u0027: fields.TPMVersionField(),"},{"line_number":490,"context_line":"        # TPM secret security policy to use."},{"line_number":491,"context_line":"        \u0027hw_tpm_secret_security\u0027: fields.TPMSecretSecurityField(),"},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"        # boolean - if true will enable ephemeral encryption for instance"},{"line_number":494,"context_line":"        \u0027hw_ephemeral_encryption\u0027: fields.FlexibleBooleanField(),"}],"source_content_type":"text/x-python","patch_set":17,"id":"e4bffec8_58d1dffb","line":491,"range":{"start_line":491,"start_character":41,"end_line":491,"end_character":63},"in_reply_to":"2b614554_6d09c3e8","updated":"2025-07-29 16:52:24.000000000","message":"Thank you 🙂","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"12fe39f0d0f2f96e9a2d2a100ea4a698c7de8601","unresolved":true,"context_lines":[{"line_number":212,"context_line":"                                                        target_version)"},{"line_number":213,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":214,"context_line":"        if target_version \u003c (1, 43):"},{"line_number":215,"context_line":"            primitive.pop(\u0027hw_tpm_secret_security\u0027, None)"},{"line_number":216,"context_line":"        if target_version \u003c (1, 42):"},{"line_number":217,"context_line":"            primitive.pop(\u0027hw_mem_encryption_model\u0027, None)"},{"line_number":218,"context_line":"        if target_version \u003c (1, 41):"}],"source_content_type":"text/x-python","patch_set":20,"id":"864cf951_a9da1389","line":215,"updated":"2025-09-30 18:24:56.000000000","message":"I had previously complained that this should not be a silent drop on backport and it was changed to a raise. Just trying to get my head back into this and thinking...is this no longer a concern because we don\u0027t have a default that may be less secure if the target compute is too old? I\u0027m not sure why it\u0027s different now though since this backport literally means we\u0027re trying to send a security-sensitive request to a compute that is too old to understand it...","commit_id":"d7e07b8e57d6b04f92df10240b71e9d3f58db17a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"ff4781609632bb5eb99c0dab52a218e11aa7032b","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                                                        target_version)"},{"line_number":213,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":214,"context_line":"        if target_version \u003c (1, 43):"},{"line_number":215,"context_line":"            primitive.pop(\u0027hw_tpm_secret_security\u0027, None)"},{"line_number":216,"context_line":"        if target_version \u003c (1, 42):"},{"line_number":217,"context_line":"            primitive.pop(\u0027hw_mem_encryption_model\u0027, None)"},{"line_number":218,"context_line":"        if target_version \u003c (1, 41):"}],"source_content_type":"text/x-python","patch_set":20,"id":"a8efc799_f39ce97d","line":215,"in_reply_to":"5c221aed_79e02b58","updated":"2025-10-01 02:43:15.000000000","message":"Done","commit_id":"d7e07b8e57d6b04f92df10240b71e9d3f58db17a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"06f555025ea4d0f6cd00657c7840fcb6354edd7f","unresolved":true,"context_lines":[{"line_number":212,"context_line":"                                                        target_version)"},{"line_number":213,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":214,"context_line":"        if target_version \u003c (1, 43):"},{"line_number":215,"context_line":"            primitive.pop(\u0027hw_tpm_secret_security\u0027, None)"},{"line_number":216,"context_line":"        if target_version \u003c (1, 42):"},{"line_number":217,"context_line":"            primitive.pop(\u0027hw_mem_encryption_model\u0027, None)"},{"line_number":218,"context_line":"        if target_version \u003c (1, 41):"}],"source_content_type":"text/x-python","patch_set":20,"id":"5c221aed_79e02b58","line":215,"in_reply_to":"864cf951_a9da1389","updated":"2025-09-30 18:38:46.000000000","message":"Oh, sorry, that is my bad. It was originally a raise but I thought maybe I had made a mistake and tried to figure out the difference between a raise and a silent drop and when to use which.\n\nI\u0027ll change it back and add a code comment so I don\u0027t forget why. It wasn\u0027t intentional that I did this.","commit_id":"d7e07b8e57d6b04f92df10240b71e9d3f58db17a"}],"nova/tests/unit/objects/test_image_meta.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"76e35ba4b1506f9191adcd66fc33322ae5517a0a","unresolved":true,"context_lines":[{"line_number":556,"context_line":"            \u0027hw_tpm_secret_security\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":557,"context_line":"        primitive \u003d obj.obj_to_primitive(\u00271.41\u0027)"},{"line_number":558,"context_line":"        self.assertNotIn("},{"line_number":559,"context_line":"            \u0027hw_tpm_secret_security\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":560,"context_line":"        primitive \u003d obj.obj_to_primitive(\u00271.26\u0027)"},{"line_number":561,"context_line":"        self.assertNotIn(\u0027hw_tpm_model\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":562,"context_line":"        self.assertNotIn(\u0027hw_tpm_version\u0027, primitive[\u0027nova_object.data\u0027])"}],"source_content_type":"text/x-python","patch_set":17,"id":"c06470e8_b990cbc3","line":559,"updated":"2025-07-29 16:25:28.000000000","message":"you removed a bit of coverage (checking whether the 1.41 fields are in the primitive)","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"af91fe373e0e4676dd7049da9fb8766e666464a0","unresolved":true,"context_lines":[{"line_number":556,"context_line":"            \u0027hw_tpm_secret_security\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":557,"context_line":"        primitive \u003d obj.obj_to_primitive(\u00271.41\u0027)"},{"line_number":558,"context_line":"        self.assertNotIn("},{"line_number":559,"context_line":"            \u0027hw_tpm_secret_security\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":560,"context_line":"        primitive \u003d obj.obj_to_primitive(\u00271.26\u0027)"},{"line_number":561,"context_line":"        self.assertNotIn(\u0027hw_tpm_model\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":562,"context_line":"        self.assertNotIn(\u0027hw_tpm_version\u0027, primitive[\u0027nova_object.data\u0027])"}],"source_content_type":"text/x-python","patch_set":17,"id":"e1006d92_ebc0a0a5","line":559,"in_reply_to":"c06470e8_b990cbc3","updated":"2025-07-29 16:52:24.000000000","message":"Oops, that was not intentional, I\u0027ll fix it.","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"825c9407fdef14a1cca2c8f3f4b33e573eda952e","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            \u0027hw_tpm_secret_security\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":557,"context_line":"        primitive \u003d obj.obj_to_primitive(\u00271.41\u0027)"},{"line_number":558,"context_line":"        self.assertNotIn("},{"line_number":559,"context_line":"            \u0027hw_tpm_secret_security\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":560,"context_line":"        primitive \u003d obj.obj_to_primitive(\u00271.26\u0027)"},{"line_number":561,"context_line":"        self.assertNotIn(\u0027hw_tpm_model\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":562,"context_line":"        self.assertNotIn(\u0027hw_tpm_version\u0027, primitive[\u0027nova_object.data\u0027])"}],"source_content_type":"text/x-python","patch_set":17,"id":"86d4a424_02ceb35b","line":559,"in_reply_to":"e1006d92_ebc0a0a5","updated":"2025-07-30 01:14:36.000000000","message":"Done","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"825c9407fdef14a1cca2c8f3f4b33e573eda952e","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            \u0027hw_tpm_secret_security\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":557,"context_line":"        primitive \u003d obj.obj_to_primitive(\u00271.41\u0027)"},{"line_number":558,"context_line":"        self.assertNotIn("},{"line_number":559,"context_line":"            \u0027hw_tpm_secret_security\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":560,"context_line":"        primitive \u003d obj.obj_to_primitive(\u00271.26\u0027)"},{"line_number":561,"context_line":"        self.assertNotIn(\u0027hw_tpm_model\u0027, primitive[\u0027nova_object.data\u0027])"},{"line_number":562,"context_line":"        self.assertNotIn(\u0027hw_tpm_version\u0027, primitive[\u0027nova_object.data\u0027])"}],"source_content_type":"text/x-python","patch_set":17,"id":"93bf934a_4b999b28","line":559,"in_reply_to":"e1006d92_ebc0a0a5","updated":"2025-07-30 01:14:36.000000000","message":"Done","commit_id":"8aa38bc16a604e142183c65cffa3991901ea4d8c"}]}
