From 4c25113d30ae951e7d3a2f23fa5758e62ead8a8f Mon Sep 17 00:00:00 2001 From: Swapnil Kulkarni <me@coolsvap.net> Date: Fri, 3 Jul 2015 06:14:29 +0000 Subject: [PATCH] Add config-internal/config-external for Ceilometer Partially Implements: Blueprint standard-start Change-Id: I0c9fea2014a23ca0b08f9a0946472cc877edacbc --- .../ceilometer/ceilometer-alarm/Dockerfile | 2 + .../ceilometer-alarm/config-external.sh | 1 + .../ceilometer-alarm/config-internal.sh | 1 + .../ceilometer/ceilometer-api/Dockerfile | 1 + .../ceilometer-api/config-external.sh | 1 + .../ceilometer-api/config-internal.sh | 1 + .../ceilometer/ceilometer-central/Dockerfile | 2 + .../ceilometer-central/config-external.sh | 1 + .../ceilometer-central/config-internal.sh | 1 + .../ceilometer-collector/Dockerfile | 2 + .../ceilometer-collector/config-external.sh | 1 + .../ceilometer-collector/config-internal.sh | 1 + .../ceilometer/ceilometer-compute/Dockerfile | 2 + .../ceilometer-compute/config-external.sh | 1 + .../ceilometer-compute/config-internal.sh | 1 + .../ceilometer-notification/Dockerfile | 2 + .../config-external.sh | 1 + .../config-internal.sh | 1 + .../ceilometer-alarm/config-external.sh | 10 ++++ .../ceilometer-alarm/config-internal.sh | 10 ++++ .../ceilometer/ceilometer-alarm/start.sh | 14 +++-- .../ceilometer-api/config-external.sh | 10 ++++ .../ceilometer-api/config-internal.sh | 51 ++++++++++++++++ .../common/ceilometer/ceilometer-api/start.sh | 58 +++++-------------- .../ceilometer-central/config-external.sh | 10 ++++ .../ceilometer-central/config-internal.sh | 14 +++++ .../ceilometer/ceilometer-central/start.sh | 16 ++--- .../ceilometer-collector/config-external.sh | 10 ++++ .../ceilometer-collector/config-internal.sh | 9 +++ .../ceilometer/ceilometer-collector/start.sh | 13 +++-- .../ceilometer-compute/config-external.sh | 10 ++++ .../ceilometer-compute/config-internal.sh | 25 ++++++++ .../ceilometer/ceilometer-compute/start.sh | 27 +++------ .../config-external.sh | 10 ++++ .../config-internal.sh | 9 +++ .../ceilometer-notification/start.sh | 13 +++-- 36 files changed, 258 insertions(+), 84 deletions(-) create mode 120000 docker/centos/binary/ceilometer/ceilometer-alarm/config-external.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-alarm/config-internal.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-api/config-external.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-api/config-internal.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-central/config-external.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-central/config-internal.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-collector/config-external.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-collector/config-internal.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-compute/config-external.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-compute/config-internal.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-notification/config-external.sh create mode 120000 docker/centos/binary/ceilometer/ceilometer-notification/config-internal.sh create mode 100644 docker/common/ceilometer/ceilometer-alarm/config-external.sh create mode 100644 docker/common/ceilometer/ceilometer-alarm/config-internal.sh create mode 100644 docker/common/ceilometer/ceilometer-api/config-external.sh create mode 100644 docker/common/ceilometer/ceilometer-api/config-internal.sh create mode 100644 docker/common/ceilometer/ceilometer-central/config-external.sh create mode 100644 docker/common/ceilometer/ceilometer-central/config-internal.sh create mode 100644 docker/common/ceilometer/ceilometer-collector/config-external.sh create mode 100644 docker/common/ceilometer/ceilometer-collector/config-internal.sh create mode 100644 docker/common/ceilometer/ceilometer-compute/config-external.sh create mode 100644 docker/common/ceilometer/ceilometer-compute/config-internal.sh create mode 100644 docker/common/ceilometer/ceilometer-notification/config-external.sh create mode 100644 docker/common/ceilometer/ceilometer-notification/config-internal.sh 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 -- GitLab