summaryrefslogtreecommitdiffstats
path: root/tools/ves-agent
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ves-agent')
-rw-r--r--tools/ves-agent/Dockerfile59
-rw-r--r--tools/ves-agent/start.sh43
2 files changed, 102 insertions, 0 deletions
diff --git a/tools/ves-agent/Dockerfile b/tools/ves-agent/Dockerfile
new file mode 100644
index 0000000..4c37197
--- /dev/null
+++ b/tools/ves-agent/Dockerfile
@@ -0,0 +1,59 @@
+# Copyright 2017 AT&T Intellectual Property, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# What this is: A Dockerfile for building an OPFNV VES Agent container image.
+#
+# Status: this is a work in progress, under test.
+#
+
+FROM ubuntu:xenial
+
+MAINTAINER Bryan Sullivan
+
+RUN apt-get update
+RUN apt-get install -y apt-utils
+RUN apt-get -y upgrade
+RUN apt-get install -y git
+# Required for kafka
+RUN apt-get install -y default-jre
+RUN apt-get install -y zookeeperd
+RUN apt-get install -y python-pip
+RUN pip install kafka-python
+# Required for building collectd
+RUN apt-get install -y pkg-config
+
+RUN mkdir /opt/ves
+
+# Build Kafka client
+RUN apt-get install -y build-essential
+RUN apt-get install -y libpthread-stubs0-dev
+RUN apt-get install -y libssl-dev
+RUN apt-get install -y libsasl2-dev
+RUN apt-get install -y liblz4-dev
+RUN /bin/bash -c 'git clone --branch v0.9.5 \
+https://github.com/edenhill/librdkafka.git /opt/ves/librdkafka; \
+cd /opt/ves/librdkafka; ./configure --prefix=/usr; \
+make; make install'
+
+# Install VES Agent
+RUN pip install pyaml
+
+RUN git clone https://gerrit.opnfv.org/gerrit/barometer /opt/ves/barometer
+# Test patch
+RUN /bin/bash -c 'cd /opt/ves/barometer; \
+git fetch https://gerrit.opnfv.org/gerrit/barometer \
+refs/changes/27/47427/1 && git checkout FETCH_HEAD'
+
+COPY start.sh /opt/ves/start.sh
+ENTRYPOINT ["/bin/bash", "/opt/ves/start.sh"]
diff --git a/tools/ves-agent/start.sh b/tools/ves-agent/start.sh
new file mode 100644
index 0000000..1153ab1
--- /dev/null
+++ b/tools/ves-agent/start.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+# Copyright 2017 AT&T Intellectual Property, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#. What this is: Startup script for the OPNFV VES Agent running under docker.
+
+echo "$ves_kafka_host $ves_hostname" >>/etc/hosts
+
+cd /opt/ves/barometer/3rd_party/collectd-ves-app/ves_app
+cat <<EOF >ves_app_config.conf
+[config]
+Domain = $ves_host
+Port = $ves_port
+Path = $ves_path
+Topic = $ves_topic
+UseHttps = $ves_https
+Username = $ves_user
+Password = $ves_pass
+SendEventInterval = $ves_interval
+ApiVersion = $ves_version
+KafkaPort = $ves_kafka_port
+KafkaBroker = $ves_kafka_host
+EOF
+
+cat ves_app_config.conf
+echo "ves_mode=$ves_mode"
+python ves_app.py --events-schema=$ves_mode.yaml --loglevel DEBUG \
+ --config=ves_app_config.conf
+echo "*** ves_app.log ***"
+cat ves_app.log
+echo "*** /opt/ves/kafka_2.11-0.11.0.2/kafka.log ***"
+cat /opt/ves/kafka_2.11-0.11.0.2/kafka.log