Skip to content

Commit ee21c37

Browse files
authored
Merge pull request #63 from CESNET/devel
Merge devel to master and bump version to 2.3.0
2 parents 0744bcf + 83ac59d commit ee21c37

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+3742
-1871
lines changed

.github/workflows/main.yml

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,19 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
image: ['ubuntu:18.04', 'ubuntu:20.04', 'debian:stretch', 'debian:buster', 'debian:bullseye', 'centos:7', 'centos:8']
18+
image:
19+
- 'ubuntu:18.04'
20+
- 'ubuntu:20.04'
21+
- 'debian:stretch'
22+
- 'debian:buster'
23+
- 'debian:bullseye'
24+
- 'centos:7'
25+
- 'quay.io/centos/centos:stream8'
26+
- 'oraclelinux:8'
1927

2028
name: Build on ${{ matrix.image }}
2129
container: ${{ matrix.image }}
2230
steps:
23-
- uses: actions/checkout@v1
2431

2532
# Dependencies ---------------------------------------------------------------------------
2633
- name: Install dependencies for libfds and IPFIXcol2 (Ubuntu/Debian)
@@ -32,23 +39,33 @@ jobs:
3239
apt-get -y install librdkafka-dev
3340
env:
3441
DEBIAN_FRONTEND: noninteractive
35-
- name: Enable additional repositories (CentOS 8)
36-
if: startsWith(matrix.image, 'centos:8')
42+
- name: Enable additional repositories (CentOS Steam)
43+
if: contains(matrix.image, 'centos:stream')
3744
run: |
3845
dnf -y install 'dnf-command(config-manager)'
3946
dnf config-manager --set-enabled appstream powertools
40-
- name: Install dependencies for libfds and IPFIXcol2 (CentOS)
41-
if: startsWith(matrix.image, 'centos')
47+
- name: Enable additional repositories (Oracle Linux)
48+
if: contains(matrix.image, 'oraclelinux')
49+
run: |
50+
dnf -y install 'dnf-command(config-manager)'
51+
dnf config-manager --set-enabled ol8_appstream ol8_codeready_builder
52+
- name: Enable EPEL (CentOS)
53+
if: contains(matrix.image, 'centos')
4254
run: |
4355
yum -y install epel-release
56+
- name: Enable EPEL (OracleLinux)
57+
if: contains(matrix.image, 'oraclelinux')
58+
run: |
59+
dnf -y install oracle-epel-release-el8
60+
- name: Install dependencies for libfds and IPFIXcol2 (CentOS, Oracle Linux)
61+
if: contains(matrix.image, 'centos') || contains(matrix.image, 'oraclelinux')
62+
run: |
4463
yum -y install git gcc gcc-c++ cmake make libxml2-devel lz4-devel libzstd-devel
4564
yum -y install zlib-devel pkgconfig librdkafka-devel
4665
yum -y install python3-docutils || yum -y install python-docutils
47-
- name: Install dependencies for libfds and IPFIXcol2 (Fedora)
48-
if: startsWith(matrix.image, 'fedora')
49-
run: |
50-
dnf -y install git gcc gcc-c++ cmake make libxml2-devel lz4-devel libzstd-devel
51-
dnf -y install python3-docutils zlib-devel pkgconfig librdkafka-devel
66+
67+
# Checkout repository --------------------------------------------------------------------
68+
- uses: actions/checkout@v2
5269

5370
# Build libfds library ------------------------------------------------------------------
5471
# Note: Master against master branch. Otherwise against debug branch.

.github/workflows/packages.yml

Lines changed: 58 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,19 @@ jobs:
2222
container: ${{ matrix.image }}
2323

