-
Notifications
You must be signed in to change notification settings - Fork 444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Use IPDK-container to speed-up the DPDK-PTF CI #4212
base: main
Are you sure you want to change the base?
Conversation
Docker init copy-out work Docker build added Docker ctest - 4 fail
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First round of comments. These seems decently reliable already.
@@ -0,0 +1,54 @@ | |||
FROM ghcr.io/ipdk-io/ipdk-ubuntu2004-x86_64:ipdk_v23.07 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tools
might be a strange folder for this file. Maybe create a docker
folder?
RUN apt-get install rsync git ccache libhugetlbfs-bin -y | ||
RUN ccache -s | ||
|
||
# Update GCC to 11 -> GCC-9 cause config problem, remove after base OS is updated to 22.04 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be better to wait for a Ubuntu 22.04 docker version. @jafingerhut
anyone we can poke there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am guessing you are asking whether someone at Intel might publish a docker image with IPDK software already compiled and installed, rather than following instructions like these? https://github.com/ipdk-io/ipdk/blob/main/build/networking/README_DOCKER.md
If so, let me know and I can try pinging a couple of people to find out if they have any intention of supporting such a thing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah apologize, let me clarify:
https://github.com/orgs/ipdk-io/packages?repo_name=ipdk
We have borrowed a docker image from this list of images. However, only Ubuntu 20.04 is available. The DPDK target is only tested with Ubuntu 22.04. It would be nice to have a 22.04 version to unify things.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, my docker-fu is still weak, so asking to clarify. You are running these tests on a base OS that is Ubuntu 22.04, and a docker image created using Ubuntu 20.04 does not work there, and you would prefer a docker image that was built specifically for a base OS of Ubuntu 22.04?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The docker image is built using a base OS that is Ubuntu 22.04, but the docker image itself is 20.04. That is normally fine, but the p4-dpdk-target itself is built with Ubuntu 22.04. To get it to work on Ubuntu 20.04 requires a bunch of workarounds. It would be nice to remove this confounding factor.
We thought we fixed the nondeterministic failures but that is sadly still not the case.
tools/dpdk_ptf.Dockerfile
Outdated
# infrap4d deps | ||
WORKDIR /root | ||
RUN sudo apt install libatomic1 libnl-route-3-dev openssl -y | ||
RUN rsync -avh ./networking-recipe/deps_install/* $IPDK_INSTALL_DIR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a little hacky, wish we could just use one single folder...
try macos try thp clean
Now the DPDK-PTF takes ~20min to finish with ccache and ~1h to finish without ccache. Saved ~40min from building IPDK/infrap4d and related dependencies.
Issue:
We have 2 non-deterministic issues seemingly related to memory and gRPC. See https://github.com/Hoooao/p4c-dpdk-ci-pipeline/actions/runs/6663670233/job/18109927830