)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11428,"name":"Ajaya Agrawal","email":"ajku.agr@gmail.com","username":"ajayaa"},"change_message_id":"b1755513756bfa11f3d30366928e210177ccfb39","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Added a test case as \"test_run_reboot_terminate_instance\" to test"},{"line_number":14,"context_line":"the reboot_instance ec2 API. In file:"},{"line_number":15,"context_line":"\"tempest/thirdparty/boto/test_ec2_instance_run.py\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug #1352341"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1abeadc6_be5a3d28","line":15,"updated":"2014-08-26 12:11:06.000000000","message":"The second paragraph is not needed in the commit message.","commit_id":"27e597fb861ff78d4fc828e338fcc5c685b71776"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"757a2eb7829d53caf1d9fd026a1a8fa7c6f6d237","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the stop_instance, terminate_instance, etc."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug #1352341"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ifbd8607566961dbf32b40f34ff603f712d856f6a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1abeadc6_af00f702","line":14,"updated":"2014-08-28 07:57:31.000000000","message":"link missing. please use Closes-Bug: #1352341","commit_id":"3b0bad690e7a4fabb4249b34262fa12b7b5cc475"}],"tempest/thirdparty/boto/test_ec2_instance_run.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"757a2eb7829d53caf1d9fd026a1a8fa7c6f6d237","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            instance.terminate()"},{"line_number":193,"context_line":"        self.cancelResourceCleanUp(rcuk)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def test_run_reboot_terminate_instance(self):"},{"line_number":196,"context_line":"        # EC2 run, reboot and terminate immediately"},{"line_number":197,"context_line":"        image_ami \u003d self.ec2_client.get_image(self.images[\"ami\"]"},{"line_number":198,"context_line":"                                              [\"image_id\"])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_8a9c096c","line":195,"updated":"2014-08-28 07:57:31.000000000","message":"For optimization in term of code as well as execution time, whats about merging this tests with test_run_stop_terminate_instance.\n\ntest_run_stop_terminate_instance -\u003e test_run_reboot_stop_terminate_instance","commit_id":"3b0bad690e7a4fabb4249b34262fa12b7b5cc475"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"2f9db11a3e135f971be986cab5bf535b9c4e6940","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            instance.terminate()"},{"line_number":193,"context_line":"        self.cancelResourceCleanUp(rcuk)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def test_run_reboot_terminate_instance(self):"},{"line_number":196,"context_line":"        # EC2 run, reboot and terminate immediately"},{"line_number":197,"context_line":"        image_ami \u003d self.ec2_client.get_image(self.images[\"ami\"]"},{"line_number":198,"context_line":"                                              [\"image_id\"])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_be7e66ad","line":195,"in_reply_to":"1abeadc6_8a9c096c","updated":"2014-08-28 09:37:40.000000000","message":"Done","commit_id":"3b0bad690e7a4fabb4249b34262fa12b7b5cc475"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bf7599bd57882f8843d982eaee82148cc2bd9c4e","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                self.assertInstanceStateWait(instance, \"running\")"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        for instance in reservation.instances:"},{"line_number":205,"context_line":"            instance.reboot()"},{"line_number":206,"context_line":"            LOG.info(\"state: %s\", instance.state)"},{"line_number":207,"context_line":"            if instance.state !\u003d \"running\":"},{"line_number":208,"context_line":"                self.assertInstanceStateWait(instance, \"running\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa98f980_557f77ab","line":205,"updated":"2014-09-17 13:49:24.000000000","message":"Is this a soft reboot or a hard reboot?  Or doesn\u0027t ec2 make a distinction?  I ask because of bug 1014647.","commit_id":"4b0b9a3059a9a8712afaea567731e1193329d261"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"6f695cb62afc923a482a1ee9e436a3f93522b954","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                self.assertInstanceStateWait(instance, \"running\")"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        for instance in reservation.instances:"},{"line_number":205,"context_line":"            instance.reboot()"},{"line_number":206,"context_line":"            LOG.info(\"state: %s\", instance.state)"},{"line_number":207,"context_line":"            if instance.state !\u003d \"running\":"},{"line_number":208,"context_line":"                self.assertInstanceStateWait(instance, \"running\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa98f980_9a1026ad","line":205,"in_reply_to":"fa98f980_557f77ab","updated":"2014-09-17 17:26:25.000000000","message":"There is no option to specify the \u0027\u0027soft\u0027\u0027 or \u0027\u0027hard\u0027\u0027 reboot in ec2 reboot_instance API. It uses the soft reboot for Linux/Unix instances and hard reboot for Windows instances.","commit_id":"4b0b9a3059a9a8712afaea567731e1193329d261"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"168256e2475027562995e93dd0acee29067d436e","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        for instance in reservation.instances:"},{"line_number":200,"context_line":"            instance.terminate()"},{"line_number":201,"context_line":"        self.assertInstanceStateWait(instance, \u0027_GONE\u0027)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_compute_with_volumes(self):"},{"line_number":204,"context_line":"        # EC2 1. integration test (not strict)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa98f980_7c3b42c8","side":"PARENT","line":201,"updated":"2014-09-19 16:24:20.000000000","message":"This assert should be inside the for loop. But why is there a for loop anyway for all of these? Doesn\u0027t the run method by default create exactly one instance?","commit_id":"3d670cbbf545508e8bf5b206d6eaba6399db9dc1"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"fc0bbd3a3273b10dca955861cf3eb6d537448aa2","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        for instance in reservation.instances:"},{"line_number":200,"context_line":"            instance.terminate()"},{"line_number":201,"context_line":"        self.assertInstanceStateWait(instance, \u0027_GONE\u0027)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_compute_with_volumes(self):"},{"line_number":204,"context_line":"        # EC2 1. integration test (not strict)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa98f980_b2707141","side":"PARENT","line":201,"in_reply_to":"fa98f980_17576f03","updated":"2014-09-19 17:57:40.000000000","message":"I added afazekas as a reviewer because I think he may have written this. What I don\u0027t understand is why there is a loop at all since only one instance is being created.","commit_id":"3d670cbbf545508e8bf5b206d6eaba6399db9dc1"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"e942d3a42cc3ea7bd8122d2aab8b6c4be1230084","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        for instance in reservation.instances:"},{"line_number":200,"context_line":"            instance.terminate()"},{"line_number":201,"context_line":"        self.assertInstanceStateWait(instance, \u0027_GONE\u0027)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_compute_with_volumes(self):"},{"line_number":204,"context_line":"        # EC2 1. integration test (not strict)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa98f980_17576f03","side":"PARENT","line":201,"in_reply_to":"fa98f980_7c3b42c8","updated":"2014-09-19 17:06:05.000000000","message":"Yes, I too got the same doubt, as its original code, won\u0027t like to change. Fix this too in my next patch.","commit_id":"3d670cbbf545508e8bf5b206d6eaba6399db9dc1"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"c6fdee538bd92fc2236030998c95a07af39772b2","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        for instance in reservation.instances:"},{"line_number":200,"context_line":"            instance.terminate()"},{"line_number":201,"context_line":"        self.assertInstanceStateWait(instance, \u0027_GONE\u0027)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_compute_with_volumes(self):"},{"line_number":204,"context_line":"        # EC2 1. integration test (not strict)"}],"source_content_type":"text/x-python","patch_set":9,"id":"da9df570_930cae96","side":"PARENT","line":201,"in_reply_to":"fa98f980_b2707141","updated":"2014-09-22 04:37:50.000000000","message":"That\u0027s correct, but this (one instance with for loop) was followed for all other test cases in this file. Sure, will confirm same with afazekas on this.","commit_id":"3d670cbbf545508e8bf5b206d6eaba6399db9dc1"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"168256e2475027562995e93dd0acee29067d436e","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        self._terminate_reservation(reservation, rcuk)"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def test_run_reboot_terminate_instance(self):"},{"line_number":192,"context_line":"        # EC2 run, reboot and terminate immediately"},{"line_number":193,"context_line":"        image_ami \u003d self.ec2_client.get_image(self.images[\"ami\"]"},{"line_number":194,"context_line":"                                              [\"image_id\"])"},{"line_number":195,"context_line":"        reservation \u003d image_ami.run(kernel_id\u003dself.images[\"aki\"][\"image_id\"],"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa98f980_dc250eaf","line":192,"updated":"2014-09-19 16:24:20.000000000","message":"You have changed what the original test did. It used to boot and then terminate without waiting to reach the \u0027running\u0027 state. Now it waits.","commit_id":"e8b58cdbd0fd8d14623fcc9baefb2499088d69e5"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"e942d3a42cc3ea7bd8122d2aab8b6c4be1230084","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        self._terminate_reservation(reservation, rcuk)"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def test_run_reboot_terminate_instance(self):"},{"line_number":192,"context_line":"        # EC2 run, reboot and terminate immediately"},{"line_number":193,"context_line":"        image_ami \u003d self.ec2_client.get_image(self.images[\"ami\"]"},{"line_number":194,"context_line":"                                              [\"image_id\"])"},{"line_number":195,"context_line":"        reservation \u003d image_ami.run(kernel_id\u003dself.images[\"aki\"][\"image_id\"],"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa98f980_971c3f6c","line":192,"in_reply_to":"fa98f980_dc250eaf","updated":"2014-09-19 17:06:05.000000000","message":"That\u0027s correct. Will update the comment as \"EC2 run, reboot and terminate\" (remove the \"immediately\" as its waiting to reach running and then terminate)","commit_id":"e8b58cdbd0fd8d14623fcc9baefb2499088d69e5"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"168256e2475027562995e93dd0acee29067d436e","unresolved":false,"context_lines":[{"line_number":201,"context_line":"            if instance.state !\u003d \"running\":"},{"line_number":202,"context_line":"                self.assertInstanceStateWait(instance, \"running\")"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        for instance in reservation.instances:"},{"line_number":205,"context_line":"            instance.reboot()"},{"line_number":206,"context_line":"            LOG.info(\"state: %s\", instance.state)"},{"line_number":207,"context_line":"            if instance.state !\u003d \"running\":"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa98f980_7c3422df","line":204,"updated":"2014-09-19 16:24:20.000000000","message":"It would be more efficient to reboot all of them and then have a wait loop. But see next comment.","commit_id":"e8b58cdbd0fd8d14623fcc9baefb2499088d69e5"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"e942d3a42cc3ea7bd8122d2aab8b6c4be1230084","unresolved":false,"context_lines":[{"line_number":201,"context_line":"            if instance.state !\u003d \"running\":"},{"line_number":202,"context_line":"                self.assertInstanceStateWait(instance, \"running\")"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        for instance in reservation.instances:"},{"line_number":205,"context_line":"            instance.reboot()"},{"line_number":206,"context_line":"            LOG.info(\"state: %s\", instance.state)"},{"line_number":207,"context_line":"            if instance.state !\u003d \"running\":"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa98f980_f7766ba2","line":204,"in_reply_to":"fa98f980_7c3422df","updated":"2014-09-19 17:06:05.000000000","message":"You mean - 2 for loops - one for loop with reboot and another with the wait?. Please clarify","commit_id":"e8b58cdbd0fd8d14623fcc9baefb2499088d69e5"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"c6fdee538bd92fc2236030998c95a07af39772b2","unresolved":false,"context_lines":[{"line_number":201,"context_line":"            if instance.state !\u003d \"running\":"},{"line_number":202,"context_line":"                self.assertInstanceStateWait(instance, \"running\")"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        for instance in reservation.instances:"},{"line_number":205,"context_line":"            instance.reboot()"},{"line_number":206,"context_line":"            LOG.info(\"state: %s\", instance.state)"},{"line_number":207,"context_line":"            if instance.state !\u003d \"running\":"}],"source_content_type":"text/x-python","patch_set":9,"id":"da9df570_b311b2ae","line":204,"in_reply_to":"fa98f980_b299517b","updated":"2014-09-22 04:37:50.000000000","message":"As the test case one instance, the loop may not be needed.","commit_id":"e8b58cdbd0fd8d14623fcc9baefb2499088d69e5"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"fc0bbd3a3273b10dca955861cf3eb6d537448aa2","unresolved":false,"context_lines":[{"line_number":201,"context_line":"            if instance.state !\u003d \"running\":"},{"line_number":202,"context_line":"                self.assertInstanceStateWait(instance, \"running\")"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        for instance in reservation.instances:"},{"line_number":205,"context_line":"            instance.reboot()"},{"line_number":206,"context_line":"            LOG.info(\"state: %s\", instance.state)"},{"line_number":207,"context_line":"            if instance.state !\u003d \"running\":"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa98f980_b299517b","line":204,"in_reply_to":"fa98f980_f7766ba2","updated":"2014-09-19 17:57:40.000000000","message":"Yes. Reboot may take some time and a separate reboot loop will allow them to happen in parallel. This logic is often used in tempest tearDownClass methods.","commit_id":"e8b58cdbd0fd8d14623fcc9baefb2499088d69e5"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"c57657dbc9f295958d20f940500d8cc6446ea6f7","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        reservation \u003d image_ami.run(kernel_id\u003dself.images[\"aki\"][\"image_id\"],"},{"line_number":209,"context_line":"                                    ramdisk_id\u003dself.images[\"ari\"][\"image_id\"],"},{"line_number":210,"context_line":"                                    instance_type\u003dself.instance_type)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        instance \u003d reservation.instances[0]"},{"line_number":213,"context_line":"        if instance.state !\u003d \"running\":"},{"line_number":214,"context_line":"            self.assertInstanceStateWait(instance, \"running\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"da9df570_21d09e1e","line":211,"updated":"2014-09-25 08:35:20.000000000","message":"Can you assert is the reservation really containers only 1 instance ?","commit_id":"4acf8979797f61814b905e41c7b1f6970e178043"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"f4fe495e7f94e9f4f380e1313410290ecddcfe48","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        instance \u003d reservation.instances[0]"},{"line_number":215,"context_line":"        if instance.state !\u003d \"running\":"},{"line_number":216,"context_line":"            self.assertInstanceStateWait(instance, \"running\")"},{"line_number":217,"context_line":"        LOG.debug(\"Instance now running - state: %s\", instance.state)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        instance.reboot()"},{"line_number":220,"context_line":"        if instance.state !\u003d \"running\":"}],"source_content_type":"text/x-python","patch_set":11,"id":"da9df570_30b2a694","line":217,"updated":"2014-09-25 12:30:51.000000000","message":"Note: The wait method does some logging about the state transitions as well.","commit_id":"48f490da9cdd1d6d093bc0c5bd0fd178b4572e72"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"893add11e504b797482d7a6048668765f334bac0","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        instance \u003d reservation.instances[0]"},{"line_number":215,"context_line":"        if instance.state !\u003d \"running\":"},{"line_number":216,"context_line":"            self.assertInstanceStateWait(instance, \"running\")"},{"line_number":217,"context_line":"        LOG.debug(\"Instance now running - state: %s\", instance.state)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        instance.reboot()"},{"line_number":220,"context_line":"        if instance.state !\u003d \"running\":"}],"source_content_type":"text/x-python","patch_set":11,"id":"da9df570_9bf7f358","line":217,"in_reply_to":"da9df570_30b2a694","updated":"2014-09-25 13:04:05.000000000","message":"Yes, the wait method use the INFO logging and here DEBUG logging could be useful to check the status.","commit_id":"48f490da9cdd1d6d093bc0c5bd0fd178b4572e72"}]}
