Skip to content

Commit

Permalink
Nvidia Settings API changes
Browse files Browse the repository at this point in the history
  • Loading branch information
monirul committed Aug 14, 2024
1 parent 4d43022 commit 8adc19c
Show file tree
Hide file tree
Showing 28 changed files with 397 additions and 43 deletions.
6 changes: 6 additions & 0 deletions Release.toml
Original file line number Diff line number Diff line change
Expand Up @@ -330,3 +330,9 @@ version = "1.21.0"
"migrate_v1.21.0_k8s-reserved-cpus-v0-1-0.lz4",
"migrate_v1.21.0_add-hostname-override-source.lz4",
]
"(1.21.0, 1.22.0)" = [
"migrate_v1.21.1_nvidia-container-runtime-metadata.lz4",
"migrate_v1.21.1_nvidia-container-runtime-settings.lz4",
"migrate_v1.21.1_nvidia-k8s-device-plugin-metadata.lz4",
"migrate_v1.21.1_nvidia-k8s-device-plugin-settings.lz4",
]
1 change: 1 addition & 0 deletions Twoliter.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ vendor = "bottlerocket"
name = "bottlerocket-core-kit"
version = "2.3.1"
vendor = "bottlerocket"

46 changes: 37 additions & 9 deletions packages/settings-plugins/settings-plugins.spec
Original file line number Diff line number Diff line change
Expand Up @@ -57,26 +57,37 @@ Summary: Settings plugin for the aws-k8s variants
Requires: %{_cross_os}variant-family(aws-k8s)
Provides: %{_cross_os}settings-plugin(any)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.23)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.23-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.24)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.24-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.25)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.25-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.26)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.26-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.27)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.27-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.28)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.28-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.29)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.29-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.30)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.30-nvidia)
Conflicts: %{_cross_os}settings-plugin(any)
Conflicts: %{_cross_os}variant-flavor(nvidia)


%description aws-k8s
%{summary}.

%package aws-k8s-nvidia
Summary: Settings plugin for the aws-k8s-nvidia variants
Requires: (%{_cross_os}variant-family(aws-k8s) and %{_cross_os}variant-flavor(nvidia))
Provides: %{_cross_os}settings-plugin(any)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.23-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.24-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.25-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.26-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.27-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.28-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.29-nvidia)
Provides: %{_cross_os}settings-plugin(aws-k8s-1.30-nvidia)
Conflicts: %{_cross_os}settings-plugin(any)

%description aws-k8s-nvidia
%{summary}.

%package metal-dev
Summary: Settings plugin for the metal-dev variant
Requires: %{_cross_os}variant(metal-dev)
Expand Down Expand Up @@ -132,13 +143,24 @@ Conflicts: %{_cross_os}settings-plugin(any)
-p settings-plugin-aws-dev \
-p settings-plugin-aws-ecs-1 \
-p settings-plugin-aws-ecs-2 \
-p settings-plugin-aws-k8s \
-p settings-plugin-metal-dev \
-p settings-plugin-metal-k8s \
-p settings-plugin-vmware-dev \
-p settings-plugin-vmware-k8s \
%{nil}

# The settings-plugin-aws-k8s and settings-plugin-aws-k8s-nvidia are compiled independently
# due to the requirement of distinct feature flags. This separation is necessary to prevent
# feature unification, as detailed in the Rust Cargo documentation:
# https://doc.rust-lang.org/cargo/reference/features.html#feature-unification
%cargo_build --manifest-path %{_builddir}/sources/Cargo.toml \
-p settings-plugin-aws-k8s \
%{nil}

%cargo_build --manifest-path %{_builddir}/sources/Cargo.toml \
-p settings-plugin-aws-k8s-nvidia \
%{nil}

%install
install -d %{buildroot}%{_cross_pluginsdir}
install -d %{buildroot}%{_cross_factorydir}%{_cross_sysconfdir}/ld.so.conf.d
Expand All @@ -148,6 +170,7 @@ for plugin in \
aws-dev \
aws-ecs-1 \
aws-ecs-2 \
aws-k8s-nvidia \
aws-k8s \
metal-dev \
metal-k8s \
Expand Down Expand Up @@ -191,6 +214,11 @@ done
%{_cross_factorydir}%{_cross_sysconfdir}/ld.so.conf.d/aws-k8s.conf
%{_cross_tmpfilesdir}/settings-plugin-aws-k8s.conf

%files aws-k8s-nvidia
%{_cross_pluginsdir}/aws-k8s-nvidia/libsettings.so
%{_cross_factorydir}%{_cross_sysconfdir}/ld.so.conf.d/aws-k8s-nvidia.conf
%{_cross_tmpfilesdir}/settings-plugin-aws-k8s-nvidia.conf

%files metal-dev
%{_cross_pluginsdir}/metal-dev/libsettings.so
%{_cross_factorydir}%{_cross_sysconfdir}/ld.so.conf.d/metal-dev.conf
Expand Down
Loading

0 comments on commit 8adc19c

Please sign in to comment.