)]}'
{"etc/dhcp_agent.ini":[{"author":{"_account_id":9820,"name":"Liping Mao","email":"limao@cisco.com","username":"LipingMao"},"change_message_id":"9ef1ee67be6365e265deb4ac1cc2b488f3835fd6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a8c0949_602581c1","updated":"2014-11-03 01:30:06.000000000","message":"I think that we should not change mode here, the same to other files.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"82f28bfc4ae172d7103909309a34a6d5aca41d43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a8c0949_cc202b4c","in_reply_to":"7a8c0949_602581c1","updated":"2014-11-04 08:07:48.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}],"neutron/common/config.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":116,"context_line":"               help\u003d_(\u0027Number of seconds between sending events to nova if \u0027"},{"line_number":117,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":118,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027,"},{"line_number":119,"context_line":"               default\u003d\u0027neutron.ipam.drivers.neutron_ipam.NeutronIPAM\u0027,"},{"line_number":120,"context_line":"               help\u003d_(\u0027IPAMManager driver\u0027))"},{"line_number":121,"context_line":"]"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_94239a04","line":119,"updated":"2014-10-31 22:18:18.000000000","message":"I guess you better introduce new entry points in setup.cfg for IPAM drivers to avoid long cryptic values.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"82f28bfc4ae172d7103909309a34a6d5aca41d43","unresolved":false,"context_lines":[{"line_number":116,"context_line":"               help\u003d_(\u0027Number of seconds between sending events to nova if \u0027"},{"line_number":117,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":118,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027,"},{"line_number":119,"context_line":"               default\u003d\u0027neutron.ipam.drivers.neutron_ipam.NeutronIPAM\u0027,"},{"line_number":120,"context_line":"               help\u003d_(\u0027IPAMManager driver\u0027))"},{"line_number":121,"context_line":"]"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_8c838303","line":119,"in_reply_to":"7a8c0949_94239a04","updated":"2014-11-04 08:07:48.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":118,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027,"},{"line_number":119,"context_line":"               default\u003d\u0027neutron.ipam.drivers.neutron_ipam.NeutronIPAM\u0027,"},{"line_number":120,"context_line":"               help\u003d_(\u0027IPAMManager driver\u0027))"},{"line_number":121,"context_line":"]"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"core_cli_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_d44602bf","line":120,"updated":"2014-10-31 22:18:18.000000000","message":"Description is not clear for outsiders. Also, you should update etc/neutron.conf to reflect new options added.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"82f28bfc4ae172d7103909309a34a6d5aca41d43","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":118,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027,"},{"line_number":119,"context_line":"               default\u003d\u0027neutron.ipam.drivers.neutron_ipam.NeutronIPAM\u0027,"},{"line_number":120,"context_line":"               help\u003d_(\u0027IPAMManager driver\u0027))"},{"line_number":121,"context_line":"]"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"core_cli_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_4c899b25","line":120,"in_reply_to":"7a8c0949_d44602bf","updated":"2014-11-04 08:07:48.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}],"neutron/db/agents_db.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            conf \u003d {}"},{"line_number":116,"context_line":"        return conf"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def _make_agent_dict(self, agent, fields\u003dNone, context\u003dNone):"},{"line_number":119,"context_line":"        attr \u003d ext_agent.RESOURCE_ATTRIBUTE_MAP.get("},{"line_number":120,"context_line":"            ext_agent.RESOURCE_NAME + \u0027s\u0027)"},{"line_number":121,"context_line":"        res \u003d dict((k, agent[k]) for k in attr"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_b42096f8","line":118,"updated":"2014-10-31 22:18:18.000000000","message":"Why the new argument here?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"82f28bfc4ae172d7103909309a34a6d5aca41d43","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            conf \u003d {}"},{"line_number":116,"context_line":"        return conf"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def _make_agent_dict(self, agent, fields\u003dNone, context\u003dNone):"},{"line_number":119,"context_line":"        attr \u003d ext_agent.RESOURCE_ATTRIBUTE_MAP.get("},{"line_number":120,"context_line":"            ext_agent.RESOURCE_NAME + \u0027s\u0027)"},{"line_number":121,"context_line":"        res \u003d dict((k, agent[k]) for k in attr"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_0c77933b","line":118,"in_reply_to":"7a8c0949_b42096f8","updated":"2014-11-04 08:07:48.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}],"neutron/db/db_base_plugin_v2.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":38,"context_line":"from neutron.openstack.common import uuidutils"},{"line_number":39,"context_line":"from neutron.plugins.common import constants as service_constants"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# Ports with the following \u0027device_owner\u0027 values will not prevent"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_d41d22bf","side":"PARENT","line":41,"updated":"2014-10-31 22:18:18.000000000","message":"don\u0027t remove the line, it\u0027s needed to pass pep8 checks.","commit_id":"8937fcf17a83b7cfb87617c1601afc0a91ea3084"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"82f28bfc4ae172d7103909309a34a6d5aca41d43","unresolved":false,"context_lines":[{"line_number":38,"context_line":"from neutron.openstack.common import uuidutils"},{"line_number":39,"context_line":"from neutron.plugins.common import constants as service_constants"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"# Ports with the following \u0027device_owner\u0027 values will not prevent"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_7b08cb91","side":"PARENT","line":41,"in_reply_to":"7a8c0949_d41d22bf","updated":"2014-11-04 08:07:48.000000000","message":"Done","commit_id":"8937fcf17a83b7cfb87617c1601afc0a91ea3084"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":50,"context_line":"AUTO_DELETE_PORT_OWNERS \u003d [constants.DEVICE_OWNER_DHCP]"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"class NeutronCorePluginV2(neutron_plugin_base_v2.NeutronPluginBaseV2,"},{"line_number":54,"context_line":"                          common_db_mixin.CommonDbMixin):"},{"line_number":55,"context_line":"    \"\"\"V2 Neutron plugin interface implementation using SQLAlchemy models."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_74546e54","line":53,"updated":"2014-10-31 22:18:18.000000000","message":"Can you elaborate on reasons for rename?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        raise n_exc.IpAddressGenerationFailure(net_id\u003dsubnets[0][\u0027network_id\u0027])"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @staticmethod"},{"line_number":248,"context_line":"    def _is_ip_avaliable(context, subnets):"},{"line_number":249,"context_line":"        range_qry \u003d context.session.query("},{"line_number":250,"context_line":"            models_v2.IPAvailabilityRange).join("},{"line_number":251,"context_line":"                models_v2.IPAllocationPool).with_lockmode(\u0027update\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_3484a6d3","line":248,"updated":"2014-10-31 22:18:18.000000000","message":"typo: avaliable -\u003e available\n\nWhat is this method expected to return?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        raise n_exc.IpAddressGenerationFailure(net_id\u003dsubnets[0][\u0027network_id\u0027])"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @staticmethod"},{"line_number":248,"context_line":"    def _is_ip_avaliable(context, subnets):"},{"line_number":249,"context_line":"        range_qry \u003d context.session.query("},{"line_number":250,"context_line":"            models_v2.IPAvailabilityRange).join("},{"line_number":251,"context_line":"                models_v2.IPAllocationPool).with_lockmode(\u0027update\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_7a74729c","line":248,"updated":"2014-11-10 19:15:09.000000000","message":"where is this method used?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        raise n_exc.IpAddressGenerationFailure(net_id\u003dsubnets[0][\u0027network_id\u0027])"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    @staticmethod"},{"line_number":248,"context_line":"    def _is_ip_avaliable(context, subnets):"},{"line_number":249,"context_line":"        range_qry \u003d context.session.query("},{"line_number":250,"context_line":"            models_v2.IPAvailabilityRange).join("},{"line_number":251,"context_line":"                models_v2.IPAllocationPool).with_lockmode(\u0027update\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_79546554","line":248,"in_reply_to":"5a890539_7a74729c","updated":"2014-11-11 17:41:07.000000000","message":"It is not and won\u0027t be in the change after updates based on the new spec.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":248,"context_line":"    def _is_ip_avaliable(context, subnets):"},{"line_number":249,"context_line":"        range_qry \u003d context.session.query("},{"line_number":250,"context_line":"            models_v2.IPAvailabilityRange).join("},{"line_number":251,"context_line":"                models_v2.IPAllocationPool).with_lockmode(\u0027update\u0027)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        ranges \u003d []"},{"line_number":254,"context_line":"        for subnet in subnets:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_9451da64","line":251,"updated":"2014-10-31 22:18:18.000000000","message":"do you really need to lock for update here?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        for subnet in subnets:"},{"line_number":255,"context_line":"            ip_range \u003d range_qry.filter_by(subnet_id\u003dsubnet[\u0027id\u0027]).first()"},{"line_number":256,"context_line":"            if ip_range:"},{"line_number":257,"context_line":"                ranges.append(ip_range)"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if ranges:"},{"line_number":260,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_b477b601","line":257,"updated":"2014-10-31 22:18:18.000000000","message":"why not bail out returning True right away here?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":473,"context_line":"            raise n_exc.InvalidInput(error_message\u003dmsg)"},{"line_number":474,"context_line":"        return fixed_ip_set"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    def _allocate_fixed_ips(self, context, network, fixed_ips, port\u003dNone):"},{"line_number":477,"context_line":"        \"\"\"Allocate IP addresses according to the configured fixed_ips.\"\"\""},{"line_number":478,"context_line":"        ips \u003d []"},{"line_number":479,"context_line":"        for fixed in fixed_ips:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_74db8eed","line":476,"updated":"2014-10-31 22:18:18.000000000","message":"why the new arguments?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":530,"context_line":""},{"line_number":531,"context_line":"        return ips, prev_ips"},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"    def _allocate_ips_for_port(self, context, network, port, port_id):"},{"line_number":534,"context_line":"        \"\"\"Allocate IP addresses for the port."},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"        If port[\u0027fixed_ips\u0027] is set to \u0027ATTR_NOT_SPECIFIED\u0027, allocate IP"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_7a9b92c9","line":533,"updated":"2014-11-10 19:15:09.000000000","message":"where is port_id used?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":530,"context_line":""},{"line_number":531,"context_line":"        return ips, prev_ips"},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"    def _allocate_ips_for_port(self, context, network, port, port_id):"},{"line_number":534,"context_line":"        \"\"\"Allocate IP addresses for the port."},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"        If port[\u0027fixed_ips\u0027] is set to \u0027ATTR_NOT_SPECIFIED\u0027, allocate IP"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_79db85ed","line":533,"in_reply_to":"5a890539_7a9b92c9","updated":"2014-11-11 17:41:07.000000000","message":"This will also be cleaned up and rebased in the upcoming submission.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":819,"context_line":"               \u0027shared\u0027: network[\u0027shared\u0027],"},{"line_number":820,"context_line":"               \u0027subnets\u0027: [subnet[\u0027id\u0027]"},{"line_number":821,"context_line":"                           for subnet in network[\u0027subnets\u0027]]}"},{"line_number":822,"context_line":""},{"line_number":823,"context_line":"        # Call auxiliary extend functions, if any"},{"line_number":824,"context_line":"        if process_extensions:"},{"line_number":825,"context_line":"            self._apply_dict_extend_functions("}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_daaac6d3","line":822,"updated":"2014-11-10 19:15:09.000000000","message":"no new line needed here","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":819,"context_line":"               \u0027shared\u0027: network[\u0027shared\u0027],"},{"line_number":820,"context_line":"               \u0027subnets\u0027: [subnet[\u0027id\u0027]"},{"line_number":821,"context_line":"                           for subnet in network[\u0027subnets\u0027]]}"},{"line_number":822,"context_line":""},{"line_number":823,"context_line":"        # Call auxiliary extend functions, if any"},{"line_number":824,"context_line":"        if process_extensions:"},{"line_number":825,"context_line":"            self._apply_dict_extend_functions("}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_d9e2b99e","line":822,"in_reply_to":"5a890539_daaac6d3","updated":"2014-11-11 17:41:07.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":851,"context_line":"        self._apply_dict_extend_functions(attributes.SUBNETS, res, subnet)"},{"line_number":852,"context_line":"        return self._fields(res, fields)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"    def _make_port_dict(self, port, fields\u003dNone, process_extensions\u003dTrue):"},{"line_number":855,"context_line":"        res \u003d {\"id\": port[\"id\"],"},{"line_number":856,"context_line":"               \u0027name\u0027: port[\u0027name\u0027],"},{"line_number":857,"context_line":"               \"network_id\": port[\"network_id\"],"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_1aac4eed","line":854,"updated":"2014-11-10 19:15:09.000000000","message":"unneeded change","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":851,"context_line":"        self._apply_dict_extend_functions(attributes.SUBNETS, res, subnet)"},{"line_number":852,"context_line":"        return self._fields(res, fields)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"    def _make_port_dict(self, port, fields\u003dNone, process_extensions\u003dTrue):"},{"line_number":855,"context_line":"        res \u003d {\"id\": port[\"id\"],"},{"line_number":856,"context_line":"               \u0027name\u0027: port[\u0027name\u0027],"},{"line_number":857,"context_line":"               \"network_id\": port[\"network_id\"],"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_19f4415a","line":854,"in_reply_to":"5a890539_1aac4eed","updated":"2014-11-11 17:41:07.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":965,"context_line":"                                    limit\u003dlimit,"},{"line_number":966,"context_line":"                                    marker_obj\u003dmarker_obj,"},{"line_number":967,"context_line":"                                    page_reverse\u003dpage_reverse)"},{"line_number":968,"context_line":"        return nets"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"    def get_networks_count(self, context, filters\u003dNone):"},{"line_number":971,"context_line":"        return self._get_collection_count(context, models_v2.Network,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_3ab90a2f","line":968,"updated":"2014-11-10 19:15:09.000000000","message":"why is this change needed?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":965,"context_line":"                                    limit\u003dlimit,"},{"line_number":966,"context_line":"                                    marker_obj\u003dmarker_obj,"},{"line_number":967,"context_line":"                                    page_reverse\u003dpage_reverse)"},{"line_number":968,"context_line":"        return nets"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"    def get_networks_count(self, context, filters\u003dNone):"},{"line_number":971,"context_line":"        return self._get_collection_count(context, models_v2.Network,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_59eec989","line":968,"in_reply_to":"5a890539_3ab90a2f","updated":"2014-11-11 17:41:07.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"        The change however will not be realized until the client renew the"},{"line_number":1164,"context_line":"        dns lease or we support gratuitous DHCP offers"},{"line_number":1165,"context_line":"        \"\"\""},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":"        s \u003d subnet[\u0027subnet\u0027]"},{"line_number":1168,"context_line":"        changed_host_routes \u003d False"},{"line_number":1169,"context_line":"        changed_dns \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_7a82b253","line":1166,"updated":"2014-11-10 19:15:09.000000000","message":"change not needed","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"        The change however will not be realized until the client renew the"},{"line_number":1164,"context_line":"        dns lease or we support gratuitous DHCP offers"},{"line_number":1165,"context_line":"        \"\"\""},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":"        s \u003d subnet[\u0027subnet\u0027]"},{"line_number":1168,"context_line":"        changed_host_routes \u003d False"},{"line_number":1169,"context_line":"        changed_dns \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_99ff5134","line":1166,"in_reply_to":"5a890539_7a82b253","updated":"2014-11-11 17:41:07.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":1471,"context_line":"                    raise n_exc.DeviceIDNotOwnedByTenant(device_id\u003ddevice_id)"},{"line_number":1472,"context_line":""},{"line_number":1473,"context_line":""},{"line_number":1474,"context_line":"class NeutronIPAMPlugin(NeutronCorePluginV2):"},{"line_number":1475,"context_line":"    @property"},{"line_number":1476,"context_line":"    def ipam(self):"},{"line_number":1477,"context_line":"        return manager.NeutronManager.get_ipam()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_3a03cab9","line":1474,"updated":"2014-11-10 19:15:09.000000000","message":"No need to create a new plugin, there\u0027s agreement in making ipam pluggable, see the design summit etherpad https://etherpad.openstack.org/p/neutron-ipam\nAlso please file a blueprint for this kind of change.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":1471,"context_line":"                    raise n_exc.DeviceIDNotOwnedByTenant(device_id\u003ddevice_id)"},{"line_number":1472,"context_line":""},{"line_number":1473,"context_line":""},{"line_number":1474,"context_line":"class NeutronIPAMPlugin(NeutronCorePluginV2):"},{"line_number":1475,"context_line":"    @property"},{"line_number":1476,"context_line":"    def ipam(self):"},{"line_number":1477,"context_line":"        return manager.NeutronManager.get_ipam()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_f9bcd56e","line":1474,"in_reply_to":"5a890539_3a03cab9","updated":"2014-11-11 17:41:07.000000000","message":"Yes, this will enable it to be much cleaner. Blueprint is filed at https://blueprints.launchpad.net/neutron/+spec/neutron-ipam and a spec submitted here https://review.openstack.org/#/c/97967/","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":1473,"context_line":""},{"line_number":1474,"context_line":"class NeutronIPAMPlugin(NeutronCorePluginV2):"},{"line_number":1475,"context_line":"    @property"},{"line_number":1476,"context_line":"    def ipam(self):"},{"line_number":1477,"context_line":"        return manager.NeutronManager.get_ipam()"},{"line_number":1478,"context_line":""},{"line_number":1479,"context_line":"    def _update_ips_for_port(self, context, network_id, port_id, original_ips,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_d4e2829e","line":1476,"updated":"2014-10-31 22:18:18.000000000","message":"the name is not obvious. get_ipam_manager() maybe?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"82f28bfc4ae172d7103909309a34a6d5aca41d43","unresolved":false,"context_lines":[{"line_number":1473,"context_line":""},{"line_number":1474,"context_line":"class NeutronIPAMPlugin(NeutronCorePluginV2):"},{"line_number":1475,"context_line":"    @property"},{"line_number":1476,"context_line":"    def ipam(self):"},{"line_number":1477,"context_line":"        return manager.NeutronManager.get_ipam()"},{"line_number":1478,"context_line":""},{"line_number":1479,"context_line":"    def _update_ips_for_port(self, context, network_id, port_id, original_ips,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_9b8497d5","line":1476,"in_reply_to":"7a8c0949_d4e2829e","updated":"2014-11-04 08:07:48.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":1476,"context_line":"    def ipam(self):"},{"line_number":1477,"context_line":"        return manager.NeutronManager.get_ipam()"},{"line_number":1478,"context_line":""},{"line_number":1479,"context_line":"    def _update_ips_for_port(self, context, network_id, port_id, original_ips,"},{"line_number":1480,"context_line":"                             new_ips):"},{"line_number":1481,"context_line":"        \"\"\"Add or remove IPs from the port.\"\"\""},{"line_number":1482,"context_line":"        ips \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_f4ee9e8a","line":1479,"updated":"2014-10-31 22:18:18.000000000","message":"if you intend to make those methods a part of IPAM driver API, then they should be at least not named with leading _. All in all, the API looks very hacky. I think we should start from brushing it up in spec.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"82f28bfc4ae172d7103909309a34a6d5aca41d43","unresolved":false,"context_lines":[{"line_number":1476,"context_line":"    def ipam(self):"},{"line_number":1477,"context_line":"        return manager.NeutronManager.get_ipam()"},{"line_number":1478,"context_line":""},{"line_number":1479,"context_line":"    def _update_ips_for_port(self, context, network_id, port_id, original_ips,"},{"line_number":1480,"context_line":"                             new_ips):"},{"line_number":1481,"context_line":"        \"\"\"Add or remove IPs from the port.\"\"\""},{"line_number":1482,"context_line":"        ips \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_5b7a2ff2","line":1479,"in_reply_to":"7a8c0949_f4ee9e8a","updated":"2014-11-04 08:07:48.000000000","message":"Thanks for taking the time to review. The issue here is that this is an existing method - it is not ideally the API we would want. We had to override this method, as have other plugins. A more complete change would require modifications to other plugins as well, which we are trying to avoid.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}],"neutron/db/infoblox/infoblox_db.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"171c3fb7d78a2b990004ffde5373b4a7e735381d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    if member:"},{"line_number":44,"context_line":"        return member.member_name"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    return None"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def attach_member(context, map_id, member_name, member_type):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_a06cc99d","line":46,"updated":"2014-11-02 17:49:19.000000000","message":"by default None is returned. you do not need this","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"5999179bd6a17750b86562e142295f1cb8b76112","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    if member:"},{"line_number":44,"context_line":"        return member.member_name"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    return None"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def attach_member(context, map_id, member_name, member_type):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_fbd67bc2","line":46,"in_reply_to":"7a8c0949_a06cc99d","updated":"2014-11-04 08:13:23.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    LOG.debug(_(\"Delete allocated IP %(ip_address)s \""},{"line_number":79,"context_line":"                \"(%(network_id)s/%(subnet_id)s)\"), locals())"},{"line_number":80,"context_line":"    alloc_qry \u003d context.session.query("},{"line_number":81,"context_line":"        models_v2.IPAllocation).with_lockmode(\u0027update\u0027)"},{"line_number":82,"context_line":"    alloc_qry.filter_by(network_id\u003dnetwork_id,"},{"line_number":83,"context_line":"                        ip_address\u003dip_address,"},{"line_number":84,"context_line":"                        subnet_id\u003dsubnet_id).delete()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_13519962","line":81,"updated":"2014-11-10 19:15:09.000000000","message":"if are deleting a row you don\u0027t need to explicitly lock the table. Remove line 80 and 81.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    LOG.debug(_(\"Delete allocated IP %(ip_address)s \""},{"line_number":79,"context_line":"                \"(%(network_id)s/%(subnet_id)s)\"), locals())"},{"line_number":80,"context_line":"    alloc_qry \u003d context.session.query("},{"line_number":81,"context_line":"        models_v2.IPAllocation).with_lockmode(\u0027update\u0027)"},{"line_number":82,"context_line":"    alloc_qry.filter_by(network_id\u003dnetwork_id,"},{"line_number":83,"context_line":"                        ip_address\u003dip_address,"},{"line_number":84,"context_line":"                        subnet_id\u003dsubnet_id).delete()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_797705d5","line":81,"in_reply_to":"5a890539_13519962","updated":"2014-11-11 17:41:07.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def get_network_name(context, subnet):"},{"line_number":93,"context_line":"    q \u003d context.session.query(models_v2.Network)"},{"line_number":94,"context_line":"    LOG.error(subnet)"},{"line_number":95,"context_line":"    net_name \u003d q.join(models_v2.Subnet).filter("},{"line_number":96,"context_line":"        models_v2.Subnet.id \u003d\u003d subnet[\u0027id\u0027]).first()"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_534b21b0","line":94,"updated":"2014-11-10 19:15:09.000000000","message":"why?","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"def get_network_name(context, subnet):"},{"line_number":93,"context_line":"    q \u003d context.session.query(models_v2.Network)"},{"line_number":94,"context_line":"    LOG.error(subnet)"},{"line_number":95,"context_line":"    net_name \u003d q.join(models_v2.Subnet).filter("},{"line_number":96,"context_line":"        models_v2.Subnet.id \u003d\u003d subnet[\u0027id\u0027]).first()"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_d9a7194e","line":94,"in_reply_to":"5a890539_534b21b0","updated":"2014-11-11 17:41:07.000000000","message":"Looks like leftover debug. Will remove it.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"171c3fb7d78a2b990004ffde5373b4a7e735381d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                             \u003d\u003d l3_db.FloatingIP.fixed_port_id)"},{"line_number":108,"context_line":"        result \u003d query.one()"},{"line_number":109,"context_line":"    except exc.NoResultFound:"},{"line_number":110,"context_line":"        return None"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    return result.Port.device_id"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_c069d58c","line":110,"updated":"2014-11-02 17:49:19.000000000","message":"ditto","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"5999179bd6a17750b86562e142295f1cb8b76112","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                             \u003d\u003d l3_db.FloatingIP.fixed_port_id)"},{"line_number":108,"context_line":"        result \u003d query.one()"},{"line_number":109,"context_line":"    except exc.NoResultFound:"},{"line_number":110,"context_line":"        return None"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    return result.Port.device_id"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_1be6e7b4","line":110,"in_reply_to":"7a8c0949_c069d58c","updated":"2014-11-04 08:13:23.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"171c3fb7d78a2b990004ffde5373b4a7e735381d","unresolved":false,"context_lines":[{"line_number":120,"context_line":"                 .first())"},{"line_number":121,"context_line":"    if dhcp_port:"},{"line_number":122,"context_line":"        return dhcp_port.ip_address"},{"line_number":123,"context_line":"    return None"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"def get_network_view(context, network_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_e005f1c2","line":123,"updated":"2014-11-02 17:49:19.000000000","message":"ditto","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"5999179bd6a17750b86562e142295f1cb8b76112","unresolved":false,"context_lines":[{"line_number":120,"context_line":"                 .first())"},{"line_number":121,"context_line":"    if dhcp_port:"},{"line_number":122,"context_line":"        return dhcp_port.ip_address"},{"line_number":123,"context_line":"    return None"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"def get_network_view(context, network_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_5bef8f87","line":123,"in_reply_to":"7a8c0949_e005f1c2","updated":"2014-11-04 08:13:23.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"171c3fb7d78a2b990004ffde5373b4a7e735381d","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    try:"},{"line_number":129,"context_line":"        net_view \u003d query.filter_by(network_id\u003dnetwork_id).one()"},{"line_number":130,"context_line":"    except exc.NoResultFound:"},{"line_number":131,"context_line":"        return None"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    return net_view.network_view"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_000bddd6","line":131,"updated":"2014-11-02 17:49:19.000000000","message":"ditto","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"5999179bd6a17750b86562e142295f1cb8b76112","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    try:"},{"line_number":129,"context_line":"        net_view \u003d query.filter_by(network_id\u003dnetwork_id).one()"},{"line_number":130,"context_line":"    except exc.NoResultFound:"},{"line_number":131,"context_line":"        return None"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    return net_view.network_view"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_7bf28b70","line":131,"in_reply_to":"7a8c0949_000bddd6","updated":"2014-11-04 08:13:23.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"171c3fb7d78a2b990004ffde5373b4a7e735381d","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                   \u0027physical_network\u0027: None}"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        if self.plugin \u003d\u003d \u0027neutron.plugins.ml2.plugin.Ml2Plugin\u0027:"},{"line_number":166,"context_line":"            from neutron.plugins.ml2 import db as ml2_db"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            segments \u003d ml2_db.get_network_segments(session, network_id)[0]"},{"line_number":169,"context_line":"        elif self.plugin \u003d\u003d \u0027neutron.plugins.openvswitch.\u0027 \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_2010d900","line":166,"updated":"2014-11-02 17:49:19.000000000","message":"this does not feel right. i am not sure what you are trying to do here, but this should be plugable","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}],"neutron/db/infoblox/models.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"171c3fb7d78a2b990004ffde5373b4a7e735381d","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 (c) 2012 OpenStack Foundation."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_4015e5ef","line":1,"updated":"2014-11-02 17:49:19.000000000","message":"this should not be here - we no longer need this","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"9b3b00511f416fbd72c354682e67a92d87cc8f42","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    network_id \u003d sa.Column(sa.String(36), sa.ForeignKey(\u0027networks.id\u0027,"},{"line_number":32,"context_line":"                                                        ondelete\u003d\"CASCADE\"))"},{"line_number":33,"context_line":"    server_ip \u003d sa.Column(sa.String(40))"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class InfobloxDHCPMember(model_base.BASEV2, models_v2.HasId):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_89135f5b","line":33,"updated":"2014-11-05 10:52:54.000000000","message":"These new models require new migrations.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}],"neutron/db/l3_db.py":[{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":757,"context_line":"            fip[\u0027tenant_id\u0027] \u003d floatingip_db[\u0027tenant_id\u0027]"},{"line_number":758,"context_line":"            fip[\u0027id\u0027] \u003d id"},{"line_number":759,"context_line":"            fip_port_id \u003d floatingip_db[\u0027floating_port_id\u0027]"},{"line_number":760,"context_line":"            port \u003d self._core_plugin.get_port(context.elevated(),"},{"line_number":761,"context_line":"                                              fip_port_id)"},{"line_number":762,"context_line":"            self._update_fip_assoc(context, fip, floatingip_db, port)"},{"line_number":763,"context_line":"            ipam \u003d manager.NeutronManager.get_ipam()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_539081ec","line":760,"updated":"2014-11-10 19:15:09.000000000","message":"line 760, 761, 762 introduce a change that is not needed","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":757,"context_line":"            fip[\u0027tenant_id\u0027] \u003d floatingip_db[\u0027tenant_id\u0027]"},{"line_number":758,"context_line":"            fip[\u0027id\u0027] \u003d id"},{"line_number":759,"context_line":"            fip_port_id \u003d floatingip_db[\u0027floating_port_id\u0027]"},{"line_number":760,"context_line":"            port \u003d self._core_plugin.get_port(context.elevated(),"},{"line_number":761,"context_line":"                                              fip_port_id)"},{"line_number":762,"context_line":"            self._update_fip_assoc(context, fip, floatingip_db, port)"},{"line_number":763,"context_line":"            ipam \u003d manager.NeutronManager.get_ipam()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_795e2547","line":760,"in_reply_to":"5a890539_539081ec","updated":"2014-11-11 17:41:07.000000000","message":"Done","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}],"neutron/ipam/drivers/neutron_db.py":[{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"b601fe5aef69b56cdca0149729158b6cbe30c503","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 OpenStack Foundation."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_93366902","line":1,"updated":"2014-11-10 19:15:09.000000000","message":"This needs to be re-worked, when ipam will be pluggable you won\u0027t need this file I think and anyway I don\u0027t understand why you moved the code to this new class instead of leaving it in db_base_plugin","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"0366e3e12469333f6e2547cdb954e025e7827934","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 OpenStack Foundation."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_790c6543","line":1,"in_reply_to":"5a890539_93366902","updated":"2014-11-11 17:41:07.000000000","message":"Agreed. Some code will be refactor when going to the pluggable interface, but that will all be subject to the defined IPAM interface. Will cleanup in revised submission based on updated spec.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}],"requirements.txt":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"40dec452643e76b45c018fd413f7412d285c1910","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"python-novaclient\u003e\u003d2.18.0"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"taskflow"}],"source_content_type":"text/plain","patch_set":1,"id":"7a8c0949_d4f9a24e","line":36,"updated":"2014-10-31 22:18:18.000000000","message":"I don\u0027t follow where the dependency came from.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"5999179bd6a17750b86562e142295f1cb8b76112","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"python-novaclient\u003e\u003d2.18.0"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"taskflow"}],"source_content_type":"text/plain","patch_set":1,"id":"7a8c0949_9be9f782","line":36,"in_reply_to":"7a8c0949_d4f9a24e","updated":"2014-11-04 08:13:23.000000000","message":"It is for our plugin, not needed here. Will remove.","commit_id":"62ad8f488ba13b4aa4251a805c6ea8689b837767"}]}
