)]}'
{"nova/api/ec2/cloud.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"1c65f90847b428119aaead3de8af8013721160f4","unresolved":false,"context_lines":[{"line_number":957,"context_line":"        instances \u003d security_group.get(\u0027instances\u0027)"},{"line_number":958,"context_line":"        if instances:"},{"line_number":959,"context_line":"          err \u003d \u0027Security group has instances still assigned to it.\u0027"},{"line_number":960,"context_line":"          raise exception.ApiError(_(err))"},{"line_number":961,"context_line":"        db.security_group_destroy(context, security_group.id)"},{"line_number":962,"context_line":"        return True"},{"line_number":963,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACX%2F%2F7Qg%3D","line":960,"updated":"2011-10-21 20:15:38.000000000","message":"Since there\u0027s a couple other things to fix..  I want to point out this seems to be more consistent in nova:\n\nerr \u003d _(\u0027Security group has....\u0027)\nraise exception.ApiError(err)\n\nVery minor.. but I\u0027m trying to enforce some consistency.","commit_id":"7521e527c179aad75a64c224fdc56b262e9d6968"}],"nova/tests/api/ec2/test_cloud.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"f71c9e4aa52803429a1f59a6b5cf808788e757e1","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        delete \u003d self.cloud.delete_security_group"},{"line_number":247,"context_line":"        self.assertRaises(exception.ApiError, delete, self.context, \u0027fakesg1\u0027)"},{"line_number":248,"context_line":"        self.stubs.UnsetAll()"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def test_authorize_security_group_ingress(self):"},{"line_number":251,"context_line":"        kwargs \u003d {\u0027project_id\u0027: self.context.project_id, \u0027name\u0027: \u0027test\u0027}"},{"line_number":252,"context_line":"        sec \u003d db.security_group_create(self.context, kwargs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACX%2F%2F8vY%3D","line":249,"updated":"2011-10-13 04:14:58.000000000","message":"No need for the stubs.UnsetAll().  tearDown in nova.test.TestCase will take care of that.","commit_id":"36f96370c8d0914cdf10a6690fc1268018f8042a"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"1c65f90847b428119aaead3de8af8013721160f4","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        def fake_sg(self, context, id):"},{"line_number":243,"context_line":"          return { \u0027name\u0027: \u0027fakesg1\u0027,"},{"line_number":244,"context_line":"                   \u0027instances\u0027: [\u0027fakeinst1\u0027, \u0027fakeinst2\u0027] }"},{"line_number":245,"context_line":"        self.stubs.Set(db, \u0027security_group_get_by_name\u0027, fake_sg)"},{"line_number":246,"context_line":"        delete \u003d self.cloud.delete_security_group"},{"line_number":247,"context_line":"        self.assertRaises(exception.ApiError, delete, self.context, \u0027fakesg1\u0027)"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACX%2F%2F7Q8%3D","line":245,"updated":"2011-10-21 20:15:38.000000000","message":"Missed this before..  But the whitespace after { is going to fail pep8.  Should be {\u0027name\u0027: ...  Also ditch the whitespace before the }.","commit_id":"7521e527c179aad75a64c224fdc56b262e9d6968"}],"smoketests/test_netadmin.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"1c65f90847b428119aaead3de8af8013721160f4","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    def test_999_tearDown(self):"},{"line_number":193,"context_line":"        self.conn.delete_key_pair(TEST_KEY)"},{"line_number":194,"context_line":"        self.conn.terminate_instances([self.data[\u0027instance\u0027].id])"},{"line_number":195,"context_line":"        time.sleep(5)"},{"line_number":196,"context_line":"        self.conn.delete_security_group(TEST_GROUP)"},{"line_number":197,"context_line":"        groups \u003d self.conn.get_all_security_groups()"},{"line_number":198,"context_line":"        self.assertFalse(TEST_GROUP in [group.name for group in groups])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACX%2F%2F7Qk%3D","line":195,"updated":"2011-10-21 20:15:38.000000000","message":"Hm.  Probably would be better to add a \u0027wait_for_terminated\u0027 call in smoketests/base.py...  so there\u0027s a loop that only sleeps 1 second at a time and checks for the instance to disappear...  vs just waiting 5 seconds and hoping the instance is gone.","commit_id":"7521e527c179aad75a64c224fdc56b262e9d6968"}]}
