Advertisement
Guest User

How to install Designate in OpenStack 10 (Newton)

a guest
Mar 28th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.63 KB | None | 0 0
  1. #!/bin/bash -x
  2.  
  3. source ~/keystonerc_admin
  4.  
  5. IP=$(grep -m1 `hostname` /etc/hosts | awk '{print $1}')
  6. TENANT_ID=`openstack project show services -f value -c id`
  7. DEFAULT_POOL_ID=794ccc2c-d751-44fe-b57f-8894c9f5c842
  8. DEFAULT_NAMESERVER_ID=$(uuidgen)
  9. DEFAULT_TARGET_ID=$(uuidgen)
  10.  
  11.  
  12. yum install -y openstack-designate-api openstack-designate-central openstack-designate-sink openstack-designate-pool-manager openstack-designate-mdns openstack-designate-common python-designate python-designateclient openstack-designate-agent openstack-designate-worker openstack-utils bind bind-utils
  13.  
  14. mysql -u root << EOF
  15. CREATE DATABASE designate;
  16. GRANT ALL ON designate.* TO 'designate'@'%' IDENTIFIED BY 'Corinthians';
  17. GRANT ALL ON designate.* TO 'designate'@'localhost' IDENTIFIED BY 'Corinthians';
  18. CREATE DATABASE designate_pool_manager;
  19. GRANT ALL ON designate_pool_manager.* TO 'designate'@'%' IDENTIFIED BY 'Corinthians';
  20. GRANT ALL ON designate_pool_manager.* TO 'designate'@'localhost' IDENTIFIED BY 'Corinthians';
  21. FLUSH PRIVILEGES;
  22. quit
  23. EOF
  24.  
  25. openstack user create designate --password Corinthians --email designate@localhost
  26. openstack role add --project $TENANT_ID --user designate admin
  27. openstack service create dns --name designate --description "Designate DNS Service"
  28. openstack endpoint create --region RegionOne --publicurl http://$IP:9001 --internalurl http://$IP:9001 --adminurl http://$IP:9001 designate
  29.  
  30. crudini --set /etc/designate/designate.conf keystone_authtoken auth_uri http://$IP:5000/v2.0
  31. crudini --set /etc/designate/designate.conf keystone_authtoken identity_uri http://$IP:35357/
  32. crudini --set /etc/designate/designate.conf keystone_authtoken admin_tenant_name services
  33. crudini --set /etc/designate/designate.conf keystone_authtoken project_name services
  34. crudini --set /etc/designate/designate.conf keystone_authtoken admin_user designate
  35. crudini --set /etc/designate/designate.conf keystone_authtoken admin_password Corinthians
  36.  
  37. #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_hosts $IP:5672
  38. #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_ha_queues False
  39. #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_host $IP
  40. #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_port 5672
  41. #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_userid guest
  42. #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_password guest
  43. #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_virtual_host /
  44.  
  45. #crudini --set /etc/designate/designate.conf DEFAULT notification_driver nova.openstack.common.notifier.rpc_notifier
  46. #crudini --set /etc/designate/designate.conf DEFAULT notification_driver messaging
  47. #crudini --set /etc/designate/designate.conf DEFAULT notification_topics notifications_designate
  48.  
  49. #crudini --set /etc/designate/designate.conf service:api api_host 0.0.0.0
  50. #crudini --set /etc/designate/designate.conf service:api api_port 9001
  51. #crudini --set /etc/designate/designate.conf service:api auth_strategy keystone
  52. #crudini --set /etc/designate/designate.conf service:api enable_api_v1 True
  53. crudini --set /etc/designate/designate.conf service:api enabled_extensions_v1 "diagnostics, quotas, reports, sync, touch"
  54. #crudini --set /etc/designate/designate.conf service:api enable_api_v2 True
  55. crudini --set /etc/designate/designate.conf service:api enabled_extensions_v2 "quotas, reports"
  56.  
  57. # crudini --set /etc/designate/designate.conf service:pool_manager pool_id $DEFAULT_POOL_ID
  58. crudini --set /etc/designate/designate.conf service:pool_manager workers 1
  59.  
  60. crudini --set /etc/designate/designate.conf storage:sqlalchemy connection mysql://designate:Corinthians@$IP/designate
  61. #crudini --set /etc/designate/designate.conf storage:sqlalchemy max_retries -1
  62.  
  63. crudini --set /etc/designate/designate.conf pool_manager_cache:sqlalchemy connection mysql://designate:Corinthians@$IP/designate_pool_manager
  64. #crudini --set /etc/designate/designate.conf pool_manager_cache:sqlalchemy max_retries -1
  65.  
  66.  
  67. crudini --set /etc/designate/designate.conf pool:$DEFAULT_POOL_ID nameservers $DEFAULT_NAMESERVER_ID
  68. crudini --set /etc/designate/designate.conf pool:$DEFAULT_POOL_ID targets $DEFAULT_TARGET_ID
  69. crudini --set /etc/designate/designate.conf pool_nameserver:$DEFAULT_NAMESERVER_ID port 53
  70. crudini --set /etc/designate/designate.conf pool_nameserver:$DEFAULT_NAMESERVER_ID host $IP
  71.  
  72. crudini --set /etc/designate/designate.conf service:sink enabled_notification_handlers "nova_fixed, neutron_floatingip"
  73.  
  74. #crudini --set /etc/designate/designate.conf handler:nova_fixed notification_topics notifications_designate
  75. #crudini --set /etc/designate/designate.conf handler:nova_fixed control_exchange nova
  76. crudini --set /etc/designate/designate.conf handler:nova_fixed format "%(display_name)s.%(zone)s"
  77.  
  78. #crudini --set /etc/designate/designate.conf handler:neutron_floatingip notification_topics notifications_designate
  79. #crudini --set /etc/designate/designate.conf handler:neutron_floatingip control_exchange neutron
  80. crudini --set /etc/designate/designate.conf handler:neutron_floatingip format "%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(zone)s"
  81.  
  82. crudini --set /etc/designate/designate.conf pool_target:$DEFAULT_TARGET_ID type bind9
  83. crudini --set /etc/designate/designate.conf pool_target:$DEFAULT_TARGET_ID masters $IP:5354
  84. crudini --set /etc/designate/designate.conf pool_target:$DEFAULT_TARGET_ID options "host: $IP, port: 53, rndc_host: 127.0.0.1, rndc_port: 953, rndc_config_file: /etc/rndc.conf, rndc_key_file: /etc/rndc.key"
  85.  
  86. #crudini --set /etc/nova/nova.conf DEFAULT notification_topics notifications,notifications_designate
  87. #crudini --set /etc/nova/nova.conf DEFAULT notify_on_state_change vm_and_task_state
  88. #crudini --set /etc/nova/nova.conf DEFAULT instance_usage_audit_period hour
  89. #crudini --set /etc/nova/nova.conf DEFAULT instance_usage_audit true
  90. #crudini --set /etc/neutron/neutron.conf DEFAULT notification_driver neutron.openstack.common.notifier.rpc_notifier
  91. #crudini --set /etc/neutron/neutron.conf DEFAULT notification_topics notifications,notifications_designate
  92. #crudini --set /etc/nova/nova.conf DEFAULT notification_driver messaging
  93.  
  94. sed -i 's/notification_driver = messaging/notification_driver = messaging\nnotification_driver=ceilometer.compute.nova_notifier/g' /etc/nova/nova.conf
  95.  
  96. designate-manage database sync
  97. designate-manage pool-manager-cache sync
  98.  
  99. sed -i -e "s/listen-on port.*/listen-on port 53 { any; };/" /etc/named.conf
  100. rndc-confgen -a
  101.  
  102. sed -i '/^options.*/i \
  103. include "/etc/rndc.key"; \
  104. controls { \
  105.        inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; }; \
  106. };' /etc/named.conf
  107.  
  108. sed -i '/allow-query.*/d' /etc/named.conf
  109. sed -i '/recursion.*/d' /etc/named.conf
  110.  
  111. sed -i '/^options.*/a \
  112.        allow-new-zones yes; \
  113.        allow-query { any; }; \
  114.        recursion no;' /etc/named.conf
  115.  
  116. cat << EOF > /etc/rndc.conf
  117. include "/etc/rndc.key";
  118. options {
  119.         default-key "rndc-key";
  120.         default-server 127.0.0.1;
  121.         default-port 953;
  122. };
  123. EOF
  124.  
  125. chmod 644 /etc/rndc*
  126. chmod g+w /var/named
  127.  
  128. systemctl enable named
  129. systemctl start named
  130.  
  131. designate-central & DESIG_CENTRALPID=$!
  132. sleep 3
  133. designate-manage pool export_from_config --file /dev/shm/output.yml
  134. sed -i '/794ccc2c-d751-44fe-b57f-8894c9f5c842/a\ \ name: default' /dev/shm/output.yml
  135. designate-manage pool update --file /dev/shm/output.yml --delete True
  136. kill -SIGQUIT $DESIG_CENTRALPID
  137. sleep 3
  138.  
  139. openstack-service restart nova
  140. openstack-service restart neutron
  141.  
  142.  
  143. for i in central api mdns pool-manager ; do
  144.     systemctl enable designate-$i
  145.     systemctl start designate-$i
  146. done
  147.  
  148. designate server-create --name $(hostname).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement