)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"7f6946b7a10bb22f56e255fad723a78b38eea175","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"SSH cannot reach to the server, if Tempest node is different from"},{"line_number":10,"context_line":"OpenStack node."},{"line_number":11,"context_line":"This test case should be set floating IP to the server."},{"line_number":12,"context_line":"This Patches set floating-IP to the server."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ib38bad9145f51b805142ee26bd02f4f0d5eee2ee"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAP3%2F%2F6vo%3D","line":11,"updated":"2013-07-09 08:09:37.000000000","message":"What about the sentences below?\r\n The test case should set floating IP to the server.\r\nor\r\n The floating IP should be set to the server in the test case.","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"1b6af09375e27a9db6b08d8ea05c15c8107a00d5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"SSH cannot reach to the server, if Tempest node is different from"},{"line_number":10,"context_line":"OpenStack node."},{"line_number":11,"context_line":"This test case should be set floating IP to the server."},{"line_number":12,"context_line":"This Patches set floating-IP to the server."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ib38bad9145f51b805142ee26bd02f4f0d5eee2ee"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAP3%2F%2F6us%3D","line":11,"in_reply_to":"AAAAP3%2F%2F6vo%3D","updated":"2013-07-09 08:14:13.000000000","message":"Thank you.\nI will amend next patch.","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"7f6946b7a10bb22f56e255fad723a78b38eea175","unresolved":false,"context_lines":[{"line_number":9,"context_line":"SSH cannot reach to the server, if Tempest node is different from"},{"line_number":10,"context_line":"OpenStack node."},{"line_number":11,"context_line":"This test case should be set floating IP to the server."},{"line_number":12,"context_line":"This Patches set floating-IP to the server."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ib38bad9145f51b805142ee26bd02f4f0d5eee2ee"},{"line_number":15,"context_line":"Fixes: bug #1199202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAP3%2F%2F6vU%3D","line":12,"updated":"2013-07-09 08:09:37.000000000","message":"This patch sets floating Ip to the server.\r\n?This is a single patch, so it should be in the singular form.","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"1b6af09375e27a9db6b08d8ea05c15c8107a00d5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"SSH cannot reach to the server, if Tempest node is different from"},{"line_number":10,"context_line":"OpenStack node."},{"line_number":11,"context_line":"This test case should be set floating IP to the server."},{"line_number":12,"context_line":"This Patches set floating-IP to the server."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ib38bad9145f51b805142ee26bd02f4f0d5eee2ee"},{"line_number":15,"context_line":"Fixes: bug #1199202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAP3%2F%2F6uk%3D","line":12,"in_reply_to":"AAAAP3%2F%2F6vU%3D","updated":"2013-07-09 08:14:13.000000000","message":"Thank you.\nI will amend next patch.","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"}],"tempest/scenario/test_snapshot_pattern.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c9144dcd9cb0434a4bef4b3977fa1a3b2d447f8f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        self.addCleanup(self.compute_client.security_group_rules.delete,"},{"line_number":86,"context_line":"                        sg_rule.id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _ssh_to_server(self, server, floating_ip):"},{"line_number":89,"context_line":"        username \u003d self.config.scenario.ssh_user"},{"line_number":90,"context_line":"        linux_client \u003d RemoteClient(floating_ip.ip,"},{"line_number":91,"context_line":"                                    username,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7O4%3D","line":88,"updated":"2013-07-09 03:48:51.000000000","message":"The argument \"server\" is not used, so how about removing it?\n\nalso why don\u0027t you rename floating_ip to server_ip?\nbecause floating_ip is not matter.","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"6c55ebb6c992e52ca8e33de59357e6a00f53a4b2","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        self.addCleanup(self.compute_client.security_group_rules.delete,"},{"line_number":86,"context_line":"                        sg_rule.id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _ssh_to_server(self, server, floating_ip):"},{"line_number":89,"context_line":"        username \u003d self.config.scenario.ssh_user"},{"line_number":90,"context_line":"        linux_client \u003d RemoteClient(floating_ip.ip,"},{"line_number":91,"context_line":"                                    username,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7Lw%3D","line":88,"in_reply_to":"AAAAP3%2F%2F7O4%3D","updated":"2013-07-09 04:46:06.000000000","message":"Thank you.\nI will amend next patch.","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c9144dcd9cb0434a4bef4b3977fa1a3b2d447f8f","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        return linux_client.ssh_client"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _write_timestamp(self, server, floating_ip):"},{"line_number":97,"context_line":"        ssh_client \u003d self._ssh_to_server(server, floating_ip)"},{"line_number":98,"context_line":"        ssh_client.exec_command(\u0027date \u003e /tmp/timestamp; sync\u0027)"},{"line_number":99,"context_line":"        self.timestamp \u003d ssh_client.exec_command(\u0027cat /tmp/timestamp\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7Ow%3D","line":96,"updated":"2013-07-09 03:48:51.000000000","message":"ditto","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"6c55ebb6c992e52ca8e33de59357e6a00f53a4b2","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        return linux_client.ssh_client"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _write_timestamp(self, server, floating_ip):"},{"line_number":97,"context_line":"        ssh_client \u003d self._ssh_to_server(server, floating_ip)"},{"line_number":98,"context_line":"        ssh_client.exec_command(\u0027date \u003e /tmp/timestamp; sync\u0027)"},{"line_number":99,"context_line":"        self.timestamp \u003d ssh_client.exec_command(\u0027cat /tmp/timestamp\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7Lk%3D","line":96,"in_reply_to":"AAAAP3%2F%2F7Ow%3D","updated":"2013-07-09 04:46:06.000000000","message":"ditto:)","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c9144dcd9cb0434a4bef4b3977fa1a3b2d447f8f","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.assertEquals(snapshot_name, snapshot_image.name)"},{"line_number":110,"context_line":"        return image_id"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _check_timestamp(self, server, floating_ip):"},{"line_number":113,"context_line":"        ssh_client \u003d self._ssh_to_server(server, floating_ip)"},{"line_number":114,"context_line":"        got_timestamp \u003d ssh_client.exec_command(\u0027cat /tmp/timestamp\u0027)"},{"line_number":115,"context_line":"        self.assertEqual(self.timestamp, got_timestamp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7Ok%3D","line":112,"updated":"2013-07-09 03:48:51.000000000","message":"ditto","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"6c55ebb6c992e52ca8e33de59357e6a00f53a4b2","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.assertEquals(snapshot_name, snapshot_image.name)"},{"line_number":110,"context_line":"        return image_id"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _check_timestamp(self, server, floating_ip):"},{"line_number":113,"context_line":"        ssh_client \u003d self._ssh_to_server(server, floating_ip)"},{"line_number":114,"context_line":"        got_timestamp \u003d ssh_client.exec_command(\u0027cat /tmp/timestamp\u0027)"},{"line_number":115,"context_line":"        self.assertEqual(self.timestamp, got_timestamp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7Lo%3D","line":112,"in_reply_to":"AAAAP3%2F%2F7Ok%3D","updated":"2013-07-09 04:46:06.000000000","message":"ditto:)","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"9fa701fc30bf18421bae7e710d7a48b4e669f245","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        self.addCleanup(floating_ip.delete)"},{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"},{"line_number":123,"context_line":"        server.add_floating_ip(floating_ip)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_snapshot_pattern(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7OI%3D","line":122,"updated":"2013-07-09 03:53:29.000000000","message":"Is this function necessary?\n\nor should we name the functions, which are used in test_snapshot_pattern(), with prefix \"_\"?","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ec6689b952d1dae7d090c50ef665bffb60ddb343","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        self.addCleanup(floating_ip.delete)"},{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"},{"line_number":123,"context_line":"        server.add_floating_ip(floating_ip)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_snapshot_pattern(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7Hk%3D","line":122,"in_reply_to":"AAAAP3%2F%2F7KM%3D","updated":"2013-07-09 05:08:15.000000000","message":"OK, I agree.","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"6c55ebb6c992e52ca8e33de59357e6a00f53a4b2","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        self.addCleanup(floating_ip.delete)"},{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"},{"line_number":123,"context_line":"        server.add_floating_ip(floating_ip)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_snapshot_pattern(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2F7KM%3D","line":122,"in_reply_to":"AAAAP3%2F%2F7OI%3D","updated":"2013-07-09 04:46:06.000000000","message":"I feel this way is more readable than client library called direct  in test method.\nWhat do you think?","commit_id":"39c870bc57711e10869a479f0213d3d8a04433ee"},{"author":{"_account_id":7202,"name":"Takenori Yoshimatsu","email":"tak-yoshimatsu@rf.jp.nec.com","username":"yoshimatsu"},"change_message_id":"37dd3f25091d84f920bc698cc4ae4fe5ba396a37","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def _write_timestamp(self, floating_ip):"},{"line_number":97,"context_line":"        ssh_client \u003d self._ssh_to_server(floating_ip)"},{"line_number":98,"context_line":"        ssh_client.exec_command(\u0027date \u003e /tmp/timestamp; sync\u0027)"},{"line_number":99,"context_line":"        self.timestamp \u003d ssh_client.exec_command(\u0027cat /tmp/timestamp\u0027)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def _create_image(self, server):"},{"line_number":102,"context_line":"        snapshot_name \u003d rand_name(\u0027scenario-snapshot-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F7EM%3D","line":99,"updated":"2013-07-09 05:35:51.000000000","message":"This method has another two functions. I think better to create _read_timestamp().","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":7202,"name":"Takenori Yoshimatsu","email":"tak-yoshimatsu@rf.jp.nec.com","username":"yoshimatsu"},"change_message_id":"3e66b3f0b9f6177283ebba06c9449bdff1beb334","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def _write_timestamp(self, floating_ip):"},{"line_number":97,"context_line":"        ssh_client \u003d self._ssh_to_server(floating_ip)"},{"line_number":98,"context_line":"        ssh_client.exec_command(\u0027date \u003e /tmp/timestamp; sync\u0027)"},{"line_number":99,"context_line":"        self.timestamp \u003d ssh_client.exec_command(\u0027cat /tmp/timestamp\u0027)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def _create_image(self, server):"},{"line_number":102,"context_line":"        snapshot_name \u003d rand_name(\u0027scenario-snapshot-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F68k%3D","line":99,"in_reply_to":"AAAAP3%2F%2F6%2B4%3D","updated":"2013-07-09 06:27:36.000000000","message":"I see. I\u0027m sorry...","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"f491a0226043405c0dadb32b3b461573fda14464","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def _write_timestamp(self, floating_ip):"},{"line_number":97,"context_line":"        ssh_client \u003d self._ssh_to_server(floating_ip)"},{"line_number":98,"context_line":"        ssh_client.exec_command(\u0027date \u003e /tmp/timestamp; sync\u0027)"},{"line_number":99,"context_line":"        self.timestamp \u003d ssh_client.exec_command(\u0027cat /tmp/timestamp\u0027)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def _create_image(self, server):"},{"line_number":102,"context_line":"        snapshot_name \u003d rand_name(\u0027scenario-snapshot-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F6%2B4%3D","line":99,"in_reply_to":"AAAAP3%2F%2F7EM%3D","updated":"2013-07-09 06:09:05.000000000","message":"I agree.\nBut, I cannot fix this. Because that has not relation to this bug.","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b3f8c318c2ba0e33aea8f472cc88b0c87cf7a927","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        self.addCleanup(floating_ip.delete)"},{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"},{"line_number":123,"context_line":"        server.add_floating_ip(floating_ip)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_snapshot_pattern(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F7Go%3D","line":122,"updated":"2013-07-09 05:20:02.000000000","message":"How about merging this method into _boot_image()?","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"f491a0226043405c0dadb32b3b461573fda14464","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        self.addCleanup(floating_ip.delete)"},{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"},{"line_number":123,"context_line":"        server.add_floating_ip(floating_ip)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_snapshot_pattern(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F7Cg%3D","line":122,"in_reply_to":"AAAAP3%2F%2F7Go%3D","updated":"2013-07-09 06:09:05.000000000","message":"I\u0027ve tried.\nBut, I think it is difficult.\nGetting IP-Address from \"floating_ip\" is more easy than Getting IP-Address from \"server\".","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b3f8c318c2ba0e33aea8f472cc88b0c87cf7a927","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        # boot a instance and create a timestamp file in it"},{"line_number":131,"context_line":"        server \u003d self._boot_image(self.config.compute.image_ref)"},{"line_number":132,"context_line":"        fip_for_server \u003d self._create_floating_ip()"},{"line_number":133,"context_line":"        self._set_floating_ip_to_server(server, fip_for_server)"},{"line_number":134,"context_line":"        self._write_timestamp(fip_for_server)"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F7GM%3D","line":132,"updated":"2013-07-09 05:20:02.000000000","message":"If you merge _create_floating_ip() into _boot_image(), fip_for_... variables are not necessary.","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b3f8c318c2ba0e33aea8f472cc88b0c87cf7a927","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        # boot a instance and create a timestamp file in it"},{"line_number":131,"context_line":"        server \u003d self._boot_image(self.config.compute.image_ref)"},{"line_number":132,"context_line":"        fip_for_server \u003d self._create_floating_ip()"},{"line_number":133,"context_line":"        self._set_floating_ip_to_server(server, fip_for_server)"},{"line_number":134,"context_line":"        self._write_timestamp(fip_for_server)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        # snapshot the instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2F7GE%3D","line":133,"updated":"2013-07-09 05:20:02.000000000","message":"Can we get the floating-ip from this \u0027server\u0027?\nIf so, we don\u0027t need floating-ip argument.","commit_id":"3b60a453bc28e377167f30bbb022e1ce23ae2800"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5be368fdabdf99af618ddfe8da7386d76ccb1b3d","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def _create_floating_ip(self):"},{"line_number":118,"context_line":"        floating_ip \u003d self.compute_client.floating_ips.create()"},{"line_number":119,"context_line":"        self.addCleanup(floating_ip.delete)"},{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2F2E4%3D","line":119,"updated":"2013-07-10 14:37:21.000000000","message":"Nice. This is exactly how fixtures should be handled.","commit_id":"f6a8363f611b8879875b18f5481a86f4a2caf478"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"7b9848c99a31d2bd1f05bbaf1e5b34459c286b0c","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def _create_floating_ip(self):"},{"line_number":118,"context_line":"        floating_ip \u003d self.compute_client.floating_ips.create()"},{"line_number":119,"context_line":"        self.addCleanup(floating_ip.delete)"},{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2F0UQ%3D","line":119,"in_reply_to":"AAAAP3%2F%2F2E4%3D","updated":"2013-07-11 05:30:33.000000000","message":"Thank you.\nI\u0027m happy :)","commit_id":"f6a8363f611b8879875b18f5481a86f4a2caf478"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5be368fdabdf99af618ddfe8da7386d76ccb1b3d","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"},{"line_number":123,"context_line":"        server.add_floating_ip(floating_ip)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_snapshot_pattern(self):"},{"line_number":126,"context_line":"        # prepare for booting a instance"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2F2EM%3D","line":123,"updated":"2013-07-10 14:37:21.000000000","message":"This is missing exception handling :) What happens if the test is running against an environment that has no floating IP address space configured? At a minimum, we should have some sort of exception handling for when that occurs or when there are no available floaters.","commit_id":"f6a8363f611b8879875b18f5481a86f4a2caf478"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"7b9848c99a31d2bd1f05bbaf1e5b34459c286b0c","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        return floating_ip"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def _set_floating_ip_to_server(self, server, floating_ip):"},{"line_number":123,"context_line":"        server.add_floating_ip(floating_ip)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def test_snapshot_pattern(self):"},{"line_number":126,"context_line":"        # prepare for booting a instance"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fzxc%3D","line":123,"in_reply_to":"AAAAP3%2F%2F2EM%3D","updated":"2013-07-11 05:30:33.000000000","message":"In that case, this test will fail.\nI did not think about it.\nI will try to make it work even if the environment can not use the floating IP address.\nThank you.","commit_id":"f6a8363f611b8879875b18f5481a86f4a2caf478"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"fd92b4765b6b8ee89a78ab16c0cfe7e67e9d4fb4","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        server \u003d self._boot_image(self.config.compute.image_ref)"},{"line_number":137,"context_line":"        try:"},{"line_number":138,"context_line":"            self._write_timestamp(server)"},{"line_number":139,"context_line":"        except:"},{"line_number":140,"context_line":"            fip_for_server \u003d self._create_floating_ip()"},{"line_number":141,"context_line":"            self._set_floating_ip_to_server(server, fip_for_server)"},{"line_number":142,"context_line":"            self._write_timestamp(fip_for_server.ip)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2Fx8I%3D","line":139,"updated":"2013-07-11 15:32:00.000000000","message":"I am not sure is the exception based retry is the desired solution here.\n\nI see two option:\n 1. Make it configurable, by a new boolean option (floating should be the default IMHO).\n 2. Make it configurable, by special network_for_ssh option like \u0027__FLOATING__\u0027, and note this feature in the config file template. (It seams  complicated now).","commit_id":"8dcafd36e80dfab33e149895e96524e7025095f1"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"5dadc8c7dcd2f88e203c71d02162b9a818879711","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        server \u003d self._boot_image(self.config.compute.image_ref)"},{"line_number":137,"context_line":"        try:"},{"line_number":138,"context_line":"            self._write_timestamp(server)"},{"line_number":139,"context_line":"        except:"},{"line_number":140,"context_line":"            fip_for_server \u003d self._create_floating_ip()"},{"line_number":141,"context_line":"            self._set_floating_ip_to_server(server, fip_for_server)"},{"line_number":142,"context_line":"            self._write_timestamp(fip_for_server.ip)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2Fv2Q%3D","line":139,"in_reply_to":"AAAAP3%2F%2Fx8I%3D","updated":"2013-07-12 01:09:38.000000000","message":"Thank you.\nI will amend this next patch.","commit_id":"8dcafd36e80dfab33e149895e96524e7025095f1"}]}
