DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Unit testing DPDK with a container
@ 2019-10-08 17:34 Jeremy Plsek
  0 siblings, 0 replies; only message in thread
From: Jeremy Plsek @ 2019-10-08 17:34 UTC (permalink / raw)
  To: dev; +Cc: Aaron Conole

[-- Attachment #1: Type: text/plain, Size: 2133 bytes --]

Hello!

I manage the DPDK Community Lab that runs the performance testing and
compile testing that you may notice from results on Patchwork.

We've been wanting to start putting up unit test results, but would
like to run them in a (mostly unprivileged, rootless) container.

We have it mostly working, but there are a few tests still having issues.

My main question is, does my our setup below have some simple issues
that I've overlooked or are there actual unit test issues that should
be patched in dpdk? (Suggestions are also welcome.)

I've attached the logs and the dockerfiles/scripts to reproduce the
issue. And unfortunately, the results are not the same per machine.
(For example, my results have no fails, just skips and timeouts, but
on our CI[1], it also has fails.)
[1] https://lab.dpdk.org/results/dashboard/results/results-uploads/test_runs/e17d211dc0ea4d10a312e5c466710af8/log_upload_file/2019/10/dpdk_5b5bb56532fd_2019-10-03_21-58-01_NA.zip

Setup:

The current directory (see setup_files.zip):
dpdk # a clean dpdk master git folder
dpdk_unit_test.Dockerfile
dpdk_compile_meson.Dockerfile
compile_meson.sh
unit_test.sh

Setup commands:
sudo groupadd hugetlbfs
sudo usermod -a -G hugetlbfs $USER
sudo chown -R :hugetlbfs /dev/hugepages
sudo chmod g+w /dev/hugepages -R
sudo sh -c "echo 1024 > /proc/sys/vm/nr_hugepages"

Building the images:
docker build -t dpdk_compile_meson -f dpdk_compile_meson.Dockerfile .
docker build -t dpdk_unit_test -f dpdk_unit_test.Dockerfile .

Running the testing:
docker run --rm -it --user $(id -u):$(id -g) -v $(pwd)/dpdk:/dpdk
dpdk_compile_meson
docker run --rm -it --cap-add IPC_LOCK --cap-add NET_RAW --cap-add
NET_ADMIN --cap-add SYS_NICE --user $(id -u):$(getent group hugetlbfs
| cut -d : -f 3) -v $(pwd)/dpdk:/dpdk -v /dev/hugepages:/dev/hugepages
dpdk_unit_test

(This uses Docker, but as you may notice from patchwork, podman is
used for current compile testing. I am unable to get unit testing
working with podman. I will try to get it working at a later date.
Suggestions to get it working are welcome though!)

Thanks!
-- 
Jeremy Plsek
UNH InterOperability Laboratory

[-- Attachment #2: out.zip --]
[-- Type: application/zip, Size: 121752 bytes --]

[-- Attachment #3: setup_files.zip --]
[-- Type: application/zip, Size: 1900 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-10-08 17:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-08 17:34 [dpdk-dev] Unit testing DPDK with a container Jeremy Plsek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).