)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8daf024a9985fd8bd788865243691096ca5178a0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add scenario test of instance/volume snapshot and attach them"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This test is for snapshotting an instance/volume and attach the volume created from snapshot to the instance booted from snapshot."},{"line_number":10,"context_line":"The following is the scenario outline:"},{"line_number":11,"context_line":"1. Boot an instance \"instance1\""},{"line_number":12,"context_line":"2. Create a volume \"volume1\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2F6hE%3D","line":9,"updated":"2013-07-09 10:07:00.000000000","message":"Commit message should be wrapped at 72 characters.\nEspecially, the first line should be limited to 50 characters.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_GIT_commit_message_structure","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"010b2749d0dbfb14ea29df7f26a7800ae42355c5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add scenario test of instance/volume snapshot and attach them"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This test is for snapshotting an instance/volume and attach the volume created from snapshot to the instance booted from snapshot."},{"line_number":10,"context_line":"The following is the scenario outline:"},{"line_number":11,"context_line":"1. Boot an instance \"instance1\""},{"line_number":12,"context_line":"2. Create a volume \"volume1\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2F3XE%3D","line":9,"in_reply_to":"AAAAP3%2F%2F6Ro%3D","updated":"2013-07-10 06:19:52.000000000","message":"Certainly.I\u0027ll add a keyword \"blueprint\".","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ae40a5aa39464acf647fa2db02d8a321e1c6fe25","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add scenario test of instance/volume snapshot and attach them"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This test is for snapshotting an instance/volume and attach the volume created from snapshot to the instance booted from snapshot."},{"line_number":10,"context_line":"The following is the scenario outline:"},{"line_number":11,"context_line":"1. Boot an instance \"instance1\""},{"line_number":12,"context_line":"2. Create a volume \"volume1\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2F6Ro%3D","line":9,"in_reply_to":"AAAAP3%2F%2F6hE%3D","updated":"2013-07-09 11:38:45.000000000","message":"Also a keyword \"blueprint\" is necessary in commit message.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"bb5febf6ed08e6db2a2937c7b16bb8b424be1f9e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add scenario test of instance/volume snapshot and attach them"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This test is for snapshotting an instance/volume and attach the volume created from snapshot to the instance booted from snapshot."},{"line_number":10,"context_line":"The following is the scenario outline:"},{"line_number":11,"context_line":"1. Boot an instance \"instance1\""},{"line_number":12,"context_line":"2. Create a volume \"volume1\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2F3X4%3D","line":9,"in_reply_to":"AAAAP3%2F%2F6hE%3D","updated":"2013-07-10 05:45:10.000000000","message":"Certainly.\nI\u0027ll modify.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"edb8990117ac42057a24fb8c0f2da3f2528643ba","unresolved":false,"context_lines":[{"line_number":21,"context_line":"11. Boot an instance \"instance2\" from snapshot_from_instance"},{"line_number":22,"context_line":"12. Create a volume \"volume2\"  from snapshot_from_volume"},{"line_number":23,"context_line":"13. Attach volume2 to instance2"},{"line_number":24,"context_line":"14. Check an existence of a file which created at 6. in volume2"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: If8eef9c8c4415b8658ac1b13dc2e114dc22378b4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2F30Q%3D","line":24,"updated":"2013-07-10 01:14:22.000000000","message":"What about changing this sentence like this?\r\n Check the existence of the file which is created at 6. in volume2","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"32df588c1d45d2580cb0dcdc44c4bb5bf8039308","unresolved":false,"context_lines":[{"line_number":21,"context_line":"11. Boot an instance \"instance2\" from snapshot_from_instance"},{"line_number":22,"context_line":"12. Create a volume \"volume2\"  from snapshot_from_volume"},{"line_number":23,"context_line":"13. Attach volume2 to instance2"},{"line_number":24,"context_line":"14. Check an existence of a file which created at 6. in volume2"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: If8eef9c8c4415b8658ac1b13dc2e114dc22378b4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2F3UE%3D","line":24,"in_reply_to":"AAAAP3%2F%2F30Q%3D","updated":"2013-07-10 06:32:29.000000000","message":"Certainly. I\u0027ll modify it.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"d59fc928564554b7f9a9cc63e579f8edbb4a142b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add scenario test of instance/volume snapshot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This test is for snapshotting an instance/volume"},{"line_number":10,"context_line":"and attach the volume created from snapshot"},{"line_number":11,"context_line":"to the instance booted from snapshot."},{"line_number":12,"context_line":"The following is the scenario outline:"},{"line_number":13,"context_line":"1. Boot an instance \"instance1\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAP3%2F%2Fgwg%3D","line":10,"updated":"2013-07-17 05:57:27.000000000","message":"Change \"attach\" to \"attaching\".","commit_id":"34b02bab33275301444cd5ad579f8e833ec12654"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"b37b8f7644c3573e67a14aacb7f364f9342ac5bb","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add scenario test of instance/volume snapshot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This test is for snapshotting an instance/volume"},{"line_number":10,"context_line":"and attach the volume created from snapshot"},{"line_number":11,"context_line":"to the instance booted from snapshot."},{"line_number":12,"context_line":"The following is the scenario outline:"},{"line_number":13,"context_line":"1. Boot an instance \"instance1\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAQn%2F%2F%2BJo%3D","line":10,"in_reply_to":"AAAAP3%2F%2Fgwg%3D","updated":"2013-07-18 08:51:54.000000000","message":"Certainly. I\u0027ll modify it.","commit_id":"34b02bab33275301444cd5ad579f8e833ec12654"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"d59fc928564554b7f9a9cc63e579f8edbb4a142b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"11. Boot an instance \"instance2\" from snapshot_from_instance"},{"line_number":24,"context_line":"12. Create a volume \"volume2\"  from snapshot_from_volume"},{"line_number":25,"context_line":"13. Attach volume2 to instance2"},{"line_number":26,"context_line":"14. Check an existence of a file which created at 6. in volume2"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Change-Id: If8eef9c8c4415b8658ac1b13dc2e114dc22378b4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAP3%2F%2FgwU%3D","line":26,"updated":"2013-07-17 05:57:27.000000000","message":"Check the existence of the file which is created at 6. in volume2","commit_id":"34b02bab33275301444cd5ad579f8e833ec12654"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"b37b8f7644c3573e67a14aacb7f364f9342ac5bb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"11. Boot an instance \"instance2\" from snapshot_from_instance"},{"line_number":24,"context_line":"12. Create a volume \"volume2\"  from snapshot_from_volume"},{"line_number":25,"context_line":"13. Attach volume2 to instance2"},{"line_number":26,"context_line":"14. Check an existence of a file which created at 6. in volume2"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Change-Id: If8eef9c8c4415b8658ac1b13dc2e114dc22378b4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAQn%2F%2F%2BJc%3D","line":26,"in_reply_to":"AAAAP3%2F%2FgwU%3D","updated":"2013-07-18 08:51:54.000000000","message":"Certainly. I\u0027ll modify it.","commit_id":"34b02bab33275301444cd5ad579f8e833ec12654"}],"tempest/scenario/test_stamp_pattern.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"d538f2f6fa8afedf6145dadaf83e1f4d589610b9","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":21,"context_line":"from tempest.common.utils.linux.remote_client import RemoteClient"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3uU%3D","line":18,"updated":"2013-07-10 01:59:21.000000000","message":"We should use \u0027from tempest.common import log as logging\u0027.\nPlease see: commit c7eb6cc85f00ebcc246898813c2016f4b9da79a9","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"472b4171cd2940eb42fdb60b4e9837e8b1c72785","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":21,"context_line":"from tempest.common.utils.linux.remote_client import RemoteClient"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3Sk%3D","line":18,"in_reply_to":"AAAAP3%2F%2F3uU%3D","updated":"2013-07-10 06:52:48.000000000","message":"Certainly. I\u0027ll modify it.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"edb8990117ac42057a24fb8c0f2da3f2528643ba","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    This test is for snapshotting an instance and booting with it."},{"line_number":31,"context_line":"    The following is the scenario outline:"},{"line_number":32,"context_line":"     * boot a instance and create a timestamp file in it"},{"line_number":33,"context_line":"     * snapshot the instance"},{"line_number":34,"context_line":"     * boot second instances from the snapshot"},{"line_number":35,"context_line":"     * check the existence of the timestamp file in the second instances"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F30A%3D","line":32,"updated":"2013-07-10 01:14:22.000000000","message":"boot an instance and create a timestamp file in it.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"309734ab9231996d65e145eee79ebf4a3feb3870","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    This test is for snapshotting an instance and booting with it."},{"line_number":31,"context_line":"    The following is the scenario outline:"},{"line_number":32,"context_line":"     * boot a instance and create a timestamp file in it"},{"line_number":33,"context_line":"     * snapshot the instance"},{"line_number":34,"context_line":"     * boot second instances from the snapshot"},{"line_number":35,"context_line":"     * check the existence of the timestamp file in the second instances"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3Tw%3D","line":32,"in_reply_to":"AAAAP3%2F%2F30A%3D","updated":"2013-07-10 06:36:54.000000000","message":"Certainly. But this documentation is wrong as a whole. So I\u0027ll modify it all, of course, I\u0027ll take your idea.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"edb8990117ac42057a24fb8c0f2da3f2528643ba","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    The following is the scenario outline:"},{"line_number":32,"context_line":"     * boot a instance and create a timestamp file in it"},{"line_number":33,"context_line":"     * snapshot the instance"},{"line_number":34,"context_line":"     * boot second instances from the snapshot"},{"line_number":35,"context_line":"     * check the existence of the timestamp file in the second instances"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3zs%3D","line":34,"updated":"2013-07-10 01:14:22.000000000","message":"boot the second instance from the snapshot","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"309734ab9231996d65e145eee79ebf4a3feb3870","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    The following is the scenario outline:"},{"line_number":32,"context_line":"     * boot a instance and create a timestamp file in it"},{"line_number":33,"context_line":"     * snapshot the instance"},{"line_number":34,"context_line":"     * boot second instances from the snapshot"},{"line_number":35,"context_line":"     * check the existence of the timestamp file in the second instances"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3Ts%3D","line":34,"in_reply_to":"AAAAP3%2F%2F3zs%3D","updated":"2013-07-10 06:36:54.000000000","message":"Certainly. But this documentation is wrong as a whole. So I\u0027ll modify it all, of course, I\u0027ll take your idea.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"edb8990117ac42057a24fb8c0f2da3f2528643ba","unresolved":false,"context_lines":[{"line_number":32,"context_line":"     * boot a instance and create a timestamp file in it"},{"line_number":33,"context_line":"     * snapshot the instance"},{"line_number":34,"context_line":"     * boot second instances from the snapshot"},{"line_number":35,"context_line":"     * check the existence of the timestamp file in the second instances"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3zo%3D","line":35,"updated":"2013-07-10 01:14:22.000000000","message":"change \"instances\" to \"instance\"","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"309734ab9231996d65e145eee79ebf4a3feb3870","unresolved":false,"context_lines":[{"line_number":32,"context_line":"     * boot a instance and create a timestamp file in it"},{"line_number":33,"context_line":"     * snapshot the instance"},{"line_number":34,"context_line":"     * boot second instances from the snapshot"},{"line_number":35,"context_line":"     * check the existence of the timestamp file in the second instances"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3To%3D","line":35,"in_reply_to":"AAAAP3%2F%2F3zo%3D","updated":"2013-07-10 06:36:54.000000000","message":"Certainly. But this documentation is wrong as a whole. So I\u0027ll modify it all, of course, I\u0027ll take your idea.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8daf024a9985fd8bd788865243691096ca5178a0","unresolved":false,"context_lines":[{"line_number":35,"context_line":"     * check the existence of the timestamp file in the second instances"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def _wait_for_server_status(self, server, status):"},{"line_number":40,"context_line":"        self.status_timeout(self.compute_client.servers,"},{"line_number":41,"context_line":"                            server.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F6dY%3D","line":38,"updated":"2013-07-09 10:07:00.000000000","message":"Just a comment.\nI feel we should refactor these utility codes in another patch for solving redundancies.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"d0057ef10ec985535663ebe544b2bb9e4ee94971","unresolved":false,"context_lines":[{"line_number":35,"context_line":"     * check the existence of the timestamp file in the second instances"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def _wait_for_server_status(self, server, status):"},{"line_number":40,"context_line":"        self.status_timeout(self.compute_client.servers,"},{"line_number":41,"context_line":"                            server.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3Vw%3D","line":38,"in_reply_to":"AAAAP3%2F%2F6dY%3D","updated":"2013-07-10 06:16:14.000000000","message":"Thank you.\nI\u0027ll take the appropriate steps.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"6120edc8d78ebdab1be1130d6d73b788f922772d","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def _ssh_to_server(self, server):"},{"line_number":101,"context_line":"        username \u003d self.config.scenario.ssh_user"},{"line_number":102,"context_line":"        ip \u003d server.networks[self.config.compute.network_for_ssh][0]"},{"line_number":103,"context_line":"        linux_client \u003d RemoteClient(ip,"},{"line_number":104,"context_line":"                                    username,"},{"line_number":105,"context_line":"                                    pkey\u003dself.keypair.private_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3Wk%3D","line":102,"updated":"2013-07-10 06:02:56.000000000","message":"I think should uses floating ip.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"3d6b524ebd0573e632131ee8d7117d5b023f1854","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def _ssh_to_server(self, server):"},{"line_number":101,"context_line":"        username \u003d self.config.scenario.ssh_user"},{"line_number":102,"context_line":"        ip \u003d server.networks[self.config.compute.network_for_ssh][0]"},{"line_number":103,"context_line":"        linux_client \u003d RemoteClient(ip,"},{"line_number":104,"context_line":"                                    username,"},{"line_number":105,"context_line":"                                    pkey\u003dself.keypair.private_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3Rw%3D","line":102,"in_reply_to":"AAAAP3%2F%2F3Wk%3D","updated":"2013-07-10 07:00:19.000000000","message":"Certainly. I\u0027ll modify it.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"6120edc8d78ebdab1be1130d6d73b788f922772d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        def cleaner():"},{"line_number":132,"context_line":"            volume_snapshots.delete(snapshot)"},{"line_number":133,"context_line":"            try:"},{"line_number":134,"context_line":"                while volume_snapshots.get(snapshot.id) is not None:"},{"line_number":135,"context_line":"                    time.sleep(1)"},{"line_number":136,"context_line":"            except:"},{"line_number":137,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3Xg%3D","line":134,"updated":"2013-07-10 06:02:56.000000000","message":"I think \"is not None\" is redundant.\ne.g. \nwhile volume_snapshots.get(snapshot.id):","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"3d6b524ebd0573e632131ee8d7117d5b023f1854","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        def cleaner():"},{"line_number":132,"context_line":"            volume_snapshots.delete(snapshot)"},{"line_number":133,"context_line":"            try:"},{"line_number":134,"context_line":"                while volume_snapshots.get(snapshot.id) is not None:"},{"line_number":135,"context_line":"                    time.sleep(1)"},{"line_number":136,"context_line":"            except:"},{"line_number":137,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3SM%3D","line":134,"in_reply_to":"AAAAP3%2F%2F3Xg%3D","updated":"2013-07-10 07:00:19.000000000","message":"Certainly. I\u0027ll modify it.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"6120edc8d78ebdab1be1130d6d73b788f922772d","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            try:"},{"line_number":134,"context_line":"                while volume_snapshots.get(snapshot.id) is not None:"},{"line_number":135,"context_line":"                    time.sleep(1)"},{"line_number":136,"context_line":"            except:"},{"line_number":137,"context_line":"                pass"},{"line_number":138,"context_line":"        self.addCleanup(cleaner)"},{"line_number":139,"context_line":"        self._wait_for_volume_status(volume, \u0027available\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3XM%3D","line":136,"updated":"2013-07-10 06:02:56.000000000","message":"I think should not catch unnecessary Exception.\ne.g.\n\nexcept exceptions.NotFound:\n    pass","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"3d6b524ebd0573e632131ee8d7117d5b023f1854","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            try:"},{"line_number":134,"context_line":"                while volume_snapshots.get(snapshot.id) is not None:"},{"line_number":135,"context_line":"                    time.sleep(1)"},{"line_number":136,"context_line":"            except:"},{"line_number":137,"context_line":"                pass"},{"line_number":138,"context_line":"        self.addCleanup(cleaner)"},{"line_number":139,"context_line":"        self._wait_for_volume_status(volume, \u0027available\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3SI%3D","line":136,"in_reply_to":"AAAAP3%2F%2F3XM%3D","updated":"2013-07-10 07:00:19.000000000","message":"Certainly. I\u0027ll modify it.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"6120edc8d78ebdab1be1130d6d73b788f922772d","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        detach_volume_client(server.id, volume.id)"},{"line_number":175,"context_line":"        self._wait_for_volume_status(volume, \u0027available\u0027)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        # detached_volume \u003d self.volume_client.volumes.get(volume.id)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def _create_timestamp(self, server, volume):"},{"line_number":180,"context_line":"        ssh_client \u003d self._ssh_to_server(server)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3X0%3D","line":177,"updated":"2013-07-10 06:02:56.000000000","message":"I think this comment is unnecessary.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"3d6b524ebd0573e632131ee8d7117d5b023f1854","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        detach_volume_client(server.id, volume.id)"},{"line_number":175,"context_line":"        self._wait_for_volume_status(volume, \u0027available\u0027)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        # detached_volume \u003d self.volume_client.volumes.get(volume.id)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def _create_timestamp(self, server, volume):"},{"line_number":180,"context_line":"        ssh_client \u003d self._ssh_to_server(server)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3R4%3D","line":177,"in_reply_to":"AAAAP3%2F%2F3X0%3D","updated":"2013-07-10 07:00:19.000000000","message":"I forgot remove it. I\u0027ll remove.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8daf024a9985fd8bd788865243691096ca5178a0","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def _create_timestamp(self, server, volume):"},{"line_number":180,"context_line":"        ssh_client \u003d self._ssh_to_server(server)"},{"line_number":181,"context_line":"        ssh_client.exec_command(\u0027sudo ls\u0027)"},{"line_number":182,"context_line":"        ssh_client.exec_command(\u0027sudo /usr/sbin/mkfs.ext4 /dev/vdb\u0027)"},{"line_number":183,"context_line":"        ssh_client.exec_command(\u0027sudo mount /dev/vdb /mnt\u0027)"},{"line_number":184,"context_line":"        ssh_client.exec_command(\u0027sudo sh -c \"date \u003e /mnt/timestamp;sync\"\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F6fA%3D","line":181,"updated":"2013-07-09 10:07:00.000000000","message":"Is \u0027sudo ls\u0027 necessary?","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"010b2749d0dbfb14ea29df7f26a7800ae42355c5","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def _create_timestamp(self, server, volume):"},{"line_number":180,"context_line":"        ssh_client \u003d self._ssh_to_server(server)"},{"line_number":181,"context_line":"        ssh_client.exec_command(\u0027sudo ls\u0027)"},{"line_number":182,"context_line":"        ssh_client.exec_command(\u0027sudo /usr/sbin/mkfs.ext4 /dev/vdb\u0027)"},{"line_number":183,"context_line":"        ssh_client.exec_command(\u0027sudo mount /dev/vdb /mnt\u0027)"},{"line_number":184,"context_line":"        ssh_client.exec_command(\u0027sudo sh -c \"date \u003e /mnt/timestamp;sync\"\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3VI%3D","line":181,"in_reply_to":"AAAAP3%2F%2F6fA%3D","updated":"2013-07-10 06:19:52.000000000","message":"I forgot remove debug code.I\u0027ll remove it.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7202,"name":"Takenori Yoshimatsu","email":"tak-yoshimatsu@rf.jp.nec.com","username":"yoshimatsu"},"change_message_id":"cf81cbbcd96c35a715a1578bfa6170d29d7ff448","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        # boot a instance and create a timestamp file in it"},{"line_number":200,"context_line":"        volume1 \u003d self._create_volume()"},{"line_number":201,"context_line":"        server1 \u003d self._boot_image(self.config.compute.image_ref)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # create and add floating IP to server1"},{"line_number":204,"context_line":"        floating_ip \u003d self._create_floating_ip()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F6Fk%3D","line":201,"updated":"2013-07-09 12:39:20.000000000","message":"The name of variables should be concrete name than volume1, server1, floating_ip2 ...  I think.","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7202,"name":"Takenori Yoshimatsu","email":"tak-yoshimatsu@rf.jp.nec.com","username":"yoshimatsu"},"change_message_id":"4cef8f128d1d5bda91c49f0094fb2a1a9fa1cb9b","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        # boot a instance and create a timestamp file in it"},{"line_number":200,"context_line":"        volume1 \u003d self._create_volume()"},{"line_number":201,"context_line":"        server1 \u003d self._boot_image(self.config.compute.image_ref)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # create and add floating IP to server1"},{"line_number":204,"context_line":"        floating_ip \u003d self._create_floating_ip()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F2mQ%3D","line":201,"in_reply_to":"AAAAP3%2F%2F3UY%3D","updated":"2013-07-10 11:53:52.000000000","message":"Exactly. These variables should be named as each pair...\nex) server \u003c--\u003e server_from_snapshot, \n     volume \u003c--\u003e volume_from_snapshot,\n     floating_ip_for_server \u003c--\u003e floating_ip_for_snapshot","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"e9c1dd18ad00c641b991f8e36f7ec748fbc0804e","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        # boot a instance and create a timestamp file in it"},{"line_number":200,"context_line":"        volume1 \u003d self._create_volume()"},{"line_number":201,"context_line":"        server1 \u003d self._boot_image(self.config.compute.image_ref)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        # create and add floating IP to server1"},{"line_number":204,"context_line":"        floating_ip \u003d self._create_floating_ip()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F3UY%3D","line":201,"in_reply_to":"AAAAP3%2F%2F6Fk%3D","updated":"2013-07-10 06:29:55.000000000","message":"How is \"server1\"-\u003e\"server_org\", for example?","commit_id":"024234d036de0b51e7c0b31b74ee91bcfb98e73d"}]}
