)]}'
{"designate/api/v2/controllers/zones/tasks/__init__.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"35e925f3a0d1d1fabdc0cd1541a4fa0f4a124d5f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    transfer_accepts \u003d TRA()"},{"line_number":32,"context_line":"    transfer_requests \u003d TRC()"},{"line_number":33,"context_line":"    abandon \u003d abandon.AbandonController()"},{"line_number":34,"context_line":"    axfr \u003d AxfrController()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_14b4d9f0","line":34,"updated":"2015-03-18 13:40:16.000000000","message":"Since this could eventually be AXFR or IXFR, and it\u0027s exposed in the API .. We should probably call it `xfr`","commit_id":"29c62c2e997f28bfe00e5085a9d8b026d7ae0166"}],"designate/api/v2/controllers/zones/tasks/axfr.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"35e925f3a0d1d1fabdc0cd1541a4fa0f4a124d5f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        request \u003d pecan.request"},{"line_number":29,"context_line":"        context \u003d request.environ[\u0027context\u0027]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        # abandon the zone"},{"line_number":32,"context_line":"        self.central_api.perform_zone_xfr(context, zone_id)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        # NOTE: This is a hack and a half.. But Pecan needs it."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_54e65117","line":31,"updated":"2015-03-18 13:40:16.000000000","message":"Comment is probably wrong ;)","commit_id":"29c62c2e997f28bfe00e5085a9d8b026d7ae0166"}],"designate/api/v2/controllers/zones/tasks/xfr.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"c4d63a3bac50c5e7f8c24533dce7fed5258b203b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        request \u003d pecan.request"},{"line_number":29,"context_line":"        context \u003d request.environ[\u0027context\u0027]"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        self.central_api.perform_zone_xfr(context, zone_id)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        # NOTE: This is a hack and a half.. But Pecan needs it."},{"line_number":34,"context_line":"        return \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa963961_6210764f","line":31,"updated":"2015-03-26 13:23:45.000000000","message":"we should be setting the response code to 202 Accepted here.","commit_id":"f6af2787b818c9683cd164e847dbed27b57c0291"}],"designate/central/service.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"35e925f3a0d1d1fabdc0cd1541a4fa0f4a124d5f","unresolved":false,"context_lines":[{"line_number":2382,"context_line":"            \u0027tenant_id\u0027: domain.tenant_id"},{"line_number":2383,"context_line":"        }"},{"line_number":2384,"context_line":""},{"line_number":2385,"context_line":"        policy.check(\u0027perform_xfr\u0027, context, target)"},{"line_number":2386,"context_line":""},{"line_number":2387,"context_line":"        self.mdns_api.perform_zone_xfr(context, domain)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f48ae518","line":2385,"updated":"2015-03-18 13:40:16.000000000","message":"This hasn\u0027t been defied in policy.json - and can we call it \"xfr_domain\", following a similar pattern to \"abandon_domain\" etc? We should also move this method up to after the _delete_domain_in_storage method, and call it \"xfr_domain\", again, similar to \"update_domain\" etc","commit_id":"29c62c2e997f28bfe00e5085a9d8b026d7ae0166"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"6e8a7fb8580d82696fd10402537695c69a8b6e0a","unresolved":false,"context_lines":[{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"        policy.check(\u0027xfr_domain\u0027, context, target)"},{"line_number":1024,"context_line":""},{"line_number":1025,"context_line":"        self.mdns_api.perform_zone_xfr(context, domain)"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"    def count_domains(self, context, criterion\u003dNone):"},{"line_number":1028,"context_line":"        if criterion is None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa963961_2d735d82","line":1025,"updated":"2015-03-27 09:38:18.000000000","message":"Can we add a check to ensure we only attempt the AXFR for secondary zones? (and a matching testcase)","commit_id":"f6af2787b818c9683cd164e847dbed27b57c0291"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"22056ef870fa4363b6fba7183131434e65966d25","unresolved":false,"context_lines":[{"line_number":1025,"context_line":"        if domain.type \u003d\u003d \u0027SECONDARY\u0027:"},{"line_number":1026,"context_line":"            self.mdns_api.perform_zone_xfr(context, domain)"},{"line_number":1027,"context_line":"        else:"},{"line_number":1028,"context_line":"            raise exceptions.Forbidden(\"Can\u0027t XFR a non Secondary zone.\")"},{"line_number":1029,"context_line":""},{"line_number":1030,"context_line":"    def count_domains(self, context, criterion\u003dNone):"},{"line_number":1031,"context_line":"        if criterion is None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da9b358b_6d4e20c3","line":1028,"updated":"2015-03-28 11:29:02.000000000","message":"Forbidden is probably the wrong thing here, we probably want to use BadRequest here.","commit_id":"aa1d5f9fb55687fc5bc7636016d25903653086cd"}]}
