Designate/Incubation Application

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.

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.

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

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

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.

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