Implement DNS support in trove via nova-dns service or driver for external dynamic dns servers

Registered by Denis M.

Trove should use dns recording via novaclient with direct association with instance at pre-provisioning.
My idea is to implement dns extension for trove API using novaclient dns workflow with instance association.
Associated DNS record will be created at pre-provisioning workflow(before rpc call to taskmanager). Same as done with Security Groups, and (in future) with floating IPs
Current trove have disabled dns support, so it doesn't work.
Although, we should look at https://launchpad.net/designate as DNSaaS as the option for dns workflow support.

DNSaaS presentation: http://www.openstack.org/summit/portland-2013/session-videos/presentation/dns-in-the-cloud-the-moniker-openstack-inspired-dns-project

After implementing single/multiple floating ip assignment and association at instance pre-provisioning trove would be able to create single/multiple dns records via nova-dns backend, so the instance would be reachable through single/multiple bindings

For the beggining, trove could use nova-dns with nova-minidns implementation (file-based-bindings): https://github.com/openstack/nova/blob/master/nova/network/minidns.py
And https://blueprints.launchpad.net/nova/+spec/dynamic-dns as one of variants.

Or, trove should be delivered with inheritable dns manager interface as it done in nova
https://github.com/openstack/nova/blob/master/nova/network/dns_driver.py

Blueprint information

Status:
Complete
Approver:
Michael Basnight
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Denis M.
Definition:
Obsolete
Series goal:
Proposed for future
Implementation:
Implemented
Milestone target:
milestone icon next
Started by
Denis M.
Completed by
Denis M.

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/implement-dns-management-drive-for-trove,n,z

Addressed by: https://review.openstack.org/45644
    DNS refactoring. Driver implementing. Implements: blueprint implement-dns-management-drive-for-trove Implements: blueprint provide-dns-driver-api-interface

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.