)]}'
{"gbpservice/neutron/db/grouppolicy/group_policy_db.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import sqlalchemy as sa"},{"line_number":16,"context_line":"from sqlalchemy import orm"},{"line_number":17,"context_line":"from sqlalchemy.orm import exc"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from neutron.api.v2 import attributes as attr"},{"line_number":20,"context_line":"from neutron.common import log"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_0273cdb2","line":17,"updated":"2015-03-30 09:23:26.000000000","message":"Move these below oslo_log import?","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import sqlalchemy as sa"},{"line_number":16,"context_line":"from sqlalchemy import orm"},{"line_number":17,"context_line":"from sqlalchemy.orm import exc"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from neutron.api.v2 import attributes as attr"},{"line_number":20,"context_line":"from neutron.common import log"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_03b993e9","line":17,"in_reply_to":"da9b358b_0273cdb2","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"5d577b9e0fbf57643d415f04003f79d574f2c70a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":"import sqlalchemy as sa"},{"line_number":25,"context_line":"from sqlalchemy import orm"},{"line_number":26,"context_line":"from sqlalchemy.orm import exc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from gbpservice.neutron.extensions import group_policy as gpolicy"},{"line_number":29,"context_line":"from gbpservice.neutron.services.grouppolicy.common import ("}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_4b9c2dc0","line":26,"updated":"2015-04-07 19:35:01.000000000","message":"is it required to change the position of the sqlalchemy imports to pass pep8?","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"c9523957627e34da81780482629b861b3365cc10","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":"import sqlalchemy as sa"},{"line_number":25,"context_line":"from sqlalchemy import orm"},{"line_number":26,"context_line":"from sqlalchemy.orm import exc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from gbpservice.neutron.extensions import group_policy as gpolicy"},{"line_number":29,"context_line":"from gbpservice.neutron.services.grouppolicy.common import ("}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_f944f21b","line":26,"in_reply_to":"9aa53dc9_117d346e","updated":"2015-04-07 22:17:29.000000000","message":"Thanks Igor. I think \"netaddr\" is considered as a \"third party\" import in that case? If so it should be grouped with the above bunch.","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"},{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"8ad3ac9c0ced87cc872381c21ed1323340b51d57","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":"import sqlalchemy as sa"},{"line_number":25,"context_line":"from sqlalchemy import orm"},{"line_number":26,"context_line":"from sqlalchemy.orm import exc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from gbpservice.neutron.extensions import group_policy as gpolicy"},{"line_number":29,"context_line":"from gbpservice.neutron.services.grouppolicy.common import ("}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_117d346e","line":26,"in_reply_to":"9aa53dc9_4b9c2dc0","updated":"2015-04-07 20:01:44.000000000","message":"I pointed out multiple import changes for patchset 13, only for the files that were already being changed. My full comment was: \"Most of it is not related to your changes, but because this is a big change it might be worth to take advantage and fix all imports per http://docs.openstack.org/developer/hacking/#import-order-template. Cheers.\"\nIt doesn\u0027t seem to mess PEP8 though.","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"57472879dcd7864063c6810225288479c61ef9b2","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":"import sqlalchemy as sa"},{"line_number":25,"context_line":"from sqlalchemy import orm"},{"line_number":26,"context_line":"from sqlalchemy.orm import exc"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from gbpservice.neutron.extensions import group_policy as gpolicy"},{"line_number":29,"context_line":"from gbpservice.neutron.services.grouppolicy.common import ("}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_15786d8e","line":26,"in_reply_to":"9aa53dc9_f944f21b","updated":"2015-04-08 08:56:20.000000000","message":"Will address this in the next patch. I was under the impression that netaddr is not a third party package.","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"}],"gbpservice/neutron/db/grouppolicy/group_policy_mapping_db.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import sqlalchemy as sa"},{"line_number":14,"context_line":"from sqlalchemy import orm"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from neutron.common import log"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_1d09f02c","line":13,"updated":"2015-03-30 09:23:26.000000000","message":"Move these imports below neutron/oslo imports (third-party imports).","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import sqlalchemy as sa"},{"line_number":14,"context_line":"from sqlalchemy import orm"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from neutron.common import log"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_c3cbab71","line":13,"in_reply_to":"da9b358b_1d09f02c","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/db/migration/models/head.py":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"5d577b9e0fbf57643d415f04003f79d574f2c70a","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from gbpservice.neutron.db.grouppolicy import group_policy_db  # noqa"},{"line_number":18,"context_line":"from gbpservice.neutron.db.grouppolicy import group_policy_mapping_db  # noqa"},{"line_number":19,"context_line":"from neutron.db import model_base"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_6be37134","side":"PARENT","line":18,"updated":"2015-04-07 19:35:01.000000000","message":"have we run the service chain tests on this branch and check that this is actually not required?","commit_id":"275dab7eec9391a571ad48d5282ae25ed6e02a66"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"57472879dcd7864063c6810225288479c61ef9b2","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from gbpservice.neutron.db.grouppolicy import group_policy_db  # noqa"},{"line_number":18,"context_line":"from gbpservice.neutron.db.grouppolicy import group_policy_mapping_db  # noqa"},{"line_number":19,"context_line":"from neutron.db import model_base"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_b5c5418f","side":"PARENT","line":18,"in_reply_to":"9aa53dc9_6be37134","updated":"2015-04-08 08:56:20.000000000","message":"yes, the service chain UTs pass with this removed. The issue with having this here is the db migration command fails because the group_policy_db imports the extension file which updates the api_extensions_path which is not initialized. This was not an issue earlier, but the default behavior has changed with the new Oslo version.","commit_id":"275dab7eec9391a571ad48d5282ae25ed6e02a66"}],"gbpservice/neutron/db/servicechain_db.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import ast"},{"line_number":14,"context_line":"import sqlalchemy as sa"},{"line_number":15,"context_line":"from sqlalchemy.ext.orderinglist import ordering_list"},{"line_number":16,"context_line":"from sqlalchemy import orm"},{"line_number":17,"context_line":"from sqlalchemy.orm import exc"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_22125163","line":14,"updated":"2015-03-30 09:23:26.000000000","message":"Add line break to separate from stdlib imports (ast).\n\nAlso, move all sqlalchemy below neutron imports (third-part imports).","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import ast"},{"line_number":14,"context_line":"import sqlalchemy as sa"},{"line_number":15,"context_line":"from sqlalchemy.ext.orderinglist import ordering_list"},{"line_number":16,"context_line":"from sqlalchemy import orm"},{"line_number":17,"context_line":"from sqlalchemy.orm import exc"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_63a17fa9","line":14,"in_reply_to":"da9b358b_22125163","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from gbpservice.neutron.extensions import servicechain as schain"},{"line_number":30,"context_line":"from gbpservice.neutron.services.servicechain.common import exceptions as s_exc"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":"MAX_IPV4_SUBNET_PREFIX_LENGTH \u003d 31"},{"line_number":34,"context_line":"MAX_IPV6_SUBNET_PREFIX_LENGTH \u003d 127"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_e20c6944","line":31,"updated":"2015-03-30 09:23:26.000000000","message":"Add another line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from gbpservice.neutron.extensions import servicechain as schain"},{"line_number":30,"context_line":"from gbpservice.neutron.services.servicechain.common import exceptions as s_exc"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":33,"context_line":"MAX_IPV4_SUBNET_PREFIX_LENGTH \u003d 31"},{"line_number":34,"context_line":"MAX_IPV6_SUBNET_PREFIX_LENGTH \u003d 127"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_43a67bc2","line":31,"in_reply_to":"da9b358b_e20c6944","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/extensions/group_policy.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import abc"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron.api import extensions"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_02818d4a","line":14,"updated":"2015-03-30 09:23:26.000000000","message":"Remove \\n","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import abc"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron.api import extensions"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_c8ad0a33","line":14,"in_reply_to":"da9b358b_02818d4a","updated":"2015-04-02 06:04:21.000000000","message":"abc is an inbuilt python module whereas six is a third party module. Hence moving import six to below oslo","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/extensions/group_policy_mapping.py":[{"author":{"_account_id":1689,"name":"Robert Kukura","email":"rk@theep.net","username":"rkukura"},"change_message_id":"729e88d0346dab248cc94b9efc24914553ce9ce3","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from gbpservice.neutron.extensions import group_policy as gp"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"extensions.append_api_extensions_path(gbpservice.neutron.extensions.__path__)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Extended attributes for Group Policy resource to map to Neutron constructs"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa963961_6e9f3460","line":20,"updated":"2015-03-26 18:28:03.000000000","message":"Its not clear to me why this should be necessary, since the same code is in group_policy.py, which this module inherits.","commit_id":"e2d9e624f0ba2ee3d643dee2937b9d8f02d3928f"}],"gbpservice/neutron/extensions/servicechain.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import abc"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron.api import extensions"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_6231790b","line":14,"updated":"2015-03-30 09:23:26.000000000","message":"Remove line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import abc"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron.api import extensions"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_68639e1b","line":14,"in_reply_to":"da9b358b_6231790b","updated":"2015-04-02 06:04:21.000000000","message":"abc is an inbuilt python module whereas six is a third party module. Hence moving import six to below oslo","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/plugins/ml2/drivers/grouppolicy/apic/driver.py":[{"author":{"_account_id":1689,"name":"Robert Kukura","email":"rk@theep.net","username":"rkukura"},"change_message_id":"92c63e80d9fb4480effb47117032a36cd55fcebe","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        if not self._apic_gbp:"},{"line_number":33,"context_line":"            self._apic_gbp \u003d manager.NeutronManager.get_service_plugins()["},{"line_number":34,"context_line":"                \u0027GROUP_POLICY\u0027].policy_driver_manager.policy_drivers["},{"line_number":35,"context_line":"                \u0027apic\u0027].obj"},{"line_number":36,"context_line":"        return self._apic_gbp"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def create_port_postcommit(self, context):"}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_6d6aa11c","line":35,"updated":"2015-04-10 20:19:49.000000000","message":"I\u0027m not too happy with a driver depending on this sort of implementation detail, but I can live with it for now if necessary.","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"66cf7cdc3cef18f54d9b4be62fc42b4dcdb7412c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        if not self._apic_gbp:"},{"line_number":33,"context_line":"            self._apic_gbp \u003d manager.NeutronManager.get_service_plugins()["},{"line_number":34,"context_line":"                \u0027GROUP_POLICY\u0027].policy_driver_manager.policy_drivers["},{"line_number":35,"context_line":"                \u0027apic\u0027].obj"},{"line_number":36,"context_line":"        return self._apic_gbp"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def create_port_postcommit(self, context):"}],"source_content_type":"text/x-python","patch_set":24,"id":"7aaa499b_cfcabf4f","line":35,"updated":"2015-04-11 17:56:44.000000000","message":"Just curious, why do go from the earlier static method approach to doing this? (I believe Bob had a similar question earlier.)","commit_id":"bab6b4a82d922902eb13e09a96a618e40d9cd025"},{"author":{"_account_id":1689,"name":"Robert Kukura","email":"rk@theep.net","username":"rkukura"},"change_message_id":"bc7da96f9ac55bb5950eea77ea601c2915c804eb","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        if not self._apic_gbp:"},{"line_number":33,"context_line":"            self._apic_gbp \u003d manager.NeutronManager.get_service_plugins()["},{"line_number":34,"context_line":"                \u0027GROUP_POLICY\u0027].policy_driver_manager.policy_drivers["},{"line_number":35,"context_line":"                \u0027apic\u0027].obj"},{"line_number":36,"context_line":"        return self._apic_gbp"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def create_port_postcommit(self, context):"}],"source_content_type":"text/x-python","patch_set":24,"id":"7aaa499b_8f815792","line":35,"in_reply_to":"7aaa499b_cfcabf4f","updated":"2015-04-11 19:16:05.000000000","message":"Right, I\u0027d like to understand why this change was needed, but its OK for now and can be changed back in a later patch if we decide that is preferable.","commit_id":"bab6b4a82d922902eb13e09a96a618e40d9cd025"}],"gbpservice/neutron/plugins/ml2/drivers/grouppolicy/odl/driver.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers.odl import odl_mapping"},{"line_number":14,"context_line":"from neutron.common import constants as n_constants"},{"line_number":15,"context_line":"from neutron.extensions import portbindings"},{"line_number":16,"context_line":"from neutron.plugins.common import constants"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_e2c46993","line":13,"updated":"2015-03-30 09:23:26.000000000","message":"Move to project imports\u0027 zone.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers.odl import odl_mapping"},{"line_number":14,"context_line":"from neutron.common import constants as n_constants"},{"line_number":15,"context_line":"from neutron.extensions import portbindings"},{"line_number":16,"context_line":"from neutron.plugins.common import constants"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_839c836a","line":13,"in_reply_to":"da9b358b_e2c46993","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from neutron.plugins.common import constants"},{"line_number":17,"context_line":"from neutron.plugins.ml2 import driver_api as api"},{"line_number":18,"context_line":"from oslo_log import log as log"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_a258a157","line":19,"updated":"2015-03-30 09:23:26.000000000","message":"Add another line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from neutron.plugins.common import constants"},{"line_number":17,"context_line":"from neutron.plugins.ml2 import driver_api as api"},{"line_number":18,"context_line":"from oslo_log import log as log"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_438d5b30","line":19,"in_reply_to":"da9b358b_a258a157","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/services/grouppolicy/drivers/cisco/apic/apic_mapping.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from gbpservice.neutron.services.grouppolicy.common import exceptions as gpexc"},{"line_number":31,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers import ("},{"line_number":32,"context_line":"    resource_mapping as api)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_827ebdac","line":33,"updated":"2015-03-30 09:23:26.000000000","message":"Add another line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from gbpservice.neutron.services.grouppolicy.common import exceptions as gpexc"},{"line_number":31,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers import ("},{"line_number":32,"context_line":"    resource_mapping as api)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_e3a34f9d","line":33,"in_reply_to":"da9b358b_827ebdac","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":1689,"name":"Robert Kukura","email":"rk@theep.net","username":"rkukura"},"change_message_id":"92c63e80d9fb4480effb47117032a36cd55fcebe","unresolved":false,"context_lines":[{"line_number":791,"context_line":"                    models.NetworkSegment.segmentation_id \u003d\u003d"},{"line_number":792,"context_line":"                    port_info[\u0027segmentation_id\u0027]).filter("},{"line_number":793,"context_line":"                        models.PortBindingLevel.port_id !\u003d"},{"line_number":794,"context_line":"                        port_info[\u0027port_id\u0027]).count()"},{"line_number":795,"context_line":""},{"line_number":796,"context_line":"    @lockutils.synchronized(\u0027apic-portlock\u0027)"},{"line_number":797,"context_line":"    def _delete_port_path(self, context, atenant_id, ptg, port_info):"}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_9841ad3c","line":794,"updated":"2015-04-10 20:19:49.000000000","message":"Nit: This is a bit difficult to read the way its formatted. I\u0027d suggest wrapping everything after the return in parentheses, and then starting a new line between each \u0027.\u0027 and function name following it, so that the functions all line up. Lots of neutron DB query expressions are formatted this way.\n\nreturn (plugin_context.session.query(...).\n            join(...).\n            filter(...).\n            filter(...).\n            count())","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"453458e9ceffbcd6a46e987e2a0705c028fa5f36","unresolved":false,"context_lines":[{"line_number":791,"context_line":"                    models.NetworkSegment.segmentation_id \u003d\u003d"},{"line_number":792,"context_line":"                    port_info[\u0027segmentation_id\u0027]).filter("},{"line_number":793,"context_line":"                        models.PortBindingLevel.port_id !\u003d"},{"line_number":794,"context_line":"                        port_info[\u0027port_id\u0027]).count()"},{"line_number":795,"context_line":""},{"line_number":796,"context_line":"    @lockutils.synchronized(\u0027apic-portlock\u0027)"},{"line_number":797,"context_line":"    def _delete_port_path(self, context, atenant_id, ptg, port_info):"}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_4f4b52b1","line":794,"in_reply_to":"7aaa499b_9841ad3c","updated":"2015-04-11 08:40:32.000000000","message":"Done","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"}],"gbpservice/neutron/services/grouppolicy/drivers/nuage/driver.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers import ("},{"line_number":20,"context_line":"    resource_mapping as api)"},{"line_number":21,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers.nuage.common import config"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_0272ade5","line":22,"updated":"2015-03-30 09:23:26.000000000","message":"Add another line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers import ("},{"line_number":20,"context_line":"    resource_mapping as api)"},{"line_number":21,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers.nuage.common import config"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_83aa436f","line":22,"in_reply_to":"da9b358b_0272ade5","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/services/grouppolicy/drivers/odl/odl_manager.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"from oslo_serialization import jsonutils"},{"line_number":18,"context_line":"from requests import auth"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":21,"context_line":"cfg.CONF.import_opt("}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_6205f9c0","line":18,"updated":"2015-03-30 09:23:26.000000000","message":"Move below import requests.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"from oslo_serialization import jsonutils"},{"line_number":18,"context_line":"from requests import auth"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":21,"context_line":"cfg.CONF.import_opt("}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_63b61fde","line":18,"in_reply_to":"da9b358b_6205f9c0","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"from oslo_serialization import jsonutils"},{"line_number":18,"context_line":"from requests import auth"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":21,"context_line":"cfg.CONF.import_opt("},{"line_number":22,"context_line":"    \u0027odl_username\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_4268b5f5","line":19,"updated":"2015-03-30 09:23:26.000000000","message":"Add another line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"from oslo_serialization import jsonutils"},{"line_number":18,"context_line":"from requests import auth"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":21,"context_line":"cfg.CONF.import_opt("},{"line_number":22,"context_line":"    \u0027odl_username\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_43bb1bc5","line":19,"in_reply_to":"da9b358b_4268b5f5","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/services/grouppolicy/extension_manager.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from oslo_config import cfg"},{"line_number":15,"context_line":"from oslo_log import log"},{"line_number":16,"context_line":"import stevedore"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_c2d845f2","line":17,"updated":"2015-03-30 09:23:26.000000000","message":"Add another line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from oslo_config import cfg"},{"line_number":15,"context_line":"from oslo_log import log"},{"line_number":16,"context_line":"import stevedore"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_c3c72b44","line":17,"in_reply_to":"da9b358b_c2d845f2","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/services/grouppolicy/policy_driver_manager.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from oslo_log import log"},{"line_number":15,"context_line":"import stevedore"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from gbpservice.neutron.services.grouppolicy.common import exceptions as gp_exc"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_a2f1c1cf","line":17,"updated":"2015-03-30 09:23:26.000000000","message":"Remove one of the linebreaks.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from oslo_log import log"},{"line_number":15,"context_line":"import stevedore"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from gbpservice.neutron.services.grouppolicy.common import exceptions as gp_exc"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_a3c42740","line":17,"in_reply_to":"da9b358b_a2f1c1cf","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/services/servicechain/drivers/simplechain_driver.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":"from oslo_serialization import jsonutils"},{"line_number":25,"context_line":"import sqlalchemy as sa"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from gbpservice.neutron.services.servicechain.common import exceptions as exc"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_22b491f0","line":26,"updated":"2015-03-30 09:23:26.000000000","message":"Remove one of the line breaks.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":"from oslo_serialization import jsonutils"},{"line_number":25,"context_line":"import sqlalchemy as sa"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from gbpservice.neutron.services.servicechain.common import exceptions as exc"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_43e2fbd6","line":26,"in_reply_to":"da9b358b_22b491f0","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/services/servicechain/servicechain_plugin.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    driver_manager as manager)"},{"line_number":20,"context_line":"from gbpservice.neutron.services.servicechain import ("},{"line_number":21,"context_line":"    servicechain_context as servicechain_context)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_6295f9e2","line":22,"updated":"2015-03-30 09:23:26.000000000","message":"Add another line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    driver_manager as manager)"},{"line_number":20,"context_line":"from gbpservice.neutron.services.servicechain import ("},{"line_number":21,"context_line":"    servicechain_context as servicechain_context)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_23e7f7e5","line":22,"in_reply_to":"da9b358b_6295f9e2","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/tests/etc/test-policy.json":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"66cf7cdc3cef18f54d9b4be62fc42b4dcdb7412c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    \"get_policy_target_group\": \"rule:admin_or_owner or rule:gbp_shared\","},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\t\"gbp_l2p_shared\": \"field:l2_policies:shared\u003dTrue\","},{"line_number":14,"context_line":"    \"create_l2_policy\": \"\","},{"line_number":15,"context_line":"    \"get_l2_policy\": \"rule:admin_or_owner or rule:gbp_l2p_shared\","},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\t\"gbp_l3p_shared\": \"field:l3_policies:shared\u003dTrue\","}],"source_content_type":"application/json","patch_set":24,"id":"7aaa499b_0f99c76e","line":14,"updated":"2015-04-11 17:56:44.000000000","message":"I think these should be spaces (not tabs). Dont want to hold up this patch for this reason, perhaps we can clean up in a follow up patch.","commit_id":"bab6b4a82d922902eb13e09a96a618e40d9cd025"}],"gbpservice/neutron/tests/unit/db/grouppolicy/test_group_policy_db.py":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"5d577b9e0fbf57643d415f04003f79d574f2c70a","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    def setUp(self, core_plugin\u003dNone, gp_plugin\u003dNone, service_plugins\u003dNone,"},{"line_number":176,"context_line":"              ext_mgr\u003dNone):"},{"line_number":177,"context_line":"        extensions.append_api_extensions_path("},{"line_number":178,"context_line":"            gbpservice.neutron.extensions.__path__)"},{"line_number":179,"context_line":"        if not gp_plugin:"},{"line_number":180,"context_line":"            gp_plugin \u003d DB_GP_PLUGIN_KLASS"},{"line_number":181,"context_line":"        self.plugin \u003d importutils.import_object(gp_plugin)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_4b7aedf2","side":"PARENT","line":178,"updated":"2015-04-07 19:35:01.000000000","message":"is this not required because the path is added in some other place?","commit_id":"275dab7eec9391a571ad48d5282ae25ed6e02a66"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"57472879dcd7864063c6810225288479c61ef9b2","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    def setUp(self, core_plugin\u003dNone, gp_plugin\u003dNone, service_plugins\u003dNone,"},{"line_number":176,"context_line":"              ext_mgr\u003dNone):"},{"line_number":177,"context_line":"        extensions.append_api_extensions_path("},{"line_number":178,"context_line":"            gbpservice.neutron.extensions.__path__)"},{"line_number":179,"context_line":"        if not gp_plugin:"},{"line_number":180,"context_line":"            gp_plugin \u003d DB_GP_PLUGIN_KLASS"},{"line_number":181,"context_line":"        self.plugin \u003d importutils.import_object(gp_plugin)"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_755699d3","side":"PARENT","line":178,"in_reply_to":"9aa53dc9_4b7aedf2","updated":"2015-04-08 08:56:20.000000000","message":"This is already present in the extensions file itself.","commit_id":"275dab7eec9391a571ad48d5282ae25ed6e02a66"}],"gbpservice/neutron/tests/unit/db/grouppolicy/test_servicechain_db.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from oslo_utils import importutils"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from gbpservice.neutron.db import servicechain_db as svcchain_db"},{"line_number":25,"context_line":"#import gbpservice.neutron.extensions"},{"line_number":26,"context_line":"from gbpservice.neutron.extensions import servicechain as service_chain"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"JSON_FORMAT \u003d \u0027json\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_02874d10","line":25,"updated":"2015-03-30 09:23:26.000000000","message":"Check this.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from oslo_utils import importutils"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from gbpservice.neutron.db import servicechain_db as svcchain_db"},{"line_number":25,"context_line":"#import gbpservice.neutron.extensions"},{"line_number":26,"context_line":"from gbpservice.neutron.extensions import servicechain as service_chain"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"JSON_FORMAT \u003d \u0027json\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_c3ce0b5a","line":25,"in_reply_to":"da9b358b_02874d10","updated":"2015-04-02 06:04:21.000000000","message":"This is not required anymore. Removed it.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/tests/unit/services/grouppolicy/test_apic_mapping.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from neutron.tests.unit.ml2 import test_ml2_plugin"},{"line_number":27,"context_line":"from oslo_config import cfg"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"sys.modules[\"apicapi\"] \u003d mock.Mock()"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"from gbpservice.neutron.services.grouppolicy import config"},{"line_number":32,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers.cisco.apic import ("}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_22b011dd","line":29,"updated":"2015-03-30 09:23:26.000000000","message":"Can this go below all imports?","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from neutron.tests.unit.ml2 import test_ml2_plugin"},{"line_number":27,"context_line":"from oslo_config import cfg"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"sys.modules[\"apicapi\"] \u003d mock.Mock()"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"from gbpservice.neutron.services.grouppolicy import config"},{"line_number":32,"context_line":"from gbpservice.neutron.services.grouppolicy.drivers.cisco.apic import ("}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_e3722f7c","line":29,"in_reply_to":"da9b358b_22b011dd","updated":"2015-04-02 06:04:21.000000000","message":"This is required here for the below imports to work. apicapi is not present in tree.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    apic_mapping as amap)"},{"line_number":34,"context_line":"from gbpservice.neutron.tests.unit.services.grouppolicy import ("},{"line_number":35,"context_line":"    test_grouppolicy_plugin as test_plugin)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"APIC_L2_POLICY \u003d \u0027l2_policy\u0027"},{"line_number":38,"context_line":"APIC_L3_POLICY \u003d \u0027l3_policy\u0027"},{"line_number":39,"context_line":"APIC_POLICY_RULE_SET \u003d \u0027policy_rule_set\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_e2a3499d","line":36,"updated":"2015-03-30 09:23:26.000000000","message":"Add another line break.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    apic_mapping as amap)"},{"line_number":34,"context_line":"from gbpservice.neutron.tests.unit.services.grouppolicy import ("},{"line_number":35,"context_line":"    test_grouppolicy_plugin as test_plugin)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"APIC_L2_POLICY \u003d \u0027l2_policy\u0027"},{"line_number":38,"context_line":"APIC_L3_POLICY \u003d \u0027l3_policy\u0027"},{"line_number":39,"context_line":"APIC_POLICY_RULE_SET \u003d \u0027policy_rule_set\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_c36f2b91","line":36,"in_reply_to":"da9b358b_e2a3499d","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/tests/unit/services/grouppolicy/test_extension_driver_api.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import os"},{"line_number":14,"context_line":"import sqlalchemy as sa"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from neutron.api.v2 import attributes"},{"line_number":17,"context_line":"from neutron.db import model_base"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_42e2f5d6","line":14,"updated":"2015-03-30 09:23:26.000000000","message":"Move to third party imports.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import os"},{"line_number":14,"context_line":"import sqlalchemy as sa"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from neutron.api.v2 import attributes"},{"line_number":17,"context_line":"from neutron.db import model_base"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_a3db071b","line":14,"in_reply_to":"da9b358b_42e2f5d6","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"5d577b9e0fbf57643d415f04003f79d574f2c70a","unresolved":false,"context_lines":[{"line_number":545,"context_line":"        # self.network_extension \u003d \u0027Test_Network_Extension\u0027"},{"line_number":546,"context_line":"        # self.subnet_extension \u003d \u0027Test_Subnet_Extension\u0027"},{"line_number":547,"context_line":"        # self.port_extension \u003d \u0027Test_Port_Extension\u0027"},{"line_number":548,"context_line":"        #extensions.append_api_extensions_path(test_ext.__path__)"},{"line_number":549,"context_line":"        pass"},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_6bf8114a","line":548,"updated":"2015-04-07 19:35:01.000000000","message":"do we need the above?","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"57472879dcd7864063c6810225288479c61ef9b2","unresolved":false,"context_lines":[{"line_number":545,"context_line":"        # self.network_extension \u003d \u0027Test_Network_Extension\u0027"},{"line_number":546,"context_line":"        # self.subnet_extension \u003d \u0027Test_Subnet_Extension\u0027"},{"line_number":547,"context_line":"        # self.port_extension \u003d \u0027Test_Port_Extension\u0027"},{"line_number":548,"context_line":"        #extensions.append_api_extensions_path(test_ext.__path__)"},{"line_number":549,"context_line":"        pass"},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_956ebd94","line":548,"in_reply_to":"9aa53dc9_6bf8114a","updated":"2015-04-08 08:56:20.000000000","message":"Will remove them in the next patch.","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"}],"gbpservice/neutron/tests/unit/services/grouppolicy/test_grouppolicy_plugin.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":12,"context_line":"# limitations under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import mock"},{"line_number":15,"context_line":"import webob.exc"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron import context"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_a2f2e198","line":14,"updated":"2015-03-30 09:23:26.000000000","message":"Both not from stdlib.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":12,"context_line":"# limitations under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import mock"},{"line_number":15,"context_line":"import webob.exc"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron import context"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_6304df7d","line":14,"in_reply_to":"da9b358b_a2f2e198","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/tests/unit/services/grouppolicy/test_neutronv2_client.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import contextlib"},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron import context"},{"line_number":18,"context_line":"from neutron.tests.unit import test_db_plugin"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_421795a3","line":15,"updated":"2015-03-30 09:23:26.000000000","message":"mock is third-party.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import contextlib"},{"line_number":15,"context_line":"import mock"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron import context"},{"line_number":18,"context_line":"from neutron.tests.unit import test_db_plugin"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_0303d374","line":15,"in_reply_to":"da9b358b_421795a3","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/tests/unit/services/grouppolicy/test_odl_manager.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":12,"context_line":"# limitations under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import mock"},{"line_number":15,"context_line":"import requests"},{"line_number":16,"context_line":"import unittest"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_82747dfd","line":14,"updated":"2015-03-30 09:23:26.000000000","message":"mock is third-party.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":12,"context_line":"# limitations under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import mock"},{"line_number":15,"context_line":"import requests"},{"line_number":16,"context_line":"import unittest"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_e3f8ef7e","line":14,"in_reply_to":"da9b358b_82747dfd","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}],"gbpservice/neutron/tests/unit/services/grouppolicy/test_resource_mapping.py":[{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"eeffde7d028b11fc8de3238efec6e6d4a49147ff","unresolved":false,"context_lines":[{"line_number":2288,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2289,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2290,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2291,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2292,"context_line":"                self.create_external_segment("},{"line_number":2293,"context_line":"                    shared\u003dTrue,"},{"line_number":2294,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_a394fde1","line":2291,"updated":"2015-04-07 21:35:56.000000000","message":"test-policy.json [0] was intended exactly for that. Can\u0027t we load this instead of changing the test behavior?\n\n[0] https://github.com/stackforge/group-based-policy/blob/master/etc/test-policy.json","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"57472879dcd7864063c6810225288479c61ef9b2","unresolved":false,"context_lines":[{"line_number":2288,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2289,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2290,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2291,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2292,"context_line":"                self.create_external_segment("},{"line_number":2293,"context_line":"                    shared\u003dTrue,"},{"line_number":2294,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_b57d411e","line":2291,"in_reply_to":"9aa53dc9_a394fde1","updated":"2015-04-08 08:56:20.000000000","message":"Both our policy.json test-policy.json have wrong values today. Also loading them might involve moving the test-policy.json to a different path. That needs some thought. So I think it would be better to address those issues as a separate bug.","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"eeffde7d028b11fc8de3238efec6e6d4a49147ff","unresolved":false,"context_lines":[{"line_number":2337,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2338,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2339,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2340,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2341,"context_line":"                self.create_external_segment("},{"line_number":2342,"context_line":"                    shared\u003dTrue,"},{"line_number":2343,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_63bdd567","line":2340,"updated":"2015-04-07 21:35:56.000000000","message":"ditto","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"57472879dcd7864063c6810225288479c61ef9b2","unresolved":false,"context_lines":[{"line_number":2337,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2338,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2339,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2340,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2341,"context_line":"                self.create_external_segment("},{"line_number":2342,"context_line":"                    shared\u003dTrue,"},{"line_number":2343,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_5572754a","line":2340,"in_reply_to":"9aa53dc9_63bdd567","updated":"2015-04-08 08:56:20.000000000","message":"Same comment as above.","commit_id":"37827386e5d7bec6746b6112ec9178c78752c83c"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"b788eb9a6a5d842487384b2d9893e3c56acca925","unresolved":false,"context_lines":[{"line_number":2288,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2289,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2290,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2291,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2292,"context_line":"                self.create_external_segment("},{"line_number":2293,"context_line":"                    shared\u003dTrue,"},{"line_number":2294,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_01c76c13","line":2291,"updated":"2015-04-10 16:36:19.000000000","message":"We should update test-policy.json to solve this problem. See here [0] for an example on how to do it.\n\n[0] https://review.openstack.org/#/c/156856/27/etc/test-policy.json","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"453458e9ceffbcd6a46e987e2a0705c028fa5f36","unresolved":false,"context_lines":[{"line_number":2288,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2289,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2290,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2291,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2292,"context_line":"                self.create_external_segment("},{"line_number":2293,"context_line":"                    shared\u003dTrue,"},{"line_number":2294,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_6f584e57","line":2291,"in_reply_to":"7aaa499b_01c76c13","updated":"2015-04-11 08:40:32.000000000","message":"Done","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"b788eb9a6a5d842487384b2d9893e3c56acca925","unresolved":false,"context_lines":[{"line_number":2292,"context_line":"                self.create_external_segment("},{"line_number":2293,"context_line":"                    shared\u003dTrue,"},{"line_number":2294,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"},{"line_number":2295,"context_line":"                    name\u003d\"default\","},{"line_number":2296,"context_line":"                    subnet_id\u003dsub[\u0027subnet\u0027][\u0027id\u0027])[\u0027external_segment\u0027]"},{"line_number":2297,"context_line":""},{"line_number":2298,"context_line":"                ep \u003d self.create_external_policy("}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_c1d064cc","line":2295,"updated":"2015-04-10 16:36:19.000000000","message":"ditto","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"453458e9ceffbcd6a46e987e2a0705c028fa5f36","unresolved":false,"context_lines":[{"line_number":2292,"context_line":"                self.create_external_segment("},{"line_number":2293,"context_line":"                    shared\u003dTrue,"},{"line_number":2294,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"},{"line_number":2295,"context_line":"                    name\u003d\"default\","},{"line_number":2296,"context_line":"                    subnet_id\u003dsub[\u0027subnet\u0027][\u0027id\u0027])[\u0027external_segment\u0027]"},{"line_number":2297,"context_line":""},{"line_number":2298,"context_line":"                ep \u003d self.create_external_policy("}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_4f55921b","line":2295,"in_reply_to":"7aaa499b_c1d064cc","updated":"2015-04-11 08:40:32.000000000","message":"Done","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"b788eb9a6a5d842487384b2d9893e3c56acca925","unresolved":false,"context_lines":[{"line_number":2337,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2338,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2339,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2340,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2341,"context_line":"                self.create_external_segment("},{"line_number":2342,"context_line":"                    shared\u003dTrue,"},{"line_number":2343,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_41e574a6","line":2340,"updated":"2015-04-10 16:36:19.000000000","message":"ditto","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"453458e9ceffbcd6a46e987e2a0705c028fa5f36","unresolved":false,"context_lines":[{"line_number":2337,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2338,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2339,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2340,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2341,"context_line":"                self.create_external_segment("},{"line_number":2342,"context_line":"                    shared\u003dTrue,"},{"line_number":2343,"context_line":"                    # tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"7aaa499b_0f366a03","line":2340,"in_reply_to":"7aaa499b_41e574a6","updated":"2015-04-11 08:40:32.000000000","message":"Done","commit_id":"efd02330bcc8c4fda53b5ded168253556c169fbd"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"c8e978a598d382fa8bc974280a7c5d8461fd53ac","unresolved":false,"context_lines":[{"line_number":2288,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2289,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2290,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2291,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2292,"context_line":"                self.create_external_segment("},{"line_number":2293,"context_line":"                    shared\u003dTrue,"},{"line_number":2294,"context_line":"                    tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"7aaa499b_0a3c1892","line":2291,"updated":"2015-04-11 10:10:27.000000000","message":"remove the comment now that the policy issue is fixed","commit_id":"ef9db19397ac35cb17ead12fef31cae7f031b836"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"a4dd1b7ffe094ae6e0811d792aee3db3e09cc36e","unresolved":false,"context_lines":[{"line_number":2288,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2289,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2290,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2291,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2292,"context_line":"                self.create_external_segment("},{"line_number":2293,"context_line":"                    shared\u003dTrue,"},{"line_number":2294,"context_line":"                    tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"7aaa499b_cab870e8","line":2291,"in_reply_to":"7aaa499b_0a3c1892","updated":"2015-04-11 10:59:53.000000000","message":"Done","commit_id":"ef9db19397ac35cb17ead12fef31cae7f031b836"},{"author":{"_account_id":7987,"name":"Ivar Lazzaro","email":"ivarlazzaro@gmail.com","username":"Ivar"},"change_message_id":"c8e978a598d382fa8bc974280a7c5d8461fd53ac","unresolved":false,"context_lines":[{"line_number":2337,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2338,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2339,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2340,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2341,"context_line":"                self.create_external_segment("},{"line_number":2342,"context_line":"                    shared\u003dTrue,"},{"line_number":2343,"context_line":"                    tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"7aaa499b_ea40cc09","line":2340,"updated":"2015-04-11 10:10:27.000000000","message":"ditto","commit_id":"ef9db19397ac35cb17ead12fef31cae7f031b836"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"a4dd1b7ffe094ae6e0811d792aee3db3e09cc36e","unresolved":false,"context_lines":[{"line_number":2337,"context_line":"        with self.network(router__external\u003dTrue, shared\u003dTrue) as net:"},{"line_number":2338,"context_line":"            with self.subnet(cidr\u003d\u0027192.168.0.0/24\u0027, network\u003dnet) as sub:"},{"line_number":2339,"context_line":"                # TODO(Magesh): We are not loading a policy json for UTs"},{"line_number":2340,"context_line":"                # that allow viewing this shared resource at api level"},{"line_number":2341,"context_line":"                self.create_external_segment("},{"line_number":2342,"context_line":"                    shared\u003dTrue,"},{"line_number":2343,"context_line":"                    tenant_id\u003d\u0027admin\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"7aaa499b_eab32c09","line":2340,"in_reply_to":"7aaa499b_ea40cc09","updated":"2015-04-11 10:59:53.000000000","message":"Done","commit_id":"ef9db19397ac35cb17ead12fef31cae7f031b836"}],"gbpservice/neutron/tests/unit/services/servicechain/test_simple_chain_driver.py":[{"author":{"_account_id":9396,"name":"igordcard","email":"igordcard@gmail.com","username":"igordcard"},"change_message_id":"f9e50623714c6326e7af5f934304abe7a50026da","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# limitations under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import contextlib"},{"line_number":15,"context_line":"import heatclient"},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from neutron.openstack.common import uuidutils"},{"line_number":18,"context_line":"from neutron.plugins.common import constants"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_e2546955","line":15,"updated":"2015-03-30 09:23:26.000000000","message":"heatclient and mock are third-party.","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"},{"author":{"_account_id":10965,"name":"Magesh GV","email":"mageshgv@gmail.com","username":"mageshgv"},"change_message_id":"e02a1fd101885ee26095daafc18cb9f36cbb395d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# limitations under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import contextlib"},{"line_number":15,"context_line":"import heatclient"},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from neutron.openstack.common import uuidutils"},{"line_number":18,"context_line":"from neutron.plugins.common import constants"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_c3f5eb83","line":15,"in_reply_to":"da9b358b_e2546955","updated":"2015-04-02 06:04:21.000000000","message":"Done","commit_id":"45386ba654a80633330ebdaa1084fb562f7d5fee"}]}
