)]}'
{"neutron/db/db_base_plugin_v2.py":[{"author":{"_account_id":22132,"name":"Lu lei","email":"lei.lu@easystack.cn","username":"Lulei"},"change_message_id":"9911dd3b1a3b553aa3964b8ebf1dab131ccd16a3","unresolved":false,"context_lines":[{"line_number":583,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":584,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":585,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":586,"context_line":"            elif net.cidr \u003d\u003d netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":587,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_b5fff364","line":586,"range":{"start_line":586,"start_character":17,"end_line":586,"end_character":59},"updated":"2018-07-01 07:06:47.000000000","message":"1.I think you should add ip_version\u003d\u003d4, otherwise will causes functional test error when call _validate_subnet()?\n2. How to check subent cidr is 0.x.x.x/x？","commit_id":"5ee62ebe54dbdecf79070b228f25cc8644afb04b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0f2009da2ccc9f4f225e20a4d6b3526fcda85eb6","unresolved":false,"context_lines":[{"line_number":587,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":592,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_b63e0224","line":590,"range":{"start_line":590,"start_character":40,"end_line":590,"end_character":70},"updated":"2018-07-26 08:54:52.000000000","message":"maybe You could define it as a \"constant\" also?","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0f2009da2ccc9f4f225e20a4d6b3526fcda85eb6","unresolved":false,"context_lines":[{"line_number":587,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":592,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_d6cb7e48","line":590,"range":{"start_line":590,"start_character":27,"end_line":590,"end_character":28},"updated":"2018-07-26 08:54:52.000000000","message":"nit: there is constant for that in neutron_lib.constants","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":22132,"name":"Lu lei","email":"lei.lu@easystack.cn","username":"Lulei"},"change_message_id":"3fd60a5988433b6f02dbaea43d1a0844ddaa729a","unresolved":false,"context_lines":[{"line_number":587,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":592,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_431249b5","line":590,"range":{"start_line":590,"start_character":40,"end_line":590,"end_character":70},"in_reply_to":"5f7c97a3_b63e0224","updated":"2018-07-26 11:55:07.000000000","message":"you\u0027re right, thx.","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":22132,"name":"Lu lei","email":"lei.lu@easystack.cn","username":"Lulei"},"change_message_id":"3fd60a5988433b6f02dbaea43d1a0844ddaa729a","unresolved":false,"context_lines":[{"line_number":587,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":592,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_a339dd40","line":590,"range":{"start_line":590,"start_character":27,"end_line":590,"end_character":28},"in_reply_to":"5f7c97a3_d6cb7e48","updated":"2018-07-26 11:55:07.000000000","message":"ok, got it:)","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"a36212ee0a11d21c15b181c1b9de784d21b8084a","unresolved":false,"context_lines":[{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":592,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":594,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_ff84c658","line":591,"range":{"start_line":591,"start_character":35,"end_line":591,"end_character":56},"updated":"2018-08-01 20:30:11.000000000","message":"It looks the error message is inconsistent with the check. The \u0027elif\u0027 check if the network in \u00270.0.0.0/8\u0027 while the error message said \u0027reserved network\u0027 is not supported. My understanding of the \u0027reserved network\u0027 contains not only \u00270.0.0.0/8\u0027 but also many others [1]. It seems either the check needs to be fixed or the error message needs to be improved.\n\n[1] https://github.com/drkjam/netaddr/blob/rel-0.7.x/netaddr/ip/__init__.py#L1859","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":22132,"name":"Lu lei","email":"lei.lu@easystack.cn","username":"Lulei"},"change_message_id":"da72e24999e14272708858359b89939802785cd7","unresolved":false,"context_lines":[{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":592,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":594,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_13809a9b","line":591,"range":{"start_line":591,"start_character":35,"end_line":591,"end_character":56},"in_reply_to":"5f7c97a3_7fa676c1","updated":"2018-08-02 03:00:24.000000000","message":"got it, thx:)","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a5127e87019f0b2b6f0ac3c78faa1bad0b8436e7","unresolved":false,"context_lines":[{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":592,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":594,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_7fa676c1","line":591,"range":{"start_line":591,"start_character":35,"end_line":591,"end_character":56},"in_reply_to":"5f7c97a3_ff84c658","updated":"2018-08-01 20:42:52.000000000","message":"Some of the other networks in the netaddr IPV4_RESERVED block are for documentation, so don\u0027t break anything.  But yes, I suppose we can update the message to mention \u00270.0.0.0/8\u0027 explicitly - \"Reserved network \u00270.0.0.0/8\u0027 is not supported if enable_dhcp is True\"","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":22132,"name":"Lu lei","email":"lei.lu@easystack.cn","username":"Lulei"},"change_message_id":"da72e24999e14272708858359b89939802785cd7","unresolved":false,"context_lines":[{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"IANA reserved network is not supported \""},{"line_number":592,"context_line":"                                  \"if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":594,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_7391cef6","line":591,"range":{"start_line":591,"start_character":35,"end_line":591,"end_character":56},"in_reply_to":"5f7c97a3_ff84c658","updated":"2018-08-02 03:00:24.000000000","message":"Thx for your suggestion, I\u0027ll update error message.","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"504749ed0077d2366bcb04de3d66cdc4b0aa3ef8","unresolved":false,"context_lines":[{"line_number":587,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"Reserved network \u00270.0.0.0/8\u0027 is not \""},{"line_number":592,"context_line":"                                  \"supported if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_54e7c5ac","line":590,"updated":"2018-08-02 19:19:37.000000000","message":"So I see in the bug Hongbin mentioned this isn\u0027t limited to 0.0.0.0/8, but the range he mentioned was 10.0.0.0/4, which isn\u0027t in the reserved or private IPv4 space.  Let me just confirm with him what the issue was, but I don\u0027t think it should stop this change just yet.","commit_id":"8d45a0b3761f0a99763006b569860ba46a337801"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"d112d8d2a1a2fc88d9c99437b330d71462dd6406","unresolved":false,"context_lines":[{"line_number":587,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"Reserved network \u00270.0.0.0/8\u0027 is not \""},{"line_number":592,"context_line":"                                  \"supported if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_a834b6ac","line":590,"in_reply_to":"5f7c97a3_4d0c1444","updated":"2018-08-02 21:37:50.000000000","message":"I think Brian\u0027s suggestion is the easiest way to accomplish this.","commit_id":"8d45a0b3761f0a99763006b569860ba46a337801"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e4a13ec414dc75a55e307419ef8ccf355305a245","unresolved":false,"context_lines":[{"line_number":587,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net in netaddr.IPNetwork(\u00270.0.0.0/8\u0027):"},{"line_number":591,"context_line":"                error_message \u003d _(\"Reserved network \u00270.0.0.0/8\u0027 is not \""},{"line_number":592,"context_line":"                                  \"supported if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_4d0c1444","line":590,"in_reply_to":"5f7c97a3_54e7c5ac","updated":"2018-08-02 21:14:32.000000000","message":"So looking at this further, I just pasted this in the bug:\n\n\u003e\u003e\u003e import netaddr\n\u003e\u003e\u003e net \u003d netaddr.IPNetwork(\u002710.0.0.0/4\u0027)\n\u003e\u003e\u003e net.network\nIPAddress(\u00270.0.0.0\u0027)\n\nWhen it calculates the mask and ands it with the passed network value that is what we get.\n\n\u003e\u003e\u003e net.first\n0\n\n^^ That might be a possible check that will not break us:\n\n... and net.first is not 0:","commit_id":"8d45a0b3761f0a99763006b569860ba46a337801"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0fe7c4f6338602e0df3d531d4fa69422c587dfad","unresolved":false,"context_lines":[{"line_number":587,"context_line":"                error_message \u003d _(\"Loopback IP subnet is not supported \""},{"line_number":588,"context_line":"                                  \"if enable_dhcp is True\")"},{"line_number":589,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"},{"line_number":590,"context_line":"            elif ip_ver \u003d\u003d 4 and net.first is 0:"},{"line_number":591,"context_line":"                error_message \u003d _(\"First IP \u00270.0.0.0\u0027 of network is not \""},{"line_number":592,"context_line":"                                  \"supported if enable_dhcp is True.\")"},{"line_number":593,"context_line":"                raise exc.InvalidInput(error_message\u003derror_message)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_8c880671","line":590,"range":{"start_line":590,"start_character":26,"end_line":590,"end_character":28},"updated":"2018-08-28 07:50:13.000000000","message":"I know that it is nitty nit but please use constant from neutron_lib for that. We currently have some quite big patches which replaces such direct usage to constants in all unit/functional tests so I think we should try to be consequent with it :)","commit_id":"8081079a2976b96dba0ed60d9dfce2b1b0d21e09"}],"neutron/tests/unit/db/test_db_base_plugin_v2.py":[{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"a36212ee0a11d21c15b181c1b9de784d21b8084a","unresolved":false,"context_lines":[{"line_number":3195,"context_line":"            res \u003d subnet_req.get_response(self.api)"},{"line_number":3196,"context_line":"            self.assertEqual(webob.exc.HTTPClientError.code, res.status_int)"},{"line_number":3197,"context_line":""},{"line_number":3198,"context_line":"    def test_create_subnet_reserved_V4_cidr(self):"},{"line_number":3199,"context_line":"        with self.network() as network:"},{"line_number":3200,"context_line":"            data \u003d {\u0027subnet\u0027: {\u0027network_id\u0027: network[\u0027network\u0027][\u0027id\u0027],"},{"line_number":3201,"context_line":"                    \u0027cidr\u0027: \u00270.1.0.0/15\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_bf364eb2","line":3198,"range":{"start_line":3198,"start_character":8,"end_line":3198,"end_character":43},"updated":"2018-08-01 20:30:11.000000000","message":"It is better to have a test case for testing update_subnet.","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"},{"author":{"_account_id":22132,"name":"Lu lei","email":"lei.lu@easystack.cn","username":"Lulei"},"change_message_id":"da72e24999e14272708858359b89939802785cd7","unresolved":false,"context_lines":[{"line_number":3195,"context_line":"            res \u003d subnet_req.get_response(self.api)"},{"line_number":3196,"context_line":"            self.assertEqual(webob.exc.HTTPClientError.code, res.status_int)"},{"line_number":3197,"context_line":""},{"line_number":3198,"context_line":"    def test_create_subnet_reserved_V4_cidr(self):"},{"line_number":3199,"context_line":"        with self.network() as network:"},{"line_number":3200,"context_line":"            data \u003d {\u0027subnet\u0027: {\u0027network_id\u0027: network[\u0027network\u0027][\u0027id\u0027],"},{"line_number":3201,"context_line":"                    \u0027cidr\u0027: \u00270.1.0.0/15\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_d38542ac","line":3198,"range":{"start_line":3198,"start_character":8,"end_line":3198,"end_character":43},"in_reply_to":"5f7c97a3_bf364eb2","updated":"2018-08-02 03:00:24.000000000","message":"I\u0027ll do it later.","commit_id":"f13f18df3272133b5511162ba3b87585d7de8181"}]}
