summaryrefslogtreecommitdiff
path: root/docker/ceilometer/ceilometer-api/start.sh
blob: f081c9f84de535b688bd5a6b43ab0782b3185eeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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