)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nakul Dahiwade \u003cnakul.dahiwade@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-30 22:38:55 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] OVO for IPam(Allocation,pool,range,subnet)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces and implements OVO for"},{"line_number":10,"context_line":"IPamAvailabilityRange,IPamAllocationPool,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa7ab95a_c83aa398","line":7,"range":{"start_line":7,"start_character":14,"end_line":7,"end_character":18},"updated":"2016-08-31 00:11:59.000000000","message":"s/IPam/Ipam\nAccording to usage in [1]\nhttps://github.com/openstack/neutron/blob/7f89ec1640e25fa8fb31864eb9c70ecd227e237b/neutron/ipam/drivers/neutrondb_ipam/db_models.py#L27","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nakul Dahiwade \u003cnakul.dahiwade@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-30 22:38:55 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] OVO for IPam(Allocation,pool,range,subnet)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces and implements OVO for"},{"line_number":10,"context_line":"IPamAvailabilityRange,IPamAllocationPool,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa7ab95a_dead72ea","line":7,"range":{"start_line":7,"start_character":14,"end_line":7,"end_character":18},"in_reply_to":"fa7ab95a_c83aa398","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"[WIP] OVO for IPam(Allocation,pool,range,subnet)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces and implements OVO for"},{"line_number":10,"context_line":"IPamAvailabilityRange,IPamAllocationPool,"},{"line_number":11,"context_line":"IPamAllocation,IPamSubnet"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ib7d86dd10e92b5e2baeef0e69620c8688859fe7d"},{"line_number":14,"context_line":"Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa7ab95a_28f86fc4","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":25},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":7,"context_line":"[WIP] OVO for IPam(Allocation,pool,range,subnet)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces and implements OVO for"},{"line_number":10,"context_line":"IPamAvailabilityRange,IPamAllocationPool,"},{"line_number":11,"context_line":"IPamAllocation,IPamSubnet"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ib7d86dd10e92b5e2baeef0e69620c8688859fe7d"},{"line_number":14,"context_line":"Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa7ab95a_feb6b63c","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":25},"in_reply_to":"fa7ab95a_28f86fc4","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22774,"name":"Shashank Kumar Shankar","email":"shashank.kumar.shankar@intel.com","username":"skshankar"},"change_message_id":"2f1f819899205a36b8843edc4601fd97c3d7a424","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib7d86dd10e92b5e2baeef0e69620c8688859fe7d"},{"line_number":13,"context_line":"Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db"},{"line_number":14,"context_line":"Depends-On: I600ce4384632bf013846e8aa1618acb126f7c598"},{"line_number":15,"context_line":"Co-Authored-By: Anindita Das \u003canindita.das@intel.com\u003e"},{"line_number":16,"context_line":"Co-Authored-By: Mohit Malik \u003cmohit.malik@intel.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"3a98d1f4_a1999821","line":14,"updated":"2016-09-29 21:00:49.000000000","message":"\u0027Depends-On\u0027 is only necessary if there are cross repo dependencies [1]. \n\n[1] - http://docs.openstack.org/infra/manual/developers.html#cross-repository-dependencies","commit_id":"761616782a11d24daf4b1db12f48709f6d6f165f"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"9b0f54b8227dcfe7588c18eeae867c502f73e481","unresolved":false,"context_lines":[{"line_number":7,"context_line":"OVO for Ipam(Allocation,Subnet,Pool)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces OVO for"},{"line_number":10,"context_line":"IpamAllocationPool,IpamAllocation,IpamSubnet"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib7d86dd10e92b5e2baeef0e69620c8688859fe7d"},{"line_number":13,"context_line":"Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":35,"id":"7a77a97e_3f3eebb8","line":10,"range":{"start_line":10,"start_character":33,"end_line":10,"end_character":34},"updated":"2016-11-14 19:16:53.000000000","message":"nit: s/,/and","commit_id":"d22342566f86c14c7a85909027e3c83e84fe4182"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"OVO for Ipam(Allocation,Subnet,Pool)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces and integrates Oslo-Versioned Objects for"},{"line_number":10,"context_line":"IpamAllocationPool,IpamAllocation,IpamSubnet model classes."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib7d86dd10e92b5e2baeef0e69620c8688859fe7d"},{"line_number":13,"context_line":"Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":37,"id":"5a74a57a_3ac15e2f","line":10,"range":{"start_line":10,"start_character":33,"end_line":10,"end_character":34},"updated":"2016-11-30 16:50:37.000000000","message":"nit: s/,/ and/g","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"OVO for Ipam(Allocation,Subnet,Pool)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces and integrates Oslo-Versioned Objects for"},{"line_number":10,"context_line":"IpamAllocationPool,IpamAllocation,IpamSubnet model classes."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib7d86dd10e92b5e2baeef0e69620c8688859fe7d"},{"line_number":13,"context_line":"Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":37,"id":"3a71b18c_be7a7922","line":10,"range":{"start_line":10,"start_character":33,"end_line":10,"end_character":34},"in_reply_to":"5a74a57a_3ac15e2f","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"}],"neutron/common/constants.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":146,"context_line":"# More states will be available in the future - e.g.: RECYCLABLE"},{"line_number":147,"context_line":"IPAM_ALLOCATION_STATUS_ALLOCATED \u003d \u0027ALLOCATED\u0027"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"VALID_IPAM_ALLOCATION_STATUS \u003d (IPAM_ALLOCATION_STATUS_ALLOCATED,)"}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_abdb7e20","line":149,"range":{"start_line":149,"start_character":22,"end_line":149,"end_character":28},"updated":"2017-01-18 20:57:26.000000000","message":"STATUSES?","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":146,"context_line":"# More states will be available in the future - e.g.: RECYCLABLE"},{"line_number":147,"context_line":"IPAM_ALLOCATION_STATUS_ALLOCATED \u003d \u0027ALLOCATED\u0027"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"VALID_IPAM_ALLOCATION_STATUS \u003d (IPAM_ALLOCATION_STATUS_ALLOCATED,)"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_684c11c8","line":149,"range":{"start_line":149,"start_character":22,"end_line":149,"end_character":28},"in_reply_to":"7a3c09a3_abdb7e20","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"}],"neutron/ipam/drivers/neutrondb_ipam/db_api.py":[{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"3e0ca4e99e6ffc606a8c7977b688e8846dc33bc7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def load_by_neutron_subnet_id(cls, context, neutron_subnet_id):"},{"line_number":28,"context_line":"        # Get the first result of the query"},{"line_number":29,"context_line":"        return next((i for i in ipam_objs.IpamSubnet.get_objects("},{"line_number":30,"context_line":"            context, neutron_subnet_id\u003dneutron_subnet_id)), None)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, ipam_subnet_id, neutron_subnet_id):"},{"line_number":33,"context_line":"        self._ipam_subnet_id \u003d ipam_subnet_id"}],"source_content_type":"text/x-python","patch_set":36,"id":"7a77a97e_bbe568a9","line":30,"range":{"start_line":29,"start_character":8,"end_line":30,"end_character":65},"updated":"2016-11-24 09:36:49.000000000","message":"this can be rewritten to:\n\n    objs \u003d ipam_objs.IpamSubnet.get_objects(\n            context, neutron_subnet_id\u003dneutron_subnet_id)\n    return objs.pop() if objs else None","commit_id":"a3062ad0878d1342ca30158e4acd21cc12b218b6"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"3e0ca4e99e6ffc606a8c7977b688e8846dc33bc7","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def check_unique_allocation(self, context, ip_address):"},{"line_number":104,"context_line":"        \"\"\"Validate that the IP address on the subnet is not in use.\"\"\""},{"line_number":105,"context_line":"        count \u003d ipam_objs.IpamAllocation.count("},{"line_number":106,"context_line":"            context, ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":107,"context_line":"            status\u003dconst.IPAM_ALLOCATION_STATUS_ALLOCATED,"},{"line_number":108,"context_line":"            ip_address\u003dip_address)"},{"line_number":109,"context_line":"        return not bool(count \u003e 0)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def list_allocations(self, context,"},{"line_number":112,"context_line":"                         status\u003dconst.IPAM_ALLOCATION_STATUS_ALLOCATED):"}],"source_content_type":"text/x-python","patch_set":36,"id":"7a77a97e_1e61eaa8","line":109,"range":{"start_line":105,"start_character":8,"end_line":109,"end_character":34},"updated":"2016-11-24 09:36:49.000000000","message":"objects_exists can be used here.\n\n    return not ipam_objs.IpamAllocation.objects_exist(\n                     context, ipam_subnet_id\u003dself._ipam_subnet_id,\n                     status\u003dconst.IPAM_ALLOCATION_STATUS_ALLOCATED,\n                     ip_address\u003dip_address)","commit_id":"a3062ad0878d1342ca30158e4acd21cc12b218b6"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"3e0ca4e99e6ffc606a8c7977b688e8846dc33bc7","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            ip_address\u003dip_address)"},{"line_number":146,"context_line":"        if ip_request_obj:"},{"line_number":147,"context_line":"            ip_request_obj.delete()"},{"line_number":148,"context_line":"            return 1"},{"line_number":149,"context_line":"        return 0"}],"source_content_type":"text/x-python","patch_set":36,"id":"7a77a97e_9e597a5e","line":149,"range":{"start_line":148,"start_character":12,"end_line":149,"end_character":16},"updated":"2016-11-24 09:36:49.000000000","message":"Maybe we can adjust the docstring to explain why returning 0/1...","commit_id":"a3062ad0878d1342ca30158e4acd21cc12b218b6"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"0c8b06c576edb7416404bd7718bfe060a29822f5","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        :param context: neutron api request context"},{"line_number":65,"context_line":"        :param neutron_subnet_id: neutron subnet id associated with ipam subnet"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        ipam_subnet_objs \u003d ipam_objs.IpamSubnet.get_objects("},{"line_number":68,"context_line":"            context, neutron_subnet_id\u003dneutron_subnet_id)"},{"line_number":69,"context_line":"        for ipam_subnet_obj in ipam_subnet_objs:"},{"line_number":70,"context_line":"            ipam_subnet_obj.delete()"},{"line_number":71,"context_line":"        return len(ipam_subnet_objs)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def create_pool(self, context, pool_start, pool_end):"},{"line_number":74,"context_line":"        \"\"\"Create an allocation pool for the subnet."}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_5fc60c17","line":71,"range":{"start_line":67,"start_character":8,"end_line":71,"end_character":36},"updated":"2016-11-30 17:23:58.000000000","message":"It would nice to use here delete_objects(), new method under review:\nhttps://review.openstack.org/#/c/403832","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        :param context: neutron api request context"},{"line_number":65,"context_line":"        :param neutron_subnet_id: neutron subnet id associated with ipam subnet"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        ipam_subnet_objs \u003d ipam_objs.IpamSubnet.get_objects("},{"line_number":68,"context_line":"            context, neutron_subnet_id\u003dneutron_subnet_id)"},{"line_number":69,"context_line":"        for ipam_subnet_obj in ipam_subnet_objs:"},{"line_number":70,"context_line":"            ipam_subnet_obj.delete()"},{"line_number":71,"context_line":"        return len(ipam_subnet_objs)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def create_pool(self, context, pool_start, pool_end):"},{"line_number":74,"context_line":"        \"\"\"Create an allocation pool for the subnet."}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_f592999e","line":71,"range":{"start_line":67,"start_character":8,"end_line":71,"end_character":36},"updated":"2016-11-30 16:50:37.000000000","message":"This is a good candidate for new delete method[1]\n\n[1] https://review.openstack.org/#/c/403832/","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        :param context: neutron api request context"},{"line_number":65,"context_line":"        :param neutron_subnet_id: neutron subnet id associated with ipam subnet"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        ipam_subnet_objs \u003d ipam_objs.IpamSubnet.get_objects("},{"line_number":68,"context_line":"            context, neutron_subnet_id\u003dneutron_subnet_id)"},{"line_number":69,"context_line":"        for ipam_subnet_obj in ipam_subnet_objs:"},{"line_number":70,"context_line":"            ipam_subnet_obj.delete()"},{"line_number":71,"context_line":"        return len(ipam_subnet_objs)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def create_pool(self, context, pool_start, pool_end):"},{"line_number":74,"context_line":"        \"\"\"Create an allocation pool for the subnet."}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_dec1f530","line":71,"range":{"start_line":67,"start_character":8,"end_line":71,"end_character":36},"in_reply_to":"5a74a57a_5fc60c17","updated":"2016-12-09 22:05:18.000000000","message":"Will do once merged.","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"0c8b06c576edb7416404bd7718bfe060a29822f5","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, ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":96,"context_line":"        for ip_pool_obj in ip_pool_objs:"},{"line_number":97,"context_line":"            ip_pool_obj.delete()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def list_pools(self, context):"},{"line_number":100,"context_line":"        \"\"\"Return pools for the current subnet.\"\"\""}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_bfa3a04e","line":97,"range":{"start_line":94,"start_character":8,"end_line":97,"end_character":32},"updated":"2016-11-30 17:23:58.000000000","message":"delete_objects() would be perfect here.\n\nhttps://review.openstack.org/#/c/403832","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","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, ipam_subnet_id\u003dself._ipam_subnet_id)"},{"line_number":96,"context_line":"        for ip_pool_obj in ip_pool_objs:"},{"line_number":97,"context_line":"            ip_pool_obj.delete()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def list_pools(self, context):"},{"line_number":100,"context_line":"        \"\"\"Return pools for the current subnet.\"\"\""}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_deaad570","line":97,"range":{"start_line":94,"start_character":8,"end_line":97,"end_character":32},"in_reply_to":"5a74a57a_bfa3a04e","updated":"2016-12-09 22:05:18.000000000","message":"Will do once it\u0027s merged.","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        1 will be returned if the deletion was successful otherwise 0"},{"line_number":142,"context_line":"        will be returned"},{"line_number":143,"context_line":"        \"\"\""},{"line_number":144,"context_line":"        ip_request_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":145,"context_line":"            context,"},{"line_number":146,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":147,"context_line":"            ip_address\u003dip_address)"},{"line_number":148,"context_line":"        if ip_request_obj:"},{"line_number":149,"context_line":"            ip_request_obj.delete()"},{"line_number":150,"context_line":"            return 1"},{"line_number":151,"context_line":"        return 0"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_552b4d33","line":151,"range":{"start_line":144,"start_character":8,"end_line":151,"end_character":16},"updated":"2016-11-30 16:50:37.000000000","message":"Given that this is executing two sql instructions more likely need a session context:\n\nwith context.session.begin(subtransactions\u003dTrue):","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        1 will be returned if the deletion was successful otherwise 0"},{"line_number":142,"context_line":"        will be returned"},{"line_number":143,"context_line":"        \"\"\""},{"line_number":144,"context_line":"        ip_request_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":145,"context_line":"            context,"},{"line_number":146,"context_line":"            ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":147,"context_line":"            ip_address\u003dip_address)"},{"line_number":148,"context_line":"        if ip_request_obj:"},{"line_number":149,"context_line":"            ip_request_obj.delete()"},{"line_number":150,"context_line":"            return 1"},{"line_number":151,"context_line":"        return 0"}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_1eb7edd8","line":151,"range":{"start_line":144,"start_character":8,"end_line":151,"end_character":16},"in_reply_to":"5a74a57a_552b4d33","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"b2a2ce1bb522b6c78d946b8b8a8df3266c808864","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        1 will be returned if the deletion was successful otherwise 0"},{"line_number":137,"context_line":"        will be returned"},{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_b8b603f7","line":136,"updated":"2016-12-21 11:31:41.000000000","message":"the docstring should be corrected to:\n\n    :returns: 1 will be returned if the deletion was successful otherwise 0","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"7f8a2bdb0b10f8e473c3d7bc62554195a72fc611","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        1 will be returned if the deletion was successful otherwise 0"},{"line_number":137,"context_line":"        will be returned"},{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_8d701942","line":136,"in_reply_to":"1a6eadb0_b8b603f7","updated":"2016-12-21 16:21:55.000000000","message":"Done","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":12906,"name":"tonytan4ever","email":"tony.tan@rackspace.com","username":"tonytan4ever"},"change_message_id":"bb8bbef5d9692a16225f29e87a9779095e56e47d","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: 1 will be returned if the deletion was successful"},{"line_number":137,"context_line":"             otherwise 0"},{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":40,"id":"ba5201f7_4ca05bf5","line":136,"updated":"2016-12-30 16:17:55.000000000","message":"Is there any reason for returning 1/0 rather True/False ?\nI think True/False is more explicit in Python","commit_id":"7da51a5ac6d50725969ae8df08e53753831e10bf"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"2014114ff87d357eb6996768c95a4c72f8572eeb","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: 1 will be returned if the deletion was successful"},{"line_number":137,"context_line":"             otherwise 0"},{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":40,"id":"ba5201f7_878f6a22","line":136,"in_reply_to":"ba5201f7_4ca05bf5","updated":"2017-01-02 17:07:19.000000000","message":"i guess that 0/1 is returned from delete() as how many records were deleted. This doc-string can be reworded:\n\":returns: number of deleted allocation entries\"","commit_id":"7da51a5ac6d50725969ae8df08e53753831e10bf"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"74f81dcfe4e5c065611cec626e1b3c810abdb0b9","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: 1 will be returned if the deletion was successful"},{"line_number":137,"context_line":"             otherwise 0"},{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":40,"id":"ba5201f7_1aa61d53","line":136,"in_reply_to":"ba5201f7_878f6a22","updated":"2017-01-04 20:54:14.000000000","message":"Done","commit_id":"7da51a5ac6d50725969ae8df08e53753831e10bf"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"2014114ff87d357eb6996768c95a4c72f8572eeb","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        :returns: 1 will be returned if the deletion was successful"},{"line_number":137,"context_line":"             otherwise 0"},{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":140,"context_line":"            ip_request_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":141,"context_line":"                context,"},{"line_number":142,"context_line":"                ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":143,"context_line":"                ip_address\u003dip_address)"},{"line_number":144,"context_line":"            if ip_request_obj:"},{"line_number":145,"context_line":"                ip_request_obj.delete()"},{"line_number":146,"context_line":"                return 1"},{"line_number":147,"context_line":"            return 0"}],"source_content_type":"text/x-python","patch_set":40,"id":"ba5201f7_47ae6286","line":147,"range":{"start_line":139,"start_character":8,"end_line":147,"end_character":20},"updated":"2017-01-02 17:07:19.000000000","message":"It can be refactored to use \u0027delete_objects\u0027:\n\n    return ipam_objs.IpamAllocation.delete_objects(\n        context,\n        ipam_subnet_id\u003dself._ipam_subnet_id,\n        ip_address\u003dip_address)","commit_id":"7da51a5ac6d50725969ae8df08e53753831e10bf"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"74f81dcfe4e5c065611cec626e1b3c810abdb0b9","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        :returns: 1 will be returned if the deletion was successful"},{"line_number":137,"context_line":"             otherwise 0"},{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":140,"context_line":"            ip_request_obj \u003d ipam_objs.IpamAllocation.get_object("},{"line_number":141,"context_line":"                context,"},{"line_number":142,"context_line":"                ipam_subnet_id\u003dself._ipam_subnet_id,"},{"line_number":143,"context_line":"                ip_address\u003dip_address)"},{"line_number":144,"context_line":"            if ip_request_obj:"},{"line_number":145,"context_line":"                ip_request_obj.delete()"},{"line_number":146,"context_line":"                return 1"},{"line_number":147,"context_line":"            return 0"}],"source_content_type":"text/x-python","patch_set":40,"id":"ba5201f7_3a65a11d","line":147,"range":{"start_line":139,"start_character":8,"end_line":147,"end_character":20},"in_reply_to":"ba5201f7_47ae6286","updated":"2017-01-04 20:54:14.000000000","message":"Done","commit_id":"7da51a5ac6d50725969ae8df08e53753831e10bf"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"7ae598e3b3e9ee7e396bcd6438dcbb7f7e897261","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: number of deleted allocation entries."},{"line_number":137,"context_line":"        \"\"\""},{"line_number":138,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":139,"context_line":"            return ipam_objs.IpamAllocation.delete_objects("}],"source_content_type":"text/x-python","patch_set":43,"id":"ba5201f7_29056579","line":136,"updated":"2017-01-11 15:59:04.000000000","message":"Good catch here","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"ff9bdd38f3efc310408dd814f11a1c6c2c8626f0","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: number of deleted allocation entries."},{"line_number":137,"context_line":"        \"\"\""},{"line_number":138,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":139,"context_line":"            return ipam_objs.IpamAllocation.delete_objects("},{"line_number":140,"context_line":"                context,"},{"line_number":141,"context_line":"                ipam_subnet_id\u003dself._ipam_subnet_id,"}],"source_content_type":"text/x-python","patch_set":43,"id":"9a57fde8_221413f4","line":138,"updated":"2017-01-12 13:01:25.000000000","message":"When using delete_objects, extra session is not needed.","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"32c4981a52254b96c11b928b955086dca68fb94c","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: number of deleted allocation entries."},{"line_number":137,"context_line":"        \"\"\""},{"line_number":138,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":139,"context_line":"            return ipam_objs.IpamAllocation.delete_objects("},{"line_number":140,"context_line":"                context,"},{"line_number":141,"context_line":"                ipam_subnet_id\u003dself._ipam_subnet_id,"}],"source_content_type":"text/x-python","patch_set":43,"id":"7a3c09a3_2f369a03","line":138,"in_reply_to":"9a57fde8_221413f4","updated":"2017-01-13 16:04:48.000000000","message":"Done","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        :param context: neutron api request context"},{"line_number":111,"context_line":"        :param status: IP allocation status"},{"line_number":112,"context_line":"        :returns: a list of IP allocation as instance of"},{"line_number":113,"context_line":"            neutron.ipam.drivers.neutrondb_ipam.db_models.IpamAllocation"},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        return ipam_objs.IpamAllocation.get_objects("}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_ae4b8c5e","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":56},"updated":"2017-01-18 20:57:26.000000000","message":"(No action required) Interestingly, it was not the case before the change. We returned a query object before.","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        :param context: neutron api request context"},{"line_number":111,"context_line":"        :param status: IP allocation status"},{"line_number":112,"context_line":"        :returns: a list of IP allocation as instance of"},{"line_number":113,"context_line":"            neutron.ipam.drivers.neutrondb_ipam.db_models.IpamAllocation"},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        return ipam_objs.IpamAllocation.get_objects("}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_a8cc3936","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":56},"in_reply_to":"7a3c09a3_ae4b8c5e","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        :param context: neutron api request context"},{"line_number":111,"context_line":"        :param status: IP allocation status"},{"line_number":112,"context_line":"        :returns: a list of IP allocation as instance of"},{"line_number":113,"context_line":"            neutron.ipam.drivers.neutrondb_ipam.db_models.IpamAllocation"},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        return ipam_objs.IpamAllocation.get_objects("},{"line_number":116,"context_line":"            context, ipam_subnet_id\u003dself._ipam_subnet_id, status\u003dstatus)"}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_6e4a8457","line":113,"range":{"start_line":113,"start_character":12,"end_line":113,"end_character":72},"updated":"2017-01-18 20:57:26.000000000","message":"no longer correct","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        :param context: neutron api request context"},{"line_number":111,"context_line":"        :param status: IP allocation status"},{"line_number":112,"context_line":"        :returns: a list of IP allocation as instance of"},{"line_number":113,"context_line":"            neutron.ipam.drivers.neutrondb_ipam.db_models.IpamAllocation"},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        return ipam_objs.IpamAllocation.get_objects("},{"line_number":116,"context_line":"            context, ipam_subnet_id\u003dself._ipam_subnet_id, status\u003dstatus)"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_e8d641c4","line":113,"range":{"start_line":113,"start_character":12,"end_line":113,"end_character":72},"in_reply_to":"7a3c09a3_6e4a8457","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        :returns: a list of IP allocation as instance of"},{"line_number":113,"context_line":"            neutron.ipam.drivers.neutrondb_ipam.db_models.IpamAllocation"},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        return ipam_objs.IpamAllocation.get_objects("},{"line_number":116,"context_line":"            context, ipam_subnet_id\u003dself._ipam_subnet_id, status\u003dstatus)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def create_allocation(self, context, ip_address,"}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_8b688289","line":115,"updated":"2017-01-18 20:57:26.000000000","message":"now that you changed the type returned by the method, please also adopt _generate_ip accordingly (we don\u0027t need to convert .ip_address to netaddr.IPAddress anymore there).","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        :returns: a list of IP allocation as instance of"},{"line_number":113,"context_line":"            neutron.ipam.drivers.neutrondb_ipam.db_models.IpamAllocation"},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        return ipam_objs.IpamAllocation.get_objects("},{"line_number":116,"context_line":"            context, ipam_subnet_id\u003dself._ipam_subnet_id, status\u003dstatus)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def create_allocation(self, context, ip_address,"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_28d929f4","line":115,"in_reply_to":"7a3c09a3_8b688289","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        \"\"\"Remove an IP allocation for this subnet."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: number of deleted allocation entries."},{"line_number":137,"context_line":"        \"\"\""},{"line_number":138,"context_line":"        return ipam_objs.IpamAllocation.delete_objects("}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_0bb492cf","line":135,"range":{"start_line":134,"start_character":8,"end_line":135,"end_character":23},"updated":"2017-01-18 20:57:26.000000000","message":"which type does the parameter have? if it\u0027s string, shouldn\u0027t we convert to IPAddress first before passing it in line 141 as an argument?","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3a1cbd4932cbc92129457a3ba7a5d5fae040d169","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        \"\"\"Remove an IP allocation for this subnet."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: number of deleted allocation entries."},{"line_number":137,"context_line":"        \"\"\""},{"line_number":138,"context_line":"        return ipam_objs.IpamAllocation.delete_objects("}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_799b05ca","line":135,"range":{"start_line":134,"start_character":8,"end_line":135,"end_character":23},"in_reply_to":"5a3905b3_7fc76d12","updated":"2017-01-19 20:25:49.000000000","message":"Gotcha. Seems like delete_objects() is more liberal towards types of passed arguments than OVO __init__ itself. We may want to revisit it some time in the future, but that\u0027s ok for now.","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        \"\"\"Remove an IP allocation for this subnet."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        :param context: neutron api request context"},{"line_number":134,"context_line":"        :param ip_address: IP address for which the allocation entry should"},{"line_number":135,"context_line":"            be removed."},{"line_number":136,"context_line":"        :returns: number of deleted allocation entries."},{"line_number":137,"context_line":"        \"\"\""},{"line_number":138,"context_line":"        return ipam_objs.IpamAllocation.delete_objects("}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_7fc76d12","line":135,"range":{"start_line":134,"start_character":8,"end_line":135,"end_character":23},"in_reply_to":"7a3c09a3_0bb492cf","updated":"2017-01-19 19:27:13.000000000","message":"The parameter is currently taking both string and IPAddress field,\nexample: 1]https://review.openstack.org/#/c/360799/45/neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_db_api.py#Line110(IPAddress)\n2] https://github.com/openstack/neutron/blob/master/neutron/ipam/drivers/neutrondb_ipam/driver.py#L220https://github.com/openstack/neutron/blob/master/neutron/ipam/drivers/neutrondb_ipam/driver.py#L220(String)","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"023160e83a111d93b720d27da12100e053a30d49","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        :param context: neutron api request context"},{"line_number":65,"context_line":"        :param neutron_subnet_id: neutron subnet id associated with ipam subnet"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        return ipam_objs.IpamSubnet.delete_objects(context,"},{"line_number":68,"context_line":"             neutron_subnet_id\u003dneutron_subnet_id)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":46,"id":"5a3905b3_998d1134","line":66,"updated":"2017-01-19 20:34:13.000000000","message":"nit:\n\n:return: the number of deleted objects","commit_id":"89f6dd3305180e63367dc8d518f3caf6cb068518"}],"neutron/objects/ipam.py":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    primary_keys \u003d [\u0027ip_address\u0027, \u0027ipam_subnet_id\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    foreign_keys \u003d {\u0027IpamSubnet\u0027: {\u0027ipam_subnet_id\u0027: \u0027id\u0027}}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    fields \u003d {"},{"line_number":72,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_50f7098c","line":69,"range":{"start_line":69,"start_character":4,"end_line":69,"end_character":59},"updated":"2016-10-17 18:37:26.000000000","message":"IpamSubnet doesn\u0027t have any synthetic field that requires information about IpamAllocation, therefore this is not required.","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    fields \u003d {"},{"line_number":72,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"},{"line_number":73,"context_line":"        \u0027status\u0027: obj_fields.StringField(),"},{"line_number":74,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField()"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_8b6b3285","line":73,"updated":"2016-10-17 18:37:26.000000000","message":"I just wondering if we should suggest to create a new field that contains values for different status, for now I\u0027ve only detected \u0027ALLOCATED\u0027[1]\n\n[1] https://github.com/openstack/neutron/blob/master/neutron/ipam/drivers/neutrondb_ipam/db_api.py#L122","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    fields \u003d {"},{"line_number":72,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"},{"line_number":73,"context_line":"        \u0027status\u0027: obj_fields.StringField(),"},{"line_number":74,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField()"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_eef812c7","line":73,"in_reply_to":"fa6399be_8b6b3285","updated":"2016-10-18 16:47:09.000000000","message":"Might be a good idea, I found \u0027OK\u0027,\u0027ACTIVE\u0027,\"DOWN\u0027,\u0027COOL\u0027 as well.","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"ad8d21d46395709712ad89b404bb26bb924f9d5d","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    db_model \u003d db_models.IpamAllocation"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    primary_keys \u003d [\u0027ip_address\u0027, \u0027ipam_subnet_id\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    fields \u003d {"},{"line_number":70,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"},{"line_number":71,"context_line":"        \u0027status\u0027: obj_fields.StringField(),"}],"source_content_type":"text/x-python","patch_set":30,"id":"9a629dbe_44886a71","line":68,"updated":"2016-11-11 06:24:54.000000000","message":"May I know why \nforeign_keys \u003d {\u0027IpamSubnet\u0027: {\u0027ipam_subnet_id\u0027: \u0027id\u0027}}\nis deleted since PS30 and onwards?","commit_id":"9e74dccb18f73196edeba62bf831f6f4461379cc"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"f4eeadcc43ede453647ebc21108a68390896f102","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    db_model \u003d db_models.IpamAllocation"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    primary_keys \u003d [\u0027ip_address\u0027, \u0027ipam_subnet_id\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    fields \u003d {"},{"line_number":70,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"},{"line_number":71,"context_line":"        \u0027status\u0027: obj_fields.StringField(),"}],"source_content_type":"text/x-python","patch_set":30,"id":"9a629dbe_dce6b843","line":68,"in_reply_to":"9a629dbe_44886a71","updated":"2016-11-14 16:52:44.000000000","message":"The foreign key here is not the same as in DB.In OVO a foreign Key is needed in the object only if it is being loaded as a Synthetic Field in the other Object,which is not the case here,hence removed.\nAn example can be seen here: https://github.com/openstack/neutron/blob/master/neutron/objects/network.py#L126","commit_id":"9e74dccb18f73196edeba62bf831f6f4461379cc"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"bdbb61f48c05a3bf49eb550f743429973d0b6c9b","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    db_model \u003d db_models.IpamAllocation"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    primary_keys \u003d [\u0027ip_address\u0027, \u0027ipam_subnet_id\u0027]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    fields \u003d {"},{"line_number":70,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"},{"line_number":71,"context_line":"        \u0027status\u0027: obj_fields.StringField(),"}],"source_content_type":"text/x-python","patch_set":30,"id":"7a77a97e_de7327b3","line":68,"in_reply_to":"9a629dbe_dce6b843","updated":"2016-11-15 05:30:44.000000000","message":"Thanks.","commit_id":"9e74dccb18f73196edeba62bf831f6f4461379cc"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"4700a595ab2b93748ac6d434f46797e304533ec7","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import netaddr"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_versionedobjects import base as obj_base"},{"line_number":19,"context_line":"from oslo_versionedobjects import fields as obj_fields"}],"source_content_type":"text/x-python","patch_set":32,"id":"9a629dbe_b34bfc2a","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":14},"updated":"2016-11-07 19:42:47.000000000","message":"netaddr is a third party library which needs to be in the second group, therefore a breakline is not required","commit_id":"2be570d0425c4db03f4f327bb4f1b7781ad46af0"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"399a371f4dd95ee08513256c642bcc8ba0b5de4b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import netaddr"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_versionedobjects import base as obj_base"},{"line_number":19,"context_line":"from oslo_versionedobjects import fields as obj_fields"}],"source_content_type":"text/x-python","patch_set":32,"id":"9a629dbe_22f07490","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":14},"in_reply_to":"9a629dbe_b34bfc2a","updated":"2016-11-07 22:28:18.000000000","message":"Done","commit_id":"2be570d0425c4db03f4f327bb4f1b7781ad46af0"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"ce338da1c06f257f6f3ff97e94bcba408ade5adb","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import netaddr"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_versionedobjects import base as obj_base"},{"line_number":19,"context_line":"from oslo_versionedobjects import fields as obj_fields"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"9a629dbe_e48fbe72","line":17,"updated":"2016-11-11 06:24:28.000000000","message":"nit: @Victor Morales commented on PS32 that this breakline is not required.","commit_id":"5d2abf9fb5cad752d2ba36eaf5c3bea88f0617a5"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"a658a5bd8390e0a4553f9203a8960e99db82ec9a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import netaddr"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_versionedobjects import base as obj_base"},{"line_number":19,"context_line":"from oslo_versionedobjects import fields as obj_fields"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"9a629dbe_a88703d6","line":17,"in_reply_to":"9a629dbe_e48fbe72","updated":"2016-11-14 16:42:54.000000000","message":"Done","commit_id":"5d2abf9fb5cad752d2ba36eaf5c3bea88f0617a5"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"e3c7ff5d96406269ca1671d3a1ab66db9436a99b","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    fields \u003d {"},{"line_number":98,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":99,"context_line":"        \u0027neutron_subnet_id\u0027: obj_fields.StringField(nullable\u003dTrue),"},{"line_number":100,"context_line":"        \u0027allocation_pools\u0027: obj_fields.ListOfObjectsField("},{"line_number":101,"context_line":"            \u0027IpamAllocationPool\u0027)"},{"line_number":102,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":34,"id":"9a629dbe_217ddbe7","line":99,"range":{"start_line":99,"start_character":29,"end_line":99,"end_character":67},"updated":"2016-11-14 13:40:41.000000000","message":"should it be UUID field?","commit_id":"5d2abf9fb5cad752d2ba36eaf5c3bea88f0617a5"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"a658a5bd8390e0a4553f9203a8960e99db82ec9a","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    fields \u003d {"},{"line_number":98,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":99,"context_line":"        \u0027neutron_subnet_id\u0027: obj_fields.StringField(nullable\u003dTrue),"},{"line_number":100,"context_line":"        \u0027allocation_pools\u0027: obj_fields.ListOfObjectsField("},{"line_number":101,"context_line":"            \u0027IpamAllocationPool\u0027)"},{"line_number":102,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":34,"id":"9a629dbe_c86c3739","line":99,"range":{"start_line":99,"start_character":29,"end_line":99,"end_character":67},"in_reply_to":"9a629dbe_217ddbe7","updated":"2016-11-14 16:42:54.000000000","message":"Done","commit_id":"5d2abf9fb5cad752d2ba36eaf5c3bea88f0617a5"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"3e0ca4e99e6ffc606a8c7977b688e8846dc33bc7","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    fields \u003d {"},{"line_number":70,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"},{"line_number":71,"context_line":"        \u0027status\u0027: common_types.IpamAllocationStatusEnumField(),"},{"line_number":72,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField()"},{"line_number":73,"context_line":"    }"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"5a74a57a_1f62c6ad","line":71,"range":{"start_line":71,"start_character":60,"end_line":71,"end_character":62},"updated":"2016-11-24 09:36:49.000000000","message":"nullable\u003dTrue","commit_id":"a3062ad0878d1342ca30158e4acd21cc12b218b6"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"b2a2ce1bb522b6c78d946b8b8a8df3266c808864","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    foreign_keys \u003d {\u0027IpamSubnet\u0027: {\u0027ipam_subnet_id\u0027: \u0027id\u0027}}"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    fields \u003d {"},{"line_number":35,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":36,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField(),"},{"line_number":37,"context_line":"        \u0027first_ip\u0027: obj_fields.IPAddressField(),"},{"line_number":38,"context_line":"        \u0027last_ip\u0027: obj_fields.IPAddressField(),"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_d8f9ff81","line":35,"updated":"2016-12-21 11:31:41.000000000","message":"ditto line 72.","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"7f8a2bdb0b10f8e473c3d7bc62554195a72fc611","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    foreign_keys \u003d {\u0027IpamSubnet\u0027: {\u0027ipam_subnet_id\u0027: \u0027id\u0027}}"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    fields \u003d {"},{"line_number":35,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":36,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField(),"},{"line_number":37,"context_line":"        \u0027first_ip\u0027: obj_fields.IPAddressField(),"},{"line_number":38,"context_line":"        \u0027last_ip\u0027: obj_fields.IPAddressField(),"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_cd94d138","line":35,"in_reply_to":"1a6eadb0_d8f9ff81","updated":"2016-12-21 16:21:55.000000000","message":"Done","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"b2a2ce1bb522b6c78d946b8b8a8df3266c808864","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    fields \u003d {"},{"line_number":35,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":36,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField(),"},{"line_number":37,"context_line":"        \u0027first_ip\u0027: obj_fields.IPAddressField(),"},{"line_number":38,"context_line":"        \u0027last_ip\u0027: obj_fields.IPAddressField(),"},{"line_number":39,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_f8f6bb8d","line":36,"updated":"2016-12-21 11:31:41.000000000","message":"ditto line 72.","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"7f8a2bdb0b10f8e473c3d7bc62554195a72fc611","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    fields \u003d {"},{"line_number":35,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":36,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField(),"},{"line_number":37,"context_line":"        \u0027first_ip\u0027: obj_fields.IPAddressField(),"},{"line_number":38,"context_line":"        \u0027last_ip\u0027: obj_fields.IPAddressField(),"},{"line_number":39,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_ed950d32","line":36,"in_reply_to":"1a6eadb0_f8f6bb8d","updated":"2016-12-21 16:21:55.000000000","message":"Done","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"b2a2ce1bb522b6c78d946b8b8a8df3266c808864","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    fields \u003d {"},{"line_number":70,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"},{"line_number":71,"context_line":"        \u0027status\u0027: common_types.IpamAllocationStatusEnumField(nullable\u003dTrue),"},{"line_number":72,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField()"},{"line_number":73,"context_line":"    }"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_38d673f1","line":72,"range":{"start_line":72,"start_character":26,"end_line":72,"end_character":36},"updated":"2016-12-21 11:31:41.000000000","message":"it shoud use common_types.UUIDField","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"7f8a2bdb0b10f8e473c3d7bc62554195a72fc611","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    fields \u003d {"},{"line_number":70,"context_line":"        \u0027ip_address\u0027: obj_fields.IPAddressField(),"},{"line_number":71,"context_line":"        \u0027status\u0027: common_types.IpamAllocationStatusEnumField(nullable\u003dTrue),"},{"line_number":72,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField()"},{"line_number":73,"context_line":"    }"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_2da465a4","line":72,"range":{"start_line":72,"start_character":26,"end_line":72,"end_character":36},"in_reply_to":"1a6eadb0_38d673f1","updated":"2016-12-21 16:21:55.000000000","message":"Done","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"b2a2ce1bb522b6c78d946b8b8a8df3266c808864","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    db_model \u003d db_models.IpamSubnet"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    fields \u003d {"},{"line_number":98,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":99,"context_line":"        \u0027neutron_subnet_id\u0027: obj_fields.UUIDField(nullable\u003dTrue),"},{"line_number":100,"context_line":"        \u0027allocation_pools\u0027: obj_fields.ListOfObjectsField("},{"line_number":101,"context_line":"            \u0027IpamAllocationPool\u0027)"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_7831cb59","line":98,"updated":"2016-12-21 11:31:41.000000000","message":"ditto line 72.","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"7f8a2bdb0b10f8e473c3d7bc62554195a72fc611","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    db_model \u003d db_models.IpamSubnet"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    fields \u003d {"},{"line_number":98,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":99,"context_line":"        \u0027neutron_subnet_id\u0027: obj_fields.UUIDField(nullable\u003dTrue),"},{"line_number":100,"context_line":"        \u0027allocation_pools\u0027: obj_fields.ListOfObjectsField("},{"line_number":101,"context_line":"            \u0027IpamAllocationPool\u0027)"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_4da1a193","line":98,"in_reply_to":"1a6eadb0_7831cb59","updated":"2016-12-21 16:21:55.000000000","message":"Done","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"b2a2ce1bb522b6c78d946b8b8a8df3266c808864","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    fields \u003d {"},{"line_number":98,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":99,"context_line":"        \u0027neutron_subnet_id\u0027: obj_fields.UUIDField(nullable\u003dTrue),"},{"line_number":100,"context_line":"        \u0027allocation_pools\u0027: obj_fields.ListOfObjectsField("},{"line_number":101,"context_line":"            \u0027IpamAllocationPool\u0027)"},{"line_number":102,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_b837e34b","line":99,"updated":"2016-12-21 11:31:41.000000000","message":"ditto line 72.","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"7f8a2bdb0b10f8e473c3d7bc62554195a72fc611","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    fields \u003d {"},{"line_number":98,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":99,"context_line":"        \u0027neutron_subnet_id\u0027: obj_fields.UUIDField(nullable\u003dTrue),"},{"line_number":100,"context_line":"        \u0027allocation_pools\u0027: obj_fields.ListOfObjectsField("},{"line_number":101,"context_line":"            \u0027IpamAllocationPool\u0027)"},{"line_number":102,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":39,"id":"1a6eadb0_6daadd72","line":99,"in_reply_to":"1a6eadb0_b837e34b","updated":"2016-12-21 16:21:55.000000000","message":"Done","commit_id":"6ad3c40e97382399621181b042fdb0eaf156b104"}],"neutron/objects/ipam/ipam.py":[{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":26,"context_line":"class IPamAvailabilityRange(base.NeutronDbObject):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_281f8f0a","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":27},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":26,"context_line":"class IPamAvailabilityRange(base.NeutronDbObject):"},{"line_number":27,"context_line":"    # Version 1.0: Initial version"},{"line_number":28,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_1e8b5a69","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":27},"in_reply_to":"fa7ab95a_281f8f0a","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":63,"context_line":"class IPamAllocationPool(base.NeutronDbObject):"},{"line_number":64,"context_line":"    # Version 1.0: Initial version"},{"line_number":65,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_8816dbef","line":63,"range":{"start_line":63,"start_character":6,"end_line":63,"end_character":24},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":63,"context_line":"class IPamAllocationPool(base.NeutronDbObject):"},{"line_number":64,"context_line":"    # Version 1.0: Initial version"},{"line_number":65,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_3eeade0f","line":63,"range":{"start_line":63,"start_character":6,"end_line":63,"end_character":24},"in_reply_to":"fa7ab95a_8816dbef","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":102,"context_line":"class IPamAllocation(base.NeutronDbObject):"},{"line_number":103,"context_line":"    # Version 1.0: Initial version"},{"line_number":104,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_e8dbe74d","line":102,"range":{"start_line":102,"start_character":6,"end_line":102,"end_character":20},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":102,"context_line":"class IPamAllocation(base.NeutronDbObject):"},{"line_number":103,"context_line":"    # Version 1.0: Initial version"},{"line_number":104,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_7ef0e6fd","line":102,"range":{"start_line":102,"start_character":6,"end_line":102,"end_character":20},"in_reply_to":"fa7ab95a_e8dbe74d","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":134,"context_line":"class IPamSubnet(base.NeutronDbObject):"},{"line_number":135,"context_line":"    # Version 1.0: Initial version"},{"line_number":136,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_68f0b7ca","line":134,"range":{"start_line":134,"start_character":6,"end_line":134,"end_character":16},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":134,"context_line":"class IPamSubnet(base.NeutronDbObject):"},{"line_number":135,"context_line":"    # Version 1.0: Initial version"},{"line_number":136,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_9ef5aaee","line":134,"range":{"start_line":134,"start_character":6,"end_line":134,"end_character":16},"in_reply_to":"fa7ab95a_68f0b7ca","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"b18f0ef26b1c4cd5d697f03453eecf4e6066234b","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    db_model \u003d db_models.IpamAllocationPool"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    foreign_keys \u003d {\u0027IpamSubnet\u0027: {\u0027ipam_subnet_id\u0027: \u0027id\u0027}}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    fields \u003d {"},{"line_number":72,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":73,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField(),"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_b5eb0a12","line":70,"updated":"2016-09-08 15:08:03.000000000","message":"primary_keys \u003d [\u0027id\u0027] ??","commit_id":"1cc5f1f1b679e495b7b0f77c63e82e2f0a6b82ca"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"14cf469fb7750baf83cfd19a9042b8b3ca481df1","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    db_model \u003d db_models.IpamAllocationPool"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    foreign_keys \u003d {\u0027IpamSubnet\u0027: {\u0027ipam_subnet_id\u0027: \u0027id\u0027}}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    fields \u003d {"},{"line_number":72,"context_line":"        \u0027id\u0027: obj_fields.UUIDField(),"},{"line_number":73,"context_line":"        \u0027ipam_subnet_id\u0027: obj_fields.UUIDField(),"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_9e454344","line":70,"in_reply_to":"9a89bdaa_b5eb0a12","updated":"2016-09-08 15:45:38.000000000","message":"primary_keys \u003d [\u0027id\u0027] is already inherited from base.NeutronDbObject. See [1]\n\n[1]https://github.com/openstack/neutron/blob/master/neutron/objects/base.py#L274\n\nSo, if the base model has a HasId,then the OVO object will have the [\u0027id\u0027] field but it won\u0027t be written as primary_keys in the OVO object definition because of reason above.\nAn example can be seen here.[2][3]\n[2]https://github.com/openstack/neutron/blob/master/neutron/db/models_v2.py#L180\n[3]https://github.com/openstack/neutron/blob/master/neutron/objects/subnet.py#L152","commit_id":"1cc5f1f1b679e495b7b0f77c63e82e2f0a6b82ca"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"b18f0ef26b1c4cd5d697f03453eecf4e6066234b","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        \u0027allocation_pools\u0027: obj_fields.ListOfObjectsField("},{"line_number":144,"context_line":"            \u0027IpamAllocationPool\u0027)"},{"line_number":145,"context_line":"    }"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    synthetic_fields \u003d [\u0027allocation_pools\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_150bd624","line":146,"updated":"2016-09-08 15:08:03.000000000","message":"primary_keys \u003d [\u0027id\u0027] ??","commit_id":"1cc5f1f1b679e495b7b0f77c63e82e2f0a6b82ca"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"14cf469fb7750baf83cfd19a9042b8b3ca481df1","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        \u0027allocation_pools\u0027: obj_fields.ListOfObjectsField("},{"line_number":144,"context_line":"            \u0027IpamAllocationPool\u0027)"},{"line_number":145,"context_line":"    }"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    synthetic_fields \u003d [\u0027allocation_pools\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_fe7acf75","line":146,"in_reply_to":"9a89bdaa_150bd624","updated":"2016-09-08 15:45:38.000000000","message":"Ditto:Line70","commit_id":"1cc5f1f1b679e495b7b0f77c63e82e2f0a6b82ca"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"609494ed4e61cd1ab571aebf9fdad5582c2cca41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"5a8bc5a2_7c0a4c27","updated":"2016-09-27 13:48:01.000000000","message":"Will there eventually be other modules in the this neutron.object.ipam package? If not I\u0027d opt to just move ipam.py under objects and do away with the ipam package. This module path: neutron.objects.ipam.ipam.py seems redundant given the ipam module is in the ipam package.","commit_id":"5ee03f75714d9351e0263e60ad7dcc642bfa83df"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"442881c1175b12046cae2e1d85c154c33a969883","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"3a98d1f4_c1314b0d","in_reply_to":"5a8bc5a2_7c0a4c27","updated":"2016-09-29 18:58:55.000000000","message":"Done","commit_id":"5ee03f75714d9351e0263e60ad7dcc642bfa83df"}],"neutron/tests/functional/db/test_ipam.py":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"7ae598e3b3e9ee7e396bcd6438dcbb7f7e897261","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                   tenant_id\u003dNone,"},{"line_number":48,"context_line":"                                   is_admin\u003dTrue,"},{"line_number":49,"context_line":"                                   overwrite\u003dFalse)"},{"line_number":50,"context_line":"        tenant_uuid \u003d uuidutils.generate_uuid()"},{"line_number":51,"context_line":"        network_uuid \u003d uuidutils.generate_uuid()"},{"line_number":52,"context_line":"        subnet_uuid \u003d uuidutils.generate_uuid()"},{"line_number":53,"context_line":"        port_uuid \u003d uuidutils.generate_uuid()"},{"line_number":54,"context_line":"        self.tenant_id \u003d tenant_uuid"},{"line_number":55,"context_line":"        self.network_id \u003d network_uuid"},{"line_number":56,"context_line":"        self.subnet_id \u003d subnet_uuid"},{"line_number":57,"context_line":"        self.port_id \u003d port_uuid"},{"line_number":58,"context_line":"        self._create_network()"},{"line_number":59,"context_line":"        self._create_subnet()"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":43,"id":"ba5201f7_89ead172","line":57,"range":{"start_line":50,"start_character":0,"end_line":57,"end_character":32},"updated":"2017-01-11 15:59:04.000000000","message":"nit: Why don\u0027t you assign them directly?\n\n        self.tenant_id \u003d uuidutils.generate_uuid()\n        self.network_id \u003d uuidutils.generate_uuid()\n        self.subnet_id \u003d uuidutils.generate_uuid()\n        self.port_id \u003d uuidutils.generate_uuid()","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"ff9bdd38f3efc310408dd814f11a1c6c2c8626f0","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                   tenant_id\u003dNone,"},{"line_number":48,"context_line":"                                   is_admin\u003dTrue,"},{"line_number":49,"context_line":"                                   overwrite\u003dFalse)"},{"line_number":50,"context_line":"        tenant_uuid \u003d uuidutils.generate_uuid()"},{"line_number":51,"context_line":"        network_uuid \u003d uuidutils.generate_uuid()"},{"line_number":52,"context_line":"        subnet_uuid \u003d uuidutils.generate_uuid()"},{"line_number":53,"context_line":"        port_uuid \u003d uuidutils.generate_uuid()"},{"line_number":54,"context_line":"        self.tenant_id \u003d tenant_uuid"},{"line_number":55,"context_line":"        self.network_id \u003d network_uuid"},{"line_number":56,"context_line":"        self.subnet_id \u003d subnet_uuid"},{"line_number":57,"context_line":"        self.port_id \u003d port_uuid"},{"line_number":58,"context_line":"        self._create_network()"},{"line_number":59,"context_line":"        self._create_subnet()"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":43,"id":"9a57fde8_4cf86e7d","line":57,"range":{"start_line":50,"start_character":0,"end_line":57,"end_character":32},"in_reply_to":"ba5201f7_89ead172","updated":"2017-01-12 13:01:25.000000000","message":"+1","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"32c4981a52254b96c11b928b955086dca68fb94c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                   tenant_id\u003dNone,"},{"line_number":48,"context_line":"                                   is_admin\u003dTrue,"},{"line_number":49,"context_line":"                                   overwrite\u003dFalse)"},{"line_number":50,"context_line":"        tenant_uuid \u003d uuidutils.generate_uuid()"},{"line_number":51,"context_line":"        network_uuid \u003d uuidutils.generate_uuid()"},{"line_number":52,"context_line":"        subnet_uuid \u003d uuidutils.generate_uuid()"},{"line_number":53,"context_line":"        port_uuid \u003d uuidutils.generate_uuid()"},{"line_number":54,"context_line":"        self.tenant_id \u003d tenant_uuid"},{"line_number":55,"context_line":"        self.network_id \u003d network_uuid"},{"line_number":56,"context_line":"        self.subnet_id \u003d subnet_uuid"},{"line_number":57,"context_line":"        self.port_id \u003d port_uuid"},{"line_number":58,"context_line":"        self._create_network()"},{"line_number":59,"context_line":"        self._create_subnet()"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":43,"id":"7a3c09a3_8f25cec3","line":57,"range":{"start_line":50,"start_character":0,"end_line":57,"end_character":32},"in_reply_to":"ba5201f7_89ead172","updated":"2017-01-13 16:04:48.000000000","message":"Done","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"7ae598e3b3e9ee7e396bcd6438dcbb7f7e897261","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    def test_allocate_ip_exausted_pool(self):"},{"line_number":134,"context_line":"        # available from .2 up to .6 -\u003e 5"},{"line_number":135,"context_line":"        for i in range(1, 6):"},{"line_number":136,"context_line":"            port_uuid \u003d uuidutils.generate_uuid()"},{"line_number":137,"context_line":"            self._create_port(port_uuid)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        ip_alloc_pool_expected \u003d [{\u0027first_ip\u0027: \u002710.10.10.2\u0027,"},{"line_number":140,"context_line":"                                   \u0027last_ip\u0027: \u002710.10.10.6\u0027,"}],"source_content_type":"text/x-python","patch_set":43,"id":"ba5201f7_896f31fb","line":137,"range":{"start_line":136,"start_character":0,"end_line":137,"end_character":40},"updated":"2017-01-11 15:59:04.000000000","message":"nit: it seems like you don\u0027t need to create a variable every iteration\n\n            self._create_port(uuidutils.generate_uuid())","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"ff9bdd38f3efc310408dd814f11a1c6c2c8626f0","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    def test_allocate_ip_exausted_pool(self):"},{"line_number":134,"context_line":"        # available from .2 up to .6 -\u003e 5"},{"line_number":135,"context_line":"        for i in range(1, 6):"},{"line_number":136,"context_line":"            port_uuid \u003d uuidutils.generate_uuid()"},{"line_number":137,"context_line":"            self._create_port(port_uuid)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        ip_alloc_pool_expected \u003d [{\u0027first_ip\u0027: \u002710.10.10.2\u0027,"},{"line_number":140,"context_line":"                                   \u0027last_ip\u0027: \u002710.10.10.6\u0027,"}],"source_content_type":"text/x-python","patch_set":43,"id":"9a57fde8_6c3c5230","line":137,"range":{"start_line":136,"start_character":0,"end_line":137,"end_character":40},"in_reply_to":"ba5201f7_896f31fb","updated":"2017-01-12 13:01:25.000000000","message":"+1","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"32c4981a52254b96c11b928b955086dca68fb94c","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    def test_allocate_ip_exausted_pool(self):"},{"line_number":134,"context_line":"        # available from .2 up to .6 -\u003e 5"},{"line_number":135,"context_line":"        for i in range(1, 6):"},{"line_number":136,"context_line":"            port_uuid \u003d uuidutils.generate_uuid()"},{"line_number":137,"context_line":"            self._create_port(port_uuid)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        ip_alloc_pool_expected \u003d [{\u0027first_ip\u0027: \u002710.10.10.2\u0027,"},{"line_number":140,"context_line":"                                   \u0027last_ip\u0027: \u002710.10.10.6\u0027,"}],"source_content_type":"text/x-python","patch_set":43,"id":"7a3c09a3_2f1dba73","line":137,"range":{"start_line":136,"start_character":0,"end_line":137,"end_character":40},"in_reply_to":"ba5201f7_896f31fb","updated":"2017-01-13 16:04:48.000000000","message":"Done","commit_id":"6f57b65fc6cbe3c7aee15d8e0f09ec1229ca3810"},{"author":{"_account_id":17491,"name":"Lujin Luo","email":"luo.lujin@jp.fujitsu.com","username":"Lujin"},"change_message_id":"0f25cf5d54d029c9761bba8c9b90051a646f3702","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    def test_allocate_ip_exausted_pool(self):"},{"line_number":130,"context_line":"        # available from .2 up to .6 -\u003e 5"},{"line_number":131,"context_line":"        for i in range(1, 6):"},{"line_number":132,"context_line":"            self._create_port(uuidutils.generate_uuid())"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        ip_alloc_pool_expected \u003d [{\u0027first_ip\u0027: \u002710.10.10.2\u0027,"},{"line_number":135,"context_line":"                                   \u0027last_ip\u0027: \u002710.10.10.6\u0027,"}],"source_content_type":"text/x-python","patch_set":46,"id":"5a3905b3_ce541a23","line":132,"range":{"start_line":132,"start_character":30,"end_line":132,"end_character":55},"updated":"2017-01-20 04:29:17.000000000","message":"I think this generates random uuid. Is this equivalent to the original implementation?","commit_id":"89f6dd3305180e63367dc8d518f3caf6cb068518"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0b43e038126f920e6f1c46755a3db39f22fa8f2d","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    def test_allocate_ip_exausted_pool(self):"},{"line_number":130,"context_line":"        # available from .2 up to .6 -\u003e 5"},{"line_number":131,"context_line":"        for i in range(1, 6):"},{"line_number":132,"context_line":"            self._create_port(uuidutils.generate_uuid())"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        ip_alloc_pool_expected \u003d [{\u0027first_ip\u0027: \u002710.10.10.2\u0027,"},{"line_number":135,"context_line":"                                   \u0027last_ip\u0027: \u002710.10.10.6\u0027,"}],"source_content_type":"text/x-python","patch_set":46,"id":"5a3905b3_e047fa1a","line":132,"range":{"start_line":132,"start_character":30,"end_line":132,"end_character":55},"in_reply_to":"5a3905b3_5ef99d4c","updated":"2017-01-20 19:29:07.000000000","message":"Yeah, here the goal of the test is to check that create_port fails on ip pool exhausted. It\u0027s the number of ports created that matters, not their IDs.","commit_id":"89f6dd3305180e63367dc8d518f3caf6cb068518"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"2a4b504b2d60476baa492d0eabd642f4a2ec93c9","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    def test_allocate_ip_exausted_pool(self):"},{"line_number":130,"context_line":"        # available from .2 up to .6 -\u003e 5"},{"line_number":131,"context_line":"        for i in range(1, 6):"},{"line_number":132,"context_line":"            self._create_port(uuidutils.generate_uuid())"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        ip_alloc_pool_expected \u003d [{\u0027first_ip\u0027: \u002710.10.10.2\u0027,"},{"line_number":135,"context_line":"                                   \u0027last_ip\u0027: \u002710.10.10.6\u0027,"}],"source_content_type":"text/x-python","patch_set":46,"id":"5a3905b3_5ef99d4c","line":132,"range":{"start_line":132,"start_character":30,"end_line":132,"end_character":55},"in_reply_to":"5a3905b3_ce541a23","updated":"2017-01-20 15:47:59.000000000","message":"Yes it is,even in the original implementation,it\u0027s trying to create five different ports(with different ids).","commit_id":"89f6dd3305180e63367dc8d518f3caf6cb068518"}],"neutron/tests/unit/ipam/drivers/neutrondb_ipam/test_db_api.py":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":24,"context_line":"class TestIpamSubnetManager(testlib_api.SqlTestCase):"},{"line_number":25,"context_line":"    \"\"\"Test case for SubnetManager DB helper class\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    CORE_PLUGIN \u003d \u0027neutron.db.db_base_plugin_v2.NeutronDbPluginV2\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestIpamSubnetManager, self).setUp()"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_35eed1ec","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":66},"updated":"2016-11-30 16:50:37.000000000","message":"nit: Usually the constants are defined after the imports section","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":24,"context_line":"class TestIpamSubnetManager(testlib_api.SqlTestCase):"},{"line_number":25,"context_line":"    \"\"\"Test case for SubnetManager DB helper class\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    CORE_PLUGIN \u003d \u0027neutron.db.db_base_plugin_v2.NeutronDbPluginV2\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestIpamSubnetManager, self).setUp()"}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_3ee3c9da","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":66},"in_reply_to":"5a74a57a_35eed1ec","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def test_create(self):"},{"line_number":44,"context_line":"        self.assertEqual(self.ipam_subnet_id, self.subnet_manager_id)"},{"line_number":45,"context_line":"        count \u003d ipam_obj.IpamSubnet.count("},{"line_number":46,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":47,"context_line":"        self.assertEqual(1, count)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_remove(self):"},{"line_number":50,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_7593e94f","line":47,"range":{"start_line":45,"start_character":8,"end_line":47,"end_character":34},"updated":"2016-11-30 16:50:37.000000000","message":"Maybe we can use object_exists method here","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def test_create(self):"},{"line_number":44,"context_line":"        self.assertEqual(self.ipam_subnet_id, self.subnet_manager_id)"},{"line_number":45,"context_line":"        count \u003d ipam_obj.IpamSubnet.count("},{"line_number":46,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":47,"context_line":"        self.assertEqual(1, count)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_remove(self):"},{"line_number":50,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_7ee9c1b6","line":47,"range":{"start_line":45,"start_character":8,"end_line":47,"end_character":34},"in_reply_to":"5a74a57a_7593e94f","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"},{"line_number":51,"context_line":"                                                self.neutron_subnet_id)"},{"line_number":52,"context_line":"        self.assertEqual(1, count)"},{"line_number":53,"context_line":"        count \u003d ipam_obj.IpamSubnet.count("},{"line_number":54,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":55,"context_line":"        self.assertEqual(0, count)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def test_remove_non_existent_subnet(self):"},{"line_number":58,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_75ba09c2","line":55,"range":{"start_line":53,"start_character":8,"end_line":55,"end_character":34},"updated":"2016-11-30 16:50:37.000000000","message":"ditto: line 45","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"},{"line_number":51,"context_line":"                                                self.neutron_subnet_id)"},{"line_number":52,"context_line":"        self.assertEqual(1, count)"},{"line_number":53,"context_line":"        count \u003d ipam_obj.IpamSubnet.count("},{"line_number":54,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":55,"context_line":"        self.assertEqual(0, count)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def test_remove_non_existent_subnet(self):"},{"line_number":58,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_becfd954","line":55,"range":{"start_line":53,"start_character":8,"end_line":55,"end_character":34},"in_reply_to":"5a74a57a_75ba09c2","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.subnet_manager.delete_allocation(self.ctx,"},{"line_number":110,"context_line":"                                              allocs[0].ip_address)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        count \u003d ipam_obj.IpamAllocation.count("},{"line_number":113,"context_line":"            self.ctx, ipam_subnet_id\u003dself.ipam_subnet_id)"},{"line_number":114,"context_line":"        self.assertEqual(0, count)"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_35d8911d","line":114,"range":{"start_line":112,"start_character":8,"end_line":114,"end_character":34},"updated":"2016-11-30 16:50:37.000000000","message":"ditto: line 45","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.subnet_manager.delete_allocation(self.ctx,"},{"line_number":110,"context_line":"                                              allocs[0].ip_address)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        count \u003d ipam_obj.IpamAllocation.count("},{"line_number":113,"context_line":"            self.ctx, ipam_subnet_id\u003dself.ipam_subnet_id)"},{"line_number":114,"context_line":"        self.assertEqual(0, count)"}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_fed5d1e4","line":114,"range":{"start_line":112,"start_character":8,"end_line":114,"end_character":34},"in_reply_to":"5a74a57a_35d8911d","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def test_create(self):"},{"line_number":44,"context_line":"        self.assertEqual(self.ipam_subnet_id, self.subnet_manager_id)"},{"line_number":45,"context_line":"        ipam \u003d ipam_obj.IpamSubnet.objects_exist("},{"line_number":46,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":47,"context_line":"        self.assertTrue(ipam)"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_ebcf4627","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":12},"updated":"2017-01-18 20:57:26.000000000","message":"subnet_exists?","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def test_create(self):"},{"line_number":44,"context_line":"        self.assertEqual(self.ipam_subnet_id, self.subnet_manager_id)"},{"line_number":45,"context_line":"        ipam \u003d ipam_obj.IpamSubnet.objects_exist("},{"line_number":46,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":47,"context_line":"        self.assertTrue(ipam)"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_68fa5144","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":12},"in_reply_to":"7a3c09a3_ebcf4627","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.assertEqual(self.ipam_subnet_id, self.subnet_manager_id)"},{"line_number":45,"context_line":"        ipam \u003d ipam_obj.IpamSubnet.objects_exist("},{"line_number":46,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":47,"context_line":"        self.assertTrue(ipam)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_remove(self):"},{"line_number":50,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_8b8fa2cb","line":47,"updated":"2017-01-18 20:57:26.000000000","message":"the previous version of the test case was also checking that a single record is returned. Do you think it\u0027s ok to avoid checking it?","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.assertEqual(self.ipam_subnet_id, self.subnet_manager_id)"},{"line_number":45,"context_line":"        ipam \u003d ipam_obj.IpamSubnet.objects_exist("},{"line_number":46,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":47,"context_line":"        self.assertTrue(ipam)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_remove(self):"},{"line_number":50,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_e8a48158","line":47,"in_reply_to":"7a3c09a3_8b8fa2cb","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"},{"line_number":51,"context_line":"                                                self.neutron_subnet_id)"},{"line_number":52,"context_line":"        self.assertEqual(1, count)"},{"line_number":53,"context_line":"        ipam \u003d ipam_obj.IpamSubnet.objects_exist("},{"line_number":54,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":55,"context_line":"        self.assertFalse(ipam)"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_2baf8e2c","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":12},"updated":"2017-01-18 20:57:26.000000000","message":"subnet_exists?","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        count \u003d db_api.IpamSubnetManager.delete(self.ctx,"},{"line_number":51,"context_line":"                                                self.neutron_subnet_id)"},{"line_number":52,"context_line":"        self.assertEqual(1, count)"},{"line_number":53,"context_line":"        ipam \u003d ipam_obj.IpamSubnet.objects_exist("},{"line_number":54,"context_line":"            self.ctx, id\u003dself.ipam_subnet_id)"},{"line_number":55,"context_line":"        self.assertFalse(ipam)"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_4894b5e1","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":12},"in_reply_to":"7a3c09a3_2baf8e2c","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.subnet_manager.delete_allocation(self.ctx,"},{"line_number":110,"context_line":"                                              allocs[0].ip_address)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        ipam \u003d ipam_obj.IpamAllocation.objects_exist("},{"line_number":113,"context_line":"            self.ctx, ipam_subnet_id\u003dself.ipam_subnet_id)"},{"line_number":114,"context_line":"        self.assertFalse(ipam)"}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_8eb5f032","line":112,"range":{"start_line":112,"start_character":8,"end_line":112,"end_character":12},"updated":"2017-01-18 20:57:26.000000000","message":"alloc_exists?","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        self.subnet_manager.delete_allocation(self.ctx,"},{"line_number":110,"context_line":"                                              allocs[0].ip_address)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        ipam \u003d ipam_obj.IpamAllocation.objects_exist("},{"line_number":113,"context_line":"            self.ctx, ipam_subnet_id\u003dself.ipam_subnet_id)"},{"line_number":114,"context_line":"        self.assertFalse(ipam)"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_689171f0","line":112,"range":{"start_line":112,"start_character":8,"end_line":112,"end_character":12},"in_reply_to":"7a3c09a3_8eb5f032","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"}],"neutron/tests/unit/objects/ipam/test_ipam.py":[{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from neutron.tests.unit import testlib_api"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class IPamSubnetObjectIfaceTestCase("},{"line_number":21,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    _test_class \u003d ipam.IPamSubnet"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_e8b20706","line":20,"range":{"start_line":20,"start_character":6,"end_line":20,"end_character":35},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from neutron.tests.unit import testlib_api"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class IPamSubnetObjectIfaceTestCase("},{"line_number":21,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    _test_class \u003d ipam.IPamSubnet"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_bedeee6a","line":20,"range":{"start_line":20,"start_character":6,"end_line":20,"end_character":35},"in_reply_to":"fa7ab95a_e8b20706","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class IPamSubnetObjectIfaceTestCase("},{"line_number":21,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    _test_class \u003d ipam.IPamSubnet"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class IPamSubnetDbObjectTestCase(obj_test_base.BaseDbObjectTestCase,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_08af2b95","line":23,"range":{"start_line":23,"start_character":23,"end_line":23,"end_character":33},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class IPamSubnetObjectIfaceTestCase("},{"line_number":21,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    _test_class \u003d ipam.IPamSubnet"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class IPamSubnetDbObjectTestCase(obj_test_base.BaseDbObjectTestCase,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_dedbb27a","line":23,"range":{"start_line":23,"start_character":23,"end_line":23,"end_character":33},"in_reply_to":"fa7ab95a_08af2b95","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    _test_class \u003d ipam.IPamSubnet"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class IPamSubnetDbObjectTestCase(obj_test_base.BaseDbObjectTestCase,"},{"line_number":27,"context_line":"                                 testlib_api.SqlTestCase):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    _test_class \u003d ipam.IPamSubnet"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_48ca1370","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":32},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    _test_class \u003d ipam.IPamSubnet"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class IPamSubnetDbObjectTestCase(obj_test_base.BaseDbObjectTestCase,"},{"line_number":27,"context_line":"                                 testlib_api.SqlTestCase):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    _test_class \u003d ipam.IPamSubnet"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_1ee27a2f","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":32},"in_reply_to":"fa7ab95a_48ca1370","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class IPamSubnetDbObjectTestCase(obj_test_base.BaseDbObjectTestCase,"},{"line_number":27,"context_line":"                                 testlib_api.SqlTestCase):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    _test_class \u003d ipam.IPamSubnet"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def setUp(self):"},{"line_number":32,"context_line":"        super(IPamSubnetDbObjectTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_2894ef42","line":29,"range":{"start_line":29,"start_character":23,"end_line":29,"end_character":33},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class IPamSubnetDbObjectTestCase(obj_test_base.BaseDbObjectTestCase,"},{"line_number":27,"context_line":"                                 testlib_api.SqlTestCase):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    _test_class \u003d ipam.IPamSubnet"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def setUp(self):"},{"line_number":32,"context_line":"        super(IPamSubnetDbObjectTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_3ed1fe57","line":29,"range":{"start_line":29,"start_character":23,"end_line":29,"end_character":33},"in_reply_to":"fa7ab95a_2894ef42","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        ipam_sub_obj \u003d self._make_object(fields)"},{"line_number":41,"context_line":"        ipam_sub_obj.create()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        listed_obj \u003d ipam.IPamSubnet.get_object("},{"line_number":44,"context_line":"            self.context,"},{"line_number":45,"context_line":"            id\u003dipam_sub_obj.id"},{"line_number":46,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_889b3b72","line":43,"range":{"start_line":43,"start_character":26,"end_line":43,"end_character":36},"updated":"2016-08-31 00:11:59.000000000","message":"ditto\nthere are many more instances in this file where these changes need to be made","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        ipam_sub_obj \u003d self._make_object(fields)"},{"line_number":41,"context_line":"        ipam_sub_obj.create()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        listed_obj \u003d ipam.IPamSubnet.get_object("},{"line_number":44,"context_line":"            self.context,"},{"line_number":45,"context_line":"            id\u003dipam_sub_obj.id"},{"line_number":46,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_7ec70698","line":43,"range":{"start_line":43,"start_character":26,"end_line":43,"end_character":36},"in_reply_to":"fa7ab95a_889b3b72","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"}],"neutron/tests/unit/objects/test_base.py":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":1122,"context_line":"        attrs \u003d {"},{"line_number":1123,"context_line":"            \u0027id\u0027: uuidutils.generate_uuid(),"},{"line_number":1124,"context_line":"        }"},{"line_number":1125,"context_line":"        self._ipam_subnet \u003d obj_db_api.create_object(self.context,"},{"line_number":1126,"context_line":"                                            db_models.IpamSubnet,"},{"line_number":1127,"context_line":"                                            attrs)"},{"line_number":1128,"context_line":""},{"line_number":1129,"context_line":"    def _create_port(self, **port_attrs):"},{"line_number":1130,"context_line":"        if not hasattr(self, \u0027_mac_address_generator\u0027):"}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_9048c1ce","line":1127,"range":{"start_line":1125,"start_character":28,"end_line":1127,"end_character":50},"updated":"2016-10-17 18:37:26.000000000","message":"More likely, you can consume the OVO methods here.","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":1123,"context_line":"            \u0027id\u0027: uuidutils.generate_uuid(),"},{"line_number":1124,"context_line":"        }"},{"line_number":1125,"context_line":"        self._ipam_subnet \u003d obj_db_api.create_object(self.context,"},{"line_number":1126,"context_line":"                                            db_models.IpamSubnet,"},{"line_number":1127,"context_line":"                                            attrs)"},{"line_number":1128,"context_line":""},{"line_number":1129,"context_line":"    def _create_port(self, **port_attrs):"},{"line_number":1130,"context_line":"        if not hasattr(self, \u0027_mac_address_generator\u0027):"}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_b0eea5b2","line":1127,"range":{"start_line":1126,"start_character":44,"end_line":1127,"end_character":50},"updated":"2016-10-17 18:37:26.000000000","message":"This has a wrong identation","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":1122,"context_line":"        attrs \u003d {"},{"line_number":1123,"context_line":"            \u0027id\u0027: uuidutils.generate_uuid(),"},{"line_number":1124,"context_line":"        }"},{"line_number":1125,"context_line":"        self._ipam_subnet \u003d obj_db_api.create_object(self.context,"},{"line_number":1126,"context_line":"                                            db_models.IpamSubnet,"},{"line_number":1127,"context_line":"                                            attrs)"},{"line_number":1128,"context_line":""},{"line_number":1129,"context_line":"    def _create_port(self, **port_attrs):"},{"line_number":1130,"context_line":"        if not hasattr(self, \u0027_mac_address_generator\u0027):"}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_2e03eab9","line":1127,"range":{"start_line":1125,"start_character":28,"end_line":1127,"end_character":50},"in_reply_to":"fa6399be_9048c1ce","updated":"2016-10-18 16:47:09.000000000","message":"Done","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":1123,"context_line":"            \u0027id\u0027: uuidutils.generate_uuid(),"},{"line_number":1124,"context_line":"        }"},{"line_number":1125,"context_line":"        self._ipam_subnet \u003d obj_db_api.create_object(self.context,"},{"line_number":1126,"context_line":"                                            db_models.IpamSubnet,"},{"line_number":1127,"context_line":"                                            attrs)"},{"line_number":1128,"context_line":""},{"line_number":1129,"context_line":"    def _create_port(self, **port_attrs):"},{"line_number":1130,"context_line":"        if not hasattr(self, \u0027_mac_address_generator\u0027):"}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_4e001eab","line":1127,"range":{"start_line":1126,"start_character":44,"end_line":1127,"end_character":50},"in_reply_to":"fa6399be_b0eea5b2","updated":"2016-10-18 16:47:09.000000000","message":"Done","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":1169,"context_line":"        self._subnet.create()"},{"line_number":1170,"context_line":""},{"line_number":1171,"context_line":"    def _create_test_ipam_subnet(self):"},{"line_number":1172,"context_line":"        attrs \u003d {"},{"line_number":1173,"context_line":"            \u0027id\u0027: uuidutils.generate_uuid(),"},{"line_number":1174,"context_line":"        }"},{"line_number":1175,"context_line":"        _ipam_subnet \u003d ipam.IpamSubnet(self.context, **attrs)"},{"line_number":1176,"context_line":"        _ipam_subnet.create()"},{"line_number":1177,"context_line":"        return _ipam_subnet"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"    def _create_port(self, **port_attrs):"},{"line_number":1180,"context_line":"        if not hasattr(self, \u0027_mac_address_generator\u0027):"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_3a731e4f","line":1177,"range":{"start_line":1172,"start_character":0,"end_line":1177,"end_character":27},"updated":"2016-11-30 16:50:37.000000000","message":"You can implement this with random fields function and usually we don\u0027t return the created object.\n\n        attrs \u003d self.get_random_fields(obj_cls\u003dipam.IpamSubnet)\n        self._ipam_subnet \u003d ipam.IpamSubnet(self.context, **attrs)\n        self._ipam_subnet.create()","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":1169,"context_line":"        self._subnet.create()"},{"line_number":1170,"context_line":""},{"line_number":1171,"context_line":"    def _create_test_ipam_subnet(self):"},{"line_number":1172,"context_line":"        attrs \u003d {"},{"line_number":1173,"context_line":"            \u0027id\u0027: uuidutils.generate_uuid(),"},{"line_number":1174,"context_line":"        }"},{"line_number":1175,"context_line":"        _ipam_subnet \u003d ipam.IpamSubnet(self.context, **attrs)"},{"line_number":1176,"context_line":"        _ipam_subnet.create()"},{"line_number":1177,"context_line":"        return _ipam_subnet"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"    def _create_port(self, **port_attrs):"},{"line_number":1180,"context_line":"        if not hasattr(self, \u0027_mac_address_generator\u0027):"}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_1e052d79","line":1177,"range":{"start_line":1172,"start_character":0,"end_line":1177,"end_character":27},"in_reply_to":"5a74a57a_3a731e4f","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"2014114ff87d357eb6996768c95a4c72f8572eeb","unresolved":false,"context_lines":[{"line_number":1265,"context_line":"        self._subnet.create()"},{"line_number":1266,"context_line":""},{"line_number":1267,"context_line":"    def _create_test_ipam_subnet(self):"},{"line_number":1268,"context_line":"        attrs \u003d self.get_random_db_fields(obj_cls\u003dipam.IpamSubnet)"},{"line_number":1269,"context_line":"        self._ipam_subnet \u003d ipam.IpamSubnet(self.context, **attrs)"},{"line_number":1270,"context_line":"        self._ipam_subnet.create()"},{"line_number":1271,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"ba5201f7_47c5823a","line":1268,"updated":"2017-01-02 17:07:19.000000000","message":"get_random_object_fields should be used.","commit_id":"7da51a5ac6d50725969ae8df08e53753831e10bf"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"74f81dcfe4e5c065611cec626e1b3c810abdb0b9","unresolved":false,"context_lines":[{"line_number":1265,"context_line":"        self._subnet.create()"},{"line_number":1266,"context_line":""},{"line_number":1267,"context_line":"    def _create_test_ipam_subnet(self):"},{"line_number":1268,"context_line":"        attrs \u003d self.get_random_db_fields(obj_cls\u003dipam.IpamSubnet)"},{"line_number":1269,"context_line":"        self._ipam_subnet \u003d ipam.IpamSubnet(self.context, **attrs)"},{"line_number":1270,"context_line":"        self._ipam_subnet.create()"},{"line_number":1271,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"ba5201f7_9a704dde","line":1268,"in_reply_to":"ba5201f7_47c5823a","updated":"2017-01-04 20:54:14.000000000","message":"Done","commit_id":"7da51a5ac6d50725969ae8df08e53753831e10bf"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ed508a9c8302c7ded3abce7d584c47e2f8662f08","unresolved":false,"context_lines":[{"line_number":1316,"context_line":"    def _create_test_ipam_subnet(self):"},{"line_number":1317,"context_line":"        attrs \u003d self.get_random_object_fields(obj_cls\u003dipam.IpamSubnet)"},{"line_number":1318,"context_line":"        self._ipam_subnet \u003d ipam.IpamSubnet(self.context, **attrs)"},{"line_number":1319,"context_line":"        self._ipam_subnet.create()"},{"line_number":1320,"context_line":""},{"line_number":1321,"context_line":"    def _create_port(self, **port_attrs):"},{"line_number":1322,"context_line":"        if not hasattr(self, \u0027_mac_address_generator\u0027):"}],"source_content_type":"text/x-python","patch_set":45,"id":"7a3c09a3_0ef740f6","line":1319,"updated":"2017-01-18 20:57:26.000000000","message":"very ipam specific, could as well go into test_ipam.py","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"0148bfaa79978d3f31c19b7ffe66bc11f80f9adf","unresolved":false,"context_lines":[{"line_number":1316,"context_line":"    def _create_test_ipam_subnet(self):"},{"line_number":1317,"context_line":"        attrs \u003d self.get_random_object_fields(obj_cls\u003dipam.IpamSubnet)"},{"line_number":1318,"context_line":"        self._ipam_subnet \u003d ipam.IpamSubnet(self.context, **attrs)"},{"line_number":1319,"context_line":"        self._ipam_subnet.create()"},{"line_number":1320,"context_line":""},{"line_number":1321,"context_line":"    def _create_port(self, **port_attrs):"},{"line_number":1322,"context_line":"        if not hasattr(self, \u0027_mac_address_generator\u0027):"}],"source_content_type":"text/x-python","patch_set":45,"id":"5a3905b3_88bcdd6d","line":1319,"in_reply_to":"7a3c09a3_0ef740f6","updated":"2017-01-19 19:27:13.000000000","message":"Done","commit_id":"a68788acdfe919ef71bb3d66e129718421528b47"}],"neutron/tests/unit/objects/test_ipam.py":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class IpamSubnetObjectIfaceTestCase("},{"line_number":21,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    _test_class \u003d ipam.IpamSubnet"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_70224d03","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":43},"updated":"2016-10-17 18:37:26.000000000","message":"nit: this line can fit in the previous line","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class IpamSubnetObjectIfaceTestCase("},{"line_number":21,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    _test_class \u003d ipam.IpamSubnet"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_6e2b2234","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":43},"in_reply_to":"fa6399be_70224d03","updated":"2016-10-18 16:47:09.000000000","message":"Done","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        super(IpamSubnetDbObjectTestCase, self).setUp()"},{"line_number":33,"context_line":"        self._create_test_network()"},{"line_number":34,"context_line":"        self._create_test_subnet(self._network)"},{"line_number":35,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":36,"context_line":"            obj[\u0027neutron_subnet_id\u0027] \u003d self._subnet[\u0027id\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_b07dc5b3","line":35,"range":{"start_line":35,"start_character":19,"end_line":35,"end_character":34},"updated":"2016-10-17 18:37:26.000000000","message":"AFAIK itertools won\u0027t be used in a near future, so more likely we have to use other alternatives here.","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        super(IpamSubnetDbObjectTestCase, self).setUp()"},{"line_number":33,"context_line":"        self._create_test_network()"},{"line_number":34,"context_line":"        self._create_test_subnet(self._network)"},{"line_number":35,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":36,"context_line":"            obj[\u0027neutron_subnet_id\u0027] \u003d self._subnet[\u0027id\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_2e1a0a18","line":35,"range":{"start_line":35,"start_character":19,"end_line":35,"end_character":34},"in_reply_to":"fa6399be_b07dc5b3","updated":"2016-10-18 16:47:09.000000000","message":"Using zip for a single PK, is reverting the assignment order in the resulting tuple which is leading to an error,hence sticking with itertools.chain for now.","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"class IpamAllocationPoolObjectIfaceTestCase("},{"line_number":40,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    _test_class \u003d ipam.IpamAllocationPool"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_90760105","line":40,"range":{"start_line":40,"start_character":4,"end_line":40,"end_character":43},"updated":"2016-10-17 18:37:26.000000000","message":"ditto: line 21","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"class IpamAllocationPoolObjectIfaceTestCase("},{"line_number":40,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    _test_class \u003d ipam.IpamAllocationPool"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_4e173eed","line":40,"range":{"start_line":40,"start_character":4,"end_line":40,"end_character":43},"in_reply_to":"fa6399be_90760105","updated":"2016-10-18 16:47:09.000000000","message":"This is exceeding 79 characters.","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def setUp(self):"},{"line_number":50,"context_line":"        super(IpamAllocationPoolDbObjectTestCase, self).setUp()"},{"line_number":51,"context_line":"        self._create_test_ipam_subnet()"},{"line_number":52,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":53,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d self._ipam_subnet[\u0027id\u0027]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_3048d587","line":52,"range":{"start_line":52,"start_character":19,"end_line":52,"end_character":34},"updated":"2016-10-17 18:37:26.000000000","message":"ditto: line 35","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def setUp(self):"},{"line_number":50,"context_line":"        super(IpamAllocationPoolDbObjectTestCase, self).setUp()"},{"line_number":51,"context_line":"        self._create_test_ipam_subnet()"},{"line_number":52,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":53,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d self._ipam_subnet[\u0027id\u0027]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_cee18e00","line":52,"range":{"start_line":52,"start_character":19,"end_line":52,"end_character":34},"in_reply_to":"fa6399be_3048d587","updated":"2016-10-18 16:47:09.000000000","message":"ditto","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"class IpamAllocationObjectIfaceTestCase("},{"line_number":57,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    _test_class \u003d ipam.IpamAllocation"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_5053896c","line":57,"range":{"start_line":57,"start_character":4,"end_line":57,"end_character":43},"updated":"2016-10-17 18:37:26.000000000","message":"ditto: line 21","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"class IpamAllocationObjectIfaceTestCase("},{"line_number":57,"context_line":"    obj_test_base.BaseObjectIfaceTestCase):"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    _test_class \u003d ipam.IpamAllocation"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_eee65215","line":57,"range":{"start_line":57,"start_character":4,"end_line":57,"end_character":43},"in_reply_to":"fa6399be_5053896c","updated":"2016-10-18 16:47:09.000000000","message":"Done","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"33377a88424b02392ab7edf7eea0ecc948666515","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def setUp(self):"},{"line_number":67,"context_line":"        super(IpamAllocationDbObjectTestCase, self).setUp()"},{"line_number":68,"context_line":"        self._create_test_ipam_subnet()"},{"line_number":69,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":70,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d self._ipam_subnet[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_d02f99a5","line":69,"range":{"start_line":69,"start_character":19,"end_line":69,"end_character":34},"updated":"2016-10-17 18:37:26.000000000","message":"ditto: line 35","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"390057e502660610f3243c8bfed2aa993111dd7d","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def setUp(self):"},{"line_number":67,"context_line":"        super(IpamAllocationDbObjectTestCase, self).setUp()"},{"line_number":68,"context_line":"        self._create_test_ipam_subnet()"},{"line_number":69,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":70,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d self._ipam_subnet[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":29,"id":"fa6399be_2ef12ace","line":69,"range":{"start_line":69,"start_character":19,"end_line":69,"end_character":34},"in_reply_to":"fa6399be_d02f99a5","updated":"2016-10-18 16:47:09.000000000","message":"ditto","commit_id":"a2cb6f5018971fafc55de10770d3358134ed5eae"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def setUp(self):"},{"line_number":49,"context_line":"        super(IpamAllocationPoolDbObjectTestCase, self).setUp()"},{"line_number":50,"context_line":"        ipam_subnet \u003d self._create_test_ipam_subnet()"},{"line_number":51,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":52,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d ipam_subnet.id"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_ba9d6e5b","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":53},"updated":"2016-11-30 16:50:37.000000000","message":"nit: most of the create test methods store the result in a property, maybe it\u0027s better to keep it as standard","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def setUp(self):"},{"line_number":49,"context_line":"        super(IpamAllocationPoolDbObjectTestCase, self).setUp()"},{"line_number":50,"context_line":"        ipam_subnet \u003d self._create_test_ipam_subnet()"},{"line_number":51,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":52,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d ipam_subnet.id"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_9ef93d83","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":53},"in_reply_to":"5a74a57a_ba9d6e5b","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22774,"name":"Shashank Kumar Shankar","email":"shashank.kumar.shankar@intel.com","username":"skshankar"},"change_message_id":"6d187c9fb38e9c04e47cd79622233e88a4970a6e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def setUp(self):"},{"line_number":49,"context_line":"        super(IpamAllocationPoolDbObjectTestCase, self).setUp()"},{"line_number":50,"context_line":"        ipam_subnet \u003d self._create_test_ipam_subnet()"},{"line_number":51,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":52,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d ipam_subnet.id"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_e3b800e8","line":51,"updated":"2016-12-02 17:38:40.000000000","message":"A new method called update_obj_fields() was introduced [1] and merged. Use example [2] to change appropriately. \n[1] - https://review.openstack.org/#/c/404259/ \n[2] - https://review.openstack.org/#/c/404259/5/neutron/tests/unit/objects/test_securitygroup.py@138","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def setUp(self):"},{"line_number":49,"context_line":"        super(IpamAllocationPoolDbObjectTestCase, self).setUp()"},{"line_number":50,"context_line":"        ipam_subnet \u003d self._create_test_ipam_subnet()"},{"line_number":51,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":52,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d ipam_subnet.id"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_deef35af","line":51,"in_reply_to":"3a71b18c_e3b800e8","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"50ec205e5508d552d0386c83979d83d6e8def3a5","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def setUp(self):"},{"line_number":66,"context_line":"        super(IpamAllocationDbObjectTestCase, self).setUp()"},{"line_number":67,"context_line":"        ipam_subnet \u003d self._create_test_ipam_subnet()"},{"line_number":68,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":69,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d ipam_subnet.id"}],"source_content_type":"text/x-python","patch_set":37,"id":"5a74a57a_3aaa3e71","line":67,"range":{"start_line":67,"start_character":8,"end_line":67,"end_character":53},"updated":"2016-11-30 16:50:37.000000000","message":"ditto: line 50","commit_id":"3d928430b015405503d1e4f93606b6006461250a"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"b7baff2b6cd1cf6b94cd8751fa13025faf2d2bb1","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def setUp(self):"},{"line_number":66,"context_line":"        super(IpamAllocationDbObjectTestCase, self).setUp()"},{"line_number":67,"context_line":"        ipam_subnet \u003d self._create_test_ipam_subnet()"},{"line_number":68,"context_line":"        for obj in itertools.chain(self.db_objs, self.obj_fields, self.objs):"},{"line_number":69,"context_line":"            obj[\u0027ipam_subnet_id\u0027] \u003d ipam_subnet.id"}],"source_content_type":"text/x-python","patch_set":37,"id":"3a71b18c_3e31095b","line":67,"range":{"start_line":67,"start_character":8,"end_line":67,"end_character":53},"in_reply_to":"5a74a57a_3aaa3e71","updated":"2016-12-09 22:05:18.000000000","message":"Done","commit_id":"3d928430b015405503d1e4f93606b6006461250a"}],"neutron/tests/unit/objects/test_objects.py":[{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"47570ec0eb82f73bf5f00c9a9ef1f313358306b5","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \u0027DNSNameServer\u0027: \u00271.0-bf87a85327e2d812d1666ede99d9918b\u0027,"},{"line_number":32,"context_line":"    \u0027ExtraDhcpOpt\u0027: \u00271.0-632f689cbeb36328995a7aed1d0a78d3\u0027,"},{"line_number":33,"context_line":"    \u0027IPAllocationPool\u0027: \u00271.0-371016a6480ed0b4299319cb46d9215d\u0027,"},{"line_number":34,"context_line":"    \u0027IPamAllocation\u0027: \u00271.0-274c2889483b8486e4be0e46610cc53b\u0027,"},{"line_number":35,"context_line":"    \u0027IPamAllocationPool\u0027: \u00271.0-5e6071fd49256fe782811418676eb6ee\u0027,"},{"line_number":36,"context_line":"    \u0027IPamAvailabilityRange\u0027: \u00271.0-d6b56fcf74854cabf0181f733cf912bb\u0027,"},{"line_number":37,"context_line":"    \u0027IPamSubnet\u0027: \u00271.0-aa1e9c0ec9ebda590f06e9fe846b0ee0\u0027,"},{"line_number":38,"context_line":"    \u0027NetworkPortSecurity\u0027: \u00271.0-b30802391a87945ee9c07582b4ff95e3\u0027,"},{"line_number":39,"context_line":"    \u0027NetworkSegment\u0027: \u00271.0-865567a6f70eb85cf33fb7a5575a4eab\u0027,"},{"line_number":40,"context_line":"    \u0027PortSecurity\u0027: \u00271.0-b30802391a87945ee9c07582b4ff95e3\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_e8a92792","line":37,"range":{"start_line":34,"start_character":4,"end_line":37,"end_character":57},"updated":"2016-08-31 00:11:59.000000000","message":"ditto","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"9618a205e23e4576857776cb9dc5846ea29cb072","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \u0027DNSNameServer\u0027: \u00271.0-bf87a85327e2d812d1666ede99d9918b\u0027,"},{"line_number":32,"context_line":"    \u0027ExtraDhcpOpt\u0027: \u00271.0-632f689cbeb36328995a7aed1d0a78d3\u0027,"},{"line_number":33,"context_line":"    \u0027IPAllocationPool\u0027: \u00271.0-371016a6480ed0b4299319cb46d9215d\u0027,"},{"line_number":34,"context_line":"    \u0027IPamAllocation\u0027: \u00271.0-274c2889483b8486e4be0e46610cc53b\u0027,"},{"line_number":35,"context_line":"    \u0027IPamAllocationPool\u0027: \u00271.0-5e6071fd49256fe782811418676eb6ee\u0027,"},{"line_number":36,"context_line":"    \u0027IPamAvailabilityRange\u0027: \u00271.0-d6b56fcf74854cabf0181f733cf912bb\u0027,"},{"line_number":37,"context_line":"    \u0027IPamSubnet\u0027: \u00271.0-aa1e9c0ec9ebda590f06e9fe846b0ee0\u0027,"},{"line_number":38,"context_line":"    \u0027NetworkPortSecurity\u0027: \u00271.0-b30802391a87945ee9c07582b4ff95e3\u0027,"},{"line_number":39,"context_line":"    \u0027NetworkSegment\u0027: \u00271.0-865567a6f70eb85cf33fb7a5575a4eab\u0027,"},{"line_number":40,"context_line":"    \u0027PortSecurity\u0027: \u00271.0-b30802391a87945ee9c07582b4ff95e3\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_fe69568d","line":37,"range":{"start_line":34,"start_character":4,"end_line":37,"end_character":57},"in_reply_to":"fa7ab95a_e8a92792","updated":"2016-09-01 21:35:18.000000000","message":"Done","commit_id":"09b99fa300849bf0d5faedc309942cad9f791853"}]}
