Jump to: navigation, search

Difference between revisions of "Designate/Incubation Application"

(Betsy Luzader)
(Location of project source code)
 
(12 intermediate revisions by 3 users not shown)
Line 22: Line 22:
 
''(what is the purpose of the project and vision for it? describe the relevance of the project to other OpenStack projects and the OpenStack mission to provide a ubiquitous cloud computing platform)''
 
''(what is the purpose of the project and vision for it? describe the relevance of the project to other OpenStack projects and the OpenStack mission to provide a ubiquitous cloud computing platform)''
  
Designate is a critical missing piece of the OpenStack driven data center - one of the most ubiquitous services, DNS. Designate is relevant to other OpenStack projects by automating the name resolution changes required for the creation and deletion of Nova instances, Trove databases or other components.
+
Designate is a critical missing piece of the OpenStack driven data center - one of the most ubiquitous services, DNS. Designate is relevant to other OpenStack projects by automating the name resolution changes required for the creation and deletion of Nova instances (e.g. reverse DNS, private IP space collisions), Trove databases or other components.
  
Designate provides DNS for both end user zones, and for other OpenStack projects. This functionality is exposed through a REST API, that is consistent with the standards in OpenStack projects today. Designate has a vendor neutral plugable architecture that allows nearly all the internal components to be replaced as needed. The project has backend drivers for the following Domain Name Servers:
+
Designate provides DNS for both end user zones, and for other OpenStack projects. This functionality is exposed through a REST API and uses the Oslo library components - consistent with OpenStack project standards. Integration with Nova and Neutron is currently available through [http://designate.readthedocs.org/en/latest/architecture.html#designate-sink designate-sink], which listens for event notifications, such as compute.instance.create.end and takes operator defined action on DNS resources. Designate has a vendor neutral plug-able architecture that allows nearly all the internal components to be replaced as needed. The project has backend drivers for the following Domain Name Servers:
  
 
* PowerDNS
 
* PowerDNS
Line 31: Line 31:
 
* DynECT
 
* DynECT
 
* BIND9
 
* BIND9
 +
 +
=== Why a new project? ===
 +
Two other options were considered during the initial evaluations of this problem domain. The DNS capabilities in Nova were analyzed and found to have limited functionality and little adoption (as advised by Ryan Lane). The [https://github.com/griddynamics/nova-dns nova-dns project] is not maintained and lacks full DNSaaS capabilities.
 +
 +
 +
The designate-core team have committed to providing a proxy to allow the Nova DNS capabilities to be performed by Designate, to allow for a deprecation process for Nova DNS to commence.
  
 
== Basic roadmap for the project ==
 
== Basic roadmap for the project ==
Line 40: Line 46:
  
 
== Location of project source code ==
 
== Location of project source code ==
[https://github.com/stackforge/designate https://github.com/stackforge/designate]
+
[https://github.com/openstack/designate https://github.com/openstack/designate]
  
[https://github.com/stackforge/python-designateclient https://github.com/stackforge/python-designateclient]
+
[https://github.com/openstack/python-designateclient https://github.com/openstack/python-designateclient]
  
 
== Programming language, required technology dependencies ==
 
== Programming language, required technology dependencies ==
Line 60: Line 66:
 
=== Team ===
 
=== Team ===
 
The team was formed two years ago and has grown to include a diverse group of highly skilled developers from a range of companies including, HP, Rackspace, eBay Inc. and Red Hat.
 
The team was formed two years ago and has grown to include a diverse group of highly skilled developers from a range of companies including, HP, Rackspace, eBay Inc. and Red Hat.
 +
 +
==== Core team review process ====
 +
Two core team members must "+2" a proposed change in gerrit in order to merge the code. Members of the core team are expected to make timely reviews of proposed code changes.
  
 
== Project developers qualifications ==
 
== Project developers qualifications ==
 
=== Kiall Mac Innes ===
 
=== Kiall Mac Innes ===
'''HP''' - '''Technical Lead'''
+
'''HP''' - '''Technical Lead''', '''Core Developer'''
  
 
Kiall is the Technical Lead for the HP "Helion" Cloud DNS team - responsible for both the operation of the production service, and ongoing development. Kiall is also the lead and founding developer of the Designate project and has been involved in OpenStack since Diablo, from both the operational and development sides.
 
Kiall is the Technical Lead for the HP "Helion" Cloud DNS team - responsible for both the operation of the production service, and ongoing development. Kiall is also the lead and founding developer of the Designate project and has been involved in OpenStack since Diablo, from both the operational and development sides.
  
 
=== Graham Hayes ===
 
=== Graham Hayes ===
'''HP''' - '''Senior Software Engineer'''
+
'''HP''' - '''Senior Software Engineer''', '''Core Developer'''
  
Graham is a core developer, working as part of the DNSaaS team in HP Helion. As part of this team he is responsible for operating a publicly accessible deployment of Designate, while working on new features for Designate. He has been working on Designate for approximately a year, and previously has experience in both startup and enterprise software development.
+
Graham works as part of the DNSaaS team in HP Helion. As part of this team he is responsible for operating a publicly accessible deployment of Designate, while working on new features for Designate. He has been working on Designate for approximately a year, and previously has experience in both startup and enterprise software development.
 +
 
 +
=== Betsy Luzader ===
 +
'''Rackspace''' - '''Software Developer''', '''Core Developer'''
 +
 
 +
Betsy Luzader is a developer on the Designate Team. She has worked at Rackspace since 2009 and has over 20 years of experience in enterprise software development.
 +
 
 +
=== Vinod Mangalpally ===
 +
'''Rackspace''' - '''Software Developer''', '''Core Developer'''
 +
 
 +
Vinod is a software developer at Rackspace working on Designate.
  
 
=== Endre Karlson ===
 
=== Endre Karlson ===
Line 77: Line 96:
 
Software engineer at HP since august 2013 working on Designate DNSaaS, dLux (UI for OpenDaylight), Libra LBaaS before working on DNSaaS. Before working at HP I worked as a consultant in multiple fields ranging from Linux to APM.
 
Software engineer at HP since august 2013 working on Designate DNSaaS, dLux (UI for OpenDaylight), Libra LBaaS before working on DNSaaS. Before working at HP I worked as a consultant in multiple fields ranging from Linux to APM.
  
=== Betsy Luzader ===
+
=== Emmanuel Ankutse ===
 
'''Rackspace''' - '''Software Developer'''
 
'''Rackspace''' - '''Software Developer'''
  
Betsy Luzader is a core developer on the Designate Team. She was worked at Rackspace since 2009 and has over 20 years of experience in enterprise software development.
 
 
=== Vinod Mangalpally ===
 
Vinod is a software developer at Rackspace working on Designate.
 
 
=== Emmanuel Ankutse ===
 
 
Emmanuel Ankutse is a contributor to Designate. He is a software developer at Rackspace and has been with Rackspace since 2009. Emmanuel Ankutse also contributed to the implementation of the current Cloud DNS API solution at Rackspace and has been in enterprise software development since 1990.
 
Emmanuel Ankutse is a contributor to Designate. He is a software developer at Rackspace and has been with Rackspace since 2009. Emmanuel Ankutse also contributed to the implementation of the current Cloud DNS API solution at Rackspace and has been in enterprise software development since 1990.
  
 
=== Tim Simmons ===
 
=== Tim Simmons ===
 +
'''Rackspace''' - '''Software Developer'''
 +
 
Tim is a software developer at Rackspace and holds a Bachelor of Computer Science from the University of Texas, Austin.
 
Tim is a software developer at Rackspace and holds a Bachelor of Computer Science from the University of Texas, Austin.
  
 
=== Ron Rickard ===
 
=== Ron Rickard ===
==== Sr. Cloud Engineer, eBay Inc. ====
+
'''eBay Inc.''' - '''Senior Cloud Engineer'''
 +
 
 
Ron is a IT professional with over 25 years experience with emphasis on devops.  Ron spent the past 2 years at eBay Inc. working on DNSaaS solutions for eBay's OpenStack cloud including contributions to the Designate open source project.
 
Ron is a IT professional with over 25 years experience with emphasis on devops.  Ron spent the past 2 years at eBay Inc. working on DNSaaS solutions for eBay's OpenStack cloud including contributions to the Designate open source project.
  
 
=== Rich Megginson ===
 
=== Rich Megginson ===
Principal Software Engineer
+
'''Red Hat''' - '''Principal Software Engineer'''
  
 
Rich has over 20 years of experience in enterprise software design at Red Hat, AOL, iPlanet, and Netscape, and was technical lead on the 389 project and a contributor to the FreeIPA project.
 
Rich has over 20 years of experience in enterprise software design at Red Hat, AOL, iPlanet, and Netscape, and was technical lead on the 389 project and a contributor to the FreeIPA project.

Latest revision as of 14:04, 17 November 2014

Project codename

Designate

Trademarks

(Does this project name, codename or contents use any trademarks, and if so, who owns them? List the codenames or other marks for which a trademark search should occur.)

No known trademarks. Project codename is "designate"

Summary (one sentence abstract of the project)

Designate is a DNS as a Service (DNSaaS) for OpenStack clouds.

Parent Program name and PTL

Program

DNS Program. Designate/Program_Application

Mission statement

(if the project is part of a new OpenStack program)

Designate/Program_Application

Detailed Description

(what is the purpose of the project and vision for it? describe the relevance of the project to other OpenStack projects and the OpenStack mission to provide a ubiquitous cloud computing platform)

Designate is a critical missing piece of the OpenStack driven data center - one of the most ubiquitous services, DNS. Designate is relevant to other OpenStack projects by automating the name resolution changes required for the creation and deletion of Nova instances (e.g. reverse DNS, private IP space collisions), Trove databases or other components.

Designate provides DNS for both end user zones, and for other OpenStack projects. This functionality is exposed through a REST API and uses the Oslo library components - consistent with OpenStack project standards. Integration with Nova and Neutron is currently available through designate-sink, which listens for event notifications, such as compute.instance.create.end and takes operator defined action on DNS resources. Designate has a vendor neutral plug-able architecture that allows nearly all the internal components to be replaced as needed. The project has backend drivers for the following Domain Name Servers:

  • PowerDNS
  • NSD4
  • FreeIPA
  • DynECT
  • BIND9

Why a new project?

Two other options were considered during the initial evaluations of this problem domain. The DNS capabilities in Nova were analyzed and found to have limited functionality and little adoption (as advised by Ryan Lane). The nova-dns project is not maintained and lacks full DNSaaS capabilities.


The designate-core team have committed to providing a proxy to allow the Nova DNS capabilities to be performed by Designate, to allow for a deprecation process for Nova DNS to commence.

Basic roadmap for the project

Near Future

  1. MiniDNS (new method for providing customer facing DNS servers with updates)
  2. Pools (Allow for designate to control multiple groups of servers)
  3. Private Pools
  4. V2 API - V2 is an improvement over V1 because it more closely aligns with RFC definitions and eliminates user confusion (e.g. the introduction of record sets and the usage of terms "zone" vs "domain".

Location of project source code

https://github.com/openstack/designate

https://github.com/openstack/python-designateclient

Programming language, required technology dependencies

Language:

Python

Dependencies

Message queue, DNS server, database server, keystone

Is project currently open sourced? What license?

Yes - Licensed under the Apache License, Version 2.0

Level of maturity of software and team

Software

Running as a GA service in HP Helion Public Cloud for over a year, and been in development for over two years.

Team

The team was formed two years ago and has grown to include a diverse group of highly skilled developers from a range of companies including, HP, Rackspace, eBay Inc. and Red Hat.

Core team review process

Two core team members must "+2" a proposed change in gerrit in order to merge the code. Members of the core team are expected to make timely reviews of proposed code changes.

Project developers qualifications

Kiall Mac Innes

HP - Technical Lead, Core Developer

Kiall is the Technical Lead for the HP "Helion" Cloud DNS team - responsible for both the operation of the production service, and ongoing development. Kiall is also the lead and founding developer of the Designate project and has been involved in OpenStack since Diablo, from both the operational and development sides.

Graham Hayes

HP - Senior Software Engineer, Core Developer

Graham works as part of the DNSaaS team in HP Helion. As part of this team he is responsible for operating a publicly accessible deployment of Designate, while working on new features for Designate. He has been working on Designate for approximately a year, and previously has experience in both startup and enterprise software development.

Betsy Luzader

Rackspace - Software Developer, Core Developer

Betsy Luzader is a developer on the Designate Team. She has worked at Rackspace since 2009 and has over 20 years of experience in enterprise software development.

Vinod Mangalpally

Rackspace - Software Developer, Core Developer

Vinod is a software developer at Rackspace working on Designate.

Endre Karlson

HP - Software Engineer

Software engineer at HP since august 2013 working on Designate DNSaaS, dLux (UI for OpenDaylight), Libra LBaaS before working on DNSaaS. Before working at HP I worked as a consultant in multiple fields ranging from Linux to APM.

Emmanuel Ankutse

Rackspace - Software Developer

Emmanuel Ankutse is a contributor to Designate. He is a software developer at Rackspace and has been with Rackspace since 2009. Emmanuel Ankutse also contributed to the implementation of the current Cloud DNS API solution at Rackspace and has been in enterprise software development since 1990.

Tim Simmons

Rackspace - Software Developer

Tim is a software developer at Rackspace and holds a Bachelor of Computer Science from the University of Texas, Austin.

Ron Rickard

eBay Inc. - Senior Cloud Engineer

Ron is a IT professional with over 25 years experience with emphasis on devops. Ron spent the past 2 years at eBay Inc. working on DNSaaS solutions for eBay's OpenStack cloud including contributions to the Designate open source project.

Rich Megginson

Red Hat - Principal Software Engineer

Rich has over 20 years of experience in enterprise software design at Red Hat, AOL, iPlanet, and Netscape, and was technical lead on the 389 project and a contributor to the FreeIPA project.

Infrastructure requirements (testing, etc)

We currently use stackforge / gerrit / jenkins for our testing suite - we do not see any additional requirements on top of what the OpenStack Infrastructure team provide.

Have all current contributors agreed to the OpenStack CLA?

Yes