diff options
Diffstat (limited to 'docker/barometer-collectd-experimental')
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 |