)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"1c569570c6f0c397702f7bea4102801472c1c6a8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"1. It checks an existing config option backup_use_same_host."},{"line_number":17,"context_line":"   By default, this option is False."},{"line_number":18,"context_line":"2. When the backup service starts, it checks the above option. If"},{"line_number":19,"context_line":"   the option is True, get volume backends on the same backup node."},{"line_number":20,"context_line":"3. If the option is True and backup_use_temp_snapshot returns True,"},{"line_number":21,"context_line":"   volume service returns the snapshot to the backup service in"},{"line_number":22,"context_line":"   get_backup_device and backup will be performed using the snapshot."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9abb7d3a_369bc267","line":19,"updated":"2016-06-01 17:48:14.000000000","message":"I think this sentence is unclear.","commit_id":"41af69f0c17213c6334d71a68ca31c823961995c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8be0a586855554e250058d94a6b116eec7ac20d5","unresolved":false,"context_lines":[{"line_number":16,"context_line":"1. It checks an existing config option backup_use_same_host."},{"line_number":17,"context_line":"   By default, this option is False."},{"line_number":18,"context_line":"2. When the backup service starts, it checks the above option. If"},{"line_number":19,"context_line":"   the option is True, get volume backends on the same backup node."},{"line_number":20,"context_line":"3. If the option is True and backup_use_temp_snapshot returns True,"},{"line_number":21,"context_line":"   volume service returns the snapshot to the backup service in"},{"line_number":22,"context_line":"   get_backup_device and backup will be performed using the snapshot."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9abb7d3a_e29e9461","line":19,"in_reply_to":"9abb7d3a_369bc267","updated":"2016-06-01 18:47:16.000000000","message":"Ok, I\u0027ll try to explain better in the next patch set.","commit_id":"41af69f0c17213c6334d71a68ca31c823961995c"}],"cinder/backup/manager.py":[{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"a1f9e260d3b44d4f1b14e274cedb4d85c62cb6a0","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                raise exception.BackupFailedToGetVolumeBackend(msg)"},{"line_number":105,"context_line":"        else:"},{"line_number":106,"context_line":"            LOG.debug(\"Checking hostname \u0027%s\u0027 for backend info.\", host)"},{"line_number":107,"context_line":"            part \u003d host.partition(\u0027@\u0027)"},{"line_number":108,"context_line":"            if (part[1] \u003d\u003d \u0027@\u0027) and (part[2] !\u003d \u0027\u0027):"},{"line_number":109,"context_line":"                backend \u003d part[2]"},{"line_number":110,"context_line":"                LOG.debug(\"Got backend \u0027%s\u0027.\", backend)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_2ccad86e","line":107,"updated":"2016-05-30 14:45:07.000000000","message":"Is it able to use `extract_host` volume/utils.py, or you have other consideration?","commit_id":"ab2498ecab774d4a5caa103e20e1129723cf7617"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ca2e9d39584f2e71792c1d44eb85e362c8074fb4","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                raise exception.BackupFailedToGetVolumeBackend(msg)"},{"line_number":105,"context_line":"        else:"},{"line_number":106,"context_line":"            LOG.debug(\"Checking hostname \u0027%s\u0027 for backend info.\", host)"},{"line_number":107,"context_line":"            part \u003d host.partition(\u0027@\u0027)"},{"line_number":108,"context_line":"            if (part[1] \u003d\u003d \u0027@\u0027) and (part[2] !\u003d \u0027\u0027):"},{"line_number":109,"context_line":"                backend \u003d part[2]"},{"line_number":110,"context_line":"                LOG.debug(\"Got backend \u0027%s\u0027.\", backend)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_44327e11","line":107,"in_reply_to":"9abb7d3a_2ccad86e","updated":"2016-05-31 13:47:05.000000000","message":"I just copied the following code from the stable/liberty (which was removed in Mitaka). I think it may be easier for people to compare with the old code and easier to back port, but I forgot to reference the following code earlier.  I\u0027m open to make improvements to the code though.\n\nhttps://github.com/openstack/cinder/blob/stable/liberty/cinder/backup/manager.py#L110 to #L171","commit_id":"ab2498ecab774d4a5caa103e20e1129723cf7617"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"d8bb023b6b10d2ae1c2da8e28a1e0b02017daa87","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                raise exception.BackupFailedToGetVolumeBackend(msg)"},{"line_number":105,"context_line":"        else:"},{"line_number":106,"context_line":"            LOG.debug(\"Checking hostname \u0027%s\u0027 for backend info.\", host)"},{"line_number":107,"context_line":"            part \u003d host.partition(\u0027@\u0027)"},{"line_number":108,"context_line":"            if (part[1] \u003d\u003d \u0027@\u0027) and (part[2] !\u003d \u0027\u0027):"},{"line_number":109,"context_line":"                backend \u003d part[2]"},{"line_number":110,"context_line":"                LOG.debug(\"Got backend \u0027%s\u0027.\", backend)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_7c6c3735","line":107,"in_reply_to":"9abb7d3a_44327e11","updated":"2016-06-01 03:24:56.000000000","message":"Actually extract_host(\u0027host@backend\u0027, \u0027backend\u0027) will give us \u0027host@backend\u0027 while the existing logic will give us \u0027backend\u0027.  I tried it and they are different.  So I\u0027m keeping the existing logic and added a note.","commit_id":"ab2498ecab774d4a5caa103e20e1129723cf7617"}],"cinder/volume/driver.py":[{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"1c569570c6f0c397702f7bea4102801472c1c6a8","unresolved":false,"context_lines":[{"line_number":996,"context_line":"                    LOG.error(err_msg)"},{"line_number":997,"context_line":"                    raise exception.VolumeBackendAPIException(data\u003dex_msg)"},{"line_number":998,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":999,"context_line":"        return self._connect_device(conn)"},{"line_number":1000,"context_line":""},{"line_number":1001,"context_line":"    def _connect_device(self, conn):"},{"line_number":1002,"context_line":"        # Use Brick\u0027s code to do attach/detach"}],"source_content_type":"text/x-python","patch_set":6,"id":"9abb7d3a_59c957ab","line":999,"updated":"2016-06-01 17:48:14.000000000","message":"This used to return a tuple when called by _backup_device(), and that set attach_info, device.\nAnd the device (snapshot) can change i.e. in L#967 and L#969.\nIt seems this will cause updated information to the device (snapshot) to be lost.","commit_id":"41af69f0c17213c6334d71a68ca31c823961995c"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"8be0a586855554e250058d94a6b116eec7ac20d5","unresolved":false,"context_lines":[{"line_number":996,"context_line":"                    LOG.error(err_msg)"},{"line_number":997,"context_line":"                    raise exception.VolumeBackendAPIException(data\u003dex_msg)"},{"line_number":998,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":999,"context_line":"        return self._connect_device(conn)"},{"line_number":1000,"context_line":""},{"line_number":1001,"context_line":"    def _connect_device(self, conn):"},{"line_number":1002,"context_line":"        # Use Brick\u0027s code to do attach/detach"}],"source_content_type":"text/x-python","patch_set":6,"id":"9abb7d3a_82cce889","line":999,"in_reply_to":"9abb7d3a_59c957ab","updated":"2016-06-01 18:47:16.000000000","message":"This code path was not executed in Mitaka at all.  The issue with the snapshot model_update not being updated has been an existing bug.  I fixed it in another patch here:\n\nhttps://review.openstack.org/#/c/322294/5/cinder/volume/driver.py","commit_id":"41af69f0c17213c6334d71a68ca31c823961995c"}]}
