)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6b4310d3904e26740febf82116d9e91b0e812415","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dai, Dang Van \u003cdaidv3@viettel.com.vn\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-10-31 18:19:31 +0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] Update incremental backup flow"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For now, every first backup is full backup"},{"line_number":10,"context_line":"and others always do the incremental backup"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_9e980168","line":7,"range":{"start_line":7,"start_character":13,"end_line":7,"end_character":24},"updated":"2018-10-31 16:22:51.000000000","message":"differential","commit_id":"c869c5be7e6c2a39099bc6a095f100f35f6e2590"}],"cinder/backup/drivers/ceph.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bb233abf995c3b1308959ae39e2360776dc43493","unresolved":false,"context_lines":[{"line_number":292,"context_line":"    def _connect_to_rados(self, pool\u003dNone):"},{"line_number":293,"context_line":"        \"\"\"Establish connection to the backup Ceph cluster.\"\"\""},{"line_number":294,"context_line":"        client \u003d eventlet.tpool.Proxy(self.rados.Rados("},{"line_number":295,"context_line":"            rados_id\u003dself._ceph_backup_user,"},{"line_number":296,"context_line":"            conffile\u003dself._ceph_backup_conf))"},{"line_number":297,"context_line":"        try:"},{"line_number":298,"context_line":"            client.connect()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_70551b1f","line":295,"updated":"2018-10-31 11:23:15.000000000","message":"Change in indent is not correct. (Or related)","commit_id":"120ca5fafe1e51810df9e8185b023286f778f676"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bb233abf995c3b1308959ae39e2360776dc43493","unresolved":false,"context_lines":[{"line_number":477,"context_line":"                      {\u0027basename\u0027: base_name, \u0027volume\u0027: volume_id})"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"        with eventlet.tpool.Proxy(rbd_driver.RADOSClient(self,"},{"line_number":480,"context_line":"                                                         backup.container)) as client:"},{"line_number":481,"context_line":"            rbd_exists, base_name \u003d \\"},{"line_number":482,"context_line":"                self._rbd_image_exists(base_name, volume_id, client,"},{"line_number":483,"context_line":"                                       base_id\u003dbackup.base_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_304fa38d","line":480,"updated":"2018-10-31 11:23:15.000000000","message":"Same.","commit_id":"120ca5fafe1e51810df9e8185b023286f778f676"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bb233abf995c3b1308959ae39e2360776dc43493","unresolved":false,"context_lines":[{"line_number":637,"context_line":"    def _snap_exists(self, base_name, snap_name, client):"},{"line_number":638,"context_line":"        \"\"\"Return True if snapshot exists in base image.\"\"\""},{"line_number":639,"context_line":"        base_rbd \u003d eventlet.tpool.Proxy(self.rbd.Image(client.ioctx,"},{"line_number":640,"context_line":"                                                       base_name, read_only\u003dTrue))"},{"line_number":641,"context_line":"        try:"},{"line_number":642,"context_line":"            snaps \u003d base_rbd.list_snaps()"},{"line_number":643,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d0298fa2","line":640,"updated":"2018-10-31 11:23:15.000000000","message":"Same","commit_id":"120ca5fafe1e51810df9e8185b023286f778f676"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bb233abf995c3b1308959ae39e2360776dc43493","unresolved":false,"context_lines":[{"line_number":665,"context_line":"                                               diff_format\u003dTrue)"},{"line_number":666,"context_line":"        image_created \u003d False"},{"line_number":667,"context_line":"        with eventlet.tpool.Proxy(rbd_driver.RADOSClient(self,"},{"line_number":668,"context_line":"                                                         backup.container)) as client:"},{"line_number":669,"context_line":"            # If from_snap does not exist at the destination (and the"},{"line_number":670,"context_line":"            # destination exists), this implies a previous backup has failed."},{"line_number":671,"context_line":"            # In this case we will force a full backup."}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f02e0ba9","line":668,"updated":"2018-10-31 11:23:15.000000000","message":"Same.","commit_id":"120ca5fafe1e51810df9e8185b023286f778f676"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bb233abf995c3b1308959ae39e2360776dc43493","unresolved":false,"context_lines":[{"line_number":767,"context_line":"        backup_name \u003d self._get_backup_base_name(volume_id, backup.id)"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"        with eventlet.tpool.Proxy(rbd_driver.RADOSClient(self,"},{"line_number":770,"context_line":"                                                         backup.container)) as client:"},{"line_number":771,"context_line":"            # First create base backup image"},{"line_number":772,"context_line":"            old_format, features \u003d self._get_rbd_support()"},{"line_number":773,"context_line":"            LOG.debug(\"Creating backup base image\u003d\u0027%(name)s\u0027 for volume \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_90331713","line":770,"updated":"2018-10-31 11:23:15.000000000","message":"Apparently a lot of these throughout the rest.","commit_id":"120ca5fafe1e51810df9e8185b023286f778f676"}],"tox.ini":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bb233abf995c3b1308959ae39e2360776dc43493","unresolved":false,"context_lines":[{"line_number":31,"context_line":"passenv \u003d *_proxy *_PROXY"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"[testenv:api-ref]"},{"line_number":34,"context_line":"basepython \u003d python2"},{"line_number":35,"context_line":"whitelist_externals \u003d rm"},{"line_number":36,"context_line":"deps \u003d"},{"line_number":37,"context_line":"    -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}"}],"source_content_type":"text/x-properties","patch_set":1,"id":"3f79a3b5_302483c3","line":34,"range":{"start_line":34,"start_character":19,"end_line":34,"end_character":20},"updated":"2018-10-31 11:23:15.000000000","message":"I recommend you get python 3.5 set up on your development system so you don\u0027t have to mess with this for testing.","commit_id":"120ca5fafe1e51810df9e8185b023286f778f676"}]}
