)]}'
{"dragonflow/tests/fullstack/test_apps.py":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"ab188270514f9107b24f8950016f79e4bc3ebfbf","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            self.subnet1 \u003d self.topology.create_subnet(cidr\u003d\u0027192.168.11.0/24\u0027)"},{"line_number":177,"context_line":"            self.port1 \u003d self.subnet1.create_port()"},{"line_number":178,"context_line":"            self.port2 \u003d self.subnet1.create_port()"},{"line_number":179,"context_line":"            time.sleep(5)  # We need to wait for the tap devices to set up"},{"line_number":180,"context_line":"            # Create policy"},{"line_number":181,"context_line":"            dhcp_packet \u003d self._create_dhcp_discover()"},{"line_number":182,"context_line":"            send_dhcp_offer \u003d app_testing_objects.SendAction("}],"source_content_type":"text/x-python","patch_set":2,"id":"3afc51ec_a0c72b44","line":179,"range":{"start_line":179,"start_character":23,"end_line":179,"end_character":24},"updated":"2016-03-12 06:00:28.000000000","message":"There\u0027s a constant \u0027DEFAULT_CMD_TIMEOUT\u0027 defined in test_dhcp_flows. We can make it as a common constant. During fullstack testing, sleep function is everywhere to wait for the API completion. A common constant is easy to manage.","commit_id":"0bd8555b4a657b5b82cfbda5ff7534223a738f62"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"765c6bce9c1b1beff44d0988dc017f3312c43c32","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            self.subnet1 \u003d self.topology.create_subnet(cidr\u003d\u0027192.168.11.0/24\u0027)"},{"line_number":177,"context_line":"            self.port1 \u003d self.subnet1.create_port()"},{"line_number":178,"context_line":"            self.port2 \u003d self.subnet1.create_port()"},{"line_number":179,"context_line":"            time.sleep(5)  # We need to wait for the tap devices to set up"},{"line_number":180,"context_line":"            # Create policy"},{"line_number":181,"context_line":"            dhcp_packet \u003d self._create_dhcp_discover()"},{"line_number":182,"context_line":"            send_dhcp_offer \u003d app_testing_objects.SendAction("}],"source_content_type":"text/x-python","patch_set":2,"id":"3afc51ec_a19ba6c8","line":179,"range":{"start_line":179,"start_character":23,"end_line":179,"end_character":24},"in_reply_to":"3afc51ec_a0c72b44","updated":"2016-03-13 05:35:24.000000000","message":"Will do.","commit_id":"0bd8555b4a657b5b82cfbda5ff7534223a738f62"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"509d9430977430593c28ff365f607dd343465f25","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            self.subnet1 \u003d self.topology.create_subnet(cidr\u003d\u0027192.168.11.0/24\u0027)"},{"line_number":178,"context_line":"            self.port1 \u003d self.subnet1.create_port()"},{"line_number":179,"context_line":"            self.port2 \u003d self.subnet1.create_port()"},{"line_number":180,"context_line":"            time.sleep(df_utils.DEFAULT_CMD_TIMEOUT)  # We need to wait for the tap devices to set up"},{"line_number":181,"context_line":"            # Create policy"},{"line_number":182,"context_line":"            dhcp_packet \u003d self._create_dhcp_discover()"},{"line_number":183,"context_line":"            send_dhcp_offer \u003d app_testing_objects.SendAction("}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_19f92e81","line":180,"range":{"start_line":180,"start_character":99,"end_line":180,"end_character":101},"updated":"2016-03-13 13:06:32.000000000","message":"more then 80","commit_id":"1fd9ddcf890fea11e1f8e1c3ba2b27edbd519c2a"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"509d9430977430593c28ff365f607dd343465f25","unresolved":false,"context_lines":[{"line_number":243,"context_line":"    def _create_dhcp_request(self, offer_buf):"},{"line_number":244,"context_line":"        pkt \u003d ryu.lib.packet.packet.Packet(offer_buf)"},{"line_number":245,"context_line":"        offer \u003d pkt.get_protocol(ryu.lib.packet.dhcp.dhcp)"},{"line_number":246,"context_line":"        result \u003d self._create_udp_packet_for_dhcp()"},{"line_number":247,"context_line":"        self.assertEqual("},{"line_number":248,"context_line":"            self.port1.port.get_logical_port().get_ip(),"},{"line_number":249,"context_line":"            offer.yiaddr"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_5978d6f2","line":246,"range":{"start_line":246,"start_character":22,"end_line":246,"end_character":51},"updated":"2016-03-13 13:06:32.000000000","message":"There is another flow that we need to test:\n\nwe need to test DHCPREQUEST Renewal Message that are unicast to the DHCP server.\n\nThis is a another test that we need to add unicast DHCPREQUEST Renewal Message","commit_id":"1fd9ddcf890fea11e1f8e1c3ba2b27edbd519c2a"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"509d9430977430593c28ff365f607dd343465f25","unresolved":false,"context_lines":[{"line_number":289,"context_line":"                ]"},{"line_number":290,"context_line":"            ),"},{"line_number":291,"context_line":"            app_testing_objects.PortPolicyRule("},{"line_number":292,"context_line":"                # Detect arp replies"},{"line_number":293,"context_line":"                app_testing_objects.RyuDHCPAckFilter(),"},{"line_number":294,"context_line":"                actions\u003d["},{"line_number":295,"context_line":"                    app_testing_objects.StopSimulationAction(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_594a96c6","line":292,"range":{"start_line":292,"start_character":25,"end_line":292,"end_character":28},"updated":"2016-03-13 13:06:32.000000000","message":"DHCP","commit_id":"1fd9ddcf890fea11e1f8e1c3ba2b27edbd519c2a"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"509d9430977430593c28ff365f607dd343465f25","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        key2 \u003d (self.subnet1.subnet_id, self.port2.port_id)"},{"line_number":308,"context_line":"        rules2 \u003d ["},{"line_number":309,"context_line":"            app_testing_objects.PortPolicyRule("},{"line_number":310,"context_line":"                # Detect arp replies"},{"line_number":311,"context_line":"                app_testing_objects.RyuDHCPFilter(),"},{"line_number":312,"context_line":"                actions\u003d["},{"line_number":313,"context_line":"                    app_testing_objects.RaiseAction("}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_19400ea5","line":310,"range":{"start_line":310,"start_character":25,"end_line":310,"end_character":28},"updated":"2016-03-13 13:06:32.000000000","message":"DHCP","commit_id":"1fd9ddcf890fea11e1f8e1c3ba2b27edbd519c2a"}]}
