)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f09bddee25dd9a2bcfa2e6c7a00b037dc88a11fa","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding image stores info command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is an equivalent for ``glance stores info``."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-on: https://review.opendev.org/c/openstack/openstacksdk/+/883493"},{"line_number":12,"context_line":"Change-Id: I15d2c2c523ace1cfb32045328ecee8ce8beea63f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fe5a454a_df1c222a","line":9,"range":{"start_line":9,"start_character":35,"end_line":9,"end_character":46},"updated":"2023-05-18 14:55:15.000000000","message":"stores-info\n\n(missing hyphen)","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9d0982a081b75272b9a1125c4b21b3b21e94c1ed","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding image stores info command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is an equivalent for ``glance stores info``."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-on: https://review.opendev.org/c/openstack/openstacksdk/+/883493"},{"line_number":12,"context_line":"Change-Id: I15d2c2c523ace1cfb32045328ecee8ce8beea63f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"c04d7636_20686693","line":9,"range":{"start_line":9,"start_character":35,"end_line":9,"end_character":46},"in_reply_to":"fe5a454a_df1c222a","updated":"2023-07-17 11:04:29.000000000","message":"Done","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5e112a32a6f7a1cf1cbf6e9f5c0b467d3713fbd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b379e3dc_4299557b","updated":"2023-08-08 15:43:19.000000000","message":"Nitpicking a bit :)","commit_id":"64d827cfa6fdf6bdc1d811b9f60b74c502f18698"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"87ae245bd323f00775fe0e64f5e564fd574d6d49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d5b3fb8c_a3c9c400","updated":"2023-08-08 16:54:57.000000000","message":"Thanks for the review!","commit_id":"64d827cfa6fdf6bdc1d811b9f60b74c502f18698"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91c264dfb7f6cfdbe18a90488eb32b9ca811af38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"43f1181f_4303cc76","updated":"2023-08-09 17:32:18.000000000","message":"Two comments and a nit in there. Otherwise this looks good to me","commit_id":"e4ffed2ec3cb1608f5c47a80a442b3485ad20462"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7781bd17443d923fbf35b11c4c77dab28401d66d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"439bb108_b2d8290e","updated":"2023-08-10 10:04:09.000000000","message":"Another nit inline but that can be fixed with a follow-up","commit_id":"18a6199ed0dc9d173ff18302b85615143077a887"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6c102ac7afeac6a9b5b7f40470aa501197fd267c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f24b90fb_a079c056","updated":"2023-08-10 14:51:13.000000000","message":"Looks good, agree on follow-up fix","commit_id":"18a6199ed0dc9d173ff18302b85615143077a887"}],"openstackclient/image/v2/image.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f09bddee25dd9a2bcfa2e6c7a00b037dc88a11fa","unresolved":true,"context_lines":[{"line_number":1820,"context_line":"        return zip(*sorted(info.items()))"},{"line_number":1821,"context_line":""},{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.ShowOne):"},{"line_number":1824,"context_line":"    _description \u003d _(\"Get available backends\")"},{"line_number":1825,"context_line":""},{"line_number":1826,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9671092b_b60467ad","line":1823,"updated":"2023-05-18 14:55:15.000000000","message":"This is the wrong type of command. You\u0027re listing stores so you want \u0027command.Lister\u0027. That\u0027ll give output like so (without the \u0027--detail\u0027 option):\n\n    +-----------------+-------------------------------+---------+\n    | ID              | Description                   | Default |\n    +-----------------+-------------------------------+---------+\n    | default_backend | Default glance store backend. | True    |\n    +-----------------+-------------------------------+---------+","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9d0982a081b75272b9a1125c4b21b3b21e94c1ed","unresolved":true,"context_lines":[{"line_number":1820,"context_line":"        return zip(*sorted(info.items()))"},{"line_number":1821,"context_line":""},{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.ShowOne):"},{"line_number":1824,"context_line":"    _description \u003d _(\"Get available backends\")"},{"line_number":1825,"context_line":""},{"line_number":1826,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"546da51e_11a55f81","line":1823,"in_reply_to":"50ad9b12_c181c3e9","updated":"2023-07-17 11:04:29.000000000","message":"As noted on that SDK review, matching output of glanceclient and openstackclient is a non-goal.","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"4eeac0516426d37acab71bd0f7d7994bfd0275fe","unresolved":false,"context_lines":[{"line_number":1820,"context_line":"        return zip(*sorted(info.items()))"},{"line_number":1821,"context_line":""},{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.ShowOne):"},{"line_number":1824,"context_line":"    _description \u003d _(\"Get available backends\")"},{"line_number":1825,"context_line":""},{"line_number":1826,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"aedff706_fc92d58b","line":1823,"in_reply_to":"546da51e_11a55f81","updated":"2023-08-01 09:42:37.000000000","message":"Ack","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"6cc5c4804b6131d3b6e0679215b82e2a3e17c570","unresolved":true,"context_lines":[{"line_number":1820,"context_line":"        return zip(*sorted(info.items()))"},{"line_number":1821,"context_line":""},{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.ShowOne):"},{"line_number":1824,"context_line":"    _description \u003d _(\"Get available backends\")"},{"line_number":1825,"context_line":""},{"line_number":1826,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"50ad9b12_c181c3e9","line":1823,"in_reply_to":"9671092b_b60467ad","updated":"2023-07-11 07:54:33.000000000","message":"This is not giving the same output as we are expecting (similar as we have in glance client)\nSo to make it consistent with glanceclient , the sdk side code has also been modified.\nhttps://review.opendev.org/c/openstack/openstacksdk/+/883493","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b6543ab912f567fe546658495484ca61783516d1","unresolved":true,"context_lines":[{"line_number":1821,"context_line":""},{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.ShowOne):"},{"line_number":1824,"context_line":"    _description \u003d _(\"Get available backends\")"},{"line_number":1825,"context_line":""},{"line_number":1826,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1827,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"864b3faf_f89ffdca","line":1824,"updated":"2023-05-18 14:56:09.000000000","message":"You need a note that this is only valid if multi-backend support is enabled.","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"6cc5c4804b6131d3b6e0679215b82e2a3e17c570","unresolved":false,"context_lines":[{"line_number":1821,"context_line":""},{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.ShowOne):"},{"line_number":1824,"context_line":"    _description \u003d _(\"Get available backends\")"},{"line_number":1825,"context_line":""},{"line_number":1826,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1827,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"47c76578_2743e998","line":1824,"in_reply_to":"864b3faf_f89ffdca","updated":"2023-07-11 07:54:33.000000000","message":"Ack","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f09bddee25dd9a2bcfa2e6c7a00b037dc88a11fa","unresolved":true,"context_lines":[{"line_number":1829,"context_line":"            \"--detail\","},{"line_number":1830,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1831,"context_line":"            default\u003dFalse,"},{"line_number":1832,"context_line":"            help\u003d_(\u0027Shows details of stores. Admin only.\u0027),"},{"line_number":1833,"context_line":"        )"},{"line_number":1834,"context_line":"        return parser"},{"line_number":1835,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bc07d194_a925cdaf","line":1832,"range":{"start_line":1832,"start_character":43,"end_line":1832,"end_character":56},"updated":"2023-05-18 14:55:15.000000000","message":"nit:\n\n    Show details of stores (admin only)\n\nAlso, does this work? I keep getting HTTP 404 when I try.\n\nLater: Ah, wait: this was introduced in Yoga [1] which is why I\u0027m not seeing it locally (I\u0027m using an OSP 16.2 cluster). Can you call out that this needs API version 2.15.\n\n    Show details of stores (admin only)\n    (requires --os-image-api-version 2.15 or later)\n\nand add a check for this API version?\n\n[1] https://github.com/openstack/glance/commit/a34764ecac0ab0c3dc8ecd2d923e05ee2275b72b","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"6cc5c4804b6131d3b6e0679215b82e2a3e17c570","unresolved":false,"context_lines":[{"line_number":1829,"context_line":"            \"--detail\","},{"line_number":1830,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1831,"context_line":"            default\u003dFalse,"},{"line_number":1832,"context_line":"            help\u003d_(\u0027Shows details of stores. Admin only.\u0027),"},{"line_number":1833,"context_line":"        )"},{"line_number":1834,"context_line":"        return parser"},{"line_number":1835,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"b68b7afe_8484795a","line":1832,"range":{"start_line":1832,"start_character":43,"end_line":1832,"end_character":56},"in_reply_to":"bc07d194_a925cdaf","updated":"2023-07-11 07:54:33.000000000","message":"Ack","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f09bddee25dd9a2bcfa2e6c7a00b037dc88a11fa","unresolved":true,"context_lines":[{"line_number":1837,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":1838,"context_line":"        try:"},{"line_number":1839,"context_line":"            if parsed_args.detail:"},{"line_number":1840,"context_line":"                stores_info \u003d dict(image_client.get_stores_info(details\u003dTrue))"},{"line_number":1841,"context_line":"            else:"},{"line_number":1842,"context_line":"                stores_info \u003d dict(image_client.get_stores_info())"},{"line_number":1843,"context_line":"        except sdk_exceptions.ResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":1,"id":"2be3ef29_8c034ace","line":1840,"range":{"start_line":1840,"start_character":48,"end_line":1840,"end_character":63},"updated":"2023-05-18 14:55:15.000000000","message":"This doesn\u0027t exist. You\u0027re looking for \u0027stores\u0027 I think [1].\n\nAlso, you can\u0027t rely on \u0027dict\u0027 because it\u0027ll return fields you don\u0027t want. Explicitly list the fields you want to show by way of a columns variable and then call \u0027utils.get_item_properties\u0027. There are lots of examples of this in the codebase.\n\n[1] https://github.com/openstack/openstacksdk/blob/18fbd8c73991a789f9f30e248b87357e0df42395/openstack/image/v2/_proxy.py#L1611-L1619","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"6cc5c4804b6131d3b6e0679215b82e2a3e17c570","unresolved":true,"context_lines":[{"line_number":1837,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":1838,"context_line":"        try:"},{"line_number":1839,"context_line":"            if parsed_args.detail:"},{"line_number":1840,"context_line":"                stores_info \u003d dict(image_client.get_stores_info(details\u003dTrue))"},{"line_number":1841,"context_line":"            else:"},{"line_number":1842,"context_line":"                stores_info \u003d dict(image_client.get_stores_info())"},{"line_number":1843,"context_line":"        except sdk_exceptions.ResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":1,"id":"78357a00_3182ecbc","line":1840,"range":{"start_line":1840,"start_character":48,"end_line":1840,"end_character":63},"in_reply_to":"2be3ef29_8c034ace","updated":"2023-07-11 07:54:33.000000000","message":"I have modified the SDK side code[1], to make it produce results similar to glance client \n\n[1]\nhttps://review.opendev.org/c/openstack/openstacksdk/+/883493","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91c264dfb7f6cfdbe18a90488eb32b9ca811af38","unresolved":false,"context_lines":[{"line_number":1837,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":1838,"context_line":"        try:"},{"line_number":1839,"context_line":"            if parsed_args.detail:"},{"line_number":1840,"context_line":"                stores_info \u003d dict(image_client.get_stores_info(details\u003dTrue))"},{"line_number":1841,"context_line":"            else:"},{"line_number":1842,"context_line":"                stores_info \u003d dict(image_client.get_stores_info())"},{"line_number":1843,"context_line":"        except sdk_exceptions.ResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":1,"id":"47b2932b_bafd1753","line":1840,"range":{"start_line":1840,"start_character":48,"end_line":1840,"end_character":63},"in_reply_to":"78357a00_3182ecbc","updated":"2023-08-09 17:32:18.000000000","message":"We got to the bottom of this","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9d0982a081b75272b9a1125c4b21b3b21e94c1ed","unresolved":true,"context_lines":[{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.ShowOne):"},{"line_number":1824,"context_line":"    _description \u003d _("},{"line_number":1825,"context_line":"        \"Get available backends\" \"(only valid with Multi-Backend support\""},{"line_number":1826,"context_line":"    )"},{"line_number":1827,"context_line":""},{"line_number":1828,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"a749a4ea_2e398070","line":1825,"range":{"start_line":1825,"start_character":31,"end_line":1825,"end_character":34},"updated":"2023-07-17 11:04:29.000000000","message":"whoops","commit_id":"586c4b3dcb4575945f4bd9f6be7ed721717a1611"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"4eeac0516426d37acab71bd0f7d7994bfd0275fe","unresolved":false,"context_lines":[{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.ShowOne):"},{"line_number":1824,"context_line":"    _description \u003d _("},{"line_number":1825,"context_line":"        \"Get available backends\" \"(only valid with Multi-Backend support\""},{"line_number":1826,"context_line":"    )"},{"line_number":1827,"context_line":""},{"line_number":1828,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"772a1725_10747467","line":1825,"range":{"start_line":1825,"start_character":31,"end_line":1825,"end_character":34},"in_reply_to":"a749a4ea_2e398070","updated":"2023-08-01 09:42:37.000000000","message":"Done","commit_id":"586c4b3dcb4575945f4bd9f6be7ed721717a1611"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5cac055404d5d9c6fa9b278cf92a3e7bb3c766e8","unresolved":true,"context_lines":[{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.Lister):"},{"line_number":1824,"context_line":"    _description \u003d _("},{"line_number":1825,"context_line":"        \"Get available backends\" \"(only valid with Multi-Backend support\""},{"line_number":1826,"context_line":"    )"},{"line_number":1827,"context_line":""},{"line_number":1828,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"2e35e4be_24903ba3","line":1825,"range":{"start_line":1825,"start_character":34,"end_line":1825,"end_character":35},"updated":"2023-07-31 18:04:04.000000000","message":"I think you forgot to address Stephen\u0027s comment: please remove the extra quotation marks.","commit_id":"57559823bff6d75645e29659432b45894053b0fd"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"4eeac0516426d37acab71bd0f7d7994bfd0275fe","unresolved":false,"context_lines":[{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":"class StoresInfo(command.Lister):"},{"line_number":1824,"context_line":"    _description \u003d _("},{"line_number":1825,"context_line":"        \"Get available backends\" \"(only valid with Multi-Backend support\""},{"line_number":1826,"context_line":"    )"},{"line_number":1827,"context_line":""},{"line_number":1828,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"61402bda_41f8115a","line":1825,"range":{"start_line":1825,"start_character":34,"end_line":1825,"end_character":35},"in_reply_to":"2e35e4be_24903ba3","updated":"2023-08-01 09:42:37.000000000","message":"Done","commit_id":"57559823bff6d75645e29659432b45894053b0fd"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5e112a32a6f7a1cf1cbf6e9f5c0b467d3713fbd4","unresolved":true,"context_lines":[{"line_number":1848,"context_line":"            else:"},{"line_number":1849,"context_line":"                columns \u003d (\"id\", \"description\", \"is_default\")"},{"line_number":1850,"context_line":"                column_headers \u003d (\"ID\", \"Description\", \"Default\")"},{"line_number":1851,"context_line":"                data \u003d list(image_client.stores())"},{"line_number":1852,"context_line":""},{"line_number":1853,"context_line":"        except sdk_exceptions.ResourceNotFound:"},{"line_number":1854,"context_line":"            msg \u003d _(\u0027Multi Backend support not enabled\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"c440c160_31aa5845","line":1851,"range":{"start_line":1851,"start_character":0,"end_line":1851,"end_character":50},"updated":"2023-08-08 15:43:19.000000000","message":"Remove the blank line.","commit_id":"64d827cfa6fdf6bdc1d811b9f60b74c502f18698"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"87ae245bd323f00775fe0e64f5e564fd574d6d49","unresolved":false,"context_lines":[{"line_number":1848,"context_line":"            else:"},{"line_number":1849,"context_line":"                columns \u003d (\"id\", \"description\", \"is_default\")"},{"line_number":1850,"context_line":"                column_headers \u003d (\"ID\", \"Description\", \"Default\")"},{"line_number":1851,"context_line":"                data \u003d list(image_client.stores())"},{"line_number":1852,"context_line":""},{"line_number":1853,"context_line":"        except sdk_exceptions.ResourceNotFound:"},{"line_number":1854,"context_line":"            msg \u003d _(\u0027Multi Backend support not enabled\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"08b1ec80_c6eee022","line":1851,"range":{"start_line":1851,"start_character":0,"end_line":1851,"end_character":50},"in_reply_to":"c440c160_31aa5845","updated":"2023-08-08 16:54:57.000000000","message":"Done","commit_id":"64d827cfa6fdf6bdc1d811b9f60b74c502f18698"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5e112a32a6f7a1cf1cbf6e9f5c0b467d3713fbd4","unresolved":true,"context_lines":[{"line_number":1854,"context_line":"            msg \u003d _(\u0027Multi Backend support not enabled\u0027)"},{"line_number":1855,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":1856,"context_line":""},{"line_number":1857,"context_line":"        else:"},{"line_number":1858,"context_line":"            return ("},{"line_number":1859,"context_line":"                column_headers,"},{"line_number":1860,"context_line":"                ("}],"source_content_type":"text/x-python","patch_set":7,"id":"0c36cdd4_2884b896","line":1857,"range":{"start_line":1857,"start_character":8,"end_line":1857,"end_character":12},"updated":"2023-08-08 15:43:19.000000000","message":"Remove the blank line.","commit_id":"64d827cfa6fdf6bdc1d811b9f60b74c502f18698"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"87ae245bd323f00775fe0e64f5e564fd574d6d49","unresolved":false,"context_lines":[{"line_number":1854,"context_line":"            msg \u003d _(\u0027Multi Backend support not enabled\u0027)"},{"line_number":1855,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":1856,"context_line":""},{"line_number":1857,"context_line":"        else:"},{"line_number":1858,"context_line":"            return ("},{"line_number":1859,"context_line":"                column_headers,"},{"line_number":1860,"context_line":"                ("}],"source_content_type":"text/x-python","patch_set":7,"id":"1f0f7a58_e0adbcd2","line":1857,"range":{"start_line":1857,"start_character":8,"end_line":1857,"end_character":12},"in_reply_to":"0c36cdd4_2884b896","updated":"2023-08-08 16:54:57.000000000","message":"Done","commit_id":"64d827cfa6fdf6bdc1d811b9f60b74c502f18698"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5e112a32a6f7a1cf1cbf6e9f5c0b467d3713fbd4","unresolved":true,"context_lines":[{"line_number":1863,"context_line":"                        columns,"},{"line_number":1864,"context_line":"                        formatters\u003d_formatters,"},{"line_number":1865,"context_line":"                    )"},{"line_number":1866,"context_line":"                    for s in data"},{"line_number":1867,"context_line":"                ),"},{"line_number":1868,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":7,"id":"b4b9a218_4c24f01f","line":1866,"range":{"start_line":1866,"start_character":26,"end_line":1866,"end_character":28},"updated":"2023-08-08 15:43:19.000000000","message":"Why not \"for store in data\"? This would be a better variable name.","commit_id":"64d827cfa6fdf6bdc1d811b9f60b74c502f18698"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"87ae245bd323f00775fe0e64f5e564fd574d6d49","unresolved":false,"context_lines":[{"line_number":1863,"context_line":"                        columns,"},{"line_number":1864,"context_line":"                        formatters\u003d_formatters,"},{"line_number":1865,"context_line":"                    )"},{"line_number":1866,"context_line":"                    for s in data"},{"line_number":1867,"context_line":"                ),"},{"line_number":1868,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":7,"id":"a443bb54_fcb30e89","line":1866,"range":{"start_line":1866,"start_character":26,"end_line":1866,"end_character":28},"in_reply_to":"b4b9a218_4c24f01f","updated":"2023-08-08 16:54:57.000000000","message":"Done","commit_id":"64d827cfa6fdf6bdc1d811b9f60b74c502f18698"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91c264dfb7f6cfdbe18a90488eb32b9ca811af38","unresolved":true,"context_lines":[{"line_number":1828,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1829,"context_line":"        parser \u003d super().get_parser(prog_name)"},{"line_number":1830,"context_line":"        parser.add_argument("},{"line_number":1831,"context_line":"            \"--detail\","},{"line_number":1832,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1833,"context_line":"            default\u003dFalse,"},{"line_number":1834,"context_line":"            help\u003d_("}],"source_content_type":"text/x-python","patch_set":8,"id":"c5608e6d_a28b41a0","line":1831,"updated":"2023-08-09 17:32:18.000000000","message":"We generally use `--long` for this:\n\n```\nparser.add_argument(\n    \u0027--long\u0027,\n    action\u003d\u0027store_true\u0027,\n    default\u003dFalse,\n    help\u003d_(\n        \u0027List additional fields in output (admin only) \u0027\n        \u0027(requires --os-image-api-version 2.15 or later)\u0027\n    ),\n)\n```","commit_id":"e4ffed2ec3cb1608f5c47a80a442b3485ad20462"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"4f7b1bca5236929176c8b61972199b1de9273ed3","unresolved":true,"context_lines":[{"line_number":1828,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1829,"context_line":"        parser \u003d super().get_parser(prog_name)"},{"line_number":1830,"context_line":"        parser.add_argument("},{"line_number":1831,"context_line":"            \"--detail\","},{"line_number":1832,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1833,"context_line":"            default\u003dFalse,"},{"line_number":1834,"context_line":"            help\u003d_("}],"source_content_type":"text/x-python","patch_set":8,"id":"822e4676_fb32fada","line":1831,"in_reply_to":"c5608e6d_a28b41a0","updated":"2023-08-10 08:00:32.000000000","message":"Ack, but I think --detail is more relatable for this.","commit_id":"e4ffed2ec3cb1608f5c47a80a442b3485ad20462"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91c264dfb7f6cfdbe18a90488eb32b9ca811af38","unresolved":true,"context_lines":[{"line_number":1832,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1833,"context_line":"            default\u003dFalse,"},{"line_number":1834,"context_line":"            help\u003d_("},{"line_number":1835,"context_line":"                \u0027Shows details of stores (admin only)\u0027"},{"line_number":1836,"context_line":"                \u0027(requires --os-image-api-version 2.15 or later)\u0027"},{"line_number":1837,"context_line":"            ),"},{"line_number":1838,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"079ca5b3_0b980638","line":1835,"updated":"2023-08-09 17:32:18.000000000","message":"missing trailing space","commit_id":"e4ffed2ec3cb1608f5c47a80a442b3485ad20462"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"4f7b1bca5236929176c8b61972199b1de9273ed3","unresolved":false,"context_lines":[{"line_number":1832,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1833,"context_line":"            default\u003dFalse,"},{"line_number":1834,"context_line":"            help\u003d_("},{"line_number":1835,"context_line":"                \u0027Shows details of stores (admin only)\u0027"},{"line_number":1836,"context_line":"                \u0027(requires --os-image-api-version 2.15 or later)\u0027"},{"line_number":1837,"context_line":"            ),"},{"line_number":1838,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"b83183f5_2253b131","line":1835,"in_reply_to":"079ca5b3_0b980638","updated":"2023-08-10 08:00:32.000000000","message":"Done","commit_id":"e4ffed2ec3cb1608f5c47a80a442b3485ad20462"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91c264dfb7f6cfdbe18a90488eb32b9ca811af38","unresolved":true,"context_lines":[{"line_number":1843,"context_line":"        try:"},{"line_number":1844,"context_line":"            if parsed_args.detail:"},{"line_number":1845,"context_line":"                columns \u003d (\"id\", \"description\", \"is_default\", \"properties\")"},{"line_number":1846,"context_line":"                column_headers \u003d (\"ID\", \"Description\", \"Default\", \"Properties\")"},{"line_number":1847,"context_line":"                data \u003d list(image_client.stores(details\u003dparsed_args.detail))"},{"line_number":1848,"context_line":"            else:"},{"line_number":1849,"context_line":"                columns \u003d (\"id\", \"description\", \"is_default\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"e88772a6_88cbe0ed","line":1846,"updated":"2023-08-09 17:32:18.000000000","message":"Rather than doing this, you could simplify things somewhat:\n\n```\ncolumns \u003d (\"id\", \"description\", \"is_default\")\ncolumn_headers \u003d (\"ID\", \"Description\", \"Default\")\nif parsed_args.detail:\n    columns +\u003d (\"properties\",)\n    column_headers +\u003d (\"Properties\",)\n\ndata \u003d list(image_client.stores(details\u003dparsed_args.detail))\n```\n\nYou should also set the default for the `--detail`/`--long` parameter to `None` so we don\u0027t errantly pass a `False` value on older microversions.","commit_id":"e4ffed2ec3cb1608f5c47a80a442b3485ad20462"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"4f7b1bca5236929176c8b61972199b1de9273ed3","unresolved":false,"context_lines":[{"line_number":1843,"context_line":"        try:"},{"line_number":1844,"context_line":"            if parsed_args.detail:"},{"line_number":1845,"context_line":"                columns \u003d (\"id\", \"description\", \"is_default\", \"properties\")"},{"line_number":1846,"context_line":"                column_headers \u003d (\"ID\", \"Description\", \"Default\", \"Properties\")"},{"line_number":1847,"context_line":"                data \u003d list(image_client.stores(details\u003dparsed_args.detail))"},{"line_number":1848,"context_line":"            else:"},{"line_number":1849,"context_line":"                columns \u003d (\"id\", \"description\", \"is_default\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"65269a34_844d48e5","line":1846,"in_reply_to":"e88772a6_88cbe0ed","updated":"2023-08-10 08:00:32.000000000","message":"Done","commit_id":"e4ffed2ec3cb1608f5c47a80a442b3485ad20462"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7781bd17443d923fbf35b11c4c77dab28401d66d","unresolved":true,"context_lines":[{"line_number":1863,"context_line":"            column_headers \u003d (\"ID\", \"Description\", \"Default\")"},{"line_number":1864,"context_line":"            if parsed_args.detail:"},{"line_number":1865,"context_line":"                columns +\u003d (\"properties\",)"},{"line_number":1866,"context_line":"                column_headers +\u003d (\"Properties\",)"},{"line_number":1867,"context_line":""},{"line_number":1868,"context_line":"            data \u003d list(image_client.stores(details\u003dparsed_args.detail))"},{"line_number":1869,"context_line":"        except sdk_exceptions.ResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":9,"id":"c0090fb7_c15644a9","line":1866,"updated":"2023-08-10 10:04:09.000000000","message":"None of this needs to be inside the try block","commit_id":"18a6199ed0dc9d173ff18302b85615143077a887"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6c102ac7afeac6a9b5b7f40470aa501197fd267c","unresolved":true,"context_lines":[{"line_number":1863,"context_line":"            column_headers \u003d (\"ID\", \"Description\", \"Default\")"},{"line_number":1864,"context_line":"            if parsed_args.detail:"},{"line_number":1865,"context_line":"                columns +\u003d (\"properties\",)"},{"line_number":1866,"context_line":"                column_headers +\u003d (\"Properties\",)"},{"line_number":1867,"context_line":""},{"line_number":1868,"context_line":"            data \u003d list(image_client.stores(details\u003dparsed_args.detail))"},{"line_number":1869,"context_line":"        except sdk_exceptions.ResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3efd470d_aba3933e","line":1866,"in_reply_to":"c0090fb7_c15644a9","updated":"2023-08-10 14:51:13.000000000","message":"+1","commit_id":"18a6199ed0dc9d173ff18302b85615143077a887"}],"releasenotes/notes/add-stores-info-9f1488dd29013767.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f09bddee25dd9a2bcfa2e6c7a00b037dc88a11fa","unresolved":true,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Add ``image stores info`` command, allowing users to know available backends."},{"line_number":4,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"812b8bda_2f4158c5","line":4,"updated":"2023-05-18 14:55:15.000000000","message":"nit: extra newline","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"6cc5c4804b6131d3b6e0679215b82e2a3e17c570","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Add ``image stores info`` command, allowing users to know available backends."},{"line_number":4,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"b4450301_c99928e2","line":4,"in_reply_to":"812b8bda_2f4158c5","updated":"2023-07-11 07:54:33.000000000","message":"Done","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"}],"setup.cfg":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f09bddee25dd9a2bcfa2e6c7a00b037dc88a11fa","unresolved":true,"context_lines":[{"line_number":388,"context_line":"    image_task_show \u003d openstackclient.image.v2.task:ShowTask"},{"line_number":389,"context_line":"    image_task_list \u003d openstackclient.image.v2.task:ListTask"},{"line_number":390,"context_line":"    image_import \u003d openstackclient.image.v2.image:ImportImage"},{"line_number":391,"context_line":"    image_stores_info \u003d openstackclient.image.v2.image:StoresInfo"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    image_metadef_namespace_create \u003d openstackclient.image.v2.metadef_namespaces:CreateMetadefNameSpace"},{"line_number":394,"context_line":"    image_metadef_namespace_delete \u003d openstackclient.image.v2.metadef_namespaces:DeleteMetadefNameSpace"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"01b93f92_2a8b8167","line":391,"range":{"start_line":391,"start_character":4,"end_line":391,"end_character":21},"updated":"2023-05-18 14:55:15.000000000","message":"Let\u0027s call this \u0027image stores list\u0027 to align with out commands.","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"398c13cb0612dcc6850e5edea3e426810aff4ec3","unresolved":false,"context_lines":[{"line_number":388,"context_line":"    image_task_show \u003d openstackclient.image.v2.task:ShowTask"},{"line_number":389,"context_line":"    image_task_list \u003d openstackclient.image.v2.task:ListTask"},{"line_number":390,"context_line":"    image_import \u003d openstackclient.image.v2.image:ImportImage"},{"line_number":391,"context_line":"    image_stores_info \u003d openstackclient.image.v2.image:StoresInfo"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"    image_metadef_namespace_create \u003d openstackclient.image.v2.metadef_namespaces:CreateMetadefNameSpace"},{"line_number":394,"context_line":"    image_metadef_namespace_delete \u003d openstackclient.image.v2.metadef_namespaces:DeleteMetadefNameSpace"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"7aa5dcac_d90abbdd","line":391,"range":{"start_line":391,"start_character":4,"end_line":391,"end_character":21},"in_reply_to":"01b93f92_2a8b8167","updated":"2023-08-01 11:50:22.000000000","message":"Done","commit_id":"e7e4834235927727c00cd2108e636adb16fe80b7"}]}
