)]}'
{"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"5a19089a63024449cceea58714da0524d2c9849a","unresolved":false,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        for binding_type, binding_column in zip(binding_types,"},{"line_number":470,"context_line":"                                                binding_columns):"},{"line_number":471,"context_line":"            values \u003d filters.get(binding_type, [])"},{"line_number":472,"context_line":"            if values:"},{"line_number":473,"context_line":"                query \u003d query.filter(binding_column.in_(values))"},{"line_number":474,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_b7bd4d6a","line":471,"updated":"2015-01-08 11:19:40.000000000","message":"the [] is unnecessary. .get returns None by default","commit_id":"afe9816d1d10ccfbd9babd89a527cb84ab681dff"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"d1a45e59200fe94437a8ce447502c023c7429c0b","unresolved":false,"context_lines":[{"line_number":464,"context_line":"                           models.PortBinding.vif_type,"},{"line_number":465,"context_line":"                           models.PortBinding.vnic_type]"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"        for binding_type, binding_column in zip(binding_types,"},{"line_number":468,"context_line":"                                                binding_columns):"},{"line_number":469,"context_line":"            values \u003d filters.get(binding_type)"},{"line_number":470,"context_line":"            if values:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_e733f011","line":467,"updated":"2015-01-25 15:06:00.000000000","message":"why defining binding_types/columns and using zip when you can define directly zip(...) result.","commit_id":"985bc07d356914e2ee4d8af7c51682afcbccbca4"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"95bb956fa195ac76c33cd46aac8ba6ed1f4f53fd","unresolved":false,"context_lines":[{"line_number":459,"context_line":"            return query"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        for binding_type, binding_column in ("},{"line_number":462,"context_line":"            zip([portbindings.HOST_ID, portbindings.VIF_TYPE,"},{"line_number":463,"context_line":"                 portbindings.VNIC_TYPE],"},{"line_number":464,"context_line":"                [models.PortBinding.host, models.PortBinding.vif_type,"},{"line_number":465,"context_line":"                 models.PortBinding.vnic_type])):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_365527fb","line":462,"updated":"2015-01-25 19:03:45.000000000","message":"why using zip with 2 constants instead of defining as constant zip(...) result?","commit_id":"96c7d9b13003ac872a87c42663bb3bce1eb07819"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"3d12f8e90d31da92e0957155db974fdfa62b2b5e","unresolved":false,"context_lines":[{"line_number":459,"context_line":"            return query"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        for binding_type, binding_column in ("},{"line_number":462,"context_line":"            zip([portbindings.HOST_ID, portbindings.VIF_TYPE,"},{"line_number":463,"context_line":"                 portbindings.VNIC_TYPE],"},{"line_number":464,"context_line":"                [models.PortBinding.host, models.PortBinding.vif_type,"},{"line_number":465,"context_line":"                 models.PortBinding.vnic_type])):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_d66063d1","line":462,"in_reply_to":"1a930d6b_16774ba1","updated":"2015-01-25 19:22:03.000000000","message":"?\n mapping \u003d [(portbindings.HOST_ID, models.PortBinding.host), ...]\n for ... in mapping:\n   ...","commit_id":"96c7d9b13003ac872a87c42663bb3bce1eb07819"},{"author":{"_account_id":10237,"name":"Numan Siddique","email":"nusiddiq@redhat.com","username":"numansiddique"},"change_message_id":"c0cac48323593cc53bef41e1f0d8822d732fb082","unresolved":false,"context_lines":[{"line_number":459,"context_line":"            return query"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        for binding_type, binding_column in ("},{"line_number":462,"context_line":"            zip([portbindings.HOST_ID, portbindings.VIF_TYPE,"},{"line_number":463,"context_line":"                 portbindings.VNIC_TYPE],"},{"line_number":464,"context_line":"                [models.PortBinding.host, models.PortBinding.vif_type,"},{"line_number":465,"context_line":"                 models.PortBinding.vnic_type])):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_16774ba1","line":462,"in_reply_to":"1a930d6b_365527fb","updated":"2015-01-25 19:16:53.000000000","message":"Can you please elaborate a little more or just explain with sample code. I fail to understand your point.","commit_id":"96c7d9b13003ac872a87c42663bb3bce1eb07819"},{"author":{"_account_id":10237,"name":"Numan Siddique","email":"nusiddiq@redhat.com","username":"numansiddique"},"change_message_id":"2680ae2ca076bc80c9e40d163a7c6d30ce091fe2","unresolved":false,"context_lines":[{"line_number":459,"context_line":"            return query"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        for binding_type, binding_column in ("},{"line_number":462,"context_line":"            zip([portbindings.HOST_ID, portbindings.VIF_TYPE,"},{"line_number":463,"context_line":"                 portbindings.VNIC_TYPE],"},{"line_number":464,"context_line":"                [models.PortBinding.host, models.PortBinding.vif_type,"},{"line_number":465,"context_line":"                 models.PortBinding.vnic_type])):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_36a36702","line":462,"in_reply_to":"1a930d6b_d66063d1","updated":"2015-01-25 19:23:44.000000000","message":"Thank you :)","commit_id":"96c7d9b13003ac872a87c42663bb3bce1eb07819"}],"neutron/tests/unit/ml2/test_ml2_plugin.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"5a19089a63024449cceea58714da0524d2c9849a","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        query \u003d mock.Mock()"},{"line_number":221,"context_line":"        query.filter.return_value \u003d query"},{"line_number":222,"context_line":"        self.driver._ml2_port_result_filter_hook(query, filters)"},{"line_number":223,"context_line":"        self.assertEqual(query.filter.call_count, expected_call_count)"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    def test_port_filter_hook_empty_filter(self):"},{"line_number":226,"context_line":"        self._test_port_filter_hook_helper({}, 0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_d7c019e2","line":223,"updated":"2015-01-08 11:19:40.000000000","message":"Just checking call count doesn\u0027t verify that the correct filters were applied. Can you check the query calls by passing the filters in as well? That will also verify the zip logic doesn\u0027t get messed up by someone re-ordering one of the lists.","commit_id":"afe9816d1d10ccfbd9babd89a527cb84ab681dff"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b2aff661221089cfc40afa139735d15da9e50af0","unresolved":false,"context_lines":[{"line_number":1232,"context_line":"                                        \u0027host2\u0027, portbindings.VIF_TYPE_IVS,"},{"line_number":1233,"context_line":"                                        portbindings.VNIC_MACVTAP)"},{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":"    def _create_network(self, network_id):"},{"line_number":1236,"context_line":"        with self.context.session.begin(subtransactions\u003dTrue):"},{"line_number":1237,"context_line":"            self.context.session.add(models_v2.Network(id\u003dnetwork_id))"},{"line_number":1238,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_3188bac4","line":1235,"updated":"2015-01-26 15:54:37.000000000","message":"why did you need to add this method to create a network, NeutronDbPluginV2TestCase.network is doing exactly the same, isn\u0027t it?","commit_id":"a999aab117d7d1f6fc1d7822f4effdc06ee99be7"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b2aff661221089cfc40afa139735d15da9e50af0","unresolved":false,"context_lines":[{"line_number":1236,"context_line":"        with self.context.session.begin(subtransactions\u003dTrue):"},{"line_number":1237,"context_line":"            self.context.session.add(models_v2.Network(id\u003dnetwork_id))"},{"line_number":1238,"context_line":""},{"line_number":1239,"context_line":"    def _create_port_with_bindings(self, net_id, port_id, host, vif_type,"},{"line_number":1240,"context_line":"                                   vnic_type):"},{"line_number":1241,"context_line":"        mac_address \u003d utils.get_random_mac(\u0027fa:16:3e:00:00:00\u0027.split(\u0027:\u0027))"},{"line_number":1242,"context_line":"        with self.context.session.begin(subtransactions\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_d4e5a4dc","line":1239,"updated":"2015-01-26 15:54:37.000000000","message":"instead of adding this new method, you can use NeutronDbPluginV2TestCase.port to create a port with the proper bindings attributes.","commit_id":"a999aab117d7d1f6fc1d7822f4effdc06ee99be7"},{"author":{"_account_id":10237,"name":"Numan Siddique","email":"nusiddiq@redhat.com","username":"numansiddique"},"change_message_id":"05a893b2b877a7f27a3e3bb48353ab2773e54507","unresolved":false,"context_lines":[{"line_number":1236,"context_line":"        with self.context.session.begin(subtransactions\u003dTrue):"},{"line_number":1237,"context_line":"            self.context.session.add(models_v2.Network(id\u003dnetwork_id))"},{"line_number":1238,"context_line":""},{"line_number":1239,"context_line":"    def _create_port_with_bindings(self, net_id, port_id, host, vif_type,"},{"line_number":1240,"context_line":"                                   vnic_type):"},{"line_number":1241,"context_line":"        mac_address \u003d utils.get_random_mac(\u0027fa:16:3e:00:00:00\u0027.split(\u0027:\u0027))"},{"line_number":1242,"context_line":"        with self.context.session.begin(subtransactions\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa81d914_dc41c60c","line":1239,"in_reply_to":"1a930d6b_d4e5a4dc","updated":"2015-01-28 15:15:35.000000000","message":"I think we cannot create a port with attribute \u0027binding:vif_type\u0027 i.e\n$neutron port-create private --binding:vnic_type direct --binding:host_id host --binding:vif_type ivs\nAttribute \u0027binding:vif_type\u0027 not allowed in POST\n\nAre you suggesting to create the ports with self.port() and then update the models.PortBinding with proper values ?","commit_id":"a999aab117d7d1f6fc1d7822f4effdc06ee99be7"}]}
