V2 Zone Import/Export API requires a breaking change
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Designate |
Fix Released
|
Critical
|
Graham Hayes |
Bug Description
The V2 Zone Import/Export API requires a breaking change in order to work reliably for large zones.
Large zones may take longer than the allowed API call time to parse, nevermind INSERT, depending on the various timeouts etc. In order to allow for large zones to be imported/exported, these APIs must be converted to full async tasks, see example below. In the meantime, in order to call APIv2 stable, I suggest we either remove the zone import/export code, or we migrate it to the no-contract admin API, allowing us to re-introduce in V2 for Liberty.
e.g. an import example:
POST /zones/tasks/import
202 Accepted
{"id": "<task ID>", "status": PENDING}
.. Wait 1 second... Task is NOT done
GET /zones/
200 OK
{"id": "<task ID>", "status": PENDING}
.. Wait 5 minutes... Task is done
GET /zones/
200 OK
{"id": "<task ID>", "status": COMPLETE, "zone_id": <Zone ID>}
Changed in designate: | |
assignee: | nobody → Graham Hayes (grahamhayes) |
status: | Triaged → In Progress |
Changed in designate: | |
status: | Fix Committed → Fix Released |
Changed in designate: | |
milestone: | kilo-rc1 → 2015.1.0 |
Reviewed: https:/ /review. openstack. org/173220 /git.openstack. org/cgit/ openstack/ designate/ commit/ ?id=aba646b94f0 7ad55eef09999f6 a14ecb14ab25f1
Committed: https:/
Submitter: Jenkins
Branch: master
commit aba646b94f07ad5 5eef09999f6a14e cb14ab25f1
Author: Graham Hayes <email address hidden>
Date: Tue Apr 14 10:47:38 2015 +0200
Move Zone Import / Export to /admin API
* Moves zonefile import/export to admin API due to issues with non bb1a93d5ac9aadc ed402343405
async action of import / export
* Added policy checks to allow restriction of usage
* Fixed 500 Error on invalid Content-Type when using body_dict()
Closes-Bug: #1443366
Change-Id: Iea0f2077f24da9
APIImpact: Move zone import / export to /admin