blob: ddc2cd5469bb3b978990d3dc6ed5284e5ff47a88 [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
Determe, Sebastien (sd378r)4c832982017-12-05 18:46:51 +010014.. tip::
15 - `Openstack Designate documentation (LATEST) <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.
16 - Notice the documentation version mentioned in the URL, e.g. ocata/, pike/, latest/ ...
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010017
18**Designate Overview**
19======================
20Designate is a *DNS as a Service* components. It allows API based interaction with a DNS server.
Eric Debeauc0095d12017-11-15 23:58:49 +000021
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010022This DNS server can be any *well configured* DNS server.
Eric Debeauc0095d12017-11-15 23:58:49 +000023
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010024Designate 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 +000025
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010026In order to be valuable, Designate must be plugged with a DNS Server that will be used:
Eric Debeauc0095d12017-11-15 23:58:49 +000027
28 - your global (pool of) DNS Server(s). Every entries put by Designate will be seen by everybody. It may then be very dangerous.
29 - 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**.
30 - 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 +010031
32**Designate usage in ONAP**
33===========================
34
35Currently, only DCAE Gen2 deployment needs designate to work.
Eric Debeauc0095d12017-11-15 23:58:49 +000036
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010037DCAE 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 +000038
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010039In 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.
Mars Toktonalievae2d2a32018-03-08 17:02:22 -060040This How-To will use bind but you can change to any of the `proposed backends <https://docs.openstack.org/designate/latest/contributor/support-matrix.html>`.
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010041
Eric Debeauc0095d12017-11-15 23:58:49 +000042Limitations with Heat automated deployment
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010043------------------------------------------
Eric Debeauc0095d12017-11-15 23:58:49 +000044The 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 +010045
Eric Debeauc0095d12017-11-15 23:58:49 +000046Limitations with Kubernetes automated deployment
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010047------------------------------------------------
Mars Toktonalievae2d2a32018-03-08 17:02:22 -060048The current design of kubernetes deployment installs DCAE into any openstack instances in any tenant. It still mandates designate on the tenant.
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +010049
50**Quick Install Guide**
51=======================
52
53Few 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>`:
54
551. Install bind9 nameserver
Mars Toktonaliev843c1492018-03-17 12:50:58 -0500562. Configure it to accept dns updates and forward to your master DNS Server. Example configuration is below:
Mars Toktonaliev58dacee2018-03-28 15:13:16 -050057
Mars Toktonaliev843c1492018-03-17 12:50:58 -050058 .. code:: bash
Mars Toktonaliev58dacee2018-03-28 15:13:16 -050059
Mars Toktonaliev843c1492018-03-17 12:50:58 -050060 root@designate:~# cat /etc/bind/named.conf.options
61 include "/etc/bind/rndc.key";
62 options {
63 directory "/var/cache/bind";
64 allow-new-zones yes;
65 dnssec-validation auto;
66 listen-on port 53 { 10.203.157.79; };
67 forwarders {
68 8.8.8.8;
69 8.8.4.4;
70 };
71 forward only;
72 allow-query { any; };
73 recursion yes;
74 minimal-responses yes;
75 };
76 controls {
77 inet 10.203.157.79 port 953 allow { 10.203.157.79; } keys { "rndc-key"; };
78 };
Mars Toktonaliev58dacee2018-03-28 15:13:16 -050079 root@designate:~#
80
Mars Toktonalievae2d2a32018-03-08 17:02:22 -0600813. Configure Designate in openstack. Please see `this guide <https://docs.openstack.org/mitaka/networking-guide/config-dns-int.html>` for more details.
Sylvain Desbureaux43f527e2017-11-15 17:42:15 +0100824. Create a pool pointing to your nameserver
83
Eric Debeauc0095d12017-11-15 23:58:49 +000084Now, 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).
85For OOM, use the DNS on the container host so it can give it to the relevant VM.