)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8066bd199a1cb5df96af91e52acbc44b3c85bcdb","unresolved":false,"context_lines":[{"line_number":14,"context_line":"- Test properties."},{"line_number":15,"context_line":"- Test output attributes."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: #1272007"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I75695402b4af7e7fa7a561d682f9308167f661da"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dab895d6_3b3111ed","line":17,"updated":"2014-06-30 09:37:33.000000000","message":"This seems to relate as well to https://blueprints.launchpad.net/tempest/+spec/tempest-heat-integration\n\nCould you sync with the bp owner and tag the bp in here to make sure there\u0027s no duplicate work done on it?","commit_id":"9536a3b9381199a86eeec94f887473d2cbda2d76"}],"tempest/api/orchestration/stacks/templates/ec2_instance_basic.yaml":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8066bd199a1cb5df96af91e52acbc44b3c85bcdb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"heat_template_version: 2013-05-23"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"parameters:"},{"line_number":4,"context_line":"  key_name:"},{"line_number":5,"context_line":"    type: string"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dab895d6_7bd8e953","line":2,"updated":"2014-06-30 09:37:33.000000000","message":"It would be nice to have a description in here","commit_id":"9536a3b9381199a86eeec94f887473d2cbda2d76"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8066bd199a1cb5df96af91e52acbc44b3c85bcdb","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"outputs:"},{"line_number":24,"context_line":"  availability_zone:"},{"line_number":25,"context_line":"    value: { get_attr: [instance, AvailabilityZone] }"},{"line_number":26,"context_line":"  private_dns_name:"},{"line_number":27,"context_line":"    value: { get_attr: [instance, PrivateDnsName] }"},{"line_number":28,"context_line":"  private_ip:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dab895d6_7ba629c3","line":25,"updated":"2014-06-30 09:37:33.000000000","message":"It would be nice to be consistent in the spacing after { } within the template - it makes it easier to read.","commit_id":"9536a3b9381199a86eeec94f887473d2cbda2d76"}],"tempest/api/orchestration/stacks/test_ec2_instance.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8066bd199a1cb5df96af91e52acbc44b3c85bcdb","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class EC2InstanceYAMLTest(base.BaseOrchestrationTest):"},{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def setUpClass(cls):"},{"line_number":24,"context_line":"        super(EC2InstanceYAMLTest, cls).setUpClass()"},{"line_number":25,"context_line":"        cls.stack_name \u003d data_utils.rand_name(\u0027heat\u0027)"},{"line_number":26,"context_line":"        template \u003d cls.load_template(\u0027ec2_instance_basic\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab895d6_bb5fe171","line":23,"updated":"2014-06-30 09:37:33.000000000","message":"This should be decorated with \n    @test.safe_setup\n\nelse this may leak resources as in case of exception tearDownClass would not be invoked.","commit_id":"9536a3b9381199a86eeec94f887473d2cbda2d76"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8066bd199a1cb5df96af91e52acbc44b3c85bcdb","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        # Test the properties of the physical resource."},{"line_number":67,"context_line":"        self.assertEqual(self.keypair_name, server[\u0027key_name\u0027])"},{"line_number":68,"context_line":"        flavors_client \u003d self.os.flavors_client"},{"line_number":69,"context_line":"        resp, flavor \u003d flavors_client.get_flavor_details("},{"line_number":70,"context_line":"            server[\u0027flavor\u0027][\u0027id\u0027])"},{"line_number":71,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":72,"context_line":"        self.assertEqual(self.instance_type, flavor[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab895d6_166c249c","line":69,"updated":"2014-06-30 09:37:33.000000000","message":"L68 and 69 could be one line...","commit_id":"9536a3b9381199a86eeec94f887473d2cbda2d76"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8066bd199a1cb5df96af91e52acbc44b3c85bcdb","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":72,"context_line":"        self.assertEqual(self.instance_type, flavor[\u0027name\u0027])"},{"line_number":73,"context_line":"        images_client \u003d self.os.images_client"},{"line_number":74,"context_line":"        resp, image \u003d images_client.get_image(server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":75,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":76,"context_line":"        self.assertEqual(self.image_ref, image[\u0027name\u0027])"},{"line_number":77,"context_line":"        self.assertEqual({\u0027foo\u0027: \u0027bar\u0027}, server[\u0027metadata\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab895d6_7631e0a1","line":74,"updated":"2014-06-30 09:37:33.000000000","message":"L73 and L74 could be one line...","commit_id":"9536a3b9381199a86eeec94f887473d2cbda2d76"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8066bd199a1cb5df96af91e52acbc44b3c85bcdb","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # az \u003d self.get_stack_output(self.stack_id, \"availability_zone\")"},{"line_number":81,"context_line":"        # Bug #1334519"},{"line_number":82,"context_line":"        # self.assertEqual(CONF.aws_zone, az)"},{"line_number":83,"context_line":"        ip_address \u003d server[\u0027addresses\u0027][\u0027private\u0027][0][\u0027addr\u0027]"},{"line_number":84,"context_line":"        public_ip \u003d self.get_stack_output(self.stack_id, \"public_ip\")"},{"line_number":85,"context_line":"        self.assertEqual(ip_address, public_ip)"},{"line_number":86,"context_line":"        private_ip \u003d self.get_stack_output(self.stack_id, \"private_ip\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab895d6_761720a4","line":83,"updated":"2014-06-30 09:37:33.000000000","message":"I think a comment here may help understand this code. \nThe test matches what heat is doing so it\u0027s fine.\n\n        if name \u003d\u003d \u0027AvailabilityZone\u0027:\n            res \u003d self.properties[\u0027AvailabilityZone\u0027]\n        elif name in [\u0027PublicIp\u0027, \u0027PrivateIp\u0027, \u0027PublicDnsName\u0027,\n                      \u0027PrivateDnsName\u0027]:\n            res \u003d self._ipaddress()","commit_id":"9536a3b9381199a86eeec94f887473d2cbda2d76"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"854e38b6b4568387d68121ac5b462bbfb84e794b","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            cls.test_resources[resource[\u0027logical_resource_id\u0027]] \u003d resource"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":49,"context_line":"    @test.safe_setup"},{"line_number":50,"context_line":"    def test_ec2instance_created_stack(self):"},{"line_number":51,"context_line":"        \"\"\"Verifies created instance resource.\"\"\""},{"line_number":52,"context_line":"        resource \u003d self.test_resources.get(\u0027instance\u0027, None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_bdbc276e","line":49,"updated":"2014-07-01 10:21:47.000000000","message":"The safe_setup is designed to decorate the setUpClass fixture, not tests - as per my previous comment.","commit_id":"2eb2cce4f1f32c25781c8a9bb5bac2e4450e5f4e"},{"author":{"_account_id":6899,"name":"Sirushti Murugesan","email":"sirushtim@gmail.com","username":"sirushtim"},"change_message_id":"caba98861ed042ace18e92c1f61934d774287673","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            cls.test_resources[resource[\u0027logical_resource_id\u0027]] \u003d resource"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @test.attr(type\u003d\u0027slow\u0027)"},{"line_number":49,"context_line":"    @test.safe_setup"},{"line_number":50,"context_line":"    def test_ec2instance_created_stack(self):"},{"line_number":51,"context_line":"        \"\"\"Verifies created instance resource.\"\"\""},{"line_number":52,"context_line":"        resource \u003d self.test_resources.get(\u0027instance\u0027, None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_c8c75b11","line":49,"in_reply_to":"baada198_bdbc276e","updated":"2014-07-01 11:01:18.000000000","message":"Oops! Done","commit_id":"2eb2cce4f1f32c25781c8a9bb5bac2e4450e5f4e"}]}
