)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"1ad80ab8f589151676164f21aa67dcb0c4dace10","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When multiple PTR records are created at the same time, Neutron may try"},{"line_number":10,"context_line":"to create the same zone multiple times, resulting in a conflict. Ignore"},{"line_number":11,"context_line":"the resulting error instead and try to create the record anyway."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I59b0f99463ab00743f19016a890561916df900ed"},{"line_number":14,"context_line":"Closes-Bug: 1891309"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"002b5e6f_ca95e641","line":11,"range":{"start_line":11,"start_character":28,"end_line":11,"end_character":63},"updated":"2021-04-30 07:36:49.000000000","message":"According to the patch we just ignore the conflict \"assuming it exists\", or probably I misunderstood this wording","commit_id":"ca1c6fd69bda5f392712a8a966bf4f9b85ecb57a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"75e71e32880a3523475e4e26f7e6c0051aea2791","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When multiple PTR records are created at the same time, Neutron may try"},{"line_number":10,"context_line":"to create the same zone multiple times, resulting in a conflict. Ignore"},{"line_number":11,"context_line":"the resulting error instead and try to create the record anyway."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I59b0f99463ab00743f19016a890561916df900ed"},{"line_number":14,"context_line":"Closes-Bug: 1891309"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1362a3b1_74c87609","line":11,"range":{"start_line":11,"start_character":28,"end_line":11,"end_character":63},"in_reply_to":"002b5e6f_ca95e641","updated":"2021-04-30 09:42:01.000000000","message":"See my comment below.","commit_id":"ca1c6fd69bda5f392712a8a966bf4f9b85ecb57a"}],"neutron/services/externaldns/drivers/designate/driver.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"120d99008b5564a5cfd2bd8e82719a6d4defcbdb","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                # Note(jh): If multiple PTRs get created at he same time,"},{"line_number":127,"context_line":"                # the creation of zones may fail with a conflict because"},{"line_number":128,"context_line":"                # it has already been created by a parallel job. So we"},{"line_number":129,"context_line":"                # ignore that error and try to create the recordset "},{"line_number":130,"context_line":"                # anyway. That call will still fail in the end if something"},{"line_number":131,"context_line":"                # is really broken. See bug 1891309."},{"line_number":132,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_b0c98079","line":129,"updated":"2020-08-19 15:06:13.000000000","message":"pep8: W291 trailing whitespace","commit_id":"10015f66435a9e9de413d661b505319b033b4ee8"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ef9a2c18d35069e7619aee06f2ff6841f706d639","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                        in_addr_zone_name, email\u003dptr_zone_email,"},{"line_number":135,"context_line":"                        description\u003din_addr_zone_description)"},{"line_number":136,"context_line":"                except d_exc.Conflict:"},{"line_number":137,"context_line":"                    pass"},{"line_number":138,"context_line":"                designate_admin.recordsets.create(in_addr_zone_name,"},{"line_number":139,"context_line":"                                                  in_addr_name, \u0027PTR\u0027,"},{"line_number":140,"context_line":"                                                  [recordset_name])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_210b522a","line":137,"updated":"2020-08-20 14:47:38.000000000","message":"nit: maybe You can add debug log here to just notice that such conflict happened actually.","commit_id":"fa05d86270a9aa9f72f1f3be504ed9c5b39fc8d1"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f015bbb8e0a5797fff7ff252d9be07d2d7e51bc5","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                        in_addr_zone_name, email\u003dptr_zone_email,"},{"line_number":135,"context_line":"                        description\u003din_addr_zone_description)"},{"line_number":136,"context_line":"                except d_exc.Conflict:"},{"line_number":137,"context_line":"                    pass"},{"line_number":138,"context_line":"                designate_admin.recordsets.create(in_addr_zone_name,"},{"line_number":139,"context_line":"                                                  in_addr_name, \u0027PTR\u0027,"},{"line_number":140,"context_line":"                                                  [recordset_name])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_f0ac81a0","line":137,"in_reply_to":"9f560f44_210b522a","updated":"2020-08-20 15:43:20.000000000","message":"Yes, I\u0027ve been thinking about that, too, will do.\n\nI\u0027m also not yet sure whether we should rather drop automatic creation of PTR zones completely.","commit_id":"fa05d86270a9aa9f72f1f3be504ed9c5b39fc8d1"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"ee5ed43ad18795981aecb77636dc55f14d9db0c1","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                        in_addr_zone_name, email\u003dptr_zone_email,"},{"line_number":135,"context_line":"                        description\u003din_addr_zone_description)"},{"line_number":136,"context_line":"                except d_exc.Conflict:"},{"line_number":137,"context_line":"                    pass"},{"line_number":138,"context_line":"                designate_admin.recordsets.create(in_addr_zone_name,"},{"line_number":139,"context_line":"                                                  in_addr_name, \u0027PTR\u0027,"},{"line_number":140,"context_line":"                                                  [recordset_name])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_232b1f95","line":137,"in_reply_to":"9f560f44_f0ac81a0","updated":"2020-08-24 19:26:17.000000000","message":"Might be worth breaking this out into a function so that we can do more advanced error handling. Might be worth actually checking the status of the zone, e.g. get the status of the zone (and if 404 then actually try to create it).\n\nAlso, I bet this is semi related to the central race conditions that were quite recently fixed by introducing distributed locking.","commit_id":"fa05d86270a9aa9f72f1f3be504ed9c5b39fc8d1"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"75e71e32880a3523475e4e26f7e6c0051aea2791","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                              \u0027 assuming it exists.\u0027,"},{"line_number":142,"context_line":"                              in_addr_zone_name)"},{"line_number":143,"context_line":"                    pass"},{"line_number":144,"context_line":"                designate_admin.recordsets.create(in_addr_zone_name,"},{"line_number":145,"context_line":"                                                  in_addr_name, \u0027PTR\u0027,"},{"line_number":146,"context_line":"                                                  [recordset_name])"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"6e9fcf1a_f9678c6b","line":144,"updated":"2021-04-30 09:42:01.000000000","message":"This is the call referred to in the commit message, it repeats the action tried in L125.","commit_id":"ca1c6fd69bda5f392712a8a966bf4f9b85ecb57a"}]}
