Skip to content
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

[DOCA] compile xlio with doca #147

Open
wants to merge 9 commits into
base: doca_xlio
Choose a base branch
from

Conversation

vialogi
Copy link
Contributor

@vialogi vialogi commented May 11, 2024

Description

We add DOCA compilation to CI

What

Prepare containers for DOCA compilation, checkout DOCA SDK and do compilation

Why ?

PR# 138 performs basic DOCA operations, so it is possible that when more DOCA functionality is added to XLIO, other DOCA compilation issues will arise.

How ?

Change type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Tests
  • Other

Check list

  • Code follows the style de facto guidelines of this project
  • Comments have been inserted in hard to understand places
  • Documentation has been updated (if necessary)
  • Test has been added (if possible)

@vialogi vialogi changed the base branch from master to doca_xlio May 11, 2024 14:41
@vialogi vialogi changed the base branch from doca_xlio to vNext May 11, 2024 14:42
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 2 times, most recently from 3dbd4ee to 1a87fd0 Compare May 11, 2024 17:57
@AlexanderGrissik
Copy link
Collaborator

Please target the PR to doca_xlio branch. It is currently the doca branch.

@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 2 times, most recently from a290b4c to 345a478 Compare May 14, 2024 13:03
@vialogi vialogi changed the base branch from vNext to doca_xlio May 14, 2024 13:20
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 22 times, most recently from 6f56292 to 0f64702 Compare May 16, 2024 15:06
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 2 times, most recently from 6e8c303 to 85bfca5 Compare July 11, 2024 12:23
.ci/dockerfiles/Dockerfile.ubuntu22.04 Show resolved Hide resolved
.ci/proj_jjb.yaml Outdated Show resolved Hide resolved
contrib/jenkins_tests/compiler.sh Outdated Show resolved Hide resolved
contrib/jenkins_tests/test.sh Outdated Show resolved Hide resolved
contrib/test_jenkins.sh Show resolved Hide resolved
src/vlogger/vlogger.cpp Show resolved Hide resolved
.ci/matrix_job.yaml Show resolved Hide resolved
contrib/jenkins_tests/test.sh Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Outdated Show resolved Hide resolved
.ci/dockerfiles/Dockerfile.ubuntu22.04 Outdated Show resolved Hide resolved
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 3 times, most recently from 41eb3ea to e778c8e Compare July 13, 2024 18:28
Migrate test processes from static bare metal server to k8s
dynamic containers on ub22.04

Issue: HPCINFRA-2196
Signed-off-by: Daniel Pressler <danielpr@nvidia.com>
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch from e778c8e to 14a17c3 Compare July 15, 2024 10:08
.ci/proj_jjb.yaml Outdated Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Outdated Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Show resolved Hide resolved
.ci/matrix_job.yaml Outdated Show resolved Hide resolved
src/vlogger/vlogger.cpp Show resolved Hide resolved
contrib/jenkins_tests/test.sh Outdated Show resolved Hide resolved
contrib/jenkins_tests/test.sh Show resolved Hide resolved
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch from 14a17c3 to 67cdc6e Compare July 15, 2024 14:08
contrib/test_jenkins.sh Outdated Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Show resolved Hide resolved
contrib/jenkins_tests/globals.sh Show resolved Hide resolved
.ci/matrix_job.yaml Outdated Show resolved Hide resolved
src/vlogger/vlogger.cpp Show resolved Hide resolved
.ci/matrix_job.yaml Outdated Show resolved Hide resolved
contrib/jenkins_tests/test.sh Show resolved Hide resolved
contrib/jenkins_tests/test.sh Outdated Show resolved Hide resolved
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 4 times, most recently from f260b78 to 43508ee Compare July 15, 2024 16:41
@dpressle dpressle changed the title issue HPCINFRA-1968: DOCA compilation in CI [DOCA] compile xlio with doca Jul 16, 2024
…upport

DOCA requires some extra packages from specific repo to make compilation possible

In this commit we're:
- determine the platform we're running on
- adding DOCA packages repo in container image
- installing dependencies
- setting up swx-jenkins user which have access to DOCA repo in Gerrit

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch 3 times, most recently from 8677af0 to d83bf87 Compare July 16, 2024 09:48
We're requested to provide DOCA libs and binaries compiled and installed prior to XLIO compilation.
We're going to enable DOCA compilation the same way we do for DPCP compilation: by adding do_compile_doca() function in globals.sh

do_compile_doca() does the following:
- checks out DOCA SDK source code
- prepares the environment
- compilation & installation
- returns DOCA installation path so it can be used as "--with-doca" parameter for XLIO

DOCA/DPCP compilation is not required in static tests containers (cppcheck, csbuild).
COMPILE_DOCA and COMPILE_DPCP variables have been added to control this

contrib/test_jenkins.sh was updated to check COMPILE_DOCA and COMPILE_DPCP vars and to call compile_doca() and do_check_dpcp() if true

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
- mounting hugetlbfs from host machine to solve "EAL: FATAL: Cannot get hugepage information"
- checking available 2MB hugepages
- applying patch from Alex Grissik, solving the "Multiprocess is not supported" in DOCA (DPDK)
- fixing platform typo in config/m4/doca.m4

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
… IP / default GW

Many Gtest failures were caused by inability of XLIO to determine remote IP / default GW in containerized environment.
This was caused, in its turn, by early log messages, that were posted to stdout during XLIO initialization

The fix, applied by this commit redirects XLIO early log message from stdout to stderr (printf() -> fprintf() in vlogger.cpp), which allows XLIO to determine default GW correctly

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
Some Gtest test cases fail at the moment, in particular:

- test cases, that are related to "send to socket id" actions
- tests that are related to fork(), which is not supported by DOCA
- test cases, related to remote ip / default GW problem, that is temporary workarounded by redirecting XLIO messages from STDOUT to STDERR

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
Gtest step is disabled until Oct'24 release, Jira HPCINFRA-1968, RM #3981627, #3981654

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
We're running compiler.sh in Ubuntu22.04, where there is a problem using module files, created for RHEL/CentOS
For now, to make things working we install all the required compilers inside container:

- Install all required compilers inside comtainer rather than connecting modules
- Use update-alternatives to switch between compilers
- Update matrix_job.yaml with toolbox target for docker build

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
- Remove 3 attempts loop
- Make sure the do_archive call takes place and not being skipped

Issue: HPCINFRA-1968
Signed-off-by: Viacheslav Login <vlogin@nvidia.com>
@vialogi vialogi force-pushed the HPCINFRA-1968_doca_compilation branch from d83bf87 to 0b5923e Compare July 16, 2024 09:50
@vialogi vialogi requested a review from dpressle July 16, 2024 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants