summaryrefslogtreecommitdiffstats
path: root/build/ves-agent
diff options
context:
space:
mode:
authorBryan Sullivan <bryan.sullivan@att.com>2017-11-26 20:45:21 -0800
committerBryan Sullivan <bryan.sullivan@att.com>2017-11-26 22:55:26 -0800
commitd18cb7f951829c18834e3e8905f810cbe97b538a (patch)
treed54cf7de85f9b47f520293ae8f4eb7c5620e1fd3 /build/ves-agent
parent32d225be774ac791514f7928c433566bf109f755 (diff)
Factor out agent and collector container build
JIRA: VES-2 Change-Id: Idd9655b3233937edeea00a38ef983026e1486284 Signed-off-by: Bryan Sullivan <bryan.sullivan@att.com>
Diffstat (limited to 'build/ves-agent')
-rw-r--r--build/ves-agent/Dockerfile59
-rw-r--r--build/ves-agent/start.sh44
2 files changed, 103 insertions, 0 deletions
diff --git a/build/ves-agent/Dockerfile b/build/ves-agent/Dockerfile
new file mode 100644
index 0000000..4c37197
--- /dev/null
+++ b/build/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/build/ves-agent/start.sh b/build/ves-agent/start.sh
new file mode 100644
index 0000000..0476316
--- /dev/null
+++ b/build/ves-agent/start.sh
@@ -0,0 +1,44 @@
+#!/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_kafka_hostname" >>/etc/hosts
+echo "ves_kafka_hostname=$ves_kafka_hostname"
+echo "*** /etc/hosts ***"
+cat /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