Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash -x
- source ~/keystonerc_admin
- IP=$(grep -m1 `hostname` /etc/hosts | awk '{print $1}')
- TENANT_ID=`openstack project show services -f value -c id`
- DEFAULT_POOL_ID=794ccc2c-d751-44fe-b57f-8894c9f5c842
- DEFAULT_NAMESERVER_ID=$(uuidgen)
- DEFAULT_TARGET_ID=$(uuidgen)
- 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
- mysql -u root << EOF
- CREATE DATABASE designate;
- GRANT ALL ON designate.* TO 'designate'@'%' IDENTIFIED BY 'Corinthians';
- GRANT ALL ON designate.* TO 'designate'@'localhost' IDENTIFIED BY 'Corinthians';
- CREATE DATABASE designate_pool_manager;
- GRANT ALL ON designate_pool_manager.* TO 'designate'@'%' IDENTIFIED BY 'Corinthians';
- GRANT ALL ON designate_pool_manager.* TO 'designate'@'localhost' IDENTIFIED BY 'Corinthians';
- FLUSH PRIVILEGES;
- quit
- EOF
- openstack user create designate --password Corinthians --email designate@localhost
- openstack role add --project $TENANT_ID --user designate admin
- openstack service create dns --name designate --description "Designate DNS Service"
- openstack endpoint create --region RegionOne --publicurl http://$IP:9001 --internalurl http://$IP:9001 --adminurl http://$IP:9001 designate
- crudini --set /etc/designate/designate.conf keystone_authtoken auth_uri http://$IP:5000/v2.0
- crudini --set /etc/designate/designate.conf keystone_authtoken identity_uri http://$IP:35357/
- crudini --set /etc/designate/designate.conf keystone_authtoken admin_tenant_name services
- crudini --set /etc/designate/designate.conf keystone_authtoken project_name services
- crudini --set /etc/designate/designate.conf keystone_authtoken admin_user designate
- crudini --set /etc/designate/designate.conf keystone_authtoken admin_password Corinthians
- #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_hosts $IP:5672
- #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_ha_queues False
- #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_host $IP
- #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_port 5672
- #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_userid guest
- #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_password guest
- #crudini --set /etc/designate/designate.conf oslo_messaging_rabbit rabbit_virtual_host /
- #crudini --set /etc/designate/designate.conf DEFAULT notification_driver nova.openstack.common.notifier.rpc_notifier
- #crudini --set /etc/designate/designate.conf DEFAULT notification_driver messaging
- #crudini --set /etc/designate/designate.conf DEFAULT notification_topics notifications_designate
- #crudini --set /etc/designate/designate.conf service:api api_host 0.0.0.0
- #crudini --set /etc/designate/designate.conf service:api api_port 9001
- #crudini --set /etc/designate/designate.conf service:api auth_strategy keystone
- #crudini --set /etc/designate/designate.conf service:api enable_api_v1 True
- crudini --set /etc/designate/designate.conf service:api enabled_extensions_v1 "diagnostics, quotas, reports, sync, touch"
- #crudini --set /etc/designate/designate.conf service:api enable_api_v2 True
- crudini --set /etc/designate/designate.conf service:api enabled_extensions_v2 "quotas, reports"
- # crudini --set /etc/designate/designate.conf service:pool_manager pool_id $DEFAULT_POOL_ID
- crudini --set /etc/designate/designate.conf service:pool_manager workers 1
- crudini --set /etc/designate/designate.conf storage:sqlalchemy connection mysql://designate:Corinthians@$IP/designate
- #crudini --set /etc/designate/designate.conf storage:sqlalchemy max_retries -1
- crudini --set /etc/designate/designate.conf pool_manager_cache:sqlalchemy connection mysql://designate:Corinthians@$IP/designate_pool_manager
- #crudini --set /etc/designate/designate.conf pool_manager_cache:sqlalchemy max_retries -1
- crudini --set /etc/designate/designate.conf pool:$DEFAULT_POOL_ID nameservers $DEFAULT_NAMESERVER_ID
- crudini --set /etc/designate/designate.conf pool:$DEFAULT_POOL_ID targets $DEFAULT_TARGET_ID
- crudini --set /etc/designate/designate.conf pool_nameserver:$DEFAULT_NAMESERVER_ID port 53
- crudini --set /etc/designate/designate.conf pool_nameserver:$DEFAULT_NAMESERVER_ID host $IP
- crudini --set /etc/designate/designate.conf service:sink enabled_notification_handlers "nova_fixed, neutron_floatingip"
- #crudini --set /etc/designate/designate.conf handler:nova_fixed notification_topics notifications_designate
- #crudini --set /etc/designate/designate.conf handler:nova_fixed control_exchange nova
- crudini --set /etc/designate/designate.conf handler:nova_fixed format "%(display_name)s.%(zone)s"
- #crudini --set /etc/designate/designate.conf handler:neutron_floatingip notification_topics notifications_designate
- #crudini --set /etc/designate/designate.conf handler:neutron_floatingip control_exchange neutron
- crudini --set /etc/designate/designate.conf handler:neutron_floatingip format "%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(zone)s"
- crudini --set /etc/designate/designate.conf pool_target:$DEFAULT_TARGET_ID type bind9
- crudini --set /etc/designate/designate.conf pool_target:$DEFAULT_TARGET_ID masters $IP:5354
- 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"
- #crudini --set /etc/nova/nova.conf DEFAULT notification_topics notifications,notifications_designate
- #crudini --set /etc/nova/nova.conf DEFAULT notify_on_state_change vm_and_task_state
- #crudini --set /etc/nova/nova.conf DEFAULT instance_usage_audit_period hour
- #crudini --set /etc/nova/nova.conf DEFAULT instance_usage_audit true
- #crudini --set /etc/neutron/neutron.conf DEFAULT notification_driver neutron.openstack.common.notifier.rpc_notifier
- #crudini --set /etc/neutron/neutron.conf DEFAULT notification_topics notifications,notifications_designate
- #crudini --set /etc/nova/nova.conf DEFAULT notification_driver messaging
- sed -i 's/notification_driver = messaging/notification_driver = messaging\nnotification_driver=ceilometer.compute.nova_notifier/g' /etc/nova/nova.conf
- designate-manage database sync
- designate-manage pool-manager-cache sync
- sed -i -e "s/listen-on port.*/listen-on port 53 { any; };/" /etc/named.conf
- rndc-confgen -a
- sed -i '/^options.*/i \
- include "/etc/rndc.key"; \
- controls { \
- inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; }; \
- };' /etc/named.conf
- sed -i '/allow-query.*/d' /etc/named.conf
- sed -i '/recursion.*/d' /etc/named.conf
- sed -i '/^options.*/a \
- allow-new-zones yes; \
- allow-query { any; }; \
- recursion no;' /etc/named.conf
- cat << EOF > /etc/rndc.conf
- include "/etc/rndc.key";
- options {
- default-key "rndc-key";
- default-server 127.0.0.1;
- default-port 953;
- };
- EOF
- chmod 644 /etc/rndc*
- chmod g+w /var/named
- systemctl enable named
- systemctl start named
- designate-central & DESIG_CENTRALPID=$!
- sleep 3
- designate-manage pool export_from_config --file /dev/shm/output.yml
- sed -i '/794ccc2c-d751-44fe-b57f-8894c9f5c842/a\ \ name: default' /dev/shm/output.yml
- designate-manage pool update --file /dev/shm/output.yml --delete True
- kill -SIGQUIT $DESIG_CENTRALPID
- sleep 3
- openstack-service restart nova
- openstack-service restart neutron
- for i in central api mdns pool-manager ; do
- systemctl enable designate-$i
- systemctl start designate-$i
- done
- designate server-create --name $(hostname).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement