)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5da6877cfe4a418efd731a646f7da7bb475c12f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ca334f2f_69a95485","updated":"2024-01-29 23:11:58.000000000","message":"TY for the suggestions - I still need to test the changes I applied, so I\u0027ll hold it for a bit :)","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b84cbdb4cd353bcafff3c8a6b4c4be08a8123c2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"95560562_770ff889","updated":"2024-01-26 22:01:40.000000000","message":"a couple of minor comments inline; this is a worthwhile update!","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"97cd49a3f2a4d8912fc4aa9c963cef6fc1bbd76a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f0ee9a7a_6fadb057","updated":"2024-01-27 00:24:05.000000000","message":"apart from the comment, the o/p looks fine to me:\n\n```\n$ manila-manage --use-journal service list --format yaml\nservices:\n- availability_zone: manila-zone-0\n  binary: manila-share\n  host: zorilla-srbac@buenosaires\n  state: :-)\n  status: enabled\n  updated_at: 2024-01-27 00:21:51.865514\n- availability_zone: manila-zone-2\n  binary: manila-share\n  host: zorilla-srbac@lima\n  state: :-)\n  status: enabled\n  updated_at: 2024-01-27 00:21:51.845324\n- availability_zone: manila-zone-3\n  binary: manila-share\n  host: zorilla-srbac@bogota\n  state: :-)\n  status: enabled\n  updated_at: 2024-01-27 00:21:51.809229\n- availability_zone: manila-zone-1\n  binary: manila-share\n  host: zorilla-srbac@saopaulo\n  state: :-)\n  status: enabled\n  updated_at: 2024-01-27 00:21:51.871417\n- availability_zone: nova\n  binary: manila-scheduler\n  host: zorilla-srbac\n  state: :-)\n  status: enabled\n  updated_at: 2024-01-27 00:21:54.331075\n- availability_zone: nova\n  binary: manila-data\n  host: zorilla-srbac\n  state: :-)\n  status: enabled\n  updated_at: 2024-01-27 00:21:55.317722\n\n$ manila-manage --use-journal service list --format json\n{\n    \"services\": [\n        {\n            \"binary\": \"manila-share\",\n            \"host\": \"zorilla-srbac@buenosaires\",\n            \"availability_zone\": \"manila-zone-0\",\n            \"status\": \"enabled\",\n            \"state\": \":-)\",\n            \"updated_at\": \"2024-01-27T00:22:01.866043\"\n        },\n        {\n            \"binary\": \"manila-share\",\n            \"host\": \"zorilla-srbac@lima\",\n            \"availability_zone\": \"manila-zone-2\",\n            \"status\": \"enabled\",\n            \"state\": \":-)\",\n            \"updated_at\": \"2024-01-27T00:22:01.846602\"\n        },\n        {\n            \"binary\": \"manila-share\",\n            \"host\": \"zorilla-srbac@bogota\",\n            \"availability_zone\": \"manila-zone-3\",\n            \"status\": \"enabled\",\n            \"state\": \":-)\",\n            \"updated_at\": \"2024-01-27T00:22:01.813280\"\n        },\n        {\n            \"binary\": \"manila-share\",\n            \"host\": \"zorilla-srbac@saopaulo\",\n            \"availability_zone\": \"manila-zone-1\",\n            \"status\": \"enabled\",\n            \"state\": \":-)\",\n            \"updated_at\": \"2024-01-27T00:22:01.873091\"\n        },\n        {\n            \"binary\": \"manila-scheduler\",\n            \"host\": \"zorilla-srbac\",\n            \"availability_zone\": \"nova\",\n            \"status\": \"enabled\",\n            \"state\": \":-)\",\n            \"updated_at\": \"2024-01-27T00:22:04.339427\"\n        },\n        {\n            \"binary\": \"manila-data\",\n            \"host\": \"zorilla-srbac\",\n            \"availability_zone\": \"nova\",\n            \"status\": \"enabled\",\n            \"state\": \":-)\",\n            \"updated_at\": \"2024-01-27T00:22:05.321267\"\n        }\n    ]\n}\n```","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2289dc6490ed6e0d88ea8369822cf909e765aac2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"faadf9d7_bb51a29f","updated":"2024-08-30 16:43:02.000000000","message":"Sorry for the delay on updating this change. Please take a look at the most recent PS :)","commit_id":"861a67193b5965149a83e66052980779458cecfc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bf7d57c9594d83f3327c424e59cccb09a6739c14","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5308bb2a_39e1d771","updated":"2024-09-04 06:23:22.000000000","message":"Thank you Carlos; LGTM","commit_id":"861a67193b5965149a83e66052980779458cecfc"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4a7695d7a5dc397716fd4e9eb156c8a4e96dd121","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9ca767a4_c3c1bbff","updated":"2024-08-30 21:50:00.000000000","message":"recheck\nUnrelated LVM issue. Failed before devstack","commit_id":"861a67193b5965149a83e66052980779458cecfc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"7b64a9f02bcac4c1237f7f3401eab8cd682dd184","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8659fbb2_8d28c39e","updated":"2024-09-03 09:05:32.000000000","message":"this change works fine in my env, thanks.","commit_id":"861a67193b5965149a83e66052980779458cecfc"}],"manila/cmd/manage.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b84cbdb4cd353bcafff3c8a6b4c4be08a8123c2b","unresolved":true,"context_lines":[{"line_number":346,"context_line":"class ServiceCommands(ListCommand):"},{"line_number":347,"context_line":"    \"\"\"Methods for managing services.\"\"\""},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    @args(\u0027--format_output\u0027, required\u003dFalse, default\u003d\u0027table\u0027,"},{"line_number":350,"context_line":"          help\u003dLIST_OUTPUT_FORMAT_HELP)"},{"line_number":351,"context_line":"    def list(self, format_output):"},{"line_number":352,"context_line":"        \"\"\"Show a list of all manila services.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"79e2d99f_1d3b0b41","line":349,"range":{"start_line":349,"start_character":13,"end_line":349,"end_character":26},"updated":"2024-01-26 22:01:40.000000000","message":"option names should have hyphens instead of underscores.. we haven\u0027t codified this anywhere, but the human interface guide from OSC is a good reference: https://docs.openstack.org/python-openstackclient/latest/contributor/humaninterfaceguide.html#global-options","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"7b64a9f02bcac4c1237f7f3401eab8cd682dd184","unresolved":false,"context_lines":[{"line_number":346,"context_line":"class ServiceCommands(ListCommand):"},{"line_number":347,"context_line":"    \"\"\"Methods for managing services.\"\"\""},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    @args(\u0027--format_output\u0027, required\u003dFalse, default\u003d\u0027table\u0027,"},{"line_number":350,"context_line":"          help\u003dLIST_OUTPUT_FORMAT_HELP)"},{"line_number":351,"context_line":"    def list(self, format_output):"},{"line_number":352,"context_line":"        \"\"\"Show a list of all manila services.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"db9cb4ab_d65e21d0","line":349,"range":{"start_line":349,"start_character":13,"end_line":349,"end_character":26},"in_reply_to":"1eaad26a_c2b6e2b5","updated":"2024-09-03 09:05:32.000000000","message":"i test it in my env, if use hyphens instead of underscores, command will return \nnothing. but with underscores works fine.","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2289dc6490ed6e0d88ea8369822cf909e765aac2","unresolved":false,"context_lines":[{"line_number":346,"context_line":"class ServiceCommands(ListCommand):"},{"line_number":347,"context_line":"    \"\"\"Methods for managing services.\"\"\""},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    @args(\u0027--format_output\u0027, required\u003dFalse, default\u003d\u0027table\u0027,"},{"line_number":350,"context_line":"          help\u003dLIST_OUTPUT_FORMAT_HELP)"},{"line_number":351,"context_line":"    def list(self, format_output):"},{"line_number":352,"context_line":"        \"\"\"Show a list of all manila services.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"1eaad26a_c2b6e2b5","line":349,"range":{"start_line":349,"start_character":13,"end_line":349,"end_character":26},"in_reply_to":"3291d19d_c561f948","updated":"2024-08-30 16:43:02.000000000","message":"there is an issue with the way we load the arguments in this file we use hyphens instead of underscores. All of the other arguments that would fit into the same scenario are using underscore too, so reverting this.","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5da6877cfe4a418efd731a646f7da7bb475c12f9","unresolved":false,"context_lines":[{"line_number":346,"context_line":"class ServiceCommands(ListCommand):"},{"line_number":347,"context_line":"    \"\"\"Methods for managing services.\"\"\""},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    @args(\u0027--format_output\u0027, required\u003dFalse, default\u003d\u0027table\u0027,"},{"line_number":350,"context_line":"          help\u003dLIST_OUTPUT_FORMAT_HELP)"},{"line_number":351,"context_line":"    def list(self, format_output):"},{"line_number":352,"context_line":"        \"\"\"Show a list of all manila services.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3291d19d_c561f948","line":349,"range":{"start_line":349,"start_character":13,"end_line":349,"end_character":26},"in_reply_to":"79e2d99f_1d3b0b41","updated":"2024-01-29 23:11:58.000000000","message":"Acknowledged","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b84cbdb4cd353bcafff3c8a6b4c4be08a8123c2b","unresolved":true,"context_lines":[{"line_number":371,"context_line":"                \u0027updated_at\u0027: service[\u0027updated_at\u0027],"},{"line_number":372,"context_line":"            })"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        if format_output \u003d\u003d \u0027table\u0027:"},{"line_number":375,"context_line":"            print(print_format % ("},{"line_number":376,"context_line":"                _(\u0027Binary\u0027),"},{"line_number":377,"context_line":"                _(\u0027Host\u0027),"},{"line_number":378,"context_line":"                _(\u0027Zone\u0027),"},{"line_number":379,"context_line":"                _(\u0027Status\u0027),"},{"line_number":380,"context_line":"                _(\u0027State\u0027),"},{"line_number":381,"context_line":"                _(\u0027Updated At\u0027))"},{"line_number":382,"context_line":"            )"},{"line_number":383,"context_line":"            for svc in services_list:"},{"line_number":384,"context_line":"                print(print_format % ("},{"line_number":385,"context_line":"                    svc[\u0027binary\u0027],"},{"line_number":386,"context_line":"                    svc[\u0027host\u0027],"},{"line_number":387,"context_line":"                    svc[\u0027availability_zone\u0027],"},{"line_number":388,"context_line":"                    svc[\u0027status\u0027],"},{"line_number":389,"context_line":"                    svc[\u0027state\u0027],"},{"line_number":390,"context_line":"                    svc[\u0027updated_at\u0027],"},{"line_number":391,"context_line":"                ))"},{"line_number":392,"context_line":"        else:"},{"line_number":393,"context_line":"            method_list_name \u003d f\u0027list_{format_output}\u0027"},{"line_number":394,"context_line":"            getattr(self, method_list_name)(\u0027services\u0027, services_list)"}],"source_content_type":"text/x-python","patch_set":4,"id":"794a9d30_3283c25a","line":391,"range":{"start_line":374,"start_character":6,"end_line":391,"end_character":18},"updated":"2024-01-26 22:01:40.000000000","message":"to clean this up, could you try to extract this under the ListCommand class too?\n\nmaybe something like this:\n\n```\n  def list_table(self, resource_name, resource_list):\n        print_format \u003d \"{0:\u003c16}{1:\u003c36}{2:\u003c16}{3:\u003c10}{4:\u003c5}{5:\u003c10}\"\n        print(print_format.format(\n            *[k.capitalize().replace(\u0027_\u0027, \u0027 \u0027) f\n            or k in resource_list.keys()])\n        )\n        for resource in resource_list:\n            print(print_format.format(*[resource.values()]))\n```\n\n(you\u0027ll have to test this thing)","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"97cd49a3f2a4d8912fc4aa9c963cef6fc1bbd76a","unresolved":true,"context_lines":[{"line_number":371,"context_line":"                \u0027updated_at\u0027: service[\u0027updated_at\u0027],"},{"line_number":372,"context_line":"            })"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        if format_output \u003d\u003d \u0027table\u0027:"},{"line_number":375,"context_line":"            print(print_format % ("},{"line_number":376,"context_line":"                _(\u0027Binary\u0027),"},{"line_number":377,"context_line":"                _(\u0027Host\u0027),"},{"line_number":378,"context_line":"                _(\u0027Zone\u0027),"},{"line_number":379,"context_line":"                _(\u0027Status\u0027),"},{"line_number":380,"context_line":"                _(\u0027State\u0027),"},{"line_number":381,"context_line":"                _(\u0027Updated At\u0027))"},{"line_number":382,"context_line":"            )"},{"line_number":383,"context_line":"            for svc in services_list:"},{"line_number":384,"context_line":"                print(print_format % ("},{"line_number":385,"context_line":"                    svc[\u0027binary\u0027],"},{"line_number":386,"context_line":"                    svc[\u0027host\u0027],"},{"line_number":387,"context_line":"                    svc[\u0027availability_zone\u0027],"},{"line_number":388,"context_line":"                    svc[\u0027status\u0027],"},{"line_number":389,"context_line":"                    svc[\u0027state\u0027],"},{"line_number":390,"context_line":"                    svc[\u0027updated_at\u0027],"},{"line_number":391,"context_line":"                ))"},{"line_number":392,"context_line":"        else:"},{"line_number":393,"context_line":"            method_list_name \u003d f\u0027list_{format_output}\u0027"},{"line_number":394,"context_line":"            getattr(self, method_list_name)(\u0027services\u0027, services_list)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f87035d1_9fedcd89","line":391,"range":{"start_line":374,"start_character":6,"end_line":391,"end_character":18},"in_reply_to":"794a9d30_3283c25a","updated":"2024-01-27 00:24:05.000000000","message":"ah, \"availability_zone\" becomes \"zone\"; but that should be easy to set before invoking the method..","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5da6877cfe4a418efd731a646f7da7bb475c12f9","unresolved":false,"context_lines":[{"line_number":371,"context_line":"                \u0027updated_at\u0027: service[\u0027updated_at\u0027],"},{"line_number":372,"context_line":"            })"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        if format_output \u003d\u003d \u0027table\u0027:"},{"line_number":375,"context_line":"            print(print_format % ("},{"line_number":376,"context_line":"                _(\u0027Binary\u0027),"},{"line_number":377,"context_line":"                _(\u0027Host\u0027),"},{"line_number":378,"context_line":"                _(\u0027Zone\u0027),"},{"line_number":379,"context_line":"                _(\u0027Status\u0027),"},{"line_number":380,"context_line":"                _(\u0027State\u0027),"},{"line_number":381,"context_line":"                _(\u0027Updated At\u0027))"},{"line_number":382,"context_line":"            )"},{"line_number":383,"context_line":"            for svc in services_list:"},{"line_number":384,"context_line":"                print(print_format % ("},{"line_number":385,"context_line":"                    svc[\u0027binary\u0027],"},{"line_number":386,"context_line":"                    svc[\u0027host\u0027],"},{"line_number":387,"context_line":"                    svc[\u0027availability_zone\u0027],"},{"line_number":388,"context_line":"                    svc[\u0027status\u0027],"},{"line_number":389,"context_line":"                    svc[\u0027state\u0027],"},{"line_number":390,"context_line":"                    svc[\u0027updated_at\u0027],"},{"line_number":391,"context_line":"                ))"},{"line_number":392,"context_line":"        else:"},{"line_number":393,"context_line":"            method_list_name \u003d f\u0027list_{format_output}\u0027"},{"line_number":394,"context_line":"            getattr(self, method_list_name)(\u0027services\u0027, services_list)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a5d43fb_b8eb6c20","line":391,"range":{"start_line":374,"start_character":6,"end_line":391,"end_character":18},"in_reply_to":"f87035d1_9fedcd89","updated":"2024-01-29 23:11:58.000000000","message":"Done","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"}],"releasenotes/notes/add-format-output-to-manila-manage-c0bbccb16369e5d3.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b84cbdb4cd353bcafff3c8a6b4c4be08a8123c2b","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The possibility to specity the desired output format while issuing the"},{"line_number":5,"context_line":"    `manila-manage service list` command was added. It is now possible to"},{"line_number":6,"context_line":"    display the output also in yaml and json formats."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"008fdfea_9432c53c","line":4,"range":{"start_line":4,"start_character":23,"end_line":4,"end_character":30},"updated":"2024-01-26 22:01:40.000000000","message":"specify","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5da6877cfe4a418efd731a646f7da7bb475c12f9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The possibility to specity the desired output format while issuing the"},{"line_number":5,"context_line":"    `manila-manage service list` command was added. It is now possible to"},{"line_number":6,"context_line":"    display the output also in yaml and json formats."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"05dc262b_e88b4291","line":4,"range":{"start_line":4,"start_character":23,"end_line":4,"end_character":30},"in_reply_to":"008fdfea_9432c53c","updated":"2024-01-29 23:11:58.000000000","message":"good catch :) thank you!","commit_id":"a52bdc1cc5ca0b8d572deda0a5cd60c6eb3409c5"}]}
