)]}'
{"neutron/tests/fullstack/resources/config.py":[{"author":{"_account_id":13717,"name":"Inessa Vasilevskaya","email":"ivasilevskaya@mirantis.com","username":"ivasilevskaya"},"change_message_id":"f128a4dd64f10d863a5caaec80d719a5bae93e62","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        super(OVSConfigFixture, self)._setUp()"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def _generate_bridge_mappings(self):"},{"line_number":190,"context_line":"        return \u0027%s:%s\u0027 % (PHYSICAL_NETWORK_NAME,"},{"line_number":191,"context_line":"                          utils.get_rand_device_name(prefix\u003d\u0027br-eth\u0027))"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def _generate_integration_bridge(self):"},{"line_number":194,"context_line":"        return utils.get_rand_device_name(prefix\u003d\u0027br-int\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a8bc5a2_97761304","line":191,"range":{"start_line":190,"start_character":8,"end_line":191,"end_character":70},"updated":"2016-09-27 13:38:10.000000000","message":"Nit: I personally prefer dictionary-based string formatting in case of 2+ arguments, but as long as I can\u0027t find it in style guideline, it\u0027s up to you.","commit_id":"053367bb0cafa68dc574749db1310994ea5abb1f"}],"neutron/tests/fullstack/resources/environment.py":[{"author":{"_account_id":13717,"name":"Inessa Vasilevskaya","email":"ivasilevskaya@mirantis.com","username":"ivasilevskaya"},"change_message_id":"f128a4dd64f10d863a5caaec80d719a5bae93e62","unresolved":false,"context_lines":[{"line_number":266,"context_line":"    def l2_agent(self):"},{"line_number":267,"context_line":"        if self.host_desc.l2_agent_type \u003d\u003d constants.AGENT_TYPE_LINUXBRIDGE:"},{"line_number":268,"context_line":"            return self.linuxbridge_agent"},{"line_number":269,"context_line":"        elif self.host_desc.l2_agent_type \u003d\u003d constants.AGENT_TYPE_OVS:"},{"line_number":270,"context_line":"            return self.ovs_agent"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a8bc5a2_b7d22e5a","line":269,"range":{"start_line":269,"start_character":8,"end_line":269,"end_character":12},"updated":"2016-09-27 13:38:10.000000000","message":"Nit: can be if","commit_id":"053367bb0cafa68dc574749db1310994ea5abb1f"}],"neutron/tests/fullstack/resources/process.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"c568d7f2754b61591d1fb5ebecc80b7428344614","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                      self.process_name)"},{"line_number":76,"context_line":"            return"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        if kill_signal is None:"},{"line_number":79,"context_line":"            kill_signal \u003d self.kill_signal"},{"line_number":80,"context_line":"        self.process.stop(block\u003dTrue, kill_signal\u003dkill_signal)"},{"line_number":81,"context_line":"        LOG.debug(\"Process stopped: %s\", self.process_name)"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_ce6fabc3","line":79,"range":{"start_line":78,"start_character":0,"end_line":79,"end_character":42},"updated":"2016-09-24 11:00:00.000000000","message":"Nit: kill_signal \u003d kill_signal or self.kill_signal","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":19797,"name":"Hynek Mlnarik","email":"hmlnarik@redhat.com","username":"hmlnarik"},"change_message_id":"a1d3cf21b6162283f1ffdf344ad2faf1b39c3c3b","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                      self.process_name)"},{"line_number":76,"context_line":"            return"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        if kill_signal is None:"},{"line_number":79,"context_line":"            kill_signal \u003d self.kill_signal"},{"line_number":80,"context_line":"        self.process.stop(block\u003dTrue, kill_signal\u003dkill_signal)"},{"line_number":81,"context_line":"        LOG.debug(\"Process stopped: %s\", self.process_name)"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_a43976f4","line":79,"range":{"start_line":78,"start_character":0,"end_line":79,"end_character":42},"in_reply_to":"5a8bc5a2_ce6fabc3","updated":"2016-09-27 09:45:29.000000000","message":"Done","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"10c1eaf9dd4ea668e901c0e54f14340de345bb03","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if executor is None:"},{"line_number":91,"context_line":"            _restart()"},{"line_number":92,"context_line":"            return"},{"line_number":93,"context_line":"        else:"},{"line_number":94,"context_line":"            return executor.submit(_restart)"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_dbbdb8d8","line":92,"updated":"2016-09-23 13:53:36.000000000","message":"Nit: This return statement is not necessary.","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":19797,"name":"Hynek Mlnarik","email":"hmlnarik@redhat.com","username":"hmlnarik"},"change_message_id":"a1d3cf21b6162283f1ffdf344ad2faf1b39c3c3b","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if executor is None:"},{"line_number":91,"context_line":"            _restart()"},{"line_number":92,"context_line":"            return"},{"line_number":93,"context_line":"        else:"},{"line_number":94,"context_line":"            return executor.submit(_restart)"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_e427fec7","line":92,"in_reply_to":"5a8bc5a2_dbbdb8d8","updated":"2016-09-27 09:45:29.000000000","message":"Done","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"}],"neutron/tests/fullstack/test_connectivity.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"20bc40d197dee7b6ad85cfebf11c5caa18b26dbe","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    num_hosts \u003d 2"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    l2_agent_type \u003d constants.AGENT_TYPE_OVS"},{"line_number":143,"context_line":"    network_scenarios \u003d ["},{"line_number":144,"context_line":"        (\u0027VXLAN\u0027, {\u0027network_type\u0027: \u0027vxlan\u0027,"},{"line_number":145,"context_line":"                   \u0027l2_pop\u0027: False}),"},{"line_number":146,"context_line":"        (\u0027GRE and l2pop\u0027, {\u0027network_type\u0027: \u0027gre\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad45d7e_26fed338","line":143,"updated":"2016-08-12 11:31:05.000000000","message":"the dict could be reused from line 123 but meh.","commit_id":"f8744db7b105ca19d0c32d18b6ff1ce5b0cffc4f"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"10c1eaf9dd4ea668e901c0e54f14340de345bb03","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        super(BaseConnectivitySameNetworkTest, self).setUp(env)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @staticmethod"},{"line_number":67,"context_line":"    def assert_all_vms_can_be_mutually_pinged(vms):"},{"line_number":68,"context_line":"        for i in range(len(vms) - 1):"},{"line_number":69,"context_line":"            for j in range(i + 1, len(vms)):"},{"line_number":70,"context_line":"                vms[i].block_until_ping(vms[j].ip)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_e04d619a","line":67,"updated":"2016-09-23 13:53:36.000000000","message":"If we could merge https://review.openstack.org/#/c/273775/ quickly we can rebase this patch.","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":19797,"name":"Hynek Mlnarik","email":"hmlnarik@redhat.com","username":"hmlnarik"},"change_message_id":"a1d3cf21b6162283f1ffdf344ad2faf1b39c3c3b","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        super(BaseConnectivitySameNetworkTest, self).setUp(env)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @staticmethod"},{"line_number":67,"context_line":"    def assert_all_vms_can_be_mutually_pinged(vms):"},{"line_number":68,"context_line":"        for i in range(len(vms) - 1):"},{"line_number":69,"context_line":"            for j in range(i + 1, len(vms)):"},{"line_number":70,"context_line":"                vms[i].block_until_ping(vms[j].ip)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_690ff936","line":67,"in_reply_to":"5a8bc5a2_e04d619a","updated":"2016-09-27 09:45:29.000000000","message":"Done","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"10c1eaf9dd4ea668e901c0e54f14340de345bb03","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            for j in range(i + 1, len(vms)):"},{"line_number":70,"context_line":"                vms[i].block_until_ping(vms[j].ip)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def _prepare_tenant(self):"},{"line_number":73,"context_line":"        return uuidutils.generate_uuid()"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def _prepare_network(self, tenant_uuid):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_a0543921","line":72,"updated":"2016-09-23 13:53:36.000000000","message":"This function seems redundant.","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":19797,"name":"Hynek Mlnarik","email":"hmlnarik@redhat.com","username":"hmlnarik"},"change_message_id":"a1d3cf21b6162283f1ffdf344ad2faf1b39c3c3b","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            for j in range(i + 1, len(vms)):"},{"line_number":70,"context_line":"                vms[i].block_until_ping(vms[j].ip)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def _prepare_tenant(self):"},{"line_number":73,"context_line":"        return uuidutils.generate_uuid()"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def _prepare_network(self, tenant_uuid):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_8f073317","line":72,"in_reply_to":"5a8bc5a2_a0543921","updated":"2016-09-27 09:45:29.000000000","message":"Done","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"10c1eaf9dd4ea668e901c0e54f14340de345bb03","unresolved":false,"context_lines":[{"line_number":149,"context_line":"         if v[\u0027of_interface\u0027] !\u003d \u0027ovs-ofctl\u0027])"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def _test_controller_timeout_does_not_break_connectivity(self,"},{"line_number":152,"context_line":"                                                             stop_method\u003dNone):"},{"line_number":153,"context_line":"        # Environment preparation is effectively the same as connectivity test"},{"line_number":154,"context_line":"        vms \u003d self._prepare_vms_in_single_network()"},{"line_number":155,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_1b2480ad","line":152,"updated":"2016-09-23 13:53:36.000000000","message":"stop_method seems to be a mandatory param?","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":19797,"name":"Hynek Mlnarik","email":"hmlnarik@redhat.com","username":"hmlnarik"},"change_message_id":"a1d3cf21b6162283f1ffdf344ad2faf1b39c3c3b","unresolved":false,"context_lines":[{"line_number":149,"context_line":"         if v[\u0027of_interface\u0027] !\u003d \u0027ovs-ofctl\u0027])"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def _test_controller_timeout_does_not_break_connectivity(self,"},{"line_number":152,"context_line":"                                                             stop_method\u003dNone):"},{"line_number":153,"context_line":"        # Environment preparation is effectively the same as connectivity test"},{"line_number":154,"context_line":"        vms \u003d self._prepare_vms_in_single_network()"},{"line_number":155,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_af714faa","line":152,"in_reply_to":"5a8bc5a2_1b2480ad","updated":"2016-09-27 09:45:29.000000000","message":"Done","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"10c1eaf9dd4ea668e901c0e54f14340de345bb03","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        ip1 \u003d vms[1].ip"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        LOG.debug(\"Stopping agents (hence also OVS bridge controllers)\")"},{"line_number":160,"context_line":"        for vm in vms:"},{"line_number":161,"context_line":"            stop_method(vm.host.l2_agent)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # Ping to make sure that 3 x 5 seconds is overcame even under a high"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_3bde9c6d","line":160,"updated":"2016-09-23 13:53:36.000000000","message":"That seems odd, tests have access to the environment they run on: self.environment.hosts.","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":19797,"name":"Hynek Mlnarik","email":"hmlnarik@redhat.com","username":"hmlnarik"},"change_message_id":"a1d3cf21b6162283f1ffdf344ad2faf1b39c3c3b","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        ip1 \u003d vms[1].ip"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        LOG.debug(\"Stopping agents (hence also OVS bridge controllers)\")"},{"line_number":160,"context_line":"        for vm in vms:"},{"line_number":161,"context_line":"            stop_method(vm.host.l2_agent)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # Ping to make sure that 3 x 5 seconds is overcame even under a high"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_8f6c93d1","line":160,"in_reply_to":"5a8bc5a2_3bde9c6d","updated":"2016-09-27 09:45:29.000000000","message":"Done","commit_id":"f39d52bf9b4299dcc4effd68f98f5514b5eb128f"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"cafdf2ad3014f0c55936438ee3b0ebcc2328c545","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                    network[\u0027id\u0027],"},{"line_number":85,"context_line":"                    tenant_uuid,"},{"line_number":86,"context_line":"                    self.safe_client))"},{"line_number":87,"context_line":"            for i in range(self.num_hosts))"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        vms.block_until_all_boot()"},{"line_number":90,"context_line":"        return vms"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a8bc5a2_dc2d20ff","line":87,"range":{"start_line":87,"start_character":12,"end_line":87,"end_character":42},"updated":"2016-09-27 13:28:58.000000000","message":"for host in self.environment.hosts\n\nand then use the host directly on L82","commit_id":"053367bb0cafa68dc574749db1310994ea5abb1f"},{"author":{"_account_id":13717,"name":"Inessa Vasilevskaya","email":"ivasilevskaya@mirantis.com","username":"ivasilevskaya"},"change_message_id":"f128a4dd64f10d863a5caaec80d719a5bae93e62","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                    network[\u0027id\u0027],"},{"line_number":85,"context_line":"                    tenant_uuid,"},{"line_number":86,"context_line":"                    self.safe_client))"},{"line_number":87,"context_line":"            for i in range(self.num_hosts))"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        vms.block_until_all_boot()"},{"line_number":90,"context_line":"        return vms"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a8bc5a2_97453244","line":87,"range":{"start_line":87,"start_character":12,"end_line":87,"end_character":42},"in_reply_to":"5a8bc5a2_dc2d20ff","updated":"2016-09-27 13:38:10.000000000","message":"+1, that\u0027s more readable.","commit_id":"053367bb0cafa68dc574749db1310994ea5abb1f"}]}
