blob: 2ba22ba171db1dcce771859480d881311277464a [file] [log] [blame]
Pavel Cizinsky82361442016-11-25 14:26:47 +01001
Aleš Komárek53c944b2017-02-06 14:08:15 +01002=================
3Designate formula
4=================
5
6Designate provides DNSaaS services for OpenStack.
7
8Sample pillars
9==============
Pavel Cizinsky82361442016-11-25 14:26:47 +010010
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030011For Designate with BIND9 local backend:
12
Pavel Cizinsky82361442016-11-25 14:26:47 +010013.. code:: yaml
14
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030015 designate:
16 server:
17 enabled: true
18 region: RegionOne
19 domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
20 version: ocata
21 backend:
22 bind9:
23 rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw==
24 rndc_algorithm: hmac-sha512
Mykyta Karpinb2519312017-08-08 13:24:22 +030025 api:
26 base_uri: 'http://127.0.0.1:9001'
Mykyta Karpin96a3f432017-12-19 14:17:08 +020027 admin_api:
28 enabled: true
29 enabled_extensions_admin: quotas
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030030 bind:
31 api:
32 address: 127.0.0.1
33 database:
34 engine: mysql
35 host: 127.0.0.1
36 port: 3306
37 name:
38 main_database: designate
39 pool_manager: designate_pool_manager
40 user: designate
41 password: passw0rd
42 identity:
43 engine: keystone
44 host: 127.0.0.1
45 port: 35357
46 tenant: service
47 user: designate
48 password: passw0rd
Ivan Udovichenkoa35a07d2017-09-29 14:50:10 +030049 mdns:
50 address: 0.0.0.0
51 port: 5354
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030052 message_queue:
53 engine: rabbitmq
54 members:
55 - host: 127.0.0.1
56 user: openstack
57 password: password
58 virtual_host: '/openstack'
59 pools:
60 default:
61 description: 'default pool'
62 attributes:
63 service_tier: GOLD
64 ns_records:
65 - hostname: 'ns1.example.org.'
66 priority: 10
Pavel Cizinsky82361442016-11-25 14:26:47 +010067 nameservers:
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030068 - host: 127.0.0.1
Pavel Cizinsky82361442016-11-25 14:26:47 +010069 port: 53
70 targets:
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030071 default_target:
72 type: bind9
73 description: 'default target'
74 masters:
75 - host: 127.0.0.1
76 port: 5354
77 options:
78 host: 127.0.0.1
79 port: 53
80 rndc_host: 127.0.0.1
81 rndc_port: 953
82 rndc_key_file: /etc/designate/rndc.key
Mykyta Karpinf728b072017-10-31 13:39:11 +020083 quota:
84 zones: 40
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030085 worker:
86 enabled: true
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030087.. note::
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030088 *domain_id* parameter is UUID of DNS zone managed by designate-sink service. This zone will
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030089 be populated by A records for fixed and floating ip addresses of spawned VMs. After designate
90 is deployed and zone is created, this parameter should be updated accordingly to UUID of
91 newly created zone. Then designate state should be reapplied.
92
Mykyta Karpinb2519312017-08-08 13:24:22 +030093.. note::
94 *server:api:base_uri* allows to set URL which is returned in designate-api responses, it is
95 useful in cases when, designate-api is deployed under proxy server. If not overriden in reclass,
96 it defaults to http://*server:bind:api:address*:9001/.
97
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030098.. note::
Ivan Udovichenkoa35a07d2017-09-29 14:50:10 +030099 *server:mdns:address* and *server:mdns:port* options allow to change MDNS listening address and
100 port. Changes to server:pools:*:targets will be also required if the MDNS's address and port are
101 being used there.
102
103.. note::
Ivan Udovichenko53fd3112017-09-07 14:07:09 +0300104 *worker:enabled* sets worker role and installs designate-worker and designate-producer packages
105 which services will push changes to backend DNS servers.
106 *pool_manager:enabled* should be a default role for older releases of OpenStack, older than
107 Newton in which designate-worker and designate-producer were represented.
108 In releases starting from Newton, only Designate pool manager service still allows live syncs
109 with Power DNS server for now.
110
Mykyta Karpinf728b072017-10-31 13:39:11 +0200111.. note::
112 *server:quota:zones* allows to set default value for zones quota for all projects and users.
113 In case with Designate tempest plugin (0.2.0) zones quota should be increased to 40, so all
114 tests can pass.
115
Mykyta Karpin8bda8df2017-06-08 14:48:55 +0300116Pools pillar for BIND9 master and multiple slaves setup:
117
118.. code:: yaml
119
120 pools:
121 default:
122 description: 'default pool'
123 attributes:
124 service_tier: GOLD
125 ns_records:
126 - hostname: 'ns1.example.org.'
127 priority: 10
128 nameservers:
129 - host: 192.168.0.1
130 port: 53
131 - host: 192.168.0.2
132 port: 53
133 - host: 192.168.0.3
134 port: 53
135 targets:
136 default_target:
137 type: bind9
138 description: 'default target'
139 masters:
140 - host: 192.168.0.4
141 port: 5354
142 options:
143 host: 192.168.0.4
144 port: 53
145 rndc_host: 192.168.0.4
146 rndc_port: 953
147 rndc_key_file: /etc/designate/rndc.key
Pavel Cizinsky82361442016-11-25 14:26:47 +0100148
sgarbuzb7188892018-05-08 13:26:42 +0300149Enhanced logging with logging.conf
150----------------------------------
151
152By default logging.conf is disabled.
153
154That is possible to enable per-binary logging.conf with new variables:
155 * openstack_log_appender - set it to true to enable log_config_append for all OpenStack services;
156 * openstack_fluentd_handler_enabled - set to true to enable FluentHandler for all Openstack services.
157
158Only WatchedFileHandler and FluentHandler are available.
159
160Also it is possible to configure this with pillar:
161
162.. code-block:: yaml
163
164 designate:
165 server:
166 logging:
167 log_appender: true
168 log_handlers:
169 watchedfile:
170 enabled: true
171 fluentd:
172 enabled: true
173
Pavel Cizinsky82361442016-11-25 14:26:47 +0100174Usage
Aleš Komárek53c944b2017-02-06 14:08:15 +0100175=====
Pavel Cizinsky82361442016-11-25 14:26:47 +0100176
177Create server
178
179.. code:: bash
180
181 designate server-create --name ns.example.com.
182
183Create domain
184
185.. code:: bash
186
187 designate domain-create --name example.com. --email mail@example.com
188
189Create record
190
191.. code:: bash
192
193 designate record-create example.com. --name test.example.com. --type A --data 10.2.14.15
194
195Test it
196
197.. code:: bash
198
199 dig @127.0.0.1 test.example.com.
Filip Pytlounbfa72112017-02-02 13:17:47 +0100200
201Documentation and Bugs
202======================
203
204To learn how to install and update salt-formulas, consult the documentation
205available online at:
206
207 http://salt-formulas.readthedocs.io/
208
209In the unfortunate event that bugs are discovered, they should be reported to
210the appropriate issue tracker. Use Github issue tracker for specific salt
211formula:
212
213 https://github.com/salt-formulas/salt-formula-letsencrypt/issues
214
215For feature requests, bug reports or blueprints affecting entire ecosystem,
216use Launchpad salt-formulas project:
217
218 https://launchpad.net/salt-formulas
219
220You can also join salt-formulas-users team and subscribe to mailing list:
221
222 https://launchpad.net/~salt-formulas-users
223
224Developers wishing to work on the salt-formulas projects should always base
225their work on master branch and submit pull request against specific formula.
226
227 https://github.com/salt-formulas/salt-formula-letsencrypt
228
229Any questions or feedback is always welcome so feel free to join our IRC
230channel:
231
232 #salt-formulas @ irc.freenode.net