)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"4b430d1db523aa9b475dd5170f52833737ce3118","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch is to allow specifying volume_id or snapshot_id or both when"},{"line_number":14,"context_line":"creating backup. It gets volume from snapshot.volume_id when creating"},{"line_number":15,"context_line":"backup from snapshot."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"As snapshot backup is introduced in Mitaka release, I think we can"},{"line_number":18,"context_line":"do the change to make interface simple."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afc51ec_fbefcbe6","line":15,"updated":"2016-03-15 08:13:03.000000000","message":"..from snapshot if volume_id is not specified.","commit_id":"4097beaf114aeceeeedd417a9bfdd83ce8ff837f"}],"cinder/api/contrib/backups.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"51cbcba2bdcf90c77a250b1a5a08ee5d483a6a2e","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        volume_id \u003d backup.get(\u0027volume_id\u0027, None)"},{"line_number":256,"context_line":"        snapshot_id \u003d backup.get(\u0027snapshot_id\u0027, None)"},{"line_number":257,"context_line":"        if ((not volume_id and not snapshot_id) or"},{"line_number":258,"context_line":"                (volume_id and snapshot_id)):"},{"line_number":259,"context_line":"            msg \u003d _(\"Incorrect request body format\")"},{"line_number":260,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_ef9f5b01","line":258,"range":{"start_line":258,"start_character":16,"end_line":258,"end_character":43},"updated":"2016-03-07 22:21:46.000000000","message":"It not okay to specify both? I can understand accepting the vol_id or snap_id by themselves, but I would think it would be okay to have both of them still as well. Right?","commit_id":"f6da4c896c0909acffd1830c1193191c30890a33"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3e1707e33bf7e5a0c4f61b309c7e7a55ce54a0fb","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        volume_id \u003d backup.get(\u0027volume_id\u0027, None)"},{"line_number":256,"context_line":"        snapshot_id \u003d backup.get(\u0027snapshot_id\u0027, None)"},{"line_number":257,"context_line":"        if ((not volume_id and not snapshot_id) or"},{"line_number":258,"context_line":"                (volume_id and snapshot_id)):"},{"line_number":259,"context_line":"            msg \u003d _(\"Incorrect request body format\")"},{"line_number":260,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_9fc85724","line":258,"range":{"start_line":258,"start_character":16,"end_line":258,"end_character":43},"in_reply_to":"5aef4532_29693bbf","updated":"2016-03-08 19:04:18.000000000","message":"Okay that makes sense, but is specifying both values an incorrect body format? Wouldn\u0027t it be okay to have both of them?","commit_id":"f6da4c896c0909acffd1830c1193191c30890a33"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"255646b3dc2d31e6047f036174826c4d6044acac","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        volume_id \u003d backup.get(\u0027volume_id\u0027, None)"},{"line_number":256,"context_line":"        snapshot_id \u003d backup.get(\u0027snapshot_id\u0027, None)"},{"line_number":257,"context_line":"        if ((not volume_id and not snapshot_id) or"},{"line_number":258,"context_line":"                (volume_id and snapshot_id)):"},{"line_number":259,"context_line":"            msg \u003d _(\"Incorrect request body format\")"},{"line_number":260,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_3b30259e","line":258,"range":{"start_line":258,"start_character":16,"end_line":258,"end_character":43},"in_reply_to":"5aef4532_9fc85724","updated":"2016-03-09 03:15:54.000000000","message":"In patch 3, this is not allowed. I would like to get a decision, and then update the patch.","commit_id":"f6da4c896c0909acffd1830c1193191c30890a33"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"c0816e268c623ae3c8aadb9f18596a7d97603340","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        volume_id \u003d backup.get(\u0027volume_id\u0027, None)"},{"line_number":256,"context_line":"        snapshot_id \u003d backup.get(\u0027snapshot_id\u0027, None)"},{"line_number":257,"context_line":"        if ((not volume_id and not snapshot_id) or"},{"line_number":258,"context_line":"                (volume_id and snapshot_id)):"},{"line_number":259,"context_line":"            msg \u003d _(\"Incorrect request body format\")"},{"line_number":260,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_29693bbf","line":258,"range":{"start_line":258,"start_character":16,"end_line":258,"end_character":43},"in_reply_to":"5aef4532_ef9f5b01","updated":"2016-03-08 01:03:08.000000000","message":"Yes, three choices: only volume_id, only snapshot_id, or both volume_id and snapshot_id. In last case, there will be check whether volume_id matches snapshot.volume_id.","commit_id":"f6da4c896c0909acffd1830c1193191c30890a33"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"4b430d1db523aa9b475dd5170f52833737ce3118","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        force \u003d backup.get(\u0027force\u0027, False)"},{"line_number":267,"context_line":"        LOG.info(_LI(\"Creating backup of volume %(volume_id)s in container\""},{"line_number":268,"context_line":"                     \" %(container)s\"),"},{"line_number":269,"context_line":"                 {\u0027volume_id\u0027: volume_id, \u0027container\u0027: container},"},{"line_number":270,"context_line":"                 context\u003dcontext)"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afc51ec_40c9ae25","line":269,"range":{"start_line":269,"start_character":31,"end_line":269,"end_character":40},"updated":"2016-03-15 08:13:03.000000000","message":"You may need to fix this.","commit_id":"4097beaf114aeceeeedd417a9bfdd83ce8ff837f"}]}
