From 816612192c179a6b73c3f3b5f105d481ab1a438c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Andr=C3=A9?= Date: Wed, 3 Dec 2014 16:25:09 +0900 Subject: [PATCH] Enable usage of containers outside of Kubernetes Kubernetes currently creates FOO_SERVICE_HOST and FOO_SERVICE_PORT env vars as part of starting the containers. However this is not done when starting them with plain docker. Defaulting variables to their common version if they're not already set allows the usage of --link in plain 'docker run' to wire together containers. Co-Authored-By: Charles Crouch Change-Id: I91098ff987b18646d901ac63a3a644fbb68fc857 --- docker/fedora-rdo-base/Dockerfile | 1 + docker/fedora-rdo-base/kolla-common.sh | 2 ++ docker/fedora-rdo-base/service_hosts.sh | 45 +++++++++++++++++++++++++ docker/keystone/start.sh | 2 -- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100755 docker/fedora-rdo-base/service_hosts.sh diff --git a/docker/fedora-rdo-base/Dockerfile b/docker/fedora-rdo-base/Dockerfile index 98d67b24a0..981b12f7a7 100644 --- a/docker/fedora-rdo-base/Dockerfile +++ b/docker/fedora-rdo-base/Dockerfile @@ -92,5 +92,6 @@ RUN yum install -y \ ; yum clean all RUN mkdir -p /opt/kolla +ADD service_hosts.sh /opt/kolla/service_hosts.sh ADD kolla-common.sh /opt/kolla/kolla-common.sh diff --git a/docker/fedora-rdo-base/kolla-common.sh b/docker/fedora-rdo-base/kolla-common.sh index b917ebd68d..0967776b3b 100644 --- a/docker/fedora-rdo-base/kolla-common.sh +++ b/docker/fedora-rdo-base/kolla-common.sh @@ -1,5 +1,7 @@ #!/bin/bash +. /opt/kolla/service_hosts.sh + # Set some generally useful defaults. MY_IP=$(ip route get $(ip route | awk '$1 == "default" {print $3}') | awk '$4 == "src" {print $5}') diff --git a/docker/fedora-rdo-base/service_hosts.sh b/docker/fedora-rdo-base/service_hosts.sh new file mode 100755 index 0000000000..af8c643cf9 --- /dev/null +++ b/docker/fedora-rdo-base/service_hosts.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# Kubernetes currently creates FOO_SERVICE_HOST and FOO_SERVICE_PORT env vars +# as part of starting the containers. However this is not done when starting +# them with plain docker. Defaulting variables to their common version if +# they're not already set allows the usage of --link in plain 'docker run' to +# wire together containers. + +: ${BARBICAN_ADMIN_SERVICE_HOST:=$BARBICAN_ADMIN_PORT_9312_TCP_ADDR} +: ${BARBICAN_ADMIN_SERVICE_PORT:=9312} +: ${BARBICAN_PUBLIC_SERVICE_HOST:=$BARBICAN_PUBLIC_PORT_9311_TCP_ADDR} +: ${BARBICAN_PUBLIC_SERVICE_PORT:=9311} +: ${CEILOMETER_API_SERVICE_HOST:=$CEILOMETER_API_PORT_8777_TCP_ADDR} +: ${CEILOMETER_API_SERVICE_PORT:=8777} +: ${GLANCE_API_SERVICE_HOST:=$GLANCE_API_PORT_9292_TCP_ADDR} +: ${GLANCE_API_SERVICE_PORT:=9292} +: ${GLANCE_REGISTRY_SERVICE_HOST:=$GLANCE_REGISTRY_PORT_9191_TCP_ADDR} +: ${GLANCE_REGISTRY_SERVICE_PORT:=9191} +: ${HEAT_API_SERVICE_HOST:=$HEAT_API_PORT_8004_TCP_ADDR} +: ${HEAT_API_SERVICE_PORT:=8004} +: ${HORIZON_SERVICE_HOST:=$HORIZON_PORT_80_TCP_ADDR} +: ${HORIZON_SERVICE_PORT:=80} +: ${KEYSTONE_ADMIN_SERVICE_HOST:=$KEYSTONE_ADMIN_PORT_35357_TCP_ADDR} +: ${KEYSTONE_ADMIN_SERVICE_PORT:=35357} +: ${KEYSTONE_PUBLIC_SERVICE_HOST:=$KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR} +: ${KEYSTONE_PUBLIC_SERVICE_PORT:=5000} +: ${MARIADB_SERVICE_HOST:=$MARIADB_PORT_3306_TCP_ADDR} +: ${MARIADB_SERVICE_PORT:=3306} +: ${MONGODB_SERVICE_HOST:=$MONGODB_PORT_27017_TCP_ADDR} +: ${MONGODB_SERVICE_PORT:=27017} +: ${NEUTRON_SERVER_SERVICE_HOST:=$NEUTRON_SERVER_PORT_9696_TCP_ADDR} +: ${NEUTRON_SERVER_SERVICE_PORT:=9696} +: ${NOVA_API_SERVICE_HOST:=$NOVA_API_PORT_8774_TCP_ADDR} +: ${NOVA_API_SERVICE_PORT:=8774} +: ${NOVA_EC2_API_SERVICE_HOST:=$NOVA_EC2_API_PORT_8773_TCP_ADDR} +: ${NOVA_EC2_API_SERVICE_PORT:=8773} +: ${NOVA_LIBVIRT_SERVICE_HOST:=$NOVA_LIBVIRT_PORT_16509_TCP_ADDR} +: ${NOVA_LIBVIRT_SERVICE_PORT:=16509} +: ${NOVA_METADATA_API_SERVICE_HOST:=$NOVA_METADATA_API_PORT_8775_TCP_ADDR} +: ${NOVA_METADATA_API_SERVICE_PORT:=8775} +: ${RABBITMQ_SERVICE_HOST:=$RABBITMQ_PORT_5672_TCP_ADDR} +: ${RABBITMQ_SERVICE_PORT:=5672} +: ${ZAQAR_SERVER_SERVICE_HOST:=$ZAQAR_SERVER_PORT_8888_TCP_ADDR} +: ${ZAQAR_SERVER_SERVICE_PORT:=8888} + diff --git a/docker/keystone/start.sh b/docker/keystone/start.sh index bced574c16..5c1cef5aed 100755 --- a/docker/keystone/start.sh +++ b/docker/keystone/start.sh @@ -4,8 +4,6 @@ set -e : ${KEYSTONE_ADMIN_PASSWORD:=kolla} : ${ADMIN_TENANT_NAME:=admin} -: ${KEYSTONE_PUBLIC_SERVICE_HOST:=$KEYSTONE_PUBLIC_PORT_5000_TCP_ADDR} -: ${KEYSTONE_ADMIN_SERVICE_HOST:=$KEYSTONE_ADMIN_PORT_35357_TCP_ADDR} . /opt/kolla/kolla-common.sh check_for_db