summaryrefslogtreecommitdiffstats
path: root/build/barometer-install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build/barometer-install.sh')
-rwxr-xr-xbuild/barometer-install.sh129
1 files changed, 129 insertions, 0 deletions
diff --git a/build/barometer-install.sh b/build/barometer-install.sh
new file mode 100755
index 00000000..f4df8539
--- /dev/null
+++ b/build/barometer-install.sh
@@ -0,0 +1,129 @@
+#!/usr/bin/env bash
+
+# Copyright 2017 Intel Corporation.
+#
+# 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.
+
+# Get and install packages needed for Barometer service.
+# These are: collectd rpm's and dependencies, collectd-ceilometer-plugin,
+# puppet-barometer module.
+
+# Versions/branches
+COLLECTD_CEILOMETER_PLUGIN_BRANCH="stable/ocata"
+INTEL_CMT_CAT_VER="1.0.1-1.el7.centos.x86_64.rpm"
+
+ARCH="6.el7.centos.x86_64.rpm"
+# don't fail because of missing certificate
+GETFLAG="--no-check-certificate"
+
+# Locations of repos
+ARTIFACTS_BAROM="artifacts.opnfv.org/barometer"
+COLLECTD_CEILOMETER_REPO="https://github.com/openstack/collectd-ceilometer-plugin"
+PUPPET_BAROMETER_REPO="https://github.com/johnhinman/puppet-barometer"
+
+# upload barometer packages tar, extract, and install
+
+function barometer_pkgs {
+ OVERCLOUD_IMAGE=$1
+
+ # get collectd packages and upload to image
+ echo "adding barometer to " $1
+ rm -rf barometer
+ mkdir barometer
+ pushd barometer > /dev/null
+
+ # get version of barometer packages to download
+ wget $GETFLAG $ARTIFACTS_BAROM/latest.properties
+ BAROMETER_VER=$(grep OPNFV_ARTIFACT_VERSION ./latest.properties | cut -d'=' -f2)
+ echo "BAROMETER version = $BAROMETER_VER"
+
+ # get collectd version from HTML
+ wget $GETFLAG $ARTIFACTS_BAROM.html
+ COLLECTD_VER=$(grep "$BAROMETER_VER/collectd-debuginfo" ./barometer.html | cut -d'-' -f7)
+ SUFFIX=$COLLECTD_VER-$ARCH
+
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/libcollectdclient-$SUFFIX
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/libcollectdclient-devel-$SUFFIX
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-$SUFFIX
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-utils-$SUFFIX
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-ovs_events-$SUFFIX
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-ovs_stats-$SUFFIX
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-virt-$SUFFIX
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/intel-cmt-cat-$INTEL_CMT_CAT_VER
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/intel-cmt-cat-devel-$INTEL_CMT_CAT_VER
+ wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-python-$SUFFIX
+ curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
+
+ tar cfz collectd.tar.gz *.rpm get-pip.py
+ cp collectd.tar.gz ${BUILD_DIR}
+ popd > /dev/null
+
+ # get collectd-ceilometer-plugin and tar it
+ rm -rf collectd-ceilometer-plugin
+ git clone https://github.com/openstack/collectd-ceilometer-plugin
+ pushd collectd-ceilometer-plugin
+ git checkout -b $COLLECTD_CEILOMETER_PLUGIN_BRANCH
+ git archive --format=tar.gz HEAD > ${BUILD_DIR}/collectd-ceilometer-plugin.tar.gz
+ popd > /dev/null
+
+ # get the barometer puppet module and tar it
+ rm -rf puppet-barometer
+ git clone $PUPPET_BAROMETER_REPO
+ pushd puppet-barometer/ > /dev/null
+ git archive --format=tar.gz HEAD > ${BUILD_DIR}/puppet-barometer.tar.gz
+ popd > /dev/null
+
+ # Upload tar files to image
+ # untar collectd packages
+ # install dependencies
+ LIBGUESTFS_BACKEND=direct virt-customize \
+ --upload ${BUILD_DIR}/collectd.tar.gz:/opt/ \
+ --upload ${BUILD_DIR}/collectd-ceilometer-plugin.tar.gz:/opt/ \
+ --upload ${BUILD_DIR}/puppet-barometer.tar.gz:/etc/puppet/modules/ \
+ --run-command 'tar xfz /opt/collectd.tar.gz -C /opt' \
+ --install libstatgrab,log4cplus,rrdtool,rrdtool-devel \
+ --install mcelog,python34,python34-libs,python34-devel \
+ --install libvirt,libvirt-devel,gcc \
+ -a $OVERCLOUD_IMAGE
+
+ LIBGUESTFS_BACKEND=direct virt-customize \
+ --run-command 'python3.4 /opt/get-pip.py' \
+ --run-command 'pip3 install requests libvirt-python pbr babel future six' \
+ -a $OVERCLOUD_IMAGE
+
+ LIBGUESTFS_BACKEND=direct virt-customize \
+ --run-command "yum install -y \
+ /opt/libcollectdclient-${SUFFIX} \
+ /opt/libcollectdclient-devel-${SUFFIX} \
+ /opt/collectd-${SUFFIX} \
+ /opt/collectd-utils-${SUFFIX} \
+ /opt/collectd-python-${SUFFIX} \
+ /opt/collectd-ovs_events-${SUFFIX} \
+ /opt/collectd-ovs_stats-${SUFFIX} \
+ /opt/collectd-virt-${SUFFIX} \
+ /opt/intel-cmt-cat-${INTEL_CMT_CAT_VER} \
+ /opt/intel-cmt-cat-devel-${INTEL_CMT_CAT_VER}" \
+ -a $OVERCLOUD_IMAGE
+
+ # install collectd-ceilometer plugin
+ # install puppet-barometer module
+ # make directory for config files
+ LIBGUESTFS_BACKEND=direct virt-customize \
+ --run-command 'mkdir /opt/collectd-ceilometer' \
+ --run-command "tar xfz /opt/collectd-ceilometer-plugin.tar.gz -C /opt/collectd-ceilometer" \
+ --run-command "cd /etc/puppet/modules/ && mkdir barometer && \
+ tar xzf puppet-barometer.tar.gz -C barometer" \
+ --run-command 'mkdir -p /etc/collectd/collectd.conf.d' \
+ -a $OVERCLOUD_IMAGE
+}
+