)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"dd5aa62627f7724c91f48d2e4c128d4013605290","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"e321151a_81703b56","updated":"2021-12-29 01:36:20.000000000","message":"This is to help fix the ptr tests always failing.","commit_id":"0ee89a7144525a144136ef7d3108b06ff2be8723"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"7ad029ade8f679afeeea2aef41ec0ccf5c8e73c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1fc43647_2b59a126","updated":"2021-12-29 07:40:07.000000000","message":"recheck","commit_id":"0ee89a7144525a144136ef7d3108b06ff2be8723"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e9c9c6943d8fdcda3df2f0b5b29f476ff4b3c2f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"35dc5d28_4adeed8b","updated":"2021-12-29 04:15:37.000000000","message":"recheck","commit_id":"0ee89a7144525a144136ef7d3108b06ff2be8723"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"a3a24bdb40680b2a4a4b0220fd9de6c7dbf5fd84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5fa10d31_44964821","updated":"2021-12-29 01:35:37.000000000","message":"recheck","commit_id":"0ee89a7144525a144136ef7d3108b06ff2be8723"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"9c8f1c232d030c69ca2cb957111f0e081a030573","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a7857dce_ff48fd73","updated":"2021-12-29 05:33:41.000000000","message":"recheck","commit_id":"0ee89a7144525a144136ef7d3108b06ff2be8723"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"2fd326d331e64af25cd1da88d218463e4c71dbf3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c3532fd5_3174ab6f","updated":"2021-12-29 06:35:25.000000000","message":"recheck","commit_id":"0ee89a7144525a144136ef7d3108b06ff2be8723"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e2f62fb96e8fc9b4fa19b6b2375c47dc11092f15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"18bb776d_9cc3afca","updated":"2021-12-29 02:47:01.000000000","message":"recheck DNSIntegrationDomainPerProjectTests (unrelated to these changes)","commit_id":"0ee89a7144525a144136ef7d3108b06ff2be8723"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"52435733721c1554228d3d01f65acee96d5880d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"287187b3_a1cbd0f1","updated":"2021-12-29 18:21:48.000000000","message":"recheck","commit_id":"4b5cb69a3a3b88875e3d8fa357107fbfa1888f8d"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e4ef46760f54a8c47f5c6e52f7171a0df1a14614","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"39e27771_69edae31","updated":"2021-12-29 20:30:36.000000000","message":"recheck","commit_id":"c5aed6486e1881e2bf6e9c2f9d696e2914b4b58d"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"ed61b02eaf0498d9c468901ff50db4c43ca11d44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"1950e885_2e764014","updated":"2021-12-29 23:52:48.000000000","message":"recheck","commit_id":"b9079fcc5c37729f1b213d107c42aa55ff27b6d1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4c8006bce8f3fc9fb045959a9247845ccb619cc1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"d7ebddc9_37aa646c","updated":"2022-01-05 17:19:33.000000000","message":"LGTM, Thanks!","commit_id":"7ec7adc44a9914ad9492014ca0edec2341fb5de0"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"7504c729cd2e8fd957346ffb5f5b568832154adc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"f53e90fe_1bf3ce49","updated":"2022-01-01 13:35:39.000000000","message":"One final optional comment for optimization.\n\nGiving the patch RP+2 because it has the potential to improve gate stability a lot.","commit_id":"7ec7adc44a9914ad9492014ca0edec2341fb5de0"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"b551976b1105206b0820eb7a1c7ed2e62828c724","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"2b86e355_f40ef779","updated":"2022-01-04 19:05:24.000000000","message":"recheck","commit_id":"7ec7adc44a9914ad9492014ca0edec2341fb5de0"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"81ddd437b0de2833d04c351b49d89eb64a1e5802","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"dbe3ac45_708a80f5","updated":"2022-01-04 20:12:41.000000000","message":"recheck","commit_id":"7ec7adc44a9914ad9492014ca0edec2341fb5de0"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"059f39ffba715193790f44ed3c940d8b60ec5ec9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"76fca445_a49d475a","updated":"2022-01-04 21:15:37.000000000","message":"recheck making sure ptr does not fail with this patch","commit_id":"7ec7adc44a9914ad9492014ca0edec2341fb5de0"}],"designate/central/service.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"56c2636fb830de8415281ad157a86d96b85dab04","unresolved":true,"context_lines":[{"line_number":2085,"context_line":""},{"line_number":2086,"context_line":"    def _determine_floatingips(self, context, fips, project_id\u003dNone):"},{"line_number":2087,"context_line":"        \"\"\""},{"line_number":2088,"context_line":"        Given the context or tenant, records and fips it returns the valid"},{"line_number":2089,"context_line":"        floating ips either with an associated record or not. Deletes invalid"},{"line_number":2090,"context_line":"        records also."},{"line_number":2091,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3dab6f3a_924e9c05","line":2088,"range":{"start_line":2088,"start_character":37,"end_line":2088,"end_character":44},"updated":"2021-12-31 12:31:31.000000000","message":"Also s/tenant/project/ here? And \"records\" is no longer an argument","commit_id":"ce376c6cf219908344504778aed126238f7a11df"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"95e4250ee90d10808cc1ec3fcf7adc62ec6fca47","unresolved":false,"context_lines":[{"line_number":2085,"context_line":""},{"line_number":2086,"context_line":"    def _determine_floatingips(self, context, fips, project_id\u003dNone):"},{"line_number":2087,"context_line":"        \"\"\""},{"line_number":2088,"context_line":"        Given the context or tenant, records and fips it returns the valid"},{"line_number":2089,"context_line":"        floating ips either with an associated record or not. Deletes invalid"},{"line_number":2090,"context_line":"        records also."},{"line_number":2091,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"322f8155_0a4b5f12","line":2088,"range":{"start_line":2088,"start_character":37,"end_line":2088,"end_character":44},"in_reply_to":"3dab6f3a_924e9c05","updated":"2021-12-31 19:20:40.000000000","message":"Done","commit_id":"ce376c6cf219908344504778aed126238f7a11df"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"56c2636fb830de8415281ad157a86d96b85dab04","unresolved":true,"context_lines":[{"line_number":2306,"context_line":"            elevated_context, record[\u0027zone_id\u0027], record"},{"line_number":2307,"context_line":"        )"},{"line_number":2308,"context_line":""},{"line_number":2309,"context_line":"    def _delete_ptr_record(self, context, zone_id, record_to_delete):"},{"line_number":2310,"context_line":"        try:"},{"line_number":2311,"context_line":"            recordset \u003d self.get_recordset("},{"line_number":2312,"context_line":"                context, zone_id, record_to_delete.recordset_id"}],"source_content_type":"text/x-python","patch_set":16,"id":"721569af_4a0ff9a1","line":2309,"updated":"2021-12-31 12:31:31.000000000","message":"This is always called with \"record[\u0027zone_id\u0027], record\" as parameters, is there any benefit in not just having a single parameter and extracting the zone_id within this function?\n\nI also think that using just \"record\" as parameter name would be more consistent with the other functions and easier to read.","commit_id":"ce376c6cf219908344504778aed126238f7a11df"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"95e4250ee90d10808cc1ec3fcf7adc62ec6fca47","unresolved":false,"context_lines":[{"line_number":2306,"context_line":"            elevated_context, record[\u0027zone_id\u0027], record"},{"line_number":2307,"context_line":"        )"},{"line_number":2308,"context_line":""},{"line_number":2309,"context_line":"    def _delete_ptr_record(self, context, zone_id, record_to_delete):"},{"line_number":2310,"context_line":"        try:"},{"line_number":2311,"context_line":"            recordset \u003d self.get_recordset("},{"line_number":2312,"context_line":"                context, zone_id, record_to_delete.recordset_id"}],"source_content_type":"text/x-python","patch_set":16,"id":"e54763db_32571ddf","line":2309,"in_reply_to":"721569af_4a0ff9a1","updated":"2021-12-31 19:20:40.000000000","message":"Done","commit_id":"ce376c6cf219908344504778aed126238f7a11df"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"56c2636fb830de8415281ad157a86d96b85dab04","unresolved":true,"context_lines":[{"line_number":2372,"context_line":""},{"line_number":2373,"context_line":"    def _format_floatingips(self, context, data):"},{"line_number":2374,"context_line":"        \"\"\""},{"line_number":2375,"context_line":"        Given a list of FloatingIP and Record tuples we look through creating"},{"line_number":2376,"context_line":"        a new dict of FloatingIPs"},{"line_number":2377,"context_line":"        \"\"\""},{"line_number":2378,"context_line":"        fips \u003d objects.FloatingIPList()"},{"line_number":2379,"context_line":"        for key, value in data.items():"}],"source_content_type":"text/x-python","patch_set":16,"id":"db530ccc_15675c16","line":2376,"range":{"start_line":2375,"start_character":53,"end_line":2376,"end_character":33},"updated":"2021-12-31 12:31:31.000000000","message":"This sounds weird to me, also the result seems to be a list, not a dict. Can you rephrase a bit?","commit_id":"ce376c6cf219908344504778aed126238f7a11df"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"95e4250ee90d10808cc1ec3fcf7adc62ec6fca47","unresolved":false,"context_lines":[{"line_number":2372,"context_line":""},{"line_number":2373,"context_line":"    def _format_floatingips(self, context, data):"},{"line_number":2374,"context_line":"        \"\"\""},{"line_number":2375,"context_line":"        Given a list of FloatingIP and Record tuples we look through creating"},{"line_number":2376,"context_line":"        a new dict of FloatingIPs"},{"line_number":2377,"context_line":"        \"\"\""},{"line_number":2378,"context_line":"        fips \u003d objects.FloatingIPList()"},{"line_number":2379,"context_line":"        for key, value in data.items():"}],"source_content_type":"text/x-python","patch_set":16,"id":"ece3bb4f_8a307546","line":2376,"range":{"start_line":2375,"start_character":53,"end_line":2376,"end_character":33},"in_reply_to":"db530ccc_15675c16","updated":"2021-12-31 19:20:40.000000000","message":"I reworded it a bit, but this was just how it was originally written... the data structure isn\u0027t easy to describe as the whole code path is very counter-intuitive in general. Let me know if you have any better suggestions.","commit_id":"ce376c6cf219908344504778aed126238f7a11df"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"7504c729cd2e8fd957346ffb5f5b568832154adc","unresolved":false,"context_lines":[{"line_number":2372,"context_line":""},{"line_number":2373,"context_line":"    def _format_floatingips(self, context, data):"},{"line_number":2374,"context_line":"        \"\"\""},{"line_number":2375,"context_line":"        Given a list of FloatingIP and Record tuples we look through creating"},{"line_number":2376,"context_line":"        a new dict of FloatingIPs"},{"line_number":2377,"context_line":"        \"\"\""},{"line_number":2378,"context_line":"        fips \u003d objects.FloatingIPList()"},{"line_number":2379,"context_line":"        for key, value in data.items():"}],"source_content_type":"text/x-python","patch_set":16,"id":"b1b3e070_d39a2a2e","line":2376,"range":{"start_line":2375,"start_character":53,"end_line":2376,"end_character":33},"in_reply_to":"ece3bb4f_8a307546","updated":"2022-01-01 13:35:39.000000000","message":"Yeah, likely the main point of confusion is how to distinguish between the FloationIP object in Neutron and the object of the same name in Designate, which likely would better have been called FloatingIPPTR or similar. But I\u0027m fine with the new wording.","commit_id":"ce376c6cf219908344504778aed126238f7a11df"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"7504c729cd2e8fd957346ffb5f5b568832154adc","unresolved":true,"context_lines":[{"line_number":2276,"context_line":"        record \u003d objects.Record(**record_values)"},{"line_number":2277,"context_line":"        recordset \u003d self._replace_or_create_ptr_recordset("},{"line_number":2278,"context_line":"            elevated_context, record,"},{"line_number":2279,"context_line":"            **recordset_values"},{"line_number":2280,"context_line":"        )"},{"line_number":2281,"context_line":"        return self._create_floating_ip("},{"line_number":2282,"context_line":"            context, fip, record, zone\u003dzone, recordset\u003drecordset"}],"source_content_type":"text/x-python","patch_set":19,"id":"5b47456d_89de3725","line":2279,"updated":"2022-01-01 13:35:39.000000000","message":"Since this is now the only location where this dict is being referenced, maybe drop it and directly insert the correct parameters here? Might be a bit easier to read.","commit_id":"7ec7adc44a9914ad9492014ca0edec2341fb5de0"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"0e2842bd20568cc091e7774832bb935aa97838b5","unresolved":false,"context_lines":[{"line_number":2276,"context_line":"        record \u003d objects.Record(**record_values)"},{"line_number":2277,"context_line":"        recordset \u003d self._replace_or_create_ptr_recordset("},{"line_number":2278,"context_line":"            elevated_context, record,"},{"line_number":2279,"context_line":"            **recordset_values"},{"line_number":2280,"context_line":"        )"},{"line_number":2281,"context_line":"        return self._create_floating_ip("},{"line_number":2282,"context_line":"            context, fip, record, zone\u003dzone, recordset\u003drecordset"}],"source_content_type":"text/x-python","patch_set":19,"id":"63836d53_d080474e","line":2279,"in_reply_to":"5b47456d_89de3725","updated":"2022-01-02 04:18:20.000000000","message":"Ack","commit_id":"7ec7adc44a9914ad9492014ca0edec2341fb5de0"}],"designate/tests/test_api/test_v2/test_floatingips.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"56c2636fb830de8415281ad157a86d96b85dab04","unresolved":true,"context_lines":[{"line_number":218,"context_line":"        self.assertIsNone(response.json)"},{"line_number":219,"context_line":"        self.assertEqual(202, response.status_int)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        # Simulate the unset on the backend"},{"line_number":222,"context_line":"        zone_serial \u003d self.central_service.get_zone("},{"line_number":223,"context_line":"            elevated_context, zone_id).serial"},{"line_number":224,"context_line":"        self.central_service.update_status("}],"source_content_type":"text/x-python","patch_set":16,"id":"bbdb9f07_cbfeca85","side":"PARENT","line":221,"updated":"2021-12-31 12:31:31.000000000","message":"Being able to simply remove these parts feels strange, but seems to show that things are moving in the right direction","commit_id":"5f87d207b448ec4e24988af5671c3b3593b13804"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"54e7eb2e3d9bdb9a852daa7dc3f1b2dd63eddbeb","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        self.assertIsNone(response.json)"},{"line_number":219,"context_line":"        self.assertEqual(202, response.status_int)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        # Simulate the unset on the backend"},{"line_number":222,"context_line":"        zone_serial \u003d self.central_service.get_zone("},{"line_number":223,"context_line":"            elevated_context, zone_id).serial"},{"line_number":224,"context_line":"        self.central_service.update_status("}],"source_content_type":"text/x-python","patch_set":16,"id":"953097a5_e978d2fa","side":"PARENT","line":221,"in_reply_to":"038e05b4_93a90e95","updated":"2022-01-01 00:37:56.000000000","message":"Ack","commit_id":"5f87d207b448ec4e24988af5671c3b3593b13804"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"136a8a21c27db0abdbf4bb77254c4e0640d6f9f8","unresolved":true,"context_lines":[{"line_number":218,"context_line":"        self.assertIsNone(response.json)"},{"line_number":219,"context_line":"        self.assertEqual(202, response.status_int)"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        # Simulate the unset on the backend"},{"line_number":222,"context_line":"        zone_serial \u003d self.central_service.get_zone("},{"line_number":223,"context_line":"            elevated_context, zone_id).serial"},{"line_number":224,"context_line":"        self.central_service.update_status("}],"source_content_type":"text/x-python","patch_set":16,"id":"038e05b4_93a90e95","side":"PARENT","line":221,"in_reply_to":"bbdb9f07_cbfeca85","updated":"2021-12-31 19:23:02.000000000","message":"Yea - I had to do the same thing when I fixed the designate-sink code. It\u0027s a legacy thing from the pool-manager era, but I have to admit that I don\u0027t fully understand this code path.","commit_id":"5f87d207b448ec4e24988af5671c3b3593b13804"}]}
