)]}'
{"designate/central/service.py":[{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"c5601a4700956f51ef0f78ad3a47fd26af7f2273","unresolved":false,"context_lines":[{"line_number":801,"context_line":"                domain.parent_domain_id \u003d parent_domain.id"},{"line_number":802,"context_line":"            else:"},{"line_number":803,"context_line":"                raise exceptions.DuplicateDomain(\u0027Unable to create subdomain in \u0027"},{"line_number":804,"context_line":"                                           \u0027another tenants domain\u0027)"},{"line_number":805,"context_line":""},{"line_number":806,"context_line":"        # Handle super-domains appropriately"},{"line_number":807,"context_line":"        subdomains \u003d self._is_superdomain(context, domain.name, domain.pool_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb71cf_adfa4173","line":804,"range":{"start_line":804,"start_character":44,"end_line":804,"end_character":51},"updated":"2015-06-09 20:19:02.000000000","message":"the forbidden here might be more appropriate.","commit_id":"b427cd8060318f2b57cb72722a4bdbe44b3e3148"},{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"aaa1ddd91ec1899f39cec3c5dae515c02607dc8b","unresolved":false,"context_lines":[{"line_number":812,"context_line":"                    raise exceptions.ForbiddenDomain(\u0027Unable to create domain \u0027"},{"line_number":813,"context_line":"                                               \u0027because another tenant \u0027"},{"line_number":814,"context_line":"                                               \u0027owns a subdomain of \u0027"},{"line_number":815,"context_line":"                                               \u0027the domain\u0027)"},{"line_number":816,"context_line":"        # If this succeeds, subdomain parent IDs will be updated"},{"line_number":817,"context_line":"        # after domain is created"},{"line_number":818,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_81292d9d","line":815,"updated":"2015-06-18 19:40:52.000000000","message":"a simpler version to consider:\n                    e \u003d exceptions.Forbidden(\u0027Unable to create domain \u0027\n                                               \u0027because another tenant \u0027\n                                               \u0027owns a subdomain of \u0027\n                                               \u0027the domain\u0027)\n                    e.error_type \u003d \u0027duplicate_domain\u0027\n                    raise e","commit_id":"e01fc2d9a792a55580ff58a16e924e4f3e8a3936"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"58a566a8d1127aed633c3a666e9eb5163926f55a","unresolved":false,"context_lines":[{"line_number":809,"context_line":"            LOG.debug(\"Domain \u0027{0}\u0027 is a superdomain.\".format(domain.name))"},{"line_number":810,"context_line":"            for subdomain in subdomains:"},{"line_number":811,"context_line":"                if subdomain.tenant_id !\u003d domain.tenant_id:"},{"line_number":812,"context_line":"                    e \u003d exceptions.Forbidden(\u0027Unable to create domain \u0027"},{"line_number":813,"context_line":"                                             \u0027because another tenant \u0027"},{"line_number":814,"context_line":"                                             \u0027owns a subdomain of \u0027"},{"line_number":815,"context_line":"                                             \u0027the domain\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_9addc572","line":812,"updated":"2015-06-22 09:45:45.000000000","message":"I would prefer to add an new exception class in exceptions.py - this allows us to see all of them in one place","commit_id":"10a83daaab170ed574b6a07424545cdb1be75bce"},{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"ec260e4238a2b1fe60ba4174f2ed946754d646f7","unresolved":false,"context_lines":[{"line_number":809,"context_line":"            LOG.debug(\"Domain \u0027{0}\u0027 is a superdomain.\".format(domain.name))"},{"line_number":810,"context_line":"            for subdomain in subdomains:"},{"line_number":811,"context_line":"                if subdomain.tenant_id !\u003d domain.tenant_id:"},{"line_number":812,"context_line":"                    e \u003d exceptions.Forbidden(\u0027Unable to create domain \u0027"},{"line_number":813,"context_line":"                                             \u0027because another tenant \u0027"},{"line_number":814,"context_line":"                                             \u0027owns a subdomain of \u0027"},{"line_number":815,"context_line":"                                             \u0027the domain\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_a6ed03b9","line":812,"in_reply_to":"fa32b979_9addc572","updated":"2015-06-22 14:51:25.000000000","message":"Thats pretty funny.  If you see patch set 3, that is what Ryan had, but I pointed out this is another option.\n\nRyan - listen to Graham.   ;)","commit_id":"10a83daaab170ed574b6a07424545cdb1be75bce"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"5c0d808ad586cfb2f686e6cfcc1753c47cd88d48","unresolved":false,"context_lines":[{"line_number":801,"context_line":"                domain.parent_domain_id \u003d parent_domain.id"},{"line_number":802,"context_line":"            else:"},{"line_number":803,"context_line":"                raise exceptions.Forbidden(\u0027Unable to create subdomain in \u0027"},{"line_number":804,"context_line":"                                           \u0027another tenants domain\u0027)"},{"line_number":805,"context_line":""},{"line_number":806,"context_line":"        # Handle super-domains appropriately"},{"line_number":807,"context_line":"        subdomains \u003d self._is_superdomain(context, domain.name, domain.pool_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba3cc151_5f94b241","line":804,"updated":"2015-07-08 12:41:13.000000000","message":"I believe this should be updated too - as it\u0027s basically the same scenario.","commit_id":"e633a0ecd9af0cee4297c8899c55a5526f199c04"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"691921f098a92750a4c85ed8e959de012a53d69f","unresolved":false,"context_lines":[{"line_number":813,"context_line":"                    raise exceptions.IllegalParentDomain(\u0027Unable to create \u0027"},{"line_number":814,"context_line":"                                                     \u0027domain because another \u0027"},{"line_number":815,"context_line":"                                                     \u0027tenant owns a subdomain \u0027"},{"line_number":816,"context_line":"                                                     \u0027of the domain\u0027)"},{"line_number":817,"context_line":"        # If this succeeds, subdomain parent IDs will be updated"},{"line_number":818,"context_line":"        # after domain is created"},{"line_number":819,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_b29b0fc9","line":816,"updated":"2015-07-20 19:36:38.000000000","message":"I\u0027m guessing this will fail pep8 - but I\u0027ve been surprised a few times recently about multi-line alignment + pep8 ;)","commit_id":"50f31431ab00b159943ced13257e299ecf8c8fd7"}],"designate/exceptions.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"5c0d808ad586cfb2f686e6cfcc1753c47cd88d48","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"class ForbiddenDomain(Forbidden):"},{"line_number":201,"context_line":"    error_type \u003d \u0027duplicate_domain\u0027"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class IncorrectZoneTransferKey(Forbidden):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba3cc151_df952233","line":201,"updated":"2015-07-08 12:41:13.000000000","message":"I think this should be \"forbidden_domain\", since A) we now have 2 ways of getting error_type \u003d duplicate_domain, and B) It\u0027s not really a duplicate - It\u0027s just, you\u0027re not allow created this particular domain","commit_id":"e633a0ecd9af0cee4297c8899c55a5526f199c04"},{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"00825406284c1a0529d854050bd635154b9be850","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"class ForbiddenDomain(Forbidden):"},{"line_number":201,"context_line":"    error_type \u003d \u0027duplicate_domain\u0027"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class IncorrectZoneTransferKey(Forbidden):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a41bdd9_603a39ce","line":201,"in_reply_to":"ba3cc151_df952233","updated":"2015-07-14 22:07:31.000000000","message":"Would something like this be better?\n\nclass DuplicateDomain(Forbidden):\n    error_type \u003d \u0027duplicate_domain\u0027\n\nclass IllegalChildDomain(Forbidden):\n    error_type \u003d \u0027illegal_child\u0027\n\nThe problem right now (at least from the UI point of view) is that we need to know what the problem is, to provide a useful error message.  Just returning \"forbidden_domain\" is not really helping, and we might as well not have this patch unless we can make things materially better.","commit_id":"e633a0ecd9af0cee4297c8899c55a5526f199c04"}]}
