)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"833446ec6a54ca715907c43907ad32106b0fddbb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dongcan Ye \u003chellochosen@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-30 10:54:06 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix add invalid allowed address cidr"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Idf66aa3cedaf8be6240fc1335711a2af4e6fbbdd"},{"line_number":10,"context_line":"Closes-Bug: #1707819"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f287b81_634dc43c","line":7,"updated":"2017-08-30 17:32:00.000000000","message":"Like I mentioned in the release note, this is not specific to allowed address pairs, it\u0027s changing the behavior of the subnet validator to be stricter wrt what it accepts.","commit_id":"694eac3765ffb40a1a61acdb9e7eb9da759007f2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"5faa39acfe2029d055fcdce4da7b82fd0cd9b337","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dongcan Ye \u003chellochosen@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-30 10:54:06 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix add invalid allowed address cidr"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Idf66aa3cedaf8be6240fc1335711a2af4e6fbbdd"},{"line_number":10,"context_line":"Closes-Bug: #1707819"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f287b81_0b6cce99","line":7,"in_reply_to":"7f287b81_634dc43c","updated":"2017-08-31 01:35:25.000000000","message":"Done","commit_id":"694eac3765ffb40a1a61acdb9e7eb9da759007f2"}],"neutron_lib/api/validators/__init__.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9ed05ddce25ed179ffbde3ddbf7c846b1ea4226e","unresolved":false,"context_lines":[{"line_number":640,"context_line":"        net \u003d netaddr.IPNetwork(validate_no_whitespace(data))"},{"line_number":641,"context_line":"        if (\u0027/\u0027 not in data"},{"line_number":642,"context_line":"            or (net.version \u003d\u003d 4 and str(net) !\u003d data)"},{"line_number":643,"context_line":"                or (net.version \u003d\u003d 4 and str(net.cidr) !\u003d data)):"},{"line_number":644,"context_line":"            msg \u003d _(\"\u0027%(data)s\u0027 isn\u0027t a recognized IP subnet cidr,\""},{"line_number":645,"context_line":"                    \" \u0027%(cidr)s\u0027 is recommended\") % {\"data\": data,"},{"line_number":646,"context_line":"                                                     \"cidr\": net.cidr}"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_5c865015","line":643,"range":{"start_line":643,"start_character":20,"end_line":643,"end_character":36},"updated":"2017-08-29 16:06:27.000000000","message":"Don\u0027t need two IPv4 checks, can \"or\" the two string checks","commit_id":"18e34473fceb59f68b0477af508628ec73b163ce"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"27f20430cc2432001a04299c3fe9ba35d04f09ef","unresolved":false,"context_lines":[{"line_number":640,"context_line":"        net \u003d netaddr.IPNetwork(validate_no_whitespace(data))"},{"line_number":641,"context_line":"        if (\u0027/\u0027 not in data"},{"line_number":642,"context_line":"            or (net.version \u003d\u003d 4 and str(net) !\u003d data)"},{"line_number":643,"context_line":"                or (net.version \u003d\u003d 4 and str(net.cidr) !\u003d data)):"},{"line_number":644,"context_line":"            msg \u003d _(\"\u0027%(data)s\u0027 isn\u0027t a recognized IP subnet cidr,\""},{"line_number":645,"context_line":"                    \" \u0027%(cidr)s\u0027 is recommended\") % {\"data\": data,"},{"line_number":646,"context_line":"                                                     \"cidr\": net.cidr}"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_07ad019a","line":643,"range":{"start_line":643,"start_character":20,"end_line":643,"end_character":36},"in_reply_to":"7f287b81_5c865015","updated":"2017-08-30 02:53:24.000000000","message":"Done","commit_id":"18e34473fceb59f68b0477af508628ec73b163ce"}],"neutron_lib/tests/unit/api/validators/test_validators.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9ed05ddce25ed179ffbde3ddbf7c846b1ea4226e","unresolved":false,"context_lines":[{"line_number":676,"context_line":"                                                   \"cidr\": \"10.0.2.0/32\"}"},{"line_number":677,"context_line":"        self.assertEqual(error, msg)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"        # Valid - IPv4 with non-zero masked bits is ok"},{"line_number":680,"context_line":"        for i in range(1, 255):"},{"line_number":681,"context_line":"            cidr \u003d \"192.168.1.%s/24\" % i"},{"line_number":682,"context_line":"            net \u003d netaddr.IPNetwork(cidr)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_dc980076","line":679,"range":{"start_line":679,"start_character":10,"end_line":679,"end_character":54},"updated":"2017-08-29 16:06:27.000000000","message":"Comment wrong now","commit_id":"18e34473fceb59f68b0477af508628ec73b163ce"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"27f20430cc2432001a04299c3fe9ba35d04f09ef","unresolved":false,"context_lines":[{"line_number":676,"context_line":"                                                   \"cidr\": \"10.0.2.0/32\"}"},{"line_number":677,"context_line":"        self.assertEqual(error, msg)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"        # Valid - IPv4 with non-zero masked bits is ok"},{"line_number":680,"context_line":"        for i in range(1, 255):"},{"line_number":681,"context_line":"            cidr \u003d \"192.168.1.%s/24\" % i"},{"line_number":682,"context_line":"            net \u003d netaddr.IPNetwork(cidr)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_c7925957","line":679,"range":{"start_line":679,"start_character":10,"end_line":679,"end_character":54},"in_reply_to":"7f287b81_dc980076","updated":"2017-08-30 02:53:24.000000000","message":"Done","commit_id":"18e34473fceb59f68b0477af508628ec73b163ce"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"24b2ca79bf1bbafb468671c1526a8593d69ff01a","unresolved":false,"context_lines":[{"line_number":676,"context_line":"                                                   \"cidr\": \"10.0.2.0/32\"}"},{"line_number":677,"context_line":"        self.assertEqual(error, msg)"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"        # Invalid - IPv4 with non-zero masked bits"},{"line_number":680,"context_line":"        for i in range(1, 255):"},{"line_number":681,"context_line":"            cidr \u003d \"192.168.1.%s/24\" % i"},{"line_number":682,"context_line":"            net \u003d netaddr.IPNetwork(cidr)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_e6d3f7ff","line":679,"updated":"2017-08-31 03:21:03.000000000","message":"With these tests changes you\u0027re masking a non-backward compatible API change. This cannot be allowed as is. Without the introduction of a new validator I can\u0027t see how this can be accepted, but to be perfectly honest I am not sure I see a bug here either.","commit_id":"4a99de647ecfb30b0b9715fc86d39eb0c89e5d6d"}],"releasenotes/notes/update_validate_subnet-eb2d44353ee6b2eb.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"833446ec6a54ca715907c43907ad32106b0fddbb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Validate subnet in allowed_address_pairs should strictly"},{"line_number":4,"context_line":"    check the subnet\u0027s cidr. See bug 1707819 for more details."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7f287b81_23e57c38","line":3,"range":{"start_line":3,"start_character":23,"end_line":3,"end_character":44},"updated":"2017-08-30 17:32:00.000000000","message":"Since this change is in neutron-lib it applies to more than just allowed address pairs, so this comment doesn\u0027t seem right.","commit_id":"694eac3765ffb40a1a61acdb9e7eb9da759007f2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"5faa39acfe2029d055fcdce4da7b82fd0cd9b337","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Validate subnet in allowed_address_pairs should strictly"},{"line_number":4,"context_line":"    check the subnet\u0027s cidr. See bug 1707819 for more details."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7f287b81_ebb86211","line":3,"range":{"start_line":3,"start_character":23,"end_line":3,"end_character":44},"in_reply_to":"7f287b81_23e57c38","updated":"2017-08-31 01:35:25.000000000","message":"Done","commit_id":"694eac3765ffb40a1a61acdb9e7eb9da759007f2"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"833446ec6a54ca715907c43907ad32106b0fddbb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Validate subnet in allowed_address_pairs should strictly"},{"line_number":4,"context_line":"    check the subnet\u0027s cidr. See bug 1707819 for more details."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7f287b81_2390dc94","line":4,"range":{"start_line":4,"start_character":33,"end_line":4,"end_character":44},"updated":"2017-08-30 17:32:00.000000000","message":"s/\u0027bug 1707819 \u003chttps://launchpad.net/bugs/1707819\u003e\u0027_\n\n^^that (with trailing underscore) will create a hyperlink","commit_id":"694eac3765ffb40a1a61acdb9e7eb9da759007f2"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"5faa39acfe2029d055fcdce4da7b82fd0cd9b337","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Validate subnet in allowed_address_pairs should strictly"},{"line_number":4,"context_line":"    check the subnet\u0027s cidr. See bug 1707819 for more details."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7f287b81_cb3926a4","line":4,"range":{"start_line":4,"start_character":33,"end_line":4,"end_character":44},"in_reply_to":"7f287b81_2390dc94","updated":"2017-08-31 01:35:25.000000000","message":"Done","commit_id":"694eac3765ffb40a1a61acdb9e7eb9da759007f2"}]}
