)]}'
{"dragonflow/tests/fullstack/test_ovs_flows.py":[{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"6d085c299102a983aae6997449b50f43383e738d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"                              process_input\u003dNone)"},{"line_number":32,"context_line":"        return flows"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"#    def test_number_of_flows(self):"},{"line_number":35,"context_line":"#        flows \u003d self._get_ovs_flows()"},{"line_number":36,"context_line":"#        flow_list \u003d flows.split(\"\\n\")[1:]"},{"line_number":37,"context_line":"#        flows_count \u003d len(flow_list) - 1"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_7c7b9828","line":34,"range":{"start_line":34,"start_character":9,"end_line":34,"end_character":29},"updated":"2016-01-25 08:38:32.000000000","message":"please remove the commented lines","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"bc29a102064163c55fb3e47eb5ef8a455faad1c1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"                              process_input\u003dNone)"},{"line_number":32,"context_line":"        return flows"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"#    def test_number_of_flows(self):"},{"line_number":35,"context_line":"#        flows \u003d self._get_ovs_flows()"},{"line_number":36,"context_line":"#        flow_list \u003d flows.split(\"\\n\")[1:]"},{"line_number":37,"context_line":"#        flows_count \u003d len(flow_list) - 1"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_5780eff4","line":34,"range":{"start_line":34,"start_character":9,"end_line":34,"end_character":29},"in_reply_to":"9a68dd71_7c7b9828","updated":"2016-01-25 08:59:53.000000000","message":"Done","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"4df3a9595985b4e039f45df51524f325f1b9f9e0","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            res[\u0027table\u0027] \u003d fs[3].split(\u0027\u003d\u0027)[1]"},{"line_number":50,"context_line":"            res[\u0027match\u0027] \u003d fs[-2]"},{"line_number":51,"context_line":"            # no need for number of packets for now"},{"line_number":52,"context_line":"            #res[\u0027packets\u0027] \u003d fs[4].split(\u0027\u003d\u0027)[1]"},{"line_number":53,"context_line":"            res[\u0027actions\u0027] \u003d fs[-1].split(\u0027\u003d\u0027)[1]"},{"line_number":54,"context_line":"            res[\u0027cookie\u0027] \u003d fs[1].split(\u0027\u003d\u0027)[1]"},{"line_number":55,"context_line":"            m \u003d re.search(\u0027priority\u003d(\\d+)\u0027, res[\u0027match\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_9caf6c7c","line":52,"range":{"start_line":52,"start_character":18,"end_line":52,"end_character":25},"updated":"2016-01-25 08:48:32.000000000","message":"remove","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"bc29a102064163c55fb3e47eb5ef8a455faad1c1","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            res[\u0027table\u0027] \u003d fs[3].split(\u0027\u003d\u0027)[1]"},{"line_number":50,"context_line":"            res[\u0027match\u0027] \u003d fs[-2]"},{"line_number":51,"context_line":"            # no need for number of packets for now"},{"line_number":52,"context_line":"            #res[\u0027packets\u0027] \u003d fs[4].split(\u0027\u003d\u0027)[1]"},{"line_number":53,"context_line":"            res[\u0027actions\u0027] \u003d fs[-1].split(\u0027\u003d\u0027)[1]"},{"line_number":54,"context_line":"            res[\u0027cookie\u0027] \u003d fs[1].split(\u0027\u003d\u0027)[1]"},{"line_number":55,"context_line":"            m \u003d re.search(\u0027priority\u003d(\\d+)\u0027, res[\u0027match\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_b784cb0a","line":52,"range":{"start_line":52,"start_character":18,"end_line":52,"end_character":25},"in_reply_to":"9a68dd71_9caf6c7c","updated":"2016-01-25 08:59:53.000000000","message":"Done","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"4df3a9595985b4e039f45df51524f325f1b9f9e0","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        diff \u003d self._diff_flows(flows1, flows3)"},{"line_number":111,"context_line":"        self.assertEqual(diff, [])"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def test_port_create_with_dhcp(self):"},{"line_number":114,"context_line":"        flows1 \u003d self.get_ovs_flows()"},{"line_number":115,"context_line":"        network \u003d objects.NetworkTestWrapper(self.neutron, self.nb_api)"},{"line_number":116,"context_line":"        network_id \u003d network.create()"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_dccac41a","line":113,"range":{"start_line":113,"start_character":8,"end_line":113,"end_character":34},"updated":"2016-01-25 08:48:32.000000000","message":"You mean test that \n\ntest_dhcp_port_create_....","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"4df3a9595985b4e039f45df51524f325f1b9f9e0","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        diff \u003d diff[0]"},{"line_number":131,"context_line":"        self.assertEqual(diff[\u0027table\u0027], \u00279,\u0027)"},{"line_number":132,"context_line":"        self.assertEqual(diff[\u0027actions\u0027], \u0027goto_table:11\u0027)"},{"line_number":133,"context_line":"        self.assertIn(\u0027nw_dst\u003d10.1.0.2\u0027, diff[\u0027match\u0027])"},{"line_number":134,"context_line":"        # change dhcp"},{"line_number":135,"context_line":"        subnet3 \u003d {\u0027enable_dhcp\u0027: False}"},{"line_number":136,"context_line":"        self.neutron.update_subnet(subnet_id, {\u0027subnet\u0027: subnet3})"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_7c3e3829","line":133,"range":{"start_line":133,"start_character":30,"end_line":133,"end_character":38},"updated":"2016-01-25 08:48:32.000000000","message":"You assume that the DHCP ip is .2 it will be better to get it from DB the Neutron or the DF","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"4df3a9595985b4e039f45df51524f325f1b9f9e0","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        diff \u003d self._diff_flows(flows1, flows3)"},{"line_number":212,"context_line":"        self.assertEqual(diff, [])"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def test_simple_private_vm(self):"},{"line_number":215,"context_line":"        flows1 \u003d self.get_ovs_flows()"},{"line_number":216,"context_line":"        vm \u003d objects.VMTestWrapper(self)"},{"line_number":217,"context_line":"        vm.create()"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_9708a729","line":214,"range":{"start_line":214,"start_character":8,"end_line":214,"end_character":30},"updated":"2016-01-25 08:48:32.000000000","message":"It is very hard to understand the testes \n\nTry to flow the injected flow in the testing \n1) Flow installed by L2 APP \ntable 0 : match on inport and classification \n....\n\nPlease follow the Pipeline documentation for info \n2) Flows installed By DHCP app","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"6d085c299102a983aae6997449b50f43383e738d","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        vm.create()"},{"line_number":218,"context_line":"        self.assertTrue(vm.exists())"},{"line_number":219,"context_line":"        time.sleep(DEFAULT_CMD_TIMEOUT)"},{"line_number":220,"context_line":"        #print(\"xxxxxxxxxxxxxxxxxxxxxxxxxxx\")"},{"line_number":221,"context_line":"        #print(vm.dump())"},{"line_number":222,"context_line":"        #vm.shell()"},{"line_number":223,"context_line":"        flows2 \u003d self.get_ovs_flows()"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_fca788ba","line":220,"range":{"start_line":220,"start_character":14,"end_line":220,"end_character":16},"updated":"2016-01-25 08:38:32.000000000","message":"Please remove comments","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"bc29a102064163c55fb3e47eb5ef8a455faad1c1","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        vm.create()"},{"line_number":218,"context_line":"        self.assertTrue(vm.exists())"},{"line_number":219,"context_line":"        time.sleep(DEFAULT_CMD_TIMEOUT)"},{"line_number":220,"context_line":"        #print(\"xxxxxxxxxxxxxxxxxxxxxxxxxxx\")"},{"line_number":221,"context_line":"        #print(vm.dump())"},{"line_number":222,"context_line":"        #vm.shell()"},{"line_number":223,"context_line":"        flows2 \u003d self.get_ovs_flows()"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_77a2d39a","line":220,"range":{"start_line":220,"start_character":14,"end_line":220,"end_character":16},"in_reply_to":"9a68dd71_fca788ba","updated":"2016-01-25 08:59:53.000000000","message":"Done","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"4df3a9595985b4e039f45df51524f325f1b9f9e0","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        #print(vm.dump())"},{"line_number":222,"context_line":"        #vm.shell()"},{"line_number":223,"context_line":"        flows2 \u003d self.get_ovs_flows()"},{"line_number":224,"context_line":"        diff \u003d self._diff_flows(flows1, flows2)"},{"line_number":225,"context_line":"        #for d in diff:"},{"line_number":226,"context_line":"        #    print d"},{"line_number":227,"context_line":"        self.assertEqual(len(diff), 6)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_3c53e03a","line":224,"range":{"start_line":224,"start_character":20,"end_line":224,"end_character":31},"updated":"2016-01-25 08:48:32.000000000","message":"I think that you need a utility function that will provide you the list of flows in a table \nSo the test will be more clear for example\n1) You need to get all the flows on table 11 \n2) If the DHCP is enabled for the subnet make sure we have a flow with match on the inport of the VM set the port id metadata and set to controller","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"6d085c299102a983aae6997449b50f43383e738d","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        #vm.shell()"},{"line_number":223,"context_line":"        flows2 \u003d self.get_ovs_flows()"},{"line_number":224,"context_line":"        diff \u003d self._diff_flows(flows1, flows2)"},{"line_number":225,"context_line":"        #for d in diff:"},{"line_number":226,"context_line":"        #    print d"},{"line_number":227,"context_line":"        self.assertEqual(len(diff), 6)"},{"line_number":228,"context_line":"        self.assertEqual([diff[0][\u0027table\u0027], diff[1][\u0027table\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_bc84b00a","line":225,"range":{"start_line":225,"start_character":9,"end_line":225,"end_character":12},"updated":"2016-01-25 08:38:32.000000000","message":"ditto","commit_id":"7126d6ea07a90d0ad50a1f2434783d987a6f7bad"}],"tools/pretty_tox.sh":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"f4dd3f2a6419f3eda6184ed1fdbec91f1188efda","unresolved":false,"context_lines":[{"line_number":3,"context_line":"TESTRARGS\u003d$1"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"exec 3\u003e\u00261"},{"line_number":6,"context_line":"status\u003d$(exec 4\u003e\u00261 \u003e\u00263; ( python setup.py testr --slowest --testr-args\u003d\"--concurrency\u003d1 --subunit $TESTRARGS\"; echo $? \u003e\u00264 ) | $(dirname $0)/subunit-trace.py -f) \u0026\u0026 exit $status"}],"source_content_type":"text/x-sh","patch_set":9,"id":"9a68dd71_567971fb","line":6,"range":{"start_line":6,"start_character":74,"end_line":6,"end_character":85},"updated":"2016-01-21 03:04:21.000000000","message":"why do u change this?","commit_id":"cb6501ebd3b39d23cdb645bdfefc5da78c6d1882"}]}
