diff options
26 files changed, 312 insertions, 0 deletions
diff --git a/docker/ceilometer/ceilometer-alarm/Dockerfile b/docker/ceilometer/ceilometer-alarm/Dockerfile new file mode 100644 index 000000000..7bcbf30ae --- /dev/null +++ b/docker/ceilometer/ceilometer-alarm/Dockerfile @@ -0,0 +1,7 @@ +FROM kollaglue/fedora-rdo-ceilometer-base +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum install -y openstack-ceilometer-alarm && yum clean all + +ADD ./start.sh /start.sh +CMD ["/start.sh"] diff --git a/docker/ceilometer/ceilometer-alarm/build b/docker/ceilometer/ceilometer-alarm/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/ceilometer/ceilometer-alarm/build @@ -0,0 +1 @@ +../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/ceilometer/ceilometer-alarm/start.sh b/docker/ceilometer/ceilometer-alarm/start.sh new file mode 100644 index 000000000..2096348c4 --- /dev/null +++ b/docker/ceilometer/ceilometer-alarm/start.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +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/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 diff --git a/docker/ceilometer/ceilometer-base/Dockerfile b/docker/ceilometer/ceilometer-base/Dockerfile new file mode 100644 index 000000000..c166027cd --- /dev/null +++ b/docker/ceilometer/ceilometer-base/Dockerfile @@ -0,0 +1,5 @@ +FROM kollaglue/fedora-rdo-base +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN mkdir -p /opt/kolla +COPY config-ceilometer.sh /opt/kolla/config-ceilometer.sh diff --git a/docker/ceilometer/ceilometer-base/build b/docker/ceilometer/ceilometer-base/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/ceilometer/ceilometer-base/build @@ -0,0 +1 @@ +../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/ceilometer/ceilometer-base/config-ceilometer.sh b/docker/ceilometer/ceilometer-base/config-ceilometer.sh new file mode 100644 index 000000000..64008ab8b --- /dev/null +++ b/docker/ceilometer/ceilometer-base/config-ceilometer.sh @@ -0,0 +1,69 @@ +#!/bin/sh + +set -e +. /opt/kolla/kolla-common.sh + +: ${CEILOMETER_DB_USER:=ceilometer} +: ${CEILOMETER_DB_NAME:=ceilometer} +: ${KEYSTONE_AUTH_PROTOCOL:=http} +: ${CEILOMETER_KEYSTONE_USER:=admin} +: ${CEILOMETER_ADMIN_PASSWORD:=kolla} +: ${ADMIN_TENANT_NAME:=admin} +: ${METERING_SECRET:=ceilometer} + +check_required_vars CEILOMETER_DB_PASSWORD KEYSTONE_ADMIN_TOKEN DB_ROOT_PASSWORD +dump_vars + +cat > /openrc <<EOF +export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" +export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}/v2.0" +EOF + + +cfg=/etc/ceilometer/ceilometer.conf + +crudini --set $cfg \ + DEFAULT rpc_backend rabbit +crudini --set $cfg \ + DEFAULT rabbit_host ${KEYSTONE_SERVICE_HOST} +crudini --set $cfg \ + DEFAULT rabbit_password ${RABBITMQ_PASS} + +crudini --set $cfg \ + keystone_authtoken \ + auth_uri \ + "http://${KEYSTONE_SERVICE_HOST}:5000/" +crudini --set $cfg \ + keystone_authtoken \ + admin_tenant_name \ + "${ADMIN_TENANT_NAME}" +crudini --set $cfg \ + keystone_authtoken \ + admin_user \ + "${CEILOMETER_KEYSTONE_USER}" +crudini --set $cfg \ + keystone_authtoken \ + admin_password \ + ${CEILOMETER_ADMIN_PASSWORD} + +crudini --set $cfg \ + service_credentials \ + os_auth_url \ + ${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_SERVICE_HOST}:5000/ +crudini --set $cfg \ + service_credentials \ + os_username \ + ceilometer +crudini --set $cfg \ + service_credentials \ + os_tenant_name \ + service +crudini --set $cfg \ + service_credentials \ + os_password \ + ${CEILOMETER_ADMIN_PASSWORD} + +crudini --set $cfg \ + publisher + metering_secret + ${METERING_SECRET} diff --git a/docker/ceilometer/ceilometer-central/Dockerfile b/docker/ceilometer/ceilometer-central/Dockerfile new file mode 100644 index 000000000..a20c6712c --- /dev/null +++ b/docker/ceilometer/ceilometer-central/Dockerfile @@ -0,0 +1,7 @@ +FROM kollaglue/fedora-rdo-ceilometer-base +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum install -y openstack-ceilometer-central && yum clean all + +ADD ./start.sh /start.sh +CMD ["/start.sh"] diff --git a/docker/ceilometer/ceilometer-central/build b/docker/ceilometer/ceilometer-central/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/ceilometer/ceilometer-central/build @@ -0,0 +1 @@ +../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/ceilometer/ceilometer-central/start.sh b/docker/ceilometer/ceilometer-central/start.sh new file mode 100644 index 000000000..a40a3dde0 --- /dev/null +++ b/docker/ceilometer/ceilometer-central/start.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-ceilometer.sh + +check_required_vars KEYSTONE_AUTH_PROTOCOL CEILOMETER_KEYSTONE_USER CEILOMETER_ADMIN_PASSWORD ADMIN_TENANT_NAME + +check_for_keystone +check_for_db + +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/ceilometer/ceilometer-collector/Dockerfile b/docker/ceilometer/ceilometer-collector/Dockerfile new file mode 100644 index 000000000..8e76f43b1 --- /dev/null +++ b/docker/ceilometer/ceilometer-collector/Dockerfile @@ -0,0 +1,7 @@ +FROM kollaglue/fedora-rdo-ceilometer-base +MAINTAINER Pradeep Kilambi <pkilambi@cisco.com> + +RUN yum install -y openstack-ceilometer-collector && yum clean all + +ADD ./start.sh /start.sh +CMD ["/start.sh"] diff --git a/docker/ceilometer/ceilometer-collector/build b/docker/ceilometer/ceilometer-collector/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/ceilometer/ceilometer-collector/build @@ -0,0 +1 @@ +../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/ceilometer/ceilometer-collector/start.sh b/docker/ceilometer/ceilometer-collector/start.sh new file mode 100644 index 000000000..21de9d315 --- /dev/null +++ b/docker/ceilometer/ceilometer-collector/start.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-ceilometer.sh + + +exec /usr/bin/ceilometer-collector diff --git a/docker/ceilometer/ceilometer-compute/Dockerfile b/docker/ceilometer/ceilometer-compute/Dockerfile new file mode 100644 index 000000000..07b38bcc5 --- /dev/null +++ b/docker/ceilometer/ceilometer-compute/Dockerfile @@ -0,0 +1,8 @@ +FROM kollaglue/fedora-rdo-ceilometer-base +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum install -y openstack-ceilometer-compute python-ceilometerclient python-pecan \ + && yum clean all + +ADD ./start.sh /start.sh +CMD ["/start.sh"] diff --git a/docker/ceilometer/ceilometer-compute/build b/docker/ceilometer/ceilometer-compute/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/ceilometer/ceilometer-compute/build @@ -0,0 +1 @@ +../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/ceilometer/ceilometer-compute/start.sh b/docker/ceilometer/ceilometer-compute/start.sh new file mode 100644 index 000000000..3e3c6c82a --- /dev/null +++ b/docker/ceilometer/ceilometer-compute/start.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-ceilometer.sh + + +check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_SERVICE_HOST KEYSTONE_AUTH_PROTOCOL CEILOMETER_KEYSTONE_USER ADMIN_TENANT_NAME + +check_for_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 ${KEYSTONE_SERVICE_HOST} +crudini --set $cfg rabbit_password ${RABBITMQ_PASS} + + +exec /usr/bin/ceilometer-agent-compute diff --git a/docker/ceilometer/ceilometer-notification/Dockerfile b/docker/ceilometer/ceilometer-notification/Dockerfile new file mode 100644 index 000000000..385a27248 --- /dev/null +++ b/docker/ceilometer/ceilometer-notification/Dockerfile @@ -0,0 +1,7 @@ +FROM kollaglue/fedora-rdo-ceilometer-base +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum install -y openstack-ceilometer-notification && yum clean all + +ADD ./start.sh /start.sh +CMD ["/start.sh"] diff --git a/docker/ceilometer/ceilometer-notification/build b/docker/ceilometer/ceilometer-notification/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/ceilometer/ceilometer-notification/build @@ -0,0 +1 @@ +../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/ceilometer/ceilometer-notification/start.sh b/docker/ceilometer/ceilometer-notification/start.sh new file mode 100644 index 000000000..f2f84789e --- /dev/null +++ b/docker/ceilometer/ceilometer-notification/start.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +. /opt/kolla/kolla-common.sh +. /opt/kolla/config-ceilometer.sh + + +exec /usr/bin/ceilometer-agent-notification diff --git a/k8s/pod/ceilometer-controller-pod.yaml b/k8s/pod/ceilometer-controller-pod.yaml new file mode 100644 index 000000000..ef94094f5 --- /dev/null +++ b/k8s/pod/ceilometer-controller-pod.yaml @@ -0,0 +1,55 @@ +desiredState: + manifest: + containers: + - env: + - name: DB_ROOT_PASSWORD + value: password + - name: CEILOMETER_DB_PASSWORD + value: ceilometerdbpassword + - name: KEYSTONE_ADMIN_TOKEN + value: ADMINTOKEN + image: kollaglue/fedora-rdo-ceilometer-api + name: ceilometer-api + ports: + - containerPort: 8777 + - env: + - name: DB_ROOT_PASSWORD + value: password + - name: CEILOMETER_DB_PASSWORD + value: ceilometerdbpassword + - name: KEYSTONE_ADMIN_TOKEN + value: ADMINTOKEN + image: kollaglue/fedora-rdo-ceilometer-notification + name: ceilometer-notification + - env: + - name: DB_ROOT_PASSWORD + value: password + - name: CEILOMETER_DB_PASSWORD + value: ceilometerdbpassword + - name: KEYSTONE_ADMIN_TOKEN + value: ADMINTOKEN + image: kollaglue/fedora-rdo-ceilometer-central + name: ceilometer-central + - env: + - name: DB_ROOT_PASSWORD + value: password + - name: CEILOMETER_DB_PASSWORD + value: ceilometerdbpassword + - name: KEYSTONE_ADMIN_TOKEN + value: ADMINTOKEN + image: kollaglue/fedora-rdo-ceilometer-collector + name: ceilometer-collector + - env: + - name: DB_ROOT_PASSWORD + value: password + - name: CEILOMETER_DB_PASSWORD + value: ceilometerdbpassword + - name: KEYSTONE_ADMIN_TOKEN + value: ADMINTOKEN + image: kollaglue/fedora-rdo-ceilometer-alarm + name: ceilometer-alarm + id: ceilometer-1 + version: v1beta1 +id: ceilometer +labels: + name: ceilometer-controller diff --git a/k8s/pod/nova-compute-pod.yaml b/k8s/pod/nova-compute-pod.yaml index 7cd4ac444..446324010 100644 --- a/k8s/pod/nova-compute-pod.yaml +++ b/k8s/pod/nova-compute-pod.yaml @@ -21,6 +21,15 @@ desiredState: name: nova-libvirt ports: - containerPort: 16509 + - env: + - name: DB_ROOT_PASSWORD + value: password + - name: CEILOMETER_DB_PASSWORD + value: ceilometerdbpassword + - name: KEYSTONE_ADMIN_TOKEN + value: ADMINTOKEN + image: kollaglue/fedora-rdo-ceilometer-compute + name: ceilometer-compute id: nova-1 version: v1beta1 id: nova diff --git a/k8s/service/ceilometer-api-service.yaml b/k8s/service/ceilometer-api-service.yaml new file mode 100644 index 000000000..e831cf481 --- /dev/null +++ b/k8s/service/ceilometer-api-service.yaml @@ -0,0 +1,7 @@ +apiVersion: v1beta1 +containerPort: 8777 +id: ceilometer-api +kind: Service +port: 8777 +selector: + name: ceilometer-controller diff --git a/tools/start-all-pods b/tools/start-all-pods index c3860266b..e2ee16c53 100755 --- a/tools/start-all-pods +++ b/tools/start-all-pods @@ -10,6 +10,7 @@ glance nova-controller neutron-controller heat +ceilometer-controller ' for pod in $pods; do diff --git a/tools/start-all-services b/tools/start-all-services index a8856e8b4..51520ec66 100755 --- a/tools/start-all-services +++ b/tools/start-all-services @@ -3,6 +3,7 @@ cd $(git rev-parse --show-toplevel) services=' +ceilometer-api glance-api glance-registry keystone-admin |
