blob: 09576966fc70fe9ec2c266ed0bc88230aeabf58e [file] [log] [blame]
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +01001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 http://creativecommons.org/licenses/by/4.0
3 Copyright 2017 ONAP
4
5
6.. contents::
7 :depth: 2
8..
9
10=====================================
11**Setting Up Designate on Openstack**
12=====================================
13
14.. tip:: `Openstack Designate documentation <https://docs.openstack.org/designate/latest/index.html>` is an important starting point for configuring Designate. Here, the focus will be on designate for ONAP.
15
16**Designate Overview**
17======================
18Designate is a *DNS as a Service* components. It allows API based interaction with a DNS server.
Eric Debeauc0095d12017-11-15 23:58:49 +000019
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010020This DNS server can be any *well configured* DNS server.
Eric Debeauc0095d12017-11-15 23:58:49 +000021
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010022Designate allows to create **any** entries in the DNS and thus has to be used wisely (see `Designate Production Guidelines <https://docs.openstack.org/designate/latest/admin/production-guidelines.html>` to have a complete explanation).
Eric Debeauc0095d12017-11-15 23:58:49 +000023
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010024In order to be valuable, Designate must be plugged with a DNS Server that will be used:
Eric Debeauc0095d12017-11-15 23:58:49 +000025
26 - your global (pool of) DNS Server(s). Every entries put by Designate will be seen by everybody. It may then be very dangerous.
27 - a specific (pool of) DNS Server(s) for your openstack deployment. DNS resolution will work only for your VM. **This is the one that has been tested**.
28 - a specific (pool of) DNS Server(s) for an openstack tenant. Not a lot of doc is available for that so this part won't be explained here.
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010029
30**Designate usage in ONAP**
31===========================
32
33Currently, only DCAE Gen2 deployment needs designate to work.
Eric Debeauc0095d12017-11-15 23:58:49 +000034
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010035DCAE deployment use cloudify with openstack plugin to start the needed VM for DCAE. In particular, Designate is used to give the IP address of consul server. Thus, the others VMs needs to access the DNS server where Designate push records.
Eric Debeauc0095d12017-11-15 23:58:49 +000036
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010037In order to do that, we'll have to deploy DNS Server(s), configure them to accept dns updates and configure our networks to point to this DNS.
38This Fow-To will use bind but you can change to any of the `proposed backends <https://docs.openstack.org/designate/latest/contributor/support-matrix.html>`.
39
Eric Debeauc0095d12017-11-15 23:58:49 +000040Limitations with Heat automated deployment
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010041------------------------------------------
Eric Debeauc0095d12017-11-15 23:58:49 +000042The current design of Heat installer installs DCAE needed VM into the same tenant of the same openstack of the other ONAP components. Thus, this openstack tenant must support Designate.
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010043
Eric Debeauc0095d12017-11-15 23:58:49 +000044Limitations with Kubernetes automated deployment
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010045------------------------------------------------
46The current design of kubernetes deployment installs DCAE into any openstack instances in any tenant. It stills mandate designate on the tenant.
47
48**Quick Install Guide**
49=======================
50
51Few steps have to be performed. The detail of each steps are in `the config guide of Openstack Designate <https://docs.openstack.org/designate/latest/install/index.html>`:
52
531. Install bind9 nameserver
542. Configure it to accept dns updates and forward to your master DNS Server
553. Configure Designate in openstack
564. Create a pool pointing to your nameserver
57
Eric Debeauc0095d12017-11-15 23:58:49 +000058Now, when starting the Heat Deployment, use this nameserver. When the stack heat has started, retrieve the random string (XXX in the example) and create the zone XXX.yourdomain (yourdomain is what you have filled in `dcae_domain` in onap_openstack.env).
59For OOM, use the DNS on the container host so it can give it to the relevant VM.