Skip to content

Commit 47db809

Browse files
WIP: OFED documentation
1 parent eaf30b5 commit 47db809

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

.github/workflows/package-build-ofed.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,14 @@ jobs:
195195
env:
196196
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
197197

198+
- name: Run a distro-sync
199+
run: |
200+
source venvs/kayobe/bin/activate &&
201+
source src/kayobe-config/kayobe-env --environment ci-builder &&
202+
kayobe seed host command run --become --command "dnf distro-sync --refresh"
203+
env:
204+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
205+
198206
- name: Reset BLS entries on the seed host
199207
run: |
200208
source venvs/kayobe/bin/activate &&

doc/source/contributor/ofed.rst

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
====
2+
OFED
3+
====
4+
5+
Warning: Experimental workflow subject to change
6+
7+
This section documents the workflow for building OFED packages for Release train integration.
8+
9+
The workflow builds the OFED kernel modules against the latest available kernel in Release train
10+
(as configured in SKC) and compiles them into RPM packages to be uploaded to Ark. Addtionally,
11+
this workflow downloads the userspace OFED packages from the Nvidia repository and uploads these
12+
to Ark.
13+
14+
Workflow
15+
========
16+
17+
The workflow uses workflow_dispatch to manually request an OFED build, which will deploy a builder
18+
VM, apply kayobe config to the builder, upgrade the kernel, reboot, then run two Ansible playbooks
19+
for building and uploading OFED to Ark.
20+
21+
Pre-requisites
22+
--------------
23+
24+
Before building OFED packages, the workflow will ensure that:
25+
26+
* A full distro-sync has taken place, ensuring the kernel is upgraded.
27+
28+
* The bootloader has been configured to use the latest kernel
29+
30+
* noexec is disabled in the temporary logical volume.
31+
32+
build-ofed
33+
----------
34+
35+
Currently we only support building Rocky Linux 9 OFED packages.
36+
37+
In order to setup OFED, we're required to build kernel modules for the OFED drivers as
38+
the kernels we provide in release train are unsupported by OFED. To accomplish this we
39+
will need to use the doca-kernel-support from the doca-extra repository.
40+
41+
We will need to instll dependencies in order to build the OFED kernel modules, and these
42+
are installed at the beginning of the build playbook. We also install base and appstream
43+
dependencies of userspace OFED packages here, this is intended to stop these dependencies
44+
being pulled in later when we download the OFED packages from the doca-host repository.
45+
46+
At the end of the playbook following the kernel module build, the OFED userspace packages
47+
are downloaded from the upstream repository in order to upload these to Ark.
48+
49+
push-ofed
50+
---------
51+
52+
As we're not syncing OFED from any upstream source, and are instead creating our own
53+
repository of custom packages, we will be required to setup the Pulp distribution/publication
54+
and upload the content directly to Ark. This playbook uses the Pulp CLI to upload the RPMs
55+
to Ark.

0 commit comments

Comments
 (0)