)]}'
{"quantum/plugins/linuxbridge/lb_quantum_plugin.py":[{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"0c6c6a0259b46acbc71a0e330a2cb076a53a47ac","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    be updated to take advantage of it."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    The port binding extension enables an external application relay"},{"line_number":152,"context_line":"    information to and from the plaugin."},{"line_number":153,"context_line":"    \"\"\""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    # This attribute specifies whether the plugin supports or not"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2F0WA%3D","line":152,"updated":"2012-11-21 15:41:32.000000000","message":"Minor nit on spelling (plugin instead of plaugin).","commit_id":"ddd62bebd7dec1420eb1eaac9aa6fbb921a65db9"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"32f3eb7df9875239c587154165e35b4695586cb3","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    be updated to take advantage of it."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    The port binding extension enables an external application relay"},{"line_number":152,"context_line":"    information to and from the plaugin."},{"line_number":153,"context_line":"    \"\"\""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    # This attribute specifies whether the plugin supports or not"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2Fx%2FE%3D","line":152,"in_reply_to":"AAAAMH%2F%2F0WA%3D","updated":"2012-11-25 14:35:01.000000000","message":"Done","commit_id":"ddd62bebd7dec1420eb1eaac9aa6fbb921a65db9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"333504d3a04a95076e717e82b86af575b6673b40","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        return policy.check(context, action, resource)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def _enforce_set_auth(self, context, resource, action):"},{"line_number":211,"context_line":"        return policy.enforce(context, action, resource)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def _add_network_vlan_range(self, physical_network, vlan_min, vlan_max):"},{"line_number":214,"context_line":"        self._add_network(physical_network)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAMX%2F%2F9CI%3D","line":211,"updated":"2012-12-05 07:41:21.000000000","message":"it needn\u0027t return value","commit_id":"a2ed9b3237d00c278bd71e189f419526e44f4b6b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":208,"context_line":"        return policy.check(context, action, resource)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def _enforce_set_auth(self, context, resource, action):"},{"line_number":211,"context_line":"        return policy.enforce(context, action, resource)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def _add_network_vlan_range(self, physical_network, vlan_min, vlan_max):"},{"line_number":214,"context_line":"        self._add_network(physical_network)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAMX%2F%2F898%3D","line":211,"in_reply_to":"AAAAMX%2F%2F9CI%3D","updated":"2012-12-05 08:52:27.000000000","message":"Done","commit_id":"a2ed9b3237d00c278bd71e189f419526e44f4b6b"}],"quantum/plugins/openvswitch/ovs_quantum_plugin.py":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":282,"context_line":"        return policy.enforce(context, action, resource)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    # TODO(rkukura) Use core mechanism for attribute authorization"},{"line_number":285,"context_line":"    # when available."},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def _extend_network_dict_provider(self, context, network):"},{"line_number":288,"context_line":"        if self._check_view_auth(context, network, self.network_view):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMX%2F%2F%2Bmg%3D","line":285,"updated":"2012-12-04 03:20:59.000000000","message":"Minor nit: It might be helpful to move this comment as well above the _check_view() method?","commit_id":"3bbd0c615749c0c07884c8e1a371384704281398"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":282,"context_line":"        return policy.enforce(context, action, resource)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    # TODO(rkukura) Use core mechanism for attribute authorization"},{"line_number":285,"context_line":"    # when available."},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def _extend_network_dict_provider(self, context, network):"},{"line_number":288,"context_line":"        if self._check_view_auth(context, network, self.network_view):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMX%2F%2F%2Be0%3D","line":285,"in_reply_to":"AAAAMX%2F%2F%2Bmg%3D","updated":"2012-12-04 08:15:17.000000000","message":"Done","commit_id":"3bbd0c615749c0c07884c8e1a371384704281398"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":487,"context_line":"        if self._check_view_auth(context, port, self.binding_view):"},{"line_number":488,"context_line":"            port[portbindings.VIF_TYPE] \u003d portbindings.VIF_TYPE_OVS"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def ceate_port(self, context, port):"},{"line_number":491,"context_line":"        port \u003d super(OVSQuantumPluginV2, self).create_port(context, port)"},{"line_number":492,"context_line":"        self._extend_port_dict_binding(context, port)"},{"line_number":493,"context_line":"        return port"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMX%2F%2F%2Bmc%3D","line":490,"updated":"2012-12-04 03:20:59.000000000","message":"Is this supposed to be \"ceate\" or \"create\"?","commit_id":"3bbd0c615749c0c07884c8e1a371384704281398"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":487,"context_line":"        if self._check_view_auth(context, port, self.binding_view):"},{"line_number":488,"context_line":"            port[portbindings.VIF_TYPE] \u003d portbindings.VIF_TYPE_OVS"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def ceate_port(self, context, port):"},{"line_number":491,"context_line":"        port \u003d super(OVSQuantumPluginV2, self).create_port(context, port)"},{"line_number":492,"context_line":"        self._extend_port_dict_binding(context, port)"},{"line_number":493,"context_line":"        return port"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMX%2F%2F%2Bew%3D","line":490,"in_reply_to":"AAAAMX%2F%2F%2Bmc%3D","updated":"2012-12-04 08:15:17.000000000","message":"Done","commit_id":"3bbd0c615749c0c07884c8e1a371384704281398"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"c001347a21e34e0403b38b0548771a8974022e76","unresolved":false,"context_lines":[{"line_number":485,"context_line":""},{"line_number":486,"context_line":"    def _extend_port_dict_binding(self, context, port):"},{"line_number":487,"context_line":"        if self._check_view_auth(context, port, self.binding_view):"},{"line_number":488,"context_line":"            port[portbindings.VIF_TYPE] \u003d portbindings.VIF_TYPE_OVS"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def create_port(self, context, port):"},{"line_number":491,"context_line":"        port \u003d super(OVSQuantumPluginV2, self).create_port(context, port)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAMX%2F%2F9%2BE%3D","line":488,"updated":"2012-12-04 15:50:49.000000000","message":"Why not make this return the port too?  That way you don\u0027t have to loop twice in lines 503-506.","commit_id":"7e8fa2facd07adbe93e5fbb8480c9f3ca49f4ea7"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":485,"context_line":""},{"line_number":486,"context_line":"    def _extend_port_dict_binding(self, context, port):"},{"line_number":487,"context_line":"        if self._check_view_auth(context, port, self.binding_view):"},{"line_number":488,"context_line":"            port[portbindings.VIF_TYPE] \u003d portbindings.VIF_TYPE_OVS"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def create_port(self, context, port):"},{"line_number":491,"context_line":"        port \u003d super(OVSQuantumPluginV2, self).create_port(context, port)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAMX%2F%2F970%3D","line":488,"in_reply_to":"AAAAMX%2F%2F9%2BE%3D","updated":"2012-12-04 15:59:29.000000000","message":"Good idea. I\u0027ll do that.","commit_id":"7e8fa2facd07adbe93e5fbb8480c9f3ca49f4ea7"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"333504d3a04a95076e717e82b86af575b6673b40","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        return policy.check(context, action, resource)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    def _enforce_set_auth(self, context, resource, action):"},{"line_number":285,"context_line":"        return policy.enforce(context, action, resource)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def _extend_network_dict_provider(self, context, network):"},{"line_number":288,"context_line":"        if self._check_view_auth(context, network, self.network_view):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAMX%2F%2F9CM%3D","line":285,"updated":"2012-12-05 07:41:21.000000000","message":"it needn\u0027t return value","commit_id":"a2ed9b3237d00c278bd71e189f419526e44f4b6b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":282,"context_line":"        return policy.check(context, action, resource)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    def _enforce_set_auth(self, context, resource, action):"},{"line_number":285,"context_line":"        return policy.enforce(context, action, resource)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def _extend_network_dict_provider(self, context, network):"},{"line_number":288,"context_line":"        if self._check_view_auth(context, network, self.network_view):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAMX%2F%2F894%3D","line":285,"in_reply_to":"AAAAMX%2F%2F9CM%3D","updated":"2012-12-05 08:52:27.000000000","message":"Done","commit_id":"a2ed9b3237d00c278bd71e189f419526e44f4b6b"}],"quantum/tests/unit/linuxbridge/test_linuxbridge_plugin.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"1429a565fe8136d9df97e35aa287579f2fcbd3de","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from quantum import context"},{"line_number":19,"context_line":"from quantum.extensions import portbindings"},{"line_number":20,"context_line":"from quantum.openstack.common import cfg"},{"line_number":21,"context_line":"from quantum.manager import QuantumManager"},{"line_number":22,"context_line":"from quantum.tests.unit import test_db_plugin as test_plugin"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMX%2F%2F%2Bhg%3D","line":20,"updated":"2012-12-04 06:47:05.000000000","message":"This line should be placed between lines 21, 22","commit_id":"3bbd0c615749c0c07884c8e1a371384704281398"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from quantum import context"},{"line_number":19,"context_line":"from quantum.extensions import portbindings"},{"line_number":20,"context_line":"from quantum.openstack.common import cfg"},{"line_number":21,"context_line":"from quantum.manager import QuantumManager"},{"line_number":22,"context_line":"from quantum.tests.unit import test_db_plugin as test_plugin"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMX%2F%2F%2Beo%3D","line":20,"in_reply_to":"AAAAMX%2F%2F%2Bhg%3D","updated":"2012-12-04 08:15:17.000000000","message":"Done","commit_id":"3bbd0c615749c0c07884c8e1a371384704281398"}],"quantum/tests/unit/openvswitch/test_openvswitch_plugin.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"1429a565fe8136d9df97e35aa287579f2fcbd3de","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from quantum import context"},{"line_number":19,"context_line":"from quantum.extensions import portbindings"},{"line_number":20,"context_line":"from quantum.openstack.common import cfg"},{"line_number":21,"context_line":"from quantum.manager import QuantumManager"},{"line_number":22,"context_line":"from quantum.tests.unit import test_db_plugin as test_plugin"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMX%2F%2F%2Bhc%3D","line":20,"updated":"2012-12-04 06:47:05.000000000","message":"This line should be placed between lines 21, 22","commit_id":"3bbd0c615749c0c07884c8e1a371384704281398"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from quantum import context"},{"line_number":19,"context_line":"from quantum.extensions import portbindings"},{"line_number":20,"context_line":"from quantum.openstack.common import cfg"},{"line_number":21,"context_line":"from quantum.manager import QuantumManager"},{"line_number":22,"context_line":"from quantum.tests.unit import test_db_plugin as test_plugin"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMX%2F%2F%2Bec%3D","line":20,"in_reply_to":"AAAAMX%2F%2F%2Bhc%3D","updated":"2012-12-04 08:15:17.000000000","message":"Done","commit_id":"3bbd0c615749c0c07884c8e1a371384704281398"}]}
