aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-07-09 18:59:04 +0000
committerGerrit Code Review <review@openstack.org>2015-07-09 18:59:04 +0000
commit3aede4ceffbe38f01bd0f35d347c383a8b704a6f (patch)
tree13a19607888448bab5ebcd660b9ecc2c813d2a16 /docker
parent7250fd22dc75b9fc203bd3bf6a8f8193297ccc6b (diff)
parent4c25113d30ae951e7d3a2f23fa5758e62ead8a8f (diff)
downloadkolla-3aede4ceffbe38f01bd0f35d347c383a8b704a6f.tar.gz
kolla-3aede4ceffbe38f01bd0f35d347c383a8b704a6f.zip
Merge "Add config-internal/config-external for Ceilometer"
Diffstat (limited to 'docker')
-rw-r--r--docker/centos/binary/ceilometer/ceilometer-alarm/Dockerfile2
l---------docker/centos/binary/ceilometer/ceilometer-alarm/config-external.sh1
l---------docker/centos/binary/ceilometer/ceilometer-alarm/config-internal.sh1
-rw-r--r--docker/centos/binary/ceilometer/ceilometer-api/Dockerfile1
l---------docker/centos/binary/ceilometer/ceilometer-api/config-external.sh1
l---------docker/centos/binary/ceilometer/ceilometer-api/config-internal.sh1
-rw-r--r--docker/centos/binary/ceilometer/ceilometer-central/Dockerfile2
l---------docker/centos/binary/ceilometer/ceilometer-central/config-external.sh1
l---------docker/centos/binary/ceilometer/ceilometer-central/config-internal.sh1
-rw-r--r--docker/centos/binary/ceilometer/ceilometer-collector/Dockerfile2
l---------docker/centos/binary/ceilometer/ceilometer-collector/config-external.sh1
l---------docker/centos/binary/ceilometer/ceilometer-collector/config-internal.sh1
-rw-r--r--docker/centos/binary/ceilometer/ceilometer-compute/Dockerfile2
l---------docker/centos/binary/ceilometer/ceilometer-compute/config-external.sh1
l---------docker/centos/binary/ceilometer/ceilometer-compute/config-internal.sh1
-rw-r--r--docker/centos/binary/ceilometer/ceilometer-notification/Dockerfile2
l---------docker/centos/binary/ceilometer/ceilometer-notification/config-external.sh1
l---------docker/centos/binary/ceilometer/ceilometer-notification/config-internal.sh1
-rw-r--r--docker/common/ceilometer/ceilometer-alarm/config-external.sh10
-rw-r--r--docker/common/ceilometer/ceilometer-alarm/config-internal.sh10
-rw-r--r--docker/common/ceilometer/ceilometer-alarm/start.sh14
-rw-r--r--docker/common/ceilometer/ceilometer-api/config-external.sh10
-rw-r--r--docker/common/ceilometer/ceilometer-api/config-internal.sh51
-rw-r--r--docker/common/ceilometer/ceilometer-api/start.sh58
-rw-r--r--docker/common/ceilometer/ceilometer-central/config-external.sh10
-rw-r--r--docker/common/ceilometer/ceilometer-central/config-internal.sh14
-rw-r--r--docker/common/ceilometer/ceilometer-central/start.sh16
-rw-r--r--docker/common/ceilometer/ceilometer-collector/config-external.sh10
-rw-r--r--docker/common/ceilometer/ceilometer-collector/config-internal.sh9
-rw-r--r--docker/common/ceilometer/ceilometer-collector/start.sh13
-rw-r--r--docker/common/ceilometer/ceilometer-compute/config-external.sh10
-rw-r--r--docker/common/ceilometer/ceilometer-compute/config-internal.sh25
-rw-r--r--docker/common/ceilometer/ceilometer-compute/start.sh27
-rw-r--r--docker/common/ceilometer/ceilometer-notification/config-external.sh10
-rw-r--r--docker/common/ceilometer/ceilometer-notification/config-internal.sh9
-rw-r--r--docker/common/ceilometer/ceilometer-notification/start.sh13
36 files changed, 258 insertions, 84 deletions
diff --git a/docker/centos/binary/ceilometer/ceilometer-alarm/Dockerfile b/docker/centos/binary/ceilometer/ceilometer-alarm/Dockerfile
index fe6c44fc2..24e036925 100644
--- a/docker/centos/binary/ceilometer/ceilometer-alarm/Dockerfile
+++ b/docker/centos/binary/ceilometer/ceilometer-alarm/Dockerfile
@@ -4,4 +4,6 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum install -y openstack-ceilometer-alarm && yum clean all
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/ceilometer/ceilometer-alarm/config-external.sh b/docker/centos/binary/ceilometer/ceilometer-alarm/config-external.sh
new file mode 120000
index 000000000..0a48ebf52
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-alarm/config-external.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-alarm/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-alarm/config-internal.sh b/docker/centos/binary/ceilometer/ceilometer-alarm/config-internal.sh
new file mode 120000
index 000000000..0f009e4be
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-alarm/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-alarm/config-internal.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-api/Dockerfile b/docker/centos/binary/ceilometer/ceilometer-api/Dockerfile
index 7a1337c7b..387660fff 100644
--- a/docker/centos/binary/ceilometer/ceilometer-api/Dockerfile
+++ b/docker/centos/binary/ceilometer/ceilometer-api/Dockerfile
@@ -4,4 +4,5 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum install -y openstack-ceilometer-api && yum clean all
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
CMD ["/start.sh"]
diff --git a/docker/centos/binary/ceilometer/ceilometer-api/config-external.sh b/docker/centos/binary/ceilometer/ceilometer-api/config-external.sh
new file mode 120000
index 000000000..4ea59dad7
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-api/config-external.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-api/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-api/config-internal.sh b/docker/centos/binary/ceilometer/ceilometer-api/config-internal.sh
new file mode 120000
index 000000000..589c797ec
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-api/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-api/config-internal.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-central/Dockerfile b/docker/centos/binary/ceilometer/ceilometer-central/Dockerfile
index bd5137306..29ebbdc93 100644
--- a/docker/centos/binary/ceilometer/ceilometer-central/Dockerfile
+++ b/docker/centos/binary/ceilometer/ceilometer-central/Dockerfile
@@ -4,4 +4,6 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum install -y openstack-ceilometer-central && yum clean all
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/ceilometer/ceilometer-central/config-external.sh b/docker/centos/binary/ceilometer/ceilometer-central/config-external.sh
new file mode 120000
index 000000000..cfc69e75d
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-central/config-external.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-central/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-central/config-internal.sh b/docker/centos/binary/ceilometer/ceilometer-central/config-internal.sh
new file mode 120000
index 000000000..86fd40c4a
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-central/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-central/config-internal.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-collector/Dockerfile b/docker/centos/binary/ceilometer/ceilometer-collector/Dockerfile
index 6c54dce4a..a715014ce 100644
--- a/docker/centos/binary/ceilometer/ceilometer-collector/Dockerfile
+++ b/docker/centos/binary/ceilometer/ceilometer-collector/Dockerfile
@@ -4,4 +4,6 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum install -y openstack-ceilometer-collector && yum clean all
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/ceilometer/ceilometer-collector/config-external.sh b/docker/centos/binary/ceilometer/ceilometer-collector/config-external.sh
new file mode 120000
index 000000000..e16dcecc1
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-collector/config-external.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-collector/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-collector/config-internal.sh b/docker/centos/binary/ceilometer/ceilometer-collector/config-internal.sh
new file mode 120000
index 000000000..de90be372
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-collector/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-collector/config-internal.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-compute/Dockerfile b/docker/centos/binary/ceilometer/ceilometer-compute/Dockerfile
index 9f2a701d8..3d476d8e5 100644
--- a/docker/centos/binary/ceilometer/ceilometer-compute/Dockerfile
+++ b/docker/centos/binary/ceilometer/ceilometer-compute/Dockerfile
@@ -5,4 +5,6 @@ RUN yum install -y openstack-ceilometer-compute python-ceilometerclient python-p
&& yum clean all
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/ceilometer/ceilometer-compute/config-external.sh b/docker/centos/binary/ceilometer/ceilometer-compute/config-external.sh
new file mode 120000
index 000000000..1d0c728e5
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-compute/config-external.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-compute/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-compute/config-internal.sh b/docker/centos/binary/ceilometer/ceilometer-compute/config-internal.sh
new file mode 120000
index 000000000..ceefe1a9e
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-compute/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-compute/config-internal.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-notification/Dockerfile b/docker/centos/binary/ceilometer/ceilometer-notification/Dockerfile
index 72d291bcb..7d6f2763d 100644
--- a/docker/centos/binary/ceilometer/ceilometer-notification/Dockerfile
+++ b/docker/centos/binary/ceilometer/ceilometer-notification/Dockerfile
@@ -4,4 +4,6 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum install -y openstack-ceilometer-notification && yum clean all
ADD ./start.sh /start.sh
+COPY config-internal.sh config-external.sh /opt/kolla/
+
CMD ["/start.sh"]
diff --git a/docker/centos/binary/ceilometer/ceilometer-notification/config-external.sh b/docker/centos/binary/ceilometer/ceilometer-notification/config-external.sh
new file mode 120000
index 000000000..12d98d9ee
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-notification/config-external.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-notification/config-external.sh \ No newline at end of file
diff --git a/docker/centos/binary/ceilometer/ceilometer-notification/config-internal.sh b/docker/centos/binary/ceilometer/ceilometer-notification/config-internal.sh
new file mode 120000
index 000000000..75a4ba990
--- /dev/null
+++ b/docker/centos/binary/ceilometer/ceilometer-notification/config-internal.sh
@@ -0,0 +1 @@
+../../../../common/ceilometer/ceilometer-notification/config-internal.sh \ No newline at end of file
diff --git a/docker/common/ceilometer/ceilometer-alarm/config-external.sh b/docker/common/ceilometer/ceilometer-alarm/config-external.sh
new file mode 100644
index 000000000..2835bd5aa
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-alarm/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+TARGET="/etc/ceilometer/ceilometer.conf"
+OWNER="ceilometer"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/ceilometer/ceilometer-alarm/config-internal.sh b/docker/common/ceilometer/ceilometer-alarm/config-internal.sh
new file mode 100644
index 000000000..7470ae608
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-alarm/config-internal.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-ceilometer.sh
+
+
+exec /usr/bin/ceilometer-alarm-evaluator &
+exec /usr/bin/ceilometer-alarm-notifier
diff --git a/docker/common/ceilometer/ceilometer-alarm/start.sh b/docker/common/ceilometer/ceilometer-alarm/start.sh
index 7470ae608..cd42a83ef 100644
--- a/docker/common/ceilometer/ceilometer-alarm/start.sh
+++ b/docker/common/ceilometer/ceilometer-alarm/start.sh
@@ -1,10 +1,14 @@
#!/bin/bash
-set -e
+set -o errexit
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-ceilometer.sh
+CMD="/usr/bin/ceilometer-alarm"
+ARGS=""
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-exec /usr/bin/ceilometer-alarm-evaluator &
-exec /usr/bin/ceilometer-alarm-notifier
+# Config-internal script exec out of this function, it does not return here.
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/common/ceilometer/ceilometer-api/config-external.sh b/docker/common/ceilometer/ceilometer-api/config-external.sh
new file mode 100644
index 000000000..2835bd5aa
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-api/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+TARGET="/etc/ceilometer/ceilometer.conf"
+OWNER="ceilometer"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/ceilometer/ceilometer-api/config-internal.sh b/docker/common/ceilometer/ceilometer-api/config-internal.sh
new file mode 100644
index 000000000..f081c9f84
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-api/config-internal.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-ceilometer.sh
+
+check_required_vars CEILOMETER_DB_USER CEILOMETER_DB_NAME \
+ CEILOMETER_DB_PASSWORD KEYSTONE_ADMIN_TOKEN \
+ KEYSTONE_AUTH_PROTOCOL KEYSTONE_ADMIN_SERVICE_HOST \
+ KEYSTONE_ADMIN_SERVICE_PORT ADMIN_TENANT_NAME \
+ CEILOMETER_KEYSTONE_USER CEILOMETER_ADMIN_PASSWORD \
+ CEILOMETER_API_SERVICE_HOST PUBLIC_IP
+
+fail_unless_os_service_running keystone
+fail_unless_db
+
+#TODO(pkilambi): Add mongodb support
+
+mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${CEILOMETER_DB_NAME} DEFAULT CHARACTER SET utf8;
+GRANT ALL PRIVILEGES ON ${CEILOMETER_DB_NAME}.* TO
+ '${CEILOMETER_DB_USER}'@'%' IDENTIFIED BY '${CEILOMETER_DB_PASSWORD}'
+
+EOF
+
+
+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 ${CEILOMETER_KEYSTONE_USER} \
+ -p ${CEILOMETER_ADMIN_PASSWORD} \
+ -t ${ADMIN_TENANT_NAME} \
+ -r admin
+
+crux service-create -n ${CEILOMETER_KEYSTONE_USER} -t metering \
+ -d "Ceilometer Telemetry Service"
+
+crux endpoint-create i--remove-all -n ${CEILOMETER_KEYSTONE_USER} -t metering \
+ -I "${KEYSTONE_AUTH_PROTOCOL}://${CEILOMETER_API_SERVICE_HOST}:8777" \
+ -P "${KEYSTONE_AUTH_PROTOCOL}://${PUBLIC_IP}:8777" \
+ -A "${KEYSTONE_AUTH_PROTOCOL}://${CEILOMETER_API_SERVICE_HOST}:8777"
+
+cfg=/etc/ceilometer/ceilometer.conf
+crudini --set $cfg \
+ DEFAULT connection
+ "mysql://${CEILOMETER_DB_USER}:${CEILOMETER_DB_PASSWORD}@${MARIADB_SERVICE_HOST}/${CEILOMETER_DB_NAME}"
+
+
+exec /usr/bin/ceilometer-api
diff --git a/docker/common/ceilometer/ceilometer-api/start.sh b/docker/common/ceilometer/ceilometer-api/start.sh
index f081c9f84..0f660e025 100644
--- a/docker/common/ceilometer/ceilometer-api/start.sh
+++ b/docker/common/ceilometer/ceilometer-api/start.sh
@@ -1,51 +1,21 @@
#!/bin/bash
-set -e
+set -o errexit
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-ceilometer.sh
+CMD="/usr/bin/ceilometer-api"
+ARGS=""
-check_required_vars CEILOMETER_DB_USER CEILOMETER_DB_NAME \
- CEILOMETER_DB_PASSWORD KEYSTONE_ADMIN_TOKEN \
- KEYSTONE_AUTH_PROTOCOL KEYSTONE_ADMIN_SERVICE_HOST \
- KEYSTONE_ADMIN_SERVICE_PORT ADMIN_TENANT_NAME \
- CEILOMETER_KEYSTONE_USER CEILOMETER_ADMIN_PASSWORD \
- CEILOMETER_API_SERVICE_HOST PUBLIC_IP
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-fail_unless_os_service_running keystone
-fail_unless_db
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-#TODO(pkilambi): Add mongodb support
+# 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 "ceilometer-manage db_sync" ceilometer
+ exit 0
+fi
-mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
-CREATE DATABASE IF NOT EXISTS ${CEILOMETER_DB_NAME} DEFAULT CHARACTER SET utf8;
-GRANT ALL PRIVILEGES ON ${CEILOMETER_DB_NAME}.* TO
- '${CEILOMETER_DB_USER}'@'%' IDENTIFIED BY '${CEILOMETER_DB_PASSWORD}'
-
-EOF
-
-
-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 ${CEILOMETER_KEYSTONE_USER} \
- -p ${CEILOMETER_ADMIN_PASSWORD} \
- -t ${ADMIN_TENANT_NAME} \
- -r admin
-
-crux service-create -n ${CEILOMETER_KEYSTONE_USER} -t metering \
- -d "Ceilometer Telemetry Service"
-
-crux endpoint-create i--remove-all -n ${CEILOMETER_KEYSTONE_USER} -t metering \
- -I "${KEYSTONE_AUTH_PROTOCOL}://${CEILOMETER_API_SERVICE_HOST}:8777" \
- -P "${KEYSTONE_AUTH_PROTOCOL}://${PUBLIC_IP}:8777" \
- -A "${KEYSTONE_AUTH_PROTOCOL}://${CEILOMETER_API_SERVICE_HOST}:8777"
-
-cfg=/etc/ceilometer/ceilometer.conf
-crudini --set $cfg \
- DEFAULT connection
- "mysql://${CEILOMETER_DB_USER}:${CEILOMETER_DB_PASSWORD}@${MARIADB_SERVICE_HOST}/${CEILOMETER_DB_NAME}"
-
-
-exec /usr/bin/ceilometer-api
+exec $CMD $ARGS
diff --git a/docker/common/ceilometer/ceilometer-central/config-external.sh b/docker/common/ceilometer/ceilometer-central/config-external.sh
new file mode 100644
index 000000000..2835bd5aa
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-central/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+TARGET="/etc/ceilometer/ceilometer.conf"
+OWNER="ceilometer"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/ceilometer/ceilometer-central/config-internal.sh b/docker/common/ceilometer/ceilometer-central/config-internal.sh
new file mode 100644
index 000000000..76f9a1fc2
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-central/config-internal.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-ceilometer.sh
+
+check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_AUTH_PROTOCOL \
+ KEYSTONE_ADMIN_SERVICE_HOST KEYSTONE_ADMIN_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"
+
+exec /usr/bin/ceilometer-agent-central
diff --git a/docker/common/ceilometer/ceilometer-central/start.sh b/docker/common/ceilometer/ceilometer-central/start.sh
index 76f9a1fc2..f9c317828 100644
--- a/docker/common/ceilometer/ceilometer-central/start.sh
+++ b/docker/common/ceilometer/ceilometer-central/start.sh
@@ -1,14 +1,14 @@
#!/bin/bash
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-ceilometer.sh
+set -o errexit
-check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_AUTH_PROTOCOL \
- KEYSTONE_ADMIN_SERVICE_HOST KEYSTONE_ADMIN_SERVICE_PORT
+CMD="/usr/bin/ceilometer-agent-central"
+ARGS=""
-fail_unless_os_service_running keystone
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
-export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0"
+# Config-internal script exec out of this function, it does not return here.
+set_configs
-exec /usr/bin/ceilometer-agent-central
+exec $CMD $ARGS
diff --git a/docker/common/ceilometer/ceilometer-collector/config-external.sh b/docker/common/ceilometer/ceilometer-collector/config-external.sh
new file mode 100644
index 000000000..2835bd5aa
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-collector/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+TARGET="/etc/ceilometer/ceilometer.conf"
+OWNER="ceilometer"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/ceilometer/ceilometer-collector/config-internal.sh b/docker/common/ceilometer/ceilometer-collector/config-internal.sh
new file mode 100644
index 000000000..1ed4c9e7d
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-collector/config-internal.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-ceilometer.sh
+
+
+exec /usr/bin/ceilometer-collector
diff --git a/docker/common/ceilometer/ceilometer-collector/start.sh b/docker/common/ceilometer/ceilometer-collector/start.sh
index 1ed4c9e7d..dee31e404 100644
--- a/docker/common/ceilometer/ceilometer-collector/start.sh
+++ b/docker/common/ceilometer/ceilometer-collector/start.sh
@@ -1,9 +1,14 @@
#!/bin/bash
-set -e
+set -o errexit
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-ceilometer.sh
+CMD="/usr/bin/ceilometer-collector"
+ARGS=""
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-exec /usr/bin/ceilometer-collector
+# Config-internal script exec out of this function, it does not return here.
+set_configs
+
+exec $CMD $ARGS
diff --git a/docker/common/ceilometer/ceilometer-compute/config-external.sh b/docker/common/ceilometer/ceilometer-compute/config-external.sh
new file mode 100644
index 000000000..2835bd5aa
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-compute/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+TARGET="/etc/ceilometer/ceilometer.conf"
+OWNER="ceilometer"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/ceilometer/ceilometer-compute/config-internal.sh b/docker/common/ceilometer/ceilometer-compute/config-internal.sh
new file mode 100644
index 000000000..f4fc30bae
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-compute/config-internal.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-ceilometer.sh
+
+
+check_required_vars KEYSTONE_ADMIN_TOKEN RABBITMQ_SERVICE_HOST RABBIT_PASSWORD
+
+fail_unless_os_service_running keystone
+
+# Nova conf settings
+crudini --set /etc/nova/nova.conf DEFAULT instance_usage_audit True
+crudini --set /etc/nova/nova.conf DEFAULT instance_usage_audit_period hour
+crudini --set /etc/nova/nova.conf DEFAULT notify_on_state_change vm_and_task_state
+crudini --set /etc/nova/nova.conf DEFAULT notification_driver nova.openstack.common.notifier.rpc_notifier
+crudini --set /etc/nova/nova.conf DEFAULT notification_driver ceilometer.compute.nova_notifier
+
+#ceilometer settings
+cfg=/etc/ceilometer/ceilometer.conf
+crudini --set $cfg publisher_rpc metering_secret ${KEYSTONE_ADMIN_TOKEN}
+crudini --set $cfg rabbit_host ${RABBITMQ_SERVICE_HOST}
+crudini --set $cfg rabbit_password ${RABBIT_PASSWORD}
+
+
+exec /usr/bin/ceilometer-agent-compute
diff --git a/docker/common/ceilometer/ceilometer-compute/start.sh b/docker/common/ceilometer/ceilometer-compute/start.sh
index f4fc30bae..dff79dd1b 100644
--- a/docker/common/ceilometer/ceilometer-compute/start.sh
+++ b/docker/common/ceilometer/ceilometer-compute/start.sh
@@ -1,25 +1,14 @@
#!/bin/bash
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-ceilometer.sh
+set -o errexit
+CMD="/usr/bin/ceilometer-agent-compute"
+ARGS=""
-check_required_vars KEYSTONE_ADMIN_TOKEN RABBITMQ_SERVICE_HOST RABBIT_PASSWORD
+# 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
-# Nova conf settings
-crudini --set /etc/nova/nova.conf DEFAULT instance_usage_audit True
-crudini --set /etc/nova/nova.conf DEFAULT instance_usage_audit_period hour
-crudini --set /etc/nova/nova.conf DEFAULT notify_on_state_change vm_and_task_state
-crudini --set /etc/nova/nova.conf DEFAULT notification_driver nova.openstack.common.notifier.rpc_notifier
-crudini --set /etc/nova/nova.conf DEFAULT notification_driver ceilometer.compute.nova_notifier
-
-#ceilometer settings
-cfg=/etc/ceilometer/ceilometer.conf
-crudini --set $cfg publisher_rpc metering_secret ${KEYSTONE_ADMIN_TOKEN}
-crudini --set $cfg rabbit_host ${RABBITMQ_SERVICE_HOST}
-crudini --set $cfg rabbit_password ${RABBIT_PASSWORD}
-
-
-exec /usr/bin/ceilometer-agent-compute
+exec $CMD $ARGS
diff --git a/docker/common/ceilometer/ceilometer-notification/config-external.sh b/docker/common/ceilometer/ceilometer-notification/config-external.sh
new file mode 100644
index 000000000..2835bd5aa
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-notification/config-external.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+SOURCE="/opt/kolla/ceilometer/ceilometer.conf"
+TARGET="/etc/ceilometer/ceilometer.conf"
+OWNER="ceilometer"
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/ceilometer/ceilometer-notification/config-internal.sh b/docker/common/ceilometer/ceilometer-notification/config-internal.sh
new file mode 100644
index 000000000..939734549
--- /dev/null
+++ b/docker/common/ceilometer/ceilometer-notification/config-internal.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-ceilometer.sh
+
+
+exec /usr/bin/ceilometer-agent-notification
diff --git a/docker/common/ceilometer/ceilometer-notification/start.sh b/docker/common/ceilometer/ceilometer-notification/start.sh
index 939734549..1fc97ff21 100644
--- a/docker/common/ceilometer/ceilometer-notification/start.sh
+++ b/docker/common/ceilometer/ceilometer-notification/start.sh
@@ -1,9 +1,14 @@
#!/bin/bash
-set -e
+set -o errexit
-. /opt/kolla/kolla-common.sh
-. /opt/kolla/config-ceilometer.sh
+CMD="/usr/bin/ceilometer-agent-notification"
+ARGS=""
+# Loading common functions.
+source /opt/kolla/kolla-common.sh
-exec /usr/bin/ceilometer-agent-notification
+# Config-internal script exec out of this function, it does not return here.
+set_configs
+
+exec $CMD $ARGS