)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59d8c3a0c4e3c991f7fafe64584ea176a8c640c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"cd6e4e02_7ce3d3b2","updated":"2023-01-31 15:41:05.000000000","message":"I think this is still wrong 🙈 Let me know if what I\u0027ve said is not clear","commit_id":"b58224a3323bebb59cc878a7bb892a697ef18086"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"b9d5fd8768eb7d4a4aa61fdc0d2ebd4f65715e22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d1c2ee76_0181cd35","updated":"2023-02-03 05:50:11.000000000","message":"Thanks Stephen for the review , I have addressed all the comments.","commit_id":"b58224a3323bebb59cc878a7bb892a697ef18086"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"f5032145240944eeeac4fa4fb7dcfcd8b39c17de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"acd98d29_ef8eb2b7","updated":"2023-02-13 19:34:37.000000000","message":"Can we please add a release note?","commit_id":"9a7acf39e38f59702f1193957f7ab2f2ee266e8e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0ddbde82278d2ebb1b6647736c4a72ff4342f071","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4048e7fd_a8fc6a86","updated":"2023-02-13 19:17:41.000000000","message":"Looks good now. Thanks!","commit_id":"9a7acf39e38f59702f1193957f7ab2f2ee266e8e"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"3dd64c73aa86aa53c72737c80e6ed6b129c6e5e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cbda0d97_40a12151","in_reply_to":"acd98d29_ef8eb2b7","updated":"2023-02-14 12:42:23.000000000","message":"\u003e Can we please add a release note?\nAck","commit_id":"9a7acf39e38f59702f1193957f7ab2f2ee266e8e"}],"openstack/image/v2/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b50e719ec390510c9d112de33a1cdbe757565679","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        \"task\": _task.Task"},{"line_number":46,"context_line":"    }"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d CACHE \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":"    def cache_list(self):"},{"line_number":50,"context_line":"        return self._list(_cache.Cache)"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1c855655_73cf7f1c","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":18},"updated":"2023-01-10 14:24:38.000000000","message":"Plural","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c9788484774735c30b72bfd309c31be1eab02f64","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        \"task\": _task.Task"},{"line_number":46,"context_line":"    }"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d CACHE \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":"    def cache_list(self):"},{"line_number":50,"context_line":"        return self._list(_cache.Cache)"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"77c9d936_2c17bdb5","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":18},"in_reply_to":"1c855655_73cf7f1c","updated":"2023-01-23 15:45:18.000000000","message":"Done","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b50e719ec390510c9d112de33a1cdbe757565679","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    }"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d CACHE \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":"    def cache_list(self):"},{"line_number":50,"context_line":"        return self._list(_cache.Cache)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d IMAGES \u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":1,"id":"efbd095a_dae60f9d","line":49,"range":{"start_line":49,"start_character":8,"end_line":49,"end_character":18},"updated":"2023-01-10 14:24:38.000000000","message":"We don\u0027t suffix things in the proxy layer with \u0027_list\u0027: we pluralize.\n\n  server_list -\u003e servers\n  image_list -\u003e images\n  cache_list -\u003e ?","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c9788484774735c30b72bfd309c31be1eab02f64","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    }"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d CACHE \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":"    def cache_list(self):"},{"line_number":50,"context_line":"        return self._list(_cache.Cache)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d IMAGES \u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":1,"id":"d3f15d11_e82c6fb5","line":49,"range":{"start_line":49,"start_character":8,"end_line":49,"end_character":18},"in_reply_to":"efbd095a_dae60f9d","updated":"2023-01-23 15:45:18.000000000","message":"Done","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c9788484774735c30b72bfd309c31be1eab02f64","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    }"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d CACHE MANAGEMENT\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":"    def cache(self):"},{"line_number":50,"context_line":"        return self._list(_cache.Cache)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d IMAGES \u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"5c28803f_01b1e903","line":49,"updated":"2023-01-23 15:45:18.000000000","message":"This is singular, yet you call \u0027_list\u0027. Does this return a single resource or multiple resources? Based on [1] I suspect the former, so this should call \u0027_get\u0027, right?\n\n[1] https://review.opendev.org/c/openstack/openstacksdk/+/869710/comment/4e4314ac_6f48fec1/","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59d8c3a0c4e3c991f7fafe64584ea176a8c640c4","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    }"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d CACHE MANAGEMENT\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":"    def cache(self):"},{"line_number":50,"context_line":"        return self._list(_cache.Cache)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d IMAGES \u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"d920e89a_1af35d3f","line":49,"in_reply_to":"1720e07a_b6a638a4","updated":"2023-01-31 15:41:05.000000000","message":"That\u0027s not really relevant. You use \u0027_list\u0027 if you\u0027re returning multiple resources in generator form. If you\u0027re returning a single resource, you use \u0027_get\u0027 (even if that single resource contains multiple resources). For example, consider images. \u0027images\u0027 will return a generator of images, while \u0027get_image\u0027 returns a single image. There\u0027s no way this will return a generator, right? \u0027GET /cache\u0027 returns an object, not a list of objects, yeah? If so, this should be called \u0027get_image_cache\u0027 and you should call \u0027_get\u0027 here, not \u0027_list\u0027","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"9d30d11c66b10e30f2a760d5cc2d3073d0fa090f","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    }"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d CACHE MANAGEMENT\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":"    def cache(self):"},{"line_number":50,"context_line":"        return self._list(_cache.Cache)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d IMAGES \u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"1720e07a_b6a638a4","line":49,"in_reply_to":"5c28803f_01b1e903","updated":"2023-01-31 13:29:54.000000000","message":"We are trying to retrieve the list of images in cache, hence using _list","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"b9d5fd8768eb7d4a4aa61fdc0d2ebd4f65715e22","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    }"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d CACHE MANAGEMENT\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":49,"context_line":"    def cache(self):"},{"line_number":50,"context_line":"        return self._list(_cache.Cache)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d IMAGES \u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-python","patch_set":2,"id":"35f81308_fb32545c","line":49,"in_reply_to":"d920e89a_1af35d3f","updated":"2023-02-03 05:50:11.000000000","message":"Ack","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"}],"openstack/image/v2/cache.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b50e719ec390510c9d112de33a1cdbe757565679","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    image_id  \u003d resource.Body(\u0027image_id\u0027)"},{"line_number":23,"context_line":"    hits \u003d resource.Body(\u0027hits\u0027)"},{"line_number":24,"context_line":"    last_accessed \u003d resource.Body(\u0027last_accessed\u0027)"},{"line_number":25,"context_line":"    last_modified \u003d resource.Body(\u0027last_modified\u0027)"},{"line_number":26,"context_line":"    size \u003d resource.Body(\u0027size\u0027)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"4e4314ac_6f48fec1","line":25,"updated":"2023-01-10 14:24:38.000000000","message":"These aren\u0027t top-level resource keys. If I turned on debugging, I see other they\u0027re nested inside objects in a list at \u0027cached_images\u0027.\n\n    \u003e\u003e\u003e import openstack\n    \u003e\u003e\u003e conn \u003d openstack.connect(\u0027devstack-admin\u0027)\n    \u003e\u003e\u003e openstack.enable_logging(debug\u003dTrue)\n    \u003e\u003e\u003e list(conn.image.cache_list())\n    REQ: curl -g -i -X GET http://10.0.109.180/image/v2/cache -H \"Accept: application/json\" -H \"User-Agent: openstacksdk/0.103.1 keystoneauth1/5.1.0 python-requests/2.28.1 CPython/3.8.16\" -H \"X-Auth-Token: {SHA256}fdaa7f89730756776060891d94a031f02c345ae89299e84b17cb6ae5e8c724e0\"\n    RESP: [200] Connection: close Content-Length: 197 Content-Type: application/json Date: Tue, 10 Jan 2023 14:19:53 GMT Server: Apache/2.4.52 (Ubuntu) x-openstack-request-id: req-97e29266-c101-41b3-90ec-09045b9cbe9b\n    RESP BODY: {\"cached_images\": [{\"image_id\": \"6609a3f9-cfae-46f8-84ba-90af41f0977f\", \"hits\": 3, \"last_accessed\": 1670422217.9536414, \"last_modified\": 1666777356.9363163, \"size\": 16300544}], \"queued_images\": []}\n    GET call to image for http://10.0.109.180/image/v2/cache used request id req-97e29266-c101-41b3-90ec-09045b9cbe9b\n    [openstack.image.v2.cache.Cache(location\u003dMunch({\u0027cloud\u0027: \u0027devstack-admin\u0027, \u0027region_name\u0027: \u0027RegionOne\u0027, \u0027zone\u0027: None, \u0027project\u0027: Munch({\u0027id\u0027: \u0027c4fdc1bcf30541048ca086d7332a57e3\u0027, \u0027name\u0027: \u0027admin\u0027, \u0027domain_id\u0027: \u0027default\u0027, \u0027domain_name\u0027: None})}))]\n    \nSo you want something like:\n\n  cached_images \u003d resource.Body(\u0027cached_images\u0027, type\u003dlist, list_type\u003dCachedImage)\n  queued_images \u003d resource.Body(\u0027queued_images\u0027, type\u003dlist, list_type\u003dQueuedImage)\n\nYou\u0027ll need to define the CachedImage and QueuedImage resources of course. Make sure they\u0027re read-only (don\u0027t set any of the \u0027allow_*\u0027 attributes on the class). You\u0027ll find other examples of this by grepping for \u0027list_type\u0027.","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c9788484774735c30b72bfd309c31be1eab02f64","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    image_id  \u003d resource.Body(\u0027image_id\u0027)"},{"line_number":23,"context_line":"    hits \u003d resource.Body(\u0027hits\u0027)"},{"line_number":24,"context_line":"    last_accessed \u003d resource.Body(\u0027last_accessed\u0027)"},{"line_number":25,"context_line":"    last_modified \u003d resource.Body(\u0027last_modified\u0027)"},{"line_number":26,"context_line":"    size \u003d resource.Body(\u0027size\u0027)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"30cb4074_ea3c5da5","line":25,"in_reply_to":"4e4314ac_6f48fec1","updated":"2023-01-23 15:45:18.000000000","message":"Done","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b50e719ec390510c9d112de33a1cdbe757565679","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    hits \u003d resource.Body(\u0027hits\u0027)"},{"line_number":24,"context_line":"    last_accessed \u003d resource.Body(\u0027last_accessed\u0027)"},{"line_number":25,"context_line":"    last_modified \u003d resource.Body(\u0027last_modified\u0027)"},{"line_number":26,"context_line":"    size \u003d resource.Body(\u0027size\u0027)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"c62d8c3e_147f6554","line":26,"updated":"2023-01-10 14:24:38.000000000","message":"You need to set\n\n  _max_microversion \u003d \u00272.14\u0027\n\nto ensure openstacksdk uses the correct API version, since that\u0027s when this was added apparently","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"9d30d11c66b10e30f2a760d5cc2d3073d0fa090f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    hits \u003d resource.Body(\u0027hits\u0027)"},{"line_number":24,"context_line":"    last_accessed \u003d resource.Body(\u0027last_accessed\u0027)"},{"line_number":25,"context_line":"    last_modified \u003d resource.Body(\u0027last_modified\u0027)"},{"line_number":26,"context_line":"    size \u003d resource.Body(\u0027size\u0027)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9b1be6d6_36f4d320","line":26,"in_reply_to":"9c72e4da_1787fdc3","updated":"2023-01-31 13:29:54.000000000","message":"Ack","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c9788484774735c30b72bfd309c31be1eab02f64","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    hits \u003d resource.Body(\u0027hits\u0027)"},{"line_number":24,"context_line":"    last_accessed \u003d resource.Body(\u0027last_accessed\u0027)"},{"line_number":25,"context_line":"    last_modified \u003d resource.Body(\u0027last_modified\u0027)"},{"line_number":26,"context_line":"    size \u003d resource.Body(\u0027size\u0027)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9c72e4da_1787fdc3","line":26,"in_reply_to":"c62d8c3e_147f6554","updated":"2023-01-23 15:45:18.000000000","message":"Not done yet?","commit_id":"8f5c455f624f7b124ae741b47dfd06a855a086b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c9788484774735c30b72bfd309c31be1eab02f64","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class QueuedImage(resource.Resource):"},{"line_number":26,"context_line":"    image_id \u003d resource.Body(\u0027image_id\u0027)"},{"line_number":27,"context_line":"    status \u003d \u0027queued\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class Cache(resource.Resource):"}],"source_content_type":"text/x-python","patch_set":2,"id":"0e36e76b_737a91bf","line":27,"updated":"2023-01-23 15:45:18.000000000","message":"This...doesn\u0027t look correct? I assume you meant:\n\n  status \u003d resource.Body(\u0027status\u0027)\n\n?","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59d8c3a0c4e3c991f7fafe64584ea176a8c640c4","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class QueuedImage(resource.Resource):"},{"line_number":26,"context_line":"    image_id \u003d resource.Body(\u0027image_id\u0027)"},{"line_number":27,"context_line":"    status \u003d \u0027queued\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class Cache(resource.Resource):"}],"source_content_type":"text/x-python","patch_set":2,"id":"f7a11ec4_f795350b","line":27,"in_reply_to":"040487f7_48e6d021","updated":"2023-01-31 15:41:05.000000000","message":"If this isn\u0027t an attribute, why is this even here?","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"9d30d11c66b10e30f2a760d5cc2d3073d0fa090f","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class QueuedImage(resource.Resource):"},{"line_number":26,"context_line":"    image_id \u003d resource.Body(\u0027image_id\u0027)"},{"line_number":27,"context_line":"    status \u003d \u0027queued\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class Cache(resource.Resource):"}],"source_content_type":"text/x-python","patch_set":2,"id":"040487f7_48e6d021","line":27,"in_reply_to":"0e36e76b_737a91bf","updated":"2023-01-31 13:29:54.000000000","message":"status is not present as an attribute ,hence doing it this way","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"b9d5fd8768eb7d4a4aa61fdc0d2ebd4f65715e22","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class QueuedImage(resource.Resource):"},{"line_number":26,"context_line":"    image_id \u003d resource.Body(\u0027image_id\u0027)"},{"line_number":27,"context_line":"    status \u003d \u0027queued\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class Cache(resource.Resource):"}],"source_content_type":"text/x-python","patch_set":2,"id":"2c8d107c_6f88c240","line":27,"in_reply_to":"f7a11ec4_f795350b","updated":"2023-02-03 05:50:11.000000000","message":"Ack","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59d8c3a0c4e3c991f7fafe64584ea176a8c640c4","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    cached_images \u003d resource.Body(\u0027cached_images\u0027, type\u003dlist,"},{"line_number":39,"context_line":"                                  list_type\u003dCachedImage)"},{"line_number":40,"context_line":"    queued_images \u003d resource.Body(\u0027queued_images\u0027, type\u003dlist,"},{"line_number":41,"context_line":"                                  list_type\u003dQueuedImage)"}],"source_content_type":"text/x-python","patch_set":4,"id":"09062546_574f67f5","line":41,"updated":"2023-01-31 15:41:05.000000000","message":"Wait, is queued images a list of objects or a list of image UUIDs? From the tests on the next page, it looks like the latter. If it\u0027s the latter, you don\u0027t need a QueuedImage object. Simply saying:\n\n  queued_images \u003d resource.Body(\u0027queued_images\u0027, type\u003dlist)\n\nwould be sufficient. I\u0027d assumed these were objects like \u0027cached_images\u0027.","commit_id":"b58224a3323bebb59cc878a7bb892a697ef18086"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"b9d5fd8768eb7d4a4aa61fdc0d2ebd4f65715e22","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    cached_images \u003d resource.Body(\u0027cached_images\u0027, type\u003dlist,"},{"line_number":39,"context_line":"                                  list_type\u003dCachedImage)"},{"line_number":40,"context_line":"    queued_images \u003d resource.Body(\u0027queued_images\u0027, type\u003dlist,"},{"line_number":41,"context_line":"                                  list_type\u003dQueuedImage)"}],"source_content_type":"text/x-python","patch_set":4,"id":"d2f64789_be1309a0","line":41,"in_reply_to":"09062546_574f67f5","updated":"2023-02-03 05:50:11.000000000","message":"Done","commit_id":"b58224a3323bebb59cc878a7bb892a697ef18086"}],"openstack/tests/unit/image/v2/test_cache.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c9788484774735c30b72bfd309c31be1eab02f64","unresolved":true,"context_lines":[{"line_number":22,"context_line":"         \u0027last_modified\u0027: 1671699579.444378,"},{"line_number":23,"context_line":"         \u0027size\u0027: 0},"},{"line_number":24,"context_line":"    ],"},{"line_number":25,"context_line":"    \u0027queued_images\u0027: []"},{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ae39bdcf_7a15b96b","line":25,"updated":"2023-01-23 15:45:18.000000000","message":"Can you populate this with example data to highlight the bug I highlighted.","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"9d30d11c66b10e30f2a760d5cc2d3073d0fa090f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"         \u0027last_modified\u0027: 1671699579.444378,"},{"line_number":23,"context_line":"         \u0027size\u0027: 0},"},{"line_number":24,"context_line":"    ],"},{"line_number":25,"context_line":"    \u0027queued_images\u0027: []"},{"line_number":26,"context_line":"}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"330b0204_30d4d12c","line":25,"in_reply_to":"ae39bdcf_7a15b96b","updated":"2023-01-31 13:29:54.000000000","message":"Done","commit_id":"1a445076e7daff257dfc7cc8b4f03355a8187ad9"}]}
