From d18cb7f951829c18834e3e8905f810cbe97b538a Mon Sep 17 00:00:00 2001 From: Bryan Sullivan Date: Sun, 26 Nov 2017 20:45:21 -0800 Subject: Factor out agent and collector container build JIRA: VES-2 Change-Id: Idd9655b3233937edeea00a38ef983026e1486284 Signed-off-by: Bryan Sullivan --- build/ves-agent/Dockerfile | 59 ++++++++++++++++++++++++++++++++++++++++++++++ build/ves-agent/start.sh | 44 ++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 build/ves-agent/Dockerfile create mode 100644 build/ves-agent/start.sh (limited to 'build/ves-agent') 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 <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 -- cgit 1.2.3-korg