)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"c51d1a297a19f773f46ac57bce078bfb7a4bbe80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"123c417d_6058c725","updated":"2024-01-12 16:05:31.000000000","message":"Thank you for reviewing.","commit_id":"31ebee8fa45404cca387e8db046cbd8756c04134"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"af2fa56e887bb65683f28a7b4e83978e4ce5da16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e6a71617_f82a8858","updated":"2024-01-05 15:19:32.000000000","message":"Thanks for helping to review the code.","commit_id":"31ebee8fa45404cca387e8db046cbd8756c04134"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2f3f77fac921d1dd2c49400f621a7b6dad81894b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d06e7dca_53016c00","updated":"2024-01-12 12:11:08.000000000","message":"this looks reasonable although we should not actully need the image id for the\n\nget_mem_encryption_constraint fucntion\n\nthat should not be trying ot look up the image by id in the context fo a boot form voluem guest it should be useing the volume metadata","commit_id":"31ebee8fa45404cca387e8db046cbd8756c04134"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"e5e05993616b7027af24d338618ef9e5229b276f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4d002615_b320b771","in_reply_to":"4a8564ad_c8b4fd45","updated":"2024-01-13 07:20:33.000000000","message":"Thank you, this is a good idea. \n\"If there is no value, set it to a sentinel value we can detect later\".","commit_id":"31ebee8fa45404cca387e8db046cbd8756c04134"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"c51d1a297a19f773f46ac57bce078bfb7a4bbe80","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"76724cbe_43522ab0","in_reply_to":"4c0445f0_12284711","updated":"2024-01-12 16:05:31.000000000","message":"Hi, Sean, thank you very much for your feedback. I think there are currently three options to consider. \n1. As you said, it\u0027s not relying on image.id, but using volume metadata because it\u0027s only used for error messages.\n2. When using image.id, judge whether it exists. Just like `image_id \u003d (image_meta.id if \u0027id\u0027 in image_meta else None)`.\n3. Add id key when getting image_meta from the volume, just like this patch.\n\nWhich do you think is more reasonable, or other suggestions. Thank you.","commit_id":"31ebee8fa45404cca387e8db046cbd8756c04134"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eb263c77c5c857c3627e1c34fb328d1cc33ae8cc","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4a8564ad_c8b4fd45","in_reply_to":"76724cbe_43522ab0","updated":"2024-01-12 18:47:21.000000000","message":"we cant assume that the volume will have an image ID filed set as the volume\nmay not have been created from a glance image in all cases.\n\nSo the best approach is likely to add it as you do in the path and if there is no value set it to a sentinel value we can detect later. i.e. \u0027\u003cno id\u003e\u0027\nthat way if we have a volume we booted form that was created by manually installing an os using an iso or a volume created from a volume snapshot then we can still log \u0027\u003cno id\u003e\u0027 in the error if there is a conflict and we will log the correct id if not.\n\nthe other approach would be to detect if its boot form volume and instead of setting \"requestion is image ...\"\n\npass \"requester is volume volume uuid\" or similar where this is currently being used and causing the atirbute error.\n\nin a boot form volume case its more useful to have the volume uuid then the image uuid as the volume metadta can be updated after it was intially created form the image.","commit_id":"31ebee8fa45404cca387e8db046cbd8756c04134"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e569c518c230ffacb386b082d7275a26efed6be0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4c0445f0_12284711","in_reply_to":"d06e7dca_53016c00","updated":"2024-01-12 12:14:56.000000000","message":"we should really just fix \n\nhttps://github.com/openstack/nova/blob/fed123085d9fc2306833840326c1c6a93deba09d/nova/virt/hardware.py#L1191-L1200\n\nto not depend on the id\n\nits just used for an error message\n\nwith that said we changed to id form name in the past since id should always be present\n\nhttps://github.com/openstack/nova/commit/e98994027f0af0b22277bcfaed4ab6e6f4a2c74e\nso the content of this patch is not wrong either","commit_id":"31ebee8fa45404cca387e8db046cbd8756c04134"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"8fada8c53e3bdf7c0685337d3a778af47a6a7778","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"06e4f91f_6d544706","updated":"2024-01-22 13:55:07.000000000","message":"Hi, Sean. You can look at this again when you have time. Thank you.","commit_id":"364977e7516d1d676e82c5543e8f7afecf0889bc"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"68cb69f90560d2f97f19e3e9a7c6c35aacbcc4c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"60f7bc2c_2b915e98","updated":"2024-07-14 13:16:29.000000000","message":"Hello, everyone. Can you have a look at this code when you are free? I really appreciate any feedback or suggestions. Thank you very much.","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"d0923c957616b1c7132342198bf0ad31ae2cf6fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"11be20bd_67a040b2","updated":"2024-04-26 15:14:44.000000000","message":"Hi, could you please review this code when you have a moment? I would really appreciate any feedback or suggestions. Thank you very much!","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"edd8f135f99304697dbdf8a8055de19ed86e37ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"2d9da591_b957c7ba","updated":"2024-02-15 11:51:40.000000000","message":"Hi, sean. Could you please check if the workflow works when you have a moment? Thank you.","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"80d350efd78bf9c35403f613d6d2a735fc1ed15a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b0d0bf06_2a3cedab","updated":"2024-07-15 21:15:04.000000000","message":"This looks OK to me, thanks!","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"3cc5654159f0971bd3745c70e850f9a570569c75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"183d9f2e_b7b949bd","updated":"2024-07-16 03:37:59.000000000","message":"recheck","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"}],"nova/tests/unit/virt/test_hardware.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d7f010ff1570feaaec06df30d9f786d911c49c6b","unresolved":true,"context_lines":[{"line_number":5606,"context_line":"        mock_log.debug.assert_has_calls(["},{"line_number":5607,"context_line":"            mock.call(\"Memory encryption requested by %s\", requesters)"},{"line_number":5608,"context_line":"        ])"},{"line_number":5609,"context_line":""},{"line_number":5610,"context_line":""},{"line_number":5611,"context_line":"class PCINUMAAffinityPolicyTest(test.NoDBTestCase):"},{"line_number":5612,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"dcdbc98d_cf5e78a0","line":5609,"updated":"2024-01-24 11:16:12.000000000","message":"+1","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"cdfdf7eef0d5f244d5acb30020ba23c73b341abe","unresolved":true,"context_lines":[{"line_number":5606,"context_line":"        mock_log.debug.assert_has_calls(["},{"line_number":5607,"context_line":"            mock.call(\"Memory encryption requested by %s\", requesters)"},{"line_number":5608,"context_line":"        ])"},{"line_number":5609,"context_line":""},{"line_number":5610,"context_line":""},{"line_number":5611,"context_line":"class PCINUMAAffinityPolicyTest(test.NoDBTestCase):"},{"line_number":5612,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1cf3b8d0_52a6f927","line":5609,"updated":"2024-01-24 12:13:05.000000000","message":"Hi Sean, thanks for your review. \nCould you tell me what this +1 means? Thank you.","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"121c68105baea8dc6660eb9157165ff2a0b32905","unresolved":false,"context_lines":[{"line_number":5606,"context_line":"        mock_log.debug.assert_has_calls(["},{"line_number":5607,"context_line":"            mock.call(\"Memory encryption requested by %s\", requesters)"},{"line_number":5608,"context_line":"        ])"},{"line_number":5609,"context_line":""},{"line_number":5610,"context_line":""},{"line_number":5611,"context_line":"class PCINUMAAffinityPolicyTest(test.NoDBTestCase):"},{"line_number":5612,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"98ee05f1_527cfcd8","line":5609,"in_reply_to":"1cf3b8d0_52a6f927","updated":"2024-01-31 08:52:35.000000000","message":"Done","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"80d350efd78bf9c35403f613d6d2a735fc1ed15a","unresolved":false,"context_lines":[{"line_number":5606,"context_line":"        mock_log.debug.assert_has_calls(["},{"line_number":5607,"context_line":"            mock.call(\"Memory encryption requested by %s\", requesters)"},{"line_number":5608,"context_line":"        ])"},{"line_number":5609,"context_line":""},{"line_number":5610,"context_line":""},{"line_number":5611,"context_line":"class PCINUMAAffinityPolicyTest(test.NoDBTestCase):"},{"line_number":5612,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"36f41cdf_36727b0e","line":5609,"in_reply_to":"be206098_49fdde35","updated":"2024-07-15 21:15:04.000000000","message":"Note to self: this test is verifying that we log a message with \"\u003cno-id\u003e\" in it for the case of a volume backed instance, whereas the earlier tests are verifying that the expected error and message are raised.","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"},{"author":{"_account_id":36642,"name":"songjie","display_name":"Jie Song","email":"songjie_yewu@cmss.chinamobile.com","username":"songjie"},"change_message_id":"121c68105baea8dc6660eb9157165ff2a0b32905","unresolved":false,"context_lines":[{"line_number":5606,"context_line":"        mock_log.debug.assert_has_calls(["},{"line_number":5607,"context_line":"            mock.call(\"Memory encryption requested by %s\", requesters)"},{"line_number":5608,"context_line":"        ])"},{"line_number":5609,"context_line":""},{"line_number":5610,"context_line":""},{"line_number":5611,"context_line":"class PCINUMAAffinityPolicyTest(test.NoDBTestCase):"},{"line_number":5612,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"be206098_49fdde35","line":5609,"in_reply_to":"dcdbc98d_cf5e78a0","updated":"2024-01-31 08:52:35.000000000","message":"Done","commit_id":"e6f8bf5ff5c0a7ae811e4635e947d58e60d13c06"}],"nova/virt/hardware.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"962b05b92a681f0cfa1440da57d532e20c3eb7f5","unresolved":true,"context_lines":[{"line_number":1203,"context_line":"        image_id \u003d (image_meta.id if \u0027id\u0027 in image_meta else \u0027\u003cno-id\u003e\u0027)"},{"line_number":1204,"context_line":"        requesters.append(\"hw_mem_encryption property of image %s\" %"},{"line_number":1205,"context_line":"                          image_id)"},{"line_number":1206,"context_line":""},{"line_number":1207,"context_line":"    _check_mem_encryption_uses_uefi_image(requesters, image_meta)"},{"line_number":1208,"context_line":"    _check_mem_encryption_machine_type(image_meta, machine_type)"},{"line_number":1209,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"687e0e9c_0c41993b","line":1206,"updated":"2024-01-22 14:45:20.000000000","message":"so this will mitigate the current problem\n\nat some point we  shoudl refactor this code to eihter pass a volume or instance object so that we can detect if its boot form volume and log a diffent message \nwith the volume id when we fail for boot form volume instnaces.\n\nthat is out of scope of thei change but can you add unit test coverage for this?\n\ni.e. assert when we invoke this with a bfv instance the message contains \u003cno-id\u003e","commit_id":"364977e7516d1d676e82c5543e8f7afecf0889bc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d7f010ff1570feaaec06df30d9f786d911c49c6b","unresolved":false,"context_lines":[{"line_number":1203,"context_line":"        image_id \u003d (image_meta.id if \u0027id\u0027 in image_meta else \u0027\u003cno-id\u003e\u0027)"},{"line_number":1204,"context_line":"        requesters.append(\"hw_mem_encryption property of image %s\" %"},{"line_number":1205,"context_line":"                          image_id)"},{"line_number":1206,"context_line":""},{"line_number":1207,"context_line":"    _check_mem_encryption_uses_uefi_image(requesters, image_meta)"},{"line_number":1208,"context_line":"    _check_mem_encryption_machine_type(image_meta, machine_type)"},{"line_number":1209,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a45bbc0_14673613","line":1206,"in_reply_to":"687e0e9c_0c41993b","updated":"2024-01-24 11:16:12.000000000","message":"Done","commit_id":"364977e7516d1d676e82c5543e8f7afecf0889bc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"962b05b92a681f0cfa1440da57d532e20c3eb7f5","unresolved":true,"context_lines":[{"line_number":1287,"context_line":"        raise exception.InvalidMachineType("},{"line_number":1288,"context_line":"            mtype\u003dmach_type,"},{"line_number":1289,"context_line":"            image_id\u003dimage_id, image_name\u003dimage_name,"},{"line_number":1290,"context_line":"            reason\u003d_(\"q35 type is required for SEV to work\"))"},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":""},{"line_number":1293,"context_line":"def _get_numa_pagesize_constraint("}],"source_content_type":"text/x-python","patch_set":4,"id":"e32d0e80_9c79d31c","line":1290,"updated":"2024-01-22 14:45:20.000000000","message":"and here also we need to unit test this to assert teh raise expction has \u003cno-id\u003e or image_meta.id based on if it is present in the passed in image_meta","commit_id":"364977e7516d1d676e82c5543e8f7afecf0889bc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d7f010ff1570feaaec06df30d9f786d911c49c6b","unresolved":false,"context_lines":[{"line_number":1287,"context_line":"        raise exception.InvalidMachineType("},{"line_number":1288,"context_line":"            mtype\u003dmach_type,"},{"line_number":1289,"context_line":"            image_id\u003dimage_id, image_name\u003dimage_name,"},{"line_number":1290,"context_line":"            reason\u003d_(\"q35 type is required for SEV to work\"))"},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":""},{"line_number":1293,"context_line":"def _get_numa_pagesize_constraint("}],"source_content_type":"text/x-python","patch_set":4,"id":"da9ccdf9_4c18782c","line":1290,"in_reply_to":"e32d0e80_9c79d31c","updated":"2024-01-24 11:16:12.000000000","message":"Done","commit_id":"364977e7516d1d676e82c5543e8f7afecf0889bc"}]}
