)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"a425078868d34ec8afe374421b0818b87eed00a0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added extension for network_securitygroup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Part 1: Implements API extension for network security group."},{"line_number":10,"context_line":"Implements DB support"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib4e2136a0d600cb1ab692c123ee9134b404e90f8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1ae5cdf2_9629108c","line":9,"updated":"2014-06-16 11:34:08.000000000","message":"Would there be a DocImpact?","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f1c00b40bf511f6c2c2984d85127bcb45e10c08d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added extension for network_securitygroup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Part 1: Implements API extension for network security group."},{"line_number":10,"context_line":"Implements DB support"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib4e2136a0d600cb1ab692c123ee9134b404e90f8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1ae5cdf2_742460af","line":9,"in_reply_to":"1ae5cdf2_9629108c","updated":"2014-06-17 00:17:16.000000000","message":"Done","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"ae3bf05ca64631ee8460b57e43a182c58cbe9be2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added extension for network_securitygroup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Part 1: Implements API extension for network security group."},{"line_number":10,"context_line":"Implements DB support"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib4e2136a0d600cb1ab692c123ee9134b404e90f8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1ae5cdf2_02674c52","line":9,"updated":"2014-06-17 11:52:58.000000000","message":"So does this impact documentation?","commit_id":"df8c748baa76371ea1ac3c9b3d1f615743e4ece3"}],"neutron/db/network_securitygroups_db.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"a425078868d34ec8afe374421b0818b87eed00a0","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        bindings \u003d query.filter("},{"line_number":78,"context_line":"            SecurityGroupNetworkBinding.network_id \u003d\u003d network_id)"},{"line_number":79,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":80,"context_line":"            for binding in bindings:"},{"line_number":81,"context_line":"                context.session.delete(binding)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def _extend_port_dict_security_group(self, port_res, port_db):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_b6f1ac03","line":80,"updated":"2014-06-16 11:34:08.000000000","message":"Do you need to cycle through each binding and delete individually or can delete(bindings) be used?","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f1c00b40bf511f6c2c2984d85127bcb45e10c08d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        bindings \u003d query.filter("},{"line_number":78,"context_line":"            SecurityGroupNetworkBinding.network_id \u003d\u003d network_id)"},{"line_number":79,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":80,"context_line":"            for binding in bindings:"},{"line_number":81,"context_line":"                context.session.delete(binding)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def _extend_port_dict_security_group(self, port_res, port_db):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_144cfc75","line":80,"in_reply_to":"1ae5cdf2_b6f1ac03","updated":"2014-06-17 00:17:16.000000000","message":"Done","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"a425078868d34ec8afe374421b0818b87eed00a0","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        network_res[ext_sg.SECURITYGROUPS] \u003d security_group_ids"},{"line_number":103,"context_line":"        return network_res"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    # Register dict extend functions for networks"},{"line_number":106,"context_line":"    db_base_plugin_v2.NeutronDbPluginV2.register_dict_extend_funcs("},{"line_number":107,"context_line":"        attr.NETWORKS, [\u0027_extend_network_dict_security_group\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_56bf88aa","line":105,"updated":"2014-06-16 11:34:08.000000000","message":"Should this be at top of class definition?","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f1c00b40bf511f6c2c2984d85127bcb45e10c08d","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        network_res[ext_sg.SECURITYGROUPS] \u003d security_group_ids"},{"line_number":103,"context_line":"        return network_res"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    # Register dict extend functions for networks"},{"line_number":106,"context_line":"    db_base_plugin_v2.NeutronDbPluginV2.register_dict_extend_funcs("},{"line_number":107,"context_line":"        attr.NETWORKS, [\u0027_extend_network_dict_security_group\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_3430189e","line":105,"in_reply_to":"1ae5cdf2_56bf88aa","updated":"2014-06-17 00:17:16.000000000","message":"No, this should be after function definition","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"a425078868d34ec8afe374421b0818b87eed00a0","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        network[\u0027network\u0027][ext_sg.SECURITYGROUPS] \u003d sgids"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def _check_update_deletes_network_security_groups(self, network):"},{"line_number":161,"context_line":"        \"\"\"Return True if network has as a security group and it\u0027s value"},{"line_number":162,"context_line":"        is either [] or not is_attr_set, otherwise return False"},{"line_number":163,"context_line":"        \"\"\""},{"line_number":164,"context_line":"        if (ext_sg.SECURITYGROUPS in network[\u0027network\u0027] and"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_569a286f","line":161,"updated":"2014-06-16 11:34:08.000000000","message":"Nit: PEP8 for multiline docsting. Here and L171","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f1c00b40bf511f6c2c2984d85127bcb45e10c08d","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        network[\u0027network\u0027][ext_sg.SECURITYGROUPS] \u003d sgids"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def _check_update_deletes_network_security_groups(self, network):"},{"line_number":161,"context_line":"        \"\"\"Return True if network has as a security group and it\u0027s value"},{"line_number":162,"context_line":"        is either [] or not is_attr_set, otherwise return False"},{"line_number":163,"context_line":"        \"\"\""},{"line_number":164,"context_line":"        if (ext_sg.SECURITYGROUPS in network[\u0027network\u0027] and"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_b4e268ff","line":161,"in_reply_to":"1ae5cdf2_569a286f","updated":"2014-06-17 00:17:16.000000000","message":"Done","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"}],"neutron/db/network_securitygroups_rpc_base.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"a425078868d34ec8afe374421b0818b87eed00a0","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"class NetworkSecurityGroupServerRpcCallbackMixin("},{"line_number":82,"context_line":"    sg_rpc_db.SecurityGroupServerRpcCallbackMixin):"},{"line_number":83,"context_line":"    \"\"\"A mix-in that enable SecurityGroup agent support in plugin"},{"line_number":84,"context_line":"    implementations with network security group."},{"line_number":85,"context_line":"    \"\"\""},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_d615584a","line":83,"updated":"2014-06-16 11:34:08.000000000","message":"Nit: PEP8/257 on docstring formatting.","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f1c00b40bf511f6c2c2984d85127bcb45e10c08d","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"class NetworkSecurityGroupServerRpcCallbackMixin("},{"line_number":82,"context_line":"    sg_rpc_db.SecurityGroupServerRpcCallbackMixin):"},{"line_number":83,"context_line":"    \"\"\"A mix-in that enable SecurityGroup agent support in plugin"},{"line_number":84,"context_line":"    implementations with network security group."},{"line_number":85,"context_line":"    \"\"\""},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_d4c61468","line":83,"in_reply_to":"1ae5cdf2_d615584a","updated":"2014-06-17 00:17:16.000000000","message":"Done","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"}],"neutron/db/securitygroups_rpc_base.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"4e7a37665d6513e294daf57a4d3bd303191772a4","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                       \u0027egress\u0027: \u0027dest_ip_prefix\u0027}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"class SecurityGroupServerRpcMixinBase(object):"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def create_security_group_rule(self, context, security_group_rule):"},{"line_number":41,"context_line":"        bulk_rule \u003d {\u0027security_group_rules\u0027: [security_group_rule]}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_c52d80aa","line":38,"updated":"2014-06-17 02:23:48.000000000","message":"can you explain what changes in this module are for?","commit_id":"df8c748baa76371ea1ac3c9b3d1f615743e4ece3"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"e02c8b0a0db42fdd63b10d7ec9df6d23221b16c8","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                       \u0027egress\u0027: \u0027dest_ip_prefix\u0027}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"class SecurityGroupServerRpcMixinBase(object):"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def create_security_group_rule(self, context, security_group_rule):"},{"line_number":41,"context_line":"        bulk_rule \u003d {\u0027security_group_rules\u0027: [security_group_rule]}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_5f113052","line":38,"in_reply_to":"1ae5cdf2_c52d80aa","updated":"2014-06-17 08:51:11.000000000","message":"I would like to use this code https://review.openstack.org/#/c/100016/4/neutron/db/network_securitygroups_db.py L47, but I don\u0027t want to inherit sg_db.SecurityGroupDbMixin here","commit_id":"df8c748baa76371ea1ac3c9b3d1f615743e4ece3"}],"neutron/tests/unit/test_extension_network_security_group.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"a425078868d34ec8afe374421b0818b87eed00a0","unresolved":false,"context_lines":[{"line_number":47,"context_line":"class NetworkSecurityGroupTestPlugin("},{"line_number":48,"context_line":"    sec_test.SecurityGroupTestPlugin,"},{"line_number":49,"context_line":"    net_sg_db.NetworkSecurityGroupDbMixin):"},{"line_number":50,"context_line":"    \"\"\"Test plugin that implements necessary calls on create/delete port for"},{"line_number":51,"context_line":"    associating ports with security groups."},{"line_number":52,"context_line":"    \"\"\""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_c1383440","line":50,"updated":"2014-06-16 11:34:08.000000000","message":"Nit: PEP8/257 on class docstring formatting.","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f1c00b40bf511f6c2c2984d85127bcb45e10c08d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"class NetworkSecurityGroupTestPlugin("},{"line_number":48,"context_line":"    sec_test.SecurityGroupTestPlugin,"},{"line_number":49,"context_line":"    net_sg_db.NetworkSecurityGroupDbMixin):"},{"line_number":50,"context_line":"    \"\"\"Test plugin that implements necessary calls on create/delete port for"},{"line_number":51,"context_line":"    associating ports with security groups."},{"line_number":52,"context_line":"    \"\"\""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_77b8e2e5","line":50,"in_reply_to":"1ae5cdf2_c1383440","updated":"2014-06-17 00:17:16.000000000","message":"Done","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"a425078868d34ec8afe374421b0818b87eed00a0","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"class NetworkSecurityGroupDBTestCase(sec_test.SecurityGroupsTestCase):"},{"line_number":96,"context_line":"    def setUp(self, plugin\u003dNone, ext_mgr\u003dNone):"},{"line_number":97,"context_line":"        plugin \u003d plugin or DB_PLUGIN_KLASS"},{"line_number":98,"context_line":"        ext_mgr \u003d ext_mgr or NetworkSecurityGroupTestExtensionManager()"},{"line_number":99,"context_line":"        super(NetworkSecurityGroupDBTestCase,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_01685c20","line":96,"updated":"2014-06-16 11:34:08.000000000","message":"I guess PEP8 will complain about blank line needed before this line?","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f1c00b40bf511f6c2c2984d85127bcb45e10c08d","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"class NetworkSecurityGroupDBTestCase(sec_test.SecurityGroupsTestCase):"},{"line_number":96,"context_line":"    def setUp(self, plugin\u003dNone, ext_mgr\u003dNone):"},{"line_number":97,"context_line":"        plugin \u003d plugin or DB_PLUGIN_KLASS"},{"line_number":98,"context_line":"        ext_mgr \u003d ext_mgr or NetworkSecurityGroupTestExtensionManager()"},{"line_number":99,"context_line":"        super(NetworkSecurityGroupDBTestCase,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_97cc8e8c","line":96,"in_reply_to":"1ae5cdf2_01685c20","updated":"2014-06-17 00:17:16.000000000","message":"Done","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"ae3bf05ca64631ee8460b57e43a182c58cbe9be2","unresolved":false,"context_lines":[{"line_number":47,"context_line":"class NetworkSecurityGroupTestPlugin("},{"line_number":48,"context_line":"    sec_test.SecurityGroupTestPlugin,"},{"line_number":49,"context_line":"    net_sg_db.NetworkSecurityGroupDbMixin):"},{"line_number":50,"context_line":"    \"\"\"Test plugin that implements necessary calls on create/delete port for"},{"line_number":51,"context_line":"    associating ports with security groups."},{"line_number":52,"context_line":"    \"\"\""},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_477b26be","line":50,"updated":"2014-06-17 11:52:58.000000000","message":"Nit: PEP8/257 for class formatting.","commit_id":"df8c748baa76371ea1ac3c9b3d1f615743e4ece3"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"4e7a37665d6513e294daf57a4d3bd303191772a4","unresolved":false,"context_lines":[{"line_number":246,"context_line":"            \u0027default_in_network_security_group\u0027, True,"},{"line_number":247,"context_line":"            group\u003d\u0027SECURITYGROUP\u0027)"},{"line_number":248,"context_line":"        super(TestNetworkSecurityGroupsDefaultSGInNetwork,"},{"line_number":249,"context_line":"              self).setUp(plugin\u003dplugin)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def test_list_networks_security_group(self):"},{"line_number":252,"context_line":"        with self.network() as n:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_40c95eab","line":249,"updated":"2014-06-17 02:23:48.000000000","message":"is it intended not to pass ext_mgr?","commit_id":"df8c748baa76371ea1ac3c9b3d1f615743e4ece3"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"e02c8b0a0db42fdd63b10d7ec9df6d23221b16c8","unresolved":false,"context_lines":[{"line_number":246,"context_line":"            \u0027default_in_network_security_group\u0027, True,"},{"line_number":247,"context_line":"            group\u003d\u0027SECURITYGROUP\u0027)"},{"line_number":248,"context_line":"        super(TestNetworkSecurityGroupsDefaultSGInNetwork,"},{"line_number":249,"context_line":"              self).setUp(plugin\u003dplugin)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def test_list_networks_security_group(self):"},{"line_number":252,"context_line":"        with self.network() as n:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_bf187476","line":249,"in_reply_to":"1ae5cdf2_40c95eab","updated":"2014-06-17 08:51:11.000000000","message":"I\u0027ll pass it in next patch","commit_id":"df8c748baa76371ea1ac3c9b3d1f615743e4ece3"}],"neutron/tests/unit/test_network_security_groups_rpc.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"a425078868d34ec8afe374421b0818b87eed00a0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2014, NTT I3, Inc."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_c1b9147b","line":1,"updated":"2014-06-16 11:34:08.000000000","message":"pull vim line","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f1c00b40bf511f6c2c2984d85127bcb45e10c08d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2014, NTT I3, Inc."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_37d73a25","line":1,"in_reply_to":"1ae5cdf2_c1b9147b","updated":"2014-06-17 00:17:16.000000000","message":"Done","commit_id":"95c36f58a9e59d3908a944f5d02043da7004ed61"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"4e7a37665d6513e294daf57a4d3bd303191772a4","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        cfg.CONF.set_default(\u0027firewall_driver\u0027,"},{"line_number":47,"context_line":"                             \u0027neutron.agent.firewall.NoopFirewallDriver\u0027,"},{"line_number":48,"context_line":"                             group\u003d\u0027SECURITYGROUP\u0027)"},{"line_number":49,"context_line":"        super(NetworkSGServerRpcCallBackMixinTestCase, self).setUp(plugin)"},{"line_number":50,"context_line":"        self.rpc \u003d FakeNetSGCallback()"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_network_security_group_rules(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_203b729d","line":49,"updated":"2014-06-17 02:23:48.000000000","message":"is it intended not to pass ext_mgr?\n\nit\u0027s difficult to read code which relies on MRO with multiple inheritances.","commit_id":"df8c748baa76371ea1ac3c9b3d1f615743e4ece3"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"e02c8b0a0db42fdd63b10d7ec9df6d23221b16c8","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        cfg.CONF.set_default(\u0027firewall_driver\u0027,"},{"line_number":47,"context_line":"                             \u0027neutron.agent.firewall.NoopFirewallDriver\u0027,"},{"line_number":48,"context_line":"                             group\u003d\u0027SECURITYGROUP\u0027)"},{"line_number":49,"context_line":"        super(NetworkSGServerRpcCallBackMixinTestCase, self).setUp(plugin)"},{"line_number":50,"context_line":"        self.rpc \u003d FakeNetSGCallback()"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_network_security_group_rules(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_df2460b4","line":49,"in_reply_to":"1ae5cdf2_203b729d","updated":"2014-06-17 08:51:11.000000000","message":"I\u0027ll pass it in next patch","commit_id":"df8c748baa76371ea1ac3c9b3d1f615743e4ece3"}]}
