)]}'
{"cinder/volume/api.py":[{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"921e153bc2e251ab77303d89e997d3f306899275","unresolved":false,"context_lines":[{"line_number":756,"context_line":"            msg \u003d _(\"Snapshot of secondary replica is not allowed.\")"},{"line_number":757,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        if volume[\u0027status\u0027] not in [\"available\", \"in-use\"]:"},{"line_number":760,"context_line":"            msg \u003d _(\"Volume %(vol_id)s status must be available \""},{"line_number":761,"context_line":"                    \"or in-use, but current status is: \""},{"line_number":762,"context_line":"                    \"%(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_02862a65","line":759,"updated":"2015-11-25 15:12:21.000000000","message":"Why not delete L743 - L757?","commit_id":"d2e81cbfb3a76bfb99c3619ca6ec7eb0310a8488"},{"author":{"_account_id":11884,"name":"Masaki Kanno","email":"kanno.masaki@jp.fujitsu.com","username":"Kanno"},"change_message_id":"9e35100f7d0084457997182d2ea8e7e261c70e57","unresolved":false,"context_lines":[{"line_number":756,"context_line":"            msg \u003d _(\"Snapshot of secondary replica is not allowed.\")"},{"line_number":757,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        if volume[\u0027status\u0027] not in [\"available\", \"in-use\"]:"},{"line_number":760,"context_line":"            msg \u003d _(\"Volume %(vol_id)s status must be available \""},{"line_number":761,"context_line":"                    \"or in-use, but current status is: \""},{"line_number":762,"context_line":"                    \"%(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_3eb7a787","line":759,"in_reply_to":"9a8ffd7b_02862a65","updated":"2015-11-26 04:21:42.000000000","message":"I think that the lines should not be deleted because special messages are prepared for volumes of \"maintenance\" status and \"replica_*\" status.","commit_id":"d2e81cbfb3a76bfb99c3619ca6ec7eb0310a8488"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"55a7a4ecd033148f464e49c0075ec27c6356404e","unresolved":false,"context_lines":[{"line_number":756,"context_line":"            msg \u003d _(\"Snapshot of secondary replica is not allowed.\")"},{"line_number":757,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        if volume[\u0027status\u0027] not in [\"available\", \"in-use\"]:"},{"line_number":760,"context_line":"            msg \u003d _(\"Volume %(vol_id)s status must be available \""},{"line_number":761,"context_line":"                    \"or in-use, but current status is: \""},{"line_number":762,"context_line":"                    \"%(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_dd618a3a","line":759,"in_reply_to":"9a8ffd7b_3eb7a787","updated":"2015-11-27 05:31:38.000000000","message":"Seems that you can pop up with an error message like: Snapshot cannot be created as the volume %(volume)s is in %(status)s. It can cover the above messages. How do you think? \n\nDelete the code in L743-L748, and L754 - L757.\n\nAnd another concerns: \n\nExcept relica_*, maintenance, in-use, available, there are other status: creating, downloading, attaching etc. Are you sure you just want to do snapshot creation for in-use an available?","commit_id":"d2e81cbfb3a76bfb99c3619ca6ec7eb0310a8488"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"f1dc62bfdd0ac9dfd5145f10803de5f53ccfc989","unresolved":false,"context_lines":[{"line_number":756,"context_line":"            msg \u003d _(\"Snapshot of secondary replica is not allowed.\")"},{"line_number":757,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        if volume[\u0027status\u0027] not in [\"available\", \"in-use\"]:"},{"line_number":760,"context_line":"            msg \u003d _(\"Volume %(vol_id)s status must be available \""},{"line_number":761,"context_line":"                    \"or in-use, but current status is: \""},{"line_number":762,"context_line":"                    \"%(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_17d0d3c8","line":759,"in_reply_to":"9a8ffd7b_ae1e8909","updated":"2015-12-01 05:19:53.000000000","message":"Hi Masaki, with your patch, a volume in attaching/detaching/backing-up can\u0027t be created snapshops, this is not correct.\n\nCurrently snapshot-create allows the above operations.","commit_id":"d2e81cbfb3a76bfb99c3619ca6ec7eb0310a8488"},{"author":{"_account_id":15359,"name":"Erickson Filipe Guedes dos Santos","email":"erickson@lsd.ufcg.edu.br","username":"ericksonfilipe"},"change_message_id":"42c953ab06f81007522212c9039d1680b34b51bb","unresolved":false,"context_lines":[{"line_number":756,"context_line":"            msg \u003d _(\"Snapshot of secondary replica is not allowed.\")"},{"line_number":757,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        if volume[\u0027status\u0027] not in [\"available\", \"in-use\"]:"},{"line_number":760,"context_line":"            msg \u003d _(\"Volume %(vol_id)s status must be available \""},{"line_number":761,"context_line":"                    \"or in-use, but current status is: \""},{"line_number":762,"context_line":"                    \"%(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_2b1f0209","line":759,"in_reply_to":"9a8ffd7b_dd618a3a","updated":"2015-11-28 11:17:35.000000000","message":"++","commit_id":"d2e81cbfb3a76bfb99c3619ca6ec7eb0310a8488"},{"author":{"_account_id":11884,"name":"Masaki Kanno","email":"kanno.masaki@jp.fujitsu.com","username":"Kanno"},"change_message_id":"ef2437d507f5109b944122a6e3129cdbd9243fdb","unresolved":false,"context_lines":[{"line_number":756,"context_line":"            msg \u003d _(\"Snapshot of secondary replica is not allowed.\")"},{"line_number":757,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"        if volume[\u0027status\u0027] not in [\"available\", \"in-use\"]:"},{"line_number":760,"context_line":"            msg \u003d _(\"Volume %(vol_id)s status must be available \""},{"line_number":761,"context_line":"                    \"or in-use, but current status is: \""},{"line_number":762,"context_line":"                    \"%(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_ae1e8909","line":759,"in_reply_to":"9a8ffd7b_dd618a3a","updated":"2015-11-30 09:27:57.000000000","message":"Thanks, Lisa. I will accept your error message for next patch set.\n\nI think that a content of a volume of status: creating, deleting, error, error_deleting, restoring-backup, error_restoring and error_extending is incomplete.\n\nA content of volume of status: attaching, detaching and backing-up may be complete, but I think that we should not handle multiple APIs at a time for the volume.","commit_id":"d2e81cbfb3a76bfb99c3619ca6ec7eb0310a8488"},{"author":{"_account_id":15359,"name":"Erickson Filipe Guedes dos Santos","email":"erickson@lsd.ufcg.edu.br","username":"ericksonfilipe"},"change_message_id":"42c953ab06f81007522212c9039d1680b34b51bb","unresolved":false,"context_lines":[{"line_number":893,"context_line":"                    \"%(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"},{"line_number":894,"context_line":"                                          \u0027vol_status\u0027: volume[\u0027status\u0027]}"},{"line_number":895,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":896,"context_line":"        elif volume[\u0027status\u0027] in [\"in-use\"] and not force:"},{"line_number":897,"context_line":"            msg \u003d _(\"Snapshotting an in-use volume must use \""},{"line_number":898,"context_line":"                    \"the force flag.\")"},{"line_number":899,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_ab3212a5","line":896,"updated":"2015-11-28 11:17:35.000000000","message":"You are comparing strings, IMHO, I think you should use \"\u003d\u003d\" instead of \"in\"","commit_id":"d2e81cbfb3a76bfb99c3619ca6ec7eb0310a8488"},{"author":{"_account_id":11884,"name":"Masaki Kanno","email":"kanno.masaki@jp.fujitsu.com","username":"Kanno"},"change_message_id":"ef2437d507f5109b944122a6e3129cdbd9243fdb","unresolved":false,"context_lines":[{"line_number":893,"context_line":"                    \"%(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"},{"line_number":894,"context_line":"                                          \u0027vol_status\u0027: volume[\u0027status\u0027]}"},{"line_number":895,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":896,"context_line":"        elif volume[\u0027status\u0027] in [\"in-use\"] and not force:"},{"line_number":897,"context_line":"            msg \u003d _(\"Snapshotting an in-use volume must use \""},{"line_number":898,"context_line":"                    \"the force flag.\")"},{"line_number":899,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_aea1a995","line":896,"in_reply_to":"9a8ffd7b_ab3212a5","updated":"2015-11-30 09:27:57.000000000","message":"Thanks, Erickson. I will do it.","commit_id":"d2e81cbfb3a76bfb99c3619ca6ec7eb0310a8488"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"d91406fa4b6e13754bab2fbe44ad9b9440afd26b","unresolved":false,"context_lines":[{"line_number":740,"context_line":"                              cgsnapshot_id):"},{"line_number":741,"context_line":"        check_policy(context, \u0027create_snapshot\u0027, volume)"},{"line_number":742,"context_line":""},{"line_number":743,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027maintenance\u0027:"},{"line_number":744,"context_line":"            LOG.info(_LI(\u0027Unable to create the snapshot for volume, \u0027"},{"line_number":745,"context_line":"                         \u0027because it is in maintenance.\u0027), resource\u003dvolume)"},{"line_number":746,"context_line":"            msg \u003d _(\"The snapshot cannot be created when the volume is in \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_af3d8690","side":"PARENT","line":743,"updated":"2015-12-11 14:52:48.000000000","message":"The same as below","commit_id":"f1fcdd61926198534e74f19fc9fab6751941804f"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"28624f6c6f7f0bb35c66823e7d0f30a23f201dbe","unresolved":false,"context_lines":[{"line_number":740,"context_line":"                              cgsnapshot_id):"},{"line_number":741,"context_line":"        check_policy(context, \u0027create_snapshot\u0027, volume)"},{"line_number":742,"context_line":""},{"line_number":743,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027maintenance\u0027:"},{"line_number":744,"context_line":"            LOG.info(_LI(\u0027Unable to create the snapshot for volume, \u0027"},{"line_number":745,"context_line":"                         \u0027because it is in maintenance.\u0027), resource\u003dvolume)"},{"line_number":746,"context_line":"            msg \u003d _(\"The snapshot cannot be created when the volume is in \""}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_fcf24705","side":"PARENT","line":743,"in_reply_to":"7a740942_af3d8690","updated":"2016-06-28 16:32:27.000000000","message":"Hi Ivan. Why \u0027maintenance\u0027 status should raise a special exception? It isn\u0027t being included in the new \u0027if\u0027 ?","commit_id":"f1fcdd61926198534e74f19fc9fab6751941804f"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"d91406fa4b6e13754bab2fbe44ad9b9440afd26b","unresolved":false,"context_lines":[{"line_number":872,"context_line":"    def _create_snapshot_in_db_validate(self, context, volume, force):"},{"line_number":873,"context_line":"        check_policy(context, \u0027create_snapshot\u0027, volume)"},{"line_number":874,"context_line":""},{"line_number":875,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027maintenance\u0027:"},{"line_number":876,"context_line":"            LOG.info(_LI(\u0027Unable to create the snapshot for volume, \u0027"},{"line_number":877,"context_line":"                         \u0027because it is in maintenance.\u0027), resource\u003dvolume)"},{"line_number":878,"context_line":"            msg \u003d _(\"The snapshot cannot be created when the volume is in \""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_6ff55eeb","side":"PARENT","line":875,"updated":"2015-12-11 14:52:48.000000000","message":"Why it is removed?","commit_id":"f1fcdd61926198534e74f19fc9fab6751941804f"},{"author":{"_account_id":11884,"name":"Masaki Kanno","email":"kanno.masaki@jp.fujitsu.com","username":"Kanno"},"change_message_id":"0bddd7081d22036aaf78fd1b1e975028c2e701ae","unresolved":false,"context_lines":[{"line_number":872,"context_line":"    def _create_snapshot_in_db_validate(self, context, volume, force):"},{"line_number":873,"context_line":"        check_policy(context, \u0027create_snapshot\u0027, volume)"},{"line_number":874,"context_line":""},{"line_number":875,"context_line":"        if volume[\u0027status\u0027] \u003d\u003d \u0027maintenance\u0027:"},{"line_number":876,"context_line":"            LOG.info(_LI(\u0027Unable to create the snapshot for volume, \u0027"},{"line_number":877,"context_line":"                         \u0027because it is in maintenance.\u0027), resource\u003dvolume)"},{"line_number":878,"context_line":"            msg \u003d _(\"The snapshot cannot be created when the volume is in \""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_e80061ad","side":"PARENT","line":875,"in_reply_to":"7a740942_6ff55eeb","updated":"2016-01-10 16:11:54.000000000","message":"I would like to simplify the code of the conditions that cannot create a snapshot. Should I not have removed the code?","commit_id":"f1fcdd61926198534e74f19fc9fab6751941804f"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"124623fb197b920392556ee44e62a46f626ce764","unresolved":false,"context_lines":[{"line_number":745,"context_line":"            msg \u003d _(\"Snapshot cannot be created while volume is migrating.\")"},{"line_number":746,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":747,"context_line":""},{"line_number":748,"context_line":"        if volume[\u0027status\u0027] not in [\u0027available\u0027, \u0027in-use\u0027, \u0027attaching\u0027,"},{"line_number":749,"context_line":"                                    \u0027detaching\u0027, \u0027backing-up\u0027]:"},{"line_number":750,"context_line":"            msg \u003d _(\"Snapshot cannot be created as the volume %(vol_id)s is \""},{"line_number":751,"context_line":"                    \"in %(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_8e70cda5","line":748,"updated":"2016-01-10 23:10:33.000000000","message":"In future, if there are additional valid states for the volume then this list needs to be updated. This approach is not necessarily scalable in that respect. \n\nAlso are you sure if snapshot is to be disallowed for volume states like \"retyping\", \"awaiting-transfer\" etc?","commit_id":"418e73ae70cf96d64ea073779ade10a9e6630f13"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"124623fb197b920392556ee44e62a46f626ce764","unresolved":false,"context_lines":[{"line_number":870,"context_line":"            msg \u003d _(\"Snapshot cannot be created while volume is migrating.\")"},{"line_number":871,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"        if volume[\u0027status\u0027] not in [\u0027available\u0027, \u0027in-use\u0027, \u0027attaching\u0027,"},{"line_number":874,"context_line":"                                    \u0027detaching\u0027, \u0027backing-up\u0027]:"},{"line_number":875,"context_line":"            msg \u003d _(\"Snapshot cannot be created as the volume %(vol_id)s is \""},{"line_number":876,"context_line":"                    \"in %(vol_status)s.\") % {\u0027vol_id\u0027: volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_2e6a01b4","line":873,"updated":"2016-01-10 23:10:33.000000000","message":"ditto","commit_id":"418e73ae70cf96d64ea073779ade10a9e6630f13"}]}
