)]}'
{"etc/tempest.conf.sample":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"3e76f9b8ba626b48d441fcf143f6e281a948c425","unresolved":false,"context_lines":[{"line_number":108,"context_line":"live_migration_available \u003d false"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"# Rescue extension available (it is false by default)"},{"line_number":111,"context_line":"rescue_available \u003d false"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"# Use block live migration (Otherwise, non-block migration will be"},{"line_number":114,"context_line":"# performed, which requires XenServer pools in case of using XS)"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAANH%2F%2F%2B40%3D","line":111,"updated":"2013-02-28 17:28:49.000000000","message":"please don\u0027t add new configs","commit_id":"117d72189ff0b278547ae7e957e2d78dba670dc8"}],"tempest/config.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"9525603506df4d06707982d9525acb59964cc236","unresolved":false,"context_lines":[{"line_number":127,"context_line":"    cfg.BoolOpt(\u0027rescue_available\u0027,"},{"line_number":128,"context_line":"                default\u003dFalse,"},{"line_number":129,"context_line":"                help\u003d\"Does the test environment rescue \""},{"line_number":130,"context_line":"                     \"available?\"),"},{"line_number":131,"context_line":"    cfg.BoolOpt(\u0027use_block_migration_for_live_migration\u0027,"},{"line_number":132,"context_line":"                default\u003dFalse,"},{"line_number":133,"context_line":"                help\u003d\"Does the test environment use block devices for live \""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2Bj18%3D","line":130,"updated":"2013-02-27 11:06:46.000000000","message":"Maybe re-word as \"Does the test environment support the server rescue extension?\"","commit_id":"35391490345cea767d951f13fea4bc742c3c9873"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"3e76f9b8ba626b48d441fcf143f6e281a948c425","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                default\u003dFalse,"},{"line_number":126,"context_line":"                help\u003d\"Does the test environment support live migration \""},{"line_number":127,"context_line":"                     \"available?\"),"},{"line_number":128,"context_line":"    cfg.BoolOpt(\u0027rescue_available\u0027,"},{"line_number":129,"context_line":"                default\u003dFalse,"},{"line_number":130,"context_line":"                help\u003d\"Does the test environment support the server rescue \""},{"line_number":131,"context_line":"                     \"extension?\"),"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAANH%2F%2F%2B5U%3D","line":128,"updated":"2013-02-28 17:28:49.000000000","message":"please don\u0027t add this config.","commit_id":"117d72189ff0b278547ae7e957e2d78dba670dc8"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"fc16904491bd35e48e1b0770fa383f44413716f3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack, LLC"},{"line_number":4,"context_line":"# Copyright 2013 Hewlett-Packard Development Company, L.P."},{"line_number":5,"context_line":"# All Rights Reserved."},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAN3%2F%2F%2Ft8%3D","line":4,"updated":"2013-03-04 06:35:10.000000000","message":"Don\u0027t think you need this line anymore :-)","commit_id":"762a3bf7782d4564871a5c9237b3ab34398f177c"}],"tempest/services/compute/json/servers_client.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"7790915f200c6aaa7781473599e7cdd574c6afd9","unresolved":false,"context_lines":[{"line_number":512,"context_line":"        #body \u003d json.loads(body)"},{"line_number":513,"context_line":"        return resp, None"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    def unrescue_server(self, server_id, admin_pass):"},{"line_number":516,"context_line":"        post_body \u003d {"},{"line_number":517,"context_line":"            \u0027unrescue\u0027: None,"},{"line_number":518,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B4fw%3D","line":515,"updated":"2013-02-15 17:17:08.000000000","message":"There is no admin_pass for unrescue.","commit_id":"4adb628061bbe1c9a6ac25ebfa373b21f0a69563"}],"tempest/services/compute/xml/servers_client.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"7790915f200c6aaa7781473599e7cdd574c6afd9","unresolved":false,"context_lines":[{"line_number":394,"context_line":"        body \u003d xml_to_json(etree.fromstring(body))"},{"line_number":395,"context_line":"        return resp, body"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def rescue_server(self, server_id, admin_pass\u003dNone):"},{"line_number":398,"context_line":"        post_body \u003d Element(\"rescue\", adminPass\u003dadmin_pass)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        return self.post(\"servers/%s/action\" % server_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B4eM%3D","line":397,"updated":"2013-02-15 17:17:08.000000000","message":"This should have the same signature as rescue_server in json.","commit_id":"4adb628061bbe1c9a6ac25ebfa373b21f0a69563"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"7790915f200c6aaa7781473599e7cdd574c6afd9","unresolved":false,"context_lines":[{"line_number":400,"context_line":"        return self.post(\"servers/%s/action\" % server_id,"},{"line_number":401,"context_line":"                         str(Document(post_body)), self.headers)"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def unrescue_server(self, server_id, admin_pass):"},{"line_number":404,"context_line":"        post_body \u003d Element(\"unrescue\", None)"},{"line_number":405,"context_line":"        return self.post(\"servers/%s/action\" % server_id,"},{"line_number":406,"context_line":"                         str(Document(post_body)), self.headers)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2B4fQ%3D","line":403,"updated":"2013-02-15 17:17:08.000000000","message":"There is no admin_pass for unrescue.","commit_id":"4adb628061bbe1c9a6ac25ebfa373b21f0a69563"}],"tempest/tests/compute/servers/test_server_rescue.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"184905025c4c255c1e5fee43a2484a8ed5c17071","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        # Server for positive tests"},{"line_number":73,"context_line":"        cls.name \u003d rand_name(\u0027server\u0027)"},{"line_number":74,"context_line":"        resp, server \u003d cls.servers_client.create_server(cls.name,"},{"line_number":75,"context_line":"                                                        cls.image_ref,"},{"line_number":76,"context_line":"                                                        cls.flavor_ref)"},{"line_number":77,"context_line":"        cls.server_id \u003d server[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Bj68%3D","line":74,"updated":"2013-02-27 10:17:07.000000000","message":"Could you use the create_server method from BaseComputeTest (new version recently merged), and wait_until\u003d\u0027BUILD\u0027\nThe base class will care for clean-up of the server as well.","commit_id":"fd8ee0c328a800f949197a6626e5137158185b33"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"184905025c4c255c1e5fee43a2484a8ed5c17071","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                                                        cls.flavor_ref)"},{"line_number":77,"context_line":"        cls.server_id \u003d server[\u0027id\u0027]"},{"line_number":78,"context_line":"        cls.password \u003d server[\u0027adminPass\u0027]"},{"line_number":79,"context_line":"        cls.servers_client.wait_for_server_status(cls.server_id, \u0027ACTIVE\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # Server for negative tests"},{"line_number":82,"context_line":"        cls.name \u003d rand_name(\u0027rescued_server\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Bj7k%3D","line":79,"updated":"2013-02-27 10:17:07.000000000","message":"I would put the wait for ACTIVE after you create the second server, so they are created in parallel","commit_id":"fd8ee0c328a800f949197a6626e5137158185b33"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"184905025c4c255c1e5fee43a2484a8ed5c17071","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # Server for negative tests"},{"line_number":82,"context_line":"        cls.name \u003d rand_name(\u0027rescued_server\u0027)"},{"line_number":83,"context_line":"        resp, server \u003d cls.servers_client.create_server(cls.name,"},{"line_number":84,"context_line":"                                                        cls.image_ref,"},{"line_number":85,"context_line":"                                                        cls.flavor_ref)"},{"line_number":86,"context_line":"        cls.rescue_id \u003d server[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Bj7g%3D","line":83,"updated":"2013-02-27 10:17:07.000000000","message":"Could you use the create_server method from BaseComputeTest (new version recently merged), and wait_until\u003d\u0027ACTIVE\u0027\nThe base class will care for clean-up of the server as well.","commit_id":"fd8ee0c328a800f949197a6626e5137158185b33"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"184905025c4c255c1e5fee43a2484a8ed5c17071","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                                                        cls.flavor_ref)"},{"line_number":86,"context_line":"        cls.rescue_id \u003d server[\u0027id\u0027]"},{"line_number":87,"context_line":"        cls.rescue_password \u003d server[\u0027adminPass\u0027]"},{"line_number":88,"context_line":"        cls.servers_client.wait_for_server_status(cls.rescue_id, \u0027ACTIVE\u0027)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if (cls.rescue_available):"},{"line_number":91,"context_line":"            cls.servers_client.rescue_server("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Bj7U%3D","line":88,"updated":"2013-02-27 10:17:07.000000000","message":"you won\u0027t need this - see comment above","commit_id":"fd8ee0c328a800f949197a6626e5137158185b33"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"184905025c4c255c1e5fee43a2484a8ed5c17071","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        #Deleting the server which is created in this method"},{"line_number":110,"context_line":"        resp, body \u003d cls.servers_client.delete_server(cls.server_id)"},{"line_number":111,"context_line":"        cls.servers_client.wait_for_server_termination(cls.server_id)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def tearDown(self):"},{"line_number":114,"context_line":"        super(ServerRescueTestJSON, self).tearDown()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Bj6c%3D","line":111,"updated":"2013-02-27 10:17:07.000000000","message":"you won\u0027t need this - see comment above","commit_id":"fd8ee0c328a800f949197a6626e5137158185b33"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"9525603506df4d06707982d9525acb59964cc236","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack, LLC"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2Bj2M%3D","line":3,"updated":"2013-02-27 11:06:46.000000000","message":"Please update to 2013 and OpenStack Foundation (if you want to assign copyright)","commit_id":"35391490345cea767d951f13fea4bc742c3c9873"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"9525603506df4d06707982d9525acb59964cc236","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        cls.rescue_id \u003d resc_server[\u0027id\u0027]"},{"line_number":85,"context_line":"        cls.rescue_password \u003d resc_server[\u0027adminPass\u0027]"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        if (cls.rescue_available):"},{"line_number":88,"context_line":"            cls.servers_client.rescue_server("},{"line_number":89,"context_line":"                cls.rescue_id, cls.rescue_password)"},{"line_number":90,"context_line":"            cls.servers_client.wait_for_server_status(cls.rescue_id, \u0027RESCUE\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2Bj2E%3D","line":87,"updated":"2013-02-27 11:06:46.000000000","message":"If rescue is not available then perhaps we could have skipped all the logic above as we are going to skip all the tests anyway? Would make things faster when rescue isn\u0027t available)","commit_id":"35391490345cea767d951f13fea4bc742c3c9873"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"80389418da7f29d7bc60c15925c4d195c2ff0a9b","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                          self.rescue_id,"},{"line_number":157,"context_line":"                          snapshot_name)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    @attr(type\u003d\u0027negative\u0027)"},{"line_number":160,"context_line":"    @testtools.skipIf(not rescue_available, \u0027Rescue not available\u0027)"},{"line_number":161,"context_line":"    def test_rescued_vm_attach_volume(self):"},{"line_number":162,"context_line":"        client \u003d self.volumes_extensions_client"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAANH%2F%2F%2FbM%3D","line":159,"updated":"2013-02-28 06:42:42.000000000","message":"Am I misunderstanding something or is this not a negative test?","commit_id":"e99e02de495c30b3bdb334855666e4f4de137e58"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"fb31605b77f57d384e3fbd5a7305e3d9a3029f9e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        cls.rescue_id \u003d resc_server[\u0027id\u0027]"},{"line_number":84,"context_line":"        cls.rescue_password \u003d resc_server[\u0027adminPass\u0027]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        cls.servers_client.rescue_server("},{"line_number":87,"context_line":"            cls.rescue_id, cls.rescue_password)"},{"line_number":88,"context_line":"        cls.servers_client.wait_for_server_status(cls.rescue_id, \u0027RESCUE\u0027)"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAN3%2F%2F9CQ%3D","line":86,"updated":"2013-03-05 13:26:12.000000000","message":"why are we rescuing in the setup?","commit_id":"e7042a1ac57c9298712ca15333a0a9a72f22272d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"fb31605b77f57d384e3fbd5a7305e3d9a3029f9e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self.volumes_extensions_client.delete_volume(volume_id)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    @attr(type\u003d\u0027positive\u0027)"},{"line_number":116,"context_line":"    def test_rescue_extension_available(self):"},{"line_number":117,"context_line":"        #Check that the rescue extension is available."},{"line_number":118,"context_line":"        self.assertTrue(self.extensions_client.is_enabled(\"Rescue\"))"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAN3%2F%2F9Ck%3D","line":116,"updated":"2013-03-05 13:26:12.000000000","message":"I\u0027m not sure what this test gives us.","commit_id":"e7042a1ac57c9298712ca15333a0a9a72f22272d"}]}
