diff options
25 files changed, 327 insertions, 85 deletions
diff --git a/docker/ansible/default.inv b/docker/ansible/default.inv index e254c26a..d65e1c0e 100644 --- a/docker/ansible/default.inv +++ b/docker/ansible/default.inv @@ -13,8 +13,8 @@ localhost [collectd_hosts:vars] install_mcelog=true insert_ipmi_modules=true -#to use master or experimental container set the collectd flavor below -#possible values: stable|master|experimental +#to use latest (collectd-main branch) or experimental (main + PRs) container +#set the collectd flavor below. Possible values: stable|latest|experimental flavor=stable [influxdb_hosts] diff --git a/docker/ansible/roles/config_files/tasks/snmp_agent.yml b/docker/ansible/roles/config_files/tasks/snmp_agent.yml index c72aee48..5e1ba975 100644 --- a/docker/ansible/roles/config_files/tasks/snmp_agent.yml +++ b/docker/ansible/roles/config_files/tasks/snmp_agent.yml @@ -21,9 +21,9 @@ tags: - snmp -- name: enable snmp agent for master container +- name: enable snmp agent for non-stable container template: - src: master/snmp_agent.conf.j2 + src: latest/snmp_agent.conf.j2 dest: "{{ config_file_dir }}/snmp_agent.conf" when: flavor|default('stable')|string != 'stable' tags: diff --git a/docker/ansible/roles/config_files/templates/master/snmp_agent.conf.j2 b/docker/ansible/roles/config_files/templates/latest/snmp_agent.conf.j2 index 1ff8b228..1ff8b228 100644 --- a/docker/ansible/roles/config_files/templates/master/snmp_agent.conf.j2 +++ b/docker/ansible/roles/config_files/templates/latest/snmp_agent.conf.j2 diff --git a/docker/ansible/roles/run_collectd/vars/main.yml b/docker/ansible/roles/run_collectd/vars/main.yml index cebd0f47..ddfec146 100644 --- a/docker/ansible/roles/run_collectd/vars/main.yml +++ b/docker/ansible/roles/run_collectd/vars/main.yml @@ -15,7 +15,8 @@ default_flavor: "{{ flavor|default('stable')|string }}" flavor_image_name: "{{ - 'barometer-collectd-master' if (default_flavor == 'master') else - 'barometer-collectd-experimental' if (default_flavor == 'experimental') + 'barometer-collectd-latest' if (default_flavor == 'master' or default_flavor == 'latest') else + 'barometer-collectd-experimental' if (default_flavor == 'experimental') else + 'barometer-collectd-6' if (default_flavor == 'collectd-6') else 'barometer-collectd' }}" collectd_image_name: "{{ 'opnfv/' + flavor_image_name }}" diff --git a/docker/barometer-collectd-experimental/Dockerfile b/docker/barometer-collectd-experimental/Dockerfile index 2cb26825..8622a63c 100644 --- a/docker/barometer-collectd-experimental/Dockerfile +++ b/docker/barometer-collectd-experimental/Dockerfile @@ -1,4 +1,5 @@ -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,30 +15,21 @@ # FROM centos:8 -RUN dnf update -y && \ - dnf install -y which sudo git && \ - dnf clean all && \ - git config --global http.sslVerify false -ENV DOCKER y -ENV COLLECTD_FLAVOR experimental +ARG COLLECTD_FLAVOR=experimental ARG COLLECTD_PULL_REQUESTS -ENV WITH_DPDK y +ARG COLLECTD_CONFIG_CMD_ARGS +ARG COLLECTD_TAG +ARG WITH_DPDK=n + +ENV DOCKER y ENV repos_dir /src -WORKDIR ${repos_dir} RUN mkdir -p ${repos_dir}/barometer COPY . ${repos_dir}/barometer -COPY docker/barometer-collectd-experimental/collectd_apply_pull_request.sh \ - ${repos_dir}/barometer/src/collectd/ - -# copying additional experimental configs on top of configs for 'main' -# branch release -COPY docker/barometer-collectd-experimental/experimental-configs/* \ - ${repos_dir}/barometer/src/collectd/collectd_sample_configs-master/ WORKDIR ${repos_dir}/barometer/systems -RUN sh ./build_base_machine.sh && \ +RUN ./build_base_machine.sh && \ dnf clean all && rm -rf /var/cache/dnf && \ useradd -ms /bin/bash collectd_exec && \ echo "collectd_exec ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers diff --git a/docker/barometer-collectd-latest/Dockerfile b/docker/barometer-collectd-latest/Dockerfile index 4c01c870..b3a7a646 100644 --- a/docker/barometer-collectd-latest/Dockerfile +++ b/docker/barometer-collectd-latest/Dockerfile @@ -1,4 +1,5 @@ -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,17 +15,12 @@ # FROM centos:8 -RUN dnf update -y && \ - dnf install -y which sudo git && \ - dnf clean all && \ - git config --global http.sslVerify false +ARG COLLECTD_FLAVOR=latest +ARG WITH_DPDK=y ENV DOCKER y -ENV COLLECTD_FLAVOR latest -ENV WITH_DPDK y ENV repos_dir /src -WORKDIR ${repos_dir} RUN mkdir -p ${repos_dir}/barometer COPY . ${repos_dir}/barometer diff --git a/docker/barometer-collectd/Dockerfile b/docker/barometer-collectd/Dockerfile index ad4a1579..e263e97f 100644 --- a/docker/barometer-collectd/Dockerfile +++ b/docker/barometer-collectd/Dockerfile @@ -1,4 +1,5 @@ -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,7 +16,7 @@ FROM centos:8 RUN dnf update -y && \ - dnf install -y which sudo git && \ + dnf install -y which sudo git-core && \ dnf clean all && \ git config --global http.sslVerify false diff --git a/docs/development/requirements/01-intro.rst b/docs/development/requirements/01-intro.rst index 70abc553..c34961a5 100644 --- a/docs/development/requirements/01-intro.rst +++ b/docs/development/requirements/01-intro.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation and others. +.. (c) Anuket, Intel Corporation and others. Problem Statement ------------------ @@ -16,7 +16,7 @@ useful information as possible off the platform so that faults and errors in the NFVI can be detected promptly and reported to the appropriate fault management entity. -The OPNFV platform (NFVI) requires functionality to: +The Anuket platform (NFVI) requires functionality to: * Create a low latency, high performance packet processing path (fast path) through the NFVI that VNFs can take advantage of; diff --git a/docs/development/requirements/03-dpdk.rst b/docs/development/requirements/03-dpdk.rst index ad7c8c78..fa960f4e 100644 --- a/docs/development/requirements/03-dpdk.rst +++ b/docs/development/requirements/03-dpdk.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation and others. +.. (c) Anuket, Intel Corporation and others. DPDK Enhancements ================== @@ -167,4 +167,4 @@ Through extending the dpdkstat plugin for collectd with KA functionality, and integrating the extended plugin with Monasca for high performing, resilient, and scalable fault detection. -.. _L2 Forwarding Sample Application (in Real and Virtualized Environments): http://dpdk.org/doc/guides/sample_app_ug/l2_forward_real_virtual.html +.. _L2 Forwarding Sample Application (in Real and Virtualized Environments): http://doc.dpdk.org/guides/sample_app_ug/l2_forward_real_virtual.html diff --git a/docs/index.rst b/docs/index.rst index 8f80b559..e6424919 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation and others. +.. (c) Anuket, Intel Corporation and others. ========= Barometer @@ -77,6 +77,6 @@ Indices ======= * :ref:`search` -.. _Barometer: https://wiki.opnfv.org/display/fastpath -.. _collectd: http://collectd.org/ +.. _Barometer: https://wiki.anuket.io/display/HOME/Barometer +.. _collectd: https://collectd.org/ diff --git a/docs/release/configguide/postinstall.rst b/docs/release/configguide/postinstall.rst index d7347b19..7424cec7 100644 --- a/docs/release/configguide/postinstall.rst +++ b/docs/release/configguide/postinstall.rst @@ -6,6 +6,8 @@ Barometer post installation procedures ====================================== This document describes briefly the methods of validating the Barometer installation. +.. TODO: Update this to include reference to containers rather than an Openstack deployment. + Automated post installation activities -------------------------------------- The Barometer test-suite in Functest is called ``barometercollectd`` and is part of the ``Features`` diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst index db8221ab..9eb1348e 100644 --- a/docs/release/release-notes/index.rst +++ b/docs/release/release-notes/index.rst @@ -2,10 +2,10 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation and others. +.. (c) Anuket, Intel Corporation and others. ================================================== -OPNFV Barometer Release Notes +Anuket Barometer Release Notes ================================================== .. toctree:: diff --git a/docs/release/userguide/collectd.ves.userguide.rst b/docs/release/userguide/collectd.ves.userguide.rst index bbfd763e..2d3760b8 100644 --- a/docs/release/userguide/collectd.ves.userguide.rst +++ b/docs/release/userguide/collectd.ves.userguide.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Intel Corporation and others. +.. (c) Anuket, Intel Corporation and others. .. _barometer-ves-userguide: ========================== @@ -932,9 +932,9 @@ Limitations definition and the format is descibed in the document. -.. _collectd: http://collectd.org/ +.. _collectd: https://collectd.org/ .. _Kafka: https://kafka.apache.org/ -.. _`VES`: https://wiki.opnfv.org/display/fastpath/VES+plugin+updates +.. _`VES`: https://wiki.anuket.io/display/HOME/VES+plugin+updates .. _`VES shema definition`: https://gerrit.onap.org/r/gitweb?p=demo.git;a=tree;f=vnfs/VES5.0/evel/evel-test-collector/docs/att_interface_definition;hb=refs/heads/master .. _`PyYAML documentation`: https://pyyaml.org/wiki/PyYAMLDocumentation .. _`collectd plugin description`: https://github.com/collectd/collectd/blob/main/src/collectd.conf.pod diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst index 50d59cf5..c7cece47 100644 --- a/docs/release/userguide/feature.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) <optionally add copywriters name> +.. (c) Anuket and others =================================== OPNFV Barometer User Guide @@ -182,7 +182,7 @@ Repo: https://github.com/collectd/collectd Branch: main -Dependencies: DPDK (http://dpdk.org/) +Dependencies: DPDK (https://dpdk.org/) .. note:: DPDK statistics plugin requires DPDK version 16.04 or later. @@ -299,7 +299,7 @@ To fully enable ASLR: and only when all implications of this change have been understood. For more information on multi-process support, please see: -http://dpdk.org/doc/guides/prog_guide/multi_proc_support.html +https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html **DPDK stats plugin limitations:** @@ -321,7 +321,7 @@ http://dpdk.org/doc/guides/prog_guide/multi_proc_support.html **DPDK telemetry plugin** -Please refer https://wiki.opnfv.org/display/fastpath/DPDK+Telemetry+Plugin +Please refer to https://wiki.anuket.io/display/HOME/DPDK+Telemetry+Plugin Hugepages Plugin ^^^^^^^^^^^^^^^^^ @@ -482,14 +482,14 @@ Branch: main Dependencies: - * PQoS/Intel RDT library https://github.com/01org/intel-cmt-cat.git + * PQoS/Intel RDT library https://github.com/intel/intel-cmt-cat * msr kernel module Building and installing PQoS/Intel RDT library: .. code:: bash - $ git clone https://github.com/01org/intel-cmt-cat.git + $ git clone https://github.com/intel/intel-cmt-cat $ cd intel-cmt-cat $ make $ make install PREFIX=/usr @@ -638,7 +638,7 @@ collectd IPMI documentation can be used: IPMI documentation: - https://www.kernel.org/doc/Documentation/IPMI.txt -- http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html +- https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html Mcelog Plugin ^^^^^^^^^^^^^^ @@ -856,7 +856,7 @@ On Centos, install the dependencies and Open vSwitch: $ sudo yum install yajl-devel Steps to install Open vSwtich can be found at -http://docs.openvswitch.org/en/latest/intro/install/fedora/ +https://docs.openvswitch.org/en/latest/intro/install/fedora/ Start the Open vSwitch service: @@ -1133,7 +1133,7 @@ metrics depends on running libvirt daemon version. .. note:: Please keep in mind that RDT metrics (part of *Performance monitoring events*) have to be supported by hardware. For more details on hardware support, please see: - https://github.com/01org/intel-cmt-cat + https://github.com/intel/intel-cmt-cat Additionally perf metrics **cannot** be collected if *Intel RDT* plugin is enabled. @@ -1377,7 +1377,7 @@ Security * `CVE-2010-4336`_ fixed https://mailman.verplant.org/pipermail/collectd/2010-November/004277.html in Version 4.10.2. - * http://www.cvedetails.com/product/20310/Collectd-Collectd.html?vendor_id=11242 + * https://www.cvedetails.com/product/20310/Collectd-Collectd.html?vendor_id=11242 * It's recommended to only use collectd plugins from signed packages. @@ -1394,8 +1394,8 @@ References .. _Barometer OPNFV Summit demo: https://prezi.com/kjv6o8ixs6se/software-fastpath-service-quality-metrics-demo/ .. _gnocchi plugin: https://github.com/openstack/collectd-openstack-plugins/tree/stable/ocata/ .. _aodh plugin: https://github.com/openstack/collectd-openstack-plugins/tree/stable/ocata/ -.. _collectd-openstack-plugins GSG: https://github.com/openstack/collectd-openstack-plugins/blob/master/doc/source/GSG.rst -.. _grafana guide: https://wiki.opnfv.org/display/fastpath/Installing+and+configuring+InfluxDB+and+Grafana+to+display+metrics+with+collectd +.. _collectd-openstack-plugins GSG: https://opendev.org/x/collectd-openstack-plugins/src/branch/master/doc/source/GSG.rst +.. _grafana guide: https://wiki.anuket.io/display/HOME/Installing+and+configuring+InfluxDB+and+Grafana+to+display+metrics+with+collectd .. _CVE-2017-7401: https://www.cvedetails.com/cve/CVE-2017-7401/ .. _CVE-2016-6254: https://www.cvedetails.com/cve/CVE-2016-6254/ .. _CVE-2010-4336: https://www.cvedetails.com/cve/CVE-2010-4336/ diff --git a/docs/release/userguide/index.rst b/docs/release/userguide/index.rst index 673d6c12..f7bdad7f 100644 --- a/docs/release/userguide/index.rst +++ b/docs/release/userguide/index.rst @@ -2,10 +2,10 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) Intel and OPNFV +.. (c) Intel, Anuket and others =========================== -OPNFV Barometer User Guide +Anuket Barometer User Guide =========================== .. The feature user guide should provide an OPNFV user with enough information to diff --git a/docs/release/userguide/installguide.docker.rst b/docs/release/userguide/installguide.docker.rst index ca113c65..ceb04826 100644 --- a/docs/release/userguide/installguide.docker.rst +++ b/docs/release/userguide/installguide.docker.rst @@ -1,11 +1,11 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) <optionally add copywriters name> +.. (c) Anuket and others .. _barometer-docker-userguide: -==================================== -OPNFV Barometer Docker Install Guide -==================================== +===================================== +Anuket Barometer Docker Install Guide +===================================== .. contents:: :depth: 3 @@ -382,6 +382,44 @@ COLLECTD_PULL_REQUESTS should be a comma-delimited string of pull request IDs. proxy parameters should be passed only if system is behind an HTTP or HTTPS proxy server (same as for stable collectd container) +Build collectd-6 +^^^^^^^^^^^^^^^^ + +The barometer-collectd-experimental Dockerfile can be used to build +collectd-6.0, which is currently under development. In order to do this, the +``COLLECTD_FLAVOR`` build arg can be passed to the docker build command. +The optional ``COLLECTD_PULL_REQUESTS`` arg can be passed as well, to test +proposed patches to collectd. + +.. code:: bash + + $ cd <BAROMETER_REPO_DIR> + $ sudo docker build -t opnfv/barometer-collectd-6 \ + --build-arg COLLECTD_FLAVOR=collectd-6 \ + --build-arg COLLECTD_PULL_REQUESTS=1234,5678 \ + --network=host -f docker/barometer-collectd-experimental/Dockerfile . + +The instructions for running the collectd-6 container are the same as for the +collectd-experimental container. + +There are a few useful build args that can be used to further customise the +collectd-6 build:: + +* COLLECTD_CONFIG_CMD_ARGS + For testing with new plugins for collectd-6, as un-ported plugins are + disabled by default. + This new option lets the ./configure command be run with extra args, + e.g. --enable-cpu --enable-<my-newly-ported-plugin>, which means that + plugin can be enabled for the PR that is being tested. + +* COLLECTD_TAG + This overrides the default tag selected by the flavors, and allows checking + out out an arbitrary branch (e.g. PR branch instead of using the + ``COLLECTD_PULL_REQUESTS`` arg, which rebases each PR on top of the + nominal branch. + To check out a PR, use the following args with the docker build command: + ``--build-arg COLLECTD_TAG=pull/<PR_ID>/head`` + Run the collectd stable docker image ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code:: bash @@ -417,7 +455,7 @@ Run the collectd stable docker image List of barometer-collectd dependencies on host for various plugins can be found at: - https://wiki.opnfv.org/display/fastpath/Barometer-collectd+host+dependencies + https://wiki.anuket.io/display/HOME/Barometer-collectd+host+dependencies The Resource Control file system (/sys/fs/resctrl) can be bound from host to container only if this directory exists on the host system. Otherwise omit diff --git a/docs/release/userguide/installguide.oneclick.rst b/docs/release/userguide/installguide.oneclick.rst index bdb7a06a..b73ab79b 100644 --- a/docs/release/userguide/installguide.oneclick.rst +++ b/docs/release/userguide/installguide.oneclick.rst @@ -1,6 +1,6 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) <optionally add copywriters name> +.. (c) Anuket and others .. _barometer-oneclick-userguide: ======================================= @@ -251,7 +251,7 @@ To make some changes when a container is running run: Connect to ``<host_ip>:3000`` with a browser and log into Grafana: admin/admin. For short introduction please see the: -`Grafana guide <http://docs.grafana.org/guides/getting_started/>`_. +`Grafana guide <https://grafana.com/docs/grafana/latest/guides/getting_started/>`_. The collectd configuration files can be accessed directly on target system in ``/opt/collectd/etc/collectd.conf.d``. It can be used for manual changes or diff --git a/src/collectd/Makefile b/src/collectd/Makefile index 7eb312da..785614d5 100644 --- a/src/collectd/Makefile +++ b/src/collectd/Makefile @@ -1,7 +1,8 @@ # makefile to manage collectd package # -# Copyright 2016-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2016-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,17 +16,18 @@ # See the License for the specific language governing permissions and # limitations under the License. # - # # Contributors: # Aihua Li, Huawei Technologies. # Maryam Tahhan, Intel Corporation. +# Emma Foley, Red Hat. include ../mk/master.mk include ../package-list.mk WORK_DIR = collectd -TAG_DONE_FLAG = $(WORK_DIR)/.$(COLLECTD_TAG).done +# $COLLECTD_TAG can contain "/", which is being replaced with "-" here +TAG_DONE_FLAG := $(WORK_DIR)/.$(subst /,-,$(COLLECTD_TAG)).done BUILD_CMD = ./build.sh CONFIG_CMD = CONFIG_CMD += ./configure @@ -40,6 +42,183 @@ ifeq ($(XDG_CACHE_HOME_DIR),) XDG_CACHE_HOME_DIR = $(shell echo $$HOME) endif +ifeq ($(COLLECTD_FLAVOR),collectd-6) +CONFIG_CMD += --enable-cpu +CONFIG_CMD += --enable-interface +CONFIG_CMD += --enable-memory +CONFIG_CMD += --enable-ping +CONFIG_CMD += --enable-uptime + +CONFIG_CMD += --disable-aggregation +CONFIG_CMD += --disable-amqp +CONFIG_CMD += --disable-amqp1 +#CONFIG_CMD += --disable-apache +#CONFIG_CMD += --disable-apcups +#CONFIG_CMD += --disable-apple_sensors +#CONFIG_CMD += --disable-aquaero +CONFIG_CMD += --disable-barometer +#CONFIG_CMD += --disable-battery +#CONFIG_CMD += --disable-bind +#CONFIG_CMD += --disable-buddyinfo +#CONFIG_CMD += --disable-capabilities +#CONFIG_CMD += --disable-ceph +#CONFIG_CMD += --disable-cgroups +#CONFIG_CMD += --disable-chrony +CONFIG_CMD += --disable-check_uptime +#CONFIG_CMD += --disable-connectivity +#CONFIG_CMD += --disable-conntrack +#CONFIG_CMD += --disable-contextswitch +#CONFIG_CMD += --disable-cpufreq +#CONFIG_CMD += --disable-cpusleep +CONFIG_CMD += --disable-csv +#CONFIG_CMD += --disable-curl +#CONFIG_CMD += --disable-curl_json +CONFIG_CMD += --disable-curl_xml +#CONFIG_CMD += --disable-dbi +#CONFIG_CMD += --disable-dcpmm +#CONFIG_CMD += --disable-df +#CONFIG_CMD += --disable-disk +#CONFIG_CMD += --disable-dns +#CONFIG_CMD += --disable-dpdkevents +#CONFIG_CMD += --disable-dpdkstat +#CONFIG_CMD += --disable-dpdk_telemetry +#CONFIG_CMD += --disable-drbd +#CONFIG_CMD += --disable-email +#CONFIG_CMD += --disable-entropy +#CONFIG_CMD += --disable-ethstat +#CONFIG_CMD += --disable-exec +#CONFIG_CMD += --disable-fhcount +#CONFIG_CMD += --disable-filecount +#CONFIG_CMD += --disable-fscache +CONFIG_CMD += --disable-gmond +#CONFIG_CMD += --disable-gps +#CONFIG_CMD += --disable-gpu_nvidia +CONFIG_CMD += --disable-grpc +#CONFIG_CMD += --disable-hddtemp +#CONFIG_CMD += --disable-hugepages +#CONFIG_CMD += --disable-infiniband +#CONFIG_CMD += --disable-intel_pmu +#CONFIG_CMD += --disable-intel_rdt +#CONFIG_CMD += --disable-ipc +#CONFIG_CMD += --disable-ipmi +#CONFIG_CMD += --disable-iptables +#CONFIG_CMD += --disable-ipstats +#CONFIG_CMD += --disable-ipvs +#CONFIG_CMD += --disable-irq +CONFIG_CMD += --disable-java +#CONFIG_CMD += --disable-load +#CONFIG_CMD += --disable-log_logstash +#CONFIG_CMD += --disable-logfile +#CONFIG_CMD += --disable-logparser +#CONFIG_CMD += --disable-lpar +CONFIG_CMD += --disable-lua +#CONFIG_CMD += --disable-madwifi +CONFIG_CMD += --disable-match_empty_counter +CONFIG_CMD += --disable-match_hashed +CONFIG_CMD += --disable-match_regex +CONFIG_CMD += --disable-match_timediff +CONFIG_CMD += --disable-match_value +#CONFIG_CMD += --disable-mbmon +#CONFIG_CMD += --disable-mcelog +#CONFIG_CMD += --disable-md +#CONFIG_CMD += --disable-mdevents +#CONFIG_CMD += --disable-memcachec +#CONFIG_CMD += --disable-memcached +#CONFIG_CMD += --disable-mic +CONFIG_CMD += --disable-modbus +CONFIG_CMD += --disable-mqtt +#CONFIG_CMD += --disable-multimeter +#CONFIG_CMD += --disable-mysql +#CONFIG_CMD += --disable-netapp +#CONFIG_CMD += --disable-netlink +#CONFIG_CMD += --disable-netstat_udp +CONFIG_CMD += --disable-network +#CONFIG_CMD += --disable-nfs +#CONFIG_CMD += --disable-nginx +#CONFIG_CMD += --disable-notify_desktop +#CONFIG_CMD += --disable-notify_email +#CONFIG_CMD += --disable-notify_nagios +#CONFIG_CMD += --disable-ntpd +#CONFIG_CMD += --disable-numa +#CONFIG_CMD += --disable-nut +#CONFIG_CMD += --disable-olsrd +#CONFIG_CMD += --disable-onewire +CONFIG_CMD += --disable-openldap +#CONFIG_CMD += --disable-openvpn +#CONFIG_CMD += --disable-oracle +#CONFIG_CMD += --disable-ovs_events +#CONFIG_CMD += --disable-ovs_stats +#CONFIG_CMD += --disable-pcie_errors +CONFIG_CMD += --disable-perl +#CONFIG_CMD += --disable-pf +#CONFIG_CMD += --disable-pinba +CONFIG_CMD += --disable-postgresql +#CONFIG_CMD += --disable-powerdns +#CONFIG_CMD += --disable-processes +#CONFIG_CMD += --disable-procevent +#CONFIG_CMD += --disable-protocols +CONFIG_CMD += --disable-python +#CONFIG_CMD += --disable-redfish +CONFIG_CMD += --disable-redis +#CONFIG_CMD += --disable-routeros +CONFIG_CMD += --disable-rrdcached +CONFIG_CMD += --disable-rrdtool +#CONFIG_CMD += --disable-sensors +#CONFIG_CMD += --disable-serial +#CONFIG_CMD += --disable-sigrok +#CONFIG_CMD += --disable-slurm +#CONFIG_CMD += --disable-smart +CONFIG_CMD += --disable-snmp +CONFIG_CMD += --disable-snmp_agent +CONFIG_CMD += --disable-statsd +#CONFIG_CMD += --disable-swap +#CONFIG_CMD += --disable-synproxy +#CONFIG_CMD += --disable-sysevent +#CONFIG_CMD += --disable-syslog +#CONFIG_CMD += --disable-table +#CONFIG_CMD += --disable-tail +#CONFIG_CMD += --disable-tail_csv +#CONFIG_CMD += --disable-tape +CONFIG_CMD += --disable-target_notification +CONFIG_CMD += --disable-target_replace +CONFIG_CMD += --disable-target_scale +CONFIG_CMD += --disable-target_set +CONFIG_CMD += --disable-target_v5upgrade +#CONFIG_CMD += --disable-tcpconns +#CONFIG_CMD += --disable-teamspeak2 +#CONFIG_CMD += --disable-ted +#CONFIG_CMD += --disable-thermal +CONFIG_CMD += --disable-threshold +#CONFIG_CMD += --disable-tokyotyrant +#CONFIG_CMD += --disable-turbostat +#CONFIG_CMD += --disable-ubi +#CONFIG_CMD += --disable-unixsock +#CONFIG_CMD += --disable-users +#CONFIG_CMD += --disable-uuid +#CONFIG_CMD += --disable-varnish +#CONFIG_CMD += --disable-virt +#CONFIG_CMD += --disable-vmem +#CONFIG_CMD += --disable-vserver +#CONFIG_CMD += --disable-wireless +CONFIG_CMD += --disable-write_graphite +#CONFIG_CMD += --disable-write_http +CONFIG_CMD += --disable-write_influxdb_udp +CONFIG_CMD += --disable-write_kafka +#CONFIG_CMD += --disable-write_log +CONFIG_CMD += --disable-write_mongodb +CONFIG_CMD += --disable-write_prometheus +CONFIG_CMD += --disable-write_redis +CONFIG_CMD += --disable-write_riemann +CONFIG_CMD += --disable-write_sensu +#CONFIG_CMD += --disable-write_stackdriver +CONFIG_CMD += --disable-write_syslog +CONFIG_CMD += --disable-write_tsdb +#CONFIG_CMD += --disable-xencpu +#CONFIG_CMD += --disable-zfs_arc +#CONFIG_CMD += --disable-zone +#CONFIG_CMD += --disable-zookeeper +CONFIG_CMD += --enable-debug +else CONFIG_CMD += --enable-syslog CONFIG_CMD += --enable-logfile CONFIG_CMD += --with-libpqos=$(LIBPQOS_DIR) @@ -52,10 +231,14 @@ CONFIG_CMD += --enable-write_redis CONFIG_CMD += --disable-perl CONFIG_CMD += --with-librdkafka=/usr CONFIG_CMD += --disable-lvm +endif + ifdef WITH_DPDK CONFIG_CMD += LIBDPDK_CFLAGS='-mssse3' endif +CONFIG_CMD += $(COLLECTD_CONFIG_CMD_ARGS) + .PHONY: install force_install config force_make # install depends on make @@ -65,6 +248,7 @@ all: force_make @echo "Finished making $(WORK_DIR)" config $(WORK_DIR)/Makefile: $(WORK_DIR)/configure + @echo "Configuring with: " $(CONFIG_CMD) $(AT)cd $(WORK_DIR); $(CONFIG_CMD) @echo "Configure done" @@ -121,7 +305,7 @@ $(WORK_DIR): $(TAG_DONE_FLAG): $(WORK_DIR) @echo "Checking out collectd from tag: $(COLLECTD_TAG)" - $(AT)cd collectd; git checkout $(COLLECTD_TAG) + $(AT)cd collectd; git fetch origin $(COLLECTD_TAG); git checkout FETCH_HEAD ifneq ($(PATCH_FILE),) $(AT)cd $(WORK_DIR); patch -p1 < ../$(PATCH_FILE) endif diff --git a/docker/barometer-collectd-experimental/collectd_apply_pull_request.sh b/src/collectd/collectd_apply_pull_request.sh index dbbc5f26..35af2981 100755 --- a/docker/barometer-collectd-experimental/collectd_apply_pull_request.sh +++ b/src/collectd/collectd_apply_pull_request.sh @@ -1,5 +1,6 @@ #! /bin/bash -# Copyright 2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2019-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/docker/barometer-collectd-experimental/experimental-configs/README b/src/collectd/collectd_sample_configs-experimental/README index e4386358..e4386358 100644 --- a/docker/barometer-collectd-experimental/experimental-configs/README +++ b/src/collectd/collectd_sample_configs-experimental/README diff --git a/src/package-list.mk b/src/package-list.mk index 59e9a0a2..b27cd575 100644 --- a/src/package-list.mk +++ b/src/package-list.mk @@ -20,23 +20,35 @@ KAFKA_TAG ?= v1.5.2 # collectd section COLLECTD_URL ?= https://github.com/collectd/collectd -# there are 3 collectd flavors: +# there are 4 collectd flavors: # -"stable" - based on stable collectd release # -"latest" - development version, based on main branch # -"experimental" - it is based on main branch as above and includes # set pull requests with experimental features +# -"collectd-6" - based on the collectd 6.0 branch ifeq ($(COLLECTD_FLAVOR), stable) -# using latest stable release +# using the most recent stable release COLLECTD_TAG ?= collectd-5.12 SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs -else -# 'latest' and 'experimental' collectd flavors are both using -# code from main branch +endif +ifeq ($(COLLECTD_FLAVOR), latest) +# collectd code from main branch COLLECTD_TAG ?= main SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs-latest +endif ifeq ($(COLLECTD_FLAVOR), experimental) # 'experimental' flavor is using additional Pull Requests that # are put on top of main release + COLLECTD_TAG ?= main + SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs-latest COLLECTD_USE_EXPERIMENTAL_PR ?= y endif #end of experimental-branch handling -endif +ifeq ($(COLLECTD_FLAVOR), collectd-6) +# 'collectd-6' flavor is using collectd-6.0 branch + COLLECTD_TAG ?= collectd-6.0 + SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs-latest + COLLECTD_USE_EXPERIMENTAL_PR ?= y +endif #end of collectd-6.0-branch handling + +@echo "Using COLLECTD_TAG: $(COLLECTD_TAG)" +@echo "Using SAMPLE_CONF_VARIANT_NAME: $(SAMPLE_CONF_VARIANT_NAME)" diff --git a/systems/centos/7/build_base_machine.sh b/systems/centos/7/build_base_machine.sh index 41595d7e..346160fa 100755 --- a/systems/centos/7/build_base_machine.sh +++ b/systems/centos/7/build_base_machine.sh @@ -2,7 +2,8 @@ # # Build a base machine for CentOS distro # -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -43,7 +44,8 @@ flex bison libtool pkg-config -git +git-core +sudo rpm-build libcap-devel xfsprogs-devel diff --git a/systems/centos/8/build_base_machine.sh b/systems/centos/8/build_base_machine.sh index 8486f3c0..f345e677 100755 --- a/systems/centos/8/build_base_machine.sh +++ b/systems/centos/8/build_base_machine.sh @@ -2,7 +2,8 @@ # # Build a base machine for CentOS distro # -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,6 +22,7 @@ # Aihua Li, Huawei Technologies. # Martin Klozik, Intel Corporation. # Maryam Tahhan, Intel Corporation. +# Emma Foley, Red Hat. # Synchronize package index files dnf -y update @@ -51,6 +53,7 @@ bison libtool pkg-config git-core +sudo rpm-build libcap-devel xfsprogs-devel @@ -76,9 +79,12 @@ librdkafka-devel yajl-devel protobuf-c-devel rrdtool-devel -dpdk-19.11.3 +dpdk-20.11 qpid-proton-c-devel +# ping collectd-6 +liboping-devel + #install epel release required for git-review epel-release python3-libvirt diff --git a/systems/rhel/7/build_base_machine.sh b/systems/rhel/7/build_base_machine.sh index 7bb97267..ac9de4f5 100755 --- a/systems/rhel/7/build_base_machine.sh +++ b/systems/rhel/7/build_base_machine.sh @@ -2,7 +2,8 @@ # # Build a base machine for RHEL distro # -# Copyright 2016-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2016-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,6 +22,7 @@ # Aihua Li, Huawei Technologies. # Martin Klozik, Intel Corporation. # Maryam Tahhan, Intel Corporation. +# Emma Foley, Red Hat. # Synchronize package index files yum -y update @@ -43,7 +45,8 @@ flex bison libtool pkg-config -git +git-core +sudo rpm-build libcap-devel xfsprogs-devel diff --git a/systems/ubuntu/16.04/build_base_machine.sh b/systems/ubuntu/16.04/build_base_machine.sh index d74ec6d8..d04d587e 100755 --- a/systems/ubuntu/16.04/build_base_machine.sh +++ b/systems/ubuntu/16.04/build_base_machine.sh @@ -15,9 +15,13 @@ # set -eux -apt-get -y install build-essential dh-autoreconf fakeroot devscripts dpkg-dev git wget -apt-get -y install \ +export DEBIAN_FRONTEND=noninteractive + +apt-get -yq update +apt-get -yq install build-essential dh-autoreconf fakeroot devscripts dpkg-dev git-core wget sudo + +apt-get -yq install \ debhelper dpkg-dev po-debconf dh-systemd dh-strip-nondeterminism \ bison flex autotools-dev libltdl-dev pkg-config \ iptables-dev \ |