)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0ecfc359c01786441910b5846f06e51c8ab4c92","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix bug that readonly option doesn’t setup with volume create."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The readonly option does not affect when the volume status is “creating”."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To support the readonly option in volume create,"},{"line_number":12,"context_line":"the cli have to wait for that the status is not creating."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"50aa7772_24cccce1","line":9,"range":{"start_line":9,"start_character":29,"end_line":9,"end_character":1},"updated":"2021-10-07 09:41:20.000000000","message":"affect the volume when its status is \"creating\"\n\n(note that you have \"smart quotes\" [1], or non-ASCII quotes here. Can you disable these in your editor or wherever you\u0027re writing this commit message as they don\u0027t render well in some terminals)\n\n[1] https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":33835,"name":"JIHOJU","email":"jihoju96@gmail.com","username":"JIHOJU"},"change_message_id":"b65a65ccf06c9721eecd507d68a936d4f6a4fe70","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix bug that readonly option doesn’t setup with volume create."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The readonly option does not affect when the volume status is “creating”."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"To support the readonly option in volume create,"},{"line_number":12,"context_line":"the cli have to wait for that the status is not creating."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"f2da8db3_d7c21054","line":9,"range":{"start_line":9,"start_character":29,"end_line":9,"end_character":1},"in_reply_to":"50aa7772_24cccce1","updated":"2021-10-08 17:59:35.000000000","message":"Thanks to your review, I solved it.","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0ecfc359c01786441910b5846f06e51c8ab4c92","unresolved":true,"context_lines":[{"line_number":14,"context_line":"In this patch, the cli polling the volume status every 1 second and"},{"line_number":15,"context_line":"update readonly flag when the status is not creating."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"story: 2002158"},{"line_number":18,"context_line":"task: 20007"},{"line_number":19,"context_line":"Change-Id: Iac36e02b5b6d75733e0baa5e7fd70b360a584b60"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"79afe82d_187e9d73","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":1},"updated":"2021-10-07 09:41:20.000000000","message":"nit: Story:","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":33835,"name":"JIHOJU","email":"jihoju96@gmail.com","username":"JIHOJU"},"change_message_id":"b65a65ccf06c9721eecd507d68a936d4f6a4fe70","unresolved":false,"context_lines":[{"line_number":14,"context_line":"In this patch, the cli polling the volume status every 1 second and"},{"line_number":15,"context_line":"update readonly flag when the status is not creating."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"story: 2002158"},{"line_number":18,"context_line":"task: 20007"},{"line_number":19,"context_line":"Change-Id: Iac36e02b5b6d75733e0baa5e7fd70b360a584b60"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7846a09c_8ae9927c","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":1},"in_reply_to":"79afe82d_187e9d73","updated":"2021-10-08 17:59:35.000000000","message":"Thanks to your review, I solved it.","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0ecfc359c01786441910b5846f06e51c8ab4c92","unresolved":true,"context_lines":[{"line_number":15,"context_line":"update readonly flag when the status is not creating."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"story: 2002158"},{"line_number":18,"context_line":"task: 20007"},{"line_number":19,"context_line":"Change-Id: Iac36e02b5b6d75733e0baa5e7fd70b360a584b60"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ee28ea74_d545a83b","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":4},"updated":"2021-10-07 09:41:20.000000000","message":"nit: Task:","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":33835,"name":"JIHOJU","email":"jihoju96@gmail.com","username":"JIHOJU"},"change_message_id":"b65a65ccf06c9721eecd507d68a936d4f6a4fe70","unresolved":false,"context_lines":[{"line_number":15,"context_line":"update readonly flag when the status is not creating."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"story: 2002158"},{"line_number":18,"context_line":"task: 20007"},{"line_number":19,"context_line":"Change-Id: Iac36e02b5b6d75733e0baa5e7fd70b360a584b60"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dd197e30_a3d7e01b","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":4},"in_reply_to":"ee28ea74_d545a83b","updated":"2021-10-08 17:59:35.000000000","message":"Thanks to your review, I solved it.","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"04334483f1b1b1f97b7a55c275bde17088ec71e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b23f40d2_298bb716","updated":"2021-10-21 10:28:18.000000000","message":"This looks much better. Thank you! We\u0027re missing some error handling. If you can add that, I\u0027m +2. I also have a feature suggestion, but that\u0027s optional and could be done separately if you agreed (or not at all).\n\nLet me know if anything I said did not make sense","commit_id":"6e4c8a7be8793d0a3f3ba9880c649ceb96c7391c"}],"openstackclient/volume/v2/volume.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0ecfc359c01786441910b5846f06e51c8ab4c92","unresolved":true,"context_lines":[{"line_number":237,"context_line":"        if parsed_args.read_only or parsed_args.read_write:"},{"line_number":238,"context_line":"            try:"},{"line_number":239,"context_line":"                sys.stdout.write(\"Waiting for volume to be created.\\n\")"},{"line_number":240,"context_line":"                while volume.status \u003d\u003d \"creating\":"},{"line_number":241,"context_line":"                    time.sleep(1)"},{"line_number":242,"context_line":"                    volume \u003d volume_client.volumes.get(volume.id)"},{"line_number":243,"context_line":"                volume_client.volumes.update_readonly_flag("}],"source_content_type":"text/x-python","patch_set":1,"id":"4ae329ae_187e25a7","line":240,"updated":"2021-10-07 09:41:20.000000000","message":"This is liable to get stuck waiting forever because you don\u0027t have a timeout. Fortunately, you do not need to reinvent the wheel. osc-lib provides a helper method, \u0027wait_for_status\u0027, that you should be able to reuse here. Can you investigate this?","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":33835,"name":"JIHOJU","email":"jihoju96@gmail.com","username":"JIHOJU"},"change_message_id":"b65a65ccf06c9721eecd507d68a936d4f6a4fe70","unresolved":false,"context_lines":[{"line_number":237,"context_line":"        if parsed_args.read_only or parsed_args.read_write:"},{"line_number":238,"context_line":"            try:"},{"line_number":239,"context_line":"                sys.stdout.write(\"Waiting for volume to be created.\\n\")"},{"line_number":240,"context_line":"                while volume.status \u003d\u003d \"creating\":"},{"line_number":241,"context_line":"                    time.sleep(1)"},{"line_number":242,"context_line":"                    volume \u003d volume_client.volumes.get(volume.id)"},{"line_number":243,"context_line":"                volume_client.volumes.update_readonly_flag("}],"source_content_type":"text/x-python","patch_set":1,"id":"e4813b54_1a98ea1b","line":240,"in_reply_to":"4ae329ae_187e25a7","updated":"2021-10-08 17:59:35.000000000","message":"Thanks to your good comments, I solved it by using \u0027wait_for_status\u0027 method.","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0ecfc359c01786441910b5846f06e51c8ab4c92","unresolved":true,"context_lines":[{"line_number":247,"context_line":"                LOG.error(_(\"Failed to set volume read-only access \""},{"line_number":248,"context_line":"                            \"mode flag: %s\"), e)"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        volume \u003d volume_client.volumes.get(volume.id)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        # Remove key links from being displayed"},{"line_number":253,"context_line":"        volume._info.update("}],"source_content_type":"text/x-python","patch_set":1,"id":"5d322441_6f0a3cf8","line":250,"updated":"2021-10-07 09:41:20.000000000","message":"Why the additional get? If it\u0027s truly necessary, can you explain why via a comment?","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":33835,"name":"JIHOJU","email":"jihoju96@gmail.com","username":"JIHOJU"},"change_message_id":"b65a65ccf06c9721eecd507d68a936d4f6a4fe70","unresolved":true,"context_lines":[{"line_number":247,"context_line":"                LOG.error(_(\"Failed to set volume read-only access \""},{"line_number":248,"context_line":"                            \"mode flag: %s\"), e)"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        volume \u003d volume_client.volumes.get(volume.id)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        # Remove key links from being displayed"},{"line_number":253,"context_line":"        volume._info.update("}],"source_content_type":"text/x-python","patch_set":1,"id":"c0dc81e6_89c44dc0","line":250,"in_reply_to":"4762f7f0_66840790","updated":"2021-10-08 17:59:35.000000000","message":"Called once more to show exactly the volume flag applied to the output.","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":33835,"name":"JIHOJU","email":"jihoju96@gmail.com","username":"JIHOJU"},"change_message_id":"670a79b773abc87fdd0c4a7bc265d57ae0f0ff90","unresolved":true,"context_lines":[{"line_number":247,"context_line":"                LOG.error(_(\"Failed to set volume read-only access \""},{"line_number":248,"context_line":"                            \"mode flag: %s\"), e)"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        volume \u003d volume_client.volumes.get(volume.id)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        # Remove key links from being displayed"},{"line_number":253,"context_line":"        volume._info.update("}],"source_content_type":"text/x-python","patch_set":1,"id":"4762f7f0_66840790","line":250,"in_reply_to":"5d322441_6f0a3cf8","updated":"2021-10-07 13:15:09.000000000","message":"Called once more to show exactly the volume flag applied to the output.","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"04334483f1b1b1f97b7a55c275bde17088ec71e9","unresolved":false,"context_lines":[{"line_number":247,"context_line":"                LOG.error(_(\"Failed to set volume read-only access \""},{"line_number":248,"context_line":"                            \"mode flag: %s\"), e)"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        volume \u003d volume_client.volumes.get(volume.id)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        # Remove key links from being displayed"},{"line_number":253,"context_line":"        volume._info.update("}],"source_content_type":"text/x-python","patch_set":1,"id":"d3109942_9ac3a72f","line":250,"in_reply_to":"c0dc81e6_89c44dc0","updated":"2021-10-21 10:28:18.000000000","message":"Ack","commit_id":"6e34300e67c92576b0a7dd68b02fa758d1f4515b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"04334483f1b1b1f97b7a55c275bde17088ec71e9","unresolved":true,"context_lines":[{"line_number":230,"context_line":"        if parsed_args.bootable or parsed_args.non_bootable:"},{"line_number":231,"context_line":"            try:"},{"line_number":232,"context_line":"                volume_client.volumes.set_bootable("},{"line_number":233,"context_line":"                    volume.id, parsed_args.bootable)"},{"line_number":234,"context_line":"            except Exception as e:"},{"line_number":235,"context_line":"                LOG.error(_(\"Failed to set volume bootable property: %s\"), e)"},{"line_number":236,"context_line":"        if parsed_args.read_only or parsed_args.read_write:"}],"source_content_type":"text/x-python","patch_set":2,"id":"4a730642_8497484c","line":233,"updated":"2021-10-21 10:28:18.000000000","message":"Do you know if setting the volume bootable property also rely on a volume being in the available state? If so, perhaps we should move this entire volume status check below to before this? We might even want to add an optional \u0027--wait\u0027 flag so users could wait for volume creation even if they\u0027re not setting a flag, e.g.\n\n  # If the user explicitly requested to wait, or wants to set a flag\n  # that requires the volume be in the \u0027available\u0027 state, wait...\n  if (\n      parsed_args.wait or\n      parsed_args.bootable or\n      parsed_args.non_bootable or\n      parsed_args.read_only or\n      parsed_args.read_write\n  ):\n      sys.stdout.write(\"Waiting for volume to be created.\\n\")\n\nI\u0027d be okay with doing this later though...","commit_id":"6e4c8a7be8793d0a3f3ba9880c649ceb96c7391c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"04334483f1b1b1f97b7a55c275bde17088ec71e9","unresolved":true,"context_lines":[{"line_number":236,"context_line":"        if parsed_args.read_only or parsed_args.read_write:"},{"line_number":237,"context_line":"            sys.stdout.write(\"Waiting for volume to be created.\\n\")"},{"line_number":238,"context_line":"            if utils.wait_for_status("},{"line_number":239,"context_line":"                    volume_client.volumes.get,"},{"line_number":240,"context_line":"                    volume.id,"},{"line_number":241,"context_line":"                    success_status\u003d[\u0027available\u0027],"},{"line_number":242,"context_line":"                    error_status\u003d[\u0027error\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"027ac6bb_f18aa27e","line":239,"range":{"start_line":239,"start_character":16,"end_line":239,"end_character":20},"updated":"2021-10-21 10:28:18.000000000","message":"nit: this is indented a little bit too far. Four spaces would be enough:\n\n  if utils.wait_for_status(\n      volume_client.volumes.get,\n      ...\n  ):","commit_id":"6e4c8a7be8793d0a3f3ba9880c649ceb96c7391c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"04334483f1b1b1f97b7a55c275bde17088ec71e9","unresolved":true,"context_lines":[{"line_number":241,"context_line":"                    success_status\u003d[\u0027available\u0027],"},{"line_number":242,"context_line":"                    error_status\u003d[\u0027error\u0027],"},{"line_number":243,"context_line":"                    sleep_time\u003d1"},{"line_number":244,"context_line":"            ):"},{"line_number":245,"context_line":"                try:"},{"line_number":246,"context_line":"                    volume_client.volumes.update_readonly_flag("},{"line_number":247,"context_line":"                        volume.id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7d60a687_66cc10ec","line":244,"updated":"2021-10-21 10:28:18.000000000","message":"This call can fail. Can you add an \u0027else\u0027 clause to indicate that we had an error creating the volume.\n\n  else:\n      LOG.error(_(\u0027Error creating volume: %s\u0027), volume.id)\n      self.app.stdout.write(_(\u0027Error creating volume\\n\u0027))\n      raise SystemExit\n\nDon\u0027t forget a test!","commit_id":"6e4c8a7be8793d0a3f3ba9880c649ceb96c7391c"}]}
