aboutsummaryrefslogtreecommitdiffstats
path: root/docker/barometer-collectd-experimental
diff options
context:
space:
mode:
Diffstat (limited to 'docker/barometer-collectd-experimental')
-rw-r--r--docker/barometer-collectd-experimental/Dockerfile63
-rwxr-xr-xdocker/barometer-collectd-experimental/collectd_apply_pull_request.sh39
-rw-r--r--docker/barometer-collectd-experimental/experimental-configs/README1
-rw-r--r--docker/barometer-collectd-experimental/experimental-configs/logparser.conf74
-rw-r--r--docker/barometer-collectd-experimental/run_collectd.sh5
5 files changed, 43 insertions, 139 deletions
diff --git a/docker/barometer-collectd-experimental/Dockerfile b/docker/barometer-collectd-experimental/Dockerfile
index e505d2e2..f051ef35 100644
--- a/docker/barometer-collectd-experimental/Dockerfile
+++ b/docker/barometer-collectd-experimental/Dockerfile
@@ -1,37 +1,54 @@
-FROM centos:7
-RUN yum update -y && \
- yum install -y which sudo git && \
- yum clean all && \
- git config --global http.sslVerify false
+# 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.
+# 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.
+#
+
+FROM quay.io/centos/centos:stream8 as builder
+
+ARG COLLECTD_FLAVOR=experimental
+ARG COLLECTD_PULL_REQUESTS
+ARG COLLECTD_CONFIG_CMD_ARGS
+ARG COLLECTD_TAG
+ARG WITH_DPDK=n
ENV DOCKER y
-ENV COLLECTD_FLAVOR experimental
-ENV WITH_DPDK y
ENV repos_dir /src
-ENV openstack_plugins /src/barometer/src/collectd-openstack-plugins
-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 'master'
-# 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 && \
- useradd -ms /bin/bash collectd_exec && \
- echo "collectd_exec ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
+RUN ./build_base_machine.sh && \
+ dnf clean all && rm -rf /var/cache/dnf
-WORKDIR ${openstack_plugins}
-RUN make && \
- pip install --upgrade pip && \
- pip install -r ${openstack_plugins}/collectd-openstack-plugins/requirements.txt
+FROM quay.io/centos/centos:stream8
COPY docker/barometer-collectd-experimental/run_collectd.sh /run_collectd.sh
RUN chmod +x /run_collectd.sh
+RUN useradd -ms /bin/bash collectd_exec && \
+ echo "collectd_exec ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
+
+COPY --from=builder /opt/collectd /opt/collectd
+COPY --from=builder /usr/local/src /usr/local/src
+COPY --from=builder /usr/share/snmp/mibs /usr/share/snmp/mibs
+COPY --from=builder /opt/collectd/share/collectd/types.db /usr/share/collectd/types.db
+
+RUN dnf install -y 'dnf-command(builddep)' centos-release-opstools && \
+ dnf config-manager --set-enabled powertools && \
+ dnf builddep -y https://raw.githubusercontent.com/centos-opstools/collectd/master/collectd.spec && \
+ dnf install -y jansson && \
+ dnf clean all && rm -rf /var/cache/dnf
+
ENTRYPOINT ["/run_collectd.sh"]
diff --git a/docker/barometer-collectd-experimental/collectd_apply_pull_request.sh b/docker/barometer-collectd-experimental/collectd_apply_pull_request.sh
deleted file mode 100755
index dcea33a3..00000000
--- a/docker/barometer-collectd-experimental/collectd_apply_pull_request.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/bash
-# Copyright 2019 OPNFV
-#
-# 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.
-
-# This files contains list of pull requests to be applied on top
-# of master branch before building collectd included in docker
-# collectd-experimental container
-
-# Space/newline separated list of pull requests IDs
-# for example:
-# PULL_REQUESTS=(3027 #reimplement delay rate
-# 3028 #other PR
-# )
-
-PULL_REQUESTS=(
- 3045 #logparser
- #insert another PR ID here
- )
-
-# during rebasing/merging git requires email & name to be set
-git config user.email "barometer-experimental@container"
-git config user.name "BarometerExperimental"
-
-for PR_ID in "${PULL_REQUESTS[@]}"
-do
- echo "Applying pull request $PR_ID"
- git pull --rebase origin pull/$PR_ID/head
-done
diff --git a/docker/barometer-collectd-experimental/experimental-configs/README b/docker/barometer-collectd-experimental/experimental-configs/README
deleted file mode 100644
index e4386358..00000000
--- a/docker/barometer-collectd-experimental/experimental-configs/README
+++ /dev/null
@@ -1 +0,0 @@
-Place here configuration files that are required by experimental pull requests
diff --git a/docker/barometer-collectd-experimental/experimental-configs/logparser.conf b/docker/barometer-collectd-experimental/experimental-configs/logparser.conf
deleted file mode 100644
index 3802768b..00000000
--- a/docker/barometer-collectd-experimental/experimental-configs/logparser.conf
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2019 OPNFV
-#
-# 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.
-
-LoadPlugin logparser
-
-<Plugin logparser>
- <Logfile "/var/log/syslog">
- FirstFullRead false
- <Message "pcie_errors">
- DefaultType "pcie_error"
- DefaultSeverity "warning"
- <Match "aer error">
- Regex "AER:.*error received"
- SubmatchIdx -1
- </Match>
- <Match "incident time">
- Regex "(... .. ..:..:..) .* pcieport.*AER"
- SubmatchIdx 1
- IsMandatory false
- </Match>
- <Match "root port">
- Regex "pcieport (.*): AER:"
- SubmatchIdx 1
- IsMandatory true
- </Match>
- <Match "device">
- PluginInstance true
- Regex " ([0-9a-fA-F:\\.]*): PCIe Bus Error"
- SubmatchIdx 1
- IsMandatory false
- </Match>
- <Match "severity_mandatory">
- Regex "severity="
- SubMatchIdx -1
- </Match>
- <Match "nonfatal">
- Regex "severity=.*\\([nN]on-[fF]atal"
- TypeInstance "non_fatal"
- IsMandatory false
- </Match>
- <Match "fatal">
- Regex "severity=.*\\([fF]atal"
- Severity "failure"
- TypeInstance "fatal"
- IsMandatory false
- </Match>
- <Match "corrected">
- Regex "severity=Corrected"
- TypeInstance "correctable"
- IsMandatory false
- </Match>
- <Match "error type">
- Regex "type=(.*),"
- SubmatchIdx 1
- IsMandatory false
- </Match>
- <Match "id">
- Regex ", id=(.*)"
- SubmatchIdx 1
- </Match>
- </Message>
- </Logfile>
-</Plugin>
diff --git a/docker/barometer-collectd-experimental/run_collectd.sh b/docker/barometer-collectd-experimental/run_collectd.sh
index b45711e1..5920248a 100644
--- a/docker/barometer-collectd-experimental/run_collectd.sh
+++ b/docker/barometer-collectd-experimental/run_collectd.sh
@@ -1,15 +1,16 @@
#!/bin/bash
-# Copyright 2019 OPNFV
+# Copyright 2016-2019 Intel Corporation and OPNFV. 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.
# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# 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.
+#
/opt/collectd/sbin/collectd -f