)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"dc15dcc6f620f4aeb2332d1da0dd06f2722b4bd2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Justin A Wilson \u003cjustin.wilson@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-10-17 11:06:48 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Convert dicts objects to OVO"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Dicts that were previously passed in by ID are now versioned"},{"line_number":10,"context_line":"objects that are passed into functions directly. The old way of doing"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da6895a0_f0d27dff","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":7},"updated":"2016-10-25 17:51:17.000000000","message":"This change deals with touches the rstore_backup and backup in general. I believe its worthy mentioning that in the commit message to add clarity.\n\nThere are plenty of \"Converts dict to ovo\"","commit_id":"49885e7c06fb4877df2f4fb0d44fe776914a5691"}],"cinder/backup/api.py":[{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"dc15dcc6f620f4aeb2332d1da0dd06f2722b4bd2","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        self.db.volume_update(context, volume_id, {\u0027status\u0027:"},{"line_number":397,"context_line":"                                                   \u0027restoring-backup\u0027})"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"        self.backup_rpcapi.restore_backup(context, backup.host, backup, volume)"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        d \u003d {\u0027backup_id\u0027: backup_id,"},{"line_number":402,"context_line":"             \u0027volume_id\u0027: volume_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6895a0_2ba1e4a3","line":399,"updated":"2016-10-25 17:51:17.000000000","message":"The volume here is not object...it is still a dict","commit_id":"49885e7c06fb4877df2f4fb0d44fe776914a5691"}],"cinder/backup/manager.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c896b273d990b5fe727169b578969ee36b8d47d8","unresolved":false,"context_lines":[{"line_number":455,"context_line":"            self._cleanup_temp_volumes_snapshots_when_backup_created("},{"line_number":456,"context_line":"                context, backup)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def restore_backup(self, context, backup, volume_id, volume\u003dNone):"},{"line_number":459,"context_line":"        \"\"\"Restore volume backups from configured backup service.\"\"\""},{"line_number":460,"context_line":"        LOG.info(_LI(\u0027Restore backup started, backup: %(backup_id)s \u0027"},{"line_number":461,"context_line":"                     \u0027volume: %(volume_id)s.\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_c77910fe","line":458,"updated":"2016-09-21 19:25:29.000000000","message":"If we pass volume object, we should remove volume_id param","commit_id":"202abdb76a7186ff0163eab2c0439c25be6016f1"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d88f229eed8124796527902769d0fdc74e461794","unresolved":false,"context_lines":[{"line_number":455,"context_line":"            self._cleanup_temp_volumes_snapshots_when_backup_created("},{"line_number":456,"context_line":"                context, backup)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def restore_backup(self, context, backup, volume_id, volume\u003dNone):"},{"line_number":459,"context_line":"        \"\"\"Restore volume backups from configured backup service.\"\"\""},{"line_number":460,"context_line":"        LOG.info(_LI(\u0027Restore backup started, backup: %(backup_id)s \u0027"},{"line_number":461,"context_line":"                     \u0027volume: %(volume_id)s.\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_5cf9564d","line":458,"range":{"start_line":458,"start_character":0,"end_line":458,"end_character":70},"updated":"2016-09-21 20:06:33.000000000","message":"You\u0027re not changing cinder.backup.rpcapi, so restore_backup casts from c-api will not send this parameter. Here\u0027s an example how to approach it: https://review.openstack.org/#/c/265266/","commit_id":"7a2557c0860be66e3ee148e879e3ddbdd1c1e3c7"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"dc15dcc6f620f4aeb2332d1da0dd06f2722b4bd2","unresolved":false,"context_lines":[{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def restore_backup(self, context, backup, volume_id, volume\u003dNone):"},{"line_number":459,"context_line":"        \"\"\"Restore volume backups from configured backup service.\"\"\""},{"line_number":460,"context_line":"        if volume is None:"},{"line_number":461,"context_line":"            volume \u003d objects.Volume.get_by_id(context, volume_id)"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        LOG.info(_LI(\u0027Restore backup started, backup: %(backup_id)s \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6895a0_eb960c4b","line":460,"updated":"2016-10-25 17:51:17.000000000","message":"here you need to unpack the mg_args to get volume ...if volume if None..then get the dict using volume \u003d objects.Volume.get_by_id(context, volume_id)","commit_id":"49885e7c06fb4877df2f4fb0d44fe776914a5691"}],"cinder/backup/rpcapi.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3574137398347d9f4f604fc0daa21f4639033aab","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        cctxt \u003d self.client.prepare(server\u003dbackup.host, version\u003dversion)"},{"line_number":64,"context_line":"        cctxt.cast(ctxt, \u0027create_backup\u0027, backup\u003dbackup)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def restore_backup(self, ctxt, volume_host, backup, volume):"},{"line_number":67,"context_line":"        LOG.debug(\"restore_backup in rpcapi backup_id %s\", backup.id)"},{"line_number":68,"context_line":"        version \u003d \u00272.0\u0027"},{"line_number":69,"context_line":"        cctxt \u003d self.client.prepare(server\u003dvolume_host, version\u003dversion)"},{"line_number":70,"context_line":"        cctxt.cast(ctxt, \u0027restore_backup\u0027, backup\u003dbackup,"},{"line_number":71,"context_line":"                   volume\u003dvolume)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def delete_backup(self, ctxt, backup):"},{"line_number":74,"context_line":"        LOG.debug(\"delete_backup  rpcapi backup_id %s\", backup.id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a95cdbc_cef9afca","line":71,"range":{"start_line":66,"start_character":0,"end_line":71,"end_character":33},"updated":"2016-10-05 08:04:55.000000000","message":"For changes to rpcapi/manager pair you need to try to keep backward compatibility. An example of how to approach it is in my comment on previous patchset.","commit_id":"0f1812e44a20591675a887a7933b969ca435435f"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"dc15dcc6f620f4aeb2332d1da0dd06f2722b4bd2","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        2.0 - Remove 1.x compatibility"},{"line_number":48,"context_line":"    \"\"\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    RPC_API_VERSION \u003d \u00272.0\u0027"},{"line_number":51,"context_line":"    TOPIC \u003d constants.BACKUP_TOPIC"},{"line_number":52,"context_line":"    BINARY \u003d \u0027cinder-backup\u0027"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"da6895a0_4bee18ed","line":50,"updated":"2016-10-25 17:51:17.000000000","message":"You need to bump up the RPC version here to 2.1 and also add a comment above.","commit_id":"49885e7c06fb4877df2f4fb0d44fe776914a5691"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"dc15dcc6f620f4aeb2332d1da0dd06f2722b4bd2","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def restore_backup(self, ctxt, volume_host, backup, volume_id,"},{"line_number":67,"context_line":"                       volume\u003dNone):"},{"line_number":68,"context_line":"        LOG.debug(\"restore_backup in rpcapi backup_id %s\", backup.id)"},{"line_number":69,"context_line":"        version \u003d \u00272.0\u0027"},{"line_number":70,"context_line":"        if volume is not None:"},{"line_number":71,"context_line":"            vol_id \u003d volume.id"},{"line_number":72,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6895a0_abb5f4ee","line":69,"range":{"start_line":69,"start_character":21,"end_line":69,"end_character":22},"updated":"2016-10-25 17:51:17.000000000","message":"This needs to be bumped to here.\n\nPlease use the msg_args\n\n approach used in this patch\n\nhttps://review.openstack.org/#/c/246600/43/cinder/volume/rpcapi.py","commit_id":"49885e7c06fb4877df2f4fb0d44fe776914a5691"}],"cinder/consistencygroup/api.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c896b273d990b5fe727169b578969ee36b8d47d8","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        return group"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def create_from_src(self, context, name, description\u003dNone,"},{"line_number":175,"context_line":"                        cgsnapshot_id\u003dNone, source_cgid\u003dNone, cgsnapshot\u003dNone,"},{"line_number":176,"context_line":"                        source_cg\u003dNone):"},{"line_number":177,"context_line":"        check_policy(context, \u0027create\u0027)"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_a771640e","line":175,"range":{"start_line":175,"start_character":62,"end_line":175,"end_character":72},"updated":"2016-09-21 19:25:29.000000000","message":"The same here: no need to pass both  cgsnapshot_id and cgsnapshot","commit_id":"202abdb76a7186ff0163eab2c0439c25be6016f1"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3574137398347d9f4f604fc0daa21f4639033aab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1a95cdbc_6e633bb2","updated":"2016-10-05 08:04:55.000000000","message":"I don\u0027t understand why you\u0027re making changes in this file. api.py files are internal, and are not on the edges of service boundaries, so it doesn\u0027t really matter for the sake of upgradability.","commit_id":"0f1812e44a20591675a887a7933b969ca435435f"}],"cinder/group/api.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c896b273d990b5fe727169b578969ee36b8d47d8","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def create_from_src(self, context, name, description\u003dNone,"},{"line_number":190,"context_line":"                        group_snapshot_id\u003dNone, source_group_id\u003dNone,"},{"line_number":191,"context_line":"                        group_snapshot\u003dNone, source_group\u003dNone):"},{"line_number":192,"context_line":"        check_policy(context, \u0027create\u0027)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        kwargs \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_0757785a","line":191,"updated":"2016-09-21 19:25:29.000000000","message":"The same as in previous files","commit_id":"202abdb76a7186ff0163eab2c0439c25be6016f1"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3574137398347d9f4f604fc0daa21f4639033aab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1a95cdbc_8e5887fc","updated":"2016-10-05 08:04:55.000000000","message":"ditto","commit_id":"0f1812e44a20591675a887a7933b969ca435435f"}]}
