From db97ccdf412ea807a71a6bcbeacc049f6e77f5a2 Mon Sep 17 00:00:00 2001 From: Yutong Sun Date: Mon, 19 Aug 2024 22:15:12 +0000 Subject: [PATCH] migrations: migrate to admin container v0.11.10 Signed-off-by: Yutong Sun --- Release.toml | 5 +++- sources/Cargo.lock | 14 ++++++++++ sources/Cargo.toml | 2 ++ .../aws-admin-container-v0-11-10/Cargo.toml | 15 +++++++++++ .../aws-admin-container-v0-11-10/src/main.rs | 27 +++++++++++++++++++ .../Cargo.toml | 15 +++++++++++ .../src/main.rs | 25 +++++++++++++++++ 7 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 sources/settings-migrations/v1.21.1/aws-admin-container-v0-11-10/Cargo.toml create mode 100644 sources/settings-migrations/v1.21.1/aws-admin-container-v0-11-10/src/main.rs create mode 100644 sources/settings-migrations/v1.21.1/public-admin-container-v0-11-10/Cargo.toml create mode 100644 sources/settings-migrations/v1.21.1/public-admin-container-v0-11-10/src/main.rs diff --git a/Release.toml b/Release.toml index f9d1128709a..bfef56d2b44 100644 --- a/Release.toml +++ b/Release.toml @@ -330,4 +330,7 @@ version = "1.21.1" "migrate_v1.21.0_k8s-reserved-cpus-v0-1-0.lz4", "migrate_v1.21.0_add-hostname-override-source.lz4", ] -"(1.21.0, 1.21.1)" = [] +"(1.21.0, 1.21.1)" = [ + "migrate_v1.21.1_aws-admin-container-v0-11-10.lz4", + "migrate_v1.21.1_public-admin-container-v0-11-10.lz4", +] diff --git a/sources/Cargo.lock b/sources/Cargo.lock index 8109ebdadd6..c5748e3e69a 100644 --- a/sources/Cargo.lock +++ b/sources/Cargo.lock @@ -285,6 +285,13 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "aws-admin-container-v0-11-10" +version = "0.1.0" +dependencies = [ + "migration-helpers", +] + [[package]] name = "backtrace" version = "0.3.69" @@ -1620,6 +1627,13 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "public-admin-container-v0-11-10" +version = "0.1.0" +dependencies = [ + "migration-helpers", +] + [[package]] name = "quote" version = "1.0.36" diff --git a/sources/Cargo.toml b/sources/Cargo.toml index 1427db53bae..7536e71dee8 100644 --- a/sources/Cargo.toml +++ b/sources/Cargo.toml @@ -41,6 +41,8 @@ members = [ "settings-migrations/v1.21.0/pod-infra-container-image-services", "settings-migrations/v1.21.0/k8s-reserved-cpus-v0-1-0", "settings-migrations/v1.21.0/add-hostname-override-source", + "settings-migrations/v1.21.1/aws-admin-container-v0-11-10", + "settings-migrations/v1.21.1/public-admin-container-v0-11-10", "settings-plugins/aws-dev", "settings-plugins/aws-ecs-1", diff --git a/sources/settings-migrations/v1.21.1/aws-admin-container-v0-11-10/Cargo.toml b/sources/settings-migrations/v1.21.1/aws-admin-container-v0-11-10/Cargo.toml new file mode 100644 index 00000000000..0c2e868ad7d --- /dev/null +++ b/sources/settings-migrations/v1.21.1/aws-admin-container-v0-11-10/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "aws-admin-container-v0-11-10" +version = "0.1.0" +authors = ["Yutong Sun "] +license = "Apache-2.0 OR MIT" +edition = "2021" +publish = false +# Don't rebuild crate just because of changes to README. +exclude = ["README.md"] + + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +migration-helpers.workspace = true diff --git a/sources/settings-migrations/v1.21.1/aws-admin-container-v0-11-10/src/main.rs b/sources/settings-migrations/v1.21.1/aws-admin-container-v0-11-10/src/main.rs new file mode 100644 index 00000000000..b9b2ad5b389 --- /dev/null +++ b/sources/settings-migrations/v1.21.1/aws-admin-container-v0-11-10/src/main.rs @@ -0,0 +1,27 @@ +use migration_helpers::common_migrations::ReplaceSchnauzerMigration; +use migration_helpers::{migrate, Result}; +use std::process; + +const OLD_ADMIN_CTR_CMDLINE: &str = + "schnauzer-v2 render --requires 'aws@v1(helpers=[ecr-prefix])' --template '{{ ecr-prefix settings.aws.region }}/bottlerocket-admin:v0.11.9'"; +const NEW_ADMIN_CTR_CMDLINE: &str = + "schnauzer-v2 render --requires 'aws@v1(helpers=[ecr-prefix])' --template '{{ ecr-prefix settings.aws.region }}/bottlerocket-admin:v0.11.10'"; + +/// We bumped the version of the default admin container +fn run() -> Result<()> { + migrate(ReplaceSchnauzerMigration { + setting: "settings.host-containers.admin.source", + old_schnauzer_cmdline: OLD_ADMIN_CTR_CMDLINE, + new_schnauzer_cmdline: NEW_ADMIN_CTR_CMDLINE, + }) +} + +// 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); + } +} diff --git a/sources/settings-migrations/v1.21.1/public-admin-container-v0-11-10/Cargo.toml b/sources/settings-migrations/v1.21.1/public-admin-container-v0-11-10/Cargo.toml new file mode 100644 index 00000000000..3dbc2239b9f --- /dev/null +++ b/sources/settings-migrations/v1.21.1/public-admin-container-v0-11-10/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "public-admin-container-v0-11-10" +version = "0.1.0" +authors = ["Yutong Sun "] +license = "Apache-2.0 OR MIT" +edition = "2021" +publish = false +# Don't rebuild crate just because of changes to README. +exclude = ["README.md"] + + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +migration-helpers.workspace = true diff --git a/sources/settings-migrations/v1.21.1/public-admin-container-v0-11-10/src/main.rs b/sources/settings-migrations/v1.21.1/public-admin-container-v0-11-10/src/main.rs new file mode 100644 index 00000000000..e78550a7cb7 --- /dev/null +++ b/sources/settings-migrations/v1.21.1/public-admin-container-v0-11-10/src/main.rs @@ -0,0 +1,25 @@ +use migration_helpers::common_migrations::ReplaceStringMigration; +use migration_helpers::{migrate, Result}; +use std::process; + +const OLD_ADMIN_CTR_SOURCE_VAL: &str = "public.ecr.aws/bottlerocket/bottlerocket-admin:v0.11.9"; +const NEW_ADMIN_CTR_SOURCE_VAL: &str = "public.ecr.aws/bottlerocket/bottlerocket-admin:v0.11.10"; + +/// We bumped the version of the default admin container +fn run() -> Result<()> { + migrate(ReplaceStringMigration { + setting: "settings.host-containers.admin.source", + old_val: OLD_ADMIN_CTR_SOURCE_VAL, + new_val: NEW_ADMIN_CTR_SOURCE_VAL, + }) +} + +// 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); + } +}