)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"afe71bcaebc848eedc82e9c52aeca23a9c5896e7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Mohit Malik \u003cmohit.malik@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-09-13 10:44:32 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] Integration of OVO for Ipam"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I8e69102180d5d3803b79a79778f7a18155e27fb4"},{"line_number":10,"context_line":"Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a8ec9b2_52d804f0","line":7,"updated":"2016-09-13 18:55:27.000000000","message":"Remember to add a description in the commit message","commit_id":"38c11c875318df2635308c1291147db9b334fac6"}],"neutron/ipam/drivers/neutrondb_ipam/db_api.py":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"afe71bcaebc848eedc82e9c52aeca23a9c5896e7","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        :param pool_end: string expressing the end of the pool"},{"line_number":86,"context_line":"        :return: the newly created pool object."},{"line_number":87,"context_line":"        \"\"\""},{"line_number":88,"context_line":"        ip_pool_obj \u003d ipam_objs.IpamAllocationPool("},{"line_number":89,"context_line":"            context,"},{"line_number":90,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":91,"context_line":"            first_ip\u003dpool_start,"},{"line_number":92,"context_line":"            last_ip\u003dpool_end)"},{"line_number":93,"context_line":"        ip_pool_obj.create()"},{"line_number":94,"context_line":"        return ip_pool_obj"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_d2cb341d","line":92,"range":{"start_line":88,"start_character":0,"end_line":92,"end_character":29},"updated":"2016-09-13 18:55:27.000000000","message":"This change is missing the creation of an availability range.\n\n        ip_pool_range \u003d ipam_objs.IpamAvailabilityRange(context,\n                                                        first_ip\u003dpool_start,\n                                                        last_ip\u003dpool_end)\n        ip_pool_obj \u003d ipam_objs.IpamAllocationPool(\n            context,\n            ipam_subnet_id\u003dself._ipam_subnet_id,\n            first_ip\u003dpool_start,\n            last_ip\u003dpool_end,\n            available_ranges\u003d[ip_pool_range])","commit_id":"38c11c875318df2635308c1291147db9b334fac6"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"785143fe50fcc8e7a0db7149537fadc862935b6e","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        :param pool_end: string expressing the end of the pool"},{"line_number":86,"context_line":"        :return: the newly created pool object."},{"line_number":87,"context_line":"        \"\"\""},{"line_number":88,"context_line":"        ip_pool_obj \u003d ipam_objs.IpamAllocationPool("},{"line_number":89,"context_line":"            context,"},{"line_number":90,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":91,"context_line":"            first_ip\u003dpool_start,"},{"line_number":92,"context_line":"            last_ip\u003dpool_end)"},{"line_number":93,"context_line":"        ip_pool_obj.create()"},{"line_number":94,"context_line":"        return ip_pool_obj"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_d81d7974","line":92,"range":{"start_line":88,"start_character":0,"end_line":92,"end_character":29},"in_reply_to":"7a8ec9b2_d2cb341d","updated":"2016-09-21 17:38:13.000000000","message":"Ipa amd Ipam Range was removed.","commit_id":"38c11c875318df2635308c1291147db9b334fac6"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"750eb5675487d564128c0e7c60d63632b7255f7c","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        \"\"\"Return pools for the current subnet.\"\"\""},{"line_number":108,"context_line":"        return ipam_objs.IpamAllocationPool.get_objects("},{"line_number":109,"context_line":"            context,"},{"line_number":110,"context_line":"            _pager\u003dNone,"},{"line_number":111,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _range_query(self, context):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_37ea1810","line":110,"range":{"start_line":110,"start_character":12,"end_line":110,"end_character":24},"updated":"2016-09-15 13:21:36.000000000","message":"Isn\u0027t the default value of _pager none?","commit_id":"38c11c875318df2635308c1291147db9b334fac6"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"785143fe50fcc8e7a0db7149537fadc862935b6e","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        \"\"\"Return pools for the current subnet.\"\"\""},{"line_number":108,"context_line":"        return ipam_objs.IpamAllocationPool.get_objects("},{"line_number":109,"context_line":"            context,"},{"line_number":110,"context_line":"            _pager\u003dNone,"},{"line_number":111,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _range_query(self, context):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_380d7d3e","line":110,"range":{"start_line":110,"start_character":12,"end_line":110,"end_character":24},"in_reply_to":"7a8ec9b2_37ea1810","updated":"2016-09-21 17:38:13.000000000","message":"Will fix. Thanks","commit_id":"38c11c875318df2635308c1291147db9b334fac6"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"3bc7e0f211e3165c54501bc6c2bbd8b1be802765","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def load_by_neutron_subnet_id(cls, context, neutron_subnet_id):"},{"line_number":27,"context_line":"        return next((i for i in ipam_objs.IpamSubnet.get_objects("},{"line_number":28,"context_line":"            context, neutron_subnet_id\u003dneutron_subnet_id)), None)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def __init__(self, ipam_subnet_id, neutron_subnet_id):"},{"line_number":31,"context_line":"        self._ipam_subnet_id \u003d ipam_subnet_id"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa6399be_f75577fa","line":28,"range":{"start_line":27,"start_character":15,"end_line":28,"end_character":65},"updated":"2016-10-17 17:31:21.000000000","message":"This change makes sense when you know that you want the first result of the query, but I\u0027m not sure if this is clear for someone who don\u0027t have that context.  Can you at least add a comment on this line.","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"d6908e143f27cf124037d6bb37e40e52a0f0d6b4","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def load_by_neutron_subnet_id(cls, context, neutron_subnet_id):"},{"line_number":27,"context_line":"        return next((i for i in ipam_objs.IpamSubnet.get_objects("},{"line_number":28,"context_line":"            context, neutron_subnet_id\u003dneutron_subnet_id)), None)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def __init__(self, ipam_subnet_id, neutron_subnet_id):"},{"line_number":31,"context_line":"        self._ipam_subnet_id \u003d ipam_subnet_id"}],"source_content_type":"text/x-python","patch_set":16,"id":"9a629dbe_5c9aad15","line":28,"range":{"start_line":27,"start_character":15,"end_line":28,"end_character":65},"in_reply_to":"fa6399be_f75577fa","updated":"2016-11-07 21:30:46.000000000","message":"Done","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"3bc7e0f211e3165c54501bc6c2bbd8b1be802765","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        if not self._ipam_subnet_id:"},{"line_number":48,"context_line":"            self._ipam_subnet_id \u003d uuidutils.generate_uuid()"},{"line_number":49,"context_line":"        ipam_subnet_obj \u003d ipam_objs.IpamSubnet("},{"line_number":50,"context_line":"            context,"},{"line_number":51,"context_line":"            id\u003dself._ipam_subnet_id,"},{"line_number":52,"context_line":"            neutron_subnet_id\u003dself._neutron_subnet_id)"},{"line_number":53,"context_line":"        ipam_subnet_obj.create()"},{"line_number":54,"context_line":"        return self._ipam_subnet_id"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa6399be_5792a3a0","line":53,"range":{"start_line":49,"start_character":0,"end_line":53,"end_character":32},"updated":"2016-10-17 17:31:21.000000000","message":"You don\u0027t have to keep a reference for this object, basically you can do it like following:\n\n        ipam_objs.IpamSubnet(context, id\u003dself._ipam_subnet_id,\n            neutron_subnet_id\u003dself._neutron_subnet_id).create()","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"d6908e143f27cf124037d6bb37e40e52a0f0d6b4","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        if not self._ipam_subnet_id:"},{"line_number":48,"context_line":"            self._ipam_subnet_id \u003d uuidutils.generate_uuid()"},{"line_number":49,"context_line":"        ipam_subnet_obj \u003d ipam_objs.IpamSubnet("},{"line_number":50,"context_line":"            context,"},{"line_number":51,"context_line":"            id\u003dself._ipam_subnet_id,"},{"line_number":52,"context_line":"            neutron_subnet_id\u003dself._neutron_subnet_id)"},{"line_number":53,"context_line":"        ipam_subnet_obj.create()"},{"line_number":54,"context_line":"        return self._ipam_subnet_id"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":16,"id":"9a629dbe_9ca44558","line":53,"range":{"start_line":49,"start_character":0,"end_line":53,"end_character":32},"in_reply_to":"fa6399be_5792a3a0","updated":"2016-11-07 21:30:46.000000000","message":"Done","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"3bc7e0f211e3165c54501bc6c2bbd8b1be802765","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            first_ip\u003dpool_start,"},{"line_number":86,"context_line":"            last_ip\u003dpool_end)"},{"line_number":87,"context_line":"        ip_pool_obj.create()"},{"line_number":88,"context_line":"        return ip_pool_obj"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def delete_allocation_pools(self, context):"},{"line_number":91,"context_line":"        \"\"\"Remove all allocation pools for the current subnet."}],"source_content_type":"text/x-python","patch_set":16,"id":"fa6399be_17e10bff","line":88,"range":{"start_line":88,"start_character":15,"end_line":88,"end_character":26},"updated":"2016-10-17 17:31:21.000000000","message":"the callers for this method are not using the returned value, so I\u0027m not sure if some other place is expecting a db model.  I\u0027m not sure if you should use this or change it to:\n\n    return ip_pool_obj.db_obj","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"d6908e143f27cf124037d6bb37e40e52a0f0d6b4","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            first_ip\u003dpool_start,"},{"line_number":86,"context_line":"            last_ip\u003dpool_end)"},{"line_number":87,"context_line":"        ip_pool_obj.create()"},{"line_number":88,"context_line":"        return ip_pool_obj"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def delete_allocation_pools(self, context):"},{"line_number":91,"context_line":"        \"\"\"Remove all allocation pools for the current subnet."}],"source_content_type":"text/x-python","patch_set":16,"id":"9a629dbe_9cbb6572","line":88,"range":{"start_line":88,"start_character":15,"end_line":88,"end_character":26},"in_reply_to":"fa6399be_17e10bff","updated":"2016-11-07 21:30:46.000000000","message":"Good Point. Not sure","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"3bc7e0f211e3165c54501bc6c2bbd8b1be802765","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        \"\"\"Return pools for the current subnet.\"\"\""},{"line_number":103,"context_line":"        return ipam_objs.IpamAllocationPool.get_objects("},{"line_number":104,"context_line":"            context,"},{"line_number":105,"context_line":"            _pager\u003dNone,"},{"line_number":106,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def check_unique_allocation(self, context, ip_address):"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa6399be_d7bdd3d8","line":105,"range":{"start_line":105,"start_character":12,"end_line":105,"end_character":24},"updated":"2016-10-17 17:31:21.000000000","message":"None is the default value, this line is not required.","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"d6908e143f27cf124037d6bb37e40e52a0f0d6b4","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        \"\"\"Return pools for the current subnet.\"\"\""},{"line_number":103,"context_line":"        return ipam_objs.IpamAllocationPool.get_objects("},{"line_number":104,"context_line":"            context,"},{"line_number":105,"context_line":"            _pager\u003dNone,"},{"line_number":106,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def check_unique_allocation(self, context, ip_address):"}],"source_content_type":"text/x-python","patch_set":16,"id":"9a629dbe_dcaddd32","line":105,"range":{"start_line":105,"start_character":12,"end_line":105,"end_character":24},"in_reply_to":"fa6399be_d7bdd3d8","updated":"2016-11-07 21:30:46.000000000","message":"Fixed","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"3bc7e0f211e3165c54501bc6c2bbd8b1be802765","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":113,"context_line":"            status\u003d\u0027ALLOCATED\u0027,"},{"line_number":114,"context_line":"            ip_address\u003dip_address)"},{"line_number":115,"context_line":"        if iprequest_obj:"},{"line_number":116,"context_line":"            return False"},{"line_number":117,"context_line":"        return True"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def list_allocations(self, context, status\u003d\u0027ALLOCATED\u0027):"},{"line_number":120,"context_line":"        \"\"\"Return current allocations for the subnet."}],"source_content_type":"text/x-python","patch_set":16,"id":"fa6399be_7775e730","line":117,"range":{"start_line":115,"start_character":8,"end_line":117,"end_character":19},"updated":"2016-10-17 17:31:21.000000000","message":"what about returning based on iprequest_obj value like:\n\n    return bool(iprequest_obj)","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"d6908e143f27cf124037d6bb37e40e52a0f0d6b4","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":113,"context_line":"            status\u003d\u0027ALLOCATED\u0027,"},{"line_number":114,"context_line":"            ip_address\u003dip_address)"},{"line_number":115,"context_line":"        if iprequest_obj:"},{"line_number":116,"context_line":"            return False"},{"line_number":117,"context_line":"        return True"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def list_allocations(self, context, status\u003d\u0027ALLOCATED\u0027):"},{"line_number":120,"context_line":"        \"\"\"Return current allocations for the subnet."}],"source_content_type":"text/x-python","patch_set":16,"id":"9a629dbe_1ca8351f","line":117,"range":{"start_line":115,"start_character":8,"end_line":117,"end_character":19},"in_reply_to":"fa6399be_7775e730","updated":"2016-11-07 21:30:46.000000000","message":"done","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"3bc7e0f211e3165c54501bc6c2bbd8b1be802765","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        :param ip_address: the IP address to allocate"},{"line_number":138,"context_line":"        :param status: IP allocation status"},{"line_number":139,"context_line":"        \"\"\""},{"line_number":140,"context_line":"        ip_request_obj \u003d ipam_objs.IpamAllocation("},{"line_number":141,"context_line":"            context,"},{"line_number":142,"context_line":"            ip_address\u003dip_address,"},{"line_number":143,"context_line":"            status\u003dstatus,"},{"line_number":144,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":145,"context_line":"        ip_request_obj.create()"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def delete_allocation(self, context, ip_address):"},{"line_number":148,"context_line":"        \"\"\"Remove an IP allocation for this subnet."}],"source_content_type":"text/x-python","patch_set":16,"id":"fa6399be_97c0bb2c","line":145,"range":{"start_line":140,"start_character":8,"end_line":145,"end_character":31},"updated":"2016-10-17 17:31:21.000000000","message":"ditto: line 49","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"d6908e143f27cf124037d6bb37e40e52a0f0d6b4","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        :param ip_address: the IP address to allocate"},{"line_number":138,"context_line":"        :param status: IP allocation status"},{"line_number":139,"context_line":"        \"\"\""},{"line_number":140,"context_line":"        ip_request_obj \u003d ipam_objs.IpamAllocation("},{"line_number":141,"context_line":"            context,"},{"line_number":142,"context_line":"            ip_address\u003dip_address,"},{"line_number":143,"context_line":"            status\u003dstatus,"},{"line_number":144,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":145,"context_line":"        ip_request_obj.create()"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def delete_allocation(self, context, ip_address):"},{"line_number":148,"context_line":"        \"\"\"Remove an IP allocation for this subnet."}],"source_content_type":"text/x-python","patch_set":16,"id":"9a629dbe_5c68edf5","line":145,"range":{"start_line":140,"start_character":8,"end_line":145,"end_character":31},"in_reply_to":"fa6399be_97c0bb2c","updated":"2016-11-07 21:30:46.000000000","message":"done","commit_id":"5e119c73b878327e90346b6b111443a05d6a2c11"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"ae5a5f819f09a3b9e575aba86c7f29cc98017b90","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \"\"\""},{"line_number":48,"context_line":"        if not self._ipam_subnet_id:"},{"line_number":49,"context_line":"            self._ipam_subnet_id \u003d uuidutils.generate_uuid()"},{"line_number":50,"context_line":"        ipam_objs.IpamSubnet(context, id\u003dself._ipam_subnet_id,"},{"line_number":51,"context_line":"                             neutron_subnet_id\u003dself._neutron_subnet_id"},{"line_number":52,"context_line":"                             ).create()"},{"line_number":53,"context_line":"        return self._ipam_subnet_id"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_11417fa9","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":39},"updated":"2016-11-18 04:26:35.000000000","message":"can be accommodated in 2 lines\n        ipam_objs.IpamSubnet(context, id\u003dself._ipam_subnet_id,\n            neutron_subnet_id\u003dself._neutron_subnet_id).create()","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"1ea46693b2395e5c70ba674bc7103a16cc44bf4f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \"\"\""},{"line_number":48,"context_line":"        if not self._ipam_subnet_id:"},{"line_number":49,"context_line":"            self._ipam_subnet_id \u003d uuidutils.generate_uuid()"},{"line_number":50,"context_line":"        ipam_objs.IpamSubnet(context, id\u003dself._ipam_subnet_id,"},{"line_number":51,"context_line":"                             neutron_subnet_id\u003dself._neutron_subnet_id"},{"line_number":52,"context_line":"                             ).create()"},{"line_number":53,"context_line":"        return self._ipam_subnet_id"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_b0accf8d","line":52,"range":{"start_line":50,"start_character":0,"end_line":52,"end_character":39},"in_reply_to":"7a77a97e_11417fa9","updated":"2016-11-21 20:44:45.000000000","message":"For that case, it should be like:\n        ipam_objs.IpamSubnet(context, id\u003dself._ipam_subnet_id,\n                             neutron_subnet_id\u003dself._neutron_subnet_id).create()\n\nWhich not fits in 2 lines","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"ae5a5f819f09a3b9e575aba86c7f29cc98017b90","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        :param pool_end: string expressing the end of the pool"},{"line_number":79,"context_line":"        :return: the newly created pool object."},{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        ip_pool_obj \u003d ipam_objs.IpamAllocationPool("},{"line_number":82,"context_line":"            context,"},{"line_number":83,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":84,"context_line":"            first_ip\u003dpool_start,"},{"line_number":85,"context_line":"            last_ip\u003dpool_end)"},{"line_number":86,"context_line":"        ip_pool_obj.create()"},{"line_number":87,"context_line":"        return ip_pool_obj"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def delete_allocation_pools(self, context):"},{"line_number":90,"context_line":"        \"\"\"Remove all allocation pools for the current subnet."}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_514cd7c7","line":87,"range":{"start_line":81,"start_character":0,"end_line":87,"end_character":26},"updated":"2016-11-18 04:26:35.000000000","message":"no need to create ip_bool_obj, it\u0027s being used once\n        return ipam_objs.IpamAllocationPool(context,\n            ipam_subnet_id\u003dself._ipam_subnet_id, first_ip\u003dpool_start,\n            last_ip\u003dpool_end).create()","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"1ea46693b2395e5c70ba674bc7103a16cc44bf4f","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        :param pool_end: string expressing the end of the pool"},{"line_number":79,"context_line":"        :return: the newly created pool object."},{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        ip_pool_obj \u003d ipam_objs.IpamAllocationPool("},{"line_number":82,"context_line":"            context,"},{"line_number":83,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":84,"context_line":"            first_ip\u003dpool_start,"},{"line_number":85,"context_line":"            last_ip\u003dpool_end)"},{"line_number":86,"context_line":"        ip_pool_obj.create()"},{"line_number":87,"context_line":"        return ip_pool_obj"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def delete_allocation_pools(self, context):"},{"line_number":90,"context_line":"        \"\"\"Remove all allocation pools for the current subnet."}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_70cdd785","line":87,"range":{"start_line":81,"start_character":0,"end_line":87,"end_character":26},"in_reply_to":"7a77a97e_514cd7c7","updated":"2016-11-21 20:44:45.000000000","message":"In that case, it\u0027ll return None instead of the newly create pool object.  In the other hand, all the callers of this method are not using the returned object, so we should consider change the signature for this method.","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"ae5a5f819f09a3b9e575aba86c7f29cc98017b90","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        :param context: neutron api request context"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        ip_pool_objs \u003d ipam_objs.IpamAllocationPool.get_objects("},{"line_number":95,"context_line":"            context,"},{"line_number":96,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":97,"context_line":"        for ip_pool_obj in ip_pool_objs:"},{"line_number":98,"context_line":"            ip_pool_obj.delete()"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_11ddffdf","line":96,"range":{"start_line":94,"start_character":0,"end_line":96,"end_character":48},"updated":"2016-11-18 04:26:35.000000000","message":"can fit in 2 lines\n        ip_pool_objs \u003d ipam_objs.IpamAllocationPool.get_objects(\n            context, ipam_subnet_id\u003dself._ipam_subnet_id)","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"1ea46693b2395e5c70ba674bc7103a16cc44bf4f","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        :param context: neutron api request context"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        ip_pool_objs \u003d ipam_objs.IpamAllocationPool.get_objects("},{"line_number":95,"context_line":"            context,"},{"line_number":96,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":97,"context_line":"        for ip_pool_obj in ip_pool_objs:"},{"line_number":98,"context_line":"            ip_pool_obj.delete()"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_40172654","line":96,"range":{"start_line":94,"start_character":0,"end_line":96,"end_character":48},"in_reply_to":"7a77a97e_11ddffdf","updated":"2016-11-21 20:44:45.000000000","message":"Done","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"ae5a5f819f09a3b9e575aba86c7f29cc98017b90","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    def list_pools(self, context):"},{"line_number":101,"context_line":"        \"\"\"Return pools for the current subnet.\"\"\""},{"line_number":102,"context_line":"        return ipam_objs.IpamAllocationPool.get_objects("},{"line_number":103,"context_line":"            context,"},{"line_number":104,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def check_unique_allocation(self, context, ip_address):"},{"line_number":107,"context_line":"        \"\"\"Validate that the IP address on the subnet is not in use.\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_51e3f7a3","line":104,"range":{"start_line":103,"start_character":0,"end_line":104,"end_character":48},"updated":"2016-11-18 04:26:35.000000000","message":"ditto\n        return ipam_objs.IpamAllocationPool.get_objects(\n            context, ipam_subnet_id\u003dself._ipam_subnet_id)","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"1ea46693b2395e5c70ba674bc7103a16cc44bf4f","unresolved":false,"context_lines":[{"line_number":100,"context_line":"    def list_pools(self, context):"},{"line_number":101,"context_line":"        \"\"\"Return pools for the current subnet.\"\"\""},{"line_number":102,"context_line":"        return ipam_objs.IpamAllocationPool.get_objects("},{"line_number":103,"context_line":"            context,"},{"line_number":104,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def check_unique_allocation(self, context, ip_address):"},{"line_number":107,"context_line":"        \"\"\"Validate that the IP address on the subnet is not in use.\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_00060e20","line":104,"range":{"start_line":103,"start_character":0,"end_line":104,"end_character":48},"in_reply_to":"7a77a97e_51e3f7a3","updated":"2016-11-21 20:44:45.000000000","message":"Done","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"61413efed8e55d604c83270552de814b77aee0c1","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def check_unique_allocation(self, context, ip_address):"},{"line_number":107,"context_line":"        \"\"\"Validate that the IP address on the subnet is not in use.\"\"\""},{"line_number":108,"context_line":"        iprequest_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":109,"context_line":"            context,"},{"line_number":110,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":111,"context_line":"            status\u003d\u0027ALLOCATED\u0027,"},{"line_number":112,"context_line":"            ip_address\u003dip_address)"},{"line_number":113,"context_line":"        return not bool(iprequest_obj)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def list_allocations(self, context, status\u003d\u0027ALLOCATED\u0027):"},{"line_number":116,"context_line":"        \"\"\"Return current allocations for the subnet."}],"source_content_type":"text/x-python","patch_set":19,"id":"9a629dbe_9cab6ad6","line":113,"range":{"start_line":108,"start_character":8,"end_line":113,"end_character":38},"updated":"2016-11-14 13:50:38.000000000","message":"This can take advantage of patch: \nhttps://review.openstack.org/#/c/395748\n\nOr do the count() here, instead of get_object().","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"ae5a5f819f09a3b9e575aba86c7f29cc98017b90","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def check_unique_allocation(self, context, ip_address):"},{"line_number":107,"context_line":"        \"\"\"Validate that the IP address on the subnet is not in use.\"\"\""},{"line_number":108,"context_line":"        iprequest_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":109,"context_line":"            context,"},{"line_number":110,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":111,"context_line":"            status\u003d\u0027ALLOCATED\u0027,"},{"line_number":112,"context_line":"            ip_address\u003dip_address)"},{"line_number":113,"context_line":"        return not bool(iprequest_obj)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def list_allocations(self, context, status\u003d\u0027ALLOCATED\u0027):"},{"line_number":116,"context_line":"        \"\"\"Return current allocations for the subnet."}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_b1f44b5b","line":113,"range":{"start_line":108,"start_character":8,"end_line":113,"end_character":38},"in_reply_to":"7a77a97e_5f772702","updated":"2016-11-18 04:26:35.000000000","message":"+1","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":22774,"name":"Shashank Kumar Shankar","email":"shashank.kumar.shankar@intel.com","username":"skshankar"},"change_message_id":"bdeed00138892585a3675872516c96a8ce28e939","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def check_unique_allocation(self, context, ip_address):"},{"line_number":107,"context_line":"        \"\"\"Validate that the IP address on the subnet is not in use.\"\"\""},{"line_number":108,"context_line":"        iprequest_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":109,"context_line":"            context,"},{"line_number":110,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":111,"context_line":"            status\u003d\u0027ALLOCATED\u0027,"},{"line_number":112,"context_line":"            ip_address\u003dip_address)"},{"line_number":113,"context_line":"        return not bool(iprequest_obj)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def list_allocations(self, context, status\u003d\u0027ALLOCATED\u0027):"},{"line_number":116,"context_line":"        \"\"\"Return current allocations for the subnet."}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_5f772702","line":113,"range":{"start_line":108,"start_character":8,"end_line":113,"end_character":38},"in_reply_to":"9a629dbe_9cab6ad6","updated":"2016-11-14 19:34:45.000000000","message":"+1","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"1ea46693b2395e5c70ba674bc7103a16cc44bf4f","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def check_unique_allocation(self, context, ip_address):"},{"line_number":107,"context_line":"        \"\"\"Validate that the IP address on the subnet is not in use.\"\"\""},{"line_number":108,"context_line":"        iprequest_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":109,"context_line":"            context,"},{"line_number":110,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":111,"context_line":"            status\u003d\u0027ALLOCATED\u0027,"},{"line_number":112,"context_line":"            ip_address\u003dip_address)"},{"line_number":113,"context_line":"        return not bool(iprequest_obj)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def list_allocations(self, context, status\u003d\u0027ALLOCATED\u0027):"},{"line_number":116,"context_line":"        \"\"\"Return current allocations for the subnet."}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_233154ed","line":113,"range":{"start_line":108,"start_character":8,"end_line":113,"end_character":38},"in_reply_to":"9a629dbe_9cab6ad6","updated":"2016-11-21 20:44:45.000000000","message":"Done","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"ae5a5f819f09a3b9e575aba86c7f29cc98017b90","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            neutron.ipam.drivers.neutrondb_ipam.db_models.IpamAllocation"},{"line_number":122,"context_line":"        \"\"\""},{"line_number":123,"context_line":"        return ipam_objs.IpamAllocation.get_objects("},{"line_number":124,"context_line":"            context,"},{"line_number":125,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":126,"context_line":"            status\u003dstatus)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def create_allocation(self, context, ip_address,"},{"line_number":129,"context_line":"                          status\u003d\u0027ALLOCATED\u0027):"}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_51fa1744","line":126,"range":{"start_line":124,"start_character":2,"end_line":126,"end_character":26},"updated":"2016-11-18 04:26:35.000000000","message":"return ipam_objs.IpamAllocation.get_objects(\n    context, ipam_subnet_id\u003dself._ipam_subnet_id,\n    status\u003dstatus)","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"1ea46693b2395e5c70ba674bc7103a16cc44bf4f","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            neutron.ipam.drivers.neutrondb_ipam.db_models.IpamAllocation"},{"line_number":122,"context_line":"        \"\"\""},{"line_number":123,"context_line":"        return ipam_objs.IpamAllocation.get_objects("},{"line_number":124,"context_line":"            context,"},{"line_number":125,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":126,"context_line":"            status\u003dstatus)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def create_allocation(self, context, ip_address,"},{"line_number":129,"context_line":"                          status\u003d\u0027ALLOCATED\u0027):"}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_034b785a","line":126,"range":{"start_line":124,"start_character":2,"end_line":126,"end_character":26},"in_reply_to":"7a77a97e_51fa1744","updated":"2016-11-21 20:44:45.000000000","message":"Done","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"b383f55ca723f07709349e362af935e1dcba29c7","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        :param context: neutron api request context"},{"line_number":133,"context_line":"        :param ip_address: the IP address to allocate"},{"line_number":134,"context_line":"        :param status: IP allocation status"},{"line_number":135,"context_line":"        \"\"\""},{"line_number":136,"context_line":"        ipam_objs.IpamAllocation(context, ip_address\u003dip_address,"},{"line_number":137,"context_line":"                                 status\u003dstatus,"},{"line_number":138,"context_line":"                                 ipam_subnet_id\u003dself._ipam_subnet_id).create()"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def delete_allocation(self, context, ip_address):"},{"line_number":141,"context_line":"        \"\"\"Remove an IP allocation for this subnet."}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_26e0cd95","line":138,"range":{"start_line":135,"start_character":0,"end_line":138,"end_character":78},"updated":"2016-11-18 16:32:16.000000000","message":"nit: This can also have a better format","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"ae5a5f819f09a3b9e575aba86c7f29cc98017b90","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":145,"context_line":"            be removed."},{"line_number":146,"context_line":"        \"\"\""},{"line_number":147,"context_line":"        ip_request_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":148,"context_line":"            context,"},{"line_number":149,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":150,"context_line":"            ip_address\u003dip_address)"},{"line_number":151,"context_line":"        if ip_request_obj:"},{"line_number":152,"context_line":"            ip_request_obj.delete()"},{"line_number":153,"context_line":"            return 1"},{"line_number":154,"context_line":"        return 0"}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_f2bb16e3","line":154,"range":{"start_line":147,"start_character":0,"end_line":154,"end_character":16},"updated":"2016-11-18 04:26:35.000000000","message":"delete method eventually calls [1] , which raises an exception if an object is not found.\nimho, it can be replaced with\n        try:\n            ipam_objs.IpamAllocation.get_object(\n                context, ipam_subnet_id\u003dself._ipam_subnet_id,\n                ip_address\u003dip_address).delete()\n            return 1\n        except n_exc.ObjectNotFound:\n            return 0\n\n[1] https://github.com/openstack/neutron/blob/master/neutron/objects/db/api.py#L67","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"1ea46693b2395e5c70ba674bc7103a16cc44bf4f","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":145,"context_line":"            be removed."},{"line_number":146,"context_line":"        \"\"\""},{"line_number":147,"context_line":"        ip_request_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":148,"context_line":"            context,"},{"line_number":149,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":150,"context_line":"            ip_address\u003dip_address)"},{"line_number":151,"context_line":"        if ip_request_obj:"},{"line_number":152,"context_line":"            ip_request_obj.delete()"},{"line_number":153,"context_line":"            return 1"},{"line_number":154,"context_line":"        return 0"}],"source_content_type":"text/x-python","patch_set":19,"id":"7a77a97e_03e7f840","line":154,"range":{"start_line":147,"start_character":0,"end_line":154,"end_character":16},"in_reply_to":"7a77a97e_f2bb16e3","updated":"2016-11-21 20:44:45.000000000","message":"This suggestion will treat invalid ip_address format as delete failures which I\u0027m not sure if this is the desire behavior.","commit_id":"722e3022e24d694ecad0776bde3834906db81d85"}],"neutron/objects/ipam/ipam.py":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"afe71bcaebc848eedc82e9c52aeca23a9c5896e7","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def reload_available_ranges(self):"},{"line_number":102,"context_line":"        available_ranges \u003d ["},{"line_number":103,"context_line":"            obj.cidr"},{"line_number":104,"context_line":"            for obj in IpamAvailabilityRange.get_objects("},{"line_number":105,"context_line":"                self.obj_context,"},{"line_number":106,"context_line":"                allocation_pool_id\u003dself.id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_92d8cc1f","line":103,"range":{"start_line":103,"start_character":16,"end_line":103,"end_character":20},"updated":"2016-09-13 18:55:27.000000000","message":"IpamAvailabilityRange objects doesn\u0027t have cidr property.","commit_id":"38c11c875318df2635308c1291147db9b334fac6"},{"author":{"_account_id":22524,"name":"Mohit Malik","email":"mohit.malik@intel.com","username":"mmalik4"},"change_message_id":"785143fe50fcc8e7a0db7149537fadc862935b6e","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def reload_available_ranges(self):"},{"line_number":102,"context_line":"        available_ranges \u003d ["},{"line_number":103,"context_line":"            obj.cidr"},{"line_number":104,"context_line":"            for obj in IpamAvailabilityRange.get_objects("},{"line_number":105,"context_line":"                self.obj_context,"},{"line_number":106,"context_line":"                allocation_pool_id\u003dself.id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_db049316","line":103,"range":{"start_line":103,"start_character":16,"end_line":103,"end_character":20},"in_reply_to":"7a8ec9b2_92d8cc1f","updated":"2016-09-21 17:38:13.000000000","message":"got removed.","commit_id":"38c11c875318df2635308c1291147db9b334fac6"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"afe71bcaebc848eedc82e9c52aeca23a9c5896e7","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            super(IpamAllocationPool, self).create()"},{"line_number":140,"context_line":"            if \u0027available_ranges\u0027 in synthetic_changes:"},{"line_number":141,"context_line":"                for available_range in self.available_ranges:"},{"line_number":142,"context_line":"                    available_range_obj \u003d IpamAvailabilityRange("},{"line_number":143,"context_line":"                        self.obj_context, allocation_pool_id\u003dself.id,"},{"line_number":144,"context_line":"                        first_ip\u003dself.first_ip,"},{"line_number":145,"context_line":"                        last_ip\u003dself.last_ip)"},{"line_number":146,"context_line":"                    available_range_obj.create()"},{"line_number":147,"context_line":"            self.reload_available_ranges()"},{"line_number":148,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_7220a0f8","line":145,"range":{"start_line":142,"start_character":0,"end_line":145,"end_character":45},"updated":"2016-09-13 18:55:27.000000000","message":"If the available_ranges synthetic field contains a list of objects, maybe you can reuse them like this:\n\n                for available_range in synthetic_changes[\u0027available_ranges\u0027]:\n                    available_range.allocation_pool_id \u003d self.id\n                    available_range.create()","commit_id":"38c11c875318df2635308c1291147db9b334fac6"}]}
