Asynchronous Zone Import

* Creates /v2/zones/tasks/imports, which allows users to view imports as resources
* Creates new database table zone_tasks for asynchronous tasks related to zones, along
with the associated objects/adapters
* Imports are done by passing over the request body, creating an async record in the db,
and spawning a thread to do the import
* Adds a config option to enable zone import

Implements: async-import-export
APIImpact: Adds /zones/tasks/imports and removes import from admin api

Change-Id: Ib23810bf8b25d962b9d2d75e042bb097f3c12f7a
This commit is contained in:
Tim Simmons
2015-05-08 19:50:31 +00:00
parent 53a7300103
commit 021946e386
31 changed files with 1380 additions and 237 deletions

View File

@@ -259,6 +259,10 @@ class DuplicatePoolNsRecord(Duplicate):
error_type = 'duplicate_pool_ns_record'
class DuplicateZoneTask(Duplicate):
error_type = 'duplicate_zone_task'
class MethodNotAllowed(Base):
expected = True
error_code = 405
@@ -343,6 +347,10 @@ class ZoneTransferAcceptNotFound(NotFound):
error_type = 'zone_transfer_accept_not_found'
class ZoneTaskNotFound(NotFound):
error_type = 'zone_task_not_found'
class LastServerDeleteNotAllowed(BadRequest):
error_type = 'last_server_delete_not_allowed'