Plan the Domain Name System

Plan the Domain Name System

MCP leverages the OpenStack Domain Name System as a Service component called Designate to provide DNS with integrated Keystone authentication for OpenStack environments. Designate uses the Galera MySQL cluster as the distributed database to provide a mapping of IP addresses to domain names and hosts to access the Internet.

Designate uses RESTful API for creating, updating, and deleting DNS zones and records of OpenStack environments. Designate integrates Nova and Neutron notifications for auto-generated records as well as uses different underlying DNS servers including BIND9 and PowerDNS that are supported by MCP.

Designate includes the following components:

Designate components

Component

Description

designate-api

Processes API requests by sending them to designate-central using the Remote Procedure Call (RPC) mechanism.

designate-central

Handles RPC requests using message queueing, coordinates persistent storage, and applies business logic to data from designate-api. Storage is provided using the SQLAlchemy plugin supporting MySQL.

designate-worker

Runs the zone create, zone update, and zone delete tasks as well as tasks from designate-producer.

designate-producer

Manages periodic Designate tasks.

designate-pool-manager

(Optional) Manages the states of the DNS servers that are handled by Designate.

designate-zone-manager

(Optional) Handles all periodic tasks of the zone shard that designate-zone-manager is responsible for.

designate-mdns

Pushes the DNS zone information to the customer-facing DNS servers. Can also pull information about the DNS zones hosted outside of the Designate infrastructure.

designate-sink

Consumes the Nova and Neutron events and notifications to produce auto-generated records that are determined by custom notification handlers.

Back end (BIND9 or PowerDNS)

Represents your existing DNS servers or DNS servers deployed on separate VMs of the MCP infrastructure nodes.

All components except the back end can run on the MCP Virtualized Control Plane (VCP) as a part of the OpenStack API.