aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/centos/binary/magnum/magnum-api/Dockerfile2
-rw-r--r--docker/centos/binary/magnum/magnum-api/config-external.sh1
-rw-r--r--docker/centos/binary/magnum/magnum-api/config-internal.sh1
-rw-r--r--docker/centos/binary/magnum/magnum-conductor/Dockerfile3
-rw-r--r--docker/centos/binary/magnum/magnum-conductor/config-external.sh1
-rw-r--r--docker/centos/binary/magnum/magnum-conductor/config-internal.sh1
-rw-r--r--docker/common/magnum/magnum-api/config-external.sh10
-rw-r--r--docker/common/magnum/magnum-api/config-internal.sh27
-rwxr-xr-xdocker/common/magnum/magnum-api/start.sh35
-rw-r--r--docker/common/magnum/magnum-conductor/config-external.sh10
-rw-r--r--docker/common/magnum/magnum-conductor/config-internal.sh17
-rwxr-xr-xdocker/common/magnum/magnum-conductor/start.sh19
-rw-r--r--docs/minimal-environment-vars.md14
13 files changed, 97 insertions, 44 deletions
diff --git a/docker/centos/binary/magnum/magnum-api/Dockerfile b/docker/centos/binary/magnum/magnum-api/Dockerfile
index 84efa2a92..7b0ab74d2 100644
--- a/docker/centos/binary/magnum/magnum-api/Dockerfile
+++ b/docker/centos/binary/magnum/magnum-api/Dockerfile
@@ -8,4 +8,6 @@ RUN yum -y install \
ADD ./start.sh /start.sh
ADD ./check.sh /check.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/magnum/magnum-api/config-external.sh b/docker/centos/binary/magnum/magnum-api/config-external.sh
new file mode 100644
index 000000000..51d63c9ec
--- /dev/null
+++ b/docker/centos/binary/magnum/magnum-api/config-external.sh
@@ -0,0 +1 @@
+../../../../common/magnum/magnum-api/config-external.sh
diff --git a/docker/centos/binary/magnum/magnum-api/config-internal.sh b/docker/centos/binary/magnum/magnum-api/config-internal.sh
new file mode 100644
index 000000000..3637ccaff
--- /dev/null
+++ b/docker/centos/binary/magnum/magnum-api/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/magnum/magnum-api/config-internal.sh
diff --git a/docker/centos/binary/magnum/magnum-conductor/Dockerfile b/docker/centos/binary/magnum/magnum-conductor/Dockerfile
index f3d506cb8..691d02d09 100644
--- a/docker/centos/binary/magnum/magnum-conductor/Dockerfile
+++ b/docker/centos/binary/magnum/magnum-conductor/Dockerfile
@@ -10,4 +10,7 @@ RUN yum -y install \
RUN cd /tmp && curl -L https://github.com/GoogleCloudPlatform/kubernetes/releases/download/v0.15.0/kubernetes.tar.gz -o /tmp/kubernetes.tar.gz && /usr/bin/tar -xzvf /tmp/kubernetes.tar.gz && cp -a /tmp/kubernetes/platforms/linux/amd64/kubectl /usr/bin/kubectl && rm -rf /tmp/kubernetes
ADD ./start.sh /start.sh
+
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/magnum/magnum-conductor/config-external.sh b/docker/centos/binary/magnum/magnum-conductor/config-external.sh
new file mode 100644
index 000000000..a9ca55e4e
--- /dev/null
+++ b/docker/centos/binary/magnum/magnum-conductor/config-external.sh
@@ -0,0 +1 @@
+../../../../common/magnum/magnum-conductor/config-external.sh
diff --git a/docker/centos/binary/magnum/magnum-conductor/config-internal.sh b/docker/centos/binary/magnum/magnum-conductor/config-internal.sh
new file mode 100644
index 000000000..b2302e7ae
--- /dev/null
+++ b/docker/centos/binary/magnum/magnum-conductor/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/magnum/magnum-conductor/config-internal.sh
diff --git a/docker/common/magnum/magnum-api/config-external.sh b/docker/common/magnum/magnum-api/config-external.sh
new file mode 100644
index 000000000..573043f7d
--- /dev/null
+++ b/docker/common/magnum/magnum-api/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/magnum/magnum-api/magnum.conf"
+TARGET="/etc/magnum/magnum.conf"
+OWNER="magnum"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/magnum/magnum-api/config-internal.sh b/docker/common/magnum/magnum-api/config-internal.sh
new file mode 100644
index 000000000..00a51b3cd
--- /dev/null
+++ b/docker/common/magnum/magnum-api/config-internal.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-magnum.sh
+
+check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
+ MAGNUM_KEYSTONE_USER MAGNUM_KEYSTONE_PASSWORD \
+ KEYSTONE_AUTH_PROTOCOL ADMIN_TENANT_NAME \
+ MAGNUM_API_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_PORT \
+ MAGNUM_API_SERVICE_PORT
+
+fail_unless_os_service_running keystone
+
+export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
+export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0"
+crux user-create -n ${MAGNUM_KEYSTONE_USER} \
+ -p ${MAGNUM_KEYSTONE_PASSWORD} \
+ -t ${ADMIN_TENANT_NAME} \
+ -r admin
+
+crux endpoint-create --remove-all -n ${MAGNUM_KEYSTONE_USER} -t container \
+ -I "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" \
+ -P "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" \
+ -A "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1"
+
+exec /usr/bin/magnum-api
diff --git a/docker/common/magnum/magnum-api/start.sh b/docker/common/magnum/magnum-api/start.sh
index 00a51b3cd..5a47fdf89 100755
--- a/docker/common/magnum/magnum-api/start.sh
+++ b/docker/common/magnum/magnum-api/start.sh
@@ -1,27 +1,20 @@
#!/bin/bash
-set -e
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-magnum.sh
+set -o errexit
+CMD="/usr/bin/magnum-api"
+ARGS=""
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
- MAGNUM_KEYSTONE_USER MAGNUM_KEYSTONE_PASSWORD \
- KEYSTONE_AUTH_PROTOCOL ADMIN_TENANT_NAME \
- MAGNUM_API_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_PORT \
- MAGNUM_API_SERVICE_PORT
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-fail_unless_os_service_running keystone
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
-export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0"
-crux user-create -n ${MAGNUM_KEYSTONE_USER} \
- -p ${MAGNUM_KEYSTONE_PASSWORD} \
- -t ${ADMIN_TENANT_NAME} \
- -r admin
+# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
+# of the KOLLA_BOOTSTRAP variable being set, including empty.
+if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
+ su -s /bin/sh -c "magnum-manage db_sync" magnum
+ exit 0
+fi
-crux endpoint-create --remove-all -n ${MAGNUM_KEYSTONE_USER} -t container \
- -I "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" \
- -P "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1" \
- -A "${KEYSTONE_AUTH_PROTOCOL}://${MAGNUM_API_SERVICE_HOST}:${MAGNUM_API_SERVICE_PORT}/v1"
-
-exec /usr/bin/magnum-api
+exec $CMD $ARGS
diff --git a/docker/common/magnum/magnum-conductor/config-external.sh b/docker/common/magnum/magnum-conductor/config-external.sh
new file mode 100644
index 000000000..b96e3179e
--- /dev/null
+++ b/docker/common/magnum/magnum-conductor/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/magnum/magnum-conductor/magnum.conf"
+TARGET="/etc/magnum/magnum.conf"
+OWNER="magnum"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/magnum/magnum-conductor/config-internal.sh b/docker/common/magnum/magnum-conductor/config-internal.sh
new file mode 100644
index 000000000..4cf1291a3
--- /dev/null
+++ b/docker/common/magnum/magnum-conductor/config-internal.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-magnum.sh
+
+check_required_vars MAGNUM_DB_NAME MAGNUM_DB_USER MAGNUM_DB_PASSWORD
+fail_unless_db
+
+mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${MAGNUM_DB_NAME} DEFAULT CHARACTER SET utf8;
+GRANT ALL PRIVILEGES ON ${MAGNUM_DB_NAME}.* TO
+ '${MAGNUM_DB_USER}'@'%' IDENTIFIED BY '${MAGNUM_DB_PASSWORD}'
+EOF
+
+/usr/bin/magnum-db-manage upgrade
+
+exec /usr/bin/magnum-conductor
diff --git a/docker/common/magnum/magnum-conductor/start.sh b/docker/common/magnum/magnum-conductor/start.sh
index 4cf1291a3..07f3b1ac4 100755
--- a/docker/common/magnum/magnum-conductor/start.sh
+++ b/docker/common/magnum/magnum-conductor/start.sh
@@ -1,17 +1,14 @@
#!/bin/bash
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-magnum.sh
+set -o errexit
-check_required_vars MAGNUM_DB_NAME MAGNUM_DB_USER MAGNUM_DB_PASSWORD
-fail_unless_db
+CMD="/usr/bin/magnum-conductor"
+ARGS=""
-mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
-CREATE DATABASE IF NOT EXISTS ${MAGNUM_DB_NAME} DEFAULT CHARACTER SET utf8;
-GRANT ALL PRIVILEGES ON ${MAGNUM_DB_NAME}.* TO
- '${MAGNUM_DB_USER}'@'%' IDENTIFIED BY '${MAGNUM_DB_PASSWORD}'
-EOF
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-/usr/bin/magnum-db-manage upgrade
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-exec /usr/bin/magnum-conductor
+exec $CMD $ARGS
diff --git a/docs/minimal-environment-vars.md b/docs/minimal-environment-vars.md
index 8e11781a3..5288d0de7 100644
--- a/docs/minimal-environment-vars.md
+++ b/docs/minimal-environment-vars.md
@@ -300,15 +300,7 @@ In order for each service to function, there is a minimum set of required variab
# Magnum-api
- ADMIN_TENANT_NAME
- KEYSTONE_ADMIN_SERVICE_HOST
- KEYSTONE_ADMIN_SERVICE_PORT
- KEYSTONE_ADMIN_TOKEN
- KEYSTONE_AUTH_PROTOCOL
- MAGNUM_API_SERVICE_HOST
- MAGNUM_API_SERVICE_PORT
- MAGNUM_KEYSTONE_PASSWORD
- MAGNUM_KEYSTONE_USER
+ None
# Magnum-base
@@ -327,9 +319,7 @@ In order for each service to function, there is a minimum set of required variab
# Magnum-conductor
- MAGNUM_DB_NAME
- MAGNUM_DB_PASSWORD
- MAGNUM_DB_USER
+ None
# Mariadb