)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"4c3d8e5132cc7419581286593d630422f9fd3e4a","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Taketani Ryo \u003ctaketani.ryo@fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-12-17 07:45:49 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mem-enc: remove explicit SEV dependency from nova.scheduler.utils"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It would be better keep nova.scheduler.utils independent of specific"},{"line_number":10,"context_line":"mem_encryption implementations. Remove the dependency for SEV by adding"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bc96a3b4_fc9658c2","line":7,"range":{"start_line":7,"start_character":9,"end_line":7,"end_character":39},"updated":"2026-01-05 16:35:33.000000000","message":"I found this message a bit confusing because the logic does actually add traits specifically required for SEV/SEV-ES but I don\u0027t have a better alternative now....","commit_id":"7c15b846ec3f1fb5b44cb8b428c19b2b6fd38f45"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"a3d2d324eb449df3e878a16fb50f6ff9353f8596","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Taketani Ryo \u003ctaketani.ryo@fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-12-17 07:45:49 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mem-enc: remove explicit SEV dependency from nova.scheduler.utils"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It would be better keep nova.scheduler.utils independent of specific"},{"line_number":10,"context_line":"mem_encryption implementations. Remove the dependency for SEV by adding"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"318e8732_a5eff87f","line":7,"range":{"start_line":7,"start_character":9,"end_line":7,"end_character":39},"in_reply_to":"354aaa9a_5525c7c7","updated":"2026-02-20 04:05:47.000000000","message":"Done","commit_id":"7c15b846ec3f1fb5b44cb8b428c19b2b6fd38f45"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"9dd08b67960f62bc1347f925f7a0318b2512945e","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Taketani Ryo \u003ctaketani.ryo@fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-12-17 07:45:49 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mem-enc: remove explicit SEV dependency from nova.scheduler.utils"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It would be better keep nova.scheduler.utils independent of specific"},{"line_number":10,"context_line":"mem_encryption implementations. Remove the dependency for SEV by adding"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"354aaa9a_5525c7c7","line":7,"range":{"start_line":7,"start_character":9,"end_line":7,"end_character":39},"in_reply_to":"bc96a3b4_fc9658c2","updated":"2026-01-07 07:06:41.000000000","message":"Updated the commit message title. This patch focuses on refactoring trait logic for extensibility.","commit_id":"7c15b846ec3f1fb5b44cb8b428c19b2b6fd38f45"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"72d8525bd5c452b9a3eb66bb8fcb51474b1299ac","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Taketani Ryo \u003ctaketani.ryo@fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-02-09 04:49:13 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mem-enc: refactor memory encryption trait logic for extensiblity"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It would be better keep nova.scheduler.utils independent of specific"},{"line_number":10,"context_line":"mem_encryption implementations. The dependency for SEV is removed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"d1ea68b6_37ea3b19","line":7,"range":{"start_line":7,"start_character":52,"end_line":7,"end_character":64},"updated":"2026-02-26 15:44:20.000000000","message":"nit: extensibility","commit_id":"1d5de1de2fe421ae2c12fca1439831b98b83554c"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"5f68070e6857529715da36e03da6a844f7103657","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Taketani Ryo \u003ctaketani.ryo@fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-02-09 04:49:13 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mem-enc: refactor memory encryption trait logic for extensiblity"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It would be better keep nova.scheduler.utils independent of specific"},{"line_number":10,"context_line":"mem_encryption implementations. The dependency for SEV is removed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"935772d8_23150030","line":7,"range":{"start_line":7,"start_character":52,"end_line":7,"end_character":64},"in_reply_to":"d1ea68b6_37ea3b19","updated":"2026-02-27 01:05:07.000000000","message":"Done","commit_id":"1d5de1de2fe421ae2c12fca1439831b98b83554c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"72d8525bd5c452b9a3eb66bb8fcb51474b1299ac","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It would be better keep nova.scheduler.utils independent of specific"},{"line_number":10,"context_line":"mem_encryption implementations. The dependency for SEV is removed"},{"line_number":11,"context_line":"by adding the required_trait property in MemEncyptionConfig."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements: blueprint generalize-sev-code"},{"line_number":14,"context_line":"Change-Id: I8a93b788fcba92aefac73a8055d06c6d18593b67"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"bdbee9b5_db77370d","line":11,"range":{"start_line":11,"start_character":41,"end_line":11,"end_character":59},"updated":"2026-02-26 15:44:20.000000000","message":"nit: MemEncryptionConfig","commit_id":"1d5de1de2fe421ae2c12fca1439831b98b83554c"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"5f68070e6857529715da36e03da6a844f7103657","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It would be better keep nova.scheduler.utils independent of specific"},{"line_number":10,"context_line":"mem_encryption implementations. The dependency for SEV is removed"},{"line_number":11,"context_line":"by adding the required_trait property in MemEncyptionConfig."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements: blueprint generalize-sev-code"},{"line_number":14,"context_line":"Change-Id: I8a93b788fcba92aefac73a8055d06c6d18593b67"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"675cd3d4_78bc9639","line":11,"range":{"start_line":11,"start_character":41,"end_line":11,"end_character":59},"in_reply_to":"bdbee9b5_db77370d","updated":"2026-02-27 01:05:07.000000000","message":"Done","commit_id":"1d5de1de2fe421ae2c12fca1439831b98b83554c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"18c66aeb2f305baf3d11dcedb3d98d20e31eed7f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9c0ce8cb_71fe12c4","updated":"2025-12-09 04:32:38.000000000","message":"recheck","commit_id":"8fdb00ebab1712eeca7357f03359ff4eb7b893ed"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4bc89131ab4637677b578e738d02ce39ef5a2dcd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d3f56ab8_4af1fa88","updated":"2026-01-17 18:32:53.000000000","message":"Clean and simple, I like the direction.","commit_id":"d6fd45bd271fcc87c5de1dc2e6e2e4a474c97922"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"71fbdb840b99f0932aa272b7092bec91df584425","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3d61b27a_1c533841","updated":"2026-02-03 17:25:30.000000000","message":"This is a straight forward patch.\nWe enhanced MemEncryptionConfig() contract and rely on the concrete class definition.\nSo this patch looks good to me.","commit_id":"d7f1a6f45199d58d62a12ff529eab6d0fb04169e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c4bf45b37f4cc9366f5181a086e20d25a3949850","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"999acc75_659736ce","updated":"2026-02-24 17:32:02.000000000","message":"recheck ceph deploy failed \n```\nRuntimeError: Failed command: /usr/bin/podman run --rm --ipc\u003dhost --stop-signal\u003dSIGTERM --net\u003dhost --entrypoint /usr/bin/ceph --init -e CONTAINER_IMAGE\u003dquay.io/ceph/ceph:v20 -e NODE_NAME\u003dnpc9499862bf0b4 -v /var/log/ceph/1dcf144f-650d-4e9c-9f5a-d46648cf114d:/var/log/ceph:z -v /tmp/ceph-tmp20wc58bq:/etc/ceph/ceph.client.admin.keyring:z -v /tmp/ceph-tmpeo_ponbx:/etc/ceph/ceph.conf:z quay.io/ceph/ceph:v20 orch set backend cephadm: Error ENOTSUP: Warning: due to ceph-mgr restart, some PG states may not be up to date\n```","commit_id":"1d5de1de2fe421ae2c12fca1439831b98b83554c"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"e170e9566d993d7bc121430301aec26d8ecc4d69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"f2c90768_e52fb769","updated":"2026-02-20 02:45:22.000000000","message":"recheck grenade-skip-level-always failed due to missing pkg resource","commit_id":"1d5de1de2fe421ae2c12fca1439831b98b83554c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"fffc05932028064b7e41aac3cf30bfefc696fd45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"3284e743_3312beb3","updated":"2026-03-19 17:54:18.000000000","message":"Still +1","commit_id":"c60728377d11a2375432194084d084e781b4fbd5"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"68a5562916fe39d18be1015750bf1e9bfcee83e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"bb853098_1e21b9fb","updated":"2026-03-09 05:13:38.000000000","message":"recheck Zuul failed due to missing config format","commit_id":"c60728377d11a2375432194084d084e781b4fbd5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d7d866c96566926a22bc348bb5951f89fd03b07f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d875454a_1f723261","updated":"2026-04-02 15:45:18.000000000","message":"recheck guest ssh timeout","commit_id":"c60728377d11a2375432194084d084e781b4fbd5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e0e0ca1b47d2b422fb0f2d2d43ad0a5bca0fdccc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"bb8ca4a7_8ff86637","updated":"2026-04-02 15:49:04.000000000","message":"yepp still good","commit_id":"c60728377d11a2375432194084d084e781b4fbd5"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"23c7effc9b15ddeb194d9a5004ef7e2e652d1eef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"93093199_8133e2c8","updated":"2026-04-14 06:45:06.000000000","message":"recheck failed to install python3-apt","commit_id":"c9e7c164543733e22983fa03589524cb4fe5ab19"}],"nova/tests/unit/virt/test_hardware.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"1b596e54a641ddeb501732f161d645a19edd9cb6","unresolved":true,"context_lines":[{"line_number":5395,"context_line":"        self.assertIs(hw.MemEncryptionConfigSev, type(me_config))"},{"line_number":5396,"context_line":"        self.assertTrue(me_config.needs_locked_memory)"},{"line_number":5397,"context_line":"        self.assertEqual(fields.MemEncryptionModel.AMD_SEV, me_config.model)"},{"line_number":5398,"context_line":"        self.assertEqual(\u0027HW_CPU_X86_AMD_SEV\u0027, me_config.required_trait)"},{"line_number":5399,"context_line":""},{"line_number":5400,"context_line":"    def test_sev_es(self):"},{"line_number":5401,"context_line":"        me_config \u003d hw.MemEncryptionConfig.create("}],"source_content_type":"text/x-python","patch_set":14,"id":"c9d5043f_b916554a","line":5398,"range":{"start_line":5398,"start_character":25,"end_line":5398,"end_character":45},"updated":"2026-04-10 13:45:08.000000000","message":"nit: you could import the os.traits variables like you did in the code, but meh.","commit_id":"c9e7c164543733e22983fa03589524cb4fe5ab19"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"23c7effc9b15ddeb194d9a5004ef7e2e652d1eef","unresolved":true,"context_lines":[{"line_number":5395,"context_line":"        self.assertIs(hw.MemEncryptionConfigSev, type(me_config))"},{"line_number":5396,"context_line":"        self.assertTrue(me_config.needs_locked_memory)"},{"line_number":5397,"context_line":"        self.assertEqual(fields.MemEncryptionModel.AMD_SEV, me_config.model)"},{"line_number":5398,"context_line":"        self.assertEqual(\u0027HW_CPU_X86_AMD_SEV\u0027, me_config.required_trait)"},{"line_number":5399,"context_line":""},{"line_number":5400,"context_line":"    def test_sev_es(self):"},{"line_number":5401,"context_line":"        me_config \u003d hw.MemEncryptionConfig.create("}],"source_content_type":"text/x-python","patch_set":14,"id":"c8d2fff2_7bbd9e1e","line":5398,"range":{"start_line":5398,"start_character":25,"end_line":5398,"end_character":45},"in_reply_to":"c9d5043f_b916554a","updated":"2026-04-14 06:45:06.000000000","message":"Thanks. I will address this in [the follow-up patch](https://review.opendev.org/c/openstack/nova/+/983278).","commit_id":"c9e7c164543733e22983fa03589524cb4fe5ab19"}],"nova/virt/hardware.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"4c3d8e5132cc7419581286593d630422f9fd3e4a","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @property"},{"line_number":66,"context_line":"    @abc.abstractmethod"},{"line_number":67,"context_line":"    def required_trait(self) -\u003e str:"},{"line_number":68,"context_line":"        pass"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def __eq__(self, other) -\u003e bool:"}],"source_content_type":"text/x-python","patch_set":5,"id":"fe082514_8b351ba7","line":67,"range":{"start_line":67,"start_character":32,"end_line":67,"end_character":35},"updated":"2026-01-05 16:35:33.000000000","message":"(side note) In the future we may want these to be a list, in case multiple traits are required, but that\u0027s just a potential future work.","commit_id":"7c15b846ec3f1fb5b44cb8b428c19b2b6fd38f45"}]}
