)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Harald Jensas \u003charald.jensas@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-06-05 21:31:08 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not defer allocation if fixed-ips is in the request."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fix a usage regression where ip allocation is always deferred if"},{"line_number":10,"context_line":"binding:host_id is not specified when segments are used. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_9327d3b7","line":7,"range":{"start_line":7,"start_character":47,"end_line":7,"end_character":54},"updated":"2017-06-09 23:32:40.000000000","message":"Can we specify that we are referring to port creation requests (either here or below)?","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Harald Jensas \u003charald.jensas@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-06-05 21:31:08 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not defer allocation if fixed-ips is in the request."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fix a usage regression where ip allocation is always deferred if"},{"line_number":10,"context_line":"binding:host_id is not specified when segments are used. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_879f89b3","line":7,"range":{"start_line":7,"start_character":47,"end_line":7,"end_character":54},"in_reply_to":"7f231b9d_9327d3b7","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not defer allocation if fixed-ips is in the request."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fix a usage regression where ip allocation is always deferred if"},{"line_number":10,"context_line":"binding:host_id is not specified when segments are used. This"},{"line_number":11,"context_line":"causes initial fixed-ips data provided by the user to be _lost_"},{"line_number":12,"context_line":"unless the user also specify the host."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_53081b27","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":22},"updated":"2017-06-09 23:32:40.000000000","message":"Could we point to use case 2 in this spec: https://specs.openstack.org/openstack/nova-specs/specs/newton/implemented/neutron-routed-networks.html","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not defer allocation if fixed-ips is in the request."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fix a usage regression where ip allocation is always deferred if"},{"line_number":10,"context_line":"binding:host_id is not specified when segments are used. This"},{"line_number":11,"context_line":"causes initial fixed-ips data provided by the user to be _lost_"},{"line_number":12,"context_line":"unless the user also specify the host."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_c7b46138","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":22},"in_reply_to":"7f231b9d_53081b27","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Do not defer allocation if fixed-ips is in the request."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fix a usage regression where ip allocation is always deferred if"},{"line_number":10,"context_line":"binding:host_id is not specified when segments are used. This"},{"line_number":11,"context_line":"causes initial fixed-ips data provided by the user to be _lost_"},{"line_number":12,"context_line":"unless the user also specify the host."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_e0062b21","line":10,"range":{"start_line":10,"start_character":38,"end_line":10,"end_character":46},"updated":"2017-06-09 23:32:40.000000000","message":"It would be more appropriate to state \u0027routed networks\u0027 here. Segments are always used, regardless whether in the context of routed networks or not","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Do not defer allocation if fixed-ips is in the request."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fix a usage regression where ip allocation is always deferred if"},{"line_number":10,"context_line":"binding:host_id is not specified when segments are used. This"},{"line_number":11,"context_line":"causes initial fixed-ips data provided by the user to be _lost_"},{"line_number":12,"context_line":"unless the user also specify the host."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_67a46d09","line":10,"range":{"start_line":10,"start_character":38,"end_line":10,"end_character":46},"in_reply_to":"7f231b9d_e0062b21","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":17,"context_line":"a) It is a common pattern, especially in Heat templates to:"},{"line_number":18,"context_line":" 1. Create a port with fixed-ips specifying a subnet."},{"line_number":19,"context_line":" 2. Create a server and associate the existing port."},{"line_number":20,"context_line":"b) It is also common to use Neutron IPAM as a source to get VIP addresses"},{"line_number":21,"context_line":"for clusters on provider networks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This change enable these use cases with routed networks and segments."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_f33cc7c0","line":20,"range":{"start_line":20,"start_character":72,"end_line":20,"end_character":73},"updated":"2017-06-09 23:32:40.000000000","message":"Nit: one character too long","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":17,"context_line":"a) It is a common pattern, especially in Heat templates to:"},{"line_number":18,"context_line":" 1. Create a port with fixed-ips specifying a subnet."},{"line_number":19,"context_line":" 2. Create a server and associate the existing port."},{"line_number":20,"context_line":"b) It is also common to use Neutron IPAM as a source to get VIP addresses"},{"line_number":21,"context_line":"for clusters on provider networks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This change enable these use cases with routed networks and segments."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_47a971dd","line":20,"range":{"start_line":20,"start_character":72,"end_line":20,"end_character":73},"in_reply_to":"7f231b9d_f33cc7c0","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":20,"context_line":"b) It is also common to use Neutron IPAM as a source to get VIP addresses"},{"line_number":21,"context_line":"for clusters on provider networks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This change enable these use cases with routed networks and segments."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I86d4aafa1f8cd425cb1eeecfeaf95226d6d248b4"},{"line_number":26,"context_line":"Closes-Bug: #1695740"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_d349cb60","line":23,"range":{"start_line":23,"start_character":12,"end_line":23,"end_character":18},"updated":"2017-06-09 23:32:40.000000000","message":"nit: enables","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":20,"context_line":"b) It is also common to use Neutron IPAM as a source to get VIP addresses"},{"line_number":21,"context_line":"for clusters on provider networks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This change enable these use cases with routed networks and segments."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I86d4aafa1f8cd425cb1eeecfeaf95226d6d248b4"},{"line_number":26,"context_line":"Closes-Bug: #1695740"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_a783a556","line":23,"range":{"start_line":23,"start_character":12,"end_line":23,"end_character":18},"in_reply_to":"7f231b9d_d349cb60","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":21,"context_line":"for clusters on provider networks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This change enable these use cases with routed networks and segments."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I86d4aafa1f8cd425cb1eeecfeaf95226d6d248b4"},{"line_number":26,"context_line":"Closes-Bug: #1695740"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_d3b78b3a","line":24,"updated":"2017-06-09 23:32:40.000000000","message":"This is going to require an update to the Networking Guide, which currently states \"The Networking service defers assignment of IP addresses to the port until the particular compute node becomes apparent\". We now have exceptions to this.\n\nPlease specify DocImpact tag. Here\u0027s an example: https://review.openstack.org/#/c/424340/","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":21,"context_line":"for clusters on provider networks."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This change enable these use cases with routed networks and segments."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I86d4aafa1f8cd425cb1eeecfeaf95226d6d248b4"},{"line_number":26,"context_line":"Closes-Bug: #1695740"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f231b9d_a7e84516","line":24,"in_reply_to":"7f231b9d_d3b78b3a","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"}],"neutron/db/ipam_backend_mixin.py":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9bb3621f0f73da80d17bba8eaee8a7095fe729f2","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        query \u003d self._query_filter_service_subnets(query, service_type)"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        # Select candidate subnets and return them"},{"line_number":710,"context_line":"        if (fixed and not self.is_host_set(host)):"},{"line_number":711,"context_line":"            # If fixed_ips in request and host is not known all subnets on the"},{"line_number":712,"context_line":"            # network are candidates. Host/Segment will be vailidated on port"},{"line_number":713,"context_line":"            # update with binding:host_id set. Allocation _cannot_ be deferred"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_2270e607","line":710,"range":{"start_line":710,"start_character":8,"end_line":710,"end_character":50},"updated":"2017-06-05 14:35:21.000000000","message":"Might be clearer to tie in with is_host_set() check below, i.e.\nif not self.is_host_set(host):\n    if fixed\n        # comments...\n        return query.all()\n    else\n        # comments...\n        return self._query_exclude_subnets_on_segments(query).all()","commit_id":"97e56e145c0c01a82310aca38a39da1784ae647d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"551a52e8b98297a972de17615f267eb0636490f9","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        query \u003d self._query_filter_service_subnets(query, service_type)"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        # Select candidate subnets and return them"},{"line_number":710,"context_line":"        if (fixed and not self.is_host_set(host)):"},{"line_number":711,"context_line":"            # If fixed_ips in request and host is not known all subnets on the"},{"line_number":712,"context_line":"            # network are candidates. Host/Segment will be vailidated on port"},{"line_number":713,"context_line":"            # update with binding:host_id set. Allocation _cannot_ be deferred"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_abd28a26","line":710,"range":{"start_line":710,"start_character":8,"end_line":710,"end_character":50},"in_reply_to":"df140735_2270e607","updated":"2017-06-05 17:06:58.000000000","message":"+1","commit_id":"97e56e145c0c01a82310aca38a39da1784ae647d"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"8e86e1ab1e77b6e54f4162174e56990781a39ba0","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        query \u003d self._query_filter_service_subnets(query, service_type)"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        # Select candidate subnets and return them"},{"line_number":710,"context_line":"        if (fixed and not self.is_host_set(host)):"},{"line_number":711,"context_line":"            # If fixed_ips in request and host is not known all subnets on the"},{"line_number":712,"context_line":"            # network are candidates. Host/Segment will be vailidated on port"},{"line_number":713,"context_line":"            # update with binding:host_id set. Allocation _cannot_ be deferred"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_012ef790","line":710,"range":{"start_line":710,"start_character":8,"end_line":710,"end_character":50},"in_reply_to":"df140735_2270e607","updated":"2017-06-05 19:48:53.000000000","message":"Done","commit_id":"97e56e145c0c01a82310aca38a39da1784ae647d"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9bb3621f0f73da80d17bba8eaee8a7095fe729f2","unresolved":false,"context_lines":[{"line_number":709,"context_line":"        # Select candidate subnets and return them"},{"line_number":710,"context_line":"        if (fixed and not self.is_host_set(host)):"},{"line_number":711,"context_line":"            # If fixed_ips in request and host is not known all subnets on the"},{"line_number":712,"context_line":"            # network are candidates. Host/Segment will be vailidated on port"},{"line_number":713,"context_line":"            # update with binding:host_id set. Allocation _cannot_ be deferred"},{"line_number":714,"context_line":"            # as requested fixed_ips would then be lost."},{"line_number":715,"context_line":"            return query.all()"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_a2d2b6cf","line":712,"range":{"start_line":712,"start_character":59,"end_line":712,"end_character":69},"updated":"2017-06-05 14:35:21.000000000","message":"Nit - typo (vailidated)","commit_id":"97e56e145c0c01a82310aca38a39da1784ae647d"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"8e86e1ab1e77b6e54f4162174e56990781a39ba0","unresolved":false,"context_lines":[{"line_number":709,"context_line":"        # Select candidate subnets and return them"},{"line_number":710,"context_line":"        if (fixed and not self.is_host_set(host)):"},{"line_number":711,"context_line":"            # If fixed_ips in request and host is not known all subnets on the"},{"line_number":712,"context_line":"            # network are candidates. Host/Segment will be vailidated on port"},{"line_number":713,"context_line":"            # update with binding:host_id set. Allocation _cannot_ be deferred"},{"line_number":714,"context_line":"            # as requested fixed_ips would then be lost."},{"line_number":715,"context_line":"            return query.all()"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_e120a39d","line":712,"range":{"start_line":712,"start_character":59,"end_line":712,"end_character":69},"in_reply_to":"df140735_a2d2b6cf","updated":"2017-06-05 19:48:53.000000000","message":"Done","commit_id":"97e56e145c0c01a82310aca38a39da1784ae647d"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"30df06b8f4330af0c8ba2e1242a9884334df9679","unresolved":false,"context_lines":[{"line_number":660,"context_line":"        return host and validators.is_attr_set(host)"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"    def _ipam_get_subnets("},{"line_number":663,"context_line":"        self, context, network_id, host, service_type\u003dNone, fixed\u003dNone):"},{"line_number":664,"context_line":"        \"\"\"Return eligible subnets"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"        If no eligible subnets are found, determine why and potentially raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_4026ffb9","line":663,"range":{"start_line":663,"start_character":66,"end_line":663,"end_character":70},"updated":"2017-06-09 22:06:10.000000000","message":"It probably doesn\u0027t make a difference, but should this default to False? I think it will indicate the function is expecting a boolean rather than an object. \n\nI ask because I see @L711 you are not using the if fixed is not None, conditional. \n\nAlso in the other file I can see you are passing in a boolean.","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":660,"context_line":"        return host and validators.is_attr_set(host)"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"    def _ipam_get_subnets("},{"line_number":663,"context_line":"        self, context, network_id, host, service_type\u003dNone, fixed\u003dNone):"},{"line_number":664,"context_line":"        \"\"\"Return eligible subnets"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"        If no eligible subnets are found, determine why and potentially raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_c7e22130","line":663,"range":{"start_line":663,"start_character":66,"end_line":663,"end_character":70},"in_reply_to":"7f231b9d_4026ffb9","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":660,"context_line":"        return host and validators.is_attr_set(host)"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"    def _ipam_get_subnets("},{"line_number":663,"context_line":"        self, context, network_id, host, service_type\u003dNone, fixed\u003dNone):"},{"line_number":664,"context_line":"        \"\"\"Return eligible subnets"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"        If no eligible subnets are found, determine why and potentially raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_f3d84780","line":663,"range":{"start_line":663,"start_character":66,"end_line":663,"end_character":70},"in_reply_to":"7f231b9d_4026ffb9","updated":"2017-06-09 23:32:40.000000000","message":"Yeah, default should be False. Also, why not call it \u0027fixed_configured\u0027? It is more descriptive","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":660,"context_line":"        return host and validators.is_attr_set(host)"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"    def _ipam_get_subnets("},{"line_number":663,"context_line":"        self, context, network_id, host, service_type\u003dNone, fixed\u003dNone):"},{"line_number":664,"context_line":"        \"\"\"Return eligible subnets"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"        If no eligible subnets are found, determine why and potentially raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_a7d1655a","line":663,"range":{"start_line":663,"start_character":66,"end_line":663,"end_character":70},"in_reply_to":"7f231b9d_f3d84780","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":701,"context_line":"        raise ipam_exceptions.IpAddressGenerationFailureNoMatchingSubnet()"},{"line_number":702,"context_line":""},{"line_number":703,"context_line":"    def _find_candidate_subnets("},{"line_number":704,"context_line":"        self, context, network_id, host, service_type, fixed):"},{"line_number":705,"context_line":"        \"\"\"Find canditate subnets for the network, host, and service_type\"\"\""},{"line_number":706,"context_line":"        query \u003d self._query_subnets_on_network(context, network_id)"},{"line_number":707,"context_line":"        query \u003d self._query_filter_service_subnets(query, service_type)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_d3be6bfe","line":704,"range":{"start_line":704,"start_character":55,"end_line":704,"end_character":60},"updated":"2017-06-09 23:32:40.000000000","message":"fixed_configured maybe?","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":701,"context_line":"        raise ipam_exceptions.IpAddressGenerationFailureNoMatchingSubnet()"},{"line_number":702,"context_line":""},{"line_number":703,"context_line":"    def _find_candidate_subnets("},{"line_number":704,"context_line":"        self, context, network_id, host, service_type, fixed):"},{"line_number":705,"context_line":"        \"\"\"Find canditate subnets for the network, host, and service_type\"\"\""},{"line_number":706,"context_line":"        query \u003d self._query_subnets_on_network(context, network_id)"},{"line_number":707,"context_line":"        query \u003d self._query_filter_service_subnets(query, service_type)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_87d6694f","line":704,"range":{"start_line":704,"start_character":55,"end_line":704,"end_character":60},"in_reply_to":"7f231b9d_d3be6bfe","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"30df06b8f4330af0c8ba2e1242a9884334df9679","unresolved":false,"context_lines":[{"line_number":714,"context_line":"                # on port update with binding:host_id set. Allocation _cannot_"},{"line_number":715,"context_line":"                # be deferred as requested fixed_ips would then be lost."},{"line_number":716,"context_line":"                return query.all()"},{"line_number":717,"context_line":"            else:"},{"line_number":718,"context_line":"                # If the host isn\u0027t known, we can\u0027t allocate on a routed"},{"line_number":719,"context_line":"                # network. So, exclude any subnets attached to segments."},{"line_number":720,"context_line":"                return self._query_exclude_subnets_on_segments(query).all()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_1dae34e7","line":717,"range":{"start_line":717,"start_character":11,"end_line":717,"end_character":17},"updated":"2017-06-09 22:06:10.000000000","message":"nit: not necessary","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"cf4843eb90c56b48ecc11348f3b8b5e68d177a62","unresolved":false,"context_lines":[{"line_number":714,"context_line":"                # on port update with binding:host_id set. Allocation _cannot_"},{"line_number":715,"context_line":"                # be deferred as requested fixed_ips would then be lost."},{"line_number":716,"context_line":"                return query.all()"},{"line_number":717,"context_line":"            else:"},{"line_number":718,"context_line":"                # If the host isn\u0027t known, we can\u0027t allocate on a routed"},{"line_number":719,"context_line":"                # network. So, exclude any subnets attached to segments."},{"line_number":720,"context_line":"                return self._query_exclude_subnets_on_segments(query).all()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_9336b3b4","line":717,"range":{"start_line":717,"start_character":11,"end_line":717,"end_character":17},"in_reply_to":"7f231b9d_1dae34e7","updated":"2017-06-09 23:32:40.000000000","message":"++","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":714,"context_line":"                # on port update with binding:host_id set. Allocation _cannot_"},{"line_number":715,"context_line":"                # be deferred as requested fixed_ips would then be lost."},{"line_number":716,"context_line":"                return query.all()"},{"line_number":717,"context_line":"            else:"},{"line_number":718,"context_line":"                # If the host isn\u0027t known, we can\u0027t allocate on a routed"},{"line_number":719,"context_line":"                # network. So, exclude any subnets attached to segments."},{"line_number":720,"context_line":"                return self._query_exclude_subnets_on_segments(query).all()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_47d05151","line":717,"range":{"start_line":717,"start_character":11,"end_line":717,"end_character":17},"in_reply_to":"7f231b9d_1dae34e7","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":714,"context_line":"                # on port update with binding:host_id set. Allocation _cannot_"},{"line_number":715,"context_line":"                # be deferred as requested fixed_ips would then be lost."},{"line_number":716,"context_line":"                return query.all()"},{"line_number":717,"context_line":"            else:"},{"line_number":718,"context_line":"                # If the host isn\u0027t known, we can\u0027t allocate on a routed"},{"line_number":719,"context_line":"                # network. So, exclude any subnets attached to segments."},{"line_number":720,"context_line":"                return self._query_exclude_subnets_on_segments(query).all()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_27c5558f","line":717,"range":{"start_line":717,"start_character":11,"end_line":717,"end_character":17},"in_reply_to":"7f231b9d_9336b3b4","updated":"2017-06-10 11:30:15.000000000","message":"Done","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"}],"neutron/db/ipam_pluggable_backend.py":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9bb3621f0f73da80d17bba8eaee8a7095fe729f2","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        a subnet_id then allocate an IP address accordingly."},{"line_number":200,"context_line":"        \"\"\""},{"line_number":201,"context_line":"        p \u003d port[\u0027port\u0027]"},{"line_number":202,"context_line":"        fixed_configured \u003d p[\u0027fixed_ips\u0027] is not constants.ATTR_NOT_SPECIFIED"},{"line_number":203,"context_line":"        fixed \u003d p[\u0027fixed_ips\u0027] if fixed_configured else None"},{"line_number":204,"context_line":"        subnets \u003d self._ipam_get_subnets(context,"},{"line_number":205,"context_line":"                                         network_id\u003dp[\u0027network_id\u0027],"},{"line_number":206,"context_line":"                                         host\u003dp.get(portbindings.HOST_ID),"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_08d50144","line":203,"range":{"start_line":202,"start_character":8,"end_line":203,"end_character":60},"updated":"2017-06-05 14:35:21.000000000","message":"Instead of having 2 variables with essentially the same meaning, seems that could combine this into one \u0027fixed\u0027 variable and change check at line 213.","commit_id":"97e56e145c0c01a82310aca38a39da1784ae647d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"551a52e8b98297a972de17615f267eb0636490f9","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        a subnet_id then allocate an IP address accordingly."},{"line_number":200,"context_line":"        \"\"\""},{"line_number":201,"context_line":"        p \u003d port[\u0027port\u0027]"},{"line_number":202,"context_line":"        fixed_configured \u003d p[\u0027fixed_ips\u0027] is not constants.ATTR_NOT_SPECIFIED"},{"line_number":203,"context_line":"        fixed \u003d p[\u0027fixed_ips\u0027] if fixed_configured else None"},{"line_number":204,"context_line":"        subnets \u003d self._ipam_get_subnets(context,"},{"line_number":205,"context_line":"                                         network_id\u003dp[\u0027network_id\u0027],"},{"line_number":206,"context_line":"                                         host\u003dp.get(portbindings.HOST_ID),"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_cbb37ee8","line":203,"range":{"start_line":202,"start_character":8,"end_line":203,"end_character":60},"in_reply_to":"df140735_08d50144","updated":"2017-06-05 17:06:58.000000000","message":"+1","commit_id":"97e56e145c0c01a82310aca38a39da1784ae647d"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"8e86e1ab1e77b6e54f4162174e56990781a39ba0","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        a subnet_id then allocate an IP address accordingly."},{"line_number":200,"context_line":"        \"\"\""},{"line_number":201,"context_line":"        p \u003d port[\u0027port\u0027]"},{"line_number":202,"context_line":"        fixed_configured \u003d p[\u0027fixed_ips\u0027] is not constants.ATTR_NOT_SPECIFIED"},{"line_number":203,"context_line":"        fixed \u003d p[\u0027fixed_ips\u0027] if fixed_configured else None"},{"line_number":204,"context_line":"        subnets \u003d self._ipam_get_subnets(context,"},{"line_number":205,"context_line":"                                         network_id\u003dp[\u0027network_id\u0027],"},{"line_number":206,"context_line":"                                         host\u003dp.get(portbindings.HOST_ID),"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_e15543fb","line":203,"range":{"start_line":202,"start_character":8,"end_line":203,"end_character":60},"in_reply_to":"df140735_cbb37ee8","updated":"2017-06-05 19:48:53.000000000","message":"Done\n\nI just kept fixed_configured as is, but define it earlier.","commit_id":"97e56e145c0c01a82310aca38a39da1784ae647d"}],"neutron/tests/unit/extensions/test_segment.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"30df06b8f4330af0c8ba2e1242a9884334df9679","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"        response \u003d self.deserialize(self.fmt, request.get_response(self.api))"},{"line_number":1160,"context_line":""},{"line_number":1161,"context_line":"        self.assertEqual(ip_allocation.IP_ALLOCATION_IMMEDIATE,"},{"line_number":1162,"context_line":"                         response[\u0027port\u0027][ip_allocation.IP_ALLOCATION])"},{"line_number":1163,"context_line":"        ips \u003d response[\u0027port\u0027][\u0027fixed_ips\u0027]"},{"line_number":1164,"context_line":"        self.assertNotEqual(0, len(ips))"},{"line_number":1165,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_1d5f5442","line":1162,"range":{"start_line":1162,"start_character":25,"end_line":1162,"end_character":70},"updated":"2017-06-09 22:06:10.000000000","message":"With your change, this no longer returns deferred. +1","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"95ff94969cb67402a60f5b01ad522d31f7aeb7ec","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"        response \u003d self.deserialize(self.fmt, request.get_response(self.api))"},{"line_number":1160,"context_line":""},{"line_number":1161,"context_line":"        self.assertEqual(ip_allocation.IP_ALLOCATION_IMMEDIATE,"},{"line_number":1162,"context_line":"                         response[\u0027port\u0027][ip_allocation.IP_ALLOCATION])"},{"line_number":1163,"context_line":"        ips \u003d response[\u0027port\u0027][\u0027fixed_ips\u0027]"},{"line_number":1164,"context_line":"        self.assertNotEqual(0, len(ips))"},{"line_number":1165,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_0747f91f","line":1162,"range":{"start_line":1162,"start_character":25,"end_line":1162,"end_character":70},"in_reply_to":"7f231b9d_1d5f5442","updated":"2017-06-10 11:30:15.000000000","message":"Ack","commit_id":"433144ed0e442786cb9d673d9b54f46ef5df61ce"}]}