2424
steps:
25-
- uses: actions/checkout@v1
26-
- name: Define global variables
27-
run: echo "::set-output name=zip_file::ipfixcol2-${IMAGE//:/}-$GITHUB_SHA.zip"
28-
shell: bash
29-
env:
30-
IMAGE: ${{ matrix.image }}
31-
id: vars
25+
- uses: actions/checkout@v2
26+
- name: Define variables
27+
uses: actions/github-script@v5
28+
with:
29+
script: |
30+
const sha = context.sha.substring(0, 8);
31+
const image = `${{ matrix.image }}`
32+
const distro = image.split('/').pop().replace(/:/g,'_');
33+
const zip = `ipfixcol2-${distro}-${sha}`;
34+
core.exportVariable('ZIP_FILE', zip);
35+
- name: Prepare environment
36+
run: |
37+
mkdir -p build/libfds_repo
3238
3339
# Dependencies ---------------------------------------------------------------------------
3440
- name: Install dependencies for libfds and IPFIXcol2 (Ubuntu/Debian)
@@ -67,57 +73,73 @@ jobs:
6773
ipfixcol2 -V
6874
ipfixcol2 -h
6975
ipfixcol2 -L
70-
- name: Pack IPFIXcol2 DEB packages
71-
working-directory: 'build/pkg/deb/debbuild/'
72-
run: zip "$GITHUB_WORKSPACE/$ZIP_FILE" *.deb *.ddeb *.tar.gz *.dsc
73-
env:
74-
ZIP_FILE: ${{ steps.vars.outputs.zip_file }}
7576
- name: Archive DEB packages
7677
if: github.event_name == 'push'
77-
uses: actions/upload-artifact@v1
78+
uses: actions/upload-artifact@v2
7879
with:
79-
name: ${{ steps.vars.outputs.zip_file }}
80-
path: ${{ steps.vars.outputs.zip_file }}
80+
name: ${{ env.ZIP_FILE }}
81+
path: |
82+
build/pkg/deb/debbuild/*.deb
83+
build/pkg/deb/debbuild/*.ddeb
84+
build/pkg/deb/debbuild/*.tar.gz
85+
build/pkg/deb/debbuild/*.dsc
8186
8287
rpm:
8388
# Try to build RPM packages
8489
runs-on: ubuntu-latest
8590
strategy:
8691
fail-fast: false
8792
matrix:
88-
image: ['centos:7', 'centos:8']
93+
image:
94+
- 'centos:7'
95+
- 'quay.io/centos/centos:stream8'
96+
- 'oraclelinux:8'
8997

9098
name: Build RPMs on ${{ matrix.image }}
9199
container: ${{ matrix.image }}
92100

93101
steps:
94-
- uses: actions/checkout@v1
95-
- name: Prepare environment and variables
102+
- name: Define variables
103+
uses: actions/github-script@v5
104+
with:
105+
script: |
106+
const sha = context.sha.substring(0, 8);
107+
const image = `${{ matrix.image }}`
108+
const distro = image.split('/').pop().replace(/:/g,'_');
109+
const zip = `ipfixcol2-${distro}-${sha}`;
110+
core.exportVariable('ZIP_FILE', zip);
111+
- name: Prepare environment
96112
run: |
97-
echo "::set-output name=zip_file::ipfixcol2-${IMAGE//:/}-$GITHUB_SHA.zip"
98113
mkdir -p build/libfds_repo
99-
env:
100-
IMAGE: ${{ matrix.image }}
101-
id: vars
102114
103115
# Dependencies ---------------------------------------------------------------------------
104-
- name: Enable additional repositories (CentOS 8)
105-
if: startsWith(matrix.image, 'centos:8')
116+
- name: Enable additional repositories (CentOS Stream)
117+
if: contains(matrix.image, 'centos:stream')
106118
run: |
107119
dnf -y install 'dnf-command(config-manager)'
108120
dnf config-manager --set-enabled appstream powertools
109-
- name: Install dependencies for libfds and IPFIXcol2 (CentOS)
110-
if: startsWith(matrix.image, 'centos')
121+
- name: Enable additional repositories (Oracle Linux)
122+
if: contains(matrix.image, 'oraclelinux')
123+
run: |
124+
dnf -y install 'dnf-command(config-manager)'
125+
dnf config-manager --set-enabled ol8_appstream ol8_codeready_builder
126+
- name: Enable EPEL (CentOS)
127+
if: contains(matrix.image, 'centos')
111128
run: |
112129
yum -y install epel-release
130+
- name: Enable EPEL (OracleLinux)
131+
if: contains(matrix.image, 'oraclelinux')
132+
run: |
133+
dnf -y install oracle-epel-release-el8
134+
- name: Install dependencies for libfds and IPFIXcol2 (CentOS, Oracle Linux)
135+
if: contains(matrix.image, 'centos') || contains(matrix.image, 'oraclelinux')
136+
run: |
113137
yum -y install git gcc gcc-c++ cmake make libxml2-devel lz4-devel libzstd-devel
114138
yum -y install zlib-devel pkgconfig rpm-build librdkafka-devel
115139
yum -y install python3-docutils || yum -y install python-docutils
116-
- name: Install depedencies for libfds and IPFIXcol2 (Fedora)
117-
if: startsWith(matrix.image, 'fedora')
118-
run: |
119-
dnf -y install git gcc gcc-c++ cmake make libxml2-devel lz4-devel libzstd-devel
120-
dnf -y install python3-docutils zlib-devel pkgconfig rpm-build librdkafka-devel
140+
141+
# Checkout repository --------------------------------------------------------------------
142+
- uses: actions/checkout@v2
121143

122144
# Build LIBFDS RPM package ---------------------------------------------------------------
123145
- name: Checkout libfds library - master branch
@@ -146,14 +168,11 @@ jobs:
146168
ipfixcol2 -V
147169
ipfixcol2 -h
148170
ipfixcol2 -L -v
149-
- name: Pack IPFIXcol2 RPM packages
150-
working-directory: 'build/pkg/rpm/rpmbuild'
151-
run: zip -r "$GITHUB_WORKSPACE/$ZIP_FILE" RPMS SRPMS
152-
env:
153-
ZIP_FILE: ${{ steps.vars.outputs.zip_file }}
154171
- name: Archive RPM packages
155172
if: github.event_name == 'push'
156-
uses: actions/upload-artifact@v1
173+
uses: actions/upload-artifact@v2
157174
with:
158-
name: ${{ steps.vars.outputs.zip_file }}
159-
path: ${{ steps.vars.outputs.zip_file }}
175+
name: ${{ env.ZIP_FILE }}
176+
path: |
177+
build/pkg/rpm/rpmbuild/RPMS/
178+
build/pkg/rpm/rpmbuild/SRPMS/

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ endif()
1414

1515
# Versions and other informations
1616
set(IPFIXCOL_VERSION_MAJOR 2)
17-
set(IPFIXCOL_VERSION_MINOR 2)
17+
set(IPFIXCOL_VERSION_MINOR 3)
1818
set(IPFIXCOL_VERSION_PATCH 0)
1919
set(IPFIXCOL_VERSION
2020
${IPFIXCOL_VERSION_MAJOR}.${IPFIXCOL_VERSION_MINOR}.${IPFIXCOL_VERSION_PATCH})

README.rst

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,23 @@ Second, install build dependencies of the collector
8686
yum install gcc gcc-c++ cmake make python3-docutils zlib-devel librdkafka-devel
8787
# Optionally: doxygen pkgconfig
8888
89-
* Note: latest systems (e.g. Fedora/CentOS 8) use ``dnf`` instead of ``yum``.
89+
* Note: latest systems (e.g. Fedora/CentOS Stream 8) use ``dnf`` instead of ``yum``.
9090
* Note: package ``python3-docutils`` may by also named as ``python-docutils`` or ``python2-docutils``
9191
* Note: package ``pkgconfig`` may by also named as ``pkg-config``
92-
* Note: CentOS 8 requires additional system repositories (``appstream`` and ``powertools``) to be enabled:
92+
* Note: CentOS Stream 8 usually requires additional system repositories to be enabled:
9393

9494
.. code-block::
9595
96+
dnf -y install epel-release
9697
dnf config-manager --set-enabled appstream powertools
9798
99+
* Note: Oracle Linux 8 usually requires additional system repositories to be enabled:
100+
101+
.. code-block::
102+
103+
dnf -y install oracle-epel-release-el8
104+
dnf config-manager --set-enabled ol8_appstream ol8_codeready_builder
105+
98106
**Debian/Ubuntu:**
99107

100108
.. code-block::

extra_plugins/output/unirec/README.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ Parameters
123123
Specification of interface type and its parameters. For more details, see section
124124
"Output interface types".
125125

126+
:``mappingFile``:
127+
Path to configuration file with mapping IPFIX fields to UniRec fields. If the parameter is
128+
not defined, the default configuration file is used. See section "UniRec configuration file".
129+
126130
Output interface types
127131
----------------------
128132
Exactly one of the following output type must be defined in the instance configuration of this

0 commit comments

Comments
 (0)