summaryrefslogtreecommitdiff
path: root/docker/ceilometer/ceilometer-api
diff options
context:
space:
mode:
Diffstat (limited to 'docker/ceilometer/ceilometer-api')
-rw-r--r--docker/ceilometer/ceilometer-api/Dockerfile9
l---------docker/ceilometer/ceilometer-api/build1
-rw-r--r--docker/ceilometer/ceilometer-api/start.sh46
3 files changed, 56 insertions, 0 deletions
diff --git a/docker/ceilometer/ceilometer-api/Dockerfile b/docker/ceilometer/ceilometer-api/Dockerfile
new file mode 100644
index 000000000..29a46b39f
--- /dev/null
+++ b/docker/ceilometer/ceilometer-api/Dockerfile
@@ -0,0 +1,9 @@
+FROM kollaglue/fedora-rdo-ceilometer-base
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+RUN yum install -y openstack-ceilometer-api && yum clean all
+
+EXPOSE 8777
+
+ADD ./start.sh /start.sh
+CMD ["/start.sh"]
diff --git a/docker/ceilometer/ceilometer-api/build b/docker/ceilometer/ceilometer-api/build
new file mode 120000
index 000000000..43944faa0
--- /dev/null
+++ b/docker/ceilometer/ceilometer-api/build
@@ -0,0 +1 @@
+../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/ceilometer/ceilometer-api/start.sh b/docker/ceilometer/ceilometer-api/start.sh
new file mode 100644
index 000000000..8c9acef5f
--- /dev/null
+++ b/docker/ceilometer/ceilometer-api/start.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+set -e
+
+. /opt/kolla/kolla-common.sh
+. /opt/kolla/config-ceilometer.sh
+
+check_required_vars CEILOMETER_DB_USER CEILOMETER_DB_NAME KEYSTONE_AUTH_PROTOCOL CEILOMETER_KEYSTONE_USER CEILOMETER_ADMIN_PASSWORD ADMIN_TENANT_NAME METERING_SECRET CEILOMETER_API_SERVICE_HOST PUBLIC_IP
+
+check_for_keystone
+check_for_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