Jump to: navigation, search

Difference between revisions of "Designate/Old Incubation Application"

 
(28 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''Project codename''': Moniker
+
== Project codename ==
  
'''Summary''' (one sentence abstract of the project): Moniker DNSaaS Project
+
Designate
  
'''Detailed Description''': Moniker is a an DNS as-a-service project. It is intended to be used to provide DNS service from the entry point of creating, updating, maintaining and deleting DNS data using the Moniker API, to providing DNS resolution for users. It is a very modular project, allowing for the use of whatever DNS server and organization demands, or the database where DNS data is stored. It is also intended to work in conjunction with other components such as Nova.
+
== Summary ==
  
What is the purpose of the project and vision for it?
+
Designate DNSaaS Project
  
To provide managed DNS for the Openstack Ecosystem using a REST API or Moniker Sink which consumes events from Nova or Quantum, or any other service that has events that would necessitate DNS changes. It also will replace Nova DNS bindings and provide much more robust and full-featured DNS functionality. Also, advanced DNS record support will be added such as DNSSEC.
+
== Detailed Description ==
  
Describe the relevance of the project to other [[OpenStack]] projects and the [[OpenStack]] mission to provide a ubiquitous cloud computing platform:
+
Designate is a DNS as-a-service project. It is intended to be used to provide DNS service from the entry point of creating, updating, maintaining and deleting DNS data using the Designate API, to providing DNS resolution for users. It is a very modular project, allowing for the use of whatever DNS server and organization demands, or the database where DNS data is stored. It is also intended to work in conjunction with other components such as Nova.
  
Moniker is adding a missing piece of data-center functionality, namely, one of the most ubiquitous services, DNS. Moniker will automate the name resolution changes required for the creation and deletion of Nova instances or other components.
+
The purpose of the project is provide managed DNS for the Openstack Ecosystem using a REST API or Designate Sink which consumes events from Nova or Quantum, or any other service that has events that would necessitate DNS changes. It also will replace Nova DNS bindings and provide much more robust and full-featured DNS functionality. Also, advanced DNS record support will be added such as DNSSEC.
  
'''Basic roadmap for the project''':
+
Designate is relevant to the mission by adding a missing piece of data-center functionality, namely, one of the most ubiquitous services, DNS. It's relevant to other OpenStack projects by automating the name resolution changes required for the creation and deletion of Nova instances or other components.
  
The current release provides:
+
== Basic roadmap for the project ==
 +
 
 +
=== The current release provides ===
  
 
* REST API for domain/record management
 
* REST API for domain/record management
Line 22: Line 24:
 
* Framework in place to integrate with Nova and Quantum notifications (for auto-generated records)
 
* Framework in place to integrate with Nova and Quantum notifications (for auto-generated records)
 
* Support for PowerDNS, MySQLBind, and Bind out of the box
 
* Support for PowerDNS, MySQLBind, and Bind out of the box
 +
* Command Line Interface
 +
* Python Bindings
 +
 +
=== Future release plans ===
 +
 +
* DNSSEC
 +
* Development of functionality to utilize designate-sink to process events from Nova and Quantum
 +
* Import/Export of Domains via BIND9 style zone files
 +
* Private/Internal DNS servers
 +
 +
== Location of project source code ==
  
'''Location of project source code''':
+
* [https://launchpad.net/moniker Designate on Launchpad]
 +
* [https://github.com/stackforge/moniker/ Designate at StackForge]
 +
* [https://github.com/stackforge/python-monikerclient/ python-designateclient at StackForge]
  
https://github.com/stackforge/moniker/
+
== Programming language, required technology dependencies ==
  
'''Programming language, required technology dependencies''':
+
;Language: Python
  
Python, Message Queue, PowerDNS, BIND9 or other DNS server
+
;Dependencies: flask, message queue, DNS server, database server
  
'''Is project currently open sourced? What license?''':
+
== Is project currently open sourced? What license? ==
  
 
Yes, under the Apache 2.0 license.
 
Yes, under the Apache 2.0 license.
  
'''Level of maturity of software and team''':
+
== Level of maturity of software and team ==
 +
 
 +
* Software: Private Beta at HP Cloud. Implementations at other organizations.
 +
* Team: Working together for six months.
 +
 
 +
== Proposed project technical lead and qualifications ==
  
Software: Private Beta at HPCS. Implementations at other organizations
+
;Kiall Mac Innes (kiall): Kiall has worked on OpenStack for ~2 years. He has an extensive understanding of DNS and is the lead author of Designate.
Team: Working together for six months
 
  
'''Proposed project technical lead and qualifications''':
+
== Other project developers and qualifications ==
  
Kiall Mac Innes
+
;Simon McCartney (simonmcc): Simon has Extensive DNS, Orchestration, Database, and operation experience.
  
Kiall has worked on Openstack for 2 years. He has an extensive understand of DNS and is the lead author of Moniker
+
;Patrick Galbraith (CaptTofu): Patrick Galbraith has extensive database, operational and has worked on various aspects of Openstack and related projects (Red Dwarf)
  
'''Other project developers and qualifications''':
+
;Endre Karlson (zykes-): DNS, Linux, Orchestration, Database, Python, Ruby, Billingstack
  
Simon McCartney
+
;Ryan Lane (Ryan_Lane): Experience with operating other OpenStack projects, maintainer of legacy nova dns code and maintainer of DNS code for Wikimedia Labs. Will use Designate in production soon and will be writing a gdnsd driver.
  
Simon has Extensive DNS, Orchestration, Database, and operation experience.
+
== Infrastructure requirements (testing, etc) ==
  
Patrick Galbraith
+
Currently on StackForge using Gerrit and Jenkins to runs the unit test suite and pyflakes plus pep8. No additional infrastructure requirements are expected.
  
Patrick Galbraith has extensive database, operational and has worked on various aspects of Openstack and related projects (Red Dwarf)
+
== Have all current contributors agreed to the OpenStack CLA? ==
  
'''Infrastructure requirements (testing, etc)''':
+
Yes.
  
Currently on Stackforge using Gerrit and Jenkins which runs the unit test suite and pyflakes plus pep8.
+
== Related Links ==
  
'''Have all current contributors agreed to the OpenStack CLA?'''
+
* [http://moniker.readthedocs.org/ Documentation]
 +
* [https://wiki.openstack.org/wiki/Designate Designate on OpenStack Wiki]
 +
* [http://openstacksummitapril2013.sched.org/event/c45a03b565d5302b50e3edc1f43756ea#.UXB8nYdxdok Designate Talk at the Portland Summit]
 +
* [https://docs.google.com/document/d/1UFoAc7E17XivlV7h2PD4SCMeEhLecvPw0GAaoq_JKCk/edit Openstack DNS solutions comparison pre-San Diego Summit]
 +
* [https://etherpad.openstack.org/openstack-dns San Diego Summit Etherpad]
  
Yes
+
== Status ==
  
'''Status''': To be completed by PPB
+
To be completed by PPB

Latest revision as of 18:25, 30 April 2014

Project codename

Designate

Summary

Designate DNSaaS Project

Detailed Description

Designate is a DNS as-a-service project. It is intended to be used to provide DNS service from the entry point of creating, updating, maintaining and deleting DNS data using the Designate API, to providing DNS resolution for users. It is a very modular project, allowing for the use of whatever DNS server and organization demands, or the database where DNS data is stored. It is also intended to work in conjunction with other components such as Nova.

The purpose of the project is provide managed DNS for the Openstack Ecosystem using a REST API or Designate Sink which consumes events from Nova or Quantum, or any other service that has events that would necessitate DNS changes. It also will replace Nova DNS bindings and provide much more robust and full-featured DNS functionality. Also, advanced DNS record support will be added such as DNSSEC.

Designate is relevant to the mission by adding a missing piece of data-center functionality, namely, one of the most ubiquitous services, DNS. It's relevant to other OpenStack projects by automating the name resolution changes required for the creation and deletion of Nova instances or other components.

Basic roadmap for the project

The current release provides

  • REST API for domain/record management
  • Multi-tenant
  • Integrated with Keystone for authentication
  • Framework in place to integrate with Nova and Quantum notifications (for auto-generated records)
  • Support for PowerDNS, MySQLBind, and Bind out of the box
  • Command Line Interface
  • Python Bindings

Future release plans

  • DNSSEC
  • Development of functionality to utilize designate-sink to process events from Nova and Quantum
  • Import/Export of Domains via BIND9 style zone files
  • Private/Internal DNS servers

Location of project source code

Programming language, required technology dependencies

Language
Python
Dependencies
flask, message queue, DNS server, database server

Is project currently open sourced? What license?

Yes, under the Apache 2.0 license.

Level of maturity of software and team

  • Software: Private Beta at HP Cloud. Implementations at other organizations.
  • Team: Working together for six months.

Proposed project technical lead and qualifications

Kiall Mac Innes (kiall)
Kiall has worked on OpenStack for ~2 years. He has an extensive understanding of DNS and is the lead author of Designate.

Other project developers and qualifications

Simon McCartney (simonmcc)
Simon has Extensive DNS, Orchestration, Database, and operation experience.
Patrick Galbraith (CaptTofu)
Patrick Galbraith has extensive database, operational and has worked on various aspects of Openstack and related projects (Red Dwarf)
Endre Karlson (zykes-)
DNS, Linux, Orchestration, Database, Python, Ruby, Billingstack
Ryan Lane (Ryan_Lane)
Experience with operating other OpenStack projects, maintainer of legacy nova dns code and maintainer of DNS code for Wikimedia Labs. Will use Designate in production soon and will be writing a gdnsd driver.

Infrastructure requirements (testing, etc)

Currently on StackForge using Gerrit and Jenkins to runs the unit test suite and pyflakes plus pep8. No additional infrastructure requirements are expected.

Have all current contributors agreed to the OpenStack CLA?

Yes.

Related Links

Status

To be completed by PPB