)]}'
{"designate/api/v2/controllers/zones/__init__.py":[{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"a618c0822a888d3386a36cdc778607b048e1ae7a","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        # Don\u0027t allow updates to zones that are being deleted"},{"line_number":232,"context_line":"        if zone.action \u003d\u003d \"DELETE\":"},{"line_number":233,"context_line":"            raise exceptions.BadRequest(\u0027Can not update a deleting zone\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # Convert to APIv2 Format"},{"line_number":236,"context_line":"        zone_data \u003d self._view.show(context, request, zone)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_6be08b26","line":233,"updated":"2015-03-19 18:59:51.000000000","message":"Why have the check for zones in api and recordsets in central? Why not move this check to central too?","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"721a260ede7803f59ee2d70d869d21909ad2736d","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        # Don\u0027t allow updates to zones that are being deleted"},{"line_number":232,"context_line":"        if zone.action \u003d\u003d \"DELETE\":"},{"line_number":233,"context_line":"            raise exceptions.BadRequest(\u0027Can not update a deleting zone\u0027)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # Convert to APIv2 Format"},{"line_number":236,"context_line":"        zone_data \u003d self._view.show(context, request, zone)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_3472704a","line":233,"in_reply_to":"9a80dd14_6be08b26","updated":"2015-03-19 19:31:36.000000000","message":"I just did it at the first place the zone was retrieved from storage, I believe in this case, this is the only place in an update_domain where it\u0027s retrieved from storage until it\u0027s updated.","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"}],"designate/central/service.py":[{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"a618c0822a888d3386a36cdc778607b048e1ae7a","unresolved":false,"context_lines":[{"line_number":979,"context_line":"        return domain"},{"line_number":980,"context_line":""},{"line_number":981,"context_line":"    @transaction"},{"line_number":982,"context_line":"    def _update_domain_in_storage(self, context, domain,"},{"line_number":983,"context_line":"                                  increment_serial\u003dTrue):"},{"line_number":984,"context_line":""},{"line_number":985,"context_line":"        domain.action \u003d \u0027UPDATE\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f4ae18e6","line":982,"updated":"2015-03-19 18:59:51.000000000","message":"Another idea - all of the various record/recordset and update_domain functions (expect for zone transfers) would call into this - so you can add one check here instead of at all the other places - do validate though that this covers all cases - I did not do a thorough look at the code to verify.","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"721a260ede7803f59ee2d70d869d21909ad2736d","unresolved":false,"context_lines":[{"line_number":979,"context_line":"        return domain"},{"line_number":980,"context_line":""},{"line_number":981,"context_line":"    @transaction"},{"line_number":982,"context_line":"    def _update_domain_in_storage(self, context, domain,"},{"line_number":983,"context_line":"                                  increment_serial\u003dTrue):"},{"line_number":984,"context_line":""},{"line_number":985,"context_line":"        domain.action \u003d \u0027UPDATE\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_df104d02","line":982,"in_reply_to":"9a80dd14_f4ae18e6","updated":"2015-03-19 19:31:36.000000000","message":"All of them will eventually call this. But it seems like a waste of cycles to let it get this far, if we can know earlier. We\u0027d basically be allowing all of central\u0027s logic (and a few database queries) to be executed unnecessarily. If we\u0027re ok with that I can change it, but I\u0027m not a fan, personally.","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"a618c0822a888d3386a36cdc778607b048e1ae7a","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"    # Record Methods"},{"line_number":1342,"context_line":"    @notification(\u0027dns.record.create\u0027)"},{"line_number":1343,"context_line":"    @synchronized_domain()"},{"line_number":1344,"context_line":"    def create_record(self, context, domain_id, recordset_id, record,"},{"line_number":1345,"context_line":"                      increment_serial\u003dTrue):"},{"line_number":1346,"context_line":"        domain \u003d self.storage.get_domain(context, domain_id)"},{"line_number":1347,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_ab31a3a3","line":1344,"updated":"2015-03-19 18:59:51.000000000","message":"The record operations too need to check for zone being deleted.","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"721a260ede7803f59ee2d70d869d21909ad2736d","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"    # Record Methods"},{"line_number":1342,"context_line":"    @notification(\u0027dns.record.create\u0027)"},{"line_number":1343,"context_line":"    @synchronized_domain()"},{"line_number":1344,"context_line":"    def create_record(self, context, domain_id, recordset_id, record,"},{"line_number":1345,"context_line":"                      increment_serial\u003dTrue):"},{"line_number":1346,"context_line":"        domain \u003d self.storage.get_domain(context, domain_id)"},{"line_number":1347,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b456605c","line":1344,"in_reply_to":"9a80dd14_ab31a3a3","updated":"2015-03-19 19:31:36.000000000","message":"Can records be updated without a recordset being updated? I didn\u0027t see that anywhere. I guess you can in v1. I\u0027ll add them.","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"a618c0822a888d3386a36cdc778607b048e1ae7a","unresolved":false,"context_lines":[{"line_number":2188,"context_line":"        return \u0027\u0027.join(random.choice(chars) for _ in range(size))"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"    @notification(\u0027dns.zone_transfer_request.create\u0027)"},{"line_number":2191,"context_line":"    @transaction"},{"line_number":2192,"context_line":"    def create_zone_transfer_request(self, context, zone_transfer_request):"},{"line_number":2193,"context_line":""},{"line_number":2194,"context_line":"        elevated_context \u003d context.elevated()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_4b5107d8","line":2191,"updated":"2015-03-19 18:59:51.000000000","message":"Wonder if it makes sense to add a check for zone transfer requests and accepts too?","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"721a260ede7803f59ee2d70d869d21909ad2736d","unresolved":false,"context_lines":[{"line_number":2188,"context_line":"        return \u0027\u0027.join(random.choice(chars) for _ in range(size))"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"    @notification(\u0027dns.zone_transfer_request.create\u0027)"},{"line_number":2191,"context_line":"    @transaction"},{"line_number":2192,"context_line":"    def create_zone_transfer_request(self, context, zone_transfer_request):"},{"line_number":2193,"context_line":""},{"line_number":2194,"context_line":"        elevated_context \u003d context.elevated()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_7f820153","line":2191,"in_reply_to":"9a80dd14_4b5107d8","updated":"2015-03-19 19:31:36.000000000","message":"Yeah, it does.","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"}],"designate/tests/test_api/test_v2/test_recordsets.py":[{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"721a260ede7803f59ee2d70d869d21909ad2736d","unresolved":false,"context_lines":[{"line_number":764,"context_line":"        url \u003d \u0027/zones/%s/recordsets/%s\u0027 % (recordset[\u0027domain_id\u0027],"},{"line_number":765,"context_line":"                                           recordset[\u0027id\u0027])"},{"line_number":766,"context_line":"        self.client.delete(\u0027/zones/%s\u0027 % self.domain[\u0027id\u0027], status\u003d202)"},{"line_number":767,"context_line":"        self._assert_exception(\u0027bad_request\u0027, 400, self.client.put_json, url,"},{"line_number":768,"context_line":"                               body)"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"    def test_no_delete_rs_deleting_zone(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_1f23c505","line":767,"updated":"2015-03-19 19:31:36.000000000","message":"I\u0027m personally not the biggest fan of these tests, it seems possible that the delete could be totally complete in this time and this line would fail. But I haven\u0027t seen that behavior.","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"59fca6c17b632fe5b322f2adbe4b62bb185cb672","unresolved":false,"context_lines":[{"line_number":764,"context_line":"        url \u003d \u0027/zones/%s/recordsets/%s\u0027 % (recordset[\u0027domain_id\u0027],"},{"line_number":765,"context_line":"                                           recordset[\u0027id\u0027])"},{"line_number":766,"context_line":"        self.client.delete(\u0027/zones/%s\u0027 % self.domain[\u0027id\u0027], status\u003d202)"},{"line_number":767,"context_line":"        self._assert_exception(\u0027bad_request\u0027, 400, self.client.put_json, url,"},{"line_number":768,"context_line":"                               body)"},{"line_number":769,"context_line":""},{"line_number":770,"context_line":"    def test_no_delete_rs_deleting_zone(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_79bd2268","line":767,"in_reply_to":"9a80dd14_1f23c505","updated":"2015-03-24 12:32:21.000000000","message":"Agreed, We need a better way of doing these!","commit_id":"d9fe673491baa603e497e234472cc7f12ecc7afd"}]}
