-
Notifications
You must be signed in to change notification settings - Fork 512
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
Add aws-k8s-1.21-nvidia variant #1799
Changes from all commits
ad7be21
116efb1
75541bc
8896f88
54415cb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,30 +27,59 @@ jobs: | |
variant: [aws-k8s-1.18, aws-k8s-1.19, aws-k8s-1.20, aws-k8s-1.21, aws-ecs-1] | ||
arch: [x86_64, aarch64] | ||
supported: [true] | ||
fetch-upstream: ["false"] | ||
include: | ||
- variant: aws-dev | ||
arch: x86_64 | ||
supported: false | ||
fetch-upstream: "false" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we have to override this for each item in the list, even if the default isn't changing? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I could try removing it and see if it works 👍 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It didn't 😄 , I changed it back per our offline conversation. |
||
- variant: vmware-dev | ||
arch: x86_64 | ||
supported: false | ||
fetch-upstream: "false" | ||
- variant: metal-dev | ||
arch: x86_64 | ||
supported: false | ||
fetch-upstream: "false" | ||
- variant: metal-k8s-1.21 | ||
arch: x86_64 | ||
supported: false | ||
fetch-upstream: "false" | ||
- variant: vmware-k8s-1.20 | ||
arch: x86_64 | ||
supported: true | ||
fetch-upstream: "false" | ||
- variant: vmware-k8s-1.21 | ||
arch: x86_64 | ||
supported: true | ||
fetch-upstream: "false" | ||
- variant: aws-k8s-1.21-nvidia | ||
arch: x86_64 | ||
supported: true | ||
fetch-upstream: "true" | ||
- variant: aws-k8s-1.21-nvidia | ||
arch: aarch64 | ||
supported: true | ||
fetch-upstream: "true" | ||
fail-fast: false | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- run: rustup toolchain install 1.58.0 && rustup default 1.58.0 | ||
- run: cargo install --version 0.35.8 cargo-make | ||
- if: contains(matrix.variant, 'nvidia') | ||
run: | | ||
cat <<-EOF > Licenses.toml | ||
[nvidia] | ||
spdx-id = "LICENSE-LicenseRef-NVIDIA-Customer" | ||
licenses = [ | ||
{ path = "NVIDIA", license-url = "https://www.nvidia.com/en-us/drivers/nvidia-license/" } | ||
] | ||
EOF | ||
- run: cargo make -e BUILDSYS_VARIANT=${{ matrix.variant }} unit-tests | ||
- run: cargo make -e BUILDSYS_VARIANT=${{ matrix.variant }} check-fmt | ||
- run: cargo make -e BUILDSYS_VARIANT=${{ matrix.variant }} -e BUILDSYS_ARCH=${{ matrix.arch }} -e BUILDSYS_JOBS=12 | ||
- run: | | ||
cargo make -e BUILDSYS_VARIANT=${{ matrix.variant }} \ | ||
-e BUILDSYS_ARCH=${{ matrix.arch }} \ | ||
-e BUILDSYS_JOBS=12 \ | ||
-e BUILDSYS_UPSTREAM_SOURCE_FALLBACK=${{ matrix.fetch-upstream }} \ | ||
-e BUILDSYS_UPSTREAM_LICENSE_FETCH=${{ matrix.fetch-upstream }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,3 +11,4 @@ | |
/roles | ||
/Licenses.toml | ||
/licenses | ||
*.run |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
version = 2 | ||
root = "/var/lib/containerd" | ||
state = "/run/containerd" | ||
disabled_plugins = [ | ||
"io.containerd.internal.v1.opt", | ||
"io.containerd.snapshotter.v1.aufs", | ||
"io.containerd.snapshotter.v1.devmapper", | ||
"io.containerd.snapshotter.v1.native", | ||
"io.containerd.snapshotter.v1.zfs", | ||
] | ||
|
||
[grpc] | ||
address = "/run/dockershim.sock" | ||
|
||
[plugins."io.containerd.grpc.v1.cri"] | ||
enable_selinux = true | ||
# Pause container image is specified here, shares the same image as kubelet's pod-infra-container-image | ||
sandbox_image = "{{settings.kubernetes.pod-infra-container-image}}" | ||
|
||
[plugins."io.containerd.grpc.v1.cri".containerd] | ||
default_runtime_name = "nvidia" | ||
Comment on lines
+20
to
+21
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why are we setting this as the default? Wouldn't the typical experience be to have it available as an option set through RuntimeClass? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The typical experience with EKS Optimzed AMI, CO'OS, and the GPU Operator is that the users don't have to set a |
||
|
||
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia] | ||
runtime_type = "io.containerd.runc.v2" | ||
|
||
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options] | ||
SystemdCgroup = true | ||
BinaryName = "nvidia-oci" | ||
|
||
[plugins."io.containerd.grpc.v1.cri".cni] | ||
bin_dir = "/opt/cni/bin" | ||
conf_dir = "/etc/cni/net.d" | ||
|
||
{{#if settings.container-registry.mirrors}} | ||
{{#each settings.container-registry.mirrors}} | ||
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."{{registry}}"] | ||
endpoint = [{{join_array ", " endpoint }}] | ||
{{/each}} | ||
{{/if}} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
[package] | ||
name = "kmod-5_10-nvidia" | ||
version = "0.1.0" | ||
edition = "2018" | ||
publish = false | ||
build = "build.rs" | ||
|
||
[lib] | ||
path = "pkg.rs" | ||
|
||
[package.metadata.build-package] | ||
package-name = "kmod-5.10-nvidia" | ||
|
||
[[package.metadata.build-package.external-files]] | ||
url = "https://us.download.nvidia.com/tesla/470.82.01/NVIDIA-Linux-x86_64-470.82.01.run" | ||
sha512 = "86eac5e2d4fae5525a9332b77da58c0c12e76a35db023a2b14de7d9615b20ba4850a04fa189189c0dcf712f1f343fee98b954aaa6e9b83a959de3c3b8259c7c2" | ||
|
||
[[package.metadata.build-package.external-files]] | ||
url = "https://us.download.nvidia.com/tesla/470.82.01/NVIDIA-Linux-aarch64-470.82.01.run" | ||
sha512 = "62c4adf6fa3c3474c3a09c08ed8056d4e9d00a90effa3851add10d6b2603c23f9986c32ace2e1b2ed7b735779430d634856a06e93af41431db439dfc79503cd8" | ||
|
||
[build-dependencies] | ||
glibc = { path = "../glibc" } | ||
kernel-5_10 = { path = "../kernel-5.10" } |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
use std::process::{exit, Command}; | ||
|
||
fn main() -> Result<(), std::io::Error> { | ||
let ret = Command::new("buildsys").arg("build-package").status()?; | ||
if !ret.success() { | ||
exit(1); | ||
} | ||
Ok(()) | ||
} |
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.
nit. our previous booleans (and values) were unquoted, but these ones are quoted. I think I would unquote these for consistency.
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 previous booleans values were used within the context of the github workflows, which are literal booleans. Since GH worklflows are defined in YAML, I can't use
false
and expect it to get translated to"false"
, I could get a1
, or another value that doesn't work for the environment variables passed tocargo make