Jump to: navigation, search

InstanceAndFloatingIPDNSForNova

Revision as of 19:54, 9 May 2011 by RyanLane (talk)
  • Launchpad Entry: NovaSpec:public-and-private-dns
  • Created:
  • Contributors: Ryan Lane

Summary

Add functionality to nova to automatically manage DNS entries for instances ("private" DNS), and manage DNS entries associated with floating IPs ("public" DNS), with a driver based system to handle different DNS servers.

Release Note

Users will be able to specify drivers for public and private DNS to associate DNS entries with instances and floating IP addresses.

Rationale

Nova already automates a number of work intensive activities. Managing DNS is just one more step in that direction.

User stories

Assumptions

Design

Nova configuration will provide the following options:

  • public_dns_manager
  • public_dns_zones
  • private_dns_manager
  • private_dns_zone

On instance creation, nova will add a DNS entry for the instance name, using the private DNS driver and zone. On instance deletion, nova will remove the DNS entry.

When a user adds a DNS entry for a specified zone to a floating IP, nova will add a DNS entry using the public DNS driver. User's can get a list of available DNS zones via an API call. When a floating IP is deallocated, its DNS entry will automatically be deleted.

Implementation

Private DNS will be added as an option step for instance management. Public DNS will be added as an API extension.

All DNS drivers must be useable for both public and private DNS. Drivers will expose the following functions:

  • get_zones()
  • create_entry(name, address, type, zone)
  • delete_entry(address, zone="")
  • rename_entry(address, name, zone)
  • modify_address(name, address, zone)
  • get_entries_by_address(address, zone="")
  • get_entries_by_name(name, zone="")

The public DNS API extension will expose the above functionality.

Unresolved issues

BoF agenda and discussion