.. http://creativecommons.org/licenses/by/4.0
.. Copyright (c) 2016 Open Platform for NFV Project, Inc. and its contributors
+***************************************
+Barometer configuration Guide in OPNFV
+***************************************
+
.. toctree::
:numbered:
:maxdepth: 3
- featureconfig.rst
+ feature.configuration.rst
=========
:Project: Barometer, https://wiki.opnfv.org/display/fastpath/Barometer+Home
+
:Authors: Maryam Tahhan <maryam.tahhan@intel.com>
+
:History:
========== =====================================================
16.12.2014 Project creation
========== =====================================================
-
-Table of Contents:
-==================
-
.. toctree::
- :maxdepth: 4
+ :maxdepth: 3
:numbered:
./requirements/index.rst
- ./configguide/index.rst
./userguide/index.rst
+ ./configguide/index.rst
./release/index.rst
+
+Indices
+=======
+* :ref:`search`
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Intel Corporation and others.
+************************
+Barometer Release Notes
+************************
.. toctree::
- :maxdepth: 4
+ :maxdepth: 3
:numbered:
01-release.rst
.. http://creativecommons.org/licenses/by/4.0
.. (c) OPNFV, Intel Corporation and others.
+**********************
+Barometer Requirements
+**********************
.. toctree::
- :maxdepth: 4
+ :maxdepth: 3
:numbered:
01-intro.rst
DPDK statistics plugin
-----------------------
Repo: https://github.com/collectd/collectd
+
Branch: master
+
Dependencies: DPDK (http://dpdk.org/)
To build and install DPDK to /usr please see:
Hugepages Plugin
-----------------
Repo: https://github.com/collectd/collectd
+
Branch: master
+
Dependencies: None, but assumes hugepages are configured.
To configure some hugepages:
Intel RDT Plugin
-----------------
Repo: https://github.com/collectd/collectd
+
Branch: master
+
Dependencies:
* PQoS/Intel RDT library https://github.com/01org/intel-cmt-cat.git
Additional useful plugins
--------------------------
+
Exec Plugin
~~~~~~~~~~~
+
Can be used to show you when notifications are being generated by calling a
bash script that dumps notifications to file. (handy for debug). Modify
/opt/collectd/etc/collectd.conf:
.. http://creativecommons.org/licenses/by/4.0
.. (c) Intel Corporation and OPNFV
-====================
+********************
Barometer user guide
-====================
+********************
.. The feature user guide should provide an OPNFV user with enough information to
.. use the features provided by the feature project in the supported scenarios.
include ../package-list.mk
WORK_DIR = collectd
-SAMPLE_CONFIG = $(CURDIR)/collectd_sample_configs
TAG_DONE_FLAG = $(WORK_DIR)/.$(COLLECTD_TAG).done
BUILD_CMD = ./build.sh
CONFIG_CMD =
#force_install: force_make
all: force_make
- @echo "Finished making $(WORK_DIR) "
+ @echo "Finished making $(WORK_DIR)"
config $(WORK_DIR)/Makefile: $(WORK_DIR)/configure
$(AT)cd $(WORK_DIR); $(CONFIG_CMD)
@echo "Configure done"
-INSTALL_TARGET = force_install force_make
-
force_make: $(WORK_DIR)/Makefile
$(AT)cd $(WORK_DIR) && git pull $(COLLECTD_URL) $(COLLECTD_TAG)
@echo "git pull done"
$(AT)sed -i -e 's/ExecStart=\/usr\/sbin\/collectd/ExecStart=\/opt\/collectd\/sbin\/collectd/g' /etc/systemd/system/collectd.service
$(AT)sed -i -e 's/CapabilityBoundingSet=/CapabilityBoundingSet=CAP_SETUID CAP_SETGID/g' /etc/systemd/system/collectd.service
$(AT)systemctl daemon-reload
- $(AT)sudo mkdir -p /opt/collectd/etc/collectd.conf.d
- $(AT)sudo cp $(SAMPLE_CONFIG)/* /opt/collectd/etc/collectd.conf.d
$(AT)sudo ./include_config.sh
+ @echo "Make install done"
+
+install: force_install
-install: $(INSTALL_TARGET)
# hard way to clean and clobber
clean:
$(AT)git clone $(COLLECTD_URL)
$(TAG_DONE_FLAG): $(WORK_DIR)
- $(AT)cd $(WORK_DIR); git checkout $(COLLECTD_TAG)
+ $(AT)cd collectd; git checkout $(COLLECTD_TAG)
ifneq ($(PATCH_FILE),)
$(AT)cd $(WORK_DIR); patch -p1 < ../$(PATCH_FILE)
endif
#!/bin/bash
COLLECTD_CONF_FILE=/opt/collectd/etc/collectd.conf
+COLLECTD_CONF_DIR=/opt/collectd/etc/collectd.conf.d
INCLUDE_CONF="<Include \"/opt/collectd/etc/collectd.conf.d\">"
+CURR_DIR=`pwd`
+SAMPLE_CONF_DIR=$CURR_DIR/collectd_sample_configs/*
function write_include {
echo $INCLUDE_CONF | sudo tee -a $COLLECTD_CONF_FILE;
grep -qe '<Include "/opt/collectd/etc/collectd.conf.d">' $COLLECTD_CONF_FILE; [ $? -ne 0 ] && write_include
+`mkdir -p $COLLECTD_CONF_DIR`
+
+for F in $SAMPLE_CONF_DIR; do
+ FILE=$(basename $F)
+ [ -f $COLLECTD_CONF_DIR/$FILE ] && echo "File $COLLECTD_CONF_DIR/$FILE exists" || cp $F $COLLECTD_CONF_DIR
+done
--- /dev/null
+#!/bin/bash
+
+FROM ubuntu:16.04
+
+RUN apt-get update -y
+RUN apt-get install -y sudo
+
+ADD ./build-collectd.sh /build-collectd.sh
cd ${BUILD_HOME}
rm -rf collectd
-git clone https://github.com/collectd/collectd; cd collectd; git checkout 8acc85b
-git clone https://github.com/collectd/pkg-debian; cd pkg-debian; git checkout e5972da
+git clone https://github.com/collectd/collectd; cd collectd; git checkout 797ed5e5bee9ee89361f12e447ffc6ceb6ef79d2
+git clone https://github.com/collectd/pkg-debian; cd pkg-debian; git checkout 549d3caba74210ad762fe8c556801d9c11ab9876
mv debian ..
cd ${BUILD_HOME}/collectd
debian/rules build || true
debian/rules build
fakeroot debian/rules binary
+cp ${BUILD_HOME}/*.deb /build
CEILOMETER_URL_TYPE=${CEILOMETER_URL_TYPE:-internalURL}
CEILOMETER_TIMEOUT=${CEILOMETER_TIMEOUT:-1000}
-apt-get install -y collectd
+apt-get install -y collectd python-dev libpython2.7
rm -rf $INSTALL_HOME; mkdir -p $INSTALL_HOME
cd $INSTALL_HOME
function build_pkg {
case $1 in
ubuntu)
+ cd ${DIR}
rm -rf ${DIR}/repositories/ubuntu; mkdir -p ${DIR}/repositories/ubuntu
- rm -rf ${DIR}/build; mkdir -p ${DIR}/build; cd ${DIR}/build;
+ rm -rf collectd-ceilometer-plugin
git clone https://github.com/openstack/collectd-ceilometer-plugin
cd collectd-ceilometer-plugin
- git checkout 73372f2eb86c81f12bc10b392f75050a401107db
+ git checkout 73372f2eb86c81f12bc10b392f75050a401107db
tar cfvz ${DIR}/repositories/ubuntu/collectd-ceilometer.tgz . --exclude=collectd-ceilometer.tgz
+ cd ..; rm -rf collectd-ceilometer-plugin
- # support collectd with dpdk
- cd ${DIR}/build; ../build-collectd.sh
- cp *.deb ${DIR}/repositories/ubuntu
-
- rm -rf ${DIR}/build
+ # build collectd
+ cd ${DIR}
+ sudo docker build -t collectd_build .
+ sudo docker run -v${DIR}/repositories/ubuntu:/build -t collectd_build /build-collectd.sh
;;
*) echo "Not supported system"; exit 1;;
esac
#!/bin/bash
sudo apt-get update -y
-sudo apt-get install -y ruby-dev rubygems-integration python-pip rpm createrepo dpkg-dev git
+sudo apt-get install -y ruby-dev rubygems-integration python-pip rpm createrepo dpkg-dev git docker.io
sudo gem install fpm
sudo pip install fuel-plugin-builder
cp -r /fuel-plugin /home/vagrant