-
Notifications
You must be signed in to change notification settings - Fork 115
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
updating AMD bootc image #767
Merged
rhatdan
merged 3 commits into
containers:main
from
yevgeny-shnaidman:yevgeny/amd-bootc-6.1.2
Aug 29, 2024
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
#!/bin/bash | ||
|
||
echo-err() { echo "$@" >&2; } | ||
|
||
verify_range() { | ||
subuid_range="$1" | ||
username="$2" | ||
NUMBER_OF_MATCHING_SUBUID_RANGES=$(if [[ -z "$subuid_range" ]]; then echo 0; else wc -l <<<"$subuid_range"; fi) | ||
|
||
if [[ "$NUMBER_OF_MATCHING_SUBUID_RANGES" == 0 ]]; then | ||
echo-err "No /etc/subuid range found for user $username ($UID)" | ||
exit 1 | ||
elif [[ "$NUMBER_OF_MATCHING_SUBUID_RANGES" != 1 ]]; then | ||
# TODO: Handle multiple subuid ranges. But for now, hard fail | ||
echo-err "Multiple /etc/subuid ranges found for user $username ($UID), this is currently unsupported:" | ||
echo-err "$subuid_range" | ||
exit 1 | ||
fi | ||
} | ||
|
||
check_insights() { | ||
if [[ -f /etc/insights-client/machine-id ]]; then | ||
return | ||
fi | ||
if [[ -f /etc/ilab/insights-opt-out ]]; then | ||
return | ||
fi | ||
local ID | ||
eval "$(grep ^ID= /etc/os-release)" | ||
if [[ "$ID" != "rhel" ]]; then | ||
return | ||
fi | ||
cat << EOF | ||
This host is not connected to Red Hat Insights. | ||
|
||
To connect this host to Red Hat Insights run the following command: | ||
sudo rhc connect --organization <org_id> --activation-key <your_activation_key> | ||
|
||
To generate an Activation Key: | ||
https://console.redhat.com/insights/connector/activation-keys (this page will also display your Organization ID). | ||
|
||
For more information on Red Hat Insights, please visit: | ||
https://docs.redhat.com/en/documentation/subscription_central/1-latest/html/getting_started_with_activation_keys_on_the_hybrid_cloud_console/assembly-creating-managing-activation-keys | ||
EOF | ||
exit 1 | ||
} | ||
|
||
check_insights | ||
|
||
# Template values replaced by container build | ||
IMAGE_NAME="__REPLACE_IMAGE_NAME__" | ||
|
||
ENTRYPOINT="ilab" | ||
PARAMS=("$@") | ||
|
||
if [[ -n "$ILAB_HOME" ]]; then | ||
HOME="$ILAB_HOME" | ||
fi | ||
|
||
for dir in "$HOME/.cache" "$HOME/.config" "$HOME/.local"; do | ||
mkdir -p "$dir" | ||
done | ||
|
||
if [[ "$1" = "shell" ]]; then | ||
ENTRYPOINT=bash | ||
PARAMS=() | ||
fi | ||
|
||
# If you need to mount additional volumes into the container, you can specify them | ||
# using the ILAB_ADDITIONAL_MOUNTS environment variable. | ||
# | ||
# Example ILAB_ADDITIONAL_MOUNTS usage: | ||
# | ||
# ILAB_ADDITIONAL_MOUNTS="/host/path:/container/path /host/path2:/container/path2" | ||
# | ||
# If your path contains spaces, you can use quotes: | ||
# | ||
# ILAB_ADDITIONAL_MOUNTS="/host/path:/container/path '/host/path with spaces':/container/path" | ||
ADDITIONAL_MOUNTS=() | ||
if [ -n "${ILAB_ADDITIONAL_MOUNTS}" ]; then | ||
# (eval is used here to allow the user to specify mounts that might have spaces in them) | ||
eval "ADDITIONAL_MOUNTS=(${ILAB_ADDITIONAL_MOUNTS})" | ||
fi | ||
ADDITIONAL_MOUNT_OPTIONS=() | ||
for PODMAN_MOUNT in "${ADDITIONAL_MOUNTS[@]}"; do | ||
ADDITIONAL_MOUNT_OPTIONS+=("-v" "$PODMAN_MOUNT") | ||
done | ||
|
||
# Add pull-secret to additional mounts | ||
# In case of normal user, /run/user is used (XDG_RUNTIME_DIR), if root, it will be /run/containers | ||
for authfile in \ | ||
"${XDG_RUNTIME_DIR}/containers/auth.json" \ | ||
/run/user/${UID}/containers/auth.json \ | ||
/run/containers/${UID}/auth.json | ||
do | ||
if [[ -f "$authfile" ]]; then | ||
ADDITIONAL_MOUNT_OPTIONS+=("-v" "$authfile:/run/containers/0/auth.json") | ||
break | ||
fi | ||
done | ||
|
||
# We run the container as sudo in order to be able to access the root container | ||
# storage, which has the ilab image pre-pulled. But for security reasons we map | ||
# root UID 0 inside the container to the current user's UID (and all the other | ||
# subuids to the user's /etc/subuid range) so that we're effectively running | ||
# the container as the current user. | ||
# | ||
# In the future, we will run podman as the current user, once we figure a | ||
# reasonable way for the current user to access the root's user container | ||
# storage. | ||
if [[ "$UID" == 0 ]]; then | ||
# If we're already running as root, we don't need to map any UIDs | ||
IMPERSONATE_CURRENT_USER_PODMAN_FLAGS=() | ||
else | ||
CURRENT_USER_NAME=$(id --user --name) | ||
CURRENT_USER_SUBUID_RANGE=$(awk \ | ||
--field-separator ':' \ | ||
--assign current_user="$CURRENT_USER_NAME" \ | ||
--assign current_uid="$UID" \ | ||
'$1 == current_user || $1 == current_uid {print $2 ":" $3}' \ | ||
/etc/subuid) | ||
|
||
verify_range "$CURRENT_USER_SUBUID_RANGE" "$CURRENT_USER_NAME" | ||
|
||
IMPERSONATE_CURRENT_USER_PODMAN_FLAGS=("--uidmap" "0:$UID" "--uidmap" "1:$CURRENT_USER_SUBUID_RANGE") | ||
fi | ||
|
||
PRESERVE_ENV="VLLM_LOGGING_LEVEL,NCCL_DEBUG,HOME,HF_TOKEN" | ||
PODMAN_COMMAND=("sudo" "--preserve-env=$PRESERVE_ENV" "podman" "run" "--rm" "-it" | ||
"${IMPERSONATE_CURRENT_USER_PODMAN_FLAGS[@]}" | ||
"--device" "/dev/kfd" "--device" "/dev/dri" | ||
"--security-opt" "label=disable" "--net" "host" | ||
"--shm-size" "10G" | ||
"--pids-limit" "-1" | ||
"-v" "$HOME:$HOME" | ||
"${ADDITIONAL_MOUNT_OPTIONS[@]}" | ||
"--env" "VLLM_LOGGING_LEVEL" | ||
"--env" "HOME" | ||
"--env" "NCCL_DEBUG" | ||
"--entrypoint" "$ENTRYPOINT" | ||
"--env" "HF_TOKEN" | ||
"${IMAGE_NAME}") | ||
|
||
exec "${PODMAN_COMMAND[@]}" "${PARAMS[@]}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
-----BEGIN PGP PUBLIC KEY BLOCK----- | ||
Version: GnuPG v1 | ||
|
||
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 | ||
ta5TfPumStSQ1UjP8pPny4l+JQ== | ||
=UOE+ | ||
-----END PGP PUBLIC KEY BLOCK----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
[amdgpu] | ||
name=amdgpu | ||
baseurl=https://repo.radeon.com/amdgpu/6.1.2/el/9.4/main/x86_64/ | ||
enabled=1 | ||
priority=50 | ||
gpgcheck=1 | ||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
[ROCm-6.2] | ||
name=ROCm6.2 | ||
baseurl=https://repo.radeon.com/rocm/el9/6.1.2/main | ||
enabled=1 | ||
priority=50 | ||
gpgcheck=1 | ||
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key |
This file was deleted.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Does this make sense? Using nvidia-builder on amd-bootc?
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 driver-toolkit image, which contains all the package needed for kernel module compilation. So, it is related to a kernel version, and does not contain any packages that might be specific to nvidia. The name unfortunate, but this is what we have right now
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.
We have discussed moving the bootc images out of the ai-lab-recipes repository. One of the changes would be to have a
quay.io/<org>/driver-toolkit:<kernel-version>
. The driver toolkit images could be hosted in the quay.io/fedora and quay.io/centos orgs.