Merging upstream version 1.12.0.

Signed-off-by: Daniel Baumann's avatarDaniel Baumann <daniel.baumann@progress-linux.org>
parent 69b6f6b3
......@@ -5,6 +5,8 @@ exclude_paths:
- collectors/python.d.plugin/python_modules/urllib3/**
- collectors/python.d.plugin/python_modules/third_party/**
- collectors/node.d.plugin/node_modules/**
- contrib/**
- packaging/makeself/**
- web/gui/css/**
- web/gui/lib/**
- web/gui/old/**
......
# Files which shouldn't be changed manually are owned by @netdatabot.
# This way we prevent modifications which will be overwriten by automation.
# Global (default) code owner
* @ktsaou
# Ownership by directory structure
.travis/ @paufantom
.travis/ @paufantom @cakrit
.github/ @paufantom @cakrit
build/ @paulfantom
backends/ @ktsaou @vlvkobal
backends/graphite/ @ktsaou @vlvkobal
......@@ -17,26 +21,28 @@ collectors/node.d.plugin/ @ktsaou @gmosx
collectors/node.d.plugin/fronius/ @ktsaou @gmosx @ccremer
collectors/node.d.plugin/snmp/ @ktsaou @gmosx @cakrit
collectors/node.d.plugin/stiebeleltron/ @ktsaou @gmosx @ccremer
collectors/python.d.plugin/ @l2isbad
collectors/python.d.plugin/ @ilyam8
daemon/ @ktsaou @vlvkobal
database/ @ktsaou @mfundul
docker/ @paulfantom
health/ @ktsaou @mfundul
docs/ @cakrit
health/ @ktsaou @cakrit
health/health.d/ @ktsaou @cakrit
health/notifications/ @ktsaou @Ferroin
installer/ @ktsaou @paulfantom
health/notifications/ @ktsaou @Ferroin @cakrit
installer/ @ktsaou @paulfantom @cakrit
libnetdata/ @ktsaou @vlvkobal
makeself/ @ktsaou @paulfantom
packaging/ @paulfantom
registry/ @ktsaou @gmosx
streaming/ @ktsaou @mfundul
web/ @ktsaou @vlvkobal @gmosx
web/ @ktsaou @vlvkobal
web/gui/ @ktsaou @gmosx
# Ownership by filetype (overwrites ownership by directory)
*.md @ktsaou @cakrit
*.am @paulfantom @ktsaou
# Ownership of specific files
.gitignore @paulfantom @cakrit
.travis.yml @paulfantom
.lgtm.yml @paulfantom
.eslintrc @paulfantom
......@@ -44,5 +50,10 @@ web/ @ktsaou @vlvkobal @gmosx
.csslintrc @paulfantom
.codeclimate.yml @paulfantom
.codacy.yml @paulfantom
netdata.spec.in @paulfantom
netlify.toml @cakrit
package.json @gmosx
packaging/version @netdatabot
LICENSE.md @ktsaou
CHANGELOG.md @netdatabot
<!---
This is a generic issue template. We usually prefer contributors to use one
of 3 other specific issue templates (bug report, feature request, question)
to allow our automation classify those so you can get response faster.
However if your issue doesn't fall into either one of those 3 categories
use this generic template.
--->
#### Summary
---
name: Bug report
about: Create a bug report to help us improve
---
<!---
When creating a bug report please:
- Verify first that your issue is not already reported on GitHub
- Test if the latest release and master branch are affected too.
- Provide a clear and concise description of what the bug is in "Bug report
summary" section.
- Try to provide as much information about your environment (OS distribution,
running in container, etc.) as possible to allow us reproduce this bug faster.
- Write which component is affected. We group our components the same way our
code is structured so basically:
component name = dir in top level directory of repository
- Describe how you found this bug and how we can reproduce it. Preferable with
a minimal test-case scenario. You can paste gist.github.com links for larger
files
- Provide a clear and concise description of what you expected to happen.
-->
##### Bug report summary
##### OS / Environment
##### Netdata version (ouput of `netdata -V`)
##### Component Name
##### Steps To Reproduce
##### Expected behavior
---
name: Feature request
about: Suggest an idea for our project
---
<!---
When creating a feature request please:
- Verify first that your issue is not already reported on GitHub
- Explain new feature briefly in "Feature idea summary" section
- Provide a clear and concise description of what you expect to happen.
--->
##### Feature idea summary
##### Expected behavior
---
name: Question
about: You just want to ask a question? Go on.
---
<!---
When asking a new question please:
- Verify first that your question wasn't asked before on GitHub.
HINT: Use label "question" when searching for such issues.
- Briefly explain what is the problem you are having
- Try to provide as much information about your environment (OS distribution,
running in container, etc.) as possible to allow us reproduce this bug faster.
- Write which component is affected. We group our components the same way our
code is structured so basically:
component name = dir in top level directory of repository
- Provide a clear and concise description of what you expected to happen.
-->
##### Question summary
##### OS / Environment
##### Component Name
##### Expected results
<!--
Describe the change in summary section, including rationale and degin decisions.
Include "Fixes #nnn" if you are fixing an existing issue.
In "Component Name" section write which component is changed in this PR. This
will help us review your PR quicker.
If you have more information you want to add, write them in "Additional
Information" section. This is usually used to help others understand your
motivation behind this change. A step-by-step reproduction of the problem is
helpful if there is no related issue.
-->
##### Summary
##### Component Name
##### Additional Information
---
only: issues
limitPerRun: 30
daysUntilStale: 45
daysUntilClose: 60
exemptLabels:
- bug
- help wanted
- feature request
exemptProjects: true
exemptMilestones: true
staleLabel: stale
markComment: >
Currently netdata team doesn't have enough capacity to work on this issue.
We will be more than glad to accept a pull request with a solution to problem described here.
This issue will be closed after another 60 days of inactivity.
closeComment: >
This issue has been automatically closed due to extended period of inactivity.
Please reopen if it is still valid. Thank you for your contributions.
# Secrets
gcs-credentials.json
.deps
.libs
.dirstamp
......@@ -35,6 +38,8 @@ sha256sums.txt
# netdata binaries
netdata
!netdata/
upload/
artifacts/
apps.plugin
!apps.plugin/
......@@ -42,15 +47,19 @@ apps.plugin
freeipmi.plugin
!freeipmi.plugin/
cups.plugin
!cups.plugin/
cgroup-network
!cgroup-network/
# netdata makeself archives
# installation artifacts
packaging/installer/.environment.sh
*.tar.*
*.run
# netdata makeself downloads
makeself/tmp/
packaging/makeself/tmp/
# coverity
cov-int/
......@@ -88,6 +97,8 @@ system/netdata.plist
system/netdata-freebsd
system/edit-config
daemon/anonymous-statistics.sh
health/notifications/alarm-notify.sh
collectors/cgroups.plugin/cgroup-name.sh
collectors/tc.plugin/tc-qos-helper.sh
......@@ -98,7 +109,6 @@ collectors/fping.plugin/fping.plugin
# installer generated files
netdata-uninstaller.sh
netdata-updater.sh
# cmake files
cmake-build-debug/
......@@ -134,6 +144,7 @@ tests/profile/benchmark-line-parsing
tests/profile/benchmark-procfile-parser
tests/profile/benchmark-value-pairs
tests/profile/statsd-stress
tests/health_mgmtapi/health-cmdapi-test.sh
oprofile_data/
vgcore.*
callgrind.out.*
......@@ -145,6 +156,9 @@ sitespeed-result/
python.d/python-modules-installer.sh
# documentation generated files
htmldoc/src
htmldoc/build
htmldoc/mkdocs.yml
docs/generator/src
docs/generator/build
docs/generator/mkdocs.yml
netdata-updater.sh
.environment.sh
dist: trusty
sudo: true
language: c
services:
- docker
stages:
- test
- build
- name: packaging
if: branch = master AND type != pull_request AND type != cron
- name: nightlies
if: branch = master AND type = cron
jobs:
include:
- stage: test
name: C
install: sudo apt-get install -y libcap2-bin zlib1g-dev uuid-dev fakeroot libipmimonitoring-dev libmnl-dev libnetfilter-acct-dev
script: fakeroot ./netdata-installer.sh --install $HOME --dont-wait --dont-start-it --enable-plugin-nfacct --enable-plugin-freeipmi --disable-lto && $HOME/netdata/usr/sbin/netdata -W unittest
env: CFLAGS='-O1 -DNETDATA_INTERNAL_CHECKS=1 -DNETDATA_VERIFY_LOCKS=1'
- name: dashboard.js
script: cp web/gui/dashboard.js /tmp/dashboard.js && ./build/build.sh && diff /tmp/dashboard.js web/gui/dashboard.js
- name: coverity
install: sudo apt-get install -y zlib1g-dev uuid-dev libipmimonitoring-dev libmnl-dev libnetfilter-acct-dev
script: ./coverity-scan.sh || echo "Coverity failed :("
env: INSTALL_COVERITY="true"
if: type = cron
- stage: build
# TODO(paulfantom): enable when travis OSX become stable. Probably after 12.01.2019
# name: OSX
# install: brew install fakeroot ossp-uuid
# script: fakeroot ./netdata-installer.sh --install $HOME --dont-wait --dont-start-it
# os: osx
# - name: ubuntu 14.04 (not containerized)
name: ubuntu 14.04 (not containerized)
install: sudo apt-get install -y libcap2-bin zlib1g-dev uuid-dev fakeroot
script: fakeroot ./netdata-installer.sh --dont-wait --dont-start-it --install $HOME
- name: build container (alpine installation)
script: ./packaging/docker/build.sh
env: DEVEL="true"
- name: ubuntu 18.04 + lifecycle
script: docker run -it -v "${PWD}:/code:rw" -w /code "netdata/os-test:ubuntu1804" bats --tap tests/lifecycle.bats
- name: CentOS 7
script: docker run -it -v "${PWD}:/code:rw" -w /code "netdata/os-test:centos7" ./netdata-installer.sh --dont-wait --dont-start-it --install /tmp
- name: CentOS 6
script: docker run -it -v "${PWD}:/code:rw" -w /code "netdata/os-test:centos6" ./netdata-installer.sh --dont-wait --dont-start-it --install /tmp
- stage: packaging
name: Create release (only on special commit msg)
install:
- sudo apt-get install -y gnupg libcap2-bin zlib1g-dev uuid-dev fakeroot python-pip
- sudo apt install -y --only-upgrade docker-ce
- docker info
before_script: sudo pip install git-semver
script: ".travis/releaser.sh && .travis/labeler.sh" # labeler should be replaced with GitHub Actions when they hit GA
git:
depth: false
- stage: nightlies
name: Nightly build
before_install: openssl aes-256-cbc -K $encrypted_8daf19481253_key -iv $encrypted_8daf19481253_iv -in .travis/gcs-credentials.json.enc -out .travis/gcs-credentials.json -d
install:
- sudo apt-get install -y gnupg libcap2-bin zlib1g-dev uuid-dev fakeroot
- sudo apt install -y --only-upgrade docker-ce
- docker info
script: ".travis/nightlies.sh"
git:
depth: false
deploy:
provider: gcs
edge:
branch: gcs-ng
project_id: netdata-storage
credentials: .travis/gcs-credentials.json
bucket: "netdata-nightlies"
skip_cleanup: true
local_dir: "artifacts"
notifications:
webhooks: https://app.fossa.io/hooks/travisci
slack:
rooms:
- secure: "NuW1p7s+WGLcyhEceeiLRSV1JgAc6N47zgdSsYoxrjSFRQHDfc8jensypDcEJwgs1K2Hcve9iKRaAddEHEw7AkS6rie9gFR5HmmbKXfW2GFMqOr6maYTFsvaECPqiWk1n9/XnRLsAi5kZ8HxH+a8ldb/eaVoFQesY1jPXgh11BM5DwvpXjEtwg0WGASsKiymvnXFS3KcC+sR7Lln2GX1a8vfCX2I3TEmOedKMlSHUy5JilGGC3AWA0SWS8tR8PUH0u3dHL5j0RNIr1RO3Yx24QgUpg/YpvKymnW/iIIEOq2vb2mBhhiKEQjJ1djUL4VSPzjIDpUzThVpKaHk3syOp6W9qZEHKhR/sqjc5Yk2XRjsw1cM0nS60gaCgxtKhEMKWcjtvWf04oJAVrmcUwcYXj0eA+jgRCZl5VhyufK/fUJavjOfsQGjwhdjxQfwDCw33W17ypJUt4GZngdb6jbIhEOcKHSLQDu1vuHTw82hJJkthkmR59PX30qJdl/MEGcfVLdN/fkCokjR/qwfmkNwQm+wYSKsK/Jq4RgBT0/oZwY3e8nkCq2ov7lBbDO3/0rzQKWZ9Uy//tnoCM3vGhDwGHQxsHshv7g6KwdhYTcmm7WWWIucfLupcjFUO1HbRuJ+7ZnvxRRwKiV+MGkFT2SNJkS8q1/jCu9KGbmktd0WUSE="
......@@ -5,10 +5,9 @@
- GITHUB_TOKEN - GitHub token with push access to repository
- DOCKER_USERNAME - Username (netdatabot) with write access to docker hub repository
- DOCKER_PASSWORD - Password to docker hub
- encrypted_decb6f6387c4_key - Something to do with package releasing (soon to be deprecated)
- encrypted_decb6f6387c4_iv - Something to do with package releasing (soon to be deprecated)
- OLD_DOCKER_USERNAME - Username used to push images to firehol/netdata # TODO: remove after deprecating that repo
- OLD_DOCKER_PASSWORD - Password used to push images to firehol/netdata # TODO: remove after deprecating that repo
- encrypted_8daf19481253_key - key needed by openssl to decrypt GCS credentials file
- encrypted_8daf19481253_iv - IV needed by openssl to decrypt GCS credentials file
- COVERITY_SCAN_TOKEN - Token to allow coverity test analysis uploads
## Stages
......@@ -16,6 +15,7 @@
Unit tests and coverage tests are executed here. Stage consists of 2 parallel jobs:
- C tests - executed every time
- dashboard.js - test if source files create the same file as it is in current repo
- coverity test - executed only when pipeline was triggered from cron
### Build
......@@ -29,18 +29,23 @@ installations of netdata. Jobs are run on following operating systems:
- CentOS 7 (containerized)
- alpine (containerized)
Images for system containers are stored on dockerhub and are created from Dockerfiles located in
[netdata/helper-images](https://github.com/netdata/helper-images) repository.
### Packaging
This stage is executed only on "master" brach and allows us to create a new tag just looking at git commit message.
It executes one script called `releaser.sh` which is responsible for creating a release on GitHub by using
[hub](https://github.com/github/hub). This script is also executing other scripts which can also be used in other
CI jobs:
- `tagger.sh`
- `generate_changelog.sh`
- `build.sh`
- `create_artifacts.sh`
- `.travis/tagger.sh`
- `.travis/generate_changelog.sh`
- `packaging/docker/build.sh`
- `.travis/create_artifacts.sh`
Alternatively new release can be also created by pushing new tag to master branch.
Additionally this step is also executing `.travis/labeler.sh` which is a temporary workaround to automatically label
issues and PR. This script should be replaced with GitHub Actions when they are available to public.
##### tagger.sh
......@@ -77,12 +82,10 @@ This is achieved by running 2 scripts described earlier:
- `create_artifacts.sh`
- `build.sh`
Artifacts are pushed to GCS and container images are stored in docker hub.
##### Changelog generation