barometer: fix barometer apex build
[apex.git] / build / barometer-install.sh
index f4df853..2391b6b 100755 (executable)
 # limitations under the License.
 
 # Get and install packages needed for Barometer service.
-# These are: collectd rpm's and dependencies, collectd-ceilometer-plugin,
+# These are: collectd rpm's and dependencies, collectd-openstack-plugins,
 # puppet-barometer module.
+source ./variables.sh
 
 # Versions/branches
-COLLECTD_CEILOMETER_PLUGIN_BRANCH="stable/ocata"
-INTEL_CMT_CAT_VER="1.0.1-1.el7.centos.x86_64.rpm"
+COLLECTD_OPENSTACK_PLUGINS_BRANCH="stable/pike"
+
+ARCH="8.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"
+COLLECTD_OPENSTACK_REPO="https://github.com/openstack/collectd-ceilometer-plugin"
+PUPPET_BAROMETER_REPO="https://github.com/opnfv/barometer.git"
 
 # upload barometer packages tar, extract, and install
 
@@ -49,46 +50,79 @@ function barometer_pkgs {
 
   # get collectd version from HTML
   wget $GETFLAG $ARTIFACTS_BAROM.html
-  COLLECTD_VER=$(grep "$BAROMETER_VER/collectd-debuginfo" ./barometer.html | cut -d'-' -f7)
+  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
+  # get intel_rdt version
+  INTEL_RDT_VER=$(grep "$BAROMETER_VER/intel-cmt-cat-devel" ./barometer.html \
+    | cut -d'-' -f9)
+  RDT_SUFFIX=$INTEL_RDT_VER-1.el7.centos.x86_64.rpm
+
+  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-python-${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/intel-cmt-cat-${RDT_SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/intel-cmt-cat-devel-${RDT_SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-intel_rdt-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-snmp-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-snmp_agent-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-virt-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-sensors-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-ceph-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-curl_json-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-apache-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-write_http-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-mysql-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-ping-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-smart-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-curl_xml-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-disk-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-rrdcached-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-iptables-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-curl-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-ipmi-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-netlink-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-rrdtool-${SUFFIX}
+  wget $GETFLAG $ARTIFACTS_BAROM/$BAROMETER_VER/collectd-lvm-${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
+  # get collectd-openstack-plugins and tar it
+  rm -rf collectd-openstack-plugins
+  git clone $COLLECTD_OPENSTACK_REPO collectd-openstack-plugins
+  pushd collectd-openstack-plugins
+  git checkout $COLLECTD_OPENSTACK_PLUGINS_BRANCH
+  git archive --format=tar.gz HEAD > ${BUILD_DIR}/collectd-openstack-plugins.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 clone $PUPPET_BAROMETER_REPO puppet-barometer
+  pushd puppet-barometer/puppet-barometer/ > /dev/null
   git archive --format=tar.gz HEAD > ${BUILD_DIR}/puppet-barometer.tar.gz
   popd > /dev/null
 
+  # get mibs for the snmp plugin
+  rm -rf barometer
+  git clone https://gerrit.opnfv.org/gerrit/barometer
+  pushd barometer/mibs > /dev/null
+  git archive --format=tar.gz HEAD > ${BUILD_DIR}/mibs.tar.gz
+  popd > /dev/null
+
   # Upload tar files to image
   # untar collectd packages
   # install dependencies
-  LIBGUESTFS_BACKEND=direct virt-customize \
+  LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --upload ${BUILD_DIR}/collectd.tar.gz:/opt/ \
-    --upload ${BUILD_DIR}/collectd-ceilometer-plugin.tar.gz:/opt/ \
+    --upload ${BUILD_DIR}/collectd-openstack-plugins.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 \
@@ -96,12 +130,16 @@ function barometer_pkgs {
     --install libvirt,libvirt-devel,gcc \
     -a $OVERCLOUD_IMAGE
 
-  LIBGUESTFS_BACKEND=direct virt-customize \
+  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 \
+  LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
+    --run-command 'yum remove -y collectd-write_sensu-5.8.0-2.el7.x86_64' \
+    -a $OVERCLOUD_IMAGE
+
+  LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
     --run-command "yum install -y \
     /opt/libcollectdclient-${SUFFIX} \
     /opt/libcollectdclient-devel-${SUFFIX} \
@@ -110,20 +148,43 @@ function barometer_pkgs {
     /opt/collectd-python-${SUFFIX} \
     /opt/collectd-ovs_events-${SUFFIX} \
     /opt/collectd-ovs_stats-${SUFFIX} \
+    /opt/intel-cmt-cat-${RDT_SUFFIX} \
+    /opt/intel-cmt-cat-devel-${RDT_SUFFIX} \
+    /opt/collectd-intel_rdt-${SUFFIX} \
+    /opt/collectd-snmp-${SUFFIX} \
+    /opt/collectd-snmp_agent-${SUFFIX} \
     /opt/collectd-virt-${SUFFIX} \
-    /opt/intel-cmt-cat-${INTEL_CMT_CAT_VER} \
-    /opt/intel-cmt-cat-devel-${INTEL_CMT_CAT_VER}" \
+    /opt/collectd-sensors-${SUFFIX} \
+    /opt/collectd-ceph-${SUFFIX} \
+    /opt/collectd-curl_json-${SUFFIX} \
+    /opt/collectd-apache-${SUFFIX} \
+    /opt/collectd-write_http-${SUFFIX} \
+    /opt/collectd-mysql-${SUFFIX} \
+    /opt/collectd-ping-${SUFFIX} \
+    /opt/collectd-smart-${SUFFIX} \
+    /opt/collectd-curl_xml-${SUFFIX} \
+    /opt/collectd-disk-${SUFFIX} \
+    /opt/collectd-rrdcached-${SUFFIX} \
+    /opt/collectd-iptables-${SUFFIX} \
+    /opt/collectd-curl-${SUFFIX} \
+    /opt/collectd-ipmi-${SUFFIX} \
+    /opt/collectd-netlink-${SUFFIX} \
+    /opt/collectd-rrdtool-${SUFFIX} \
+    /opt/collectd-lvm-${SUFFIX}" \
     -a $OVERCLOUD_IMAGE
 
-  # install collectd-ceilometer plugin
+  # install collectd-openstack-plugins
   # 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" \
+  # make directories for config files and mibs
+  LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
+    --run-command 'mkdir /opt/stack/collectd-openstack' \
+    --run-command "tar xfz /opt/collectd-openstack-plugins.tar.gz -C /opt/stack/collectd-openstack" \
     --run-command "cd /etc/puppet/modules/ && mkdir barometer && \
       tar xzf puppet-barometer.tar.gz -C barometer" \
+    --run-command 'mkdir /usr/share/mibs/' \
+    --upload ${BUILD_DIR}/mibs.tar.gz:/usr/share/snmp/mibs/ \
+    --run-command 'tar xfz /usr/share/snmp/mibs/mibs.tar.gz -C /usr/share/snmp/mibs/' \
+    --run-command 'ln -s /usr/share/snmp/mibs/ /usr/share/mibs/ietf' \
     --run-command 'mkdir -p /etc/collectd/collectd.conf.d' \
     -a $OVERCLOUD_IMAGE
 }
-