)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6b0838f2743c5d938757032e67a07f1526fe29a9","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"check the validity of gateway_ip as a subnet had been created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron doesn\u0027t check the validity of gateway_ip as a subnet had"},{"line_number":10,"context_line":"been created. Then we attach interface into a router for this"},{"line_number":11,"context_line":"subnet, the neutron-server will report a error."},{"line_number":12,"context_line":"So, we should check gateway_ip when create a subnet."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_e375e5cd","line":9,"range":{"start_line":9,"start_character":26,"end_line":9,"end_character":34},"updated":"2019-07-04 07:26:33.000000000","message":"I would change validity to something clearer like: \"Neutron doesn\u0027t check that the gateway_ip","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":27295,"name":"Li Zhouzhou","email":"lizhouzhou_yewu@cmss.chinamobile.com","username":"LiZhouzhou"},"change_message_id":"575def715a4f619786fbe3502efc551386b1cd4a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"check the validity of gateway_ip as a subnet had been created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron doesn\u0027t check the validity of gateway_ip as a subnet had"},{"line_number":10,"context_line":"been created. Then we attach interface into a router for this"},{"line_number":11,"context_line":"subnet, the neutron-server will report a error."},{"line_number":12,"context_line":"So, we should check gateway_ip when create a subnet."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_81e8a916","line":9,"range":{"start_line":9,"start_character":26,"end_line":9,"end_character":34},"in_reply_to":"7faddb67_e375e5cd","updated":"2019-07-04 08:18:52.000000000","message":"Thx","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6b0838f2743c5d938757032e67a07f1526fe29a9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"check the validity of gateway_ip as a subnet had been created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron doesn\u0027t check the validity of gateway_ip as a subnet had"},{"line_number":10,"context_line":"been created. Then we attach interface into a router for this"},{"line_number":11,"context_line":"subnet, the neutron-server will report a error."},{"line_number":12,"context_line":"So, we should check gateway_ip when create a subnet."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_23e9bd7f","line":10,"range":{"start_line":10,"start_character":14,"end_line":10,"end_character":18},"updated":"2019-07-04 07:26:33.000000000","message":"nit: When","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":27295,"name":"Li Zhouzhou","email":"lizhouzhou_yewu@cmss.chinamobile.com","username":"LiZhouzhou"},"change_message_id":"575def715a4f619786fbe3502efc551386b1cd4a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"check the validity of gateway_ip as a subnet had been created"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron doesn\u0027t check the validity of gateway_ip as a subnet had"},{"line_number":10,"context_line":"been created. Then we attach interface into a router for this"},{"line_number":11,"context_line":"subnet, the neutron-server will report a error."},{"line_number":12,"context_line":"So, we should check gateway_ip when create a subnet."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_a1eda526","line":10,"range":{"start_line":10,"start_character":14,"end_line":10,"end_character":18},"in_reply_to":"7faddb67_23e9bd7f","updated":"2019-07-04 08:18:52.000000000","message":"Done","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6b0838f2743c5d938757032e67a07f1526fe29a9","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron doesn\u0027t check the validity of gateway_ip as a subnet had"},{"line_number":10,"context_line":"been created. Then we attach interface into a router for this"},{"line_number":11,"context_line":"subnet, the neutron-server will report a error."},{"line_number":12,"context_line":"So, we should check gateway_ip when create a subnet."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I8dd0709a9c23b21374d5bf987f4ec03d381f435f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_43ee3989","line":11,"range":{"start_line":11,"start_character":39,"end_line":11,"end_character":40},"updated":"2019-07-04 07:26:33.000000000","message":"nit: error","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":27295,"name":"Li Zhouzhou","email":"lizhouzhou_yewu@cmss.chinamobile.com","username":"LiZhouzhou"},"change_message_id":"575def715a4f619786fbe3502efc551386b1cd4a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"neutron doesn\u0027t check the validity of gateway_ip as a subnet had"},{"line_number":10,"context_line":"been created. Then we attach interface into a router for this"},{"line_number":11,"context_line":"subnet, the neutron-server will report a error."},{"line_number":12,"context_line":"So, we should check gateway_ip when create a subnet."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I8dd0709a9c23b21374d5bf987f4ec03d381f435f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_41f2b108","line":11,"range":{"start_line":11,"start_character":39,"end_line":11,"end_character":40},"in_reply_to":"7faddb67_43ee3989","updated":"2019-07-04 08:18:52.000000000","message":"Done","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6b0838f2743c5d938757032e67a07f1526fe29a9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"neutron doesn\u0027t check the validity of gateway_ip as a subnet had"},{"line_number":10,"context_line":"been created. Then we attach interface into a router for this"},{"line_number":11,"context_line":"subnet, the neutron-server will report a error."},{"line_number":12,"context_line":"So, we should check gateway_ip when create a subnet."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I8dd0709a9c23b21374d5bf987f4ec03d381f435f"},{"line_number":15,"context_line":"Closes-bug: 1835344"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_e302c53e","line":12,"range":{"start_line":12,"start_character":36,"end_line":12,"end_character":42},"updated":"2019-07-04 07:26:33.000000000","message":"nit: creating","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":27295,"name":"Li Zhouzhou","email":"lizhouzhou_yewu@cmss.chinamobile.com","username":"LiZhouzhou"},"change_message_id":"575def715a4f619786fbe3502efc551386b1cd4a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"neutron doesn\u0027t check the validity of gateway_ip as a subnet had"},{"line_number":10,"context_line":"been created. Then we attach interface into a router for this"},{"line_number":11,"context_line":"subnet, the neutron-server will report a error."},{"line_number":12,"context_line":"So, we should check gateway_ip when create a subnet."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I8dd0709a9c23b21374d5bf987f4ec03d381f435f"},{"line_number":15,"context_line":"Closes-bug: 1835344"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7faddb67_61f7adf7","line":12,"range":{"start_line":12,"start_character":36,"end_line":12,"end_character":42},"in_reply_to":"7faddb67_e302c53e","updated":"2019-07-04 08:18:52.000000000","message":"Done","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"}],"neutron/ipam/utils.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"6b0838f2743c5d938757032e67a07f1526fe29a9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    # \u0027network\u0027 or the \u0027broadcast address (only in IPv4)\u0027."},{"line_number":47,"context_line":"    # If gateway is out of subnet, there is no way to"},{"line_number":48,"context_line":"    # check since we don\u0027t have gateway\u0027s subnet cidr."},{"line_number":49,"context_line":"    # Note(jetlee): if gateway which not in subnet cidr,"},{"line_number":50,"context_line":"    # the subnet cannot add into router."},{"line_number":51,"context_line":"    return (ip not in net or"},{"line_number":52,"context_line":"            (net.version \u003d\u003d constants.IP_VERSION_4 and"},{"line_number":53,"context_line":"            ip in (net.network, net[-1])))"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_26cb0ba6","line":50,"range":{"start_line":49,"start_character":4,"end_line":50,"end_character":40},"updated":"2019-07-04 07:26:33.000000000","message":"I think you misunderstood this logic, and the purpose of it.\nIn l47 the comment states that the gateway can be outside of the subnet","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":27295,"name":"Li Zhouzhou","email":"lizhouzhou_yewu@cmss.chinamobile.com","username":"LiZhouzhou"},"change_message_id":"575def715a4f619786fbe3502efc551386b1cd4a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    # \u0027network\u0027 or the \u0027broadcast address (only in IPv4)\u0027."},{"line_number":47,"context_line":"    # If gateway is out of subnet, there is no way to"},{"line_number":48,"context_line":"    # check since we don\u0027t have gateway\u0027s subnet cidr."},{"line_number":49,"context_line":"    # Note(jetlee): if gateway which not in subnet cidr,"},{"line_number":50,"context_line":"    # the subnet cannot add into router."},{"line_number":51,"context_line":"    return (ip not in net or"},{"line_number":52,"context_line":"            (net.version \u003d\u003d constants.IP_VERSION_4 and"},{"line_number":53,"context_line":"            ip in (net.network, net[-1])))"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_c190e198","line":50,"range":{"start_line":49,"start_character":4,"end_line":50,"end_character":40},"in_reply_to":"7faddb67_26cb0ba6","updated":"2019-07-04 08:18:52.000000000","message":"I have seen it. But, if we have created a subnet like this, the \u0027neutron router-interface-add\u0027 operation will be forbidden.","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f82330c1ef76f5dfaf898db81d6ce37cfba091ee","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    # \u0027network\u0027 or the \u0027broadcast address (only in IPv4)\u0027."},{"line_number":47,"context_line":"    # If gateway is out of subnet, there is no way to"},{"line_number":48,"context_line":"    # check since we don\u0027t have gateway\u0027s subnet cidr."},{"line_number":49,"context_line":"    # Note(jetlee): if gateway which not in subnet cidr,"},{"line_number":50,"context_line":"    # the subnet cannot add into router."},{"line_number":51,"context_line":"    return (ip not in net or"},{"line_number":52,"context_line":"            (net.version \u003d\u003d constants.IP_VERSION_4 and"},{"line_number":53,"context_line":"            ip in (net.network, net[-1])))"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_83a0a6a7","line":50,"range":{"start_line":49,"start_character":4,"end_line":50,"end_character":40},"in_reply_to":"7faddb67_c190e198","updated":"2019-07-04 15:34:45.000000000","message":"As Lajos commented in PS1, you misunderstood the logic. This function is doing exactly what is supposed to do:\n- if the IP is the network itself (e.g.: 10.0.0.0 for 10.0.0.0/24)\n- if the IP is the broadcast address (in IPv4) (e.g.: 10.0.0.255)","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"}],"neutron/tests/unit/ipam/test_utils.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f82330c1ef76f5dfaf898db81d6ce37cfba091ee","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        expected \u003d [netaddr.IPRange(\u0027::1\u0027, \u0027::FFFF:FFFF:FFFF:FFFF\u0027)]"},{"line_number":89,"context_line":"        self.assertEqual(expected, utils.generate_pools(cidr, None))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def test_check_gateway_invalid_in_subnet(self):"},{"line_number":92,"context_line":"        cidr \u003d \u0027192.168.0.0/24\u0027"},{"line_number":93,"context_line":"        gateway \u003d \u0027192.168.1.1\u0027"},{"line_number":94,"context_line":"        expected \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_43838e05","line":91,"updated":"2019-07-04 15:34:45.000000000","message":"NOTE for myself: push a patch with UTs for check_gateway_invalid_in_subnet","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"},{"author":{"_account_id":27295,"name":"Li Zhouzhou","email":"lizhouzhou_yewu@cmss.chinamobile.com","username":"LiZhouzhou"},"change_message_id":"34e01916c34b2a8e784f384433ab804fd410bee0","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        expected \u003d [netaddr.IPRange(\u0027::1\u0027, \u0027::FFFF:FFFF:FFFF:FFFF\u0027)]"},{"line_number":89,"context_line":"        self.assertEqual(expected, utils.generate_pools(cidr, None))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def test_check_gateway_invalid_in_subnet(self):"},{"line_number":92,"context_line":"        cidr \u003d \u0027192.168.0.0/24\u0027"},{"line_number":93,"context_line":"        gateway \u003d \u0027192.168.1.1\u0027"},{"line_number":94,"context_line":"        expected \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_5ef5a4ca","line":91,"in_reply_to":"7faddb67_43838e05","updated":"2019-07-05 05:42:32.000000000","message":"ok","commit_id":"c91d794c3498973a3d5b3bed571d4a3310a49eb5"}]}
