)]}'
{"designate/api/v2/controllers/zones/__init__.py":[{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"2372fb90a33caa3999ac0cb04d3a0e3bcd3b2e3a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from designate.api.v2.views import zones as zones_view"},{"line_number":29,"context_line":"from designate.objects import Domain"},{"line_number":30,"context_line":"from designate.openstack.common import log as logging"},{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class ZonesController(rest.RestController):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_6423ec05","line":31,"updated":"2015-01-21 19:20:18.000000000","message":"Not used.","commit_id":"a84e89d8f53787157aea6ec6e0d0e85475d3ffc9"}],"designate/api/v2/controllers/zones/tasks/abandon.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"74c1015662e9c99c31e44353004528571bf0ec49","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class AbandonController(rest.RestController):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    @pecan.expose(template\u003d\u0027json:\u0027, content_type\u003d\u0027application/json\u0027)"},{"line_number":24,"context_line":"    @utils.validate_uuid(\u0027zone_id\u0027)"},{"line_number":25,"context_line":"    def post_all(self, zone_id):"},{"line_number":26,"context_line":"        \"\"\"Abandon a zone\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_58dff668","line":23,"updated":"2015-02-12 14:49:50.000000000","message":"For a later review, fix the GET response code to a 405, from 404","commit_id":"c3afc3f4bb2f1d1c4bf8a46d11ee6c506814c35c"}],"designate/central/service.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"745a8e15e7df37d28b46750b1e03da83ff43951e","unresolved":false,"context_lines":[{"line_number":933,"context_line":"            # update the action and status before deleting the domain"},{"line_number":934,"context_line":"            domain.action \u003d \u0027NONE\u0027"},{"line_number":935,"context_line":"            domain.status \u003d \u0027DELETED\u0027"},{"line_number":936,"context_line":"            self.storage.update_domain(context, domain)"},{"line_number":937,"context_line":"            domain \u003d self.storage.delete_domain(context, domain.id)"},{"line_number":938,"context_line":"        else:"},{"line_number":939,"context_line":"            domain \u003d self._delete_domain_in_storage(context, domain)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e49a7c13","line":936,"updated":"2015-01-21 18:34:15.000000000","message":"we should try and delete this on the backend - just catch the exception and continue.\n\nAlso, not sure about the domain.action / status stuff above.  - this should really be set in storage...","commit_id":"a84e89d8f53787157aea6ec6e0d0e85475d3ffc9"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"3fd6917d9ef17e6114c49fa9bebc079f6928c44d","unresolved":false,"context_lines":[{"line_number":928,"context_line":"                                                \u0027before deleting this domain\u0027)"},{"line_number":929,"context_line":""},{"line_number":930,"context_line":"        if hasattr(context, \u0027abandon\u0027) and context.abandon:"},{"line_number":931,"context_line":"            LOG.warn(_LW(\"Abandoning zone \u0027%(zone)s\u0027\") % {\u0027zone\u0027: domain.name})"},{"line_number":932,"context_line":"            domain \u003d self.storage.delete_domain(context, domain.id)"},{"line_number":933,"context_line":"        else:"},{"line_number":934,"context_line":"            domain \u003d self._delete_domain_in_storage(context, domain)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a930d6b_3192ad9f","line":931,"updated":"2015-01-23 17:28:17.000000000","message":"Probably want a LOG.info/debug here rather than a warning.","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"3d0a3c946224637bce578305b1789a6e803370a6","unresolved":false,"context_lines":[{"line_number":928,"context_line":"                                                \u0027before deleting this domain\u0027)"},{"line_number":929,"context_line":""},{"line_number":930,"context_line":"        if hasattr(context, \u0027abandon\u0027) and context.abandon:"},{"line_number":931,"context_line":"            LOG.warn(_LW(\"Abandoning zone \u0027%(zone)s\u0027\") % {\u0027zone\u0027: domain.name})"},{"line_number":932,"context_line":"            domain \u003d self.storage.delete_domain(context, domain.id)"},{"line_number":933,"context_line":"        else:"},{"line_number":934,"context_line":"            domain \u003d self._delete_domain_in_storage(context, domain)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa81d914_1725f7c1","line":931,"in_reply_to":"1a930d6b_3192ad9f","updated":"2015-01-28 19:20:42.000000000","message":"Done\nChanged this to a LOG.info","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"}],"designate/resources/schemas/v2/zone.json":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"3fd6917d9ef17e6114c49fa9bebc079f6928c44d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"                \"action\": {"},{"line_number":68,"context_line":"                    \"type\": \"string\","},{"line_number":69,"context_line":"                    \"description\": \"Zone Action\","},{"line_number":70,"context_line":"                    \"enum\": [\"CREATE\", \"DELETE\", \"UPDATE\", \"NONE\"],"},{"line_number":71,"context_line":"                    \"readOnly\": true"},{"line_number":72,"context_line":"                },"},{"line_number":73,"context_line":"                \"serial\": {"}],"source_content_type":"application/json","patch_set":5,"id":"1a930d6b_31c0ed7b","line":70,"updated":"2015-01-23 17:28:17.000000000","message":"I like this distinction, though, I would prefer to see:\n\n    type \u003d [\"string\", \"null\"]\n    enum \u003d  [\"CREATE\", \"DELETE\", \"UPDATE\"],","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"93e445cfcd5ad9c63b3db574559bd3dc32b74b90","unresolved":false,"context_lines":[{"line_number":67,"context_line":"                \"action\": {"},{"line_number":68,"context_line":"                    \"type\": \"string\","},{"line_number":69,"context_line":"                    \"description\": \"Zone Action\","},{"line_number":70,"context_line":"                    \"enum\": [\"CREATE\", \"DELETE\", \"UPDATE\", \"NONE\"],"},{"line_number":71,"context_line":"                    \"readOnly\": true"},{"line_number":72,"context_line":"                },"},{"line_number":73,"context_line":"                \"serial\": {"}],"source_content_type":"application/json","patch_set":5,"id":"fa81d914_d0c39436","line":70,"in_reply_to":"1a930d6b_31c0ed7b","updated":"2015-01-27 19:24:05.000000000","message":"+1, it mught as well be json null vs NONE.","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"}],"designate/sqlalchemy/base.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"3fd6917d9ef17e6114c49fa9bebc079f6928c44d","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            obj.deleted_at \u003d timeutils.utcnow()"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"            # update the action and status before deleting the object"},{"line_number":289,"context_line":"            obj.action \u003d \u0027NONE\u0027"},{"line_number":290,"context_line":"            obj.status \u003d \u0027DELETED\u0027"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"            # NOTE(kiall): It should be impossible for a duplicate exception to"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a930d6b_114cd141","line":289,"updated":"2015-01-23 17:28:17.000000000","message":"With my comment on the previous file, this would be obj.action \u003d None","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"c7d1ff287280f271d2b8cbdda5d04ef21a29c3af","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            obj.deleted_at \u003d timeutils.utcnow()"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"            # update the action and status before deleting the object"},{"line_number":289,"context_line":"            obj.action \u003d \u0027NONE\u0027"},{"line_number":290,"context_line":"            obj.status \u003d \u0027DELETED\u0027"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"            # NOTE(kiall): It should be impossible for a duplicate exception to"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a930d6b_7d607acf","line":289,"in_reply_to":"1a930d6b_114cd141","updated":"2015-01-24 01:28:29.000000000","message":"central\u0027s update status too does the same - See https://github.com/openstack/designate/blob/master/designate/central/service.py#L2040\n\nWe need to modify that and https://github.com/openstack/designate/blob/master/designate/storage/impl_sqlalchemy/tables.py#L36 to be consistent.\n\nThoughts?","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"107f63bb4bb17d351263a3e7f094f4cd1ffdbbf7","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            obj.deleted_at \u003d timeutils.utcnow()"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"            # update the action and status before deleting the object"},{"line_number":289,"context_line":"            obj.action \u003d \u0027NONE\u0027"},{"line_number":290,"context_line":"            obj.status \u003d \u0027DELETED\u0027"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"            # NOTE(kiall): It should be impossible for a duplicate exception to"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa81d914_e240b558","line":289,"in_reply_to":"1a930d6b_7d607acf","updated":"2015-01-28 06:45:25.000000000","message":"Re central doing the same, I agree, we should change that too - likely in a followup to this patch rather than as part of it.","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"93e445cfcd5ad9c63b3db574559bd3dc32b74b90","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            obj.deleted_at \u003d timeutils.utcnow()"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"            # update the action and status before deleting the object"},{"line_number":289,"context_line":"            obj.action \u003d \u0027NONE\u0027"},{"line_number":290,"context_line":"            obj.status \u003d \u0027DELETED\u0027"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"            # NOTE(kiall): It should be impossible for a duplicate exception to"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa81d914_903e7c28","line":289,"in_reply_to":"1a930d6b_7d607acf","updated":"2015-01-27 19:24:05.000000000","message":"You would also need to change nullable\u003dFalse to allow it to be NULL / None in tables.py after looking.","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"3d0a3c946224637bce578305b1789a6e803370a6","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            obj.deleted_at \u003d timeutils.utcnow()"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"            # update the action and status before deleting the object"},{"line_number":289,"context_line":"            obj.action \u003d \u0027NONE\u0027"},{"line_number":290,"context_line":"            obj.status \u003d \u0027DELETED\u0027"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"            # NOTE(kiall): It should be impossible for a duplicate exception to"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa81d914_3104bd7a","line":289,"in_reply_to":"fa81d914_e240b558","updated":"2015-01-28 19:20:42.000000000","message":"I will make all of these changes in the next patchset. I need to make a new migrate version in order to make action nullable.","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"}],"doc/source/rest/v2/zones.rst":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"3fd6917d9ef17e6114c49fa9bebc079f6928c44d","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    .. sourcecode:: http"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"        HTTP/1.1 204 No content"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    :statuscode 204: No content"},{"line_number":411,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a930d6b_7168b587","line":408,"updated":"2015-01-23 17:28:17.000000000","message":"Should this+below not be a 202 Accepted?","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":395,"name":"Endre Karlson","email":"endre.karlson@gmail.com","username":"endre-karlson"},"change_message_id":"93e445cfcd5ad9c63b3db574559bd3dc32b74b90","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    .. sourcecode:: http"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"        HTTP/1.1 204 No content"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    :statuscode 204: No content"},{"line_number":411,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa81d914_906cbc38","line":408,"in_reply_to":"1a930d6b_5dae5ee7","updated":"2015-01-27 19:24:05.000000000","message":"+1 to Vinod on this one.","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"107f63bb4bb17d351263a3e7f094f4cd1ffdbbf7","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    .. sourcecode:: http"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"        HTTP/1.1 204 No content"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    :statuscode 204: No content"},{"line_number":411,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa81d914_622cc5ac","line":408,"in_reply_to":"1a930d6b_5dae5ee7","updated":"2015-01-28 06:45:25.000000000","message":"Ah - Makes sense..","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"c7d1ff287280f271d2b8cbdda5d04ef21a29c3af","unresolved":false,"context_lines":[{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    .. sourcecode:: http"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"        HTTP/1.1 204 No content"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    :statuscode 204: No content"},{"line_number":411,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a930d6b_5dae5ee7","line":408,"in_reply_to":"1a930d6b_7168b587","updated":"2015-01-24 01:28:29.000000000","message":"With abandon, we remove it from the storage (synchronously) and return immediately unlike the regular delete which sends a call to the pool manager. So we return a 204 and not a 202.","commit_id":"52b41e7bb2ae367a2743d3547bbfa2b91597c13e"}]}
