)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"84ccc51c8dff9b1c8860042c9139f9bb77d5fb0f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Added telemetry API notification tests for neutron measurements:"},{"line_number":12,"context_line":"network, network.create, network.update, subnet, subnet.create,"},{"line_number":13,"context_line":"subnet.update, port, port.create, port.update, router, router.create,"},{"line_number":14,"context_line":"router.update, ip.floating, ip.floating.create, ip.floating.update"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ifa839b41931de04761293ac612228967b622db75"},{"line_number":17,"context_line":"Partially implements: blueprint add-basic-ceilometer-tests"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":42,"id":"baada198_379372a4","line":14,"updated":"2014-07-18 10:12:01.000000000","message":"I think you should describe the reason why you picked up these resources of cinder and neutron.\nIs this all of cinder and neutron? I\u0027m not sure these resources are enough for the subject.","commit_id":"2ebde80d43829437eddfce9a64edb0c9367758d8"}],"etc/tempest.conf.sample":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"458800f62be7e07ada8fda67db59cccac0a58f67","unresolved":false,"context_lines":[{"line_number":835,"context_line":"# value)"},{"line_number":836,"context_line":"#endpoint_type\u003dpublicURL"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"# Timeout for add a record in ceilometer database. (integer"},{"line_number":839,"context_line":"# value)"},{"line_number":840,"context_line":"#recording_timeout\u003d60"},{"line_number":841,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":16,"id":"AAAAXX%2F%2F6Ps%3D","line":838,"updated":"2014-04-25 11:33:15.000000000","message":"Is it in seconds or mins?","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"}],"tempest/api/telemetry/base.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"802ffc28649ba5998d6ab449b0a89d614bae5e58","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        body \u003d []"},{"line_number":60,"context_line":"        i \u003d 0"},{"line_number":61,"context_line":"        while not body:"},{"line_number":62,"context_line":"            time.sleep(0.1)"},{"line_number":63,"context_line":"            resp, body \u003d self.telemetry_client.list_samples(metric, query)"},{"line_number":64,"context_line":"            self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":65,"context_line":"            i +\u003d 1"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F%2BLPM%3D","line":62,"updated":"2014-01-29 12:38:54.000000000","message":"We should use bigger wait time.\n0.1 sec will create too many logs about requests, and in parallel tempest runs we would stress a single ceilo process more than we really want.","commit_id":"b54d5e8666ca3217a85dc3e892fd9d497e16956d"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"0aa2b5485e647c9f225f9f994950b617e7d54381","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        body \u003d []"},{"line_number":60,"context_line":"        i \u003d 0"},{"line_number":61,"context_line":"        while not body:"},{"line_number":62,"context_line":"            time.sleep(0.1)"},{"line_number":63,"context_line":"            resp, body \u003d self.telemetry_client.list_samples(metric, query)"},{"line_number":64,"context_line":"            self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":65,"context_line":"            i +\u003d 1"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F%2BKuM%3D","line":62,"in_reply_to":"AAAAUH%2F%2BLPM%3D","updated":"2014-01-29 14:29:31.000000000","message":"Done","commit_id":"b54d5e8666ca3217a85dc3e892fd9d497e16956d"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"458800f62be7e07ada8fda67db59cccac0a58f67","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            try:"},{"line_number":153,"context_line":"                cls.network_client.delete_network(cls.network_id)"},{"line_number":154,"context_line":"            except exceptions.NotFound:"},{"line_number":155,"context_line":"                pass"},{"line_number":156,"context_line":"        cls.clear_isolated_creds()"},{"line_number":157,"context_line":"        super(BaseTelemetryTest, cls).tearDownClass()"},{"line_number":158,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAXX%2F%2F6JE%3D","line":155,"updated":"2014-04-25 11:33:15.000000000","message":"I would suggest to add a \"cleanup_resource\" method like this:\n\n@staticmethod\ndef cleanup_resource(method, resource_id):\n    try:\n        method(resource_id)\n    except exceptions.NotFound:\n        pass\n\nSo you can write something like this:\n\n@classmethod\ndef tearDownClass(cls):\n    for alarm_id in cls.alarm_ids:\n        cls.cleanup_resource(cls.telemetry_client.delete_alarm, alarm_id)\n    if cls.volume_id:\n        cls.cleanup_resource(cls.volume_client.delete_volume, cls.volume_id)\n    if cls.router_id:\n        cls.cleanup_resource(cls.network_client.delete_router, cls.router_id)\n    ...","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"18f327adf9f0ccf5ae41a7656e21e538cccf7816","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        while not body:"},{"line_number":168,"context_line":"            time.sleep(1)"},{"line_number":169,"context_line":"            resp, body \u003d self.telemetry_client.list_samples(metric, query)"},{"line_number":170,"context_line":"            self.assertEqual(int(resp[\u0027status\u0027]), 200)"},{"line_number":171,"context_line":"            i +\u003d 1"},{"line_number":172,"context_line":"            if i \u003e CONF.telemetry.recording_timeout:"},{"line_number":173,"context_line":"                self.fail(\u0027get sample for metric:%s with query:%s not added \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"bad4c104_757c8a73","line":170,"updated":"2014-04-29 08:32:24.000000000","message":"you can use resp.status instead int(resp[\u0027status\u0027])","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"4b93d059af81dd6d4372a47c83e76644e426ccf1","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            except exceptions.NotFound:"},{"line_number":176,"context_line":"                pass"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def tearDown(self):"},{"line_number":179,"context_line":"        self.cleanup_resources(self.servers_client.delete_server,"},{"line_number":180,"context_line":"                               self.server_ids)"},{"line_number":181,"context_line":"        self.cleanup_resources(self.servers_client.wait_for_server_termination,"}],"source_content_type":"text/x-python","patch_set":42,"id":"baada198_33d07452","line":178,"updated":"2014-07-28 21:13:36.000000000","message":"I don\u0027t understand why some of these are cleaned up in tearDown and some in tearDownClass. There doesn\u0027t seem to be any difference in usage. If there is some purpose for this it should be explained in a comment.","commit_id":"2ebde80d43829437eddfce9a64edb0c9367758d8"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"eef602bc6f01082a2000db1ce625cad9a300f8b3","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            except exceptions.NotFound:"},{"line_number":176,"context_line":"                pass"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def tearDown(self):"},{"line_number":179,"context_line":"        self.cleanup_resources(self.servers_client.delete_server,"},{"line_number":180,"context_line":"                               self.server_ids)"},{"line_number":181,"context_line":"        self.cleanup_resources(self.servers_client.wait_for_server_termination,"}],"source_content_type":"text/x-python","patch_set":42,"id":"baada198_7118ac1f","line":178,"in_reply_to":"baada198_33d07452","updated":"2014-07-31 13:35:33.000000000","message":"I moved these methods to tearDown method after discussion  with Matthew: \n\nhttps://review.openstack.org/#/c/71259/16/tempest/api/telemetry/base.py\n\ni did not move cleanup method for volume because volume is used in two tests.","commit_id":"2ebde80d43829437eddfce9a64edb0c9367758d8"}],"tempest/api/telemetry/test_telemetry_notification_api.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"fe358269dbf50968f8a7590cf925ad772ca4d136","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from tempest.api.telemetry import base"},{"line_number":16,"context_line":"from tempest.common.utils import data_utils"},{"line_number":17,"context_line":"from tempest import config"},{"line_number":18,"context_line":"from tempest.test import attr"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"CONF \u003d config.CONF"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAXX%2F%2FwEk%3D","line":18,"updated":"2014-04-28 08:54:11.000000000","message":"Please do not import object, import only module.\nPlease see http://docs.openstack.org/developer/hacking/#imports .\nSo this should be like below:\n\n from tempest import test\n   :\n @test.attr(...)","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"fe358269dbf50968f8a7590cf925ad772ca4d136","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":27,"context_line":"    @testtools.skipIf(not CONF.service_available.cinder,"},{"line_number":28,"context_line":"                      \"Cinder is not available.\")"},{"line_number":29,"context_line":"    def test_check_volume_notification(self):"},{"line_number":30,"context_line":"        resp, body \u003d self.create_volume()"},{"line_number":31,"context_line":"        query \u003d \u0027resource\u0027, \u0027eq\u0027, body[\u0027id\u0027]"},{"line_number":32,"context_line":"        self.volume_client.delete_volume(body[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAXX%2F%2FwFg%3D","line":29,"updated":"2014-04-28 08:54:11.000000000","message":"I think this should have @test.services(\u0027volume\u0027).","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"18f327adf9f0ccf5ae41a7656e21e538cccf7816","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @testtools.skipIf(not CONF.service_available.cinder,"},{"line_number":28,"context_line":"                      \"Cinder is not available.\")"},{"line_number":29,"context_line":"    def test_check_volume_notification(self):"},{"line_number":30,"context_line":"        resp, body \u003d self.create_volume()"},{"line_number":31,"context_line":"        query \u003d \u0027resource\u0027, \u0027eq\u0027, body[\u0027id\u0027]"},{"line_number":32,"context_line":"        self.volume_client.delete_volume(body[\u0027id\u0027])"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"bad4c104_b5dc5276","line":30,"updated":"2014-04-29 08:32:24.000000000","message":"unused variable resp","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"fe358269dbf50968f8a7590cf925ad772ca4d136","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    @attr(type\u003d\"smoke\")"},{"line_number":38,"context_line":"    @testtools.skipIf(not CONF.service_available.neutron,"},{"line_number":39,"context_line":"                      \"Neutron is not available.\")"},{"line_number":40,"context_line":"    def test_check_neutron_notifications(self):"},{"line_number":41,"context_line":"        resp, _ \u003d self.create_network()"},{"line_number":42,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":43,"context_line":"        self.network_client.update_network("}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAXX%2F%2FwEI%3D","line":40,"updated":"2014-04-28 08:54:11.000000000","message":"I think this should have @test.services(\u0027network\u0027).\nPlease see HACKING.rst:Service Tagging .","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"18f327adf9f0ccf5ae41a7656e21e538cccf7816","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                      \"Neutron is not available.\")"},{"line_number":40,"context_line":"    def test_check_neutron_notifications(self):"},{"line_number":41,"context_line":"        resp, _ \u003d self.create_network()"},{"line_number":42,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":43,"context_line":"        self.network_client.update_network("},{"line_number":44,"context_line":"            self.network_id, name\u003ddata_utils.rand_name(\u0027network\u0027))"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"bad4c104_15e41e3a","line":42,"updated":"2014-04-29 08:32:24.000000000","message":"you can use resp.status instead int(resp[\u0027status\u0027])","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"18f327adf9f0ccf5ae41a7656e21e538cccf7816","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            self.network_id, name\u003ddata_utils.rand_name(\u0027network\u0027))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        resp, _ \u003d self.create_subnet(self.network_id)"},{"line_number":47,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":48,"context_line":"        self.network_client.update_subnet(self.subnet_id,"},{"line_number":49,"context_line":"                                          name\u003ddata_utils.rand_name(\u0027subnet\u0027))"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"bad4c104_35d04253","line":47,"updated":"2014-04-29 08:32:24.000000000","message":"you can use resp.status instead int(resp[\u0027status\u0027])","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"18f327adf9f0ccf5ae41a7656e21e538cccf7816","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                                          name\u003ddata_utils.rand_name(\u0027subnet\u0027))"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        resp, _ \u003d self.create_port()"},{"line_number":52,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":53,"context_line":"        self.network_client.update_port(self.port_id,"},{"line_number":54,"context_line":"                                        name\u003ddata_utils.rand_name(\u0027port\u0027))"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"bad4c104_b5c37289","line":52,"updated":"2014-04-29 08:32:24.000000000","message":"you can use resp.status instead int(resp[\u0027status\u0027])","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"18f327adf9f0ccf5ae41a7656e21e538cccf7816","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                                        name\u003ddata_utils.rand_name(\u0027port\u0027))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        resp, _ \u003d self.create_floating_ip()"},{"line_number":57,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":58,"context_line":"        self.network_client.update_floating_ip(self.flip_id, port_id\u003dNone)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        resp, _ \u003d self.create_router()"}],"source_content_type":"text/x-python","patch_set":16,"id":"bad4c104_95466e22","line":57,"updated":"2014-04-29 08:32:24.000000000","message":"you can use resp.status instead int(resp[\u0027status\u0027])","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"18f327adf9f0ccf5ae41a7656e21e538cccf7816","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self.network_client.update_floating_ip(self.flip_id, port_id\u003dNone)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        resp, _ \u003d self.create_router()"},{"line_number":61,"context_line":"        self.assertEqual(int(resp[\u0027status\u0027]), 201)"},{"line_number":62,"context_line":"        self.network_client.update_router(self.router_id,"},{"line_number":63,"context_line":"                                          name\u003ddata_utils.rand_name(\u0027router\u0027))"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"bad4c104_355e82ea","line":61,"updated":"2014-04-29 08:32:24.000000000","message":"you can use resp.status instead int(resp[\u0027status\u0027])","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"ea38b8ea13bad6d5ea4f6367c4ba70e43f195518","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        for metric in self.neutron_router_notifications:"},{"line_number":83,"context_line":"            self.await_samples(metric, query)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.network_client.delete_router(self.router_id)"},{"line_number":86,"context_line":"        self.network_client.delete_floating_ip(self.flip_id)"},{"line_number":87,"context_line":"        self.network_client.delete_port(self.port_id)"},{"line_number":88,"context_line":"        self.network_client.delete_subnet(self.subnet_id)"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAXX%2F%2FuEM%3D","line":85,"updated":"2014-04-28 13:32:32.000000000","message":"Shouldn\u0027t this be part of the teardown and not part of the test?","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"1d63db6f60ad4060c3957cdd9e81f25f6a188f06","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    def test_check_neutron_notifications(self):"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        resp, net_body \u003d self.create_network()"},{"line_number":63,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":64,"context_line":"        self.network_client.update_network("},{"line_number":65,"context_line":"            net_body[\u0027network\u0027][\u0027id\u0027], name\u003ddata_utils.rand_name(\u0027network\u0027))"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1ae5cdf2_bec08ce1","line":63,"updated":"2014-06-09 09:41:27.000000000","message":"usually self.assertEqual(expected, actual)","commit_id":"b2eb240dad19e313543f26419fd0318d53b87f0b"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"86ea474d827810e529957f6fd047146735a57e24","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    def test_check_neutron_notifications(self):"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        resp, net_body \u003d self.create_network()"},{"line_number":63,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":64,"context_line":"        self.network_client.update_network("},{"line_number":65,"context_line":"            net_body[\u0027network\u0027][\u0027id\u0027], name\u003ddata_utils.rand_name(\u0027network\u0027))"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1ae5cdf2_a136b1b2","line":63,"in_reply_to":"1ae5cdf2_bec08ce1","updated":"2014-06-09 09:55:03.000000000","message":"Done","commit_id":"b2eb240dad19e313543f26419fd0318d53b87f0b"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"1d63db6f60ad4060c3957cdd9e81f25f6a188f06","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            net_body[\u0027network\u0027][\u0027id\u0027], name\u003ddata_utils.rand_name(\u0027network\u0027))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        resp, subnet_body \u003d self.create_subnet(net_body[\u0027network\u0027][\u0027id\u0027])"},{"line_number":68,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":69,"context_line":"        self.network_client.update_subnet(subnet_body[\u0027subnet\u0027][\u0027id\u0027],"},{"line_number":70,"context_line":"                                          name\u003ddata_utils.rand_name(\u0027subnet\u0027))"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1ae5cdf2_deb5587f","line":68,"updated":"2014-06-09 09:41:27.000000000","message":"ditto","commit_id":"b2eb240dad19e313543f26419fd0318d53b87f0b"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"86ea474d827810e529957f6fd047146735a57e24","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            net_body[\u0027network\u0027][\u0027id\u0027], name\u003ddata_utils.rand_name(\u0027network\u0027))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        resp, subnet_body \u003d self.create_subnet(net_body[\u0027network\u0027][\u0027id\u0027])"},{"line_number":68,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":69,"context_line":"        self.network_client.update_subnet(subnet_body[\u0027subnet\u0027][\u0027id\u0027],"},{"line_number":70,"context_line":"                                          name\u003ddata_utils.rand_name(\u0027subnet\u0027))"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1ae5cdf2_c13bbd9a","line":68,"in_reply_to":"1ae5cdf2_deb5587f","updated":"2014-06-09 09:55:03.000000000","message":"Done","commit_id":"b2eb240dad19e313543f26419fd0318d53b87f0b"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"1d63db6f60ad4060c3957cdd9e81f25f6a188f06","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                                          name\u003ddata_utils.rand_name(\u0027subnet\u0027))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        resp, port_body \u003d self.create_port(net_body[\u0027network\u0027][\u0027id\u0027])"},{"line_number":73,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":74,"context_line":"        self.network_client.update_port(port_body[\u0027port\u0027][\u0027id\u0027],"},{"line_number":75,"context_line":"                                        name\u003ddata_utils.rand_name(\u0027port\u0027))"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1ae5cdf2_1eafc02c","line":73,"updated":"2014-06-09 09:41:27.000000000","message":"ditto","commit_id":"b2eb240dad19e313543f26419fd0318d53b87f0b"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"86ea474d827810e529957f6fd047146735a57e24","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                                          name\u003ddata_utils.rand_name(\u0027subnet\u0027))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        resp, port_body \u003d self.create_port(net_body[\u0027network\u0027][\u0027id\u0027])"},{"line_number":73,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":74,"context_line":"        self.network_client.update_port(port_body[\u0027port\u0027][\u0027id\u0027],"},{"line_number":75,"context_line":"                                        name\u003ddata_utils.rand_name(\u0027port\u0027))"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1ae5cdf2_e140b909","line":73,"in_reply_to":"1ae5cdf2_1eafc02c","updated":"2014-06-09 09:55:03.000000000","message":"Done","commit_id":"b2eb240dad19e313543f26419fd0318d53b87f0b"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"1d63db6f60ad4060c3957cdd9e81f25f6a188f06","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                                        name\u003ddata_utils.rand_name(\u0027port\u0027))"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        resp, ip_body \u003d self.create_floating_ip()"},{"line_number":78,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":79,"context_line":"        self.network_client.update_floatingip(ip_body[\u0027floatingip\u0027][\u0027id\u0027],"},{"line_number":80,"context_line":"                                              port_id\u003dNone)"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1ae5cdf2_3eac7c35","line":78,"updated":"2014-06-09 09:41:27.000000000","message":"ditto","commit_id":"b2eb240dad19e313543f26419fd0318d53b87f0b"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"86ea474d827810e529957f6fd047146735a57e24","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                                        name\u003ddata_utils.rand_name(\u0027port\u0027))"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        resp, ip_body \u003d self.create_floating_ip()"},{"line_number":78,"context_line":"        self.assertEqual(resp.status, 201)"},{"line_number":79,"context_line":"        self.network_client.update_floatingip(ip_body[\u0027floatingip\u0027][\u0027id\u0027],"},{"line_number":80,"context_line":"                                              port_id\u003dNone)"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"1ae5cdf2_01468523","line":78,"in_reply_to":"1ae5cdf2_3eac7c35","updated":"2014-06-09 09:55:03.000000000","message":"Done","commit_id":"b2eb240dad19e313543f26419fd0318d53b87f0b"}],"tempest/config.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"458800f62be7e07ada8fda67db59cccac0a58f67","unresolved":false,"context_lines":[{"line_number":555,"context_line":"               help\u003d\"The endpoint type to use for the telemetry service.\"),"},{"line_number":556,"context_line":"    cfg.IntOpt(\u0027recording_timeout\u0027,"},{"line_number":557,"context_line":"               default\u003d60,"},{"line_number":558,"context_line":"               help\u003d\"Timeout for add a record in ceilometer database.\"),"},{"line_number":559,"context_line":"]"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAAXX%2F%2F6PA%3D","line":558,"updated":"2014-04-25 11:33:15.000000000","message":"ditto","commit_id":"56c91d7488741b5a8d84baaa26134866e3e94aa0"}]}
