blob: 943fbeaf716eed85373100384901195e3ab2ea55 [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 Karpin8bda8df2017-06-08 14:48:55 +030027 bind:
28 api:
29 address: 127.0.0.1
30 database:
31 engine: mysql
32 host: 127.0.0.1
33 port: 3306
34 name:
35 main_database: designate
36 pool_manager: designate_pool_manager
37 user: designate
38 password: passw0rd
39 identity:
40 engine: keystone
41 host: 127.0.0.1
42 port: 35357
43 tenant: service
44 user: designate
45 password: passw0rd
Ivan Udovichenkoa35a07d2017-09-29 14:50:10 +030046 mdns:
47 address: 0.0.0.0
48 port: 5354
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030049 message_queue:
50 engine: rabbitmq
51 members:
52 - host: 127.0.0.1
53 user: openstack
54 password: password
55 virtual_host: '/openstack'
56 pools:
57 default:
58 description: 'default pool'
59 attributes:
60 service_tier: GOLD
61 ns_records:
62 - hostname: 'ns1.example.org.'
63 priority: 10
Pavel Cizinsky82361442016-11-25 14:26:47 +010064 nameservers:
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030065 - host: 127.0.0.1
Pavel Cizinsky82361442016-11-25 14:26:47 +010066 port: 53
67 targets:
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030068 default_target:
69 type: bind9
70 description: 'default target'
71 masters:
72 - host: 127.0.0.1
73 port: 5354
74 options:
75 host: 127.0.0.1
76 port: 53
77 rndc_host: 127.0.0.1
78 rndc_port: 953
79 rndc_key_file: /etc/designate/rndc.key
Mykyta Karpinf728b072017-10-31 13:39:11 +020080 quota:
81 zones: 40
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030082 worker:
83 enabled: true
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030084.. note::
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030085 *domain_id* parameter is UUID of DNS zone managed by designate-sink service. This zone will
Mykyta Karpin8bda8df2017-06-08 14:48:55 +030086 be populated by A records for fixed and floating ip addresses of spawned VMs. After designate
87 is deployed and zone is created, this parameter should be updated accordingly to UUID of
88 newly created zone. Then designate state should be reapplied.
89
Mykyta Karpinb2519312017-08-08 13:24:22 +030090.. note::
91 *server:api:base_uri* allows to set URL which is returned in designate-api responses, it is
92 useful in cases when, designate-api is deployed under proxy server. If not overriden in reclass,
93 it defaults to http://*server:bind:api:address*:9001/.
94
Ivan Udovichenko53fd3112017-09-07 14:07:09 +030095.. note::
Ivan Udovichenkoa35a07d2017-09-29 14:50:10 +030096 *server:mdns:address* and *server:mdns:port* options allow to change MDNS listening address and
97 port. Changes to server:pools:*:targets will be also required if the MDNS's address and port are
98 being used there.
99
100.. note::
Ivan Udovichenko53fd3112017-09-07 14:07:09 +0300101 *worker:enabled* sets worker role and installs designate-worker and designate-producer packages
102 which services will push changes to backend DNS servers.
103 *pool_manager:enabled* should be a default role for older releases of OpenStack, older than
104 Newton in which designate-worker and designate-producer were represented.
105 In releases starting from Newton, only Designate pool manager service still allows live syncs
106 with Power DNS server for now.
107
Mykyta Karpinf728b072017-10-31 13:39:11 +0200108.. note::
109 *server:quota:zones* allows to set default value for zones quota for all projects and users.
110 In case with Designate tempest plugin (0.2.0) zones quota should be increased to 40, so all
111 tests can pass.
112
Mykyta Karpin8bda8df2017-06-08 14:48:55 +0300113Pools pillar for BIND9 master and multiple slaves setup:
114
115.. code:: yaml
116
117 pools:
118 default:
119 description: 'default pool'
120 attributes:
121 service_tier: GOLD
122 ns_records:
123 - hostname: 'ns1.example.org.'
124 priority: 10
125 nameservers:
126 - host: 192.168.0.1
127 port: 53
128 - host: 192.168.0.2
129 port: 53
130 - host: 192.168.0.3
131 port: 53
132 targets:
133 default_target:
134 type: bind9
135 description: 'default target'
136 masters:
137 - host: 192.168.0.4
138 port: 5354
139 options:
140 host: 192.168.0.4
141 port: 53
142 rndc_host: 192.168.0.4
143 rndc_port: 953
144 rndc_key_file: /etc/designate/rndc.key
Pavel Cizinsky82361442016-11-25 14:26:47 +0100145
146Usage
Aleš Komárek53c944b2017-02-06 14:08:15 +0100147=====
Pavel Cizinsky82361442016-11-25 14:26:47 +0100148
149Create server
150
151.. code:: bash
152
153 designate server-create --name ns.example.com.
154
155Create domain
156
157.. code:: bash
158
159 designate domain-create --name example.com. --email mail@example.com
160
161Create record
162
163.. code:: bash
164
165 designate record-create example.com. --name test.example.com. --type A --data 10.2.14.15
166
167Test it
168
169.. code:: bash
170
171 dig @127.0.0.1 test.example.com.
Filip Pytlounbfa72112017-02-02 13:17:47 +0100172
173Documentation and Bugs
174======================
175
176To learn how to install and update salt-formulas, consult the documentation
177available online at:
178
179 http://salt-formulas.readthedocs.io/
180
181In the unfortunate event that bugs are discovered, they should be reported to
182the appropriate issue tracker. Use Github issue tracker for specific salt
183formula:
184
185 https://github.com/salt-formulas/salt-formula-letsencrypt/issues
186
187For feature requests, bug reports or blueprints affecting entire ecosystem,
188use Launchpad salt-formulas project:
189
190 https://launchpad.net/salt-formulas
191
192You can also join salt-formulas-users team and subscribe to mailing list:
193
194 https://launchpad.net/~salt-formulas-users
195
196Developers wishing to work on the salt-formulas projects should always base
197their work on master branch and submit pull request against specific formula.
198
199 https://github.com/salt-formulas/salt-formula-letsencrypt
200
201Any questions or feedback is always welcome so feel free to join our IRC
202channel:
203
204 #salt-formulas @ irc.freenode.net