)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"56108f04fa05c6997f22071d7bbdfd2eebaf1f16","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wangxiyuan \u003cwangxiyuan@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-02 11:42:06 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add backup error information"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now,when backup a vm booted from volume ,the error information is simple"},{"line_number":10,"context_line":"like:The request is invalid."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5afe65bd_1f41080c","line":7,"updated":"2015-06-02 05:20:58.000000000","message":"I think \"Add specific error information when createBackup is not supported\"\nis more explicit","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"56108f04fa05c6997f22071d7bbdfd2eebaf1f16","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Now,when backup a vm booted from volume ,the error information is simple"},{"line_number":10,"context_line":"like:The request is invalid."},{"line_number":11,"context_line":"This patch support details to users:"},{"line_number":12,"context_line":"It\u0027s not supported to backup volume backed instance."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I496a75c5122ffe9ba2a375c3d2ff97eb375b43ac"},{"line_number":15,"context_line":"Closes-bug:#1460887"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5afe65bd_3f0a84d3","line":12,"updated":"2015-06-02 05:20:58.000000000","message":"Your message is fine but I think something like:\n---\nCurrently when a user calls createBackup on a volume backed instance the error returned is \"The request is invalid\".  This message could be more detailed to help users understand what went wrong.\n\nThis change creates a new exception class with a more specific resson.\n---\nJust a suggestion.","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"ab91f0522dbeada92c331999f81420b735c5ef36","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Now,when backup a vm booted from volume ,the error information is simple"},{"line_number":10,"context_line":"like:The request is invalid."},{"line_number":11,"context_line":"This patch support details to users:"},{"line_number":12,"context_line":"It\u0027s not supported to backup volume backed instance."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I496a75c5122ffe9ba2a375c3d2ff97eb375b43ac"},{"line_number":15,"context_line":"Closes-bug:#1460887"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5afe65bd_52609735","line":12,"in_reply_to":"5afe65bd_3f0a84d3","updated":"2015-06-02 06:32:26.000000000","message":"Thanks very much.","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"}],"nova/api/openstack/compute/contrib/admin_actions.py":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"56108f04fa05c6997f22071d7bbdfd2eebaf1f16","unresolved":false,"context_lines":[{"line_number":284,"context_line":"        try:"},{"line_number":285,"context_line":"            image \u003d self.compute_api.backup(context, instance, image_name,"},{"line_number":286,"context_line":"                    backup_type, rotation, extra_properties\u003dprops)"},{"line_number":287,"context_line":"        except exception.BackupVolumeBackedNotSupported as err:"},{"line_number":288,"context_line":"            raise exc.HTTPBadRequest(explanation\u003derr.format_message())"},{"line_number":289,"context_line":"        except exception.InstanceInvalidState as state_error:"},{"line_number":290,"context_line":"            common.raise_http_conflict_for_instance_invalid_state(state_error,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_5c18ae84","line":287,"updated":"2015-06-02 05:20:58.000000000","message":"I don\u0027t think you need to add this block.","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"56108f04fa05c6997f22071d7bbdfd2eebaf1f16","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        except exception.InstanceInvalidState as state_error:"},{"line_number":290,"context_line":"            common.raise_http_conflict_for_instance_invalid_state(state_error,"},{"line_number":291,"context_line":"                    \u0027createBackup\u0027, id)"},{"line_number":292,"context_line":"        except exception.InvalidRequest as e:"},{"line_number":293,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        resp \u003d webob.Response(status_int\u003d202)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_9c06261f","line":292,"updated":"2015-06-02 05:20:58.000000000","message":"You removed the only codepath that can raise InvalidRequest so you can just:\n\n except exception.BackupVolumeBackedNotSupported as e:\n\nHere.","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"ab91f0522dbeada92c331999f81420b735c5ef36","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        except exception.InstanceInvalidState as state_error:"},{"line_number":290,"context_line":"            common.raise_http_conflict_for_instance_invalid_state(state_error,"},{"line_number":291,"context_line":"                    \u0027createBackup\u0027, id)"},{"line_number":292,"context_line":"        except exception.InvalidRequest as e:"},{"line_number":293,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        resp \u003d webob.Response(status_int\u003d202)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_32ccfb34","line":292,"in_reply_to":"5afe65bd_9c06261f","updated":"2015-06-02 06:32:26.000000000","message":"Done","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"917f0249909696ec627f95d9ea42b12588d3c00f","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        except exception.InstanceInvalidState as state_error:"},{"line_number":288,"context_line":"            common.raise_http_conflict_for_instance_invalid_state(state_error,"},{"line_number":289,"context_line":"                    \u0027createBackup\u0027, id)"},{"line_number":290,"context_line":"        except exception.InvalidRequest as e:"},{"line_number":291,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        resp \u003d webob.Response(status_int\u003d202)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5afe65bd_86580d58","side":"PARENT","line":290,"updated":"2015-06-02 09:17:32.000000000","message":"Any reason why we are not support this exception anymore. If this exception is raised we will now return a 500. Is that correct?","commit_id":"7badd522dc67838a410ea09cac446c224caa84b2"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"50cfe71ef891a3370c7063d340118b1c7d567182","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        except exception.InstanceInvalidState as state_error:"},{"line_number":288,"context_line":"            common.raise_http_conflict_for_instance_invalid_state(state_error,"},{"line_number":289,"context_line":"                    \u0027createBackup\u0027, id)"},{"line_number":290,"context_line":"        except exception.InvalidRequest as e:"},{"line_number":291,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        resp \u003d webob.Response(status_int\u003d202)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5afe65bd_69096195","side":"PARENT","line":290,"in_reply_to":"5afe65bd_86580d58","updated":"2015-06-02 10:01:10.000000000","message":"You\u0027re right,So BackupVolumeBackedNotSupported should inherit Invalid.And then I think InvalidRequest could be replaced.","commit_id":"7badd522dc67838a410ea09cac446c224caa84b2"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"4847df127776551adfc34b3bc1361bdb644835b2","unresolved":false,"context_lines":[{"line_number":290,"context_line":"        except exception.BackupVolumeBackedNotSupported as e:"},{"line_number":291,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":292,"context_line":"        except Exception:"},{"line_number":293,"context_line":"            LOG.exception(_LE(\"Error in create_backup\"))"},{"line_number":294,"context_line":"            raise exc.HTTPBadRequest()"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        resp \u003d webob.Response(status_int\u003d202)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_779b6fca","line":293,"updated":"2015-06-02 15:39:09.000000000","message":"this log is not needed\n\nand why we need special handle here? Thanks","commit_id":"637220fc9a8efd88a689cef412d58b619096f7b0"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"a4d58ad6f4f3bb03d1ffb45c263b955424f90d41","unresolved":false,"context_lines":[{"line_number":290,"context_line":"        except exception.BackupVolumeBackedNotSupported as e:"},{"line_number":291,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":292,"context_line":"        except Exception:"},{"line_number":293,"context_line":"            LOG.exception(_LE(\"Error in create_backup\"))"},{"line_number":294,"context_line":"            raise exc.HTTPBadRequest()"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        resp \u003d webob.Response(status_int\u003d202)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_47830a57","line":293,"in_reply_to":"5afe65bd_779b6fca","updated":"2015-06-03 01:33:20.000000000","message":"LOG.exception will delegate an exception call to the underlying logger.So,IMO,it\u0027s needed here.\n\nI add Exception here because I think it\u0027s a common error information.Maybe it could be used in some ways after.It\u0027s just a supplement.","commit_id":"637220fc9a8efd88a689cef412d58b619096f7b0"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"000bfccefbb5f442ecbc7f8b9615f9809a2dbef8","unresolved":false,"context_lines":[{"line_number":289,"context_line":"                    \u0027createBackup\u0027, id)"},{"line_number":290,"context_line":"        except exception.BackupVolumeBackedNotSupported as volume_error:"},{"line_number":291,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dvolume_error.format_message())"},{"line_number":292,"context_line":"        except Exception as e:"},{"line_number":293,"context_line":"            LOG.exception(_LE(\"Error in create_backup\"))"},{"line_number":294,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":295,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_3cdd75e0","line":292,"updated":"2015-06-16 10:59:18.000000000","message":"Catching this exception is wrong in this commit.  You\u0027re changing behaviour without calling it out.  If you want to add this then you need to call it out and I think it should be done in it\u0027s own commit.\n\nEssentially you\u0027re doing 2 things in one commit which is a bad idea.","commit_id":"3bac35d107856e0e84b02f7604283866ed6dd71d"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"29e3cc4a8886e728378a209634621b83efabee8c","unresolved":false,"context_lines":[{"line_number":289,"context_line":"                    \u0027createBackup\u0027, id)"},{"line_number":290,"context_line":"        except exception.BackupVolumeBackedNotSupported as volume_error:"},{"line_number":291,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dvolume_error.format_message())"},{"line_number":292,"context_line":"        except Exception as e:"},{"line_number":293,"context_line":"            LOG.exception(_LE(\"Error in create_backup\"))"},{"line_number":294,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":295,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_ca1357b7","line":292,"in_reply_to":"fa32b979_3cdd75e0","updated":"2015-06-16 11:48:59.000000000","message":"Thank you very much.","commit_id":"3bac35d107856e0e84b02f7604283866ed6dd71d"}],"nova/compute/api.py":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"56108f04fa05c6997f22071d7bbdfd2eebaf1f16","unresolved":false,"context_lines":[{"line_number":2097,"context_line":"            # string freeze (Liberty)."},{"line_number":2098,"context_line":"            LOG.debug(\"It\u0027s not supported to backup volume backed instance.\","},{"line_number":2099,"context_line":"                      context\u003dcontext, instance\u003dinstance)"},{"line_number":2100,"context_line":"            raise exception.BackupVolumeBackedNotSupported()"},{"line_number":2101,"context_line":"        else:"},{"line_number":2102,"context_line":"            image_meta \u003d self._create_image(context, instance,"},{"line_number":2103,"context_line":"                                            name, \u0027backup\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_fc3f5ad4","line":2100,"updated":"2015-06-02 05:20:58.000000000","message":"If I read the code correctly you just removed the only code path that can raise InvalidRequest","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"4847df127776551adfc34b3bc1361bdb644835b2","unresolved":false,"context_lines":[{"line_number":2097,"context_line":"            # string freeze (Liberty)."},{"line_number":2098,"context_line":"            LOG.debug(\"It\u0027s not supported to backup volume backed instance.\","},{"line_number":2099,"context_line":"                      context\u003dcontext, instance\u003dinstance)"},{"line_number":2100,"context_line":"            raise exception.BackupVolumeBackedNotSupported()"},{"line_number":2101,"context_line":"        else:"},{"line_number":2102,"context_line":"            image_meta \u003d self._create_image(context, instance,"},{"line_number":2103,"context_line":"                                            name, \u0027backup\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_578d1330","line":2100,"updated":"2015-06-02 15:39:09.000000000","message":"I think it\u0027s too detail, maybe we can consider \nInvalidInput exception with reason or consider to change InvalidRequest exception format","commit_id":"637220fc9a8efd88a689cef412d58b619096f7b0"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"a4d58ad6f4f3bb03d1ffb45c263b955424f90d41","unresolved":false,"context_lines":[{"line_number":2097,"context_line":"            # string freeze (Liberty)."},{"line_number":2098,"context_line":"            LOG.debug(\"It\u0027s not supported to backup volume backed instance.\","},{"line_number":2099,"context_line":"                      context\u003dcontext, instance\u003dinstance)"},{"line_number":2100,"context_line":"            raise exception.BackupVolumeBackedNotSupported()"},{"line_number":2101,"context_line":"        else:"},{"line_number":2102,"context_line":"            image_meta \u003d self._create_image(context, instance,"},{"line_number":2103,"context_line":"                                            name, \u0027backup\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_9c7399e7","line":2100,"in_reply_to":"5afe65bd_578d1330","updated":"2015-06-03 01:33:20.000000000","message":"I think it\u0027s not a InvalidInput error.It\u0027s just function not supported.\nAnd maybe change InvalidRequest exception format is not good.It will break InvalidRequest original meaning.","commit_id":"637220fc9a8efd88a689cef412d58b619096f7b0"},{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"e8c2a8f64fd9835eb8e5e49c98043143a7fe25fe","unresolved":false,"context_lines":[{"line_number":2097,"context_line":"            # string freeze (Liberty)."},{"line_number":2098,"context_line":"            LOG.debug(\"It\u0027s not supported to backup volume backed instance.\","},{"line_number":2099,"context_line":"                      context\u003dcontext, instance\u003dinstance)"},{"line_number":2100,"context_line":"            raise exception.BackupVolumeBackedNotSupported()"},{"line_number":2101,"context_line":"        else:"},{"line_number":2102,"context_line":"            image_meta \u003d self._create_image(context, instance,"},{"line_number":2103,"context_line":"                                            name, \u0027backup\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5afe65bd_a264ece4","line":2100,"in_reply_to":"5afe65bd_9c7399e7","updated":"2015-06-03 02:11:28.000000000","message":"I agree with wangxiyuan, because the exception name should return the matched info based on its name.Thanks","commit_id":"637220fc9a8efd88a689cef412d58b619096f7b0"}],"nova/exception.py":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"56108f04fa05c6997f22071d7bbdfd2eebaf1f16","unresolved":false,"context_lines":[{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"class BackupVolumeBackedNotSupported(NovaException):"},{"line_number":1178,"context_line":"    msg_fmt \u003d _(\"It\u0027s not supported to backup volume backed instance\")"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":""},{"line_number":1181,"context_line":"class KeyPairExists(NovaException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_ff806c48","line":1178,"updated":"2015-06-02 05:20:58.000000000","message":"I think:\n\"Creating backups for volume backed instances is not supported\"\nReads better.","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"ab91f0522dbeada92c331999f81420b735c5ef36","unresolved":false,"context_lines":[{"line_number":1175,"context_line":""},{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"class BackupVolumeBackedNotSupported(NovaException):"},{"line_number":1178,"context_line":"    msg_fmt \u003d _(\"It\u0027s not supported to backup volume backed instance\")"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":""},{"line_number":1181,"context_line":"class KeyPairExists(NovaException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_52ee578c","line":1178,"in_reply_to":"5afe65bd_ff806c48","updated":"2015-06-02 06:32:26.000000000","message":"Done","commit_id":"fe91961f731efadc4b5be2dca02f5cfcd7106e43"}]}
