An interface with an external DNS service is defined for Neutron. A reference implementation is also included, based on Designate. The interface and the driver will enable users to publish in the external DNS service the dns_name and dns_domain attributes associated with floating ips, ports and networks. As a consequence, the floating ips and networks api is extended to manage dns_name and dns_domain attributes. The dns_name attribute was added to ports in a preceding commit DocImpact: Introduce config option external_dns_driver to specify a driver for external dns integration. For more info, see doc/source/devref/external_dns_integration.rst APIImpact Implements: blueprint external-dns-resolution Change-Id: Ic298ad2558410ab9a614f22e1757d1fc8b22c482
1.8 KiB
Integration with external DNS services
Since the Mitaka release, neutron has an interface defined to interact with an external DNS service. This interface is based on an abstract driver that can be used as the base class to implement concrete drivers to interact with various DNS services. The reference implementation of such a driver integrates neutron with OpenStack Designate.
This integration allows users to publish dns_name and dns_domain attributes associated with floating IP addresses, ports, and networks in an external DNS service.
Changes to the neutron API
To support integration with an external DNS service, the dns_name and dns_domain attributes were added to floating ips, ports and networks. The dns_name specifies the name to be associated with a corresponding IP address, both of which will be published to an existing domain with the name dns_domain in the external DNS service.
Specifically, floating ips, ports and networks are extended as follows:
- Floating ips have a dns_name and a dns_domain attribute.
- Ports have a dns_name attribute.
- Networks have a dns_domain attributes.