Jump to: navigation, search

Difference between revisions of "InstanceAndFloatingIPDNSForNova"

m (Text replace - "NovaSpec" to "NovaSpec")
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
+
 
 
<!-- ## page was renamed from PublicAndPrivateDNSForNova -->
 
<!-- ## page was renamed from PublicAndPrivateDNSForNova -->
* '''Launchpad Entry''': [[NovaSpec]]:public-and-private-dns
+
* '''Launchpad Entry''': NovaSpec:public-and-private-dns
 
* '''Created''':
 
* '''Created''':
* '''Contributors''': Ryan Lane
+
* '''Contributors''': Ryan Lane, Andrew Bogott
  
 
== Summary ==
 
== Summary ==
Line 23: Line 23:
 
* instance_dns_domain
 
* instance_dns_domain
  
On instance creation, nova will add a DNS entry for the instance name, using the instance DNS driver and domain. On instance deletion, nova will remove the DNS entry.
+
On instance creation, nova will add DNS entries for the instance name and id, using the instance DNS driver and domain. On instance deletion, nova will remove the DNS entries.
  
 
When a user adds a DNS entry for a specified domain to a floating IP, nova will add a DNS entry using the floating DNS driver. Users can get a list of available DNS domains via an API call. When a floating IP is deallocated, its DNS entry will automatically be deleted.
 
When a user adds a DNS entry for a specified domain to a floating IP, nova will add a DNS entry using the floating DNS driver. Users can get a list of available DNS domains via an API call. When a floating IP is deallocated, its DNS entry will automatically be deleted.

Latest revision as of 23:31, 17 February 2013

  • Launchpad Entry: NovaSpec:public-and-private-dns
  • Created:
  • Contributors: Ryan Lane, Andrew Bogott

Summary

Add functionality to nova to automatically manage DNS entries for instances, and DNS entries associated with floating IPs, 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:

  • floating_ip_dns_manager
  • instance_dns_manager
  • instance_dns_domain

On instance creation, nova will add DNS entries for the instance name and id, using the instance DNS driver and domain. On instance deletion, nova will remove the DNS entries.

When a user adds a DNS entry for a specified domain to a floating IP, nova will add a DNS entry using the floating DNS driver. Users can get a list of available DNS domains via an API call. When a floating IP is deallocated, its DNS entry will automatically be deleted.

Users can create new domains or delete existing ones. When a private domain is created it can be assigned to an availability zone. Public domains may be assigned to a project in order to limit which users can create entries in those domains.

Implementation

Instance DNS will be added as an optional step for instance management. Floating DNS will be added as an API extension.

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

  • get_domains()
  • create_entry(name, address, type, dnsdomain)
  • delete_entry(name, dnsdomain)
  • rename_entry(oldname, newname, dnsdomain)
  • modify_address(name, address, dnsdomain)
  • get_entries_by_address(address, dnsdomain)
  • get_entries_by_name(name, dnsdomain)
  • create_domain(fqdomain)
  • delete_domain(fqdomain)

The floating DNS API extension will expose the above functionality, as well as the ability to assign domains to availability zones or projects. The DNS driver won't know nova-specific information (e.g. availability zone and project); that information will be stored in the nova database.

Unresolved issues

BoF agenda and discussion