)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"9fd60cbc9b2a4766fb63bb33fbad3de87eac8c22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"35d4ef28_6785fe37","updated":"2025-06-13 05:08:45.000000000","message":"AttributeError: module \u0027functools\u0027 has no attribute \u0027cache\u0027\n\nfunctools.cache was added in python3.9 [1].\n\n[1] https://docs.python.org/3/library/functools.html#functools.cache","commit_id":"47e739c21766e62888a2d66cb76ac810074b3fce"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"0895f2c80a60a80b9c1e08f9c8d6cbc7c76c170e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c78657cf_62488e22","updated":"2025-06-13 16:34:05.000000000","message":"already merged on master. clean cherry-pick. LGTM.","commit_id":"a8c8c9d8ef17d5ec573e9a76cd1d14ce780684a8"}],"nova/pci/request.py":[{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"b3012b0ccd4aba7eb610a44ba13baa42c1e7207f","unresolved":true,"context_lines":[{"line_number":169,"context_line":"    _validate_required_ids(aliases)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"@functools.cache"},{"line_number":173,"context_line":"def get_alias_from_config() -\u003e Alias:"},{"line_number":174,"context_line":"    \"\"\"Parse and validate PCI aliases from the nova config."},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"aa14d75a_6c07a691","line":172,"updated":"2025-06-13 05:32:02.000000000","message":"IMO you need to use @functools.lru_cache which was introduced in python3.2 \n\n[1] https://docs.python.org/3/library/functools.html#functools.lru_cache","commit_id":"47e739c21766e62888a2d66cb76ac810074b3fce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b423fd3e28b5976f8dcd84c6d7ebe1d2c2c8139c","unresolved":false,"context_lines":[{"line_number":169,"context_line":"    _validate_required_ids(aliases)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"@functools.cache"},{"line_number":173,"context_line":"def get_alias_from_config() -\u003e Alias:"},{"line_number":174,"context_line":"    \"\"\"Parse and validate PCI aliases from the nova config."},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"15814d22_9731ead4","line":172,"in_reply_to":"aa14d75a_6c07a691","updated":"2025-06-13 08:55:50.000000000","message":"Done","commit_id":"47e739c21766e62888a2d66cb76ac810074b3fce"}]}
