Jump to: navigation, search

Difference between revisions of "InstanceAndFloatingIPDNSForNova"

Line 6: Line 6:
  
 
== Summary ==
 
== 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.
 
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 ==
 
== Release Note ==
 
 
Users will be able to specify drivers for public and private DNS to associate DNS entries with instances and floating IP addresses.
 
Users will be able to specify drivers for public and private DNS to associate DNS entries with instances and floating IP addresses.
  
 
== Rationale ==
 
== Rationale ==
 
 
Nova already automates a number of work intensive activities. Managing DNS is just one more step in that direction.
 
Nova already automates a number of work intensive activities. Managing DNS is just one more step in that direction.
  
 
== User stories ==
 
== User stories ==
 
 
== Assumptions ==
 
== Assumptions ==
 
 
== Design ==
 
== Design ==
 
 
Nova configuration will provide the following options:
 
Nova configuration will provide the following options:
  
Line 35: Line 29:
  
 
== Implementation ==
 
== Implementation ==
 
 
Instance DNS will be added as an optional step for instance management. Floating DNS will be added as an API extension.
 
Instance DNS will be added as an optional step for instance management. Floating DNS will be added as an API extension.
  
Line 42: Line 35:
 
* get_zones()
 
* get_zones()
 
* create_entry(name, address, type, dnszone)
 
* create_entry(name, address, type, dnszone)
* delete_entry(address, dnszone="")
+
* delete_entry(name, dnszone="")
 
* rename_entry(address, name, dnszone)
 
* rename_entry(address, name, dnszone)
 
* modify_address(name, address, dnszone)
 
* modify_address(name, address, dnszone)
Line 51: Line 44:
  
 
== Unresolved issues ==
 
== Unresolved issues ==
 
 
== BoF agenda and discussion ==
 
== BoF agenda and discussion ==
 
 
----
 
----
 
[[Category:Spec]]
 
[[Category:Spec]]

Revision as of 22:33, 9 May 2011

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

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_dns_manager
  • floating_dns_zones
  • instance_dns_manager
  • instance_dns_zone

On instance creation, nova will add a DNS entry for the instance name, using the instance 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 floating 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

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_zones()
  • create_entry(name, address, type, dnszone)
  • delete_entry(name, dnszone="")
  • rename_entry(address, name, dnszone)
  • modify_address(name, address, dnszone)
  • get_entries_by_address(address, dnszone="")
  • get_entries_by_name(name, dnszone="")

The floating DNS API extension will expose the above functionality.

Unresolved issues

BoF agenda and discussion