)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"bd17480820a44a7f7a0ac910b49c0694dea033fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c262c1a6_dbc1ba87","updated":"2022-05-03 18:22:52.000000000","message":"In the next patch\n","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"adbeeddf75c8cb023fc0b677bb429a06da5358b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"37b61c66_ad084983","updated":"2022-05-04 17:59:18.000000000","message":"LGTM","commit_id":"6ac659d241c65c245d8a090768ac7559c32a13f1"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"75baec9c263225c9e9b9298bf4712c03842fdb5e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"20c9f623_389e96c2","updated":"2022-05-04 19:10:54.000000000","message":"Would be nice to throw in a tempest test around this too.","commit_id":"6ac659d241c65c245d8a090768ac7559c32a13f1"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"bf422a680e5b60d5f21c4d1ee7b09aadc5124833","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e695f680_b4aae6c4","updated":"2022-05-03 20:02:34.000000000","message":"see last patch","commit_id":"6ac659d241c65c245d8a090768ac7559c32a13f1"}],"designate/tests/test_api/test_v2/test_zones.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4a90bdd03adb6b6138f2e91ebd2af17c2c3ed746","unresolved":true,"context_lines":[{"line_number":133,"context_line":"        fixture[\u0027ttl\u0027] \u003d -1"},{"line_number":134,"context_line":"        body \u003d fixture"},{"line_number":135,"context_line":"        self._assert_exception(\u0027invalid_object\u0027, 400, self.client.post_json,"},{"line_number":136,"context_line":"                              \u0027/zones\u0027, body)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def test_create_zone_ttl_is_zero(self):"},{"line_number":139,"context_line":"        fixture \u003d self.get_zone_fixture(fixture\u003d0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aaa84df_b966017b","line":136,"updated":"2022-05-03 00:01:25.000000000","message":"This space will need to go back as the linter should complain.","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"bd17480820a44a7f7a0ac910b49c0694dea033fd","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        fixture[\u0027ttl\u0027] \u003d -1"},{"line_number":134,"context_line":"        body \u003d fixture"},{"line_number":135,"context_line":"        self._assert_exception(\u0027invalid_object\u0027, 400, self.client.post_json,"},{"line_number":136,"context_line":"                              \u0027/zones\u0027, body)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    def test_create_zone_ttl_is_zero(self):"},{"line_number":139,"context_line":"        fixture \u003d self.get_zone_fixture(fixture\u003d0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fdc8ed74_a8a8a096","line":136,"in_reply_to":"1aaa84df_b966017b","updated":"2022-05-03 18:22:52.000000000","message":"Done","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"}],"designate/tests/test_central/test_service.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4a90bdd03adb6b6138f2e91ebd2af17c2c3ed746","unresolved":true,"context_lines":[{"line_number":722,"context_line":"        context \u003d self.get_context()"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"        values \u003d self.get_zone_fixture(fixture\u003d1)"},{"line_number":725,"context_line":"        values[\u0027ttl\u0027] \u003d -1"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"        with testtools.ExpectedException(ValueError):"},{"line_number":728,"context_line":"            self.central_service.create_zone("}],"source_content_type":"text/x-python","patch_set":1,"id":"09256817_65fed311","line":725,"updated":"2022-05-03 00:01:25.000000000","message":"I don\u0027t think this test should have changed. It appears that the test is testing the policy validation if a request is made for a TTL below the configured minimum.\nIf I read this correctly, it\u0027s overriding the minimum to be 100 and setting  a deny policy, so I would expect this test to still pass with 0 or even 5.","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"bd17480820a44a7f7a0ac910b49c0694dea033fd","unresolved":false,"context_lines":[{"line_number":722,"context_line":"        context \u003d self.get_context()"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"        values \u003d self.get_zone_fixture(fixture\u003d1)"},{"line_number":725,"context_line":"        values[\u0027ttl\u0027] \u003d -1"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"        with testtools.ExpectedException(ValueError):"},{"line_number":728,"context_line":"            self.central_service.create_zone("}],"source_content_type":"text/x-python","patch_set":1,"id":"0df6b02f_2c007e64","line":725,"in_reply_to":"09256817_65fed311","updated":"2022-05-03 18:22:52.000000000","message":"After really looking into this test, the way its set if actually failes on the objects.Zone.from_dict(values) call and not the self.central_service.create_zone call, will change such that it handles this correctly - or at least what I believe was intented.","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1f2fdd4cc0a31d358099dc3b15101a1d70f0aec9","unresolved":true,"context_lines":[{"line_number":726,"context_line":""},{"line_number":727,"context_line":"        with testtools.ExpectedException(ValueError):"},{"line_number":728,"context_line":"            self.central_service.create_zone("},{"line_number":729,"context_line":"                context, objects.Zone.from_dict(values))"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":"    def test_create_zone_below_zero_ttl(self):"},{"line_number":732,"context_line":"        self.policy({\u0027use_low_ttl\u0027: \u0027!\u0027})"}],"source_content_type":"text/x-python","patch_set":1,"id":"5979ece2_8a631c85","line":729,"updated":"2022-05-03 17:21:04.000000000","message":"So, this test is kind of bogus as it\u0027s instantiating the Zone object here, which runs the validation code that would catch negative or overly large values. That means this test never called create_zone.\n\nI think we should fix this test to run with 0 or 5 and it should be checking for an InvalidTTL exception based on the non-elevated context and the policy of \u0027!\u0027.","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"bf422a680e5b60d5f21c4d1ee7b09aadc5124833","unresolved":false,"context_lines":[{"line_number":726,"context_line":""},{"line_number":727,"context_line":"        with testtools.ExpectedException(ValueError):"},{"line_number":728,"context_line":"            self.central_service.create_zone("},{"line_number":729,"context_line":"                context, objects.Zone.from_dict(values))"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":"    def test_create_zone_below_zero_ttl(self):"},{"line_number":732,"context_line":"        self.policy({\u0027use_low_ttl\u0027: \u0027!\u0027})"}],"source_content_type":"text/x-python","patch_set":1,"id":"0c4ef630_a0633b4a","line":729,"in_reply_to":"5979ece2_8a631c85","updated":"2022-05-03 20:02:34.000000000","message":"Done","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"}],"releasenotes/notes/bug-1926429-allow-ttl-min-of-zero-688f7c2cf095d89d.yaml":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4a90bdd03adb6b6138f2e91ebd2af17c2c3ed746","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Aloows for a minimum TTL value of zero to be used instead of 1. According"},{"line_number":5,"context_line":"    to the definition of values appropriate to the TTL field in STD 13 is not"},{"line_number":6,"context_line":"    as clear as it could be, with respect to how many significant bits exist,"},{"line_number":7,"context_line":"    and whether the value is signed or unsigned.  It is hereby specified that"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"2651d680_c4096a7a","line":4,"updated":"2022-05-03 00:01:25.000000000","message":"Allows","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"bd17480820a44a7f7a0ac910b49c0694dea033fd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Aloows for a minimum TTL value of zero to be used instead of 1. According"},{"line_number":5,"context_line":"    to the definition of values appropriate to the TTL field in STD 13 is not"},{"line_number":6,"context_line":"    as clear as it could be, with respect to how many significant bits exist,"},{"line_number":7,"context_line":"    and whether the value is signed or unsigned.  It is hereby specified that"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"8205b704_12fd8362","line":4,"in_reply_to":"2651d680_c4096a7a","updated":"2022-05-03 18:22:52.000000000","message":"Done","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4a90bdd03adb6b6138f2e91ebd2af17c2c3ed746","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Aloows for a minimum TTL value of zero to be used instead of 1. According"},{"line_number":5,"context_line":"    to the definition of values appropriate to the TTL field in STD 13 is not"},{"line_number":6,"context_line":"    as clear as it could be, with respect to how many significant bits exist,"},{"line_number":7,"context_line":"    and whether the value is signed or unsigned.  It is hereby specified that"},{"line_number":8,"context_line":"    a TTL value is an unsigned number, with a minimum value of 0, and a maximum"},{"line_number":9,"context_line":"    value of 2147483647."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"    .. _bug 1926429: https://bugs.launchpad.net/designate/+bug/1926429"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"947721a1_5d11d748","line":9,"range":{"start_line":5,"start_character":3,"end_line":9,"end_character":24},"updated":"2022-05-03 00:01:25.000000000","message":"Let\u0027s not copy the RFC text here, but maybe just link to the RFC like you did in the commit message? This copied section seems overly confusing for what we need to communicate in this release note.","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"bd17480820a44a7f7a0ac910b49c0694dea033fd","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Aloows for a minimum TTL value of zero to be used instead of 1. According"},{"line_number":5,"context_line":"    to the definition of values appropriate to the TTL field in STD 13 is not"},{"line_number":6,"context_line":"    as clear as it could be, with respect to how many significant bits exist,"},{"line_number":7,"context_line":"    and whether the value is signed or unsigned.  It is hereby specified that"},{"line_number":8,"context_line":"    a TTL value is an unsigned number, with a minimum value of 0, and a maximum"},{"line_number":9,"context_line":"    value of 2147483647."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"    .. _bug 1926429: https://bugs.launchpad.net/designate/+bug/1926429"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"df2f0b68_a361d741","line":9,"range":{"start_line":5,"start_character":3,"end_line":9,"end_character":24},"in_reply_to":"947721a1_5d11d748","updated":"2022-05-03 18:22:52.000000000","message":"Done","commit_id":"a807c52130e6d912a561b8ba110653630b2edbb6"}]}
