aboutsummaryrefslogtreecommitdiff
path: root/docker/common
diff options
context:
space:
mode:
authorMichal Rostecki <michal.rostecki@allegrogroup.com>2015-06-22 17:56:04 +0200
committerMichal Rostecki <michal.rostecki@allegrogroup.com>2015-06-22 17:56:04 +0200
commit64f23c1d133fea984a88f4487fe44d088b3419b1 (patch)
tree6dab260f19504d7b553ee27f0ceaa7dc3b9cedda /docker/common
parentcee4555eb82284b37349d7e3cd7ced082513f3c5 (diff)
downloadkolla-64f23c1d133fea984a88f4487fe44d088b3419b1.tar.gz
kolla-64f23c1d133fea984a88f4487fe44d088b3419b1.zip
Move Designate-Sink start.sh to docker/common
All start.sh scripts should be in docker/common directory instead of docker/centos. Change-Id: Ifc1d07246e3b56156a1dc861e2b262f75c1cd918 Closes-Bug: #1467528
Diffstat (limited to 'docker/common')
-rwxr-xr-xdocker/common/designate/designate-sink/start.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/docker/common/designate/designate-sink/start.sh b/docker/common/designate/designate-sink/start.sh
new file mode 100755
index 000000000..a6a3a4bac
--- /dev/null
+++ b/docker/common/designate/designate-sink/start.sh
@@ -0,0 +1,64 @@
+#!/bin/bash
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-designate.sh
+
+CONF=/etc/designate/designate.conf
+
+configure_nova_handler() {
+ local DOMAIN_ID=$1
+
+ crudini --set $CONF handler:nova_fixed domain_id "$DOMAIN_ID"
+ crudini --set $CONF handler:nova_fixed notification_topics "notifications"
+ crudini --set $CONF handler:nova_fixed control_exchange "nova"
+ # Configuring multiple record formats
+ for FORMAT in $DESIGNATE_SINK_NOVA_FORMATS; do
+ crudini --set $CONF handler:nova_fixed format "$FORMAT"
+ done
+}
+
+configure_neutron_handler() {
+ local DOMAIN_ID=$1
+
+ crudini --set $CONF handler:neutron_floatingip domain_id "$DOMAIN_ID"
+ crudini --set $CONF handler:neutron_floatingip notification_topics "notifications"
+ crudini --set $CONF handler:neutron_floatingip control_exchange "neutron"
+ # Configuring multiple record formats
+ for FORMAT in $DESIGNATE_SINK_NEUTRON_FORMATS; do
+ crudini --set $CONF handler:neutron_floatingip format "$FORMAT"
+ done
+}
+
+check_required_vars DESIGNATE_API_SERVICE_HOST DESIGNATE_API_SERVICE_PORT \
+ DESIGNATE_DEFAULT_POOL_NS_RECORD
+
+check_for_os_service_endpoint designate DESIGNATE_API_SERVICE_HOST DESIGNATE_API_SERVICE_PORT || exit $?
+
+if [ -z "$DESIGNATE_SINK_NOVA_DOMAIN_NAME" && -z "$DESIGNATE_SINK_NEUTRON_DOMAIN_NAME" ]; then
+ echo "Please specify either Nova or Neutron domain name for Designate Sink"
+ exit 1
+fi
+
+designate server-create --name ${DESIGNATE_DEFAULT_POOL_NS_RECORD}
+if [ $? != 0 ]; then
+ echo "Creating server failed" 1>&2
+ exit 1
+fi
+
+if [ -n "$DESIGNATE_SINK_NOVA_DOMAIN_NAME" ]; then
+ NOVA_DOMAIN_ID=$(get_or_create_domain $DESIGNATE_SINK_NOVA_DOMAIN_NAME)
+ configure_nova_handler $NOVA_DOMAIN_ID
+ HANDLERS="nova_fixed"
+fi
+
+if [ -n "$DESIGNATE_SINK_NEUTRON_DOMAIN_NAME" ]; then
+ NEUTRON_DOMAIN_ID=$(get_or_create_domain $DESIGNATE_SINK_NEUTRON_DOMAIN_NAME)
+ configure_neutron_handler $NEUTRON_DOMAIN_ID
+ [ -n "$HANDLERS" ] && HANDLERS+=","
+ HANDLERS+="neutron_floatingip"
+fi
+
+crudini --set $CONF service:sink enabled_notification_handlers "$HANDLERS"
+
+exec /usr/bin/designate-sink