osbuild: add support for creating nvidiabluefield images#4476
osbuild: add support for creating nvidiabluefield images#4476dustymabe wants to merge 4 commits intocoreos:mainfrom
Conversation
|
Skipping CI for Draft Pull Request. |
There was a problem hiding this comment.
Code Review
This pull request adds support for creating NVIDIA Bluefield images by introducing a new osbuild manifest. While the changes are a good proof of concept, I've found a critical issue that would prevent the manifest from being parsed, along with a few medium-severity issues related to YAML formatting and best practices. Specifically, I've pointed out a trailing comma that breaks YAML syntax, the use of tabs instead of spaces for indentation, and a hardcoded GPG key that would be better referenced by its URL.
56df6f7 to
2195c53
Compare
The RHCOS builds browser seems to be throwing 504 when the object
doesn't exist:
```
Fetching: <snip>/storage/prod/streams/rhel-10.2/builds/builds.json
Updated builds/builds.json
Traceback (most recent call last):
File "/usr/lib/coreos-assembler/cmd-buildfetch", line 329, in <module>
sys.exit(main())
~~~~^^
File "/usr/lib/coreos-assembler/cmd-buildfetch", line 156, in main
if fetcher.exists(f'{builddir}/{f}'):
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/lib/coreos-assembler/cmd-buildfetch", line 251, in exists
return self.exists_impl(url)
~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.14/site-packages/tenacity/__init__.py", line 334, in wrapped_f
return copy(f, *args, **kw)
File "/usr/lib/python3.14/site-packages/tenacity/__init__.py", line 473, in __call__
do = self.iter(retry_state=retry_state)
File "/usr/lib/python3.14/site-packages/tenacity/__init__.py", line 374, in iter
result = action(retry_state)
File "/usr/lib/python3.14/site-packages/tenacity/__init__.py", line 396, in <lambda>
self._add_action_func(lambda rs: rs.outcome.result())
~~~~~~~~~~~~~~~~~^^
File "/usr/lib64/python3.14/concurrent/futures/_base.py", line 443, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib64/python3.14/concurrent/futures/_base.py", line 395, in __get_result
raise self._exception
File "/usr/lib/python3.14/site-packages/tenacity/__init__.py", line 476, in __call__
result = fn(*args, **kwargs)
File "/usr/lib/coreos-assembler/cmd-buildfetch", line 291, in exists_impl
raise Exception(f"Received rc {r.status_code} for {url}")
Exception: Received rc 504 for <snip>/storage/prod/streams/rhel-10.2/builds/10.2.20260307-0/x86_64/ostree-commit-object
failed to execute cmd-buildfetch: exit status 1
+ rc=1
+ set +x
```
2195c53 to
98088b0
Compare
This is to support creating images for the nvidiabluefield platform.See: - coreos/ignition#2151 - osbuild/osbuild#2349 - https://issues.redhat.com/browse/COS-3469 This is pulling RPMs from NVIDIA (mellanox.com) because they aren't currently availalbe in Fedora/CentOS/RHEL repos.
Will be used to create the nvidiabluefield buildroot for creating the BFB image. Backport of osbuild/osbuild#2387
We can't depsolve here because the depsolve happens as part of a preprocess step and essentially does it from a blank slate, so it tries to pull in everything needed for a from scratch root. We already have a tree as our starting point so this doesn't really work for us IIUC. We just need to install the two RPMs and not consider deps here (i.e. nodeps: true).
98088b0 to
292c4b2
Compare
| url: https://linux.mellanox.com/public/repo/doca/3.3.0/rhel9.6/arm64-dpu/mlxbf-bfscripts-3.6.0-1.el9.noarch.rpm | ||
| sha256:b35ad0f987fd3870e11ad5dbec3340a019a456b7879caa4b82c944c4ff6841b4: | ||
| url: https://linux.mellanox.com/public/repo/doca/3.3.0/rhel9.6/arm64-dpu/mlxbf-bootimages-signed-4.14.0-13878.aarch64.rpm |
There was a problem hiding this comment.
Do we need to add an egress rule for that in the build cluster ?
There was a problem hiding this comment.
probably - @marmijo might be able to help us with that
jbtrystram
left a comment
There was a problem hiding this comment.
Not sure how pressing this is, but I forsee a potential issue when we switch to bootc install.
we need it for 4.22 - so getting this in soon would be ideal. We should open an issue for the bootc install move to address then with the details. Can you do that? |
This is to support creating images for the nvidiabluefield platform. See:
This is pulling RPMs from NVIDIA (mellanox.com) because they aren't
currently available in Fedora/CentOS/RHEL repos.