This completes the long awaited removal of the V1 API. Change-Id: I30c8a5e8569b1b86286c5e3cb07856c06ebe5803
6.1 KiB
Install and configure for Ubuntu
This section describes how to install and configure the DNS service for Ubuntu 16.04 (LTS).
Install and configure components
Note
Default configuration files vary by distribution. You might need to
add these sections and options rather than modifying existing sections
and options. Also, an ellipsis (...) in the configuration
snippets indicates potential default configuration options that you
should retain.
Install the packages:
# apt-get install designateCreate a
designatedatabase that is accessible by thedesignateuser. ReplaceDESIGNATE_DBPASSwith a suitable password:# mysql -u root -p mysql> CREATE DATABASE designate CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> GRANT ALL PRIVILEGES ON designate.* TO 'designate'@'localhost' \ IDENTIFIED BY 'DESIGNATE_DBPASS'; mysql> GRANT ALL PRIVILEGES ON designate.* TO 'designate'@'%' \ IDENTIFIED BY 'DESIGNATE_DBPASS';Install the BIND9 packages:
# apt-get install bind9 bind9utils bind9-docCreate an RNDC Key:
# rndc-confgen -a -k designate -c /etc/designate/rndc.keyAdd the following options in the
/etc/bind/named.conf.optionsfile:... include "/etc/designate/rndc.key"; options { ... allow-new-zones yes; request-ixfr no; listen-on port 53 { 127.0.0.1; }; recursion no; allow-query { 127.0.0.1; }; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "designate"; }; };Restart the DNS service:
# systemctl restart bind9.serviceEdit the
/etc/designate/designate.conffile and complete the following actions:In the
[service:api]section, configureauth_strategy:[service:api] listen = 0.0.0.0:9001 auth_strategy = keystone api_base_uri = http://controller:9001/ enable_api_v2 = True enabled_extensions_v2 = quotas, reportsIn the
[keystone_authtoken]section, configure the following options:[keystone_authtoken] auth_type = password username = designate password = DESIGNATE_PASS project_name = service project_domain_name = Default user_domain_name = Default auth_uri = http://controller:5000/ auth_url = http://controller:5000/Replace
DESIGNATE_PASSwith the password you chose for thedesignateuser in the Identity service.In the
[service:worker]section, enable the worker model:enabled = True notify = TrueIn the
[storage:sqlalchemy]section, configure database access:[storage:sqlalchemy] connection = mysql+pymysql://designate:DESIGNATE_DBPASS@controller/designateReplace
DESIGNATE_DBPASSwith the password you chose for thedesignatedatabase.Populate the designate database
# su -s /bin/sh -c "designate-manage database sync" designate
Restart the designate central and API services and configure them to start when the system boots:
# systemctl restart openstack-designate-central openstack-designate-api # systemctl enable openstack-designate-central openstack-designate-apiCreate a pools.yaml file in
/etc/designate/pools.yamlwith the following contents:- name: default # The name is immutable. There will be no option to change the name after # creation and the only way will to change it will be to delete it # (and all zones associated with it) and recreate it. description: Default Pool attributes: {} # List out the NS records for zones hosted within this pool # This should be a record that is created outside of designate, that # points to the public IP of the controller node. ns_records: - hostname: ns1-1.example.org. priority: 1 # List out the nameservers for this pool. These are the actual BIND servers. # We use these to verify changes have propagated to all nameservers. nameservers: - host: 127.0.0.1 port: 53 # List out the targets for this pool. For BIND there will be one # entry for each BIND server, as we have to run rndc command on each server targets: - type: bind9 description: BIND9 Server 1 # List out the designate-mdns servers from which BIND servers should # request zone transfers (AXFRs) from. # This should be the IP of the controller node. # If you have multiple controllers you can add multiple masters # by running designate-mdns on them, and adding them here. masters: - host: 127.0.0.1 port: 5354 # BIND Configuration options options: host: 127.0.0.1 port: 53 rndc_host: 127.0.0.1 rndc_port: 953 rndc_key_file: /etc/designate/rndc.keyUpdate the pools:
# su -s /bin/sh -c "designate-manage pool update" designateInstall Designate Worker, producer and mini-dns
# apt install designate-worker # apt install designate-producer # apt install designate-mdnsStart the designate and mDNS services and configure them to start when the system boots:
# systemctl start designate-worker designate-producer designate-mdns # systemctl enable designate-worker designate-producer designate-mdns