Skip to content

Commit

Permalink
Merge pull request #3945 from yeazelm/container-runtime-nvidia
Browse files Browse the repository at this point in the history
settings: Add container-runtime settings to AWS K8s NVIDIA variants
  • Loading branch information
yeazelm authored May 6, 2024
2 parents 7eee5a2 + 85b9770 commit 64eff58
Show file tree
Hide file tree
Showing 13 changed files with 126 additions and 12 deletions.
2 changes: 2 additions & 0 deletions Release.toml
Original file line number Diff line number Diff line change
Expand Up @@ -305,4 +305,6 @@ version = "1.20.0"
"migrate_v1.20.0_add-ntp-default-options-v0-1-0.lz4",
"migrate_v1.20.0_static-pods-add-prefix-v0-1-0.lz4",
"migrate_v1.20.0_static-pods-services-cfg-v0-1-0.lz4",
"migrate_v1.20.0_container-runtime-nvidia.lz4",
"migrate_v1.20.0_container-runtime-metadata-nvidia.lz4",
]
16 changes: 16 additions & 0 deletions sources/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions sources/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ members = [
"api/migration/migrations/v1.19.5/public-control-container-v0-7-11",
"api/migration/migrations/v1.19.5/aws-admin-container-v0-11-7",
"api/migration/migrations/v1.19.5/public-admin-container-v0-11-7",
"api/migration/migrations/v1.20.0/container-runtime-nvidia",
"api/migration/migrations/v1.20.0/container-runtime-metadata-nvidia",

"bloodhound",

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[package]
name = "container-runtime-metadata-nvidia"
version = "0.1.0"
edition = "2021"
authors = ["Matthew Yeazel <yeazelm@amazon.com>"]
license = "Apache-2.0 OR MIT"
publish = false
# Don't rebuild crate just because of changes to README.
exclude = ["README.md"]

[dependencies]
migration-helpers = { path = "../../../migration-helpers", version = "0.1.0"}

[build-dependencies]
bottlerocket-variant = { version = "0.1", path = "../../../../../bottlerocket-variant" }
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
use bottlerocket_variant::Variant;

fn main() {
let variant = Variant::from_env().unwrap();
variant.emit_cfgs();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
use migration_helpers::common_migrations::{AddMetadataMigration, NoOpMigration, SettingMetadata};
use migration_helpers::migrate;
use migration_helpers::Result;
use std::process;

/// We added a new setting for configuring container runtime (containerd) settings only for NVIDIA k8s variants.
fn run() -> Result<()> {
if cfg!(variant_family = "aws-k8s") && cfg!(variant_flavor = "nvidia") {
migrate(AddMetadataMigration(&[SettingMetadata {
metadata: &["affected-services"],
setting: "settings.container-runtime",
}]))
} else {
migrate(NoOpMigration)
}
}

// Returning a Result from main makes it print a Debug representation of the error, but with Snafu
// we have nice Display representations of the error, so we wrap "main" (run) and print any error.
// https://github.com/shepmaster/snafu/issues/110
fn main() {
if let Err(e) = run() {
eprintln!("{}", e);
process::exit(1);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[package]
name = "container-runtime-nvidia"
version = "0.1.0"
edition = "2021"
authors = ["Matthew Yeazel <yeazelm@amazon.com>"]
license = "Apache-2.0 OR MIT"
publish = false
# Don't rebuild crate just because of changes to README.
exclude = ["README.md"]

[dependencies]
migration-helpers = { path = "../../../migration-helpers", version = "0.1.0"}

[build-dependencies]
bottlerocket-variant = { version = "0.1", path = "../../../../../bottlerocket-variant" }
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
use bottlerocket_variant::Variant;

fn main() {
let variant = Variant::from_env().unwrap();
variant.emit_cfgs();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
use migration_helpers::common_migrations::{AddPrefixesMigration, NoOpMigration};
use migration_helpers::{migrate, Result};
use std::process;

/// We added a new setting for configuring container runtime (containerd) settings only for NVIDIA k8s variants.
fn run() -> Result<()> {
if cfg!(variant_family = "aws-k8s") && cfg!(variant_flavor = "nvidia") {
migrate(AddPrefixesMigration(vec!["settings.container-runtime"]))
} else {
migrate(NoOpMigration)
}
}

// Returning a Result from main makes it print a Debug representation of the error, but with Snafu
// we have nice Display representations of the error, so we wrap "main" (run) and print any error.
// https://github.com/shepmaster/snafu/issues/110
fn main() {
if let Err(e) = run() {
eprintln!("{}", e);
process::exit(1);
}
}
7 changes: 4 additions & 3 deletions sources/models/src/aws-k8s-1.24-nvidia/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::{
AutoScalingSettings, BootSettings, BootstrapContainer, CloudFormationSettings, DnsSettings,
HostContainer, KubernetesSettings, MetricsSettings, NetworkSettings, OciDefaults, OciHooks,
PemCertificate,
AutoScalingSettings, BootSettings, BootstrapContainer, CloudFormationSettings,
ContainerRuntimeSettings, DnsSettings, HostContainer, KubernetesSettings, MetricsSettings,
NetworkSettings, OciDefaults, OciHooks, PemCertificate,
};
use modeled_types::Identifier;

Expand Down Expand Up @@ -29,5 +29,6 @@ struct Settings {
oci_hooks: OciHooks,
cloudformation: CloudFormationSettings,
dns: DnsSettings,
container_runtime: ContainerRuntimeSettings,
autoscaling: AutoScalingSettings,
}
7 changes: 4 additions & 3 deletions sources/models/src/aws-k8s-1.25-nvidia/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::{
AutoScalingSettings, BootSettings, BootstrapContainer, CloudFormationSettings, DnsSettings,
HostContainer, KubernetesSettings, MetricsSettings, NetworkSettings, OciDefaults, OciHooks,
PemCertificate,
AutoScalingSettings, BootSettings, BootstrapContainer, CloudFormationSettings,
ContainerRuntimeSettings, DnsSettings, HostContainer, KubernetesSettings, MetricsSettings,
NetworkSettings, OciDefaults, OciHooks, PemCertificate,
};
use modeled_types::Identifier;

Expand Down Expand Up @@ -29,5 +29,6 @@ struct Settings {
oci_hooks: OciHooks,
cloudformation: CloudFormationSettings,
dns: DnsSettings,
container_runtime: ContainerRuntimeSettings,
autoscaling: AutoScalingSettings,
}
7 changes: 4 additions & 3 deletions sources/models/src/aws-k8s-1.26-nvidia/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::{
AutoScalingSettings, BootSettings, BootstrapContainer, CloudFormationSettings, DnsSettings,
HostContainer, KubernetesSettings, MetricsSettings, NetworkSettings, OciDefaults, OciHooks,
PemCertificate,
AutoScalingSettings, BootSettings, BootstrapContainer, CloudFormationSettings,
ContainerRuntimeSettings, DnsSettings, HostContainer, KubernetesSettings, MetricsSettings,
NetworkSettings, OciDefaults, OciHooks, PemCertificate,
};
use modeled_types::Identifier;

Expand Down Expand Up @@ -29,5 +29,6 @@ struct Settings {
oci_hooks: OciHooks,
cloudformation: CloudFormationSettings,
dns: DnsSettings,
container_runtime: ContainerRuntimeSettings,
autoscaling: AutoScalingSettings,
}
7 changes: 4 additions & 3 deletions sources/models/src/aws-k8s-1.30-nvidia/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::{
AutoScalingSettings, BootSettings, BootstrapContainer, CloudFormationSettings, DnsSettings,
HostContainer, KubernetesSettings, MetricsSettings, NetworkSettings, OciDefaults, OciHooks,
PemCertificate,
AutoScalingSettings, BootSettings, BootstrapContainer, CloudFormationSettings,
ContainerRuntimeSettings, DnsSettings, HostContainer, KubernetesSettings, MetricsSettings,
NetworkSettings, OciDefaults, OciHooks, PemCertificate,
};
use modeled_types::Identifier;

Expand Down Expand Up @@ -29,5 +29,6 @@ struct Settings {
oci_hooks: OciHooks,
cloudformation: CloudFormationSettings,
dns: DnsSettings,
container_runtime: ContainerRuntimeSettings,
autoscaling: AutoScalingSettings,
}

0 comments on commit 64eff58

Please sign in to comment.