diff --git a/Cargo.lock b/Cargo.lock index bc7100b41c9..b4417bc1b40 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4314,7 +4314,7 @@ dependencies = [ "termios", "tokio", "tokio-tungstenite 0.23.1", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "uuid", ] @@ -6177,25 +6177,37 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jiff" -version = "0.2.21" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e3d65f018c6ae946ab16e80944b97096ed73c35b221d1c478a6c81d8f57940" +checksum = "e184d09547b80eb7e20d141ba2fb1fbac843ca53f4cf1b31210adc4c1adc6e16" dependencies = [ + "defmt 1.0.1", + "jiff-core", "jiff-static", "jiff-tzdb-platform", "log", "portable-atomic", "portable-atomic-util", "serde_core", - "windows-sys 0.61.2", + "windows-link", +] + +[[package]] +name = "jiff-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09" +dependencies = [ + "defmt 1.0.1", ] [[package]] name = "jiff-static" -version = "0.2.21" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17c2b211d863c7fde02cbea8a3c1a439b98e109286554f2860bdded7ff83818" +checksum = "323da076b7a6faf914dc677cb05a4b907742ff7375c8322c9e7f5061e5e0e9de" dependencies = [ + "jiff-core", "proc-macro2", "quote", "syn 2.0.117", @@ -7387,7 +7399,7 @@ dependencies = [ "thiserror 2.0.18", "tokio", "trust-quorum-protocol", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "uuid", ] @@ -7485,7 +7497,7 @@ dependencies = [ "tokio", "trust-quorum-protocol", "trust-quorum-types", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "url", "usdt 0.5.0", "uuid", @@ -7549,7 +7561,6 @@ dependencies = [ "serde_json", "slog-error-chain", "trust-quorum-types", - "tufaceous-artifact 0.1.0", "uuid", ] @@ -7645,7 +7656,7 @@ dependencies = [ "swrite", "thiserror 2.0.18", "tokio", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "typed-rng", "uuid", ] @@ -7779,7 +7790,7 @@ dependencies = [ "tokio-stream", "tokio-util", "trust-quorum-types", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "uuid", ] @@ -7823,7 +7834,7 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "sled-agent-types", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", ] [[package]] @@ -7970,11 +7981,9 @@ dependencies = [ "tokio", "toml 0.8.23", "transient-dns-server", - "tufaceous 0.1.0", - "tufaceous-artifact 0.1.0", - "tufaceous-lib", + "tufaceous 0.2.0", + "tufaceous-artifact 0.2.0", "typed-rng", - "update-common", "uuid", ] @@ -8047,7 +8056,7 @@ dependencies = [ "swrite", "sync-ptr", "thiserror 2.0.18", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "typed-rng", "uuid", ] @@ -8275,10 +8284,10 @@ dependencies = [ "textwrap 0.16.2", "thiserror 2.0.18", "tokio", - "tough", + "tough 0.22.0", "trust-quorum-protocol", "trust-quorum-types", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "unicode-width 0.1.14", "url", "uuid", @@ -8316,8 +8325,8 @@ dependencies = [ "slog-error-chain", "strum 0.27.2", "thiserror 2.0.18", - "tough", - "tufaceous-artifact 0.1.0", + "tough 0.22.0", + "tufaceous-artifact 0.2.0", "url", "uuid", ] @@ -8681,6 +8690,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "olpc-cjson" +version = "0.1.4" +source = "git+https://github.com/oxidecomputer/tough?branch=oxide%2Fdevelop#56967c9651efcffd7326198f04fc388c4f0f92b9" +dependencies = [ + "serde", + "serde_json", + "unicode-normalization", +] + [[package]] name = "omicron-certificates" version = "0.1.0" @@ -8856,6 +8875,7 @@ dependencies = [ "tokio", "toml 0.8.23", "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "uuid", ] @@ -9280,13 +9300,10 @@ dependencies = [ "tokio", "tokio-postgres", "tokio-util", - "tough", "transient-dns-server", "trust-quorum-types", - "tufaceous 0.1.0", - "tufaceous-artifact 0.1.0", - "tufaceous-lib", - "update-common", + "tufaceous 0.2.0", + "tufaceous-artifact 0.2.0", "url", "usdt 0.5.0", "uuid", @@ -9431,7 +9448,6 @@ dependencies = [ "textwrap 0.16.2", "tokio", "trust-quorum-types", - "tufaceous-artifact 0.1.0", "unicode-width 0.1.14", "url", "uuid", @@ -9599,6 +9615,7 @@ dependencies = [ "bytes", "camino", "clap", + "display-error-chain", "dropshot", "futures", "libc", @@ -9612,8 +9629,8 @@ dependencies = [ "slog-error-chain", "tokio", "tokio-util", - "tufaceous-artifact 0.1.0", - "update-common", + "tufaceous 0.2.0", + "tufaceous-artifact 0.2.0", ] [[package]] @@ -9746,8 +9763,8 @@ dependencies = [ "trust-quorum", "trust-quorum-protocol", "trust-quorum-types", - "tufaceous-artifact 0.1.0", - "tufaceous-brand-metadata 0.1.0", + "tufaceous-artifact 0.2.0", + "tufaceous-brand-metadata 0.2.0", "usdt 0.5.0", "uuid", "walkdir", @@ -9824,7 +9841,6 @@ dependencies = [ "aws-lc-sys", "base16ct 0.2.0", "base64 0.22.1", - "base64ct", "bitflags 1.3.2", "bitflags 2.11.0", "bstr", @@ -9892,6 +9908,7 @@ dependencies = [ "ipnet", "ipnetwork", "itertools 0.13.0", + "jiff", "lalrpop-util", "lazy_static", "libc", @@ -9910,7 +9927,6 @@ dependencies = [ "once_cell", "openapiv3", "peg-runtime", - "pem-rfc7468 0.7.0", "percent-encoding", "petgraph 0.6.5", "petgraph 0.8.3", @@ -9919,7 +9935,6 @@ dependencies = [ "ppv-lite86", "predicates", "proc-macro2", - "proptest", "quote", "rand 0.8.6", "rand 0.9.2", @@ -9969,8 +9984,9 @@ dependencies = [ "toml_edit 0.19.15", "toml_edit 0.22.27", "toml_parser", - "tough", + "tough 0.22.0", "tracing", + "tufaceous-artifact 0.2.0", "typenum", "url", "usdt 0.6.0", @@ -12367,6 +12383,7 @@ dependencies = [ "omicron-test-utils", "omicron-uuid-kinds", "omicron-workspace-hack", + "oxide-tokio-rt", "pq-sys", "semver 1.0.28", "serde", @@ -12380,10 +12397,8 @@ dependencies = [ "tabled 0.15.0", "tokio", "toml 0.8.23", - "tufaceous 0.1.0", - "tufaceous-artifact 0.1.0", - "tufaceous-lib", - "update-common", + "tufaceous 0.2.0", + "tufaceous-artifact 0.2.0", "uuid", ] @@ -12414,7 +12429,7 @@ dependencies = [ "slog", "swrite", "tokio", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", ] [[package]] @@ -12585,7 +12600,7 @@ dependencies = [ "omicron-workspace-hack", "schemars 0.8.22", "serde", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", ] [[package]] @@ -13982,7 +13997,6 @@ dependencies = [ "slog-error-chain", "static_assertions", "trust-quorum-types", - "tufaceous-artifact 0.1.0", "uuid", "x509-cert", ] @@ -14066,7 +14080,7 @@ dependencies = [ "thiserror 2.0.18", "tokio", "trust-quorum-types", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "xshell", "zone", ] @@ -14217,7 +14231,7 @@ dependencies = [ "slog", "slog-error-chain", "thiserror 2.0.18", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", ] [[package]] @@ -14234,7 +14248,7 @@ dependencies = [ "sha2 0.10.9", "sled-agent-types", "sled-storage", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", ] [[package]] @@ -14264,7 +14278,7 @@ dependencies = [ "swrite", "test-strategy", "thiserror 2.0.18", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "uuid", ] @@ -14308,7 +14322,7 @@ dependencies = [ "thiserror 2.0.18", "toml 0.8.23", "trust-quorum-types-versions", - "tufaceous-artifact 0.1.0", + "tufaceous-artifact 0.2.0", "uuid", ] @@ -15097,7 +15111,6 @@ dependencies = [ "slog-error-chain", "tokio", "tokio-util", - "tufaceous-artifact 0.1.0", "uuid", "zip 4.6.1", ] @@ -15985,7 +15998,7 @@ dependencies = [ "globset", "hex", "log", - "olpc-cjson", + "olpc-cjson 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "pem", "percent-encoding", "reqwest 0.12.28", @@ -16003,6 +16016,39 @@ dependencies = [ "walkdir", ] +[[package]] +name = "tough" +version = "0.24.0" +source = "git+https://github.com/oxidecomputer/tough?branch=oxide%2Fdevelop#56967c9651efcffd7326198f04fc388c4f0f92b9" +dependencies = [ + "async-recursion", + "async-trait", + "aws-lc-rs", + "bytes", + "dyn-clone", + "futures", + "futures-core", + "globset", + "hex", + "jiff", + "log", + "olpc-cjson 0.1.4 (git+https://github.com/oxidecomputer/tough?branch=oxide%2Fdevelop)", + "pem", + "percent-encoding", + "rustls", + "serde", + "serde_json", + "serde_plain", + "snafu", + "tempfile", + "tokio", + "tokio-util", + "typed-path", + "untrusted 0.7.1", + "url", + "walkdir", +] + [[package]] name = "tower" version = "0.5.3" @@ -16416,7 +16462,7 @@ dependencies = [ [[package]] name = "tufaceous" version = "0.2.0" -source = "git+https://github.com/oxidecomputer/tufaceous?branch=main#de59b9508e99da8fc39a70d29e4d69300325b220" +source = "git+https://github.com/oxidecomputer/tufaceous?branch=main#38730b689596098c61c2c683fe4848712f2e40da" dependencies = [ "atomicwrites", "aws-lc-rs", @@ -16431,6 +16477,7 @@ dependencies = [ "futures-util", "hex", "hubtools 0.4.7 (git+https://github.com/oxidecomputer/hubtools.git?rev=2b1ef9b38d75563ea800baa3b17327eec17b1b7a)", + "jiff", "rats-corim 0.1.0 (git+https://github.com/oxidecomputer/rats-corim.git?rev=f0d5d5168d3d31487a56df32c676b0c6240bcc6b)", "rawzip", "semver 1.0.28", @@ -16441,7 +16488,7 @@ dependencies = [ "tar", "thiserror 2.0.18", "tokio", - "tough", + "tough 0.24.0", "tufaceous-artifact 0.2.0", "tufaceous-brand-metadata 0.2.0", "url", @@ -16467,13 +16514,16 @@ dependencies = [ [[package]] name = "tufaceous-artifact" version = "0.2.0" -source = "git+https://github.com/oxidecomputer/tufaceous?branch=main#de59b9508e99da8fc39a70d29e4d69300325b220" +source = "git+https://github.com/oxidecomputer/tufaceous?branch=main#38730b689596098c61c2c683fe4848712f2e40da" dependencies = [ "byte-wrapper", "daft", "hubtools 0.4.7 (git+https://github.com/oxidecomputer/hubtools.git?rev=2b1ef9b38d75563ea800baa3b17327eec17b1b7a)", + "proptest", + "schemars 0.8.22", "serde", "serde_json", + "test-strategy", "thiserror 2.0.18", ] @@ -16492,7 +16542,7 @@ dependencies = [ [[package]] name = "tufaceous-brand-metadata" version = "0.2.0" -source = "git+https://github.com/oxidecomputer/tufaceous?branch=main#de59b9508e99da8fc39a70d29e4d69300325b220" +source = "git+https://github.com/oxidecomputer/tufaceous?branch=main#38730b689596098c61c2c683fe4848712f2e40da" dependencies = [ "serde", "serde_json", @@ -16535,7 +16585,7 @@ dependencies = [ "thiserror 2.0.18", "tokio", "toml 0.8.23", - "tough", + "tough 0.22.0", "tufaceous-artifact 0.1.0", "tufaceous-brand-metadata 0.1.0", "url", @@ -16827,14 +16877,16 @@ dependencies = [ "omicron-test-utils", "omicron-workspace-hack", "rand 0.9.2", + "schemars 0.8.22", "semver 1.0.28", + "serde", "sha2 0.10.9", "slog", "tar", "thiserror 2.0.18", "tokio", "tokio-util", - "tough", + "tough 0.22.0", "tufaceous 0.1.0", "tufaceous-artifact 0.1.0", "tufaceous-brand-metadata 0.1.0", @@ -17582,7 +17634,7 @@ dependencies = [ "tokio-stream", "tokio-util", "toml 0.8.23", - "tough", + "tough 0.22.0", "transceiver-controller 0.1.1 (git+https://github.com/oxidecomputer/transceiver-control)", "tufaceous 0.1.0", "tufaceous-artifact 0.1.0", diff --git a/Cargo.toml b/Cargo.toml index e9f1ecd714f..1e6798a1f85 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -614,6 +614,7 @@ linear-map = "1.2.0" live-tests-macros = { path = "live-tests/macros" } lldpd_client = { git = "https://github.com/oxidecomputer/lldp", rev = "54b266174d4de9628bca9c97b0db176e16f12154", package = "lldpd-client" } lldp_protocol = { git = "https://github.com/oxidecomputer/lldp", rev = "54b266174d4de9628bca9c97b0db176e16f12154", package = "protocol" } +lpc55_areas = { git = "https://github.com/oxidecomputer/lpc55_support" } omicron-deployment-graph = { path = "dev-tools/omicron-deployment-graph" } macaddr = { version = "1.0.1", features = ["serde_std"] } maplit = "1.0.2" @@ -878,7 +879,8 @@ tufaceous-artifact = { git = "https://github.com/oxidecomputer/tufaceous", branc tufaceous-brand-metadata = { git = "https://github.com/oxidecomputer/tufaceous", branch = "v1" } tufaceous-lib = { git = "https://github.com/oxidecomputer/tufaceous", branch = "v1" } tufaceous-v2 = { git = "https://github.com/oxidecomputer/tufaceous", branch = "main", package = "tufaceous" } -tufaceous-artifact-v2 = { git = "https://github.com/oxidecomputer/tufaceous", branch = "main", package = "tufaceous-artifact" } +tufaceous-artifact-v2 = { git = "https://github.com/oxidecomputer/tufaceous", branch = "main", package = "tufaceous-artifact", features = ["proptest", "schemars"] } +tufaceous-brand-metadata-v2 = { git = "https://github.com/oxidecomputer/tufaceous", branch = "main", package = "tufaceous-brand-metadata" } tui-tree-widget = "0.23.1" typed-rng = { path = "typed-rng" } typify = "0.3.0" diff --git a/common/Cargo.toml b/common/Cargo.toml index 391e7439dc7..9caab7b4810 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -55,6 +55,7 @@ progenitor-extras.workspace = true omicron-workspace-hack.workspace = true regress.workspace = true tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true [dev-dependencies] camino-tempfile.workspace = true diff --git a/common/src/api/external/mod.rs b/common/src/api/external/mod.rs index b0aa6d2c317..2f8243e15a9 100644 --- a/common/src/api/external/mod.rs +++ b/common/src/api/external/mod.rs @@ -11,7 +11,6 @@ mod error; pub mod http_pagination; pub use crate::address::IpVersion; pub use crate::api::internal::shared::AllowedSourceIps; -use crate::update::ArtifactId; use api_identity::ObjectIdentity; use chrono::DateTime; use chrono::Utc; @@ -28,7 +27,6 @@ use parse_display::Display; use parse_display::FromStr; use rand::Rng; use schemars::JsonSchema; -use semver::Version; use serde::Deserialize; use serde::Serialize; use serde_with::{DeserializeFromStr, SerializeDisplay}; @@ -45,7 +43,6 @@ use std::num::{NonZeroU16, NonZeroU32}; use std::ops::Deref; use std::ops::RangeInclusive; use std::str::FromStr; -use tufaceous_artifact::ArtifactHash; use uuid::Uuid; // The type aliases below exist primarily to ensure consistency among return @@ -591,6 +588,8 @@ impl Display for ByteCount { // TODO-cleanup This could use the experimental std::num::IntErrorKind. #[derive( Debug, + Clone, + Copy, Eq, thiserror::Error, Ord, @@ -2506,84 +2505,6 @@ pub struct ServiceIcmpConfig { pub enabled: bool, } -// TODO: move these TUF repo structs out of this file. They're not external -// anymore after refactors that use views::TufRepo in the external API. They are -// still used extensively in internal services. - -/// A description of an uploaded TUF repository. -#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize, JsonSchema)] -pub struct TufRepoDescription { - /// Information about the repository. - pub repo: TufRepoMeta, - - /// Information about the artifacts present in the repository. - pub artifacts: Vec, -} - -impl TufRepoDescription { - /// Sorts the artifacts so that descriptions can be compared. - pub fn sort_artifacts(&mut self) { - self.artifacts.sort_by(|a, b| a.id.cmp(&b.id)); - } -} - -/// Metadata about a TUF repository. -/// -/// Found within a `TufRepoDescription`. -#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize, JsonSchema)] -pub struct TufRepoMeta { - /// The hash of the repository. - /// - /// This is a slight abuse of `ArtifactHash`, since that's the hash of - /// individual artifacts within the repository. However, we use it here for - /// convenience. - pub hash: ArtifactHash, - - /// The version of the targets role. - pub targets_role_version: u64, - - /// The time until which the repo is valid. - pub valid_until: DateTime, - - /// The system version in artifacts.json. - pub system_version: Version, - - /// The file name of the repository. - /// - /// This is purely used for debugging and may not always be correct (e.g. - /// with wicket, we read the file contents from stdin so we don't know the - /// correct file name). - pub file_name: String, -} - -/// Metadata about an individual TUF artifact. -/// -/// Found within a `TufRepoDescription`. -#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize, JsonSchema)] -pub struct TufArtifactMeta { - /// The artifact ID. - pub id: ArtifactId, - - /// The hash of the artifact. - pub hash: ArtifactHash, - - /// The size of the artifact in bytes. - pub size: u64, - - /// Contents of the `BORD` field of a Hubris archive caboose. Only - /// applicable to artifacts that are Hubris archives. - /// - /// This field should always be `Some(_)` if `sign` is `Some(_)`, but the - /// opposite is not true (SP images will have a `board` but not a `sign`). - pub board: Option, - - /// Contents of the `SIGN` field of a Hubris archive caboose, i.e., - /// an identifier for the set of valid signing keys. Currently only - /// applicable to RoT image and bootloader artifacts, where it will - /// be an LPC55 Root Key Table Hash (RKTH). - pub sign: Option>, -} - /// A networking probe #[derive( Clone, Debug, Deserialize, JsonSchema, Serialize, PartialEq, ObjectIdentity, diff --git a/common/src/update/install_manifest.rs b/common/src/update/install_manifest.rs index 009ba6358af..0942e2fb065 100644 --- a/common/src/update/install_manifest.rs +++ b/common/src/update/install_manifest.rs @@ -85,6 +85,22 @@ pub struct OmicronInstallMetadata { pub hash: ArtifactHash, } +impl OmicronInstallMetadata { + // TODO(iliana): remove when cleaning up Tufaceous v1 + pub fn new_v2( + file_name: String, + file_size: u64, + hash: tufaceous_artifact_v2::ArtifactHash, + ) -> Self { + Self { file_name, file_size, hash: ArtifactHash(hash.0) } + } + + // TODO(iliana): remove when cleaning up Tufaceous v1 + pub fn hash_v2(&self) -> tufaceous_artifact_v2::ArtifactHash { + tufaceous_artifact_v2::ArtifactHash(self.hash.0) + } +} + impl IdOrdItem for OmicronInstallMetadata { type Key<'a> = &'a str; diff --git a/dev-tools/omdb/Cargo.toml b/dev-tools/omdb/Cargo.toml index b8f44818fcf..b05e5b6961f 100644 --- a/dev-tools/omdb/Cargo.toml +++ b/dev-tools/omdb/Cargo.toml @@ -97,7 +97,6 @@ tabled.workspace = true textwrap.workspace = true tokio = { workspace = true, features = ["full"] } trust-quorum-types.workspace = true -tufaceous-artifact.workspace = true unicode-width.workspace = true oxide-update-engine-types.workspace = true oxide-update-engine-display.workspace = true diff --git a/dev-tools/reconfigurator-cli/Cargo.toml b/dev-tools/reconfigurator-cli/Cargo.toml index 5c19b513645..9cfa03923f2 100644 --- a/dev-tools/reconfigurator-cli/Cargo.toml +++ b/dev-tools/reconfigurator-cli/Cargo.toml @@ -34,6 +34,7 @@ sled-agent-types.workspace = true omicron-common.workspace = true omicron-repl-utils.workspace = true omicron-uuid-kinds.workspace = true +oxide-tokio-rt.workspace = true # See omicron-rpaths for more about the "pq-sys" dependency. pq-sys = "*" semver.workspace = true @@ -45,10 +46,8 @@ swrite.workspace = true tabled.workspace = true tokio.workspace = true toml.workspace = true -tufaceous.workspace = true -tufaceous-artifact.workspace = true -tufaceous-lib.workspace = true -update-common.workspace = true +tufaceous-artifact-v2.workspace = true +tufaceous-v2.workspace = true uuid.workspace = true omicron-workspace-hack.workspace = true diff --git a/dev-tools/reconfigurator-cli/src/lib.rs b/dev-tools/reconfigurator-cli/src/lib.rs index ea627fe11a7..1034ac78386 100644 --- a/dev-tools/reconfigurator-cli/src/lib.rs +++ b/dev-tools/reconfigurator-cli/src/lib.rs @@ -5,7 +5,7 @@ //! developer REPL for driving blueprint planning use anyhow::{Context, anyhow, bail, ensure}; -use camino::Utf8PathBuf; +use camino::{Utf8Path, Utf8PathBuf}; use chrono::{DateTime, Utc}; use clap::ValueEnum; use clap::{Args, Parser, Subcommand}; @@ -21,9 +21,7 @@ use nexus_reconfigurator_blippy::Blippy; use nexus_reconfigurator_blippy::BlippyReportSortKey; use nexus_reconfigurator_planning::blueprint_builder::BlueprintBuilder; use nexus_reconfigurator_planning::blueprint_editor::ExternalNetworkingAllocator; -use nexus_reconfigurator_planning::example::{ - ExampleSystemBuilder, extract_tuf_repo_description, tuf_assemble, -}; +use nexus_reconfigurator_planning::example::ExampleSystemBuilder; use nexus_reconfigurator_planning::planner::Planner; use nexus_reconfigurator_planning::system::{ RotStateOverrides, SledBuilder, SledInventoryVisibility, SystemDescription, @@ -51,6 +49,7 @@ use nexus_types::deployment::{OmicronZoneNic, TargetReleaseDescription}; use nexus_types::deployment::{PendingMgsUpdateSpDetails, PlanningInput}; use nexus_types::external_api::sled::{SledPolicy, SledProvisionPolicy}; use nexus_types::inventory::CollectionDisplayCliFilter; +use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::address::REPO_DEPOT_PORT; use omicron_common::api::external::Generation; use omicron_common::api::external::Name; @@ -67,6 +66,7 @@ use omicron_uuid_kinds::SledUuid; use omicron_uuid_kinds::VnicUuid; use omicron_uuid_kinds::{BlueprintUuid, MupdateOverrideUuid}; use omicron_uuid_kinds::{CollectionUuid, MupdateUuid}; +use semver::Version; use sled_agent_types::inventory::ZoneKind; use slog_error_chain::InlineErrorChain; use std::borrow::Cow; @@ -80,10 +80,11 @@ use std::str::FromStr; use std::sync::Arc; use swrite::{SWrite, swrite, swriteln}; use tabled::Tabled; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::ArtifactVersionError; -use tufaceous_lib::assemble::ArtifactManifest; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::ArtifactVersionError; +use tufaceous_v2::RepositoryLoader; +use tufaceous_v2::edit::RepositoryEditor; mod log_capture; pub mod test_utils; @@ -464,7 +465,7 @@ fn process_command( Commands::BlueprintLoad(args) => cmd_blueprint_load(sim, args), Commands::Show => cmd_show(sim), Commands::Set(args) => cmd_set(sim, args), - Commands::TufAssemble(args) => cmd_tuf_assemble(sim, args), + Commands::GenerateFakeRepo(args) => cmd_generate_fake_repo(args), Commands::Load(args) => cmd_load(sim, args), Commands::LoadExample(args) => cmd_load_example(sim, args), Commands::FileContents(args) => cmd_file_contents(args), @@ -567,8 +568,8 @@ enum Commands { #[command(subcommand)] Set(SetArgs), - /// use tufaceous to generate a repo from a manifest - TufAssemble(TufAssembleArgs), + /// use tufaceous to generate a fake repository + GenerateFakeRepo(GenerateFakeRepoArgs), /// save state to a file Save(SaveArgs), @@ -1622,19 +1623,15 @@ impl CockroachdbSettingsOpts { } #[derive(Debug, Args)] -struct TufAssembleArgs { - /// The tufaceous manifest path (relative to this crate's root) - manifest_path: Utf8PathBuf, - - /// Allow non-semver artifact versions. - #[clap(long)] - allow_non_semver: bool, +struct GenerateFakeRepoArgs { + /// System version of generated repository + version: Version, #[clap( long, // Use help here rather than a doc comment because rustdoc doesn't like // `<` and `>` in help messages. - help = "The path to the output [default: repo-.zip]" + help = "The path to the output [default: repo-.zip]" )] output: Option, } @@ -3355,17 +3352,16 @@ fn cmd_show(sim: &mut ReconfiguratorSim) -> anyhow::Result> { s, "target release (generation {}): {} ({})", target_release.target_release_generation, - tuf_desc.repo.system_version, - tuf_desc.repo.file_name + tuf_desc.system_version, + tuf_desc.file_name ); for artifact in &tuf_desc.artifacts { swriteln!( s, - " artifact: {} {} ({} version {})", + " artifact: {} {} version {}", artifact.hash, - artifact.id.kind, - artifact.id.name, - artifact.id.version + artifact.display_tags(), + artifact.version ); } } @@ -3552,6 +3548,32 @@ fn cmd_set( Ok(Some(rv)) } +fn extract_tuf_repo_description( + logger: &slog::Logger, + archive_path: &Utf8Path, +) -> anyhow::Result { + let repo = oxide_tokio_rt::run( + RepositoryLoader::new() + .unsafe_blindly_trust_repo() + .compute_archive_sha256(true) + .load_zip_path(archive_path.to_owned(), logger), + )?; + Ok(TufRepoDescription { + artifacts: repo.artifacts().clone(), + metadata: repo.metadata().clone(), + system_version: repo.system_version().clone(), + hash: ArtifactHash( + *repo + .archive_sha256() + .expect("tufaceous should have calculated hash"), + ), + file_name: archive_path + .file_name() + .expect("path to opened file must have a file name") + .to_owned(), + }) +} + /// Converts a mupdate source to a TUF repo description. fn mupdate_source_to_description( sim: &ReconfiguratorSim, @@ -3619,48 +3641,27 @@ fn mupdate_source_to_description( } } -fn cmd_tuf_assemble( - sim: &ReconfiguratorSim, - args: TufAssembleArgs, +fn cmd_generate_fake_repo( + args: GenerateFakeRepoArgs, ) -> anyhow::Result> { - let manifest_path = if args.manifest_path.is_absolute() { - args.manifest_path.clone() - } else { - // Use CARGO_MANIFEST_DIR to resolve relative paths. - let dir = std::env::var("CARGO_MANIFEST_DIR").context( - "CARGO_MANIFEST_DIR not set in environment \ - (are you running with `cargo run`?)", - )?; - let mut dir = Utf8PathBuf::from(dir); - dir.push(&args.manifest_path); - dir - }; - - // Obtain the system version from the manifest. - let manifest = - ArtifactManifest::from_path(&manifest_path).with_context(|| { - format!("error parsing manifest from `{manifest_path}`") - })?; - - let output_path = if let Some(output_path) = &args.output { - output_path.clone() - } else { - // This is relative to the current directory. - Utf8PathBuf::from(format!("repo-{}.zip", manifest.system_version)) - }; - - tuf_assemble( - &sim.log, - &manifest_path, - &output_path, - args.allow_non_semver, - )?; - - let rv = format!( - "created {} for system version {}", - output_path, manifest.system_version, - ); - Ok(Some(rv)) + oxide_tokio_rt::run(async { + let output_path = args.output.unwrap_or_else(|| { + // This is relative to the current directory. + format!("repo-{}.zip", args.version).into() + }); + RepositoryEditor::fake(args.version.clone())? + .finish() + .await? + .generate_root() + .sign() + .await? + .write_zip_file(&output_path, chrono::Utc::now()) + .await?; + Ok(Some(format!( + "created {} for system version {}", + output_path, args.version + ))) + }) } fn read_file( diff --git a/dev-tools/reconfigurator-cli/tests/common/mod.rs b/dev-tools/reconfigurator-cli/tests/common/mod.rs index a2c901a28fb..c779d198772 100644 --- a/dev-tools/reconfigurator-cli/tests/common/mod.rs +++ b/dev-tools/reconfigurator-cli/tests/common/mod.rs @@ -55,12 +55,7 @@ pub fn script_with_cwd( // Everything is deterministic, so we don't need to redact UUIDs. // However, it's necessary to redact paths from generated log entries. - let stdout_text = Redactor::default() - .uuids(false) - .field("assembling repository in", ".*") - .field("extracting uploaded archive to", ".*") - .field("created directory to store extracted artifacts, path:", ".*") - .do_redact(&stdout_text); + let stdout_text = Redactor::default().uuids(false).do_redact(&stdout_text); // This is the file name without the extension. let test_name = path.file_stem().unwrap(); diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-missing-measurement-manifest.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-missing-measurement-manifest.txt index ae7e9af75e1..c8d107270e3 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-missing-measurement-manifest.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-missing-measurement-manifest.txt @@ -6,7 +6,7 @@ sled-list # Create a TUF repository from a fake manifest. (The output TUF repo is # written to a temporary directory that this invocation of `reconfigurator-cli` # is running out of as its working directory.) -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 # Load the target release from the first TUF repository. set target-release repo-1.0.0.zip diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-missing-sled-blocks-zone-updates.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-missing-sled-blocks-zone-updates.txt index aa73c405131..46abcd9ec6c 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-missing-sled-blocks-zone-updates.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-missing-sled-blocks-zone-updates.txt @@ -6,7 +6,7 @@ load-example --nsleds 2 --ndisks-per-sled 3 # is running out of as its working directory.) # # This is used to simulate the initial version of the system. -tuf-assemble ../../update-common/manifests/fake-0.0.1.toml +generate-fake-repo 0.0.1 # Load the target release from the assembled TUF repository. set target-release repo-0.0.1.zip @@ -43,11 +43,20 @@ inventory-generate # Setup is now done -- create another TUF repository which will act as the # target release being updated to. -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 # Load the target release from the assembled TUF repository. set target-release repo-1.0.0.zip +# Measurements will block further planning progress, run a planning step +blueprint-plan latest latest +blueprint-diff latest + +# Make sure the measurements are up to date for inventory +sled-set serial0 omicron-config latest +sled-set serial1 omicron-config latest +inventory-generate + # First step: upgrade one RoT bootloader. blueprint-plan latest latest blueprint-diff latest @@ -68,8 +77,8 @@ inventory-generate blueprint-plan latest latest blueprint-diff latest -sled-update-host-phase2 serial0 --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -sled-update-host-phase1 serial0 --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +sled-update-host-phase2 serial0 --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +sled-update-host-phase1 serial0 --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c sled-update-host-phase2 serial0 --boot-disk B # Before generating the inventory that completes all updates on sled serial0, diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-override-without-target-release.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-override-without-target-release.txt index 01341f15ced..5192c4ec0a2 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-override-without-target-release.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-override-without-target-release.txt @@ -4,7 +4,7 @@ load-example --nsleds 1 --ndisks-per-sled 3 # Create a TUF repository from a fake manifest. We don't set this as the # target release; rather, we just MUPdate to it (also setting the mupdate # override). -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 sled-update-install-dataset serial0 --from-repo repo-1.0.0.zip sled-set serial0 mupdate-override 6123eac1-ec5b-42ba-b73f-9845105a9971 diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-stale-inventory-set.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-stale-inventory-set.txt index 8de57d0b033..9429f2d5144 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-stale-inventory-set.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-stale-inventory-set.txt @@ -8,7 +8,7 @@ load-example --nsleds 1 --ndisks-per-sled 3 sled-list # Create a TUF repository, set as target release, and update the install dataset. -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 set target-release repo-1.0.0.zip sled-update-install-dataset serial0 --to-target-release diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-stale-inventory.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-stale-inventory.txt index bdc4d1067f1..0b9373ec2fc 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-stale-inventory.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-stale-inventory.txt @@ -20,7 +20,7 @@ load-example --nsleds 1 --ndisks-per-sled 3 sled-list # Create a TUF repository so noop image source conversions are possible. -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 set target-release repo-1.0.0.zip # Update the install dataset on serial0 to the target release. diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-update-flow.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-update-flow.txt index 2e6b0bdd101..ba070724aa6 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-update-flow.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-mupdate-update-flow.txt @@ -4,7 +4,7 @@ load-example --nsleds 3 --ndisks-per-sled 1 # Create a TUF repository from a fake manifest. We're going to use this # repository to test out the minimum release generation flow. -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 set target-release repo-1.0.0.zip # Update the install dataset on this sled to the target release. @@ -97,7 +97,7 @@ sled-set serial2 omicron-config latest # But simulate a second mupdate on sled 2. This should invalidate the existing # mupdate override on sled 2 and cause another target release minimum # generation bump. -tuf-assemble ../../update-common/manifests/fake-non-semver.toml --allow-non-semver +generate-fake-repo 2.0.0 sled-update-install-dataset serial2 --from-repo repo-2.0.0.zip sled-set serial2 mupdate-override 1c0ce176-6dc8-4a90-adea-d4a8000751da @@ -198,22 +198,22 @@ sled-update-rot-bootloader serial0 --stage0 2.0.0 # Finish the MGS-based updates on sled 0. sled-update-rot serial0 --slot-a 2.0.0 sled-update-sp serial0 --active 2.0.0 -sled-update-host-phase2 serial0 --boot-disk B --slot-b 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df -sled-update-host-phase1 serial0 --active B --slot-b 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 +sled-update-host-phase2 serial0 --boot-disk B --slot-b 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 +sled-update-host-phase1 serial0 --active B --slot-b 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef # All the MGS-based updates on sled 1. sled-update-rot-bootloader serial1 --stage0 2.0.0 sled-update-rot serial1 --slot-a 2.0.0 sled-update-sp serial1 --active 2.0.0 -sled-update-host-phase2 serial1 --boot-disk B --slot-b 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df -sled-update-host-phase1 serial1 --active B --slot-b 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 +sled-update-host-phase2 serial1 --boot-disk B --slot-b 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 +sled-update-host-phase1 serial1 --active B --slot-b 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef # All the MGS-based updates on sled 2. sled-update-rot-bootloader serial2 --stage0 2.0.0 sled-update-rot serial2 --slot-a 2.0.0 sled-update-sp serial2 --active 2.0.0 -sled-update-host-phase2 serial2 --boot-disk B --slot-b 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df -sled-update-host-phase1 serial2 --active B --slot-b 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 +sled-update-host-phase2 serial2 --boot-disk B --slot-b 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 +sled-update-host-phase1 serial2 --active B --slot-b 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef # All MGS-based updates complete. inventory-generate diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-nexus-generation-autobump.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-nexus-generation-autobump.txt index 2a6e423844e..dd2f8707750 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-nexus-generation-autobump.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-nexus-generation-autobump.txt @@ -5,7 +5,7 @@ load-example --nsleds 3 --ndisks-per-sled 3 show # Create TUF repos -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 set target-release repo-1.0.0.zip @@ -42,13 +42,13 @@ sled-update-sp serial0 --active 1.0.0 sled-update-sp serial1 --active 1.0.0 sled-update-sp serial2 --active 1.0.0 -sled-update-host-phase1 serial0 --slot-a b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -sled-update-host-phase1 serial1 --slot-a b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -sled-update-host-phase1 serial2 --slot-a b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +sled-update-host-phase1 serial0 --slot-a 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +sled-update-host-phase1 serial1 --slot-a 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +sled-update-host-phase1 serial2 --slot-a 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c -sled-update-host-phase2 serial0 --boot-disk A --slot-a d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -sled-update-host-phase2 serial1 --boot-disk A --slot-a d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -sled-update-host-phase2 serial2 --boot-disk A --slot-a d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +sled-update-host-phase2 serial0 --boot-disk A --slot-a c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +sled-update-host-phase2 serial1 --boot-disk A --slot-a c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +sled-update-host-phase2 serial2 --boot-disk A --slot-a c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d # Migrate from Install -> Artifact inventory-generate diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-noop-image-source.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-noop-image-source.txt index 8f516bd251e..1f0b5d8bd40 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-noop-image-source.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-noop-image-source.txt @@ -9,9 +9,9 @@ sled-list # Create a TUF repository from a fake manifest. (The output TUF repo is # written to a temporary directory that this invocation of `reconfigurator-cli` # is running out of as its working directory.) -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 # Create a second TUF repository from a different fake manifest. -tuf-assemble ../../update-common/manifests/fake-non-semver.toml --allow-non-semver +generate-fake-repo 2.0.0 # Load the target release from the first TUF repository. set target-release repo-1.0.0.zip diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-noop-stale-inventory.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-noop-stale-inventory.txt index e6871cf0ded..ccd509f7ec9 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-noop-stale-inventory.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-noop-stale-inventory.txt @@ -18,7 +18,7 @@ sled-list # Create a TUF repository whose artifacts match the install dataset, so noop # conversions of all zones would otherwise be eligible. -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 set target-release repo-1.0.0.zip # Update the install dataset on serial0 to the target release. This populates diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-target-release.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-target-release.txt index 711a3f3fd95..bf7ee3ab2f2 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-target-release.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-target-release.txt @@ -9,7 +9,7 @@ show # is running out of as its working directory.) # # This is used to simulate the initial version of the system. -tuf-assemble ../../update-common/manifests/fake-0.0.1.toml +generate-fake-repo 0.0.1 # Load the target release from the assembled TUF repository. set target-release repo-0.0.1.zip @@ -43,7 +43,7 @@ inventory-show latest # Setup is now done -- create another TUF repository which will act as the # target release being updated to. -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 # Load the target release from the assembled TUF repository. set target-release repo-1.0.0.zip @@ -66,6 +66,15 @@ sled-list blueprint-list inventory-list +# Measurements will block further planning progress, run a planning step +blueprint-plan latest latest +blueprint-diff latest +# Make sure the measurements are up to date for inventory +sled-set serial0 omicron-config latest +sled-set serial1 omicron-config latest +sled-set serial2 omicron-config latest +inventory-generate + # First step: upgrade one RoT bootloader. blueprint-plan latest latest blueprint-diff latest @@ -108,7 +117,7 @@ blueprint-diff latest # Update only the simulated host phase 2; this is a prerequisite for updating # the phase 1, and must be done first. -sled-update-host-phase2 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +sled-update-host-phase2 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d inventory-generate # Planning after only phase 2 has changed should make no changes. We're still @@ -117,7 +126,7 @@ blueprint-plan latest latest blueprint-diff latest # Now update the simulated SP to reflect that the phase 1 update is done. -sled-update-host-phase1 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +sled-update-host-phase1 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c inventory-generate # Planning _still_ shouldn't make any new changes; the OS update as a whole @@ -194,8 +203,8 @@ blueprint-plan latest latest blueprint-diff latest # Now simulate the update completing successfully. -sled-update-host-phase2 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c --boot-disk B --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -sled-update-host-phase1 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +sled-update-host-phase2 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c --boot-disk B --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +sled-update-host-phase1 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c inventory-generate # Another planning step should try to update the last sled, starting with the @@ -254,8 +263,8 @@ blueprint-plan latest latest blueprint-diff latest # Finish updating the last sled's host OS. -sled-update-host-phase2 d81c6a84-79b8-4958-ae41-ea46c9b19763 --boot-disk B --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -sled-update-host-phase1 d81c6a84-79b8-4958-ae41-ea46c9b19763 --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +sled-update-host-phase2 d81c6a84-79b8-4958-ae41-ea46c9b19763 --boot-disk B --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +sled-update-host-phase1 d81c6a84-79b8-4958-ae41-ea46c9b19763 --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c inventory-generate # Do another planning run. This should start updating zones (one at a time). diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-unknown-measurements.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-unknown-measurements.txt index 1eeee27963e..87c0d9774ac 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-unknown-measurements.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-unknown-measurements.txt @@ -6,7 +6,7 @@ sled-list # Create a TUF repository from a fake manifest. (The output TUF repo is # written to a temporary directory that this invocation of `reconfigurator-cli` # is running out of as its working directory.) -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 # Load the target release from the first TUF repository. set target-release repo-1.0.0.zip diff --git a/dev-tools/reconfigurator-cli/tests/input/cmds-unsafe-zone-mgs.txt b/dev-tools/reconfigurator-cli/tests/input/cmds-unsafe-zone-mgs.txt index 656c4864710..d111ad1698a 100644 --- a/dev-tools/reconfigurator-cli/tests/input/cmds-unsafe-zone-mgs.txt +++ b/dev-tools/reconfigurator-cli/tests/input/cmds-unsafe-zone-mgs.txt @@ -6,7 +6,7 @@ load-example --nsleds 3 --ndisks-per-sled 3 # is running out of as its working directory.) # # This is used to simulate the initial version of the system. -tuf-assemble ../../update-common/manifests/fake-0.0.1.toml +generate-fake-repo 0.0.1 # Load the target release from the assembled TUF repository. set target-release repo-0.0.1.zip @@ -50,7 +50,7 @@ inventory-show latest # Setup is now done -- create another TUF repository which will act as the # target release being updated to. -tuf-assemble ../../update-common/manifests/fake.toml +generate-fake-repo 1.0.0 # Load the target release from the assembled TUF repository. set target-release repo-1.0.0.zip @@ -61,6 +61,16 @@ sled-list # Retrieve blueprint information to know the ID of the zone to expunge blueprint-show latest +# Measurements will block further planning progress, run a planning step +blueprint-plan latest latest +blueprint-diff latest + +# Make sure the measurements are up to date for inventory +sled-set serial0 omicron-config latest +sled-set serial1 omicron-config latest +sled-set serial2 omicron-config latest +inventory-generate + # We expunge a single internal_dns zone # # Note that since we are not running the command to emulate the sled-agent @@ -115,8 +125,8 @@ blueprint-diff latest sled-update-sp serial0 --active 1.0.0 sled-update-sp serial1 --active 1.0.0 sled-update-sp serial2 --active 1.0.0 -sled-update-host-phase2 serial1 --boot-disk B --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -sled-update-host-phase1 serial1 --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +sled-update-host-phase2 serial1 --boot-disk B --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +sled-update-host-phase1 serial1 --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c inventory-generate blueprint-plan latest latest blueprint-diff latest diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-example-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-example-stdout index 1b81b2c65a3..be4e70b3a80 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-example-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-example-stdout @@ -1530,10 +1530,10 @@ Sled serial0 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -1555,10 +1555,10 @@ Sled serial1 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -1580,10 +1580,10 @@ Sled serial2 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-missing-measurement-manifest-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-missing-measurement-manifest-stdout index 403d82e5a55..b0985bf42cf 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-missing-measurement-manifest-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-missing-measurement-manifest-stdout @@ -15,47 +15,12 @@ ID SERIAL NZPOOLS SUBNET > # Create a TUF repository from a fake manifest. (The output TUF repo is > # written to a temporary directory that this invocation of `reconfigurator-cli` > # is running out of as its working directory.) -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > # Load the target release from the first TUF repository. > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -109,7 +74,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -207,7 +173,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -342,7 +309,8 @@ WARN skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4 INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO measurement is eligible for noop image source conversion, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, new_measurement_source: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 +INFO measurement is eligible for noop image source conversion, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, new_measurement_source: 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 +ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 generated blueprint df06bb57-ad42-4431-9206-abff322896c7 based on parent blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 blueprint source: planner with report: @@ -372,7 +340,8 @@ to: blueprint df06bb57-ad42-4431-9206-abff322896c7 hash version -------------------------------------------------------------------------------- - install dataset (no version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-missing-sled-blocks-zone-updates-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-missing-sled-blocks-zone-updates-stdout index 1439856e0ed..338d6ff5f55 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-missing-sled-blocks-zone-updates-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-missing-sled-blocks-zone-updates-stdout @@ -11,47 +11,12 @@ loaded example system with: > # is running out of as its working directory.) > # > # This is used to simulate the initial version of the system. -> tuf-assemble ../../update-common/manifests/fake-0.0.1.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-0.0.1.zip`, component: OmicronRepoAssembler +> generate-fake-repo 0.0.1 created repo-0.0.1.zip for system version 0.0.1 > # Load the target release from the assembled TUF repository. > set target-release repo-0.0.1.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 0.0.1, hash: 716e29860eade5de4cf28d2c81f1c3fcaf3a3c07af52961c0e231e3dd0ba4db8, length: 734 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 0.0.1, hash: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985, length: 787 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 0.0.1, hash: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985, length: 787 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 0.0.1, hash: 5bfb2fef5a25100e7813636699bd365bbcd623980ae00e876ad705ef591feded, length: 794 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 0.0.1, hash: 143aa9751a0bb16ab3d2c8b56d2874eeab14e1ac3413aa0edf1dbf56900f3fcc, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 0.0.1, hash: 0c43c53453b1113d8ec83d0e3cb8139094b6f4594c304645a33248863141bac6, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 0.0.1, hash: 7cd830e1682d50620de0f5c24b8cca15937eb10d2a415ade6ad28c0d314408eb, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 0.0.1, hash: 040e9ffbd212b790da4fc3a6376c9ff102c852c4ac1f1a1bc84c7d8edc64029f, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 0.0.1, hash: bfc7d2bf0d2e5dde41b8ea85beca7f01262688297f438727fdeb8543c1ceb25e, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 0.0.1, hash: a05417d8d03400b9d556b63563c9958da983a0cdcc3259669966ad45e395c277, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 0.0.1, hash: 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5, length: 1687 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 0.0.1, hash: f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0, length: 1691 -INFO added artifact, name: clickhouse_server, kind: zone, version: 0.0.1, hash: bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b, length: 1691 -INFO added artifact, name: cockroachdb, kind: zone, version: 0.0.1, hash: a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1, length: 1690 -INFO added artifact, name: crucible-zone, kind: zone, version: 0.0.1, hash: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4, length: 1691 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 0.0.1, hash: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d, length: 1696 -INFO added artifact, name: external-dns, kind: zone, version: 0.0.1, hash: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7, length: 1690 -INFO added artifact, name: internal-dns, kind: zone, version: 0.0.1, hash: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173, length: 1690 -INFO added artifact, name: ntp, kind: zone, version: 0.0.1, hash: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531, length: 1682 -INFO added artifact, name: nexus, kind: zone, version: 0.0.1, hash: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc, length: 1683 -INFO added artifact, name: oximeter, kind: zone, version: 0.0.1, hash: 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0, length: 1683 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 0.0.1, hash: 3a63db2465b433f7b2f2816f833dcce90e0aa7e7472b1735c63faf93a48bb2ab, length: 726 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 0.0.1, hash: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406, length: 770 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 0.0.1, hash: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406, length: 770 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 0.0.1, hash: a58c577f5c33e0a8176f078183a0c94b84ab1e1e7118c441f6b82551fba58f46, length: 794 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 0.0.1, hash: 9a559c6734981ec74fee73a56826f8a91beec39a59dea497f67d55c91ab74328, length: 736 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 0.0.1, hash: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c, length: 776 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 0.0.1, hash: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c, length: 776 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 0.0.1, hash: 0686443d50db2247077dc70b6543cea9a90a9792de00e06c06cff4c91fa5a4a8, length: 792 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 0.0.1, hash: 6f0eebe1001e3d00b02b2dcac5b3d883cb88222fde16a028f5431e87a5feee72, length: 526 set target release based on repo-0.0.1.zip @@ -102,7 +67,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 ++ dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 host phase 2 contents: @@ -200,7 +166,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 ++ dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 host phase 2 contents: @@ -319,7 +286,7 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO configuring MGS-driven update, artifact_version: 0.0.1, artifact_hash: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 0.0.1, artifact_hash: 431d7bc16f5e7b2e7cac88463d97e890fd8c5327908924823c11f37c08d60214, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 generated blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 based on parent blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 blueprint source: planner with report: @@ -354,7 +321,7 @@ to: blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -+ sled 0 913-0000019 serial0 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985 0.0.1 Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) ++ sled 0 913-0000019 serial0 431d7bc16f5e7b2e7cac88463d97e890fd8c5327908924823c11f37c08d60214 0.0.1 Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) internal DNS: @@ -387,50 +354,237 @@ generated inventory collection b1bda47d-2c19-4fba-96e3-d9df28db7436 from configu > # Setup is now done -- create another TUF repository which will act as the > # target release being updated to. -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > # Load the target release from the assembled TUF repository. > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip +> # Measurements will block further planning progress, run a planning step +> blueprint-plan latest latest +INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 13, num_already_artifact: 13, num_eligible: 0, num_ineligible: 0 +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +generated blueprint df06bb57-ad42-4431-9206-abff322896c7 based on parent blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 +blueprint source: planner with report: +planning report: +* zone updates waiting on reference measurement changes +* waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated +Measurement updates: +2 modifications + + + +> blueprint-diff latest +from: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 +to: blueprint df06bb57-ad42-4431-9206-abff322896c7 + + MODIFIED SLEDS: + + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 3 -> 4): + + measurements: + -------------------------------------------------------------------------------- + hash version + -------------------------------------------------------------------------------- + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + + + host phase 2 contents: + ------------------------ + slot boot image source + ------------------------ + A current contents + B current contents + + + physical disks: + ------------------------------------------------------------------------------------ + vendor model serial disposition + ------------------------------------------------------------------------------------ + fake-vendor fake-model serial-727522a7-934f-494d-b5b3-160968e74463 in service + fake-vendor fake-model serial-72c59873-31ff-4e36-8d76-ff834009349a in service + fake-vendor fake-model serial-b5fd5bc1-099e-4e77-8028-a9793c11f43b in service + + + datasets: + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + dataset name dataset id disposition quota reservation compression + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + oxp_727522a7-934f-494d-b5b3-160968e74463/crucible 28356d88-8ed9-413e-addd-5da4310f1b49 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible ce916f20-f65d-47b7-ac37-cc3df6f312f2 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible efbdb215-7c0d-426a-a38c-d4555fc480da in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 2f204c50-a327-479c-8852-f53ec7a19c1f in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns feecfda1-9966-43d4-aaef-440b77f0b26d in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/external_dns 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns 78f34ce7-42f1-41da-995f-318f32054ad2 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/internal_dns 1640adb6-70bf-44cf-b05c-bff6dd300cf3 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_clickhouse_99e2f30b-3174-40bf-a78a-90da8abba8ca 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_80510139-0fe1-4168-936d-672cdeef55bd 84236ada-22e5-490d-8e75-cd988c35f3ce in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_9abf0cfc-6c89-4caa-8aab-92c90661941f 04bfdaea-7faa-43a1-8b05-235f461a0494 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_a41824be-1ebb-4889-a631-f8dc7164cfab db0ee3be-69c8-46e6-b7a1-2ae96e0b016f in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_pantry_c49fabd6-b2ad-44c6-b760-90e614601b2b 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_external_dns_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a b8f2a09f-8bd2-4418-872b-a4457a3f958c in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_internal_dns_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 3e0d6188-c503-49cf-a441-fa7df40ceb43 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_353b3b65-20f7-48c3-88f7-495bd5d31545 49f8fbb6-5bac-4609-907f-6e3dfc206059 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/local_storage 2db6b7c1-0f46-4ced-a3ad-48872793360e in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/local_storage 09b9cc9b-3426-470b-a7bc-538f82dede03 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/local_storage c31623de-c19b-4615-9f1d-5e1daa5d3bda in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/local_storage_unencrypted 775f9207-c42d-4af2-9186-27ffef67735e in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/local_storage_unencrypted 3560dd69-3b23-4c69-807d-d673104cfc68 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/local_storage_unencrypted 2ad1875a-92ac-472f-8c26-593309f0e4da in service none none off + + + omicron zones: + ---------------------------------------------------------------------------------------------------------------------- + zone type zone id image source disposition underlay IP + ---------------------------------------------------------------------------------------------------------------------- + clickhouse 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 in service fd00:1122:3344:102::6 + crucible 80510139-0fe1-4168-936d-672cdeef55bd artifact: version 0.0.1 in service fd00:1122:3344:102::c + crucible 9abf0cfc-6c89-4caa-8aab-92c90661941f artifact: version 0.0.1 in service fd00:1122:3344:102::d + crucible a41824be-1ebb-4889-a631-f8dc7164cfab artifact: version 0.0.1 in service fd00:1122:3344:102::b + crucible_pantry 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 0.0.1 in service fd00:1122:3344:102::9 + crucible_pantry c49fabd6-b2ad-44c6-b760-90e614601b2b artifact: version 0.0.1 in service fd00:1122:3344:102::a + external_dns bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 0.0.1 in service fd00:1122:3344:102::7 + external_dns e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::8 + internal_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 in service fd00:1122:3344:1::1 + internal_dns ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 in service fd00:1122:3344:2::1 + internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 in service fd00:1122:3344:102::3 + nexus 353b3b65-20f7-48c3-88f7-495bd5d31545 artifact: version 0.0.1 in service fd00:1122:3344:102::5 + nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 + + + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 3 -> 4): + + measurements: + -------------------------------------------------------------------------------- + hash version + -------------------------------------------------------------------------------- + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + + + host phase 2 contents: + ------------------------ + slot boot image source + ------------------------ + A current contents + B current contents + + + physical disks: + ------------------------------------------------------------------------------------ + vendor model serial disposition + ------------------------------------------------------------------------------------ + fake-vendor fake-model serial-073979dd-3248-44a5-9fa1-cc72a140d682 in service + fake-vendor fake-model serial-c6d33b64-fb96-4129-bab1-7878a06a5f9b in service + fake-vendor fake-model serial-e4d937e1-6ddc-4eca-bb08-c1f73791e608 in service + + + datasets: + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + dataset name dataset id disposition quota reservation compression + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crucible 335e1dc3-b610-48dd-90bb-9ca5cce1a6d0 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone ad41be71-6c15-4428-b510-20ceacde4fa6 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/local_storage cdf3684f-a6cf-4449-b9ec-e696b2c663e2 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/local_storage 3ac089c9-9dec-465b-863a-188e80d71fb4 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/local_storage 43931274-7fe8-4077-825d-dff2bc8efa58 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off + + + omicron zones: + ---------------------------------------------------------------------------------------------------------------------- + zone type zone id image source disposition underlay IP + ---------------------------------------------------------------------------------------------------------------------- + crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 0.0.1 in service fd00:1122:3344:101::9 + crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 0.0.1 in service fd00:1122:3344:101::7 + crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 0.0.1 in service fd00:1122:3344:101::8 + crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 in service fd00:1122:3344:101::6 + external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 in service fd00:1122:3344:101::5 + internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 in service fd00:1122:3344:3::1 + internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 in service fd00:1122:3344:101::3 + nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 + + + COCKROACHDB SETTINGS: + state fingerprint::::::::::::::::: (none) (unchanged) + cluster.preserve_downgrade_option: (do not modify) (unchanged) + + METADATA: + internal DNS version::: 1 (unchanged) + external DNS version::: 1 (unchanged) + target release min gen: 1 (unchanged) + nexus gen:::::::::::::: 1 (unchanged) + + OXIMETER SETTINGS: + generation: 1 (unchanged) + read from:: SingleNode (unchanged) + + +internal DNS: + DNS zone: "control-plane.oxide.internal" (unchanged) + unchanged names: 44 (records: 58) + +external DNS: + DNS zone: "oxide.example" (unchanged) + unchanged names: 5 (records: 9) + + + + +> # Make sure the measurements are up to date for inventory +> sled-set serial0 omicron-config latest +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (df06bb57-ad42-4431-9206-abff322896c7) + +> sled-set serial1 omicron-config latest +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (df06bb57-ad42-4431-9206-abff322896c7) + +> inventory-generate +generated inventory collection a71f7a73-35a6-45e8-acbe-f1c5925eed69 from configured sleds + + > # First step: upgrade one RoT bootloader. > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 13, num_already_artifact: 13, num_eligible: 0, num_ineligible: 0 @@ -439,9 +593,9 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint df06bb57-ad42-4431-9206-abff322896c7 based on parent blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 +generated blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba based on parent blueprint df06bb57-ad42-4431-9206-abff322896c7 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -452,8 +606,8 @@ planning report: > blueprint-diff latest -from: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 -to: blueprint df06bb57-ad42-4431-9206-abff322896c7 +from: blueprint df06bb57-ad42-4431-9206-abff322896c7 +to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -475,7 +629,7 @@ to: blueprint df06bb57-ad42-4431-9206-abff322896c7 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -+ sled 0 913-0000019 serial0 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) ++ sled 0 913-0000019 serial0 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) internal DNS: @@ -494,7 +648,7 @@ external DNS: set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 RoT bootloader versions: stage0 -> 1.0.0 > inventory-generate -generated inventory collection a71f7a73-35a6-45e8-acbe-f1c5925eed69 from configured sleds +generated inventory collection 0b5efbb3-0b1b-4bbf-b7d8-a2d6fca074c6 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 13, num_already_artifact: 13, num_eligible: 0, num_ineligible: 0 @@ -503,10 +657,10 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba based on parent blueprint df06bb57-ad42-4431-9206-abff322896c7 +generated blueprint 9034c710-3e57-45f3-99e5-4316145e87ac based on parent blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -517,8 +671,8 @@ planning report: > blueprint-diff latest -from: blueprint df06bb57-ad42-4431-9206-abff322896c7 -to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +from: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -540,8 +694,8 @@ to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 0 913-0000019 serial0 - 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) - └─ + d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) +* sled 0 913-0000019 serial0 - 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) + └─ + dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) internal DNS: @@ -559,7 +713,7 @@ external DNS: set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 RoT settings: slot b -> 1.0.0, active slot -> B, persistent boot preference -> B > inventory-generate -generated inventory collection 0b5efbb3-0b1b-4bbf-b7d8-a2d6fca074c6 from configured sleds +generated inventory collection 78f72e8d-46a9-40a9-8618-602f54454d80 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 13, num_already_artifact: 13, num_eligible: 0, num_ineligible: 0 @@ -568,10 +722,10 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 9034c710-3e57-45f3-99e5-4316145e87ac based on parent blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +generated blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 based on parent blueprint 9034c710-3e57-45f3-99e5-4316145e87ac blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -582,8 +736,8 @@ planning report: > blueprint-diff latest -from: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba -to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +from: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -605,8 +759,8 @@ to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 0 913-0000019 serial0 - d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) - └─ + 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) +* sled 0 913-0000019 serial0 - dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) + └─ + 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) internal DNS: @@ -624,7 +778,7 @@ external DNS: set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 SP versions: active -> 1.0.0 > inventory-generate -generated inventory collection 78f72e8d-46a9-40a9-8618-602f54454d80 from configured sleds +generated inventory collection 39363465-89ae-4ac2-9be1-099068da9d45 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 13, num_already_artifact: 13, num_eligible: 0, num_ineligible: 0 @@ -633,32 +787,35 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 based on parent blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +generated blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 based on parent blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 blueprint source: planner with report: planning report: * 1 pending MGS update: - * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) + * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) * zone updates waiting on pending MGS updates (RoT bootloader / RoT / SP / Host OS) * waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated > blueprint-diff latest -from: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac -to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +from: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +to: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 3 -> 4): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 4 -> 5): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -741,11 +898,11 @@ to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 PENDING MGS UPDATES: Pending MGS-managed updates (all baseboards): - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - sp_type slot part_number serial_number artifact_hash artifact_version details - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -* sled 0 913-0000019 serial0 - 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) - └─ + b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + sp_type slot part_number serial_number artifact_hash artifact_version details + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +* sled 0 913-0000019 serial0 - 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) + └─ + 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) internal DNS: @@ -759,11 +916,11 @@ external DNS: -> sled-update-host-phase2 serial0 --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: B -> d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +> sled-update-host-phase2 serial0 --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: B -> c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d -> sled-update-host-phase1 serial0 --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 1 details: active -> B, B -> b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +> sled-update-host-phase1 serial0 --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 1 details: active -> B, B -> 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c > sled-update-host-phase2 serial0 --boot-disk B set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: boot_disk -> B @@ -780,13 +937,13 @@ set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: boot_disk -> > # plans bumped the blueprint's generation for this sled.) That keeps the noop > # check on serial0 from firing the inventory-stale path. > sled-set serial0 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (d60afc57-f15d-476c-bd0f-b1071e2bb976) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (a5a8f242-ffa5-473c-8efd-2acf2dc0b736) > sled-set serial1 inventory-hidden set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c inventory visibility: visible -> hidden > inventory-generate -generated inventory collection 39363465-89ae-4ac2-9be1-099068da9d45 from configured sleds +generated inventory collection 04bc9001-0836-4fec-b9cb-9d4760caf8b4 from configured sleds > blueprint-plan latest latest WARN skipping zones eligible for cleanup check (sled not present in latest inventory collection), sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c @@ -794,7 +951,7 @@ WARN no inventory found for in-service sled, phase: do_plan_mupdate_override, sl INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: sled not found in inventory INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -generated blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 based on parent blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +generated blueprint 626487fa-7139-45ec-8416-902271fc730b based on parent blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 blueprint source: planner with report: planning report: * waiting for NTP zones to appear in inventory on sleds: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c @@ -806,8 +963,8 @@ missing sled agent inventory for sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c > blueprint-diff latest -from: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 -to: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 +from: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 +to: blueprint 626487fa-7139-45ec-8416-902271fc730b COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-override-without-target-release-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-override-without-target-release-stdout index b92681babbd..1c09fdbeeaa 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-override-without-target-release-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-override-without-target-release-stdout @@ -9,45 +9,10 @@ loaded example system with: > # Create a TUF repository from a fake manifest. We don't set this as the > # target release; rather, we just MUPdate to it (also setting the mupdate > # override). -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > sled-update-install-dataset serial0 --from-repo repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: install dataset updated: from repo at repo-1.0.0.zip (system version 1.0.0) > sled-set serial0 mupdate-override 6123eac1-ec5b-42ba-b73f-9845105a9971 diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-stale-inventory-set-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-stale-inventory-set-stdout index 1c475523844..6fd1099cc13 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-stale-inventory-set-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-stale-inventory-set-stdout @@ -16,45 +16,10 @@ ID SERIAL NZPOOLS SUBNET > # Create a TUF repository, set as target release, and update the install dataset. -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip > sled-update-install-dataset serial0 --to-target-release @@ -276,7 +241,8 @@ INFO inventory override no longer exists, blueprint override cleared, phase: do_ INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 17, num_already_artifact: 0, num_eligible: 17, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO measurement is eligible for noop image source conversion, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, new_measurement_source: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 +INFO measurement is eligible for noop image source conversion, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, new_measurement_source: 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 +ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 generated blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 based on parent blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 blueprint source: planner with report: @@ -306,7 +272,8 @@ to: blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 hash version -------------------------------------------------------------------------------- - install dataset (no version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-stale-inventory-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-stale-inventory-stdout index 961cf36fc1a..139f0ff1daa 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-stale-inventory-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-stale-inventory-stdout @@ -28,45 +28,10 @@ ID SERIAL NZPOOLS SUBNET > # Create a TUF repository so noop image source conversions are possible. -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-update-flow-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-update-flow-stdout index 756904d3861..eb8b34d4a52 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-update-flow-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-mupdate-update-flow-stdout @@ -9,45 +9,10 @@ loaded example system with: > # Create a TUF repository from a fake manifest. We're going to use this > # repository to test out the minimum release generation flow. -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -144,10 +109,10 @@ Sled serial0 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -169,10 +134,10 @@ Sled serial1 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -194,10 +159,10 @@ Sled serial2 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -433,24 +398,25 @@ LEDGERED SLED CONFIG boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1686 bytes with hash 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659): ok - - clickhouse_keeper.tar.gz (expected 1690 bytes with hash cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3): ok - - clickhouse_server.tar.gz (expected 1690 bytes with hash 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001): ok - - cockroachdb.tar.gz (expected 1689 bytes with hash f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291): ok - - crucible.tar.gz (expected 1690 bytes with hash 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047): ok - - crucible_pantry.tar.gz (expected 1695 bytes with hash 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02): ok - - external_dns.tar.gz (expected 1689 bytes with hash ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d): ok - - internal_dns.tar.gz (expected 1689 bytes with hash ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a): ok - - nexus.tar.gz (expected 1682 bytes with hash 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388): ok - - ntp.tar.gz (expected 1681 bytes with hash 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439): ok - - oximeter.tar.gz (expected 1682 bytes with hash 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77): ok + - clickhouse.tar.gz (expected 142 bytes with hash 789283e5083ac3ed9ca24f33a6cad81793798298cd5c536c93981829abab9d15): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 2ce04cd4cb5aa9a525637b9f30c2f93f365048221808d95aae16e5c1127d6492): ok + - clickhouse_server.tar.gz (expected 145 bytes with hash 7245b29a4f07273fb8b7a4860f8847babf2b130fe437d30c3ab47b4f274a704e): ok + - cockroachdb.tar.gz (expected 143 bytes with hash 25d7b7f1aa8420f54bf09243ec3206a9bb50eba2cd252cf2279356cdfbbfa101): ok + - crucible.tar.gz (expected 145 bytes with hash 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1): ok + - external_dns.tar.gz (expected 142 bytes with hash 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4): ok + - internal_dns.tar.gz (expected 142 bytes with hash 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2): ok + - nexus.tar.gz (expected 135 bytes with hash 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961): ok + - ntp.tar.gz (expected 135 bytes with hash 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0): ok + - oximeter.tar.gz (expected 137 bytes with hash cb41cb81f67ffabf0f832927162245fbd79fa2be82430ad6dd03132a34bafefb): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb (expected 865 bytes with hash 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb): ok + - ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 (expected 270 bytes with hash ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -924,39 +890,6 @@ set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 inventory visibility: visible -> h > # Set the target release to a new repo, causing a generation number bump > # to 3. > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -1053,45 +986,10 @@ set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest bluepri > # But simulate a second mupdate on sled 2. This should invalidate the existing > # mupdate override on sled 2 and cause another target release minimum > # generation bump. -> tuf-assemble ../../update-common/manifests/fake-non-semver.toml --allow-non-semver -INFO assembling repository in -INFO artifacts assembled and archived to `repo-2.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 2.0.0 created repo-2.0.0.zip for system version 2.0.0 > sled-update-install-dataset serial2 --from-repo repo-2.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 2.0.0, hash: ac329e461b20cfdeaeb225456226b1dc3042e7254d238cc2ccf2903b18a69991, length: 731 -INFO added artifact, name: fake-gimlet-rot, kind: gimlet_rot_image_a, version: 2.0.0, hash: 3ab29e804bcbf382370f9f071b2f0ed71e5bb6af8b01474fcc2a414caccfc9be, length: 782 -INFO added artifact, name: fake-gimlet-rot, kind: gimlet_rot_image_b, version: 2.0.0, hash: 3ab29e804bcbf382370f9f071b2f0ed71e5bb6af8b01474fcc2a414caccfc9be, length: 782 -INFO added artifact, name: fake-gimlet-rot-bootloader, kind: gimlet_rot_bootloader, version: 2.0.0, hash: 8f89bf8bc5f3271650ad72a26fc0d116c910161ca143731473a2b20fb82653cc, length: 800 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 2.0.0, hash: 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 2.0.0, hash: acde77f1a4ee5cf719841b21bb04fd652ddf61387bdbc95a67cc1006009ad611, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 2.0.0, hash: 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: non-semver, hash: 4c854917481a7bcb7b7c1e63833296b3ac1f8687aae5b950ece75a08cf27f35f, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: non-semver, hash: 6b4ace7210d67fa3a63b14e007d99fbcad1b4e27e78025c8e467c2341f67c2ba, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: non-semver, hash: d7cdc8e1bfd15a830cfdc67868a7c05828090aefc42c8af44aa1104900d09fe5, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 2.0.0, hash: bb2d1ff02d11f72bc9049ae57f27536207519a1859d29f8d7a90ab3b44d56b08, length: 1687 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 2.0.0, hash: 1eb9f24be68f13c274aa0ac9b863cec520dbfe762620c328431728d75bfd2198, length: 1691 -INFO added artifact, name: clickhouse_server, kind: zone, version: 2.0.0, hash: 50fe271948672a9af1ba5f96c9d87ff2736fa72d78dfef598a79fa0cc8a00474, length: 1691 -INFO added artifact, name: cockroachdb, kind: zone, version: 2.0.0, hash: ebc82bf181db864b78cb7e3ddedf7ab1dd8fe7b377b02846f3c27cf0387bb387, length: 1690 -INFO added artifact, name: crucible-zone, kind: zone, version: 2.0.0, hash: 866f6a7c2e51c056fb722b5113e80181cc9cd8b712a0d3dbf1edc4ce29e5229e, length: 1691 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 2.0.0, hash: 3ff26dad96faa8f67251f5de40458b4f809d536bfe8572134da0e42c2fa12674, length: 1696 -INFO added artifact, name: external-dns, kind: zone, version: 2.0.0, hash: f282c45771429f7bebf71f0cc668521066db57c6bb07fcfccdfb44825d3d930f, length: 1690 -INFO added artifact, name: internal-dns, kind: zone, version: 2.0.0, hash: de30657a72b066b8ef1f56351a0a5d4d7000da0a62c4be9b2e949a107ca8a389, length: 1690 -INFO added artifact, name: ntp, kind: zone, version: 2.0.0, hash: d76e26198daed69cdae04490d7477f8c842e0dbe37d463eac0d0a8d3fb803095, length: 1682 -INFO added artifact, name: nexus, kind: zone, version: 2.0.0, hash: e9b7035f41848a987a798c15ac424cc91dd662b1af0920d58d8aa1ebad7467b6, length: 1683 -INFO added artifact, name: oximeter, kind: zone, version: 2.0.0, hash: 9f4bc56a15d5fd943fdac94309994b8fd73aa2be1ec61faf44bfcf2356c9dc23, length: 1683 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 2.0.0, hash: a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 2.0.0, hash: fe18e9b745f899f71dc9a718311d97c33f79eb579de09990b0cd2032574d9430, length: 729 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 2.0.0, hash: be3fa620485936ebd70160b79d74f8f5709d9388c1add9b7e0fa7d283943e6a8, length: 776 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 2.0.0, hash: be3fa620485936ebd70160b79d74f8f5709d9388c1add9b7e0fa7d283943e6a8, length: 776 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 2.0.0, hash: ca4d5642e1be0acb535ca63804eec2f19e783c33e3a3ebffa843916accaafeb9, length: 799 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 2.0.0, hash: f6c2b7e7b2fc19b17d3d604dbc16da1adcd6966db80fbbd2127f4a7fe123e71b, length: 746 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 2.0.0, hash: ad32d98232043a39d076b5b90b506fad406767e0ce1298507e1733bc4e576740, length: 791 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 2.0.0, hash: ad32d98232043a39d076b5b90b506fad406767e0ce1298507e1733bc4e576740, length: 791 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: non-semver-2, hash: ceae102fa428d81aa6c5d9e1c742fb9ca1091ce5b2797ed0bb14615cf678d342, length: 811 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 2.0.0, hash: c380bd9a56dba4c9d4d4ae4c728ea7aadbe61a3ed495b367bfa4e07ff08a423c, length: 526 sled d81c6a84-79b8-4958-ae41-ea46c9b19763: install dataset updated: from repo at repo-2.0.0.zip (system version 2.0.0) > sled-set serial2 mupdate-override 1c0ce176-6dc8-4a90-adea-d4a8000751da @@ -1126,7 +1024,8 @@ WARN skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4 INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 6, num_already_artifact: 0, num_eligible: 6, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO measurement is eligible for noop image source conversion, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, new_measurement_source: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 +INFO measurement is eligible for noop image source conversion, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, new_measurement_source: 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 +ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: remove_mupdate_override is set in the blueprint (1c0ce176-6dc8-4a90-adea-d4a8000751da) generated blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b based on parent blueprint 626487fa-7139-45ec-8416-902271fc730b @@ -1184,7 +1083,8 @@ to: blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b hash version -------------------------------------------------------------------------------- - install dataset (no version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -1355,15 +1255,15 @@ INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41c INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 6, num_already_artifact: 0, num_eligible: 0, num_ineligible: 6 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6, kind: nexus, file_name: nexus.tar.gz, expected_hash: e9b7035f41848a987a798c15ac424cc91dd662b1af0920d58d8aa1ebad7467b6 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: 75b220ba-a0f4-4872-8202-dc7c87f062d0, kind: crucible_pantry, file_name: crucible_pantry.tar.gz, expected_hash: 3ff26dad96faa8f67251f5de40458b4f809d536bfe8572134da0e42c2fa12674 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: ea5b4030-b52f-44b2-8d70-45f15f987d01, kind: internal_dns, file_name: internal_dns.tar.gz, expected_hash: de30657a72b066b8ef1f56351a0a5d4d7000da0a62c4be9b2e949a107ca8a389 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: f10a4fb9-759f-4a65-b25e-5794ad2d07d8, kind: internal_ntp, file_name: ntp.tar.gz, expected_hash: d76e26198daed69cdae04490d7477f8c842e0dbe37d463eac0d0a8d3fb803095 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: f55647d4-5500-4ad3-893a-df45bd50d622, kind: crucible, file_name: crucible.tar.gz, expected_hash: 866f6a7c2e51c056fb722b5113e80181cc9cd8b712a0d3dbf1edc4ce29e5229e -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: f6ec9c67-946a-4da3-98d5-581f72ce8bf0, kind: external_dns, file_name: external_dns.tar.gz, expected_hash: f282c45771429f7bebf71f0cc668521066db57c6bb07fcfccdfb44825d3d930f +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6, kind: nexus, file_name: nexus.tar.gz, expected_hash: 984ae2cf5cc36fad121ab59416a2ae0101e9d06cbf76f056c3fcc2cd925a504b +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: 75b220ba-a0f4-4872-8202-dc7c87f062d0, kind: crucible_pantry, file_name: crucible_pantry.tar.gz, expected_hash: addc4ed18936fcdae28bb14ec868930765bce4948be459599d7e9991ed24ee87 +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: ea5b4030-b52f-44b2-8d70-45f15f987d01, kind: internal_dns, file_name: internal_dns.tar.gz, expected_hash: 33e4710c8652ceb7be7f51f45c23fd040321ac4eb7bc28eeae6aba1ee8be55f3 +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: f10a4fb9-759f-4a65-b25e-5794ad2d07d8, kind: internal_ntp, file_name: ntp.tar.gz, expected_hash: 8f0613ee91aac7c8c25fb0abfd94f7b768e44e1bdb683663d3eb6222b5318b8e +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: f55647d4-5500-4ad3-893a-df45bd50d622, kind: crucible, file_name: crucible.tar.gz, expected_hash: e7de2c66e29bebe8288deda473918e827b4755abe82bb7859630eba9ef8a5736 +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, zone_id: f6ec9c67-946a-4da3-98d5-581f72ce8bf0, kind: external_dns, file_name: external_dns.tar.gz, expected_hash: 6f93ba47f58e2dc9f8d977905b2da6689177151d6350173d02fa174b8118cf5b INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO measurement install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, expected_hash: a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 +INFO measurement install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, expected_hash: fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 generated blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 based on parent blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b blueprint source: planner with report: planning report: @@ -1470,7 +1370,8 @@ parent: c1a0d242-9160-40f4-96ae-61f8f40a0b1b -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -1716,39 +1617,6 @@ generated inventory collection 0b5efbb3-0b1b-4bbf-b7d8-a2d6fca074c6 from configu > # Now set the target release -- at this point, we're still waiting on the > # sled with the mupdate override error to be cleared. > set target-release repo-2.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 2.0.0, hash: ac329e461b20cfdeaeb225456226b1dc3042e7254d238cc2ccf2903b18a69991, length: 731 -INFO added artifact, name: fake-gimlet-rot, kind: gimlet_rot_image_a, version: 2.0.0, hash: 3ab29e804bcbf382370f9f071b2f0ed71e5bb6af8b01474fcc2a414caccfc9be, length: 782 -INFO added artifact, name: fake-gimlet-rot, kind: gimlet_rot_image_b, version: 2.0.0, hash: 3ab29e804bcbf382370f9f071b2f0ed71e5bb6af8b01474fcc2a414caccfc9be, length: 782 -INFO added artifact, name: fake-gimlet-rot-bootloader, kind: gimlet_rot_bootloader, version: 2.0.0, hash: 8f89bf8bc5f3271650ad72a26fc0d116c910161ca143731473a2b20fb82653cc, length: 800 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 2.0.0, hash: 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 2.0.0, hash: acde77f1a4ee5cf719841b21bb04fd652ddf61387bdbc95a67cc1006009ad611, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 2.0.0, hash: 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: non-semver, hash: 4c854917481a7bcb7b7c1e63833296b3ac1f8687aae5b950ece75a08cf27f35f, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: non-semver, hash: 6b4ace7210d67fa3a63b14e007d99fbcad1b4e27e78025c8e467c2341f67c2ba, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: non-semver, hash: d7cdc8e1bfd15a830cfdc67868a7c05828090aefc42c8af44aa1104900d09fe5, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 2.0.0, hash: bb2d1ff02d11f72bc9049ae57f27536207519a1859d29f8d7a90ab3b44d56b08, length: 1687 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 2.0.0, hash: 1eb9f24be68f13c274aa0ac9b863cec520dbfe762620c328431728d75bfd2198, length: 1691 -INFO added artifact, name: clickhouse_server, kind: zone, version: 2.0.0, hash: 50fe271948672a9af1ba5f96c9d87ff2736fa72d78dfef598a79fa0cc8a00474, length: 1691 -INFO added artifact, name: cockroachdb, kind: zone, version: 2.0.0, hash: ebc82bf181db864b78cb7e3ddedf7ab1dd8fe7b377b02846f3c27cf0387bb387, length: 1690 -INFO added artifact, name: crucible-zone, kind: zone, version: 2.0.0, hash: 866f6a7c2e51c056fb722b5113e80181cc9cd8b712a0d3dbf1edc4ce29e5229e, length: 1691 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 2.0.0, hash: 3ff26dad96faa8f67251f5de40458b4f809d536bfe8572134da0e42c2fa12674, length: 1696 -INFO added artifact, name: external-dns, kind: zone, version: 2.0.0, hash: f282c45771429f7bebf71f0cc668521066db57c6bb07fcfccdfb44825d3d930f, length: 1690 -INFO added artifact, name: internal-dns, kind: zone, version: 2.0.0, hash: de30657a72b066b8ef1f56351a0a5d4d7000da0a62c4be9b2e949a107ca8a389, length: 1690 -INFO added artifact, name: ntp, kind: zone, version: 2.0.0, hash: d76e26198daed69cdae04490d7477f8c842e0dbe37d463eac0d0a8d3fb803095, length: 1682 -INFO added artifact, name: nexus, kind: zone, version: 2.0.0, hash: e9b7035f41848a987a798c15ac424cc91dd662b1af0920d58d8aa1ebad7467b6, length: 1683 -INFO added artifact, name: oximeter, kind: zone, version: 2.0.0, hash: 9f4bc56a15d5fd943fdac94309994b8fd73aa2be1ec61faf44bfcf2356c9dc23, length: 1683 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 2.0.0, hash: a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 2.0.0, hash: fe18e9b745f899f71dc9a718311d97c33f79eb579de09990b0cd2032574d9430, length: 729 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 2.0.0, hash: be3fa620485936ebd70160b79d74f8f5709d9388c1add9b7e0fa7d283943e6a8, length: 776 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 2.0.0, hash: be3fa620485936ebd70160b79d74f8f5709d9388c1add9b7e0fa7d283943e6a8, length: 776 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 2.0.0, hash: ca4d5642e1be0acb535ca63804eec2f19e783c33e3a3ebffa843916accaafeb9, length: 799 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 2.0.0, hash: f6c2b7e7b2fc19b17d3d604dbc16da1adcd6966db80fbbd2127f4a7fe123e71b, length: 746 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 2.0.0, hash: ad32d98232043a39d076b5b90b506fad406767e0ce1298507e1733bc4e576740, length: 791 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 2.0.0, hash: ad32d98232043a39d076b5b90b506fad406767e0ce1298507e1733bc4e576740, length: 791 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: non-semver-2, hash: ceae102fa428d81aa6c5d9e1c742fb9ca1091ce5b2797ed0bb14615cf678d342, length: 811 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 2.0.0, hash: c380bd9a56dba4c9d4d4ae4c728ea7aadbe61a3ed495b367bfa4e07ff08a423c, length: 526 set target release based on repo-2.0.0.zip > blueprint-plan latest latest @@ -1764,7 +1632,8 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 6, num_already_artifact: 0, num_eligible: 6, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO measurement is eligible for noop image source conversion, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, new_measurement_source: a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 +INFO measurement is eligible for noop image source conversion, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, new_measurement_source: fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 +ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 generated blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 based on parent blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 blueprint source: planner with report: @@ -1869,7 +1738,8 @@ parent: afb09faf-a586-4483-9289-04d4f1d8ba23 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -1929,7 +1799,8 @@ parent: afb09faf-a586-4483-9289-04d4f1d8ba23 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 physical disks: @@ -2021,7 +1892,8 @@ to: blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 hash version -------------------------------------------------------------------------------- - install dataset (no version) -+ a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 ++ fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 ++ ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 host phase 2 contents: @@ -2222,8 +2094,10 @@ parent: 8f2d1f39-7c88-4701-aa43-56bf281b28c1 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 physical disks: @@ -2286,8 +2160,10 @@ parent: 8f2d1f39-7c88-4701-aa43-56bf281b28c1 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 physical disks: @@ -2347,8 +2223,10 @@ parent: 8f2d1f39-7c88-4701-aa43-56bf281b28c1 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 physical disks: @@ -2434,8 +2312,10 @@ to: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 -+ a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 ++ fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 ++ ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 host phase 2 contents: @@ -2500,8 +2380,10 @@ to: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 -+ a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 ++ fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 ++ ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 host phase 2 contents: @@ -2556,8 +2438,10 @@ to: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -2657,7 +2541,7 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 6, num_already_artifact: 6, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO configuring MGS-driven update, artifact_version: 2.0.0, artifact_hash: 8f89bf8bc5f3271650ad72a26fc0d116c910161ca143731473a2b20fb82653cc, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 2.0.0, artifact_hash: 59783814db2b48b58ce5d914fd27222f856da05fd661164a4ccfec6ecfa45e6d, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 generated blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 based on parent blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 blueprint source: planner with report: @@ -2692,8 +2576,10 @@ parent: 12d602a6-5ab4-487a-b94e-eb30cdf30300 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 physical disks: @@ -2756,8 +2642,10 @@ parent: 12d602a6-5ab4-487a-b94e-eb30cdf30300 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 physical disks: @@ -2817,8 +2705,10 @@ parent: 12d602a6-5ab4-487a-b94e-eb30cdf30300 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 physical disks: @@ -2882,7 +2772,7 @@ parent: 12d602a6-5ab4-487a-b94e-eb30cdf30300 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - sled 0 913-0000019 serial0 8f89bf8bc5f3271650ad72a26fc0d116c910161ca143731473a2b20fb82653cc 2.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) + sled 0 913-0000019 serial0 59783814db2b48b58ce5d914fd27222f856da05fd661164a4ccfec6ecfa45e6d 2.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) blueprint source: planner with report: @@ -2920,7 +2810,7 @@ to: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -+ sled 0 913-0000019 serial0 8f89bf8bc5f3271650ad72a26fc0d116c910161ca143731473a2b20fb82653cc 2.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) ++ sled 0 913-0000019 serial0 59783814db2b48b58ce5d914fd27222f856da05fd661164a4ccfec6ecfa45e6d 2.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) internal DNS: @@ -2952,11 +2842,11 @@ set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 RoT settings: slot a -> 2.0.0 > sled-update-sp serial0 --active 2.0.0 set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 SP versions: active -> 2.0.0 -> sled-update-host-phase2 serial0 --boot-disk B --slot-b 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: boot_disk -> B, B -> 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df +> sled-update-host-phase2 serial0 --boot-disk B --slot-b 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: boot_disk -> B, B -> 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 -> sled-update-host-phase1 serial0 --active B --slot-b 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 1 details: active -> B, B -> 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 +> sled-update-host-phase1 serial0 --active B --slot-b 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 1 details: active -> B, B -> 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef > # All the MGS-based updates on sled 1. @@ -2969,11 +2859,11 @@ set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c RoT settings: slot a -> 2.0.0 > sled-update-sp serial1 --active 2.0.0 set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c SP versions: active -> 2.0.0 -> sled-update-host-phase2 serial1 --boot-disk B --slot-b 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 2 details: boot_disk -> B, B -> 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df +> sled-update-host-phase2 serial1 --boot-disk B --slot-b 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 2 details: boot_disk -> B, B -> 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 -> sled-update-host-phase1 serial1 --active B --slot-b 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: active -> B, B -> 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 +> sled-update-host-phase1 serial1 --active B --slot-b 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: active -> B, B -> 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef > # All the MGS-based updates on sled 2. @@ -2986,11 +2876,11 @@ set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 RoT settings: slot a -> 2.0.0 > sled-update-sp serial2 --active 2.0.0 set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 SP versions: active -> 2.0.0 -> sled-update-host-phase2 serial2 --boot-disk B --slot-b 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 2 details: boot_disk -> B, B -> 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df +> sled-update-host-phase2 serial2 --boot-disk B --slot-b 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 2 details: boot_disk -> B, B -> 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89 -> sled-update-host-phase1 serial2 --active B --slot-b 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 1 details: active -> B, B -> 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729 +> sled-update-host-phase1 serial2 --active B --slot-b 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 1 details: active -> B, B -> 6e6329b72e55254b1b5d26782724e7d6273bf18dd2a6e49359338689c09576ef > # All MGS-based updates complete. @@ -3004,7 +2894,7 @@ INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41c INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 6, num_already_artifact: 6, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 2.0.0, artifact_hash: 8f89bf8bc5f3271650ad72a26fc0d116c910161ca143731473a2b20fb82653cc, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 2.0.0, artifact_hash: 59783814db2b48b58ce5d914fd27222f856da05fd661164a4ccfec6ecfa45e6d, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 @@ -3035,8 +2925,10 @@ to: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 host phase 2 contents: @@ -3095,8 +2987,10 @@ to: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 host phase 2 contents: @@ -3155,8 +3049,10 @@ to: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 host phase 2 contents: @@ -3226,7 +3122,7 @@ to: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- sled 0 913-0000019 serial0 8f89bf8bc5f3271650ad72a26fc0d116c910161ca143731473a2b20fb82653cc 2.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) +- sled 0 913-0000019 serial0 59783814db2b48b58ce5d914fd27222f856da05fd661164a4ccfec6ecfa45e6d 2.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) internal DNS: @@ -3294,10 +3190,12 @@ INFO blueprint mupdate override updated to match inventory, phase: do_plan_mupda - zone ba4994a8-23f9-4b1a-a84f-a08d74591389 (CruciblePantry) updated from artifact: version 1.0.0 to install dataset , host_phase_2: - host phase 2 slot A: current contents (unchanged) - - host phase 2 slot B: updated from artifact (version version 2.0.0, hash 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df) to preserving current contents + - host phase 2 slot B: updated from artifact (version version 2.0.0, hash 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89) to preserving current contents , measurements: - - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + - 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + - ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + - fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + - ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 INFO no previous MGS update found as part of updating blueprint mupdate override to match inventory, phase: do_plan_mupdate_override, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 INFO updating target release minimum generation based on new set-override actions, phase: do_plan_mupdate_override, current_generation: 4, new_generation: 5 @@ -3341,8 +3239,10 @@ to: blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- -- 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 -- a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 +- 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 +- ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 +- fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 +- ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 + install dataset (no version) @@ -3472,10 +3372,12 @@ INFO blueprint mupdate override updated to match inventory, phase: do_plan_mupda - zone bd354eef-d8a6-4165-9124-283fb5e46d77 (Crucible) updated from artifact: version 2.0.0 to install dataset , host_phase_2: - host phase 2 slot A: current contents (unchanged) - - host phase 2 slot B: updated from artifact (version version 2.0.0, hash 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df) to preserving current contents + - host phase 2 slot B: updated from artifact (version version 2.0.0, hash 89d600250ba3469d8a6bd45f1738054f42b175ec1a48b68ca4344c2f2ca7bf89) to preserving current contents , measurements: - - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 - - a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855 version 2.0.0 + - 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + - ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + - fbb89a9ab7f6767df5f8ee28a7857fd592f0b614731bb01f47133c9629e36c17 version 2.0.0 + - ffa6a263fe18e2882f2024aeec01b6b7b3e8f50c87b49fb44a217ccab18b32cb version 2.0.0 INFO no previous MGS update found as part of updating blueprint mupdate override to match inventory, phase: do_plan_mupdate_override, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c error: generating blueprint: target release minimum generation was set to 1000, but we tried to set it to the older generation 5, indicating a possible table rollback which should not happen diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-nexus-generation-autobump-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-nexus-generation-autobump-stdout index d24d26aec84..a2c58ed470f 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-nexus-generation-autobump-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-nexus-generation-autobump-stdout @@ -27,46 +27,11 @@ planner config: > # Create TUF repos -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -133,24 +98,24 @@ set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c SP versions: active -> 1.0.0 set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 SP versions: active -> 1.0.0 -> sled-update-host-phase1 serial0 --slot-a b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 1 details: A -> b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +> sled-update-host-phase1 serial0 --slot-a 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 1 details: A -> 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c -> sled-update-host-phase1 serial1 --slot-a b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: A -> b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +> sled-update-host-phase1 serial1 --slot-a 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: A -> 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c -> sled-update-host-phase1 serial2 --slot-a b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 1 details: A -> b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +> sled-update-host-phase1 serial2 --slot-a 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 1 details: A -> 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c -> sled-update-host-phase2 serial0 --boot-disk A --slot-a d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: boot_disk -> A, A -> d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +> sled-update-host-phase2 serial0 --boot-disk A --slot-a c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: boot_disk -> A, A -> c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d -> sled-update-host-phase2 serial1 --boot-disk A --slot-a d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 2 details: boot_disk -> A, A -> d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +> sled-update-host-phase2 serial1 --boot-disk A --slot-a c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 2 details: boot_disk -> A, A -> c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d -> sled-update-host-phase2 serial2 --boot-disk A --slot-a d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 2 details: boot_disk -> A, A -> d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +> sled-update-host-phase2 serial2 --boot-disk A --slot-a c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 2 details: boot_disk -> A, A -> c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d > # Migrate from Install -> Artifact @@ -195,7 +160,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -280,7 +246,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -361,7 +328,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -493,14 +461,14 @@ Sled serial0 host phase 1 active slot: A host phase 1 hashes: SLOT HASH - A b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b + A 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 1.0.0 unknown n/a - RotSlotA SimRot SimRot 1.0.0 unknown sign-gimlet - RotSlotB SimRot SimRot 1.0.0 unknown sign-gimlet - Stage0 SimRot SimRot 1.0.0 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 1.0.0 unknown n/a + RotSlotA SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 + RotSlotB SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -519,14 +487,14 @@ Sled serial1 host phase 1 active slot: A host phase 1 hashes: SLOT HASH - A b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b + A 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 1.0.0 unknown n/a - RotSlotA SimRot SimRot 1.0.0 unknown sign-gimlet - RotSlotB SimRot SimRot 1.0.0 unknown sign-gimlet - Stage0 SimRot SimRot 1.0.0 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 1.0.0 unknown n/a + RotSlotA SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 + RotSlotB SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -545,14 +513,14 @@ Sled serial2 host phase 1 active slot: A host phase 1 hashes: SLOT HASH - A b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b + A 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 1.0.0 unknown n/a - RotSlotA SimRot SimRot 1.0.0 unknown sign-gimlet - RotSlotB SimRot SimRot 1.0.0 unknown sign-gimlet - Stage0 SimRot SimRot 1.0.0 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 1.0.0 unknown n/a + RotSlotA SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 + RotSlotB SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 1.0.0 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -665,7 +633,7 @@ sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (role = Gimlet, serial serial1) LEDGERED SLED CONFIG generation: 3 remove_mupdate_override: None - desired host phase 2 slot a: artifact d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 + desired host phase 2 slot a: artifact c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d desired host phase 2 slot b: keep current contents DISKS: 3 ID ZPOOL_ID VENDOR MODEL SERIAL @@ -703,42 +671,44 @@ LEDGERED SLED CONFIG feecfda1-9966-43d4-aaef-440b77f0b26d oxp_727522a7-934f-494d-b5b3-160968e74463/crucible off none none ZONES: 9 ID KIND IMAGE_SOURCE - 353b3b65-20f7-48c3-88f7-495bd5d31545 clickhouse artifact: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659 - 466a9f29-62bf-4e63-924a-b9efdb86afec nexus artifact: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388 - 62620961-fc4a-481e-968b-f5acbac0dc63 internal_ntp artifact: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439 - 6c3ae381-04f7-41ea-b0ac-74db387dbc3a external_dns artifact: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d - 86a22a56-0168-453d-9df1-cb2a7c64b5d3 crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - 99e2f30b-3174-40bf-a78a-90da8abba8ca internal_dns artifact: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a - ad6a3a03-8d0f-4504-99a4-cbf73d69b973 crucible_pantry artifact: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02 - bd354eef-d8a6-4165-9124-283fb5e46d77 crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - e2fdefe7-95b2-4fd2-ae37-56929a06d58c crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - MEASUREMENTS: 1 + 353b3b65-20f7-48c3-88f7-495bd5d31545 clickhouse artifact: 789283e5083ac3ed9ca24f33a6cad81793798298cd5c536c93981829abab9d15 + 466a9f29-62bf-4e63-924a-b9efdb86afec nexus artifact: 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961 + 62620961-fc4a-481e-968b-f5acbac0dc63 internal_ntp artifact: 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0 + 6c3ae381-04f7-41ea-b0ac-74db387dbc3a external_dns artifact: 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4 + 86a22a56-0168-453d-9df1-cb2a7c64b5d3 crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + 99e2f30b-3174-40bf-a78a-90da8abba8ca internal_dns artifact: 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2 + ad6a3a03-8d0f-4504-99a4-cbf73d69b973 crucible_pantry artifact: c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1 + bd354eef-d8a6-4165-9124-283fb5e46d77 crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + e2fdefe7-95b2-4fd2-ae37-56929a06d58c crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb + artifact ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1686 bytes with hash 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659): ok - - clickhouse_keeper.tar.gz (expected 1690 bytes with hash cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3): ok - - clickhouse_server.tar.gz (expected 1690 bytes with hash 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001): ok - - cockroachdb.tar.gz (expected 1689 bytes with hash f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291): ok - - crucible.tar.gz (expected 1690 bytes with hash 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047): ok - - crucible_pantry.tar.gz (expected 1695 bytes with hash 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02): ok - - external_dns.tar.gz (expected 1689 bytes with hash ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d): ok - - internal_dns.tar.gz (expected 1689 bytes with hash ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a): ok - - nexus.tar.gz (expected 1682 bytes with hash 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388): ok - - ntp.tar.gz (expected 1681 bytes with hash 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439): ok - - oximeter.tar.gz (expected 1682 bytes with hash 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77): ok + - clickhouse.tar.gz (expected 142 bytes with hash 789283e5083ac3ed9ca24f33a6cad81793798298cd5c536c93981829abab9d15): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 2ce04cd4cb5aa9a525637b9f30c2f93f365048221808d95aae16e5c1127d6492): ok + - clickhouse_server.tar.gz (expected 145 bytes with hash 7245b29a4f07273fb8b7a4860f8847babf2b130fe437d30c3ab47b4f274a704e): ok + - cockroachdb.tar.gz (expected 143 bytes with hash 25d7b7f1aa8420f54bf09243ec3206a9bb50eba2cd252cf2279356cdfbbfa101): ok + - crucible.tar.gz (expected 145 bytes with hash 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1): ok + - external_dns.tar.gz (expected 142 bytes with hash 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4): ok + - internal_dns.tar.gz (expected 142 bytes with hash 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2): ok + - nexus.tar.gz (expected 135 bytes with hash 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961): ok + - ntp.tar.gz (expected 135 bytes with hash 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0): ok + - oximeter.tar.gz (expected 137 bytes with hash cb41cb81f67ffabf0f832927162245fbd79fa2be82430ad6dd03132a34bafefb): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb (expected 865 bytes with hash 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb): ok + - ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 (expected 270 bytes with hash ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -746,7 +716,7 @@ LEDGERED SLED CONFIG no non-boot disks boot disk slot: A slot A details: - artifact: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 (1000 bytes) + artifact: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d (1000 bytes) image name: fake from debug_assume_success() phase 2 hash: 0000000000000000000000000000000000000000000000000000000000000000 slot B details: @@ -863,7 +833,7 @@ sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (role = Gimlet, serial serial0) LEDGERED SLED CONFIG generation: 3 remove_mupdate_override: None - desired host phase 2 slot a: artifact d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 + desired host phase 2 slot a: artifact c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d desired host phase 2 slot b: keep current contents DISKS: 3 ID ZPOOL_ID VENDOR MODEL SERIAL @@ -899,41 +869,43 @@ LEDGERED SLED CONFIG ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d off none none ZONES: 8 ID KIND IMAGE_SOURCE - 058fd5f9-60a8-4e11-9302-15172782e17d crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - 0c71b3b2-6ceb-4e8f-b020-b08675e83038 nexus artifact: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388 - 427ec88f-f467-42fa-9bbb-66a91a36103c internal_dns artifact: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a - 5199c033-4cf9-4ab6-8ae7-566bd7606363 crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - 6444f8a5-6465-4f0b-a549-1993c113569c internal_ntp artifact: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439 - 803bfb63-c246-41db-b0da-d3b87ddfc63d external_dns artifact: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d - ba4994a8-23f9-4b1a-a84f-a08d74591389 crucible_pantry artifact: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02 - dfac80b4-a887-430a-ae87-a4e065dba787 crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - MEASUREMENTS: 1 + 058fd5f9-60a8-4e11-9302-15172782e17d crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + 0c71b3b2-6ceb-4e8f-b020-b08675e83038 nexus artifact: 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961 + 427ec88f-f467-42fa-9bbb-66a91a36103c internal_dns artifact: 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2 + 5199c033-4cf9-4ab6-8ae7-566bd7606363 crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + 6444f8a5-6465-4f0b-a549-1993c113569c internal_ntp artifact: 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0 + 803bfb63-c246-41db-b0da-d3b87ddfc63d external_dns artifact: 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4 + ba4994a8-23f9-4b1a-a84f-a08d74591389 crucible_pantry artifact: c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1 + dfac80b4-a887-430a-ae87-a4e065dba787 crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb + artifact ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1686 bytes with hash 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659): ok - - clickhouse_keeper.tar.gz (expected 1690 bytes with hash cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3): ok - - clickhouse_server.tar.gz (expected 1690 bytes with hash 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001): ok - - cockroachdb.tar.gz (expected 1689 bytes with hash f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291): ok - - crucible.tar.gz (expected 1690 bytes with hash 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047): ok - - crucible_pantry.tar.gz (expected 1695 bytes with hash 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02): ok - - external_dns.tar.gz (expected 1689 bytes with hash ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d): ok - - internal_dns.tar.gz (expected 1689 bytes with hash ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a): ok - - nexus.tar.gz (expected 1682 bytes with hash 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388): ok - - ntp.tar.gz (expected 1681 bytes with hash 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439): ok - - oximeter.tar.gz (expected 1682 bytes with hash 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77): ok + - clickhouse.tar.gz (expected 142 bytes with hash 789283e5083ac3ed9ca24f33a6cad81793798298cd5c536c93981829abab9d15): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 2ce04cd4cb5aa9a525637b9f30c2f93f365048221808d95aae16e5c1127d6492): ok + - clickhouse_server.tar.gz (expected 145 bytes with hash 7245b29a4f07273fb8b7a4860f8847babf2b130fe437d30c3ab47b4f274a704e): ok + - cockroachdb.tar.gz (expected 143 bytes with hash 25d7b7f1aa8420f54bf09243ec3206a9bb50eba2cd252cf2279356cdfbbfa101): ok + - crucible.tar.gz (expected 145 bytes with hash 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1): ok + - external_dns.tar.gz (expected 142 bytes with hash 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4): ok + - internal_dns.tar.gz (expected 142 bytes with hash 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2): ok + - nexus.tar.gz (expected 135 bytes with hash 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961): ok + - ntp.tar.gz (expected 135 bytes with hash 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0): ok + - oximeter.tar.gz (expected 137 bytes with hash cb41cb81f67ffabf0f832927162245fbd79fa2be82430ad6dd03132a34bafefb): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb (expected 865 bytes with hash 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb): ok + - ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 (expected 270 bytes with hash ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -941,7 +913,7 @@ LEDGERED SLED CONFIG no non-boot disks boot disk slot: A slot A details: - artifact: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 (1000 bytes) + artifact: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d (1000 bytes) image name: fake from debug_assume_success() phase 2 hash: 0000000000000000000000000000000000000000000000000000000000000000 slot B details: @@ -1058,7 +1030,7 @@ sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (role = Gimlet, serial serial2) LEDGERED SLED CONFIG generation: 3 remove_mupdate_override: None - desired host phase 2 slot a: artifact d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 + desired host phase 2 slot a: artifact c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d desired host phase 2 slot b: keep current contents DISKS: 3 ID ZPOOL_ID VENDOR MODEL SERIAL @@ -1094,41 +1066,43 @@ LEDGERED SLED CONFIG e009d8b8-4695-4322-b53f-f03f2744aef7 oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted off none none ZONES: 8 ID KIND IMAGE_SOURCE - 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 nexus artifact: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388 - 694bd14f-cb24-4be4-bb19-876e79cda2c8 crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - 75b220ba-a0f4-4872-8202-dc7c87f062d0 crucible_pantry artifact: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02 - 7c252b64-c5af-4ec1-989e-9a03f3b0f111 crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - ea5b4030-b52f-44b2-8d70-45f15f987d01 internal_dns artifact: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a - f10a4fb9-759f-4a65-b25e-5794ad2d07d8 internal_ntp artifact: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439 - f55647d4-5500-4ad3-893a-df45bd50d622 crucible artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 - f6ec9c67-946a-4da3-98d5-581f72ce8bf0 external_dns artifact: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d - MEASUREMENTS: 1 + 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 nexus artifact: 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961 + 694bd14f-cb24-4be4-bb19-876e79cda2c8 crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + 75b220ba-a0f4-4872-8202-dc7c87f062d0 crucible_pantry artifact: c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1 + 7c252b64-c5af-4ec1-989e-9a03f3b0f111 crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + ea5b4030-b52f-44b2-8d70-45f15f987d01 internal_dns artifact: 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2 + f10a4fb9-759f-4a65-b25e-5794ad2d07d8 internal_ntp artifact: 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0 + f55647d4-5500-4ad3-893a-df45bd50d622 crucible artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 + f6ec9c67-946a-4da3-98d5-581f72ce8bf0 external_dns artifact: 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4 + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb + artifact ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1686 bytes with hash 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659): ok - - clickhouse_keeper.tar.gz (expected 1690 bytes with hash cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3): ok - - clickhouse_server.tar.gz (expected 1690 bytes with hash 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001): ok - - cockroachdb.tar.gz (expected 1689 bytes with hash f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291): ok - - crucible.tar.gz (expected 1690 bytes with hash 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047): ok - - crucible_pantry.tar.gz (expected 1695 bytes with hash 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02): ok - - external_dns.tar.gz (expected 1689 bytes with hash ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d): ok - - internal_dns.tar.gz (expected 1689 bytes with hash ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a): ok - - nexus.tar.gz (expected 1682 bytes with hash 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388): ok - - ntp.tar.gz (expected 1681 bytes with hash 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439): ok - - oximeter.tar.gz (expected 1682 bytes with hash 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77): ok + - clickhouse.tar.gz (expected 142 bytes with hash 789283e5083ac3ed9ca24f33a6cad81793798298cd5c536c93981829abab9d15): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 2ce04cd4cb5aa9a525637b9f30c2f93f365048221808d95aae16e5c1127d6492): ok + - clickhouse_server.tar.gz (expected 145 bytes with hash 7245b29a4f07273fb8b7a4860f8847babf2b130fe437d30c3ab47b4f274a704e): ok + - cockroachdb.tar.gz (expected 143 bytes with hash 25d7b7f1aa8420f54bf09243ec3206a9bb50eba2cd252cf2279356cdfbbfa101): ok + - crucible.tar.gz (expected 145 bytes with hash 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1): ok + - external_dns.tar.gz (expected 142 bytes with hash 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4): ok + - internal_dns.tar.gz (expected 142 bytes with hash 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2): ok + - nexus.tar.gz (expected 135 bytes with hash 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961): ok + - ntp.tar.gz (expected 135 bytes with hash 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0): ok + - oximeter.tar.gz (expected 137 bytes with hash cb41cb81f67ffabf0f832927162245fbd79fa2be82430ad6dd03132a34bafefb): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb (expected 865 bytes with hash 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb): ok + - ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 (expected 270 bytes with hash ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -1136,7 +1110,7 @@ LEDGERED SLED CONFIG no non-boot disks boot disk slot: A slot A details: - artifact: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 (1000 bytes) + artifact: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d (1000 bytes) image name: fake from debug_assume_success() phase 2 hash: 0000000000000000000000000000000000000000000000000000000000000000 slot B details: @@ -1217,7 +1191,8 @@ parent: 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -1296,7 +1271,8 @@ parent: 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -1372,7 +1348,8 @@ parent: 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -1530,7 +1507,8 @@ to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -1606,7 +1584,8 @@ to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -1679,7 +1658,8 @@ to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -1782,8 +1762,8 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 4c6a45f3-6754-4082-a7dd-11d59b0127b1 (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }, ZonePropagationIncomplete { zone_id: 9882b9e4-9a10-48ef-bf78-0cc1317dadfe (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }, ZonePropagationIncomplete { zone_id: a40e7821-3ec7-4aa9-995d-7d26ecec7d0f (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }] -INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 4c6a45f3-6754-4082-a7dd-11d59b0127b1 (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }, ZonePropagationIncomplete { zone_id: 9882b9e4-9a10-48ef-bf78-0cc1317dadfe (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }, ZonePropagationIncomplete { zone_id: a40e7821-3ec7-4aa9-995d-7d26ecec7d0f (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }] +INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 4c6a45f3-6754-4082-a7dd-11d59b0127b1 (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }, ZonePropagationIncomplete { zone_id: 9882b9e4-9a10-48ef-bf78-0cc1317dadfe (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }, ZonePropagationIncomplete { zone_id: a40e7821-3ec7-4aa9-995d-7d26ecec7d0f (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }] +INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 4c6a45f3-6754-4082-a7dd-11d59b0127b1 (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }, ZonePropagationIncomplete { zone_id: 9882b9e4-9a10-48ef-bf78-0cc1317dadfe (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }, ZonePropagationIncomplete { zone_id: a40e7821-3ec7-4aa9-995d-7d26ecec7d0f (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }] generated blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 based on parent blueprint 9034c710-3e57-45f3-99e5-4316145e87ac blueprint source: planner with report: planning report: @@ -1830,8 +1810,8 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 4c6a45f3-6754-4082-a7dd-11d59b0127b1 (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }, ZonePropagationIncomplete { zone_id: 9882b9e4-9a10-48ef-bf78-0cc1317dadfe (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }, ZonePropagationIncomplete { zone_id: a40e7821-3ec7-4aa9-995d-7d26ecec7d0f (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }] -INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 4c6a45f3-6754-4082-a7dd-11d59b0127b1 (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }, ZonePropagationIncomplete { zone_id: 9882b9e4-9a10-48ef-bf78-0cc1317dadfe (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }, ZonePropagationIncomplete { zone_id: a40e7821-3ec7-4aa9-995d-7d26ecec7d0f (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388") } } }] +INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 4c6a45f3-6754-4082-a7dd-11d59b0127b1 (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }, ZonePropagationIncomplete { zone_id: 9882b9e4-9a10-48ef-bf78-0cc1317dadfe (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }, ZonePropagationIncomplete { zone_id: a40e7821-3ec7-4aa9-995d-7d26ecec7d0f (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }] +INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 4c6a45f3-6754-4082-a7dd-11d59b0127b1 (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }, ZonePropagationIncomplete { zone_id: 9882b9e4-9a10-48ef-bf78-0cc1317dadfe (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }, ZonePropagationIncomplete { zone_id: a40e7821-3ec7-4aa9-995d-7d26ecec7d0f (omicron_zone), zone_kind: Nexus, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961)) } } }] generated blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 based on parent blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 blueprint source: planner with report: planning report: @@ -2098,7 +2078,8 @@ to: blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -2226,7 +2207,8 @@ to: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -2350,7 +2332,8 @@ to: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-noop-image-source-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-noop-image-source-stdout index 07a611dd3a8..b8aa3dd54db 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-noop-image-source-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-noop-image-source-stdout @@ -23,53 +23,16 @@ e96e226f-4ed9-4c01-91b9-69a9cd076c9e serial6 1 fd00:1122:3344:107::/64 > # Create a TUF repository from a fake manifest. (The output TUF repo is > # written to a temporary directory that this invocation of `reconfigurator-cli` > # is running out of as its working directory.) -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > # Create a second TUF repository from a different fake manifest. -> tuf-assemble ../../update-common/manifests/fake-non-semver.toml --allow-non-semver -INFO assembling repository in -INFO artifacts assembled and archived to `repo-2.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 2.0.0 created repo-2.0.0.zip for system version 2.0.0 > # Load the target release from the first TUF repository. > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -111,39 +74,6 @@ sled aff6c093-197d-42c5-ad80-9f10ba051a34: install dataset updated: to target re > # On a fifth sled, set the install dataset to the repo-2.0.0.zip generated by the > # second TUF repository. > sled-update-install-dataset serial4 --from-repo repo-2.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 2.0.0, hash: ac329e461b20cfdeaeb225456226b1dc3042e7254d238cc2ccf2903b18a69991, length: 731 -INFO added artifact, name: fake-gimlet-rot, kind: gimlet_rot_image_a, version: 2.0.0, hash: 3ab29e804bcbf382370f9f071b2f0ed71e5bb6af8b01474fcc2a414caccfc9be, length: 782 -INFO added artifact, name: fake-gimlet-rot, kind: gimlet_rot_image_b, version: 2.0.0, hash: 3ab29e804bcbf382370f9f071b2f0ed71e5bb6af8b01474fcc2a414caccfc9be, length: 782 -INFO added artifact, name: fake-gimlet-rot-bootloader, kind: gimlet_rot_bootloader, version: 2.0.0, hash: 8f89bf8bc5f3271650ad72a26fc0d116c910161ca143731473a2b20fb82653cc, length: 800 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 2.0.0, hash: 1eba0d79ea9d34558fb3f923a06614bd740649eeb0ca6e5086529dc60cd6f729, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 2.0.0, hash: acde77f1a4ee5cf719841b21bb04fd652ddf61387bdbc95a67cc1006009ad611, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 2.0.0, hash: 9ff631b5b7229604ab7c5aae2ee4a34a64772736b332540d38077b3aea6952df, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: non-semver, hash: 4c854917481a7bcb7b7c1e63833296b3ac1f8687aae5b950ece75a08cf27f35f, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: non-semver, hash: 6b4ace7210d67fa3a63b14e007d99fbcad1b4e27e78025c8e467c2341f67c2ba, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: non-semver, hash: d7cdc8e1bfd15a830cfdc67868a7c05828090aefc42c8af44aa1104900d09fe5, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 2.0.0, hash: bb2d1ff02d11f72bc9049ae57f27536207519a1859d29f8d7a90ab3b44d56b08, length: 1687 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 2.0.0, hash: 1eb9f24be68f13c274aa0ac9b863cec520dbfe762620c328431728d75bfd2198, length: 1691 -INFO added artifact, name: clickhouse_server, kind: zone, version: 2.0.0, hash: 50fe271948672a9af1ba5f96c9d87ff2736fa72d78dfef598a79fa0cc8a00474, length: 1691 -INFO added artifact, name: cockroachdb, kind: zone, version: 2.0.0, hash: ebc82bf181db864b78cb7e3ddedf7ab1dd8fe7b377b02846f3c27cf0387bb387, length: 1690 -INFO added artifact, name: crucible-zone, kind: zone, version: 2.0.0, hash: 866f6a7c2e51c056fb722b5113e80181cc9cd8b712a0d3dbf1edc4ce29e5229e, length: 1691 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 2.0.0, hash: 3ff26dad96faa8f67251f5de40458b4f809d536bfe8572134da0e42c2fa12674, length: 1696 -INFO added artifact, name: external-dns, kind: zone, version: 2.0.0, hash: f282c45771429f7bebf71f0cc668521066db57c6bb07fcfccdfb44825d3d930f, length: 1690 -INFO added artifact, name: internal-dns, kind: zone, version: 2.0.0, hash: de30657a72b066b8ef1f56351a0a5d4d7000da0a62c4be9b2e949a107ca8a389, length: 1690 -INFO added artifact, name: ntp, kind: zone, version: 2.0.0, hash: d76e26198daed69cdae04490d7477f8c842e0dbe37d463eac0d0a8d3fb803095, length: 1682 -INFO added artifact, name: nexus, kind: zone, version: 2.0.0, hash: e9b7035f41848a987a798c15ac424cc91dd662b1af0920d58d8aa1ebad7467b6, length: 1683 -INFO added artifact, name: oximeter, kind: zone, version: 2.0.0, hash: 9f4bc56a15d5fd943fdac94309994b8fd73aa2be1ec61faf44bfcf2356c9dc23, length: 1683 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 2.0.0, hash: a1a34c0ca4776c27d67a2a50b231acc96ccbc2645f5e8dd8c2bc27f0eab49855, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 2.0.0, hash: fe18e9b745f899f71dc9a718311d97c33f79eb579de09990b0cd2032574d9430, length: 729 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 2.0.0, hash: be3fa620485936ebd70160b79d74f8f5709d9388c1add9b7e0fa7d283943e6a8, length: 776 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 2.0.0, hash: be3fa620485936ebd70160b79d74f8f5709d9388c1add9b7e0fa7d283943e6a8, length: 776 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 2.0.0, hash: ca4d5642e1be0acb535ca63804eec2f19e783c33e3a3ebffa843916accaafeb9, length: 799 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 2.0.0, hash: f6c2b7e7b2fc19b17d3d604dbc16da1adcd6966db80fbbd2127f4a7fe123e71b, length: 746 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 2.0.0, hash: ad32d98232043a39d076b5b90b506fad406767e0ce1298507e1733bc4e576740, length: 791 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 2.0.0, hash: ad32d98232043a39d076b5b90b506fad406767e0ce1298507e1733bc4e576740, length: 791 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: non-semver-2, hash: ceae102fa428d81aa6c5d9e1c742fb9ca1091ce5b2797ed0bb14615cf678d342, length: 811 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 2.0.0, hash: c380bd9a56dba4c9d4d4ae4c728ea7aadbe61a3ed495b367bfa4e07ff08a423c, length: 526 sled b82ede02-399c-48c6-a1de-411df4fa49a7: install dataset updated: from repo at repo-2.0.0.zip (system version 2.0.0) @@ -184,8 +114,8 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: aff6c093-197d-42c5-ad80-9f10ba051a34, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO current sled measurements are in an unknown state, sled_id: aff6c093-197d-42c5-ad80-9f10ba051a34 INFO performed noop zone image source checks on sled, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, num_total: 2, num_already_artifact: 0, num_eligible: 0, num_ineligible: 2 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, zone_id: b910534b-2a53-4335-a3d9-5311d2f3186a, kind: internal_ntp, file_name: ntp.tar.gz, expected_hash: d76e26198daed69cdae04490d7477f8c842e0dbe37d463eac0d0a8d3fb803095 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, zone_id: ecbe0b3d-1acc-44b2-b6d4-f4d2770516e4, kind: crucible, file_name: crucible.tar.gz, expected_hash: 866f6a7c2e51c056fb722b5113e80181cc9cd8b712a0d3dbf1edc4ce29e5229e +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, zone_id: b910534b-2a53-4335-a3d9-5311d2f3186a, kind: internal_ntp, file_name: ntp.tar.gz, expected_hash: 8f0613ee91aac7c8c25fb0abfd94f7b768e44e1bdb683663d3eb6222b5318b8e +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, zone_id: ecbe0b3d-1acc-44b2-b6d4-f4d2770516e4, kind: crucible, file_name: crucible.tar.gz, expected_hash: e7de2c66e29bebe8288deda473918e827b4755abe82bb7859630eba9ef8a5736 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO current sled measurements are in an unknown state, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7 @@ -478,8 +408,8 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: aff6c093-197d-42c5-ad80-9f10ba051a34, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO current sled measurements are in an unknown state, sled_id: aff6c093-197d-42c5-ad80-9f10ba051a34 INFO performed noop zone image source checks on sled, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, num_total: 2, num_already_artifact: 0, num_eligible: 0, num_ineligible: 2 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, zone_id: b910534b-2a53-4335-a3d9-5311d2f3186a, kind: internal_ntp, file_name: ntp.tar.gz, expected_hash: d76e26198daed69cdae04490d7477f8c842e0dbe37d463eac0d0a8d3fb803095 -INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, zone_id: ecbe0b3d-1acc-44b2-b6d4-f4d2770516e4, kind: crucible, file_name: crucible.tar.gz, expected_hash: 866f6a7c2e51c056fb722b5113e80181cc9cd8b712a0d3dbf1edc4ce29e5229e +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, zone_id: b910534b-2a53-4335-a3d9-5311d2f3186a, kind: internal_ntp, file_name: ntp.tar.gz, expected_hash: 8f0613ee91aac7c8c25fb0abfd94f7b768e44e1bdb683663d3eb6222b5318b8e +INFO install dataset artifact hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, zone_id: ecbe0b3d-1acc-44b2-b6d4-f4d2770516e4, kind: crucible, file_name: crucible.tar.gz, expected_hash: e7de2c66e29bebe8288deda473918e827b4755abe82bb7859630eba9ef8a5736 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO current sled measurements are in an unknown state, sled_id: b82ede02-399c-48c6-a1de-411df4fa49a7 diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-noop-stale-inventory-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-noop-stale-inventory-stdout index 80a25a23526..a3e34a785b6 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-noop-stale-inventory-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-noop-stale-inventory-stdout @@ -26,45 +26,10 @@ ID SERIAL NZPOOLS SUBNET > # Create a TUF repository whose artifacts match the install dataset, so noop > # conversions of all zones would otherwise be eligible. -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -299,7 +264,8 @@ to: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-set-mgs-updates-stderr b/dev-tools/reconfigurator-cli/tests/output/cmds-set-mgs-updates-stderr index 09aa11cefb0..a13e869aabd 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-set-mgs-updates-stderr +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-set-mgs-updates-stderr @@ -1,3 +1,3 @@ -error: invalid value 'bogus-hash' for '': Invalid string length +error: invalid value 'bogus-hash' for '': expected 64 hex characters, got 10 For more information, try '--help'. diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-set-zone-images-stderr b/dev-tools/reconfigurator-cli/tests/output/cmds-set-zone-images-stderr index 8aa21773b68..09151867554 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-set-zone-images-stderr +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-set-zone-images-stderr @@ -1,6 +1,6 @@ error: invalid value '🫡' for '': version contains invalid byte `\xf0` (allowed: ^[a-zA-Z0-9._+-]{1,63}$) For more information, try '--help'. -error: invalid value 'aaaa' for '': Invalid string length +error: invalid value 'aaaa' for '': expected 64 hex characters, got 4 For more information, try '--help'. diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-target-release-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-target-release-stdout index 07de1424e44..1342b9e76c5 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-target-release-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-target-release-stdout @@ -31,47 +31,12 @@ planner config: > # is running out of as its working directory.) > # > # This is used to simulate the initial version of the system. -> tuf-assemble ../../update-common/manifests/fake-0.0.1.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-0.0.1.zip`, component: OmicronRepoAssembler +> generate-fake-repo 0.0.1 created repo-0.0.1.zip for system version 0.0.1 > # Load the target release from the assembled TUF repository. > set target-release repo-0.0.1.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 0.0.1, hash: 716e29860eade5de4cf28d2c81f1c3fcaf3a3c07af52961c0e231e3dd0ba4db8, length: 734 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 0.0.1, hash: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985, length: 787 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 0.0.1, hash: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985, length: 787 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 0.0.1, hash: 5bfb2fef5a25100e7813636699bd365bbcd623980ae00e876ad705ef591feded, length: 794 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 0.0.1, hash: 143aa9751a0bb16ab3d2c8b56d2874eeab14e1ac3413aa0edf1dbf56900f3fcc, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 0.0.1, hash: 0c43c53453b1113d8ec83d0e3cb8139094b6f4594c304645a33248863141bac6, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 0.0.1, hash: 7cd830e1682d50620de0f5c24b8cca15937eb10d2a415ade6ad28c0d314408eb, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 0.0.1, hash: 040e9ffbd212b790da4fc3a6376c9ff102c852c4ac1f1a1bc84c7d8edc64029f, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 0.0.1, hash: bfc7d2bf0d2e5dde41b8ea85beca7f01262688297f438727fdeb8543c1ceb25e, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 0.0.1, hash: a05417d8d03400b9d556b63563c9958da983a0cdcc3259669966ad45e395c277, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 0.0.1, hash: 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5, length: 1687 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 0.0.1, hash: f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0, length: 1691 -INFO added artifact, name: clickhouse_server, kind: zone, version: 0.0.1, hash: bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b, length: 1691 -INFO added artifact, name: cockroachdb, kind: zone, version: 0.0.1, hash: a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1, length: 1690 -INFO added artifact, name: crucible-zone, kind: zone, version: 0.0.1, hash: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4, length: 1691 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 0.0.1, hash: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d, length: 1696 -INFO added artifact, name: external-dns, kind: zone, version: 0.0.1, hash: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7, length: 1690 -INFO added artifact, name: internal-dns, kind: zone, version: 0.0.1, hash: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173, length: 1690 -INFO added artifact, name: ntp, kind: zone, version: 0.0.1, hash: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531, length: 1682 -INFO added artifact, name: nexus, kind: zone, version: 0.0.1, hash: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc, length: 1683 -INFO added artifact, name: oximeter, kind: zone, version: 0.0.1, hash: 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0, length: 1683 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 0.0.1, hash: 3a63db2465b433f7b2f2816f833dcce90e0aa7e7472b1735c63faf93a48bb2ab, length: 726 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 0.0.1, hash: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406, length: 770 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 0.0.1, hash: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406, length: 770 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 0.0.1, hash: a58c577f5c33e0a8176f078183a0c94b84ab1e1e7118c441f6b82551fba58f46, length: 794 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 0.0.1, hash: 9a559c6734981ec74fee73a56826f8a91beec39a59dea497f67d55c91ab74328, length: 736 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 0.0.1, hash: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c, length: 776 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 0.0.1, hash: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c, length: 776 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 0.0.1, hash: 0686443d50db2247077dc70b6543cea9a90a9792de00e06c06cff4c91fa5a4a8, length: 792 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 0.0.1, hash: 6f0eebe1001e3d00b02b2dcac5b3d883cb88222fde16a028f5431e87a5feee72, length: 526 set target release based on repo-0.0.1.zip @@ -82,38 +47,34 @@ configured silo names: example-silo internal DNS generations: 1 external DNS generations: 1 target number of Nexus instances: default -target release (generation 2): 0.0.1 (system-update-v0.0.1.zip) - artifact: 716e29860eade5de4cf28d2c81f1c3fcaf3a3c07af52961c0e231e3dd0ba4db8 gimlet_sp (fake-gimlet-sp version 0.0.1) - artifact: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985 gimlet_rot_image_a (fake-rot version 0.0.1) - artifact: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985 gimlet_rot_image_b (fake-rot version 0.0.1) - artifact: 5bfb2fef5a25100e7813636699bd365bbcd623980ae00e876ad705ef591feded gimlet_rot_bootloader (fake-rot-bootloader version 0.0.1) - artifact: 143aa9751a0bb16ab3d2c8b56d2874eeab14e1ac3413aa0edf1dbf56900f3fcc gimlet_host_phase_1 (fake-host version 0.0.1) - artifact: 0c43c53453b1113d8ec83d0e3cb8139094b6f4594c304645a33248863141bac6 cosmo_host_phase_1 (fake-host version 0.0.1) - artifact: 7cd830e1682d50620de0f5c24b8cca15937eb10d2a415ade6ad28c0d314408eb host_phase_2 (fake-host version 0.0.1) - artifact: 040e9ffbd212b790da4fc3a6376c9ff102c852c4ac1f1a1bc84c7d8edc64029f gimlet_trampoline_phase_1 (fake-trampoline version 0.0.1) - artifact: bfc7d2bf0d2e5dde41b8ea85beca7f01262688297f438727fdeb8543c1ceb25e cosmo_trampoline_phase_1 (fake-trampoline version 0.0.1) - artifact: a05417d8d03400b9d556b63563c9958da983a0cdcc3259669966ad45e395c277 trampoline_phase_2 (fake-trampoline version 0.0.1) - artifact: 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5 zone (clickhouse version 0.0.1) - artifact: f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0 zone (clickhouse_keeper version 0.0.1) - artifact: bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b zone (clickhouse_server version 0.0.1) - artifact: a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1 zone (cockroachdb version 0.0.1) - artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 zone (crucible-zone version 0.0.1) - artifact: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d zone (crucible-pantry-zone version 0.0.1) - artifact: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7 zone (external-dns version 0.0.1) - artifact: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173 zone (internal-dns version 0.0.1) - artifact: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531 zone (ntp version 0.0.1) - artifact: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc zone (nexus version 0.0.1) - artifact: 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0 zone (oximeter version 0.0.1) - artifact: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f measurement_corpus (fake-corpus version 1.0.0) - artifact: 3a63db2465b433f7b2f2816f833dcce90e0aa7e7472b1735c63faf93a48bb2ab psc_sp (fake-psc-sp version 0.0.1) - artifact: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406 psc_rot_image_a (fake-psc-rot version 0.0.1) - artifact: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406 psc_rot_image_b (fake-psc-rot version 0.0.1) - artifact: a58c577f5c33e0a8176f078183a0c94b84ab1e1e7118c441f6b82551fba58f46 psc_rot_bootloader (fake-psc-rot-bootloader version 0.0.1) - artifact: 9a559c6734981ec74fee73a56826f8a91beec39a59dea497f67d55c91ab74328 switch_sp (fake-switch-sp version 0.0.1) - artifact: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c switch_rot_image_a (fake-switch-rot version 0.0.1) - artifact: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c switch_rot_image_b (fake-switch-rot version 0.0.1) - artifact: 0686443d50db2247077dc70b6543cea9a90a9792de00e06c06cff4c91fa5a4a8 switch_rot_bootloader (fake-switch-rot-bootloader version 0.0.1) - artifact: 6f0eebe1001e3d00b02b2dcac5b3d883cb88222fde16a028f5431e87a5feee72 installinator_document (installinator_document version 0.0.1) +target release (generation 2): 0.0.1 (repo-0.0.1.zip) + artifact: 2f8b4d6e35886a8e17fbbb30c6c6ee13c4f7becd9387d6f8529529317adbc824 kind=installinator_document version 0.0.1 + artifact: b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 kind=measurement_corpus version 0.0.1 + artifact: dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 kind=measurement_corpus version 0.0.1 + artifact: 812d8e99d0fd6138c76be04c43e6b696eb08d5b93e7e8c2dfefc959e89bc5aff kind=os_phase1,os_board=cosmo,os_variant=host version 0.0.1 + artifact: d6dcae50bc293f6d9a4bf03d2cfc698d17bce9327c63670348ec3241ab191fdd kind=os_phase1,os_board=cosmo,os_variant=recovery version 0.0.1 + artifact: 7a3232a3a559db2e9029de9960e392f51811a7415fde2d7923c1b27e6e1e155a kind=os_phase1,os_board=gimlet,os_variant=host version 0.0.1 + artifact: b422f23968f2b7ce5a84613d942cf203465f353ef92551c224497559f146c66b kind=os_phase1,os_board=gimlet,os_variant=recovery version 0.0.1 + artifact: 4a07d9994c760188e5c9faf538be61a2d7aa07017159eea66b338d86151b3fd5 kind=os_phase2,os_variant=host version 0.0.1 + artifact: 3edf9e84f482ca0fa029e3169796aa8877527c4cbcc33e1a6bff2d5785ed8d29 kind=os_phase2,os_variant=recovery version 0.0.1 + artifact: 431d7bc16f5e7b2e7cac88463d97e890fd8c5327908924823c11f37c08d60214 kind=rot,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000,rot_slot=a version 0.0.1 + artifact: 431d7bc16f5e7b2e7cac88463d97e890fd8c5327908924823c11f37c08d60214 kind=rot,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000,rot_slot=b version 0.0.1 + artifact: 5681be3ed8701d2adf1e77dae1ea2ae226e0b84fc88366df238b3788c84fe34c kind=rot_bootloader,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000 version 0.0.1 + artifact: 2405f91cfbcc5de9f1082a1b1a088e9f5ded1c015f08189f3e35181fc4f42fe0 kind=sp,sp_board=SimCosmoSp version 0.0.1 + artifact: a002855676d7ca5fc448d11f1c99fa916ff0763d9d9b0b306c34b84b00529444 kind=sp,sp_board=SimGimletSp version 0.0.1 + artifact: 18f2dac7de150d24837bf47cc5021da40a03a50be5e851617e74f3d3e209e443 kind=sp,sp_board=SimPscSp version 0.0.1 + artifact: 79997f16c711ddb964b26b4751dedcb79a95e337bc79561b1f67a065e45d30c0 kind=sp,sp_board=SimSidecarSp version 0.0.1 + artifact: bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df kind=zone,zone_name=clickhouse version 0.0.1 + artifact: 4d7d1b049e3ad61351824c040f3c50708e3d3c89b7892fd25b9e12e151d56dea kind=zone,zone_name=clickhouse_keeper version 0.0.1 + artifact: 3140c5e79f3bed0b0034e6dfa4e8423fd2fa9d567291c9b1b703aaf769b10756 kind=zone,zone_name=clickhouse_server version 0.0.1 + artifact: 541bb4d38385c684f2629b970e23442fc567761917ab7b6e35410c0e2070ea54 kind=zone,zone_name=cockroachdb version 0.0.1 + artifact: 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8 kind=zone,zone_name=crucible-pantry-zone version 0.0.1 + artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d kind=zone,zone_name=crucible-zone version 0.0.1 + artifact: affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae kind=zone,zone_name=external-dns version 0.0.1 + artifact: c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d kind=zone,zone_name=internal-dns version 0.0.1 + artifact: c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110 kind=zone,zone_name=nexus version 0.0.1 + artifact: dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e kind=zone,zone_name=ntp version 0.0.1 + artifact: d704d9f63e858b53b480cee4eb16985a9fcb65018ae05819fd4fd5532122382e kind=zone,zone_name=oximeter version 0.0.1 active nexus zone generation: 1 active nexus zones: inferred from generation not-yet nexus zones: inferred from generation @@ -182,7 +143,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 ++ dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 host phase 2 contents: @@ -266,7 +228,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 ++ dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 host phase 2 contents: @@ -346,7 +309,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 ++ dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 host phase 2 contents: @@ -483,10 +447,10 @@ Sled serial0 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -508,10 +472,10 @@ Sled serial1 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -533,10 +497,10 @@ Sled serial2 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -687,42 +651,44 @@ LEDGERED SLED CONFIG feecfda1-9966-43d4-aaef-440b77f0b26d oxp_727522a7-934f-494d-b5b3-160968e74463/crucible off none none ZONES: 9 ID KIND IMAGE_SOURCE - 353b3b65-20f7-48c3-88f7-495bd5d31545 clickhouse artifact: 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5 - 466a9f29-62bf-4e63-924a-b9efdb86afec nexus artifact: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc - 62620961-fc4a-481e-968b-f5acbac0dc63 internal_ntp artifact: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531 - 6c3ae381-04f7-41ea-b0ac-74db387dbc3a external_dns artifact: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7 - 86a22a56-0168-453d-9df1-cb2a7c64b5d3 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - 99e2f30b-3174-40bf-a78a-90da8abba8ca internal_dns artifact: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173 - ad6a3a03-8d0f-4504-99a4-cbf73d69b973 crucible_pantry artifact: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d - bd354eef-d8a6-4165-9124-283fb5e46d77 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - e2fdefe7-95b2-4fd2-ae37-56929a06d58c crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - MEASUREMENTS: 1 + 353b3b65-20f7-48c3-88f7-495bd5d31545 clickhouse artifact: bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df + 466a9f29-62bf-4e63-924a-b9efdb86afec nexus artifact: c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110 + 62620961-fc4a-481e-968b-f5acbac0dc63 internal_ntp artifact: dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e + 6c3ae381-04f7-41ea-b0ac-74db387dbc3a external_dns artifact: affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae + 86a22a56-0168-453d-9df1-cb2a7c64b5d3 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + 99e2f30b-3174-40bf-a78a-90da8abba8ca internal_dns artifact: c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d + ad6a3a03-8d0f-4504-99a4-cbf73d69b973 crucible_pantry artifact: 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8 + bd354eef-d8a6-4165-9124-283fb5e46d77 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + e2fdefe7-95b2-4fd2-ae37-56929a06d58c crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 + artifact dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1687 bytes with hash 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5): ok - - clickhouse_keeper.tar.gz (expected 1691 bytes with hash f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0): ok - - clickhouse_server.tar.gz (expected 1691 bytes with hash bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b): ok - - cockroachdb.tar.gz (expected 1690 bytes with hash a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1): ok - - crucible.tar.gz (expected 1691 bytes with hash f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4): ok - - crucible_pantry.tar.gz (expected 1696 bytes with hash 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d): ok - - external_dns.tar.gz (expected 1690 bytes with hash 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7): ok - - internal_dns.tar.gz (expected 1690 bytes with hash c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173): ok - - nexus.tar.gz (expected 1683 bytes with hash 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc): ok - - ntp.tar.gz (expected 1682 bytes with hash b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531): ok - - oximeter.tar.gz (expected 1683 bytes with hash 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0): ok + - clickhouse.tar.gz (expected 143 bytes with hash bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 4d7d1b049e3ad61351824c040f3c50708e3d3c89b7892fd25b9e12e151d56dea): ok + - clickhouse_server.tar.gz (expected 146 bytes with hash 3140c5e79f3bed0b0034e6dfa4e8423fd2fa9d567291c9b1b703aaf769b10756): ok + - cockroachdb.tar.gz (expected 144 bytes with hash 541bb4d38385c684f2629b970e23442fc567761917ab7b6e35410c0e2070ea54): ok + - crucible.tar.gz (expected 144 bytes with hash 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8): ok + - external_dns.tar.gz (expected 142 bytes with hash affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae): ok + - internal_dns.tar.gz (expected 142 bytes with hash c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d): ok + - nexus.tar.gz (expected 136 bytes with hash c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110): ok + - ntp.tar.gz (expected 135 bytes with hash dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e): ok + - oximeter.tar.gz (expected 138 bytes with hash d704d9f63e858b53b480cee4eb16985a9fcb65018ae05819fd4fd5532122382e): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 (expected 865 bytes with hash b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248): ok + - dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 (expected 270 bytes with hash dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -883,41 +849,43 @@ LEDGERED SLED CONFIG ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d off none none ZONES: 8 ID KIND IMAGE_SOURCE - 058fd5f9-60a8-4e11-9302-15172782e17d crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - 0c71b3b2-6ceb-4e8f-b020-b08675e83038 nexus artifact: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc - 427ec88f-f467-42fa-9bbb-66a91a36103c internal_dns artifact: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173 - 5199c033-4cf9-4ab6-8ae7-566bd7606363 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - 6444f8a5-6465-4f0b-a549-1993c113569c internal_ntp artifact: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531 - 803bfb63-c246-41db-b0da-d3b87ddfc63d external_dns artifact: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7 - ba4994a8-23f9-4b1a-a84f-a08d74591389 crucible_pantry artifact: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d - dfac80b4-a887-430a-ae87-a4e065dba787 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - MEASUREMENTS: 1 + 058fd5f9-60a8-4e11-9302-15172782e17d crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + 0c71b3b2-6ceb-4e8f-b020-b08675e83038 nexus artifact: c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110 + 427ec88f-f467-42fa-9bbb-66a91a36103c internal_dns artifact: c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d + 5199c033-4cf9-4ab6-8ae7-566bd7606363 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + 6444f8a5-6465-4f0b-a549-1993c113569c internal_ntp artifact: dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e + 803bfb63-c246-41db-b0da-d3b87ddfc63d external_dns artifact: affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae + ba4994a8-23f9-4b1a-a84f-a08d74591389 crucible_pantry artifact: 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8 + dfac80b4-a887-430a-ae87-a4e065dba787 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 + artifact dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1687 bytes with hash 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5): ok - - clickhouse_keeper.tar.gz (expected 1691 bytes with hash f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0): ok - - clickhouse_server.tar.gz (expected 1691 bytes with hash bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b): ok - - cockroachdb.tar.gz (expected 1690 bytes with hash a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1): ok - - crucible.tar.gz (expected 1691 bytes with hash f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4): ok - - crucible_pantry.tar.gz (expected 1696 bytes with hash 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d): ok - - external_dns.tar.gz (expected 1690 bytes with hash 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7): ok - - internal_dns.tar.gz (expected 1690 bytes with hash c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173): ok - - nexus.tar.gz (expected 1683 bytes with hash 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc): ok - - ntp.tar.gz (expected 1682 bytes with hash b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531): ok - - oximeter.tar.gz (expected 1683 bytes with hash 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0): ok + - clickhouse.tar.gz (expected 143 bytes with hash bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 4d7d1b049e3ad61351824c040f3c50708e3d3c89b7892fd25b9e12e151d56dea): ok + - clickhouse_server.tar.gz (expected 146 bytes with hash 3140c5e79f3bed0b0034e6dfa4e8423fd2fa9d567291c9b1b703aaf769b10756): ok + - cockroachdb.tar.gz (expected 144 bytes with hash 541bb4d38385c684f2629b970e23442fc567761917ab7b6e35410c0e2070ea54): ok + - crucible.tar.gz (expected 144 bytes with hash 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8): ok + - external_dns.tar.gz (expected 142 bytes with hash affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae): ok + - internal_dns.tar.gz (expected 142 bytes with hash c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d): ok + - nexus.tar.gz (expected 136 bytes with hash c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110): ok + - ntp.tar.gz (expected 135 bytes with hash dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e): ok + - oximeter.tar.gz (expected 138 bytes with hash d704d9f63e858b53b480cee4eb16985a9fcb65018ae05819fd4fd5532122382e): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 (expected 865 bytes with hash b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248): ok + - dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 (expected 270 bytes with hash dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -1078,41 +1046,43 @@ LEDGERED SLED CONFIG e009d8b8-4695-4322-b53f-f03f2744aef7 oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted off none none ZONES: 8 ID KIND IMAGE_SOURCE - 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 nexus artifact: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc - 694bd14f-cb24-4be4-bb19-876e79cda2c8 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - 75b220ba-a0f4-4872-8202-dc7c87f062d0 crucible_pantry artifact: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d - 7c252b64-c5af-4ec1-989e-9a03f3b0f111 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - ea5b4030-b52f-44b2-8d70-45f15f987d01 internal_dns artifact: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173 - f10a4fb9-759f-4a65-b25e-5794ad2d07d8 internal_ntp artifact: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531 - f55647d4-5500-4ad3-893a-df45bd50d622 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - f6ec9c67-946a-4da3-98d5-581f72ce8bf0 external_dns artifact: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7 - MEASUREMENTS: 1 + 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 nexus artifact: c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110 + 694bd14f-cb24-4be4-bb19-876e79cda2c8 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + 75b220ba-a0f4-4872-8202-dc7c87f062d0 crucible_pantry artifact: 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8 + 7c252b64-c5af-4ec1-989e-9a03f3b0f111 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + ea5b4030-b52f-44b2-8d70-45f15f987d01 internal_dns artifact: c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d + f10a4fb9-759f-4a65-b25e-5794ad2d07d8 internal_ntp artifact: dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e + f55647d4-5500-4ad3-893a-df45bd50d622 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + f6ec9c67-946a-4da3-98d5-581f72ce8bf0 external_dns artifact: affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 + artifact dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1687 bytes with hash 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5): ok - - clickhouse_keeper.tar.gz (expected 1691 bytes with hash f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0): ok - - clickhouse_server.tar.gz (expected 1691 bytes with hash bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b): ok - - cockroachdb.tar.gz (expected 1690 bytes with hash a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1): ok - - crucible.tar.gz (expected 1691 bytes with hash f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4): ok - - crucible_pantry.tar.gz (expected 1696 bytes with hash 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d): ok - - external_dns.tar.gz (expected 1690 bytes with hash 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7): ok - - internal_dns.tar.gz (expected 1690 bytes with hash c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173): ok - - nexus.tar.gz (expected 1683 bytes with hash 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc): ok - - ntp.tar.gz (expected 1682 bytes with hash b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531): ok - - oximeter.tar.gz (expected 1683 bytes with hash 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0): ok + - clickhouse.tar.gz (expected 143 bytes with hash bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 4d7d1b049e3ad61351824c040f3c50708e3d3c89b7892fd25b9e12e151d56dea): ok + - clickhouse_server.tar.gz (expected 146 bytes with hash 3140c5e79f3bed0b0034e6dfa4e8423fd2fa9d567291c9b1b703aaf769b10756): ok + - cockroachdb.tar.gz (expected 144 bytes with hash 541bb4d38385c684f2629b970e23442fc567761917ab7b6e35410c0e2070ea54): ok + - crucible.tar.gz (expected 144 bytes with hash 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8): ok + - external_dns.tar.gz (expected 142 bytes with hash affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae): ok + - internal_dns.tar.gz (expected 142 bytes with hash c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d): ok + - nexus.tar.gz (expected 136 bytes with hash c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110): ok + - ntp.tar.gz (expected 135 bytes with hash dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e): ok + - oximeter.tar.gz (expected 138 bytes with hash d704d9f63e858b53b480cee4eb16985a9fcb65018ae05819fd4fd5532122382e): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 (expected 865 bytes with hash b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248): ok + - dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 (expected 270 bytes with hash dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -1164,47 +1134,12 @@ INTERNAL DNS STATUS > # Setup is now done -- create another TUF repository which will act as the > # target release being updated to. -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > # Load the target release from the assembled TUF repository. > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -1215,38 +1150,34 @@ configured silo names: example-silo internal DNS generations: 1 external DNS generations: 1 target number of Nexus instances: default -target release (generation 3): 1.0.0 (system-update-v1.0.0.zip) - artifact: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 gimlet_sp (fake-gimlet-sp version 1.0.0) - artifact: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 gimlet_rot_image_a (fake-rot version 1.0.0) - artifact: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 gimlet_rot_image_b (fake-rot version 1.0.0) - artifact: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 gimlet_rot_bootloader (fake-rot-bootloader version 1.0.0) - artifact: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b gimlet_host_phase_1 (fake-host version 1.0.0) - artifact: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58 cosmo_host_phase_1 (fake-host version 1.0.0) - artifact: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 host_phase_2 (fake-host version 1.0.0) - artifact: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4 gimlet_trampoline_phase_1 (fake-trampoline version 1.0.0) - artifact: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0 cosmo_trampoline_phase_1 (fake-trampoline version 1.0.0) - artifact: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6 trampoline_phase_2 (fake-trampoline version 1.0.0) - artifact: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659 zone (clickhouse version 1.0.0) - artifact: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3 zone (clickhouse_keeper version 1.0.0) - artifact: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001 zone (clickhouse_server version 1.0.0) - artifact: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291 zone (cockroachdb version 1.0.0) - artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 zone (crucible-zone version 1.0.0) - artifact: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02 zone (crucible-pantry-zone version 1.0.0) - artifact: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d zone (external-dns version 1.0.0) - artifact: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a zone (internal-dns version 1.0.0) - artifact: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439 zone (ntp version 1.0.0) - artifact: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388 zone (nexus version 1.0.0) - artifact: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77 zone (oximeter version 1.0.0) - artifact: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f measurement_corpus (fake-corpus version 1.0.0) - artifact: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7 psc_sp (fake-psc-sp version 1.0.0) - artifact: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d psc_rot_image_a (fake-psc-rot version 1.0.0) - artifact: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d psc_rot_image_b (fake-psc-rot version 1.0.0) - artifact: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003 psc_rot_bootloader (fake-psc-rot-bootloader version 1.0.0) - artifact: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c switch_sp (fake-switch-sp version 1.0.0) - artifact: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342 switch_rot_image_a (fake-switch-rot version 1.0.0) - artifact: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342 switch_rot_image_b (fake-switch-rot version 1.0.0) - artifact: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98 switch_rot_bootloader (fake-switch-rot-bootloader version 1.0.0) - artifact: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8 installinator_document (installinator_document version 1.0.0) +target release (generation 3): 1.0.0 (repo-1.0.0.zip) + artifact: 6d4e4a64aaa5b94273845c63cd8b26dd2dbd6f37a68a4d253e43ca05a8222fa8 kind=installinator_document version 1.0.0 + artifact: 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb kind=measurement_corpus version 1.0.0 + artifact: ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 kind=measurement_corpus version 1.0.0 + artifact: 6086843f554e75aefb3f08c7e89b57ed72d69dc88bb1326977689826bb16a9da kind=os_phase1,os_board=cosmo,os_variant=host version 1.0.0 + artifact: dac1a9e8de9e42dd31d73638026fb07df74db673418cf49e737cc7d3aa350349 kind=os_phase1,os_board=cosmo,os_variant=recovery version 1.0.0 + artifact: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c kind=os_phase1,os_board=gimlet,os_variant=host version 1.0.0 + artifact: 9f20d75a9490245c3409a18d67ddc50a806ce9f3c7a388f9990d07be369b97ef kind=os_phase1,os_board=gimlet,os_variant=recovery version 1.0.0 + artifact: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d kind=os_phase2,os_variant=host version 1.0.0 + artifact: b0572bb7cfad90e50391b1dd8f7a5b0eb444fda7690e62e35dda7e7e2a9b4ba3 kind=os_phase2,os_variant=recovery version 1.0.0 + artifact: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 kind=rot,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000,rot_slot=a version 1.0.0 + artifact: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 kind=rot,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000,rot_slot=b version 1.0.0 + artifact: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c kind=rot_bootloader,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000 version 1.0.0 + artifact: 5a539e32340133f0f67da4e8ef86bee23936466682960f1a823d2af6c38f9a07 kind=sp,sp_board=SimCosmoSp version 1.0.0 + artifact: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 kind=sp,sp_board=SimGimletSp version 1.0.0 + artifact: 0e4e2af1b28ad4fc15057df37e2ba1b9d26bed891c210b59c72013637209bf40 kind=sp,sp_board=SimPscSp version 1.0.0 + artifact: 3f419973eca2724bdfef47f4219913809861b37d7259c812be9722ebc80035bc kind=sp,sp_board=SimSidecarSp version 1.0.0 + artifact: 789283e5083ac3ed9ca24f33a6cad81793798298cd5c536c93981829abab9d15 kind=zone,zone_name=clickhouse version 1.0.0 + artifact: 2ce04cd4cb5aa9a525637b9f30c2f93f365048221808d95aae16e5c1127d6492 kind=zone,zone_name=clickhouse_keeper version 1.0.0 + artifact: 7245b29a4f07273fb8b7a4860f8847babf2b130fe437d30c3ab47b4f274a704e kind=zone,zone_name=clickhouse_server version 1.0.0 + artifact: 25d7b7f1aa8420f54bf09243ec3206a9bb50eba2cd252cf2279356cdfbbfa101 kind=zone,zone_name=cockroachdb version 1.0.0 + artifact: c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1 kind=zone,zone_name=crucible-pantry-zone version 1.0.0 + artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 kind=zone,zone_name=crucible-zone version 1.0.0 + artifact: 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4 kind=zone,zone_name=external-dns version 1.0.0 + artifact: 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2 kind=zone,zone_name=internal-dns version 1.0.0 + artifact: 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961 kind=zone,zone_name=nexus version 1.0.0 + artifact: 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0 kind=zone,zone_name=ntp version 1.0.0 + artifact: cb41cb81f67ffabf0f832927162245fbd79fa2be82430ad6dd03132a34bafefb kind=zone,zone_name=oximeter version 1.0.0 active nexus zone generation: 1 active nexus zones: inferred from generation not-yet nexus zones: inferred from generation @@ -1310,38 +1241,34 @@ configured silo names: example-silo internal DNS generations: 1 external DNS generations: 1 target number of Nexus instances: default -target release (generation 3): 1.0.0 (system-update-v1.0.0.zip) - artifact: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 gimlet_sp (fake-gimlet-sp version 1.0.0) - artifact: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 gimlet_rot_image_a (fake-rot version 1.0.0) - artifact: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 gimlet_rot_image_b (fake-rot version 1.0.0) - artifact: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 gimlet_rot_bootloader (fake-rot-bootloader version 1.0.0) - artifact: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b gimlet_host_phase_1 (fake-host version 1.0.0) - artifact: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58 cosmo_host_phase_1 (fake-host version 1.0.0) - artifact: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 host_phase_2 (fake-host version 1.0.0) - artifact: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4 gimlet_trampoline_phase_1 (fake-trampoline version 1.0.0) - artifact: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0 cosmo_trampoline_phase_1 (fake-trampoline version 1.0.0) - artifact: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6 trampoline_phase_2 (fake-trampoline version 1.0.0) - artifact: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659 zone (clickhouse version 1.0.0) - artifact: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3 zone (clickhouse_keeper version 1.0.0) - artifact: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001 zone (clickhouse_server version 1.0.0) - artifact: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291 zone (cockroachdb version 1.0.0) - artifact: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047 zone (crucible-zone version 1.0.0) - artifact: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02 zone (crucible-pantry-zone version 1.0.0) - artifact: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d zone (external-dns version 1.0.0) - artifact: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a zone (internal-dns version 1.0.0) - artifact: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439 zone (ntp version 1.0.0) - artifact: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388 zone (nexus version 1.0.0) - artifact: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77 zone (oximeter version 1.0.0) - artifact: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f measurement_corpus (fake-corpus version 1.0.0) - artifact: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7 psc_sp (fake-psc-sp version 1.0.0) - artifact: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d psc_rot_image_a (fake-psc-rot version 1.0.0) - artifact: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d psc_rot_image_b (fake-psc-rot version 1.0.0) - artifact: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003 psc_rot_bootloader (fake-psc-rot-bootloader version 1.0.0) - artifact: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c switch_sp (fake-switch-sp version 1.0.0) - artifact: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342 switch_rot_image_a (fake-switch-rot version 1.0.0) - artifact: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342 switch_rot_image_b (fake-switch-rot version 1.0.0) - artifact: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98 switch_rot_bootloader (fake-switch-rot-bootloader version 1.0.0) - artifact: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8 installinator_document (installinator_document version 1.0.0) +target release (generation 3): 1.0.0 (repo-1.0.0.zip) + artifact: 6d4e4a64aaa5b94273845c63cd8b26dd2dbd6f37a68a4d253e43ca05a8222fa8 kind=installinator_document version 1.0.0 + artifact: 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb kind=measurement_corpus version 1.0.0 + artifact: ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 kind=measurement_corpus version 1.0.0 + artifact: 6086843f554e75aefb3f08c7e89b57ed72d69dc88bb1326977689826bb16a9da kind=os_phase1,os_board=cosmo,os_variant=host version 1.0.0 + artifact: dac1a9e8de9e42dd31d73638026fb07df74db673418cf49e737cc7d3aa350349 kind=os_phase1,os_board=cosmo,os_variant=recovery version 1.0.0 + artifact: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c kind=os_phase1,os_board=gimlet,os_variant=host version 1.0.0 + artifact: 9f20d75a9490245c3409a18d67ddc50a806ce9f3c7a388f9990d07be369b97ef kind=os_phase1,os_board=gimlet,os_variant=recovery version 1.0.0 + artifact: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d kind=os_phase2,os_variant=host version 1.0.0 + artifact: b0572bb7cfad90e50391b1dd8f7a5b0eb444fda7690e62e35dda7e7e2a9b4ba3 kind=os_phase2,os_variant=recovery version 1.0.0 + artifact: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 kind=rot,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000,rot_slot=a version 1.0.0 + artifact: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 kind=rot,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000,rot_slot=b version 1.0.0 + artifact: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c kind=rot_bootloader,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000 version 1.0.0 + artifact: 5a539e32340133f0f67da4e8ef86bee23936466682960f1a823d2af6c38f9a07 kind=sp,sp_board=SimCosmoSp version 1.0.0 + artifact: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 kind=sp,sp_board=SimGimletSp version 1.0.0 + artifact: 0e4e2af1b28ad4fc15057df37e2ba1b9d26bed891c210b59c72013637209bf40 kind=sp,sp_board=SimPscSp version 1.0.0 + artifact: 3f419973eca2724bdfef47f4219913809861b37d7259c812be9722ebc80035bc kind=sp,sp_board=SimSidecarSp version 1.0.0 + artifact: 789283e5083ac3ed9ca24f33a6cad81793798298cd5c536c93981829abab9d15 kind=zone,zone_name=clickhouse version 1.0.0 + artifact: 2ce04cd4cb5aa9a525637b9f30c2f93f365048221808d95aae16e5c1127d6492 kind=zone,zone_name=clickhouse_keeper version 1.0.0 + artifact: 7245b29a4f07273fb8b7a4860f8847babf2b130fe437d30c3ab47b4f274a704e kind=zone,zone_name=clickhouse_server version 1.0.0 + artifact: 25d7b7f1aa8420f54bf09243ec3206a9bb50eba2cd252cf2279356cdfbbfa101 kind=zone,zone_name=cockroachdb version 1.0.0 + artifact: c537a3ec3f4600cdf0d0d3e279005b54910c87d5ef1b99b8fd85016b79fdedd1 kind=zone,zone_name=crucible-pantry-zone version 1.0.0 + artifact: 1d071b06c9e0739af8797557d81c84a7dc6d0bf00081ca1ef5c5a40672e11139 kind=zone,zone_name=crucible-zone version 1.0.0 + artifact: 263973cc7d40b6bbe6b33020a903ad0a13e72eff92fa19af51888219588e6cf4 kind=zone,zone_name=external-dns version 1.0.0 + artifact: 4ff68308ffa11980380de9036697cd11f94dace9e1d0afae95116541f7f5ffd2 kind=zone,zone_name=internal-dns version 1.0.0 + artifact: 7033ac7186a9e1f01a1a9e46d4e8756f3c953cf3cc30e333ceaa0a6bc0d55961 kind=zone,zone_name=nexus version 1.0.0 + artifact: 2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0 kind=zone,zone_name=ntp version 1.0.0 + artifact: cb41cb81f67ffabf0f832927162245fbd79fa2be82430ad6dd03132a34bafefb kind=zone,zone_name=oximeter version 1.0.0 active nexus zone generation: 1 active nexus zones: inferred from generation not-yet nexus zones: inferred from generation @@ -1376,6 +1303,297 @@ eb0796d5-ab8a-4f7b-a884-b4aeacb8ab51 0 61f451b3-2121-4ed6-91c7-a550054f6c21 0 +> # Measurements will block further planning progress, run a planning step +> blueprint-plan latest latest +INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +generated blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 based on parent blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 +blueprint source: planner with report: +planning report: +* zone updates waiting on reference measurement changes +* waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated +Measurement updates: +3 modifications + + + +> blueprint-diff latest +from: blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 +to: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 + + MODIFIED SLEDS: + + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 3 -> 4): + + measurements: + -------------------------------------------------------------------------------- + hash version + -------------------------------------------------------------------------------- +- b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 +- dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + + + host phase 2 contents: + ------------------------ + slot boot image source + ------------------------ + A current contents + B current contents + + + physical disks: + ------------------------------------------------------------------------------------ + vendor model serial disposition + ------------------------------------------------------------------------------------ + fake-vendor fake-model serial-727522a7-934f-494d-b5b3-160968e74463 in service + fake-vendor fake-model serial-72c59873-31ff-4e36-8d76-ff834009349a in service + fake-vendor fake-model serial-b5fd5bc1-099e-4e77-8028-a9793c11f43b in service + + + datasets: + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + dataset name dataset id disposition quota reservation compression + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + oxp_727522a7-934f-494d-b5b3-160968e74463/crucible feecfda1-9966-43d4-aaef-440b77f0b26d in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_clickhouse_353b3b65-20f7-48c3-88f7-495bd5d31545 49f8fbb6-5bac-4609-907f-6e3dfc206059 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/local_storage 2db6b7c1-0f46-4ced-a3ad-48872793360e in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/local_storage 09b9cc9b-3426-470b-a7bc-538f82dede03 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/local_storage c31623de-c19b-4615-9f1d-5e1daa5d3bda in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/local_storage_unencrypted 775f9207-c42d-4af2-9186-27ffef67735e in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/local_storage_unencrypted 3560dd69-3b23-4c69-807d-d673104cfc68 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/local_storage_unencrypted 2ad1875a-92ac-472f-8c26-593309f0e4da in service none none off + + + omicron zones: + ---------------------------------------------------------------------------------------------------------------------- + zone type zone id image source disposition underlay IP + ---------------------------------------------------------------------------------------------------------------------- + clickhouse 353b3b65-20f7-48c3-88f7-495bd5d31545 artifact: version 0.0.1 in service fd00:1122:3344:102::5 + crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 0.0.1 in service fd00:1122:3344:102::a + crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 0.0.1 in service fd00:1122:3344:102::8 + crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::9 + crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 in service fd00:1122:3344:102::7 + external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 in service fd00:1122:3344:102::6 + internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 in service fd00:1122:3344:1::1 + internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 in service fd00:1122:3344:102::3 + nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 + + + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 3 -> 4): + + measurements: + -------------------------------------------------------------------------------- + hash version + -------------------------------------------------------------------------------- +- b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 +- dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + + + host phase 2 contents: + ------------------------ + slot boot image source + ------------------------ + A current contents + B current contents + + + physical disks: + ------------------------------------------------------------------------------------ + vendor model serial disposition + ------------------------------------------------------------------------------------ + fake-vendor fake-model serial-073979dd-3248-44a5-9fa1-cc72a140d682 in service + fake-vendor fake-model serial-c6d33b64-fb96-4129-bab1-7878a06a5f9b in service + fake-vendor fake-model serial-e4d937e1-6ddc-4eca-bb08-c1f73791e608 in service + + + datasets: + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + dataset name dataset id disposition quota reservation compression + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crucible 335e1dc3-b610-48dd-90bb-9ca5cce1a6d0 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone ad41be71-6c15-4428-b510-20ceacde4fa6 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/local_storage cdf3684f-a6cf-4449-b9ec-e696b2c663e2 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/local_storage 3ac089c9-9dec-465b-863a-188e80d71fb4 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/local_storage 43931274-7fe8-4077-825d-dff2bc8efa58 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off + + + omicron zones: + ---------------------------------------------------------------------------------------------------------------------- + zone type zone id image source disposition underlay IP + ---------------------------------------------------------------------------------------------------------------------- + crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 0.0.1 in service fd00:1122:3344:101::9 + crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 0.0.1 in service fd00:1122:3344:101::7 + crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 0.0.1 in service fd00:1122:3344:101::8 + crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 in service fd00:1122:3344:101::6 + external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 in service fd00:1122:3344:101::5 + internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 in service fd00:1122:3344:2::1 + internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 in service fd00:1122:3344:101::3 + nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 + + + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 3 -> 4): + + measurements: + -------------------------------------------------------------------------------- + hash version + -------------------------------------------------------------------------------- +- b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 +- dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + + + host phase 2 contents: + ------------------------ + slot boot image source + ------------------------ + A current contents + B current contents + + + physical disks: + ------------------------------------------------------------------------------------ + vendor model serial disposition + ------------------------------------------------------------------------------------ + fake-vendor fake-model serial-18b20749-0748-4105-bb10-7b13cfc776e2 in service + fake-vendor fake-model serial-30c16fe4-4229-49d0-ab01-3138f2c7dff2 in service + fake-vendor fake-model serial-4930954e-9ac7-4453-b63f-5ab97c389a99 in service + + + datasets: + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + dataset name dataset id disposition quota reservation compression + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crucible ba9311dd-89ac-47db-a5e8-d64e8a5fcf70 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone 1cb0a47a-59ac-4892-8e92-cf87b4290f96 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_crucible_694bd14f-cb24-4be4-bb19-876e79cda2c8 543fc3b8-08eb-4e5e-9e05-cf7a91732d5d in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/local_storage 41071985-1dfd-4ce5-8bc2-897161a8bce4 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/local_storage c65a9c1c-36dc-4ddb-8aac-ec3be8dbb209 in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/local_storage 090bd88d-0a43-4040-a832-b13ae721f74f in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted e009d8b8-4695-4322-b53f-f03f2744aef7 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/local_storage_unencrypted 4da74a5b-6911-4cca-b624-b90c65530117 in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/local_storage_unencrypted 96ae8389-3027-4260-9374-e0f6ce851de2 in service none none off + + + omicron zones: + ---------------------------------------------------------------------------------------------------------------------- + zone type zone id image source disposition underlay IP + ---------------------------------------------------------------------------------------------------------------------- + crucible 694bd14f-cb24-4be4-bb19-876e79cda2c8 artifact: version 0.0.1 in service fd00:1122:3344:103::8 + crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 0.0.1 in service fd00:1122:3344:103::9 + crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 0.0.1 in service fd00:1122:3344:103::7 + crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 in service fd00:1122:3344:103::6 + external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 in service fd00:1122:3344:103::5 + internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 in service fd00:1122:3344:3::1 + internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 in service fd00:1122:3344:103::3 + nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 + + + COCKROACHDB SETTINGS: + state fingerprint::::::::::::::::: (none) (unchanged) + cluster.preserve_downgrade_option: (do not modify) (unchanged) + + METADATA: + internal DNS version::: 1 (unchanged) + external DNS version::: 1 (unchanged) + target release min gen: 1 (unchanged) + nexus gen:::::::::::::: 1 (unchanged) + + OXIMETER SETTINGS: + generation: 1 (unchanged) + read from:: SingleNode (unchanged) + + +internal DNS: + DNS zone: "control-plane.oxide.internal" (unchanged) + unchanged names: 52 (records: 68) + +external DNS: + DNS zone: "oxide.example" (unchanged) + unchanged names: 5 (records: 9) + + + +> # Make sure the measurements are up to date for inventory +> sled-set serial0 omicron-config latest +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (af934083-59b5-4bf6-8966-6fb5292c29e1) + +> sled-set serial1 omicron-config latest +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (af934083-59b5-4bf6-8966-6fb5292c29e1) + +> sled-set serial2 omicron-config latest +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (af934083-59b5-4bf6-8966-6fb5292c29e1) + +> inventory-generate +generated inventory collection b1bda47d-2c19-4fba-96e3-d9df28db7436 from configured sleds + + > # First step: upgrade one RoT bootloader. > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -1387,9 +1605,9 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 based on parent blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 +generated blueprint df06bb57-ad42-4431-9206-abff322896c7 based on parent blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1400,8 +1618,8 @@ planning report: > blueprint-diff latest -from: blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 -to: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 +from: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 +to: blueprint df06bb57-ad42-4431-9206-abff322896c7 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1423,7 +1641,7 @@ to: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -+ sled 0 913-0000019 serial0 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) ++ sled 0 913-0000019 serial0 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) internal DNS: @@ -1448,9 +1666,9 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update not yet completed (will keep it), artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update not yet completed (will keep it), artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint df06bb57-ad42-4431-9206-abff322896c7 based on parent blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 +generated blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba based on parent blueprint df06bb57-ad42-4431-9206-abff322896c7 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1461,8 +1679,8 @@ planning report: > blueprint-diff latest -from: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 -to: blueprint df06bb57-ad42-4431-9206-abff322896c7 +from: blueprint df06bb57-ad42-4431-9206-abff322896c7 +to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1498,7 +1716,7 @@ external DNS: set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 RoT bootloader versions: stage0 -> 1.0.0 > inventory-generate -generated inventory collection b1bda47d-2c19-4fba-96e3-d9df28db7436 from configured sleds +generated inventory collection a71f7a73-35a6-45e8-acbe-f1c5925eed69 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -1510,10 +1728,10 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba based on parent blueprint df06bb57-ad42-4431-9206-abff322896c7 +generated blueprint 9034c710-3e57-45f3-99e5-4316145e87ac based on parent blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1524,8 +1742,8 @@ planning report: > blueprint-diff latest -from: blueprint df06bb57-ad42-4431-9206-abff322896c7 -to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +from: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1547,8 +1765,8 @@ to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 0 913-0000019 serial0 - 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) - └─ + d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) +* sled 0 913-0000019 serial0 - 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) + └─ + dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) internal DNS: @@ -1570,7 +1788,7 @@ external DNS: set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 RoT settings: slot b -> 1.0.0, active slot -> B, persistent boot preference -> B > inventory-generate -generated inventory collection a71f7a73-35a6-45e8-acbe-f1c5925eed69 from configured sleds +generated inventory collection 0b5efbb3-0b1b-4bbf-b7d8-a2d6fca074c6 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -1582,10 +1800,10 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 9034c710-3e57-45f3-99e5-4316145e87ac based on parent blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +generated blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 based on parent blueprint 9034c710-3e57-45f3-99e5-4316145e87ac blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1596,8 +1814,8 @@ planning report: > blueprint-diff latest -from: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba -to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +from: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1619,8 +1837,8 @@ to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 0 913-0000019 serial0 - d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) - └─ + 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) +* sled 0 913-0000019 serial0 - dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) + └─ + 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) internal DNS: @@ -1643,7 +1861,7 @@ set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 SP versions: active -> 1.0.0 > # This should report that the update completed, remove that update, and add a > # host OS update for this same sled. > inventory-generate -generated inventory collection 0b5efbb3-0b1b-4bbf-b7d8-a2d6fca074c6 from configured sleds +generated inventory collection 78f72e8d-46a9-40a9-8618-602f54454d80 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -1655,32 +1873,33 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 based on parent blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +generated blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 based on parent blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 blueprint source: planner with report: planning report: * 1 pending MGS update: - * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) + * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) * zone updates waiting on pending MGS updates (RoT bootloader / RoT / SP / Host OS) * waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated > blueprint-diff latest -from: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac -to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +from: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +to: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 3 -> 4): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 4 -> 5): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -1763,11 +1982,11 @@ to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 PENDING MGS UPDATES: Pending MGS-managed updates (all baseboards): - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - sp_type slot part_number serial_number artifact_hash artifact_version details - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -* sled 0 913-0000019 serial0 - 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) - └─ + b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + sp_type slot part_number serial_number artifact_hash artifact_version details + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +* sled 0 913-0000019 serial0 - 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) + └─ + 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) internal DNS: @@ -1786,25 +2005,25 @@ external DNS: INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update not yet completed (will keep it), artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update not yet completed (will keep it), artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 based on parent blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +generated blueprint 626487fa-7139-45ec-8416-902271fc730b based on parent blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 blueprint source: planner with report: planning report: * 1 pending MGS update: - * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) + * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) * zone updates waiting on pending MGS updates (RoT bootloader / RoT / SP / Host OS) * waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated > blueprint-diff latest -from: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 -to: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 +from: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 +to: blueprint 626487fa-7139-45ec-8416-902271fc730b COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1834,11 +2053,11 @@ external DNS: > # Update only the simulated host phase 2; this is a prerequisite for updating > # the phase 1, and must be done first. -> sled-update-host-phase2 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: B -> d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +> sled-update-host-phase2 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: B -> c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d > inventory-generate -generated inventory collection 78f72e8d-46a9-40a9-8618-602f54454d80 from configured sleds +generated inventory collection 39363465-89ae-4ac2-9be1-099068da9d45 from configured sleds > # Planning after only phase 2 has changed should make no changes. We're still @@ -1847,25 +2066,25 @@ generated inventory collection 78f72e8d-46a9-40a9-8618-602f54454d80 from configu INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update not yet completed (will keep it), artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update not yet completed (will keep it), artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 626487fa-7139-45ec-8416-902271fc730b based on parent blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 +generated blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b based on parent blueprint 626487fa-7139-45ec-8416-902271fc730b blueprint source: planner with report: planning report: * 1 pending MGS update: - * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) + * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) * zone updates waiting on pending MGS updates (RoT bootloader / RoT / SP / Host OS) * waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated > blueprint-diff latest -from: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 -to: blueprint 626487fa-7139-45ec-8416-902271fc730b +from: blueprint 626487fa-7139-45ec-8416-902271fc730b +to: blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1894,11 +2113,11 @@ external DNS: > # Now update the simulated SP to reflect that the phase 1 update is done. -> sled-update-host-phase1 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 1 details: active -> B, B -> b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +> sled-update-host-phase1 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 1 details: active -> B, B -> 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c > inventory-generate -generated inventory collection 39363465-89ae-4ac2-9be1-099068da9d45 from configured sleds +generated inventory collection 04bc9001-0836-4fec-b9cb-9d4760caf8b4 from configured sleds > # Planning _still_ shouldn't make any new changes; the OS update as a whole @@ -1907,25 +2126,25 @@ generated inventory collection 39363465-89ae-4ac2-9be1-099068da9d45 from configu INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO keeping apparently-impossible MGS-driven update (waiting for recent update to be applied), artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO keeping apparently-impossible MGS-driven update (waiting for recent update to be applied), artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b based on parent blueprint 626487fa-7139-45ec-8416-902271fc730b +generated blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 based on parent blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b blueprint source: planner with report: planning report: * 1 pending MGS update: - * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) + * 913-0000019:serial0: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) * zone updates waiting on pending MGS updates (RoT bootloader / RoT / SP / Host OS) * waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated > blueprint-diff latest -from: blueprint 626487fa-7139-45ec-8416-902271fc730b -to: blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b +from: blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b +to: blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1958,7 +2177,7 @@ external DNS: set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 host phase 2 details: boot_disk -> B > inventory-generate -generated inventory collection 04bc9001-0836-4fec-b9cb-9d4760caf8b4 from configured sleds +generated inventory collection 08abe624-4b5f-491c-90cb-d74a84e4ba3e from configured sleds > # Planning should now remove the host OS update and plan the next RoT bootloader @@ -1967,15 +2186,15 @@ generated inventory collection 04bc9001-0836-4fec-b9cb-9d4760caf8b4 from configu INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:101::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 based on parent blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b +generated blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 based on parent blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1986,8 +2205,8 @@ planning report: > blueprint-diff latest -from: blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b -to: blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 +from: blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 +to: blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2006,11 +2225,11 @@ to: blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 PENDING MGS UPDATES: Pending MGS-managed updates (all baseboards): - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - sp_type slot part_number serial_number artifact_hash artifact_version details - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- sled 0 913-0000019 serial0 b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b 1.0.0 HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) -+ sled 1 913-0000019 serial1 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) + ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + sp_type slot part_number serial_number artifact_hash artifact_version details + ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +- sled 0 913-0000019 serial0 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c 1.0.0 HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:101::1]:12345 }) ++ sled 1 913-0000019 serial1 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) internal DNS: @@ -2035,20 +2254,20 @@ ignoring impossible MGS updates since set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c RoT bootloader versions: stage0_next -> 0.5.0 > inventory-generate -generated inventory collection 08abe624-4b5f-491c-90cb-d74a84e4ba3e from configured sleds +generated inventory collection 005f6a30-7f65-4593-9f78-ee68f766f42b from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: Version(ArtifactVersion("0.5.0")), expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: Version(ArtifactVersion("0.5.0")), expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 based on parent blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 +generated blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 based on parent blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2059,8 +2278,8 @@ planning report: > blueprint-diff latest -from: blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 -to: blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 +from: blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 +to: blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2082,7 +2301,7 @@ to: blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 1 913-0000019 serial1 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) +* sled 1 913-0000019 serial1 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) └─ + RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: Version(ArtifactVersion("0.5.0")) }) @@ -2103,20 +2322,20 @@ external DNS: set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c RoT bootloader versions: stage0 -> 1.0.0 > inventory-generate -generated inventory collection 005f6a30-7f65-4593-9f78-ee68f766f42b from configured sleds +generated inventory collection b5263998-e486-4cea-8842-b32bd326fa3a from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: Version(ArtifactVersion("0.5.0")), expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: Version(ArtifactVersion("0.5.0")), expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 based on parent blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 +generated blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 based on parent blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2127,8 +2346,8 @@ planning report: > blueprint-diff latest -from: blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700 -to: blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 +from: blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 +to: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2150,8 +2369,8 @@ to: blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 1 913-0000019 serial1 - 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: Version(ArtifactVersion("0.5.0")) }) - └─ + d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) +* sled 1 913-0000019 serial1 - 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: Version(ArtifactVersion("0.5.0")) }) + └─ + dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) internal DNS: @@ -2175,20 +2394,20 @@ ignoring impossible MGS updates since set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c RoT settings: slot b -> 0.5.0 > inventory-generate -generated inventory collection b5263998-e486-4cea-8842-b32bd326fa3a from configured sleds +generated inventory collection 68767302-7fed-4eb1-9611-3dfd807ff0cd from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("0.5.0")), component: rot, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("0.5.0")), component: rot, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 based on parent blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 +generated blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 based on parent blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2199,8 +2418,8 @@ planning report: > blueprint-diff latest -from: blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1 -to: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 +from: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 +to: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2222,7 +2441,7 @@ to: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -* sled 1 913-0000019 serial1 d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) +* sled 1 913-0000019 serial1 dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) └─ + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("0.5.0")), expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) @@ -2243,20 +2462,20 @@ external DNS: set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c RoT settings: slot b -> 1.0.0, active slot -> B, persistent boot preference -> B > inventory-generate -generated inventory collection 68767302-7fed-4eb1-9611-3dfd807ff0cd from configured sleds +generated inventory collection 62898097-2ff1-48d0-8bc1-91b475daa33d from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("0.5.0")), component: rot, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("0.5.0")), component: rot, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 based on parent blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 +generated blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c based on parent blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2267,8 +2486,8 @@ planning report: > blueprint-diff latest -from: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300 -to: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 +from: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 +to: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2290,8 +2509,8 @@ to: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 1 913-0000019 serial1 - d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("0.5.0")), expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) - └─ + 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) +* sled 1 913-0000019 serial1 - dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("0.5.0")), expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) + └─ + 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) internal DNS: @@ -2314,20 +2533,20 @@ ignoring impossible MGS updates since set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c SP versions: inactive -> 0.5.0 > inventory-generate -generated inventory collection 62898097-2ff1-48d0-8bc1-91b475daa33d from configured sleds +generated inventory collection 3086f142-62d3-4f77-bda3-674afbb42d0d from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: Version(ArtifactVersion("0.5.0")), expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: Version(ArtifactVersion("0.5.0")), expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c based on parent blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 +generated blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f based on parent blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2338,8 +2557,8 @@ planning report: > blueprint-diff latest -from: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839 -to: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c +from: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c +to: blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2361,7 +2580,7 @@ to: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 1 913-0000019 serial1 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) +* sled 1 913-0000019 serial1 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) └─ + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: Version(ArtifactVersion("0.5.0")) }) @@ -2381,7 +2600,7 @@ external DNS: set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c SP versions: active -> 1.0.0 > inventory-generate -generated inventory collection 3086f142-62d3-4f77-bda3-674afbb42d0d from configured sleds +generated inventory collection ae5b3bb4-ce21-465f-b18e-857614732d66 from configured sleds > # Planning should remove this update and add an OS update for this sled. @@ -2389,36 +2608,37 @@ generated inventory collection 3086f142-62d3-4f77-bda3-674afbb42d0d from configu INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: Version(ArtifactVersion("0.5.0")), expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:102::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: Version(ArtifactVersion("0.5.0")), expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:102::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f based on parent blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c +generated blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 based on parent blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f blueprint source: planner with report: planning report: * 1 pending MGS update: - * 913-0000019:serial1: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) + * 913-0000019:serial1: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) * zone updates waiting on pending MGS updates (RoT bootloader / RoT / SP / Host OS) * waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated > blueprint-diff latest -from: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c -to: blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f +from: blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f +to: blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 3 -> 4): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 4 -> 5): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -2504,11 +2724,11 @@ to: blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f PENDING MGS UPDATES: Pending MGS-managed updates (all baseboards): - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - sp_type slot part_number serial_number artifact_hash artifact_version details - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -* sled 1 913-0000019 serial1 - 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: Version(ArtifactVersion("0.5.0")) }) - └─ + b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + sp_type slot part_number serial_number artifact_hash artifact_version details + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +* sled 1 913-0000019 serial1 - 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: Version(ArtifactVersion("0.5.0")) }) + └─ + 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) internal DNS: @@ -2533,30 +2753,30 @@ ignoring impossible MGS updates since set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: B -> ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff > inventory-generate -generated inventory collection ae5b3bb4-ce21-465f-b18e-857614732d66 from configured sleds +generated inventory collection 34c3258c-b2ab-4da9-9720-41a3a703c3d7 from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:102::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:102::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:102::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:102::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 based on parent blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f +generated blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 based on parent blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 blueprint source: planner with report: planning report: * 1 pending MGS update: - * 913-0000019:serial1: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) + * 913-0000019:serial1: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) * zone updates waiting on pending MGS updates (RoT bootloader / RoT / SP / Host OS) * waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated > blueprint-diff latest -from: blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f -to: blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 +from: blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 +to: blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2575,11 +2795,11 @@ to: blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 PENDING MGS UPDATES: Pending MGS-managed updates (all baseboards): - ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - sp_type slot part_number serial_number artifact_hash artifact_version details - ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 1 913-0000019 serial1 b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b 1.0.0 - HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) - └─ + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + sp_type slot part_number serial_number artifact_hash artifact_version details + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +* sled 1 913-0000019 serial1 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c 1.0.0 - HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) + └─ + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) internal DNS: @@ -2594,30 +2814,30 @@ external DNS: > # Now simulate the update completing successfully. -> sled-update-host-phase2 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c --boot-disk B --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 2 details: boot_disk -> B, B -> d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +> sled-update-host-phase2 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c --boot-disk B --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 2 details: boot_disk -> B, B -> c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d -> sled-update-host-phase1 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: active -> B, B -> b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +> sled-update-host-phase1 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: active -> B, B -> 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c > inventory-generate -generated inventory collection 34c3258c-b2ab-4da9-9720-41a3a703c3d7 from configured sleds +generated inventory collection 5e106b73-6a14-4955-b8a8-a4f8afed6405 from configured sleds > # Another planning step should try to update the last sled, starting with the > # RoT bootloader. > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:102::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:102::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 based on parent blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 +generated blueprint b82656b0-a9be-433d-83d0-e2bdf371777a based on parent blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2628,8 +2848,8 @@ planning report: > blueprint-diff latest -from: blueprint 9a9e6c32-5a84-4020-a159-33dceff18d35 -to: blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 +from: blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 +to: blueprint b82656b0-a9be-433d-83d0-e2bdf371777a COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2648,11 +2868,11 @@ to: blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 PENDING MGS UPDATES: Pending MGS-managed updates (all baseboards): - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - sp_type slot part_number serial_number artifact_hash artifact_version details - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- sled 1 913-0000019 serial1 b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b 1.0.0 HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) -+ sled 2 913-0000019 serial2 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) + ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + sp_type slot part_number serial_number artifact_hash artifact_version details + ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +- sled 1 913-0000019 serial1 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c 1.0.0 HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:102::1]:12345 }) ++ sled 2 913-0000019 serial2 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) internal DNS: @@ -2672,18 +2892,18 @@ external DNS: set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 RoT bootloader versions: stage0 -> 1.0.0 > inventory-generate -generated inventory collection 5e106b73-6a14-4955-b8a8-a4f8afed6405 from configured sleds +generated inventory collection 36ef425f-a672-4bf4-8d29-14815a84ccad from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint b82656b0-a9be-433d-83d0-e2bdf371777a based on parent blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 +generated blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 based on parent blueprint b82656b0-a9be-433d-83d0-e2bdf371777a blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2694,8 +2914,8 @@ planning report: > blueprint-diff latest -from: blueprint 13cfdd24-52ba-4e94-8c83-02e3a48fc746 -to: blueprint b82656b0-a9be-433d-83d0-e2bdf371777a +from: blueprint b82656b0-a9be-433d-83d0-e2bdf371777a +to: blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2717,8 +2937,8 @@ to: blueprint b82656b0-a9be-433d-83d0-e2bdf371777a ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 2 913-0000019 serial2 - 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) - └─ + d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) +* sled 2 913-0000019 serial2 - 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) + └─ + dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) internal DNS: @@ -2742,18 +2962,18 @@ ignoring impossible MGS updates since set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 RoT settings: slot b -> 1.0.0, active slot -> A, persistent boot preference -> B > inventory-generate -generated inventory collection 36ef425f-a672-4bf4-8d29-14815a84ccad from configured sleds +generated inventory collection 70bea701-e212-4877-8e6c-925f1f73ddd2 from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("1.0.0")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("1.0.0")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 based on parent blueprint b82656b0-a9be-433d-83d0-e2bdf371777a +generated blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 based on parent blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2764,8 +2984,8 @@ planning report: > blueprint-diff latest -from: blueprint b82656b0-a9be-433d-83d0-e2bdf371777a -to: blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 +from: blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 +to: blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2787,7 +3007,7 @@ to: blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -* sled 2 913-0000019 serial2 d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) +* sled 2 913-0000019 serial2 dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) └─ + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("1.0.0")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) @@ -2814,18 +3034,18 @@ ignoring impossible MGS updates since set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 RoT settings: slot b -> 1.1.0, active slot -> B, persistent boot preference -> B, pending persistent boot preference -> Some(B) > inventory-generate -generated inventory collection 70bea701-e212-4877-8e6c-925f1f73ddd2 from configured sleds +generated inventory collection 8187f847-81c7-4750-88ac-d691937461af from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("1.0.0")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: Some(B), expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("1.0.0")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: Some(B), expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 based on parent blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 +generated blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 based on parent blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2836,8 +3056,8 @@ planning report: > blueprint-diff latest -from: blueprint 31c84831-be52-4630-bc3f-128d72cd8f22 -to: blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 +from: blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 +to: blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2859,7 +3079,7 @@ to: blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 2 913-0000019 serial2 d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("1.0.0")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) +* sled 2 913-0000019 serial2 dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: Version(ArtifactVersion("1.0.0")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) └─ + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: Some(B), expected_transient_boot_preference: None }) @@ -2883,18 +3103,18 @@ ignoring impossible MGS updates since set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 RoT settings: slot b -> 1.1.0, active slot -> B, persistent boot preference -> B, pending persistent boot preference -> None, transient boot preference -> Some(B) > inventory-generate -generated inventory collection 8187f847-81c7-4750-88ac-d691937461af from configured sleds +generated inventory collection 45c1c7bb-984a-43f7-bb3f-4a5437ed7b82 from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: Some(B), expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: Some(B), expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO MGS-driven update impossible (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: Some(B), expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: Some(B), expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 based on parent blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 +generated blueprint e54a0836-53e1-4948-a3af-0b77165289b5 based on parent blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2905,8 +3125,8 @@ planning report: > blueprint-diff latest -from: blueprint 778e3f3a-58b1-4a5e-acff-d23c5d7124c2 -to: blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 +from: blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 +to: blueprint e54a0836-53e1-4948-a3af-0b77165289b5 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2928,7 +3148,7 @@ to: blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 2 913-0000019 serial2 d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: Some(B), expected_transient_boot_preference: None }) +* sled 2 913-0000019 serial2 dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: Some(B), expected_transient_boot_preference: None }) └─ + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: Some(B) }) @@ -2950,18 +3170,18 @@ external DNS: set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 RoT settings: slot b -> 1.0.0, active slot -> B, persistent boot preference -> B, transient boot preference -> None > inventory-generate -generated inventory collection 45c1c7bb-984a-43f7-bb3f-4a5437ed7b82 from configured sleds +generated inventory collection ca7f27e8-5949-4ac1-8f32-18ad76d9c217 from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: Some(B), expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: Some(B), expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: B, expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), component: rot, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint e54a0836-53e1-4948-a3af-0b77165289b5 based on parent blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 +generated blueprint 459a45a5-616e-421f-873b-2fb08c36205c based on parent blueprint e54a0836-53e1-4948-a3af-0b77165289b5 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -2972,8 +3192,8 @@ planning report: > blueprint-diff latest -from: blueprint 386a7ec3-7c2e-43cf-8f00-999e91e1d5e6 -to: blueprint e54a0836-53e1-4948-a3af-0b77165289b5 +from: blueprint e54a0836-53e1-4948-a3af-0b77165289b5 +to: blueprint 459a45a5-616e-421f-873b-2fb08c36205c COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2995,8 +3215,8 @@ to: blueprint e54a0836-53e1-4948-a3af-0b77165289b5 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 2 913-0000019 serial2 - d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: Some(B) }) - └─ + 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) +* sled 2 913-0000019 serial2 - dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 - Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: B, version: ArtifactVersion("1.1.0") }, expected_inactive_version: Version(ArtifactVersion("0.0.2")), expected_persistent_boot_preference: B, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: Some(B) }) + └─ + 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 + Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) internal DNS: @@ -3016,40 +3236,41 @@ external DNS: set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 SP versions: active -> 1.0.0 > inventory-generate -generated inventory collection ca7f27e8-5949-4ac1-8f32-18ad76d9c217 from configured sleds +generated inventory collection 8a02a1c6-9e86-4dc0-9293-cd17da34f319 from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:103::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:103::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 459a45a5-616e-421f-873b-2fb08c36205c based on parent blueprint e54a0836-53e1-4948-a3af-0b77165289b5 +generated blueprint b2295597-5788-482e-acf9-1731ec63fbd2 based on parent blueprint 459a45a5-616e-421f-873b-2fb08c36205c blueprint source: planner with report: planning report: * 1 pending MGS update: - * 913-0000019:serial2: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:103::1]:12345 }) + * 913-0000019:serial2: HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:103::1]:12345 }) * zone updates waiting on pending MGS updates (RoT bootloader / RoT / SP / Host OS) * waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated > blueprint-diff latest -from: blueprint e54a0836-53e1-4948-a3af-0b77165289b5 -to: blueprint 459a45a5-616e-421f-873b-2fb08c36205c +from: blueprint 459a45a5-616e-421f-873b-2fb08c36205c +to: blueprint b2295597-5788-482e-acf9-1731ec63fbd2 MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 3 -> 4): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 4 -> 5): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -3132,11 +3353,11 @@ to: blueprint 459a45a5-616e-421f-873b-2fb08c36205c PENDING MGS UPDATES: Pending MGS-managed updates (all baseboards): - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - sp_type slot part_number serial_number artifact_hash artifact_version details - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -* sled 2 913-0000019 serial2 - 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) - └─ + b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:103::1]:12345 }) + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + sp_type slot part_number serial_number artifact_hash artifact_version details + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +* sled 2 913-0000019 serial2 - 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 1.0.0 - Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) + └─ + 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c + HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:103::1]:12345 }) internal DNS: @@ -3151,27 +3372,27 @@ external DNS: > # Finish updating the last sled's host OS. -> sled-update-host-phase2 d81c6a84-79b8-4958-ae41-ea46c9b19763 --boot-disk B --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 2 details: boot_disk -> B, B -> d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +> sled-update-host-phase2 d81c6a84-79b8-4958-ae41-ea46c9b19763 --boot-disk B --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 2 details: boot_disk -> B, B -> c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d -> sled-update-host-phase1 d81c6a84-79b8-4958-ae41-ea46c9b19763 --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 1 details: active -> B, B -> b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +> sled-update-host-phase1 d81c6a84-79b8-4958-ae41-ea46c9b19763 --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 host phase 1 details: active -> B, B -> 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c > inventory-generate -generated inventory collection 8a02a1c6-9e86-4dc0-9293-cd17da34f319 from configured sleds +generated inventory collection c1adcd42-121f-4580-bfb9-d8a9937ca9e1 from configured sleds > # Do another planning run. This should start updating zones (one at a time). > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, sled_agent_address: [fd00:1122:3344:103::1]:12345, expected_inactive_phase_2_hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c, sled_agent_address: [fd00:1122:3344:103::1]:12345, expected_inactive_phase_2_hash: c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d, expected_inactive_phase_1_hash: 0202020202020202020202020202020202020202020202020202020202020202, expected_active_phase_2_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, expected_active_phase_1_hash: 0101010101010101010101010101010101010101010101010101010101010101, expected_boot_disk: A, expected_active_phase_1_slot: A, component: host_phase_1, sp_slot: 2, sp_type: Sled, serial_number: serial2, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint b2295597-5788-482e-acf9-1731ec63fbd2 based on parent blueprint 459a45a5-616e-421f-873b-2fb08c36205c +generated blueprint 6fad8fd4-e825-433f-b76d-495484e068ce based on parent blueprint b2295597-5788-482e-acf9-1731ec63fbd2 blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -3182,18 +3403,19 @@ planning report: > blueprint-diff latest -from: blueprint 459a45a5-616e-421f-873b-2fb08c36205c -to: blueprint b2295597-5788-482e-acf9-1731ec63fbd2 +from: blueprint b2295597-5788-482e-acf9-1731ec63fbd2 +to: blueprint 6fad8fd4-e825-433f-b76d-495484e068ce MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 4 -> 5): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 5 -> 6): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -3279,10 +3501,10 @@ to: blueprint b2295597-5788-482e-acf9-1731ec63fbd2 PENDING MGS UPDATES: Pending MGS-managed updates (all baseboards): - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - sp_type slot part_number serial_number artifact_hash artifact_version details - -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- sled 2 913-0000019 serial2 b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b 1.0.0 HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash("0101010101010101010101010101010101010101010101010101010101010101"), expected_active_phase_2_hash: ArtifactHash("0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a"), expected_inactive_phase_1_hash: ArtifactHash("0202020202020202020202020202020202020202020202020202020202020202"), expected_inactive_phase_2_hash: ArtifactHash("d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47"), sled_agent_address: [fd00:1122:3344:103::1]:12345 }) + ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + sp_type slot part_number serial_number artifact_hash artifact_version details + ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +- sled 2 913-0000019 serial2 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c 1.0.0 HostPhase1(PendingMgsUpdateHostPhase1Details { expected_active_phase_1_slot: A, expected_boot_disk: A, expected_active_phase_1_hash: ArtifactHash(HexArray(0101010101010101010101010101010101010101010101010101010101010101)), expected_active_phase_2_hash: ArtifactHash(HexArray(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a)), expected_inactive_phase_1_hash: ArtifactHash(HexArray(0202020202020202020202020202020202020202020202020202020202020202)), expected_inactive_phase_2_hash: ArtifactHash(HexArray(c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d)), sled_agent_address: [fd00:1122:3344:103::1]:12345 }) internal DNS: @@ -3299,21 +3521,21 @@ external DNS: > # Update the first control plane zone and plan again, which should update the > # next zone on this sled. > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (b2295597-5788-482e-acf9-1731ec63fbd2) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (6fad8fd4-e825-433f-b76d-495484e068ce) > inventory-generate -generated inventory collection c1adcd42-121f-4580-bfb9-d8a9937ca9e1 from configured sleds +generated inventory collection 94b231f9-80a3-48a9-8d25-70f9b42b64ca from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 6fad8fd4-e825-433f-b76d-495484e068ce based on parent blueprint b2295597-5788-482e-acf9-1731ec63fbd2 +generated blueprint 24b6e243-100c-428d-8ea6-35b504226f55 based on parent blueprint 6fad8fd4-e825-433f-b76d-495484e068ce blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -3324,18 +3546,19 @@ planning report: > blueprint-diff latest -from: blueprint b2295597-5788-482e-acf9-1731ec63fbd2 -to: blueprint 6fad8fd4-e825-433f-b76d-495484e068ce +from: blueprint 6fad8fd4-e825-433f-b76d-495484e068ce +to: blueprint 24b6e243-100c-428d-8ea6-35b504226f55 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 5 -> 6): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 6 -> 7): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -3446,22 +3669,22 @@ external DNS: > # have to tweak the number of times we iterate on this sled as our simulated > # system or planner placement changes. > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (6fad8fd4-e825-433f-b76d-495484e068ce) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (24b6e243-100c-428d-8ea6-35b504226f55) > inventory-generate -generated inventory collection 94b231f9-80a3-48a9-8d25-70f9b42b64ca from configured sleds +generated inventory collection 756aecb6-8353-46ad-a6c4-10ad0f2bbb7f from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: ba87399e-e9b7-4ee4-8cb7-0032822630e9 (omicron_zone), zone_kind: InternalNtp, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439") } } }] -generated blueprint 24b6e243-100c-428d-8ea6-35b504226f55 based on parent blueprint 6fad8fd4-e825-433f-b76d-495484e068ce +INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: c74e3068-8b20-4a62-953b-dab703a442db (omicron_zone), zone_kind: InternalNtp, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0)) } } }] +generated blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce based on parent blueprint 24b6e243-100c-428d-8ea6-35b504226f55 blueprint source: planner with report: planning report: * waiting for NTP zones to appear in inventory on sleds: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c @@ -3473,18 +3696,19 @@ planning report: > blueprint-diff latest -from: blueprint 6fad8fd4-e825-433f-b76d-495484e068ce -to: blueprint 24b6e243-100c-428d-8ea6-35b504226f55 +from: blueprint 24b6e243-100c-428d-8ea6-35b504226f55 +to: blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 6 -> 7): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 7 -> 8): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -3535,7 +3759,7 @@ to: blueprint 24b6e243-100c-428d-8ea6-35b504226f55 oxp_727522a7-934f-494d-b5b3-160968e74463/local_storage_unencrypted 775f9207-c42d-4af2-9186-27ffef67735e in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/local_storage_unencrypted 3560dd69-3b23-4c69-807d-d673104cfc68 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/local_storage_unencrypted 2ad1875a-92ac-472f-8c26-593309f0e4da in service none none off -+ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off ++ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off omicron zones: @@ -3552,7 +3776,7 @@ to: blueprint 24b6e243-100c-428d-8ea6-35b504226f55 nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:102::3 └─ + expunged ✓ -+ internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b ++ internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b COCKROACHDB SETTINGS: @@ -3576,9 +3800,9 @@ internal DNS: - SRV port 123 6444f8a5-6465-4f0b-a549-1993c113569c.host.control-plane.oxide.internal - SRV port 123 f10a4fb9-759f-4a65-b25e-5794ad2d07d8.host.control-plane.oxide.internal + SRV port 123 6444f8a5-6465-4f0b-a549-1993c113569c.host.control-plane.oxide.internal -+ SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal ++ SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal + SRV port 123 f10a4fb9-759f-4a65-b25e-5794ad2d07d8.host.control-plane.oxide.internal -+ name: ba87399e-e9b7-4ee4-8cb7-0032822630e9.host (records: 1) ++ name: c74e3068-8b20-4a62-953b-dab703a442db.host (records: 1) + AAAA fd00:1122:3344:102::b unchanged names: 50 (records: 64) @@ -3590,21 +3814,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (24b6e243-100c-428d-8ea6-35b504226f55) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (79fff7a2-2495-4c75-8465-4dc01bab48ce) > inventory-generate -generated inventory collection 756aecb6-8353-46ad-a6c4-10ad0f2bbb7f from configured sleds +generated inventory collection 84152e52-8c2e-46ab-880e-4cc2a1fb9dcb from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce based on parent blueprint 24b6e243-100c-428d-8ea6-35b504226f55 +generated blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 based on parent blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -3615,18 +3839,19 @@ planning report: > blueprint-diff latest -from: blueprint 24b6e243-100c-428d-8ea6-35b504226f55 -to: blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce +from: blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce +to: blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 7 -> 8): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 8 -> 9): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -3666,7 +3891,7 @@ to: blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -3693,7 +3918,7 @@ to: blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 in service fd00:1122:3344:102::7 internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 - in service fd00:1122:3344:102::6 └─ + expunged ⏳ @@ -3748,21 +3973,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (79fff7a2-2495-4c75-8465-4dc01bab48ce) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312) > inventory-generate -generated inventory collection 84152e52-8c2e-46ab-880e-4cc2a1fb9dcb from configured sleds +generated inventory collection bcfc7436-77de-47e4-8158-daad15a54da2 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 based on parent blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce +generated blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d based on parent blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 blueprint source: planner with report: planning report: * discretionary zones placed: @@ -3773,18 +3998,19 @@ planning report: > blueprint-diff latest -from: blueprint 79fff7a2-2495-4c75-8465-4dc01bab48ce -to: blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 +from: blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 +to: blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 8 -> 9): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 9 -> 10): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -3826,7 +4052,7 @@ to: blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -3836,8 +4062,8 @@ to: blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 oxp_727522a7-934f-494d-b5b3-160968e74463/local_storage_unencrypted 775f9207-c42d-4af2-9186-27ffef67735e in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/local_storage_unencrypted 3560dd69-3b23-4c69-807d-d673104cfc68 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/local_storage_unencrypted 2ad1875a-92ac-472f-8c26-593309f0e4da in service none none off -+ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off -+ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off ++ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off ++ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off omicron zones: @@ -3851,11 +4077,11 @@ to: blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 in service fd00:1122:3344:102::7 internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:102::6 └─ + expunged ✓ -+ external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c ++ external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c COCKROACHDB SETTINGS: @@ -3875,14 +4101,14 @@ to: blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 internal DNS: * DNS zone: "control-plane.oxide.internal": -+ name: 4ab0ec67-b27e-42b5-af22-9117ad11113b.host (records: 1) -+ AAAA fd00:1122:3344:102::c * name: _external-dns._tcp (records: 2 -> 3) - SRV port 5353 803bfb63-c246-41db-b0da-d3b87ddfc63d.host.control-plane.oxide.internal - SRV port 5353 f6ec9c67-946a-4da3-98d5-581f72ce8bf0.host.control-plane.oxide.internal -+ SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal + SRV port 5353 803bfb63-c246-41db-b0da-d3b87ddfc63d.host.control-plane.oxide.internal ++ SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal + SRV port 5353 f6ec9c67-946a-4da3-98d5-581f72ce8bf0.host.control-plane.oxide.internal ++ name: c821c39d-2b2c-4c55-8874-ac12315ba1e4.host (records: 1) ++ AAAA fd00:1122:3344:102::c unchanged names: 50 (records: 64) external DNS: @@ -3907,21 +4133,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d) > inventory-generate -generated inventory collection bcfc7436-77de-47e4-8158-daad15a54da2 from configured sleds +generated inventory collection 6dbdc88a-4828-480e-b41d-8946f41a3134 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d based on parent blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 +generated blueprint e2125c83-b255-45c9-bc9b-802cff09a812 based on parent blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -3932,18 +4158,19 @@ planning report: > blueprint-diff latest -from: blueprint 3bcc37b2-0c0b-44d0-b4ed-3bcb605e4312 -to: blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d +from: blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d +to: blueprint e2125c83-b255-45c9-bc9b-802cff09a812 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 9 -> 10): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 10 -> 11): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -3971,8 +4198,8 @@ to: blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off @@ -3982,12 +4209,12 @@ to: blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -4007,11 +4234,11 @@ to: blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 0.0.1 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::9 crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 in service fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 - artifact: version 0.0.1 in service fd00:1122:3344:102::a └─ + artifact: version 1.0.0 @@ -4044,21 +4271,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (e2125c83-b255-45c9-bc9b-802cff09a812) > inventory-generate -generated inventory collection 6dbdc88a-4828-480e-b41d-8946f41a3134 from configured sleds +generated inventory collection eb500068-cd91-484b-a532-51081571ecbe from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint e2125c83-b255-45c9-bc9b-802cff09a812 based on parent blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d +generated blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 based on parent blueprint e2125c83-b255-45c9-bc9b-802cff09a812 blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -4069,18 +4296,19 @@ planning report: > blueprint-diff latest -from: blueprint 4d2eb6f3-7eb1-443a-8e76-7ecf05da2f6d -to: blueprint e2125c83-b255-45c9-bc9b-802cff09a812 +from: blueprint e2125c83-b255-45c9-bc9b-802cff09a812 +to: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 10 -> 11): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 11 -> 12): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -4108,8 +4336,8 @@ to: blueprint e2125c83-b255-45c9-bc9b-802cff09a812 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -4118,11 +4346,11 @@ to: blueprint e2125c83-b255-45c9-bc9b-802cff09a812 oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -4147,10 +4375,10 @@ to: blueprint e2125c83-b255-45c9-bc9b-802cff09a812 crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 0.0.1 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::9 crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 in service fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 - in service fd00:1122:3344:1::1 └─ + expunged ⏳ @@ -4205,21 +4433,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (e2125c83-b255-45c9-bc9b-802cff09a812) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (f4a6848e-d13c-46e1-8c6a-944f886d7ba3) > inventory-generate -generated inventory collection eb500068-cd91-484b-a532-51081571ecbe from configured sleds +generated inventory collection 4492baf6-5638-4c1f-bba2-608163519022 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 based on parent blueprint e2125c83-b255-45c9-bc9b-802cff09a812 +generated blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c based on parent blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 blueprint source: planner with report: planning report: * discretionary zones placed: @@ -4230,18 +4458,19 @@ planning report: > blueprint-diff latest -from: blueprint e2125c83-b255-45c9-bc9b-802cff09a812 -to: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 +from: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 +to: blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 11 -> 12): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 12 -> 13): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -4269,8 +4498,8 @@ to: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off @@ -4280,12 +4509,12 @@ to: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -4295,8 +4524,8 @@ to: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 oxp_727522a7-934f-494d-b5b3-160968e74463/local_storage_unencrypted 775f9207-c42d-4af2-9186-27ffef67735e in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/local_storage_unencrypted 3560dd69-3b23-4c69-807d-d673104cfc68 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/local_storage_unencrypted 2ad1875a-92ac-472f-8c26-593309f0e4da in service none none off -+ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off -+ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off ++ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off ++ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off omicron zones: @@ -4308,14 +4537,14 @@ to: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 0.0.1 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::9 crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 in service fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:1::1 └─ + expunged ✓ -+ internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 ++ internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 COCKROACHDB SETTINGS: @@ -4335,8 +4564,6 @@ to: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 internal DNS: * DNS zone: "control-plane.oxide.internal": -+ name: 698d1d82-0620-4978-93ac-0ba5d40f3da9.host (records: 1) -+ AAAA fd00:1122:3344:1::1 * name: @ (records: 2 -> 3) - NS ns1.control-plane.oxide.internal - NS ns2.control-plane.oxide.internal @@ -4347,8 +4574,10 @@ internal DNS: - SRV port 5353 427ec88f-f467-42fa-9bbb-66a91a36103c.host.control-plane.oxide.internal - SRV port 5353 ea5b4030-b52f-44b2-8d70-45f15f987d01.host.control-plane.oxide.internal + SRV port 5353 427ec88f-f467-42fa-9bbb-66a91a36103c.host.control-plane.oxide.internal -+ SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal ++ SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal + SRV port 5353 ea5b4030-b52f-44b2-8d70-45f15f987d01.host.control-plane.oxide.internal ++ name: a729999a-6e45-46ca-b51e-0bbb5490387a.host (records: 1) ++ AAAA fd00:1122:3344:1::1 * name: ns1 (records: 1 -> 1) - AAAA fd00:1122:3344:2::1 + AAAA fd00:1122:3344:1::1 @@ -4367,21 +4596,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (f4a6848e-d13c-46e1-8c6a-944f886d7ba3) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (834e4dbe-3b71-443d-bd4c-20e8253abc0c) > inventory-generate -generated inventory collection 4492baf6-5638-4c1f-bba2-608163519022 from configured sleds +generated inventory collection 73f58d4d-6be7-4007-811c-0e578279410e from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c based on parent blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 +generated blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 based on parent blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -4392,18 +4621,19 @@ planning report: > blueprint-diff latest -from: blueprint f4a6848e-d13c-46e1-8c6a-944f886d7ba3 -to: blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c +from: blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c +to: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 12 -> 13): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 13 -> 14): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -4431,10 +4661,10 @@ to: blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -4442,13 +4672,13 @@ to: blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -4470,12 +4700,12 @@ to: blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 1.0.0 in service fd00:1122:3344:102::a crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 0.0.1 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::9 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 - internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 expunged ✓ fd00:1122:3344:1::1 + internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 - in service fd00:1122:3344:102::7 └─ + expunged ⏳ @@ -4516,21 +4746,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (834e4dbe-3b71-443d-bd4c-20e8253abc0c) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1) > inventory-generate -generated inventory collection 73f58d4d-6be7-4007-811c-0e578279410e from configured sleds +generated inventory collection 74448e29-ef07-4d7f-9d31-39079eba8296 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 based on parent blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c +generated blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 based on parent blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 blueprint source: planner with report: planning report: * discretionary zones placed: @@ -4541,18 +4771,19 @@ planning report: > blueprint-diff latest -from: blueprint 834e4dbe-3b71-443d-bd4c-20e8253abc0c -to: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 +from: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 +to: blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 13 -> 14): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 14 -> 15): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -4580,10 +4811,10 @@ to: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -4592,13 +4823,13 @@ to: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -4608,7 +4839,7 @@ to: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 oxp_727522a7-934f-494d-b5b3-160968e74463/local_storage_unencrypted 775f9207-c42d-4af2-9186-27ffef67735e in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/local_storage_unencrypted 3560dd69-3b23-4c69-807d-d673104cfc68 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/local_storage_unencrypted 2ad1875a-92ac-472f-8c26-593309f0e4da in service none none off -+ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_156bfcde-e3fa-4abe-a93e-eb4a408b4e5e 7f2ba73c-1f57-4f92-8059-738059808061 in service none none off ++ oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_c484718d-c38b-42d5-8171-743e0fd5e5b7 e9d249aa-4d3a-49c6-8d94-52fef693f8b9 in service none none off omicron zones: @@ -4619,16 +4850,16 @@ to: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 1.0.0 in service fd00:1122:3344:102::a crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 0.0.1 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::9 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 - internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 expunged ✓ fd00:1122:3344:1::1 + internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:102::7 └─ + expunged ✓ -+ crucible_pantry 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e artifact: version 1.0.0 in service fd00:1122:3344:102::d ++ crucible_pantry c484718d-c38b-42d5-8171-743e0fd5e5b7 artifact: version 1.0.0 in service fd00:1122:3344:102::d COCKROACHDB SETTINGS: @@ -4648,14 +4879,14 @@ to: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 internal DNS: * DNS zone: "control-plane.oxide.internal": -+ name: 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host (records: 1) -+ AAAA fd00:1122:3344:102::d * name: _crucible-pantry._tcp (records: 2 -> 3) - SRV port 17000 75b220ba-a0f4-4872-8202-dc7c87f062d0.host.control-plane.oxide.internal - SRV port 17000 ba4994a8-23f9-4b1a-a84f-a08d74591389.host.control-plane.oxide.internal -+ SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal + SRV port 17000 75b220ba-a0f4-4872-8202-dc7c87f062d0.host.control-plane.oxide.internal + SRV port 17000 ba4994a8-23f9-4b1a-a84f-a08d74591389.host.control-plane.oxide.internal ++ SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal ++ name: c484718d-c38b-42d5-8171-743e0fd5e5b7.host (records: 1) ++ AAAA fd00:1122:3344:102::d unchanged names: 50 (records: 64) external DNS: @@ -4666,21 +4897,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (e2deb7c0-2262-49fe-855f-4250c22afb36) > inventory-generate -generated inventory collection 74448e29-ef07-4d7f-9d31-39079eba8296 from configured sleds +generated inventory collection a815c282-5564-4cea-b667-a7a5295fc2c1 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 based on parent blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 +generated blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf based on parent blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -4691,18 +4922,19 @@ planning report: > blueprint-diff latest -from: blueprint d9c5c5e3-c532-4c45-9ef5-22cb00f6a2e1 -to: blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 +from: blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 +to: blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 14 -> 15): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 15 -> 16): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -4730,10 +4962,10 @@ to: blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -4741,15 +4973,15 @@ to: blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_156bfcde-e3fa-4abe-a93e-eb4a408b4e5e 7f2ba73c-1f57-4f92-8059-738059808061 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_c484718d-c38b-42d5-8171-743e0fd5e5b7 e9d249aa-4d3a-49c6-8d94-52fef693f8b9 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -4768,14 +5000,14 @@ to: blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 clickhouse 353b3b65-20f7-48c3-88f7-495bd5d31545 artifact: version 1.0.0 in service fd00:1122:3344:102::5 crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 1.0.0 in service fd00:1122:3344:102::a crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::9 - crucible_pantry 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e artifact: version 1.0.0 in service fd00:1122:3344:102::d crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c + crucible_pantry c484718d-c38b-42d5-8171-743e0fd5e5b7 artifact: version 1.0.0 in service fd00:1122:3344:102::d external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 - internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 expunged ✓ fd00:1122:3344:1::1 + internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * crucible bd354eef-d8a6-4165-9124-283fb5e46d77 - artifact: version 0.0.1 in service fd00:1122:3344:102::8 └─ + artifact: version 1.0.0 @@ -4808,21 +5040,21 @@ external DNS: > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (e2deb7c0-2262-49fe-855f-4250c22afb36) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (23ce505c-8991-44a5-8863-f2b906fba9cf) > inventory-generate -generated inventory collection a815c282-5564-4cea-b667-a7a5295fc2c1 from configured sleds +generated inventory collection 18ca4fd2-190d-4ac5-b0f3-14a384bcd254 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf based on parent blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 +generated blueprint c0d81ea6-909c-4efb-964e-beff67f6da0d based on parent blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -4833,18 +5065,19 @@ planning report: > blueprint-diff latest -from: blueprint e2deb7c0-2262-49fe-855f-4250c22afb36 -to: blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf +from: blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf +to: blueprint c0d81ea6-909c-4efb-964e-beff67f6da0d MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 15 -> 16): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 16 -> 17): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -4872,10 +5105,10 @@ to: blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -4883,15 +5116,15 @@ to: blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_156bfcde-e3fa-4abe-a93e-eb4a408b4e5e 7f2ba73c-1f57-4f92-8059-738059808061 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_c484718d-c38b-42d5-8171-743e0fd5e5b7 e9d249aa-4d3a-49c6-8d94-52fef693f8b9 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -4910,14 +5143,14 @@ to: blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf clickhouse 353b3b65-20f7-48c3-88f7-495bd5d31545 artifact: version 1.0.0 in service fd00:1122:3344:102::5 crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 1.0.0 in service fd00:1122:3344:102::a crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 1.0.0 in service fd00:1122:3344:102::8 - crucible_pantry 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e artifact: version 1.0.0 in service fd00:1122:3344:102::d crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c + crucible_pantry c484718d-c38b-42d5-8171-743e0fd5e5b7 artifact: version 1.0.0 in service fd00:1122:3344:102::d external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 - internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 expunged ✓ fd00:1122:3344:1::1 + internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 * crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c - artifact: version 0.0.1 in service fd00:1122:3344:102::9 └─ + artifact: version 1.0.0 @@ -4953,21 +5186,21 @@ external DNS: > # after everything else, so the next step should update the first zone on the > # next sled. > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (23ce505c-8991-44a5-8863-f2b906fba9cf) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (c0d81ea6-909c-4efb-964e-beff67f6da0d) > inventory-generate -generated inventory collection 18ca4fd2-190d-4ac5-b0f3-14a384bcd254 from configured sleds +generated inventory collection b460bcc7-664d-4dff-92fb-f250def5537c from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint c0d81ea6-909c-4efb-964e-beff67f6da0d based on parent blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf +generated blueprint 60b55d33-5fec-4277-9864-935197eaead7 based on parent blueprint c0d81ea6-909c-4efb-964e-beff67f6da0d blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -4978,18 +5211,19 @@ planning report: > blueprint-diff latest -from: blueprint 23ce505c-8991-44a5-8863-f2b906fba9cf -to: blueprint c0d81ea6-909c-4efb-964e-beff67f6da0d +from: blueprint c0d81ea6-909c-4efb-964e-beff67f6da0d +to: blueprint 60b55d33-5fec-4277-9864-935197eaead7 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 4 -> 5): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 5 -> 6): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -5083,22 +5317,22 @@ external DNS: > # Step through updates of all the non-Nexus zones on this sled. > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (c0d81ea6-909c-4efb-964e-beff67f6da0d) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (60b55d33-5fec-4277-9864-935197eaead7) > inventory-generate -generated inventory collection b460bcc7-664d-4dff-92fb-f250def5537c from configured sleds +generated inventory collection f8212fb6-115e-4568-a05c-b241e2e8ffb9 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 60b55d33-5fec-4277-9864-935197eaead7 based on parent blueprint c0d81ea6-909c-4efb-964e-beff67f6da0d +generated blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 based on parent blueprint 60b55d33-5fec-4277-9864-935197eaead7 blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -5109,18 +5343,19 @@ planning report: > blueprint-diff latest -from: blueprint c0d81ea6-909c-4efb-964e-beff67f6da0d -to: blueprint 60b55d33-5fec-4277-9864-935197eaead7 +from: blueprint 60b55d33-5fec-4277-9864-935197eaead7 +to: blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 5 -> 6): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 6 -> 7): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -5215,9 +5450,9 @@ internal DNS: + NS ns2.control-plane.oxide.internal * name: _nameservice._tcp (records: 3 -> 2) - SRV port 5353 427ec88f-f467-42fa-9bbb-66a91a36103c.host.control-plane.oxide.internal -- SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal +- SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal - SRV port 5353 ea5b4030-b52f-44b2-8d70-45f15f987d01.host.control-plane.oxide.internal -+ SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal ++ SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal + SRV port 5353 ea5b4030-b52f-44b2-8d70-45f15f987d01.host.control-plane.oxide.internal * name: ns2 (records: 1 -> 1) - AAAA fd00:1122:3344:2::1 @@ -5234,22 +5469,22 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (60b55d33-5fec-4277-9864-935197eaead7) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (aa13f40f-41ff-4b68-bee1-df2e1f805544) > inventory-generate -generated inventory collection f8212fb6-115e-4568-a05c-b241e2e8ffb9 from configured sleds +generated inventory collection f7602eed-bc12-42db-8eec-6f98a05d9796 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 7, num_already_artifact: 7, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 based on parent blueprint 60b55d33-5fec-4277-9864-935197eaead7 +generated blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 based on parent blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 blueprint source: planner with report: planning report: * discretionary zones placed: @@ -5260,18 +5495,19 @@ planning report: > blueprint-diff latest -from: blueprint 60b55d33-5fec-4277-9864-935197eaead7 -to: blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 +from: blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 +to: blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 6 -> 7): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 7 -> 8): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -5320,8 +5556,8 @@ to: blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off -+ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off -+ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off ++ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off ++ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off omicron zones: @@ -5337,7 +5573,7 @@ to: blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:2::1 └─ + expunged ✓ -+ internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 ++ internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 COCKROACHDB SETTINGS: @@ -5364,12 +5600,12 @@ internal DNS: + NS ns2.control-plane.oxide.internal + NS ns3.control-plane.oxide.internal * name: _nameservice._tcp (records: 2 -> 3) -- SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal +- SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal - SRV port 5353 ea5b4030-b52f-44b2-8d70-45f15f987d01.host.control-plane.oxide.internal -+ SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal -+ SRV port 5353 abd27551-4027-4084-8b52-13a575b035b4.host.control-plane.oxide.internal ++ SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal ++ SRV port 5353 cc6fdaf4-0195-4cef-950d-7bacd7059787.host.control-plane.oxide.internal + SRV port 5353 ea5b4030-b52f-44b2-8d70-45f15f987d01.host.control-plane.oxide.internal -+ name: abd27551-4027-4084-8b52-13a575b035b4.host (records: 1) ++ name: cc6fdaf4-0195-4cef-950d-7bacd7059787.host (records: 1) + AAAA fd00:1122:3344:2::1 * name: ns2 (records: 1 -> 1) - AAAA fd00:1122:3344:3::1 @@ -5386,22 +5622,22 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (aa13f40f-41ff-4b68-bee1-df2e1f805544) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (316ccd9e-5c53-46c3-a2e9-20c3867b7111) > inventory-generate -generated inventory collection f7602eed-bc12-42db-8eec-6f98a05d9796 from configured sleds +generated inventory collection af824d9a-296d-4a2f-b704-c985c7470a1a from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 based on parent blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 +generated blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a based on parent blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -5412,18 +5648,19 @@ planning report: > blueprint-diff latest -from: blueprint aa13f40f-41ff-4b68-bee1-df2e1f805544 -to: blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 +from: blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 +to: blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 7 -> 8): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 8 -> 9): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -5451,7 +5688,7 @@ to: blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -5462,7 +5699,7 @@ to: blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 @@ -5485,7 +5722,7 @@ to: blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 in service fd00:1122:3344:101::6 external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 in service fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 in service fd00:1122:3344:101::3 nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 - artifact: version 0.0.1 in service fd00:1122:3344:101::7 @@ -5519,22 +5756,22 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (316ccd9e-5c53-46c3-a2e9-20c3867b7111) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (02078c95-3d58-4b7b-a03f-9b160361c50a) > inventory-generate -generated inventory collection af824d9a-296d-4a2f-b704-c985c7470a1a from configured sleds +generated inventory collection 2d5a41c5-bf7b-464c-a4b7-b14ab35982c4 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a based on parent blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 +generated blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 based on parent blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -5545,18 +5782,19 @@ planning report: > blueprint-diff latest -from: blueprint 316ccd9e-5c53-46c3-a2e9-20c3867b7111 -to: blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a +from: blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a +to: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 8 -> 9): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 9 -> 10): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -5584,7 +5822,7 @@ to: blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -5595,7 +5833,7 @@ to: blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 @@ -5620,7 +5858,7 @@ to: blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 in service fd00:1122:3344:101::6 external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 in service fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 - in service fd00:1122:3344:101::3 └─ + expunged ⏳ @@ -5647,9 +5885,9 @@ internal DNS: - AAAA fd00:1122:3344:101::3 * name: _internal-ntp._tcp (records: 3 -> 2) - SRV port 123 6444f8a5-6465-4f0b-a549-1993c113569c.host.control-plane.oxide.internal -- SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal +- SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal - SRV port 123 f10a4fb9-759f-4a65-b25e-5794ad2d07d8.host.control-plane.oxide.internal -+ SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal ++ SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal + SRV port 123 f10a4fb9-759f-4a65-b25e-5794ad2d07d8.host.control-plane.oxide.internal unchanged names: 50 (records: 64) @@ -5661,23 +5899,23 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (02078c95-3d58-4b7b-a03f-9b160361c50a) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (e7a01ffc-6b0e-408b-917b-b1efe18b3110) > inventory-generate -generated inventory collection 2d5a41c5-bf7b-464c-a4b7-b14ab35982c4 from configured sleds +generated inventory collection 94c793da-83b2-4fdf-b085-d7ef476bf204 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 7, num_already_artifact: 7, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: e14f91b0-0c41-48a0-919d-e5078d2b89b0 (omicron_zone), zone_kind: InternalNtp, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439") } } }] -generated blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 based on parent blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a +INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: a690b03d-c29b-471d-ba2b-6d8de82299b4 (omicron_zone), zone_kind: InternalNtp, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0)) } } }] +generated blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 based on parent blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 blueprint source: planner with report: planning report: * waiting for NTP zones to appear in inventory on sleds: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 @@ -5689,18 +5927,19 @@ planning report: > blueprint-diff latest -from: blueprint 02078c95-3d58-4b7b-a03f-9b160361c50a -to: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 +from: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 +to: blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 9 -> 10): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 10 -> 11): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -5728,7 +5967,7 @@ to: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -5739,7 +5978,7 @@ to: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 @@ -5751,7 +5990,7 @@ to: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off -+ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off ++ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off omicron zones: @@ -5764,11 +6003,11 @@ to: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 in service fd00:1122:3344:101::6 external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 in service fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:101::3 └─ + expunged ✓ -+ internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a ++ internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a COCKROACHDB SETTINGS: @@ -5789,12 +6028,12 @@ to: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 internal DNS: * DNS zone: "control-plane.oxide.internal": * name: _internal-ntp._tcp (records: 2 -> 3) -- SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal +- SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal - SRV port 123 f10a4fb9-759f-4a65-b25e-5794ad2d07d8.host.control-plane.oxide.internal -+ SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal -+ SRV port 123 e14f91b0-0c41-48a0-919d-e5078d2b89b0.host.control-plane.oxide.internal ++ SRV port 123 a690b03d-c29b-471d-ba2b-6d8de82299b4.host.control-plane.oxide.internal ++ SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal + SRV port 123 f10a4fb9-759f-4a65-b25e-5794ad2d07d8.host.control-plane.oxide.internal -+ name: e14f91b0-0c41-48a0-919d-e5078d2b89b0.host (records: 1) ++ name: a690b03d-c29b-471d-ba2b-6d8de82299b4.host (records: 1) + AAAA fd00:1122:3344:101::a unchanged names: 50 (records: 64) @@ -5806,22 +6045,22 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (e7a01ffc-6b0e-408b-917b-b1efe18b3110) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (880e2ffc-8187-4275-a2f3-1b36aa2f4482) > inventory-generate -generated inventory collection 94c793da-83b2-4fdf-b085-d7ef476bf204 from configured sleds +generated inventory collection 388a8c73-4ec0-4a23-9f82-225e652d8f37 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 based on parent blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 +generated blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec based on parent blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -5832,18 +6071,19 @@ planning report: > blueprint-diff latest -from: blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110 -to: blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 +from: blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 +to: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 10 -> 11): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 11 -> 12): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -5871,7 +6111,7 @@ to: blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone ad41be71-6c15-4428-b510-20ceacde4fa6 in service none none off @@ -5880,10 +6120,10 @@ to: blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -5908,9 +6148,9 @@ to: blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 0.0.1 in service fd00:1122:3344:101::8 crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 in service fd00:1122:3344:101::6 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 - in service fd00:1122:3344:101::5 └─ + expunged ⏳ @@ -5936,10 +6176,10 @@ internal DNS: - name: 803bfb63-c246-41db-b0da-d3b87ddfc63d.host (records: 1) - AAAA fd00:1122:3344:101::5 * name: _external-dns._tcp (records: 3 -> 2) -- SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal - SRV port 5353 803bfb63-c246-41db-b0da-d3b87ddfc63d.host.control-plane.oxide.internal +- SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal - SRV port 5353 f6ec9c67-946a-4da3-98d5-581f72ce8bf0.host.control-plane.oxide.internal -+ SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal ++ SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal + SRV port 5353 f6ec9c67-946a-4da3-98d5-581f72ce8bf0.host.control-plane.oxide.internal unchanged names: 50 (records: 64) @@ -5962,22 +6202,22 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (880e2ffc-8187-4275-a2f3-1b36aa2f4482) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (c4a20bcb-1a71-4e88-97b4-36d16f55daec) > inventory-generate -generated inventory collection 388a8c73-4ec0-4a23-9f82-225e652d8f37 from configured sleds +generated inventory collection 2d608b8f-bf88-4707-ac27-6be62f3d5146 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 7, num_already_artifact: 7, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec based on parent blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 +generated blueprint a2c6496d-98fc-444d-aa36-99508aa72367 based on parent blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec blueprint source: planner with report: planning report: * discretionary zones placed: @@ -5988,18 +6228,19 @@ planning report: > blueprint-diff latest -from: blueprint 880e2ffc-8187-4275-a2f3-1b36aa2f4482 -to: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec +from: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec +to: blueprint a2c6496d-98fc-444d-aa36-99508aa72367 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 11 -> 12): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 12 -> 13): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -6027,7 +6268,7 @@ to: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -6038,10 +6279,10 @@ to: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -6051,8 +6292,8 @@ to: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off -+ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off -+ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off ++ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off ++ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off omicron zones: @@ -6064,13 +6305,13 @@ to: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 0.0.1 in service fd00:1122:3344:101::8 crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 in service fd00:1122:3344:101::6 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:101::5 └─ + expunged ✓ -+ external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b ++ external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b COCKROACHDB SETTINGS: @@ -6090,13 +6331,13 @@ to: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec internal DNS: * DNS zone: "control-plane.oxide.internal": -+ name: 26bdd109-c842-43a9-95cb-15aba9b0832b.host (records: 1) ++ name: 4b2a2238-6721-4e83-ad61-c4611712ca74.host (records: 1) + AAAA fd00:1122:3344:101::b * name: _external-dns._tcp (records: 2 -> 3) -- SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal +- SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal - SRV port 5353 f6ec9c67-946a-4da3-98d5-581f72ce8bf0.host.control-plane.oxide.internal -+ SRV port 5353 26bdd109-c842-43a9-95cb-15aba9b0832b.host.control-plane.oxide.internal -+ SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal ++ SRV port 5353 4b2a2238-6721-4e83-ad61-c4611712ca74.host.control-plane.oxide.internal ++ SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal + SRV port 5353 f6ec9c67-946a-4da3-98d5-581f72ce8bf0.host.control-plane.oxide.internal unchanged names: 50 (records: 64) @@ -6119,22 +6360,22 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (c4a20bcb-1a71-4e88-97b4-36d16f55daec) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (a2c6496d-98fc-444d-aa36-99508aa72367) > inventory-generate -generated inventory collection 2d608b8f-bf88-4707-ac27-6be62f3d5146 from configured sleds +generated inventory collection 21e24074-fdd0-438e-a4e7-11665b7071bb from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint a2c6496d-98fc-444d-aa36-99508aa72367 based on parent blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec +generated blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 based on parent blueprint a2c6496d-98fc-444d-aa36-99508aa72367 blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -6145,18 +6386,19 @@ planning report: > blueprint-diff latest -from: blueprint c4a20bcb-1a71-4e88-97b4-36d16f55daec -to: blueprint a2c6496d-98fc-444d-aa36-99508aa72367 +from: blueprint a2c6496d-98fc-444d-aa36-99508aa72367 +to: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 12 -> 13): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 13 -> 14): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -6184,8 +6426,8 @@ to: blueprint a2c6496d-98fc-444d-aa36-99508aa72367 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -6193,13 +6435,13 @@ to: blueprint a2c6496d-98fc-444d-aa36-99508aa72367 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -6220,12 +6462,12 @@ to: blueprint a2c6496d-98fc-444d-aa36-99508aa72367 crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 0.0.1 in service fd00:1122:3344:101::8 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 - in service fd00:1122:3344:101::6 └─ + expunged ⏳ @@ -6249,11 +6491,11 @@ to: blueprint a2c6496d-98fc-444d-aa36-99508aa72367 internal DNS: * DNS zone: "control-plane.oxide.internal": * name: _crucible-pantry._tcp (records: 3 -> 2) -- SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal - SRV port 17000 75b220ba-a0f4-4872-8202-dc7c87f062d0.host.control-plane.oxide.internal - SRV port 17000 ba4994a8-23f9-4b1a-a84f-a08d74591389.host.control-plane.oxide.internal -+ SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal +- SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal + SRV port 17000 75b220ba-a0f4-4872-8202-dc7c87f062d0.host.control-plane.oxide.internal ++ SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal - name: ba4994a8-23f9-4b1a-a84f-a08d74591389.host (records: 1) - AAAA fd00:1122:3344:101::6 unchanged names: 50 (records: 64) @@ -6266,22 +6508,22 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (a2c6496d-98fc-444d-aa36-99508aa72367) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (6ed56354-5941-40d1-a06c-b0e940701d52) > inventory-generate -generated inventory collection 21e24074-fdd0-438e-a4e7-11665b7071bb from configured sleds +generated inventory collection ed8ea2c4-4271-407e-9c84-54129418d171 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 7, num_already_artifact: 7, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 based on parent blueprint a2c6496d-98fc-444d-aa36-99508aa72367 +generated blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 based on parent blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 blueprint source: planner with report: planning report: * discretionary zones placed: @@ -6292,18 +6534,19 @@ planning report: > blueprint-diff latest -from: blueprint a2c6496d-98fc-444d-aa36-99508aa72367 -to: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 +from: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 +to: blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 13 -> 14): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 14 -> 15): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -6331,8 +6574,8 @@ to: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -6341,13 +6584,13 @@ to: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -6357,7 +6600,7 @@ to: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off -+ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_7e83b92d-6b02-47f3-a5ab-125a6bb44e29 7562b5c7-041c-44e8-9ae7-e453b63f5b03 in service none none off ++ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_637cd92b-79c8-459a-a1a7-98abde49bdbc 4fecda40-5cf6-4bc4-9bfc-5a9ddc85438a in service none none off omicron zones: @@ -6367,16 +6610,16 @@ to: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 0.0.1 in service fd00:1122:3344:101::8 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:101::6 └─ + expunged ✓ -+ crucible_pantry 7e83b92d-6b02-47f3-a5ab-125a6bb44e29 artifact: version 1.0.0 in service fd00:1122:3344:101::c ++ crucible_pantry 637cd92b-79c8-459a-a1a7-98abde49bdbc artifact: version 1.0.0 in service fd00:1122:3344:101::c COCKROACHDB SETTINGS: @@ -6396,14 +6639,14 @@ to: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 internal DNS: * DNS zone: "control-plane.oxide.internal": -+ name: 7e83b92d-6b02-47f3-a5ab-125a6bb44e29.host (records: 1) ++ name: 637cd92b-79c8-459a-a1a7-98abde49bdbc.host (records: 1) + AAAA fd00:1122:3344:101::c * name: _crucible-pantry._tcp (records: 2 -> 3) -- SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal - SRV port 17000 75b220ba-a0f4-4872-8202-dc7c87f062d0.host.control-plane.oxide.internal -+ SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal +- SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal ++ SRV port 17000 637cd92b-79c8-459a-a1a7-98abde49bdbc.host.control-plane.oxide.internal + SRV port 17000 75b220ba-a0f4-4872-8202-dc7c87f062d0.host.control-plane.oxide.internal -+ SRV port 17000 7e83b92d-6b02-47f3-a5ab-125a6bb44e29.host.control-plane.oxide.internal ++ SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal unchanged names: 50 (records: 64) external DNS: @@ -6414,22 +6657,22 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (6ed56354-5941-40d1-a06c-b0e940701d52) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (9078c4ba-3a73-4b3f-ac2c-acb501f89cb2) > inventory-generate -generated inventory collection ed8ea2c4-4271-407e-9c84-54129418d171 from configured sleds +generated inventory collection 336dbc73-f973-4962-a210-3c9d424bd6a3 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 based on parent blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 +generated blueprint 8763abc1-8a42-4932-b5a7-33109e0e0152 based on parent blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -6440,18 +6683,19 @@ planning report: > blueprint-diff latest -from: blueprint 6ed56354-5941-40d1-a06c-b0e940701d52 -to: blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 +from: blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 +to: blueprint 8763abc1-8a42-4932-b5a7-33109e0e0152 MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 14 -> 15): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 15 -> 16): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -6479,8 +6723,8 @@ to: blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -6488,15 +6732,15 @@ to: blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_7e83b92d-6b02-47f3-a5ab-125a6bb44e29 7562b5c7-041c-44e8-9ae7-e453b63f5b03 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_637cd92b-79c8-459a-a1a7-98abde49bdbc 4fecda40-5cf6-4bc4-9bfc-5a9ddc85438a in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -6514,14 +6758,14 @@ to: blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 ------------------------------------------------------------------------------------------------------------------------- crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 - crucible_pantry 7e83b92d-6b02-47f3-a5ab-125a6bb44e29 artifact: version 1.0.0 in service fd00:1122:3344:101::c + crucible_pantry 637cd92b-79c8-459a-a1a7-98abde49bdbc artifact: version 1.0.0 in service fd00:1122:3344:101::c crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::6 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 * crucible dfac80b4-a887-430a-ae87-a4e065dba787 - artifact: version 0.0.1 in service fd00:1122:3344:101::8 └─ + artifact: version 1.0.0 @@ -6557,22 +6801,22 @@ external DNS: > # after everything else, so the next step should update the first zone on the > # next sled. > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (9078c4ba-3a73-4b3f-ac2c-acb501f89cb2) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (8763abc1-8a42-4932-b5a7-33109e0e0152) > inventory-generate -generated inventory collection 336dbc73-f973-4962-a210-3c9d424bd6a3 from configured sleds +generated inventory collection 897721fc-b087-41be-a566-809d59c8aeea from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 8763abc1-8a42-4932-b5a7-33109e0e0152 based on parent blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 +generated blueprint 2b89e0d7-f15b-4474-8ac4-85959ed1bc88 based on parent blueprint 8763abc1-8a42-4932-b5a7-33109e0e0152 blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -6583,18 +6827,19 @@ planning report: > blueprint-diff latest -from: blueprint 9078c4ba-3a73-4b3f-ac2c-acb501f89cb2 -to: blueprint 8763abc1-8a42-4932-b5a7-33109e0e0152 +from: blueprint 8763abc1-8a42-4932-b5a7-33109e0e0152 +to: blueprint 2b89e0d7-f15b-4474-8ac4-85959ed1bc88 MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 4 -> 5): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 5 -> 6): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -6688,10 +6933,10 @@ external DNS: > # Step through updates of all the non-Nexus zones on this sled. > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (8763abc1-8a42-4932-b5a7-33109e0e0152) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (2b89e0d7-f15b-4474-8ac4-85959ed1bc88) > inventory-generate -generated inventory collection 897721fc-b087-41be-a566-809d59c8aeea from configured sleds +generated inventory collection 5d0b9686-48df-4642-a39c-e2dea04d5330 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -6704,7 +6949,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 2b89e0d7-f15b-4474-8ac4-85959ed1bc88 based on parent blueprint 8763abc1-8a42-4932-b5a7-33109e0e0152 +generated blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 based on parent blueprint 2b89e0d7-f15b-4474-8ac4-85959ed1bc88 blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -6715,18 +6960,19 @@ planning report: > blueprint-diff latest -from: blueprint 8763abc1-8a42-4932-b5a7-33109e0e0152 -to: blueprint 2b89e0d7-f15b-4474-8ac4-85959ed1bc88 +from: blueprint 2b89e0d7-f15b-4474-8ac4-85959ed1bc88 +to: blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 5 -> 6): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 6 -> 7): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -6813,11 +7059,11 @@ internal DNS: - name: 75b220ba-a0f4-4872-8202-dc7c87f062d0.host (records: 1) - AAAA fd00:1122:3344:103::6 * name: _crucible-pantry._tcp (records: 3 -> 2) -- SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal +- SRV port 17000 637cd92b-79c8-459a-a1a7-98abde49bdbc.host.control-plane.oxide.internal - SRV port 17000 75b220ba-a0f4-4872-8202-dc7c87f062d0.host.control-plane.oxide.internal -- SRV port 17000 7e83b92d-6b02-47f3-a5ab-125a6bb44e29.host.control-plane.oxide.internal -+ SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal -+ SRV port 17000 7e83b92d-6b02-47f3-a5ab-125a6bb44e29.host.control-plane.oxide.internal +- SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal ++ SRV port 17000 637cd92b-79c8-459a-a1a7-98abde49bdbc.host.control-plane.oxide.internal ++ SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal unchanged names: 50 (records: 64) external DNS: @@ -6828,10 +7074,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (2b89e0d7-f15b-4474-8ac4-85959ed1bc88) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4) > inventory-generate -generated inventory collection 5d0b9686-48df-4642-a39c-e2dea04d5330 from configured sleds +generated inventory collection 90f0f757-fd33-4744-abee-36616a645b87 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -6844,7 +7090,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 based on parent blueprint 2b89e0d7-f15b-4474-8ac4-85959ed1bc88 +generated blueprint 59630e63-c953-4807-9e84-9e750a79f68e based on parent blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 blueprint source: planner with report: planning report: * discretionary zones placed: @@ -6855,18 +7101,19 @@ planning report: > blueprint-diff latest -from: blueprint 2b89e0d7-f15b-4474-8ac4-85959ed1bc88 -to: blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 +from: blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 +to: blueprint 59630e63-c953-4807-9e84-9e750a79f68e MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 6 -> 7): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 7 -> 8): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -6915,7 +7162,7 @@ to: blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted e009d8b8-4695-4322-b53f-f03f2744aef7 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/local_storage_unencrypted 4da74a5b-6911-4cca-b624-b90c65530117 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/local_storage_unencrypted 96ae8389-3027-4260-9374-e0f6ce851de2 in service none none off -+ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off ++ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off omicron zones: @@ -6931,7 +7178,7 @@ to: blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 * crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:103::6 └─ + expunged ✓ -+ crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a ++ crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a COCKROACHDB SETTINGS: @@ -6951,14 +7198,14 @@ to: blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 internal DNS: * DNS zone: "control-plane.oxide.internal": -+ name: 9464c6ed-ffa6-4e88-ae4e-76551d82b2af.host (records: 1) ++ name: 7fbd0103-d7f8-48a5-b95e-29bf812cac1f.host (records: 1) + AAAA fd00:1122:3344:103::a * name: _crucible-pantry._tcp (records: 2 -> 3) -- SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal -- SRV port 17000 7e83b92d-6b02-47f3-a5ab-125a6bb44e29.host.control-plane.oxide.internal -+ SRV port 17000 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e.host.control-plane.oxide.internal -+ SRV port 17000 7e83b92d-6b02-47f3-a5ab-125a6bb44e29.host.control-plane.oxide.internal -+ SRV port 17000 9464c6ed-ffa6-4e88-ae4e-76551d82b2af.host.control-plane.oxide.internal +- SRV port 17000 637cd92b-79c8-459a-a1a7-98abde49bdbc.host.control-plane.oxide.internal +- SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal ++ SRV port 17000 637cd92b-79c8-459a-a1a7-98abde49bdbc.host.control-plane.oxide.internal ++ SRV port 17000 7fbd0103-d7f8-48a5-b95e-29bf812cac1f.host.control-plane.oxide.internal ++ SRV port 17000 c484718d-c38b-42d5-8171-743e0fd5e5b7.host.control-plane.oxide.internal unchanged names: 50 (records: 64) external DNS: @@ -6969,10 +7216,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (59630e63-c953-4807-9e84-9e750a79f68e) > inventory-generate -generated inventory collection 90f0f757-fd33-4744-abee-36616a645b87 from configured sleds +generated inventory collection ee9bc64a-70f7-4d81-b39d-a709754ce118 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -6985,7 +7232,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 59630e63-c953-4807-9e84-9e750a79f68e based on parent blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 +generated blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 based on parent blueprint 59630e63-c953-4807-9e84-9e750a79f68e blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -6996,18 +7243,19 @@ planning report: > blueprint-diff latest -from: blueprint 7f6b7297-c2bc-4f67-b3c0-c8e555ebbdc4 -to: blueprint 59630e63-c953-4807-9e84-9e750a79f68e +from: blueprint 59630e63-c953-4807-9e84-9e750a79f68e +to: blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 7 -> 8): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 8 -> 9): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -7043,7 +7291,7 @@ to: blueprint 59630e63-c953-4807-9e84-9e750a79f68e oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off @@ -7066,7 +7314,7 @@ to: blueprint 59630e63-c953-4807-9e84-9e750a79f68e crucible 694bd14f-cb24-4be4-bb19-876e79cda2c8 artifact: version 1.0.0 in service fd00:1122:3344:103::8 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 0.0.1 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 in service fd00:1122:3344:103::5 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 in service fd00:1122:3344:3::1 internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 in service fd00:1122:3344:103::3 @@ -7102,10 +7350,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (59630e63-c953-4807-9e84-9e750a79f68e) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (e93650dc-b5ba-4ec7-8550-9171c1ada194) > inventory-generate -generated inventory collection ee9bc64a-70f7-4d81-b39d-a709754ce118 from configured sleds +generated inventory collection 3dc9d8c8-8f50-4d6e-9396-97058d1d2722 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -7118,7 +7366,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 based on parent blueprint 59630e63-c953-4807-9e84-9e750a79f68e +generated blueprint 90650737-8142-47a6-9a48-a10efc487e57 based on parent blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -7129,18 +7377,19 @@ planning report: > blueprint-diff latest -from: blueprint 59630e63-c953-4807-9e84-9e750a79f68e -to: blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 +from: blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 +to: blueprint 90650737-8142-47a6-9a48-a10efc487e57 MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 8 -> 9): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 9 -> 10): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -7175,7 +7424,7 @@ to: blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be in service none none off @@ -7202,7 +7451,7 @@ to: blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 0.0.1 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 in service fd00:1122:3344:103::5 internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 in service fd00:1122:3344:103::3 nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 @@ -7234,11 +7483,11 @@ internal DNS: + NS ns1.control-plane.oxide.internal + NS ns2.control-plane.oxide.internal * name: _nameservice._tcp (records: 3 -> 2) -- SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal -- SRV port 5353 abd27551-4027-4084-8b52-13a575b035b4.host.control-plane.oxide.internal +- SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal +- SRV port 5353 cc6fdaf4-0195-4cef-950d-7bacd7059787.host.control-plane.oxide.internal - SRV port 5353 ea5b4030-b52f-44b2-8d70-45f15f987d01.host.control-plane.oxide.internal -+ SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal -+ SRV port 5353 abd27551-4027-4084-8b52-13a575b035b4.host.control-plane.oxide.internal ++ SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal ++ SRV port 5353 cc6fdaf4-0195-4cef-950d-7bacd7059787.host.control-plane.oxide.internal - name: ea5b4030-b52f-44b2-8d70-45f15f987d01.host (records: 1) - AAAA fd00:1122:3344:3::1 - name: ns3 (records: 1) @@ -7253,10 +7502,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (e93650dc-b5ba-4ec7-8550-9171c1ada194) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (90650737-8142-47a6-9a48-a10efc487e57) > inventory-generate -generated inventory collection 3dc9d8c8-8f50-4d6e-9396-97058d1d2722 from configured sleds +generated inventory collection a4dab274-0fff-47fa-bc22-b98d11ec54d2 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -7269,7 +7518,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 90650737-8142-47a6-9a48-a10efc487e57 based on parent blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 +generated blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa based on parent blueprint 90650737-8142-47a6-9a48-a10efc487e57 blueprint source: planner with report: planning report: * discretionary zones placed: @@ -7280,18 +7529,19 @@ planning report: > blueprint-diff latest -from: blueprint e93650dc-b5ba-4ec7-8550-9171c1ada194 -to: blueprint 90650737-8142-47a6-9a48-a10efc487e57 +from: blueprint 90650737-8142-47a6-9a48-a10efc487e57 +to: blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 9 -> 10): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 10 -> 11): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -7327,7 +7577,7 @@ to: blueprint 90650737-8142-47a6-9a48-a10efc487e57 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off @@ -7341,8 +7591,8 @@ to: blueprint 90650737-8142-47a6-9a48-a10efc487e57 oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted e009d8b8-4695-4322-b53f-f03f2744aef7 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/local_storage_unencrypted 4da74a5b-6911-4cca-b624-b90c65530117 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/local_storage_unencrypted 96ae8389-3027-4260-9374-e0f6ce851de2 in service none none off -+ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off -+ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off ++ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off ++ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off omicron zones: @@ -7353,13 +7603,13 @@ to: blueprint 90650737-8142-47a6-9a48-a10efc487e57 crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 0.0.1 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 in service fd00:1122:3344:103::5 internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 in service fd00:1122:3344:103::3 nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 * internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:3::1 └─ + expunged ✓ -+ internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 ++ internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 COCKROACHDB SETTINGS: @@ -7386,12 +7636,12 @@ internal DNS: + NS ns2.control-plane.oxide.internal + NS ns3.control-plane.oxide.internal * name: _nameservice._tcp (records: 2 -> 3) -- SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal -- SRV port 5353 abd27551-4027-4084-8b52-13a575b035b4.host.control-plane.oxide.internal -+ SRV port 5353 698d1d82-0620-4978-93ac-0ba5d40f3da9.host.control-plane.oxide.internal -+ SRV port 5353 abd27551-4027-4084-8b52-13a575b035b4.host.control-plane.oxide.internal -+ SRV port 5353 d5fd048a-8786-42d3-938e-820eae95d7f4.host.control-plane.oxide.internal -+ name: d5fd048a-8786-42d3-938e-820eae95d7f4.host (records: 1) +- SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal +- SRV port 5353 cc6fdaf4-0195-4cef-950d-7bacd7059787.host.control-plane.oxide.internal ++ SRV port 5353 a729999a-6e45-46ca-b51e-0bbb5490387a.host.control-plane.oxide.internal ++ SRV port 5353 b5edcb10-9ba0-4fd7-9583-1617e5b4b452.host.control-plane.oxide.internal ++ SRV port 5353 cc6fdaf4-0195-4cef-950d-7bacd7059787.host.control-plane.oxide.internal ++ name: b5edcb10-9ba0-4fd7-9583-1617e5b4b452.host (records: 1) + AAAA fd00:1122:3344:3::1 + name: ns3 (records: 1) + AAAA fd00:1122:3344:3::1 @@ -7405,10 +7655,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (90650737-8142-47a6-9a48-a10efc487e57) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (2182613d-dc9f-41eb-9c6a-d33801849caa) > inventory-generate -generated inventory collection a4dab274-0fff-47fa-bc22-b98d11ec54d2 from configured sleds +generated inventory collection d483be68-4bf3-4133-aed1-661cba8e1194 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -7421,7 +7671,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa based on parent blueprint 90650737-8142-47a6-9a48-a10efc487e57 +generated blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece based on parent blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -7432,18 +7682,19 @@ planning report: > blueprint-diff latest -from: blueprint 90650737-8142-47a6-9a48-a10efc487e57 -to: blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa +from: blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa +to: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 10 -> 11): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 11 -> 12): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -7471,7 +7722,7 @@ to: blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off @@ -7480,9 +7731,9 @@ to: blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 @@ -7506,9 +7757,9 @@ to: blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 0.0.1 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 in service fd00:1122:3344:103::5 - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 * internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 - in service fd00:1122:3344:103::3 @@ -7533,11 +7784,11 @@ to: blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa internal DNS: * DNS zone: "control-plane.oxide.internal": * name: _internal-ntp._tcp (records: 3 -> 2) -- SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal -- SRV port 123 e14f91b0-0c41-48a0-919d-e5078d2b89b0.host.control-plane.oxide.internal +- SRV port 123 a690b03d-c29b-471d-ba2b-6d8de82299b4.host.control-plane.oxide.internal +- SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal - SRV port 123 f10a4fb9-759f-4a65-b25e-5794ad2d07d8.host.control-plane.oxide.internal -+ SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal -+ SRV port 123 e14f91b0-0c41-48a0-919d-e5078d2b89b0.host.control-plane.oxide.internal ++ SRV port 123 a690b03d-c29b-471d-ba2b-6d8de82299b4.host.control-plane.oxide.internal ++ SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal - name: f10a4fb9-759f-4a65-b25e-5794ad2d07d8.host (records: 1) - AAAA fd00:1122:3344:103::3 unchanged names: 50 (records: 64) @@ -7550,10 +7801,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (2182613d-dc9f-41eb-9c6a-d33801849caa) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (e8b088a8-7da0-480b-a2dc-75ffef068ece) > inventory-generate -generated inventory collection d483be68-4bf3-4133-aed1-661cba8e1194 from configured sleds +generated inventory collection 74b742c1-01da-4461-a011-785e2e11a5b2 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -7566,8 +7817,8 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: 9e2e0774-3cf6-4f75-9a12-92db05c77b81 (omicron_zone), zone_kind: InternalNtp, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash("67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439") } } }] -generated blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece based on parent blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa +INFO some zones not yet up-to-date, zones_currently_updating: [ZonePropagationIncomplete { zone_id: f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 (omicron_zone), zone_kind: InternalNtp, reason: MissingInInventory { bp_image_source: Artifact { version: Available { version: ArtifactVersion("1.0.0") }, hash: ArtifactHash(HexArray(2c7a661d288567335a1cabbbb96ec43c648bdfa1323b9c7c4e8de7ff23edeed0)) } } }] +generated blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 based on parent blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece blueprint source: planner with report: planning report: * waiting for NTP zones to appear in inventory on sleds: d81c6a84-79b8-4958-ae41-ea46c9b19763 @@ -7579,18 +7830,19 @@ planning report: > blueprint-diff latest -from: blueprint 2182613d-dc9f-41eb-9c6a-d33801849caa -to: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece +from: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece +to: blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 11 -> 12): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 12 -> 13): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -7618,7 +7870,7 @@ to: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off @@ -7627,9 +7879,9 @@ to: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be expunged none none off @@ -7642,7 +7894,7 @@ to: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted e009d8b8-4695-4322-b53f-f03f2744aef7 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/local_storage_unencrypted 4da74a5b-6911-4cca-b624-b90c65530117 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/local_storage_unencrypted 96ae8389-3027-4260-9374-e0f6ce851de2 in service none none off -+ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_9e2e0774-3cf6-4f75-9a12-92db05c77b81 125cb821-0867-4291-af2c-3756ac3cfc6d in service none none off ++ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 b24bee8e-82a0-4b4d-a57c-77a1010f3e38 in service none none off omicron zones: @@ -7653,14 +7905,14 @@ to: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 0.0.1 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 in service fd00:1122:3344:103::5 - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 * internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:103::3 └─ + expunged ✓ -+ internal_ntp 9e2e0774-3cf6-4f75-9a12-92db05c77b81 artifact: version 1.0.0 in service fd00:1122:3344:103::b ++ internal_ntp f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 artifact: version 1.0.0 in service fd00:1122:3344:103::b COCKROACHDB SETTINGS: @@ -7680,14 +7932,14 @@ to: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece internal DNS: * DNS zone: "control-plane.oxide.internal": -+ name: 9e2e0774-3cf6-4f75-9a12-92db05c77b81.host (records: 1) -+ AAAA fd00:1122:3344:103::b * name: _internal-ntp._tcp (records: 2 -> 3) -- SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal -- SRV port 123 e14f91b0-0c41-48a0-919d-e5078d2b89b0.host.control-plane.oxide.internal -+ SRV port 123 9e2e0774-3cf6-4f75-9a12-92db05c77b81.host.control-plane.oxide.internal -+ SRV port 123 ba87399e-e9b7-4ee4-8cb7-0032822630e9.host.control-plane.oxide.internal -+ SRV port 123 e14f91b0-0c41-48a0-919d-e5078d2b89b0.host.control-plane.oxide.internal +- SRV port 123 a690b03d-c29b-471d-ba2b-6d8de82299b4.host.control-plane.oxide.internal +- SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal ++ SRV port 123 a690b03d-c29b-471d-ba2b-6d8de82299b4.host.control-plane.oxide.internal ++ SRV port 123 c74e3068-8b20-4a62-953b-dab703a442db.host.control-plane.oxide.internal ++ SRV port 123 f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01.host.control-plane.oxide.internal ++ name: f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01.host (records: 1) ++ AAAA fd00:1122:3344:103::b unchanged names: 50 (records: 64) external DNS: @@ -7698,10 +7950,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (e8b088a8-7da0-480b-a2dc-75ffef068ece) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (810ea95a-4730-43dd-867e-1984aeb9d873) > inventory-generate -generated inventory collection 74b742c1-01da-4461-a011-785e2e11a5b2 from configured sleds +generated inventory collection 78486156-ea1a-42a2-adc3-658ccd94ccd1 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -7714,7 +7966,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 based on parent blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece +generated blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d based on parent blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 blueprint source: planner with report: planning report: * 1 out-of-date zone updated in-place: @@ -7725,18 +7977,19 @@ planning report: > blueprint-diff latest -from: blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece -to: blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 +from: blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 +to: blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 12 -> 13): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 13 -> 14): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -7764,7 +8017,7 @@ to: blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off @@ -7773,13 +8026,13 @@ to: blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_9e2e0774-3cf6-4f75-9a12-92db05c77b81 125cb821-0867-4291-af2c-3756ac3cfc6d in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be expunged none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 b24bee8e-82a0-4b4d-a57c-77a1010f3e38 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 @@ -7798,12 +8051,12 @@ to: blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 crucible 694bd14f-cb24-4be4-bb19-876e79cda2c8 artifact: version 1.0.0 in service fd00:1122:3344:103::8 crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 in service fd00:1122:3344:103::5 - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 - internal_ntp 9e2e0774-3cf6-4f75-9a12-92db05c77b81 artifact: version 1.0.0 in service fd00:1122:3344:103::b internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::3 + internal_ntp f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 artifact: version 1.0.0 in service fd00:1122:3344:103::b nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 * crucible f55647d4-5500-4ad3-893a-df45bd50d622 - artifact: version 0.0.1 in service fd00:1122:3344:103::7 └─ + artifact: version 1.0.0 @@ -7836,10 +8089,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (810ea95a-4730-43dd-867e-1984aeb9d873) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (67c074ef-c52e-4ff1-851a-598c04dc2c8d) > inventory-generate -generated inventory collection 78486156-ea1a-42a2-adc3-658ccd94ccd1 from configured sleds +generated inventory collection 0f80a0f2-360f-4c64-9c35-3dc067dd2620 from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -7852,7 +8105,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d based on parent blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 +generated blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e based on parent blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -7863,18 +8116,19 @@ planning report: > blueprint-diff latest -from: blueprint 810ea95a-4730-43dd-867e-1984aeb9d873 -to: blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d +from: blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d +to: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 13 -> 14): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 14 -> 15): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -7902,7 +8156,7 @@ to: blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone 1cb0a47a-59ac-4892-8e92-cf87b4290f96 in service none none off @@ -7910,12 +8164,12 @@ to: blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_9e2e0774-3cf6-4f75-9a12-92db05c77b81 125cb821-0867-4291-af2c-3756ac3cfc6d in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be expunged none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 b24bee8e-82a0-4b4d-a57c-77a1010f3e38 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 @@ -7939,11 +8193,11 @@ to: blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 1.0.0 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 - internal_ntp 9e2e0774-3cf6-4f75-9a12-92db05c77b81 artifact: version 1.0.0 in service fd00:1122:3344:103::b internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::3 + internal_ntp f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 artifact: version 1.0.0 in service fd00:1122:3344:103::b nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 * external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 - in service fd00:1122:3344:103::5 └─ + expunged ⏳ @@ -7967,11 +8221,11 @@ to: blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d internal DNS: * DNS zone: "control-plane.oxide.internal": * name: _external-dns._tcp (records: 3 -> 2) -- SRV port 5353 26bdd109-c842-43a9-95cb-15aba9b0832b.host.control-plane.oxide.internal -- SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal +- SRV port 5353 4b2a2238-6721-4e83-ad61-c4611712ca74.host.control-plane.oxide.internal +- SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal - SRV port 5353 f6ec9c67-946a-4da3-98d5-581f72ce8bf0.host.control-plane.oxide.internal -+ SRV port 5353 26bdd109-c842-43a9-95cb-15aba9b0832b.host.control-plane.oxide.internal -+ SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal ++ SRV port 5353 4b2a2238-6721-4e83-ad61-c4611712ca74.host.control-plane.oxide.internal ++ SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal - name: f6ec9c67-946a-4da3-98d5-581f72ce8bf0.host (records: 1) - AAAA fd00:1122:3344:103::5 unchanged names: 50 (records: 64) @@ -7992,10 +8246,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (67c074ef-c52e-4ff1-851a-598c04dc2c8d) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (0a8d2f87-1d3e-4296-ba07-108940a7a57e) > inventory-generate -generated inventory collection 0f80a0f2-360f-4c64-9c35-3dc067dd2620 from configured sleds +generated inventory collection c0548a65-0ee4-4876-a5e0-3384187c88cc from configured sleds > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -8008,7 +8262,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e based on parent blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d +generated blueprint d69e1109-06be-4469-8876-4292dc7885d7 based on parent blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e blueprint source: planner with report: planning report: * discretionary zones placed: @@ -8019,18 +8273,19 @@ planning report: > blueprint-diff latest -from: blueprint 67c074ef-c52e-4ff1-851a-598c04dc2c8d -to: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e +from: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e +to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 14 -> 15): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 15 -> 16): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -8058,7 +8313,7 @@ to: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off @@ -8067,13 +8322,13 @@ to: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_9e2e0774-3cf6-4f75-9a12-92db05c77b81 125cb821-0867-4291-af2c-3756ac3cfc6d in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be expunged none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 b24bee8e-82a0-4b4d-a57c-77a1010f3e38 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 @@ -8083,8 +8338,8 @@ to: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted e009d8b8-4695-4322-b53f-f03f2744aef7 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/local_storage_unencrypted 4da74a5b-6911-4cca-b624-b90c65530117 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/local_storage_unencrypted 96ae8389-3027-4260-9374-e0f6ce851de2 in service none none off -+ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 0f0c883a-7a84-4064-b085-0af035edfb3d in service none none off -+ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 bdadb3c9-f786-4fcd-a632-667a2e359065 in service none none off ++ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 6f2feeac-a819-447d-9331-64f19d1507ed in service none none off ++ oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off omicron zones: @@ -8095,15 +8350,15 @@ to: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 1.0.0 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 - internal_ntp 9e2e0774-3cf6-4f75-9a12-92db05c77b81 artifact: version 1.0.0 in service fd00:1122:3344:103::b internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::3 + internal_ntp f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 artifact: version 1.0.0 in service fd00:1122:3344:103::b nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 * external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:103::5 └─ + expunged ✓ -+ external_dns 63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 artifact: version 1.0.0 in service fd00:1122:3344:103::c ++ external_dns 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::c COCKROACHDB SETTINGS: @@ -8123,14 +8378,14 @@ to: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e internal DNS: * DNS zone: "control-plane.oxide.internal": -+ name: 63ff80e3-ef8d-4186-8240-5ebd3f7d4d82.host (records: 1) ++ name: 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad.host (records: 1) + AAAA fd00:1122:3344:103::c * name: _external-dns._tcp (records: 2 -> 3) -- SRV port 5353 26bdd109-c842-43a9-95cb-15aba9b0832b.host.control-plane.oxide.internal -- SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal -+ SRV port 5353 26bdd109-c842-43a9-95cb-15aba9b0832b.host.control-plane.oxide.internal -+ SRV port 5353 4ab0ec67-b27e-42b5-af22-9117ad11113b.host.control-plane.oxide.internal -+ SRV port 5353 63ff80e3-ef8d-4186-8240-5ebd3f7d4d82.host.control-plane.oxide.internal +- SRV port 5353 4b2a2238-6721-4e83-ad61-c4611712ca74.host.control-plane.oxide.internal +- SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal ++ SRV port 5353 4b2a2238-6721-4e83-ad61-c4611712ca74.host.control-plane.oxide.internal ++ SRV port 5353 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad.host.control-plane.oxide.internal ++ SRV port 5353 c821c39d-2b2c-4c55-8874-ac12315ba1e4.host.control-plane.oxide.internal unchanged names: 50 (records: 64) external DNS: @@ -8149,10 +8404,10 @@ external DNS: > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (0a8d2f87-1d3e-4296-ba07-108940a7a57e) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (d69e1109-06be-4469-8876-4292dc7885d7) > inventory-generate -generated inventory collection c0548a65-0ee4-4876-a5e0-3384187c88cc from configured sleds +generated inventory collection 7349431d-718a-4353-a1ee-357ce2aeeb28 from configured sleds > # Start the Nexus handoff process: A planning step here should place three new @@ -8168,7 +8423,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint d69e1109-06be-4469-8876-4292dc7885d7 based on parent blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e +generated blueprint 12f19448-6a10-4b4b-ae19-a8c94a566097 based on parent blueprint d69e1109-06be-4469-8876-4292dc7885d7 blueprint source: planner with report: planning report: * discretionary zones placed: @@ -8181,18 +8436,19 @@ planning report: > blueprint-diff latest -from: blueprint 0a8d2f87-1d3e-4296-ba07-108940a7a57e -to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 +from: blueprint d69e1109-06be-4469-8876-4292dc7885d7 +to: blueprint 12f19448-6a10-4b4b-ae19-a8c94a566097 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 16 -> 17): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 17 -> 18): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -8220,10 +8476,10 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -8231,15 +8487,15 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_156bfcde-e3fa-4abe-a93e-eb4a408b4e5e 7f2ba73c-1f57-4f92-8059-738059808061 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_c484718d-c38b-42d5-8171-743e0fd5e5b7 e9d249aa-4d3a-49c6-8d94-52fef693f8b9 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -8249,7 +8505,7 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_727522a7-934f-494d-b5b3-160968e74463/local_storage_unencrypted 775f9207-c42d-4af2-9186-27ffef67735e in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/local_storage_unencrypted 3560dd69-3b23-4c69-807d-d673104cfc68 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/local_storage_unencrypted 2ad1875a-92ac-472f-8c26-593309f0e4da in service none none off -+ oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_9ae90740-7fdb-4073-ae43-048f2fca3d69 91f7f766-931f-43ef-99b4-2399f58c946b in service none none off ++ oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_1e2010ea-5755-425c-beca-2a78fec27ecf 71228bc8-80b4-4ca3-8075-403f970c25f7 in service none none off omicron zones: @@ -8260,25 +8516,26 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 1.0.0 in service fd00:1122:3344:102::a crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 1.0.0 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 1.0.0 in service fd00:1122:3344:102::9 - crucible_pantry 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e artifact: version 1.0.0 in service fd00:1122:3344:102::d crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c + crucible_pantry c484718d-c38b-42d5-8171-743e0fd5e5b7 artifact: version 1.0.0 in service fd00:1122:3344:102::d external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 - internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 expunged ✓ fd00:1122:3344:1::1 + internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 -+ nexus 9ae90740-7fdb-4073-ae43-048f2fca3d69 artifact: version 1.0.0 in service fd00:1122:3344:102::e ++ nexus 1e2010ea-5755-425c-beca-2a78fec27ecf artifact: version 1.0.0 in service fd00:1122:3344:102::e - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 15 -> 16): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 16 -> 17): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -8306,8 +8563,8 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -8315,15 +8572,15 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_7e83b92d-6b02-47f3-a5ab-125a6bb44e29 7562b5c7-041c-44e8-9ae7-e453b63f5b03 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_637cd92b-79c8-459a-a1a7-98abde49bdbc 4fecda40-5cf6-4bc4-9bfc-5a9ddc85438a in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -8333,7 +8590,7 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off -+ oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_d516d61b-fd96-46ad-a743-78eec814ee90 d2707e9c-d793-4a6c-8f77-2d3aa5a98390 in service none none off ++ oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_fda5966d-4d7e-4769-b398-186af4ffd98f 87b35d5f-dce7-425a-84fc-0b6546a33f52 in service none none off omicron zones: @@ -8343,25 +8600,26 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 1.0.0 in service fd00:1122:3344:101::8 - crucible_pantry 7e83b92d-6b02-47f3-a5ab-125a6bb44e29 artifact: version 1.0.0 in service fd00:1122:3344:101::c + crucible_pantry 637cd92b-79c8-459a-a1a7-98abde49bdbc artifact: version 1.0.0 in service fd00:1122:3344:101::c crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::6 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 -+ nexus d516d61b-fd96-46ad-a743-78eec814ee90 artifact: version 1.0.0 in service fd00:1122:3344:101::d ++ nexus fda5966d-4d7e-4769-b398-186af4ffd98f artifact: version 1.0.0 in service fd00:1122:3344:101::d - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 15 -> 16): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 16 -> 17): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -8388,9 +8646,9 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crucible ba9311dd-89ac-47db-a5e8-d64e8a5fcf70 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 0f0c883a-7a84-4064-b085-0af035edfb3d in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 6f2feeac-a819-447d-9331-64f19d1507ed in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off @@ -8399,14 +8657,14 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 bdadb3c9-f786-4fcd-a632-667a2e359065 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_9e2e0774-3cf6-4f75-9a12-92db05c77b81 125cb821-0867-4291-af2c-3756ac3cfc6d in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be expunged none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 b24bee8e-82a0-4b4d-a57c-77a1010f3e38 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 @@ -8416,7 +8674,7 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted e009d8b8-4695-4322-b53f-f03f2744aef7 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/local_storage_unencrypted 4da74a5b-6911-4cca-b624-b90c65530117 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/local_storage_unencrypted 96ae8389-3027-4260-9374-e0f6ce851de2 in service none none off -+ oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_nexus_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off ++ oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_nexus_e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea cde682bf-e713-498b-9020-f2270bf25391 in service none none off omicron zones: @@ -8427,15 +8685,15 @@ to: blueprint d69e1109-06be-4469-8876-4292dc7885d7 crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 1.0.0 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a - external_dns 63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 artifact: version 1.0.0 in service fd00:1122:3344:103::c + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a + external_dns 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::c external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::5 - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 - internal_ntp 9e2e0774-3cf6-4f75-9a12-92db05c77b81 artifact: version 1.0.0 in service fd00:1122:3344:103::b internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::3 + internal_ntp f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 artifact: version 1.0.0 in service fd00:1122:3344:103::b nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 -+ nexus 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::d ++ nexus e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea artifact: version 1.0.0 in service fd00:1122:3344:103::d COCKROACHDB SETTINGS: @@ -8466,16 +8724,16 @@ external DNS: > # Update inventory to reflect the three Nexus zones starting. > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (d69e1109-06be-4469-8876-4292dc7885d7) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (12f19448-6a10-4b4b-ae19-a8c94a566097) > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (d69e1109-06be-4469-8876-4292dc7885d7) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (12f19448-6a10-4b4b-ae19-a8c94a566097) > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (d69e1109-06be-4469-8876-4292dc7885d7) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (12f19448-6a10-4b4b-ae19-a8c94a566097) > inventory-generate -generated inventory collection 7349431d-718a-4353-a1ee-357ce2aeeb28 from configured sleds +generated inventory collection 5ffc4b23-0e6e-40e9-bacd-f83ca33f9792 from configured sleds > # Planning now should bump the top-level `nexus_generation` to 2, indicating @@ -8494,7 +8752,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 12f19448-6a10-4b4b-ae19-a8c94a566097 based on parent blueprint d69e1109-06be-4469-8876-4292dc7885d7 +generated blueprint 4713f6c4-e8ba-4a28-87a0-df75ebf7b8b6 based on parent blueprint 12f19448-6a10-4b4b-ae19-a8c94a566097 blueprint source: planner with report: planning report: * 3 remaining out-of-date zones @@ -8507,8 +8765,8 @@ planning report: > blueprint-diff latest -from: blueprint d69e1109-06be-4469-8876-4292dc7885d7 -to: blueprint 12f19448-6a10-4b4b-ae19-a8c94a566097 +from: blueprint 12f19448-6a10-4b4b-ae19-a8c94a566097 +to: blueprint 4713f6c4-e8ba-4a28-87a0-df75ebf7b8b6 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -8529,29 +8787,29 @@ internal DNS: * DNS zone: "control-plane.oxide.internal": - name: 0c71b3b2-6ceb-4e8f-b020-b08675e83038.host (records: 1) - AAAA fd00:1122:3344:101::4 ++ name: 1e2010ea-5755-425c-beca-2a78fec27ecf.host (records: 1) ++ AAAA fd00:1122:3344:102::e - name: 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6.host (records: 1) - AAAA fd00:1122:3344:103::4 - name: 466a9f29-62bf-4e63-924a-b9efdb86afec.host (records: 1) - AAAA fd00:1122:3344:102::4 -+ name: 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad.host (records: 1) -+ AAAA fd00:1122:3344:103::d -+ name: 9ae90740-7fdb-4073-ae43-048f2fca3d69.host (records: 1) -+ AAAA fd00:1122:3344:102::e * name: _nexus-lockstep._tcp (records: 3 -> 3) - SRV port 12232 0c71b3b2-6ceb-4e8f-b020-b08675e83038.host.control-plane.oxide.internal - SRV port 12232 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6.host.control-plane.oxide.internal - SRV port 12232 466a9f29-62bf-4e63-924a-b9efdb86afec.host.control-plane.oxide.internal -+ SRV port 12232 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad.host.control-plane.oxide.internal -+ SRV port 12232 9ae90740-7fdb-4073-ae43-048f2fca3d69.host.control-plane.oxide.internal -+ SRV port 12232 d516d61b-fd96-46ad-a743-78eec814ee90.host.control-plane.oxide.internal ++ SRV port 12232 1e2010ea-5755-425c-beca-2a78fec27ecf.host.control-plane.oxide.internal ++ SRV port 12232 e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea.host.control-plane.oxide.internal ++ SRV port 12232 fda5966d-4d7e-4769-b398-186af4ffd98f.host.control-plane.oxide.internal * name: _nexus._tcp (records: 3 -> 3) - SRV port 12221 0c71b3b2-6ceb-4e8f-b020-b08675e83038.host.control-plane.oxide.internal - SRV port 12221 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6.host.control-plane.oxide.internal - SRV port 12221 466a9f29-62bf-4e63-924a-b9efdb86afec.host.control-plane.oxide.internal -+ SRV port 12221 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad.host.control-plane.oxide.internal -+ SRV port 12221 9ae90740-7fdb-4073-ae43-048f2fca3d69.host.control-plane.oxide.internal -+ SRV port 12221 d516d61b-fd96-46ad-a743-78eec814ee90.host.control-plane.oxide.internal -+ name: d516d61b-fd96-46ad-a743-78eec814ee90.host (records: 1) ++ SRV port 12221 1e2010ea-5755-425c-beca-2a78fec27ecf.host.control-plane.oxide.internal ++ SRV port 12221 e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea.host.control-plane.oxide.internal ++ SRV port 12221 fda5966d-4d7e-4769-b398-186af4ffd98f.host.control-plane.oxide.internal ++ name: e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea.host (records: 1) ++ AAAA fd00:1122:3344:103::d ++ name: fda5966d-4d7e-4769-b398-186af4ffd98f.host (records: 1) + AAAA fd00:1122:3344:101::d unchanged names: 47 (records: 59) @@ -8582,7 +8840,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 4713f6c4-e8ba-4a28-87a0-df75ebf7b8b6 based on parent blueprint 12f19448-6a10-4b4b-ae19-a8c94a566097 +generated blueprint 6d830d26-547e-492b-adfe-c5c4ad9c3751 based on parent blueprint 4713f6c4-e8ba-4a28-87a0-df75ebf7b8b6 blueprint source: planner with report: planning report: * 3 remaining out-of-date zones @@ -8594,8 +8852,8 @@ planning report: > blueprint-diff latest -from: blueprint 12f19448-6a10-4b4b-ae19-a8c94a566097 -to: blueprint 4713f6c4-e8ba-4a28-87a0-df75ebf7b8b6 +from: blueprint 4713f6c4-e8ba-4a28-87a0-df75ebf7b8b6 +to: blueprint 6d830d26-547e-492b-adfe-c5c4ad9c3751 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -8626,20 +8884,20 @@ external DNS: > # If we expunge one of the OLD nexuses, we should observe > # that it is re-created. > blueprint-edit latest expunge-zones 0c71b3b2-6ceb-4e8f-b020-b08675e83038 -blueprint 6d830d26-547e-492b-adfe-c5c4ad9c3751 created from latest blueprint (4713f6c4-e8ba-4a28-87a0-df75ebf7b8b6): expunged zone 0c71b3b2-6ceb-4e8f-b020-b08675e83038 from sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 +blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf created from latest blueprint (6d830d26-547e-492b-adfe-c5c4ad9c3751): expunged zone 0c71b3b2-6ceb-4e8f-b020-b08675e83038 from sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 > blueprint-plan latest latest INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 10, num_already_artifact: 10, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (16) that is older than the generation in the parent blueprint (17) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (17) that is older than the generation in the parent blueprint (18) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf based on parent blueprint 6d830d26-547e-492b-adfe-c5c4ad9c3751 +generated blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b based on parent blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf blueprint source: planner with report: planning report: * discretionary zones placed: @@ -8649,18 +8907,19 @@ planning report: > blueprint-diff latest -from: blueprint 6d830d26-547e-492b-adfe-c5c4ad9c3751 -to: blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf +from: blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf +to: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 17 -> 18): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 18 -> 19): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -8688,8 +8947,8 @@ to: blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -8697,16 +8956,16 @@ to: blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_7e83b92d-6b02-47f3-a5ab-125a6bb44e29 7562b5c7-041c-44e8-9ae7-e453b63f5b03 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_637cd92b-79c8-459a-a1a7-98abde49bdbc 4fecda40-5cf6-4bc4-9bfc-5a9ddc85438a in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c expunged none none off - oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_d516d61b-fd96-46ad-a743-78eec814ee90 d2707e9c-d793-4a6c-8f77-2d3aa5a98390 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_fda5966d-4d7e-4769-b398-186af4ffd98f 87b35d5f-dce7-425a-84fc-0b6546a33f52 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -8716,7 +8975,7 @@ to: blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off -+ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_b9fc779e-e127-4a3b-8c6c-3294d6749a34 cf8e3f19-fd6d-4f81-9bb7-f4e2bb8d2c9d in service none none off ++ oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_44ea25df-71cb-47a8-b82c-c0b5e8f43931 4d49718e-3dbe-4ed5-ad11-3315e1a1921d in service none none off omicron zones: @@ -8726,17 +8985,17 @@ to: blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 1.0.0 in service fd00:1122:3344:101::8 - crucible_pantry 7e83b92d-6b02-47f3-a5ab-125a6bb44e29 artifact: version 1.0.0 in service fd00:1122:3344:101::c + crucible_pantry 637cd92b-79c8-459a-a1a7-98abde49bdbc artifact: version 1.0.0 in service fd00:1122:3344:101::c crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::6 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 expunged ⏳ fd00:1122:3344:101::4 - nexus d516d61b-fd96-46ad-a743-78eec814ee90 artifact: version 1.0.0 in service fd00:1122:3344:101::d -+ nexus b9fc779e-e127-4a3b-8c6c-3294d6749a34 artifact: version 0.0.1 in service fd00:1122:3344:101::e + nexus fda5966d-4d7e-4769-b398-186af4ffd98f artifact: version 1.0.0 in service fd00:1122:3344:101::d ++ nexus 44ea25df-71cb-47a8-b82c-c0b5e8f43931 artifact: version 0.0.1 in service fd00:1122:3344:101::e COCKROACHDB SETTINGS: @@ -8765,10 +9024,10 @@ external DNS: > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (8e0cc787-e068-4a45-97ed-21029cbe4ddf) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (e31c9054-8549-4c68-acf9-a01f68d1fc9b) > inventory-generate -generated inventory collection 5ffc4b23-0e6e-40e9-bacd-f83ca33f9792 from configured sleds +generated inventory collection 2c0e8abf-b92d-4682-be5f-f0fa1e9e5b2a from configured sleds > # Bump the set of active Nexus zones; this simulates Nexus handoff. @@ -8788,7 +9047,7 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b based on parent blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf +generated blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 based on parent blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -8798,18 +9057,19 @@ planning report: > blueprint-diff latest -from: blueprint 8e0cc787-e068-4a45-97ed-21029cbe4ddf -to: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b +from: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b +to: blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 17 -> 18): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 18 -> 19): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -8837,10 +9097,10 @@ to: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -8848,15 +9108,15 @@ to: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_156bfcde-e3fa-4abe-a93e-eb4a408b4e5e 7f2ba73c-1f57-4f92-8059-738059808061 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_c484718d-c38b-42d5-8171-743e0fd5e5b7 e9d249aa-4d3a-49c6-8d94-52fef693f8b9 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off - oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_9ae90740-7fdb-4073-ae43-048f2fca3d69 91f7f766-931f-43ef-99b4-2399f58c946b in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_1e2010ea-5755-425c-beca-2a78fec27ecf 71228bc8-80b4-4ca3-8075-403f970c25f7 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -8878,26 +9138,27 @@ to: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 1.0.0 in service fd00:1122:3344:102::a crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 1.0.0 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 1.0.0 in service fd00:1122:3344:102::9 - crucible_pantry 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e artifact: version 1.0.0 in service fd00:1122:3344:102::d crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c + crucible_pantry c484718d-c38b-42d5-8171-743e0fd5e5b7 artifact: version 1.0.0 in service fd00:1122:3344:102::d external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 - internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 expunged ✓ fd00:1122:3344:1::1 + internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b - nexus 9ae90740-7fdb-4073-ae43-048f2fca3d69 artifact: version 1.0.0 in service fd00:1122:3344:102::e + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b + nexus 1e2010ea-5755-425c-beca-2a78fec27ecf artifact: version 1.0.0 in service fd00:1122:3344:102::e * nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 - in service fd00:1122:3344:102::4 └─ + expunged ⏳ - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 18): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 19): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -8924,27 +9185,27 @@ to: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crucible 335e1dc3-b610-48dd-90bb-9ca5cce1a6d0 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone ad41be71-6c15-4428-b510-20ceacde4fa6 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_7e83b92d-6b02-47f3-a5ab-125a6bb44e29 7562b5c7-041c-44e8-9ae7-e453b63f5b03 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_637cd92b-79c8-459a-a1a7-98abde49bdbc 4fecda40-5cf6-4bc4-9bfc-5a9ddc85438a in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_b9fc779e-e127-4a3b-8c6c-3294d6749a34 cf8e3f19-fd6d-4f81-9bb7-f4e2bb8d2c9d in service none none off - oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_d516d61b-fd96-46ad-a743-78eec814ee90 d2707e9c-d793-4a6c-8f77-2d3aa5a98390 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_44ea25df-71cb-47a8-b82c-c0b5e8f43931 4d49718e-3dbe-4ed5-ad11-3315e1a1921d in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_fda5966d-4d7e-4769-b398-186af4ffd98f 87b35d5f-dce7-425a-84fc-0b6546a33f52 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -8963,16 +9224,16 @@ to: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 1.0.0 in service fd00:1122:3344:101::8 - crucible_pantry 7e83b92d-6b02-47f3-a5ab-125a6bb44e29 artifact: version 1.0.0 in service fd00:1122:3344:101::c + crucible_pantry 637cd92b-79c8-459a-a1a7-98abde49bdbc artifact: version 1.0.0 in service fd00:1122:3344:101::c crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::6 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a - nexus b9fc779e-e127-4a3b-8c6c-3294d6749a34 artifact: version 0.0.1 in service fd00:1122:3344:101::e - nexus d516d61b-fd96-46ad-a743-78eec814ee90 artifact: version 1.0.0 in service fd00:1122:3344:101::d + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a + nexus 44ea25df-71cb-47a8-b82c-c0b5e8f43931 artifact: version 0.0.1 in service fd00:1122:3344:101::e + nexus fda5966d-4d7e-4769-b398-186af4ffd98f artifact: version 1.0.0 in service fd00:1122:3344:101::d * nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:101::4 └─ + expunged ✓ @@ -9006,7 +9267,7 @@ external DNS: > # Two more planning iterations should expunge the remaining two old 0.0.1 > # version Nexus zones. > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (17) that is older than the generation in the parent blueprint (18) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (18) that is older than the generation in the parent blueprint (19) INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 @@ -9015,28 +9276,29 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 based on parent blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b +generated blueprint 05685571-d61f-4754-a2b2-604ea8c45dff based on parent blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: - * sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, zone b9fc779e-e127-4a3b-8c6c-3294d6749a34 (nexus) + * sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, zone 44ea25df-71cb-47a8-b82c-c0b5e8f43931 (nexus) * 1 remaining out-of-date zone > blueprint-diff latest -from: blueprint e31c9054-8549-4c68-acf9-a01f68d1fc9b -to: blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 +from: blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 +to: blueprint 05685571-d61f-4754-a2b2-604ea8c45dff MODIFIED SLEDS: - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 18 -> 19): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 19 -> 20): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -9064,8 +9326,8 @@ to: blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off @@ -9073,16 +9335,16 @@ to: blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_7e83b92d-6b02-47f3-a5ab-125a6bb44e29 7562b5c7-041c-44e8-9ae7-e453b63f5b03 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_637cd92b-79c8-459a-a1a7-98abde49bdbc 4fecda40-5cf6-4bc4-9bfc-5a9ddc85438a in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c expunged none none off - oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_d516d61b-fd96-46ad-a743-78eec814ee90 d2707e9c-d793-4a6c-8f77-2d3aa5a98390 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_fda5966d-4d7e-4769-b398-186af4ffd98f 87b35d5f-dce7-425a-84fc-0b6546a33f52 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -9092,7 +9354,7 @@ to: blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off -* oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_b9fc779e-e127-4a3b-8c6c-3294d6749a34 cf8e3f19-fd6d-4f81-9bb7-f4e2bb8d2c9d - in service none none off +* oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_44ea25df-71cb-47a8-b82c-c0b5e8f43931 4d49718e-3dbe-4ed5-ad11-3315e1a1921d - in service none none off └─ + expunged @@ -9103,17 +9365,17 @@ to: blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 1.0.0 in service fd00:1122:3344:101::8 - crucible_pantry 7e83b92d-6b02-47f3-a5ab-125a6bb44e29 artifact: version 1.0.0 in service fd00:1122:3344:101::c + crucible_pantry 637cd92b-79c8-459a-a1a7-98abde49bdbc artifact: version 1.0.0 in service fd00:1122:3344:101::c crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::6 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::4 - nexus d516d61b-fd96-46ad-a743-78eec814ee90 artifact: version 1.0.0 in service fd00:1122:3344:101::d -* nexus b9fc779e-e127-4a3b-8c6c-3294d6749a34 artifact: version 0.0.1 - in service fd00:1122:3344:101::e + nexus fda5966d-4d7e-4769-b398-186af4ffd98f artifact: version 1.0.0 in service fd00:1122:3344:101::d +* nexus 44ea25df-71cb-47a8-b82c-c0b5e8f43931 artifact: version 0.0.1 - in service fd00:1122:3344:101::e └─ + expunged ⏳ @@ -9143,15 +9405,15 @@ external DNS: > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (17) that is older than the generation in the parent blueprint (18) -INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (18) that is older than the generation in the parent blueprint (19) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (18) that is older than the generation in the parent blueprint (19) +INFO skipped noop image source check on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, reason: inventory stale: inventory reported generation (19) that is older than the generation in the parent blueprint (20) INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO skipping board for MGS-driven update (no update necessary), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 05685571-d61f-4754-a2b2-604ea8c45dff based on parent blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 +generated blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab based on parent blueprint 05685571-d61f-4754-a2b2-604ea8c45dff blueprint source: planner with report: planning report: * 1 out-of-date zone expunged: @@ -9161,18 +9423,19 @@ planning report: > blueprint-diff latest -from: blueprint 3e332949-6785-4aff-ad86-6134f5ce6152 -to: blueprint 05685571-d61f-4754-a2b2-604ea8c45dff +from: blueprint 05685571-d61f-4754-a2b2-604ea8c45dff +to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab MODIFIED SLEDS: - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 16 -> 17): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 17 -> 18): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -9199,9 +9462,9 @@ to: blueprint 05685571-d61f-4754-a2b2-604ea8c45dff oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crucible ba9311dd-89ac-47db-a5e8-d64e8a5fcf70 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 0f0c883a-7a84-4064-b085-0af035edfb3d in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 6f2feeac-a819-447d-9331-64f19d1507ed in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off @@ -9210,14 +9473,14 @@ to: blueprint 05685571-d61f-4754-a2b2-604ea8c45dff oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 bdadb3c9-f786-4fcd-a632-667a2e359065 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off - oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_nexus_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_9e2e0774-3cf6-4f75-9a12-92db05c77b81 125cb821-0867-4291-af2c-3756ac3cfc6d in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_nexus_e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea cde682bf-e713-498b-9020-f2270bf25391 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be expunged none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 b24bee8e-82a0-4b4d-a57c-77a1010f3e38 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 @@ -9239,14 +9502,14 @@ to: blueprint 05685571-d61f-4754-a2b2-604ea8c45dff crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 1.0.0 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a - external_dns 63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 artifact: version 1.0.0 in service fd00:1122:3344:103::c + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a + external_dns 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::c external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::5 - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 - internal_ntp 9e2e0774-3cf6-4f75-9a12-92db05c77b81 artifact: version 1.0.0 in service fd00:1122:3344:103::b internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::3 - nexus 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::d + internal_ntp f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 artifact: version 1.0.0 in service fd00:1122:3344:103::b + nexus e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea artifact: version 1.0.0 in service fd00:1122:3344:103::d * nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 - in service fd00:1122:3344:103::4 └─ + expunged ⏳ @@ -9279,16 +9542,16 @@ external DNS: > # Update sled configs and inventory to reflect the expunged Nexus zones. > sled-set 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron-config latest -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (05685571-d61f-4754-a2b2-604ea8c45dff) +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (008e1541-3d9d-4a50-a877-eed4a3cf86ab) > sled-set 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron-config latest -set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (05685571-d61f-4754-a2b2-604ea8c45dff) +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (008e1541-3d9d-4a50-a877-eed4a3cf86ab) > sled-set d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron-config latest -set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (05685571-d61f-4754-a2b2-604ea8c45dff) +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (008e1541-3d9d-4a50-a877-eed4a3cf86ab) > inventory-generate -generated inventory collection 2c0e8abf-b92d-4682-be5f-f0fa1e9e5b2a from configured sleds +generated inventory collection a838e97f-3fe3-475a-9dcf-760577308807 from configured sleds > # Planning now should note that the old zones are gone, but do nothing else: @@ -9305,25 +9568,26 @@ INFO skipping board for MGS-driven update (no update necessary), serial_number: INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab based on parent blueprint 05685571-d61f-4754-a2b2-604ea8c45dff +generated blueprint 310670a1-8ec3-4579-b1d9-3137808a18d7 based on parent blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab blueprint source: planner with report: empty planning report > blueprint-diff latest -from: blueprint 05685571-d61f-4754-a2b2-604ea8c45dff -to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab +from: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab +to: blueprint 310670a1-8ec3-4579-b1d9-3137808a18d7 MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 18): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 19): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -9351,10 +9615,10 @@ to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -9362,16 +9626,16 @@ to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_156bfcde-e3fa-4abe-a93e-eb4a408b4e5e 7f2ba73c-1f57-4f92-8059-738059808061 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_c484718d-c38b-42d5-8171-743e0fd5e5b7 e9d249aa-4d3a-49c6-8d94-52fef693f8b9 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_1e2010ea-5755-425c-beca-2a78fec27ecf 71228bc8-80b4-4ca3-8075-403f970c25f7 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c expunged none none off - oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_9ae90740-7fdb-4073-ae43-048f2fca3d69 91f7f766-931f-43ef-99b4-2399f58c946b in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -9391,26 +9655,27 @@ to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 1.0.0 in service fd00:1122:3344:102::a crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 1.0.0 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 1.0.0 in service fd00:1122:3344:102::9 - crucible_pantry 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e artifact: version 1.0.0 in service fd00:1122:3344:102::d crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c + crucible_pantry c484718d-c38b-42d5-8171-743e0fd5e5b7 artifact: version 1.0.0 in service fd00:1122:3344:102::d external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 - internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 expunged ✓ fd00:1122:3344:1::1 + internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b - nexus 9ae90740-7fdb-4073-ae43-048f2fca3d69 artifact: version 1.0.0 in service fd00:1122:3344:102::e + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b + nexus 1e2010ea-5755-425c-beca-2a78fec27ecf artifact: version 1.0.0 in service fd00:1122:3344:102::e * nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:102::4 └─ + expunged ✓ - sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 19): + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 20): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -9437,27 +9702,27 @@ to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crucible 335e1dc3-b610-48dd-90bb-9ca5cce1a6d0 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone ad41be71-6c15-4428-b510-20ceacde4fa6 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_7e83b92d-6b02-47f3-a5ab-125a6bb44e29 7562b5c7-041c-44e8-9ae7-e453b63f5b03 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_637cd92b-79c8-459a-a1a7-98abde49bdbc 4fecda40-5cf6-4bc4-9bfc-5a9ddc85438a in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_b9fc779e-e127-4a3b-8c6c-3294d6749a34 cf8e3f19-fd6d-4f81-9bb7-f4e2bb8d2c9d expunged none none off - oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_d516d61b-fd96-46ad-a743-78eec814ee90 d2707e9c-d793-4a6c-8f77-2d3aa5a98390 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_44ea25df-71cb-47a8-b82c-c0b5e8f43931 4d49718e-3dbe-4ed5-ad11-3315e1a1921d expunged none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_fda5966d-4d7e-4769-b398-186af4ffd98f 87b35d5f-dce7-425a-84fc-0b6546a33f52 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -9476,27 +9741,28 @@ to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 1.0.0 in service fd00:1122:3344:101::8 - crucible_pantry 7e83b92d-6b02-47f3-a5ab-125a6bb44e29 artifact: version 1.0.0 in service fd00:1122:3344:101::c + crucible_pantry 637cd92b-79c8-459a-a1a7-98abde49bdbc artifact: version 1.0.0 in service fd00:1122:3344:101::c crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::6 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::4 - nexus d516d61b-fd96-46ad-a743-78eec814ee90 artifact: version 1.0.0 in service fd00:1122:3344:101::d -* nexus b9fc779e-e127-4a3b-8c6c-3294d6749a34 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:101::e + nexus fda5966d-4d7e-4769-b398-186af4ffd98f artifact: version 1.0.0 in service fd00:1122:3344:101::d +* nexus 44ea25df-71cb-47a8-b82c-c0b5e8f43931 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:101::e └─ + expunged ✓ - sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 17): + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 18): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -9523,9 +9789,9 @@ to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crucible ba9311dd-89ac-47db-a5e8-d64e8a5fcf70 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 0f0c883a-7a84-4064-b085-0af035edfb3d in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 6f2feeac-a819-447d-9331-64f19d1507ed in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off @@ -9534,15 +9800,15 @@ to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 bdadb3c9-f786-4fcd-a632-667a2e359065 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 expunged none none off - oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_nexus_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_9e2e0774-3cf6-4f75-9a12-92db05c77b81 125cb821-0867-4291-af2c-3756ac3cfc6d in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_nexus_e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea cde682bf-e713-498b-9020-f2270bf25391 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be expunged none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 b24bee8e-82a0-4b4d-a57c-77a1010f3e38 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 @@ -9562,14 +9828,14 @@ to: blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 1.0.0 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a - external_dns 63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 artifact: version 1.0.0 in service fd00:1122:3344:103::c + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a + external_dns 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::c external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::5 - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 - internal_ntp 9e2e0774-3cf6-4f75-9a12-92db05c77b81 artifact: version 1.0.0 in service fd00:1122:3344:103::b internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::3 - nexus 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::d + internal_ntp f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 artifact: version 1.0.0 in service fd00:1122:3344:103::b + nexus e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea artifact: version 1.0.0 in service fd00:1122:3344:103::d * nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 - expunged ⏳ fd00:1122:3344:103::4 └─ + expunged ✓ @@ -9600,12 +9866,12 @@ external DNS: > blueprint-show latest -blueprint 008e1541-3d9d-4a50-a877-eed4a3cf86ab -parent: 05685571-d61f-4754-a2b2-604ea8c45dff +blueprint 310670a1-8ec3-4579-b1d9-3137808a18d7 +parent: 008e1541-3d9d-4a50-a877-eed4a3cf86ab sled: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c state::::::::::::: active - config generation: 18 + config generation: 19 subnet:::::::::::: fd00:1122:3344:102::/64 last allocated IP: fd00:1122:3344:102::e @@ -9621,7 +9887,8 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -9641,10 +9908,10 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 22a4acd6-9d38-43e2-a3bf-c85f5c2f3246 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 5c01fdbd-ff37-44b4-a17b-6d625e6fa48d in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns a2e6e726-7cf1-432d-9ca7-b7cde2f1f742 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns bccbe44f-bcf8-4868-b086-c8901f896cdc in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off @@ -9652,16 +9919,16 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_156bfcde-e3fa-4abe-a93e-eb4a408b4e5e 7f2ba73c-1f57-4f92-8059-738059808061 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_4ab0ec67-b27e-42b5-af22-9117ad11113b 75ffc8e6-b071-4f51-966d-4a6e6b01b432 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_c484718d-c38b-42d5-8171-743e0fd5e5b7 e9d249aa-4d3a-49c6-8d94-52fef693f8b9 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_698d1d82-0620-4978-93ac-0ba5d40f3da9 dfe5586b-e4a8-4b98-ad72-eabc34988177 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_c821c39d-2b2c-4c55-8874-ac12315ba1e4 a21812e1-1b80-4faa-9f2b-51189e0f6999 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f expunged none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_a729999a-6e45-46ca-b51e-0bbb5490387a eece684d-17ae-4aae-93b3-6928f26722c2 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_1e2010ea-5755-425c-beca-2a78fec27ecf 71228bc8-80b4-4ca3-8075-403f970c25f7 in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c expunged none none off - oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_nexus_9ae90740-7fdb-4073-ae43-048f2fca3d69 91f7f766-931f-43ef-99b4-2399f58c946b in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 expunged none none off - oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_ba87399e-e9b7-4ee4-8cb7-0032822630e9 484f151e-c290-48bd-99b2-c97ef85c9844 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_c74e3068-8b20-4a62-953b-dab703a442db 5b087884-f80b-4a4f-a672-6e088753933e in service none none off oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 @@ -9681,22 +9948,22 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 1.0.0 in service fd00:1122:3344:102::a crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 1.0.0 in service fd00:1122:3344:102::8 crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 1.0.0 in service fd00:1122:3344:102::9 - crucible_pantry 156bfcde-e3fa-4abe-a93e-eb4a408b4e5e artifact: version 1.0.0 in service fd00:1122:3344:102::d crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::7 - external_dns 4ab0ec67-b27e-42b5-af22-9117ad11113b artifact: version 1.0.0 in service fd00:1122:3344:102::c + crucible_pantry c484718d-c38b-42d5-8171-743e0fd5e5b7 artifact: version 1.0.0 in service fd00:1122:3344:102::d external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::6 - internal_dns 698d1d82-0620-4978-93ac-0ba5d40f3da9 artifact: version 1.0.0 in service fd00:1122:3344:1::1 + external_dns c821c39d-2b2c-4c55-8874-ac12315ba1e4 artifact: version 1.0.0 in service fd00:1122:3344:102::c internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 expunged ✓ fd00:1122:3344:1::1 + internal_dns a729999a-6e45-46ca-b51e-0bbb5490387a artifact: version 1.0.0 in service fd00:1122:3344:1::1 internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::3 - internal_ntp ba87399e-e9b7-4ee4-8cb7-0032822630e9 artifact: version 1.0.0 in service fd00:1122:3344:102::b + internal_ntp c74e3068-8b20-4a62-953b-dab703a442db artifact: version 1.0.0 in service fd00:1122:3344:102::b + nexus 1e2010ea-5755-425c-beca-2a78fec27ecf artifact: version 1.0.0 in service fd00:1122:3344:102::e nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 expunged ✓ fd00:1122:3344:102::4 - nexus 9ae90740-7fdb-4073-ae43-048f2fca3d69 artifact: version 1.0.0 in service fd00:1122:3344:102::e sled: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 state::::::::::::: active - config generation: 19 + config generation: 20 subnet:::::::::::: fd00:1122:3344:101::/64 last allocated IP: fd00:1122:3344:101::e @@ -9712,7 +9979,8 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -9731,27 +9999,27 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crucible 335e1dc3-b610-48dd-90bb-9ca5cce1a6d0 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 162a2b3f-5fce-4d91-8353-2e3479184b10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns d7f95803-df03-49e0-9ad2-37de73f01417 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 68e4149e-114c-460e-8f33-54dd5f9a274e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns fbd8f5eb-baa1-4e8f-9124-a48e5341b41f in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone ad41be71-6c15-4428-b510-20ceacde4fa6 in service none none off oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_7e83b92d-6b02-47f3-a5ab-125a6bb44e29 7562b5c7-041c-44e8-9ae7-e453b63f5b03 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_637cd92b-79c8-459a-a1a7-98abde49bdbc 4fecda40-5cf6-4bc4-9bfc-5a9ddc85438a in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_26bdd109-c842-43a9-95cb-15aba9b0832b 16a8c618-d062-4bde-8ca4-301b5f14ccf2 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_4b2a2238-6721-4e83-ad61-c4611712ca74 70815b76-b7a0-4286-8987-795d539912ba in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 expunged none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_abd27551-4027-4084-8b52-13a575b035b4 6119babc-cdc9-4b6b-afa4-9037eee05728 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_cc6fdaf4-0195-4cef-950d-7bacd7059787 5d6116c2-ade3-4246-8d02-5591d2622c10 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_b9fc779e-e127-4a3b-8c6c-3294d6749a34 cf8e3f19-fd6d-4f81-9bb7-f4e2bb8d2c9d expunged none none off - oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_d516d61b-fd96-46ad-a743-78eec814ee90 d2707e9c-d793-4a6c-8f77-2d3aa5a98390 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_44ea25df-71cb-47a8-b82c-c0b5e8f43931 4d49718e-3dbe-4ed5-ad11-3315e1a1921d expunged none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_nexus_fda5966d-4d7e-4769-b398-186af4ffd98f 87b35d5f-dce7-425a-84fc-0b6546a33f52 in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe expunged none none off - oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_e14f91b0-0c41-48a0-919d-e5078d2b89b0 312286f1-e378-464d-97cb-6fa06ba2dab7 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_a690b03d-c29b-471d-ba2b-6d8de82299b4 b72697f0-0058-4c7b-b647-dab4c8b1715d in service none none off oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 @@ -9770,23 +10038,23 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 1.0.0 in service fd00:1122:3344:101::9 crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 1.0.0 in service fd00:1122:3344:101::7 crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 1.0.0 in service fd00:1122:3344:101::8 - crucible_pantry 7e83b92d-6b02-47f3-a5ab-125a6bb44e29 artifact: version 1.0.0 in service fd00:1122:3344:101::c + crucible_pantry 637cd92b-79c8-459a-a1a7-98abde49bdbc artifact: version 1.0.0 in service fd00:1122:3344:101::c crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::6 - external_dns 26bdd109-c842-43a9-95cb-15aba9b0832b artifact: version 1.0.0 in service fd00:1122:3344:101::b + external_dns 4b2a2238-6721-4e83-ad61-c4611712ca74 artifact: version 1.0.0 in service fd00:1122:3344:101::b external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::5 internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:2::1 - internal_dns abd27551-4027-4084-8b52-13a575b035b4 artifact: version 1.0.0 in service fd00:1122:3344:2::1 + internal_dns cc6fdaf4-0195-4cef-950d-7bacd7059787 artifact: version 1.0.0 in service fd00:1122:3344:2::1 internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::3 - internal_ntp e14f91b0-0c41-48a0-919d-e5078d2b89b0 artifact: version 1.0.0 in service fd00:1122:3344:101::a + internal_ntp a690b03d-c29b-471d-ba2b-6d8de82299b4 artifact: version 1.0.0 in service fd00:1122:3344:101::a nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::4 - nexus b9fc779e-e127-4a3b-8c6c-3294d6749a34 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::e - nexus d516d61b-fd96-46ad-a743-78eec814ee90 artifact: version 1.0.0 in service fd00:1122:3344:101::d + nexus 44ea25df-71cb-47a8-b82c-c0b5e8f43931 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:101::e + nexus fda5966d-4d7e-4769-b398-186af4ffd98f artifact: version 1.0.0 in service fd00:1122:3344:101::d sled: d81c6a84-79b8-4958-ae41-ea46c9b19763 state::::::::::::: active - config generation: 17 + config generation: 18 subnet:::::::::::: fd00:1122:3344:103::/64 last allocated IP: fd00:1122:3344:103::d @@ -9802,7 +10070,8 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -9822,9 +10091,9 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 0f0c883a-7a84-4064-b085-0af035edfb3d in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 6f2feeac-a819-447d-9331-64f19d1507ed in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 4d674b3e-8209-4323-b7bf-e666028a9a04 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns c2782fb5-af50-401f-92eb-dc0937e2cae2 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone 1cb0a47a-59ac-4892-8e92-cf87b4290f96 in service none none off @@ -9832,15 +10101,15 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_9464c6ed-ffa6-4e88-ae4e-76551d82b2af e86213aa-79a3-4beb-a886-3441401a8519 in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 bdadb3c9-f786-4fcd-a632-667a2e359065 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_7fbd0103-d7f8-48a5-b95e-29bf812cac1f 49336223-f6df-4fe7-bd9f-95123c5622a9 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 expunged none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_d5fd048a-8786-42d3-938e-820eae95d7f4 c22b409e-662b-48a9-ac70-29f7487aa6b1 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_b5edcb10-9ba0-4fd7-9583-1617e5b4b452 1d6eef5e-daab-470c-9aa3-2c92894468ff in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f expunged none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 expunged none none off - oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_nexus_90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad ecb27354-877c-4a24-8982-1298a222ca1c in service none none off - oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_9e2e0774-3cf6-4f75-9a12-92db05c77b81 125cb821-0867-4291-af2c-3756ac3cfc6d in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_nexus_e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea cde682bf-e713-498b-9020-f2270bf25391 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be expunged none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 b24bee8e-82a0-4b4d-a57c-77a1010f3e38 in service none none off oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 @@ -9860,15 +10129,15 @@ parent: 05685571-d61f-4754-a2b2-604ea8c45dff crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 1.0.0 in service fd00:1122:3344:103::9 crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 1.0.0 in service fd00:1122:3344:103::7 crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::6 - crucible_pantry 9464c6ed-ffa6-4e88-ae4e-76551d82b2af artifact: version 1.0.0 in service fd00:1122:3344:103::a - external_dns 63ff80e3-ef8d-4186-8240-5ebd3f7d4d82 artifact: version 1.0.0 in service fd00:1122:3344:103::c + crucible_pantry 7fbd0103-d7f8-48a5-b95e-29bf812cac1f artifact: version 1.0.0 in service fd00:1122:3344:103::a + external_dns 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::c external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::5 - internal_dns d5fd048a-8786-42d3-938e-820eae95d7f4 artifact: version 1.0.0 in service fd00:1122:3344:3::1 + internal_dns b5edcb10-9ba0-4fd7-9583-1617e5b4b452 artifact: version 1.0.0 in service fd00:1122:3344:3::1 internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:3::1 - internal_ntp 9e2e0774-3cf6-4f75-9a12-92db05c77b81 artifact: version 1.0.0 in service fd00:1122:3344:103::b internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::3 + internal_ntp f4d7ec7b-5e5c-4c90-97f2-2ac9d4588a01 artifact: version 1.0.0 in service fd00:1122:3344:103::b nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 expunged ✓ fd00:1122:3344:103::4 - nexus 90dbd6f3-9bcb-4a62-ad85-d61f5b3a36ad artifact: version 1.0.0 in service fd00:1122:3344:103::d + nexus e9a0e47d-3dad-4dd5-b4b5-19c1ce38b7ea artifact: version 1.0.0 in service fd00:1122:3344:103::d COCKROACHDB SETTINGS: diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-unknown-measurements-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-unknown-measurements-stdout index eb1754e7cc1..a7867dddc8a 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-unknown-measurements-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-unknown-measurements-stdout @@ -16,47 +16,12 @@ d81c6a84-79b8-4958-ae41-ea46c9b19763 serial2 1 fd00:1122:3344:103::/64 > # Create a TUF repository from a fake manifest. (The output TUF repo is > # written to a temporary directory that this invocation of `reconfigurator-cli` > # is running out of as its working directory.) -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > # Load the target release from the first TUF repository. > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -123,7 +88,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -189,7 +155,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -251,7 +218,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -408,7 +376,7 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 6, num_already_artifact: 6, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 generated blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 based on parent blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 blueprint source: planner with report: @@ -441,7 +409,8 @@ parent: 58d5e830-0884-47d8-a7cd-b2b3751adeb4 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -504,7 +473,8 @@ parent: 58d5e830-0884-47d8-a7cd-b2b3751adeb4 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -564,7 +534,8 @@ parent: 58d5e830-0884-47d8-a7cd-b2b3751adeb4 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 physical disks: @@ -628,7 +599,7 @@ parent: 58d5e830-0884-47d8-a7cd-b2b3751adeb4 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - sled 0 913-0000019 serial0 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) + sled 0 913-0000019 serial0 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) blueprint source: planner with report: diff --git a/dev-tools/reconfigurator-cli/tests/output/cmds-unsafe-zone-mgs-stdout b/dev-tools/reconfigurator-cli/tests/output/cmds-unsafe-zone-mgs-stdout index a25d9002dc9..0967eb4786c 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmds-unsafe-zone-mgs-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmds-unsafe-zone-mgs-stdout @@ -11,47 +11,12 @@ loaded example system with: > # is running out of as its working directory.) > # > # This is used to simulate the initial version of the system. -> tuf-assemble ../../update-common/manifests/fake-0.0.1.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-0.0.1.zip`, component: OmicronRepoAssembler +> generate-fake-repo 0.0.1 created repo-0.0.1.zip for system version 0.0.1 > # Load the target release from the assembled TUF repository. > set target-release repo-0.0.1.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 0.0.1, hash: 716e29860eade5de4cf28d2c81f1c3fcaf3a3c07af52961c0e231e3dd0ba4db8, length: 734 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 0.0.1, hash: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985, length: 787 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 0.0.1, hash: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985, length: 787 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 0.0.1, hash: 5bfb2fef5a25100e7813636699bd365bbcd623980ae00e876ad705ef591feded, length: 794 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 0.0.1, hash: 143aa9751a0bb16ab3d2c8b56d2874eeab14e1ac3413aa0edf1dbf56900f3fcc, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 0.0.1, hash: 0c43c53453b1113d8ec83d0e3cb8139094b6f4594c304645a33248863141bac6, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 0.0.1, hash: 7cd830e1682d50620de0f5c24b8cca15937eb10d2a415ade6ad28c0d314408eb, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 0.0.1, hash: 040e9ffbd212b790da4fc3a6376c9ff102c852c4ac1f1a1bc84c7d8edc64029f, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 0.0.1, hash: bfc7d2bf0d2e5dde41b8ea85beca7f01262688297f438727fdeb8543c1ceb25e, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 0.0.1, hash: a05417d8d03400b9d556b63563c9958da983a0cdcc3259669966ad45e395c277, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 0.0.1, hash: 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5, length: 1687 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 0.0.1, hash: f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0, length: 1691 -INFO added artifact, name: clickhouse_server, kind: zone, version: 0.0.1, hash: bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b, length: 1691 -INFO added artifact, name: cockroachdb, kind: zone, version: 0.0.1, hash: a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1, length: 1690 -INFO added artifact, name: crucible-zone, kind: zone, version: 0.0.1, hash: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4, length: 1691 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 0.0.1, hash: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d, length: 1696 -INFO added artifact, name: external-dns, kind: zone, version: 0.0.1, hash: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7, length: 1690 -INFO added artifact, name: internal-dns, kind: zone, version: 0.0.1, hash: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173, length: 1690 -INFO added artifact, name: ntp, kind: zone, version: 0.0.1, hash: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531, length: 1682 -INFO added artifact, name: nexus, kind: zone, version: 0.0.1, hash: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc, length: 1683 -INFO added artifact, name: oximeter, kind: zone, version: 0.0.1, hash: 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0, length: 1683 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 0.0.1, hash: 3a63db2465b433f7b2f2816f833dcce90e0aa7e7472b1735c63faf93a48bb2ab, length: 726 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 0.0.1, hash: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406, length: 770 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 0.0.1, hash: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406, length: 770 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 0.0.1, hash: a58c577f5c33e0a8176f078183a0c94b84ab1e1e7118c441f6b82551fba58f46, length: 794 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 0.0.1, hash: 9a559c6734981ec74fee73a56826f8a91beec39a59dea497f67d55c91ab74328, length: 736 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 0.0.1, hash: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c, length: 776 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 0.0.1, hash: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c, length: 776 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 0.0.1, hash: 0686443d50db2247077dc70b6543cea9a90a9792de00e06c06cff4c91fa5a4a8, length: 792 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 0.0.1, hash: 6f0eebe1001e3d00b02b2dcac5b3d883cb88222fde16a028f5431e87a5feee72, length: 526 set target release based on repo-0.0.1.zip @@ -62,38 +27,34 @@ configured silo names: example-silo internal DNS generations: 1 external DNS generations: 1 target number of Nexus instances: default -target release (generation 2): 0.0.1 (system-update-v0.0.1.zip) - artifact: 716e29860eade5de4cf28d2c81f1c3fcaf3a3c07af52961c0e231e3dd0ba4db8 gimlet_sp (fake-gimlet-sp version 0.0.1) - artifact: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985 gimlet_rot_image_a (fake-rot version 0.0.1) - artifact: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985 gimlet_rot_image_b (fake-rot version 0.0.1) - artifact: 5bfb2fef5a25100e7813636699bd365bbcd623980ae00e876ad705ef591feded gimlet_rot_bootloader (fake-rot-bootloader version 0.0.1) - artifact: 143aa9751a0bb16ab3d2c8b56d2874eeab14e1ac3413aa0edf1dbf56900f3fcc gimlet_host_phase_1 (fake-host version 0.0.1) - artifact: 0c43c53453b1113d8ec83d0e3cb8139094b6f4594c304645a33248863141bac6 cosmo_host_phase_1 (fake-host version 0.0.1) - artifact: 7cd830e1682d50620de0f5c24b8cca15937eb10d2a415ade6ad28c0d314408eb host_phase_2 (fake-host version 0.0.1) - artifact: 040e9ffbd212b790da4fc3a6376c9ff102c852c4ac1f1a1bc84c7d8edc64029f gimlet_trampoline_phase_1 (fake-trampoline version 0.0.1) - artifact: bfc7d2bf0d2e5dde41b8ea85beca7f01262688297f438727fdeb8543c1ceb25e cosmo_trampoline_phase_1 (fake-trampoline version 0.0.1) - artifact: a05417d8d03400b9d556b63563c9958da983a0cdcc3259669966ad45e395c277 trampoline_phase_2 (fake-trampoline version 0.0.1) - artifact: 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5 zone (clickhouse version 0.0.1) - artifact: f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0 zone (clickhouse_keeper version 0.0.1) - artifact: bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b zone (clickhouse_server version 0.0.1) - artifact: a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1 zone (cockroachdb version 0.0.1) - artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 zone (crucible-zone version 0.0.1) - artifact: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d zone (crucible-pantry-zone version 0.0.1) - artifact: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7 zone (external-dns version 0.0.1) - artifact: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173 zone (internal-dns version 0.0.1) - artifact: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531 zone (ntp version 0.0.1) - artifact: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc zone (nexus version 0.0.1) - artifact: 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0 zone (oximeter version 0.0.1) - artifact: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f measurement_corpus (fake-corpus version 1.0.0) - artifact: 3a63db2465b433f7b2f2816f833dcce90e0aa7e7472b1735c63faf93a48bb2ab psc_sp (fake-psc-sp version 0.0.1) - artifact: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406 psc_rot_image_a (fake-psc-rot version 0.0.1) - artifact: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406 psc_rot_image_b (fake-psc-rot version 0.0.1) - artifact: a58c577f5c33e0a8176f078183a0c94b84ab1e1e7118c441f6b82551fba58f46 psc_rot_bootloader (fake-psc-rot-bootloader version 0.0.1) - artifact: 9a559c6734981ec74fee73a56826f8a91beec39a59dea497f67d55c91ab74328 switch_sp (fake-switch-sp version 0.0.1) - artifact: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c switch_rot_image_a (fake-switch-rot version 0.0.1) - artifact: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c switch_rot_image_b (fake-switch-rot version 0.0.1) - artifact: 0686443d50db2247077dc70b6543cea9a90a9792de00e06c06cff4c91fa5a4a8 switch_rot_bootloader (fake-switch-rot-bootloader version 0.0.1) - artifact: 6f0eebe1001e3d00b02b2dcac5b3d883cb88222fde16a028f5431e87a5feee72 installinator_document (installinator_document version 0.0.1) +target release (generation 2): 0.0.1 (repo-0.0.1.zip) + artifact: 2f8b4d6e35886a8e17fbbb30c6c6ee13c4f7becd9387d6f8529529317adbc824 kind=installinator_document version 0.0.1 + artifact: b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 kind=measurement_corpus version 0.0.1 + artifact: dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 kind=measurement_corpus version 0.0.1 + artifact: 812d8e99d0fd6138c76be04c43e6b696eb08d5b93e7e8c2dfefc959e89bc5aff kind=os_phase1,os_board=cosmo,os_variant=host version 0.0.1 + artifact: d6dcae50bc293f6d9a4bf03d2cfc698d17bce9327c63670348ec3241ab191fdd kind=os_phase1,os_board=cosmo,os_variant=recovery version 0.0.1 + artifact: 7a3232a3a559db2e9029de9960e392f51811a7415fde2d7923c1b27e6e1e155a kind=os_phase1,os_board=gimlet,os_variant=host version 0.0.1 + artifact: b422f23968f2b7ce5a84613d942cf203465f353ef92551c224497559f146c66b kind=os_phase1,os_board=gimlet,os_variant=recovery version 0.0.1 + artifact: 4a07d9994c760188e5c9faf538be61a2d7aa07017159eea66b338d86151b3fd5 kind=os_phase2,os_variant=host version 0.0.1 + artifact: 3edf9e84f482ca0fa029e3169796aa8877527c4cbcc33e1a6bff2d5785ed8d29 kind=os_phase2,os_variant=recovery version 0.0.1 + artifact: 431d7bc16f5e7b2e7cac88463d97e890fd8c5327908924823c11f37c08d60214 kind=rot,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000,rot_slot=a version 0.0.1 + artifact: 431d7bc16f5e7b2e7cac88463d97e890fd8c5327908924823c11f37c08d60214 kind=rot,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000,rot_slot=b version 0.0.1 + artifact: 5681be3ed8701d2adf1e77dae1ea2ae226e0b84fc88366df238b3788c84fe34c kind=rot_bootloader,rot_board=SimRot,rot_rkth=0000000000000000000000000000000000000000000000000000000000000000 version 0.0.1 + artifact: 2405f91cfbcc5de9f1082a1b1a088e9f5ded1c015f08189f3e35181fc4f42fe0 kind=sp,sp_board=SimCosmoSp version 0.0.1 + artifact: a002855676d7ca5fc448d11f1c99fa916ff0763d9d9b0b306c34b84b00529444 kind=sp,sp_board=SimGimletSp version 0.0.1 + artifact: 18f2dac7de150d24837bf47cc5021da40a03a50be5e851617e74f3d3e209e443 kind=sp,sp_board=SimPscSp version 0.0.1 + artifact: 79997f16c711ddb964b26b4751dedcb79a95e337bc79561b1f67a065e45d30c0 kind=sp,sp_board=SimSidecarSp version 0.0.1 + artifact: bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df kind=zone,zone_name=clickhouse version 0.0.1 + artifact: 4d7d1b049e3ad61351824c040f3c50708e3d3c89b7892fd25b9e12e151d56dea kind=zone,zone_name=clickhouse_keeper version 0.0.1 + artifact: 3140c5e79f3bed0b0034e6dfa4e8423fd2fa9d567291c9b1b703aaf769b10756 kind=zone,zone_name=clickhouse_server version 0.0.1 + artifact: 541bb4d38385c684f2629b970e23442fc567761917ab7b6e35410c0e2070ea54 kind=zone,zone_name=cockroachdb version 0.0.1 + artifact: 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8 kind=zone,zone_name=crucible-pantry-zone version 0.0.1 + artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d kind=zone,zone_name=crucible-zone version 0.0.1 + artifact: affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae kind=zone,zone_name=external-dns version 0.0.1 + artifact: c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d kind=zone,zone_name=internal-dns version 0.0.1 + artifact: c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110 kind=zone,zone_name=nexus version 0.0.1 + artifact: dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e kind=zone,zone_name=ntp version 0.0.1 + artifact: d704d9f63e858b53b480cee4eb16985a9fcb65018ae05819fd4fd5532122382e kind=zone,zone_name=oximeter version 0.0.1 active nexus zone generation: 1 active nexus zones: inferred from generation not-yet nexus zones: inferred from generation @@ -161,7 +122,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 ++ dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 host phase 2 contents: @@ -245,7 +207,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 ++ dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 host phase 2 contents: @@ -325,7 +288,8 @@ to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 hash version ------------------------------------------------------------------------------------ - unknown (unknown version) -+ 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 ++ b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 ++ dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 host phase 2 contents: @@ -450,7 +414,7 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO configuring MGS-driven update, artifact_version: 0.0.1, artifact_hash: 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 0.0.1, artifact_hash: 431d7bc16f5e7b2e7cac88463d97e890fd8c5327908924823c11f37c08d60214, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 generated blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 based on parent blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 blueprint source: planner with report: @@ -485,7 +449,7 @@ to: blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -+ sled 0 913-0000019 serial0 244d553f832cf74043bbcc8a747c8d05384a0f89f7809dcab28c3f707b11f985 0.0.1 Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) ++ sled 0 913-0000019 serial0 431d7bc16f5e7b2e7cac88463d97e890fd8c5327908924823c11f37c08d60214 0.0.1 Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) internal DNS: @@ -537,10 +501,10 @@ Sled serial0 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -562,10 +526,10 @@ Sled serial1 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -587,10 +551,10 @@ Sled serial2 A 0101010101010101010101010101010101010101010101010101010101010101 B 0202020202020202020202020202020202020202020202020202020202020202 cabooses: - SLOT BOARD NAME VERSION GIT_COMMIT SIGN - SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a - RotSlotA SimRot SimRot 0.0.2 unknown sign-gimlet - Stage0 SimRot SimRot 0.0.1 unknown sign-gimlet + SLOT BOARD NAME VERSION GIT_COMMIT SIGN + SpSlot0 SimGimletSp SimGimletSp 0.0.1 unknown n/a + RotSlotA SimRot SimRot 0.0.2 unknown 0000000000000000000000000000000000000000000000000000000000000000 + Stage0 SimRot SimRot 0.0.1 unknown 0000000000000000000000000000000000000000000000000000000000000000 RoT pages: SLOT DATA_BASE64 RoT: active slot: slot A @@ -741,42 +705,44 @@ LEDGERED SLED CONFIG feecfda1-9966-43d4-aaef-440b77f0b26d oxp_727522a7-934f-494d-b5b3-160968e74463/crucible off none none ZONES: 9 ID KIND IMAGE_SOURCE - 353b3b65-20f7-48c3-88f7-495bd5d31545 clickhouse artifact: 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5 - 466a9f29-62bf-4e63-924a-b9efdb86afec nexus artifact: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc - 62620961-fc4a-481e-968b-f5acbac0dc63 internal_ntp artifact: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531 - 6c3ae381-04f7-41ea-b0ac-74db387dbc3a external_dns artifact: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7 - 86a22a56-0168-453d-9df1-cb2a7c64b5d3 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - 99e2f30b-3174-40bf-a78a-90da8abba8ca internal_dns artifact: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173 - ad6a3a03-8d0f-4504-99a4-cbf73d69b973 crucible_pantry artifact: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d - bd354eef-d8a6-4165-9124-283fb5e46d77 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - e2fdefe7-95b2-4fd2-ae37-56929a06d58c crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - MEASUREMENTS: 1 + 353b3b65-20f7-48c3-88f7-495bd5d31545 clickhouse artifact: bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df + 466a9f29-62bf-4e63-924a-b9efdb86afec nexus artifact: c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110 + 62620961-fc4a-481e-968b-f5acbac0dc63 internal_ntp artifact: dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e + 6c3ae381-04f7-41ea-b0ac-74db387dbc3a external_dns artifact: affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae + 86a22a56-0168-453d-9df1-cb2a7c64b5d3 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + 99e2f30b-3174-40bf-a78a-90da8abba8ca internal_dns artifact: c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d + ad6a3a03-8d0f-4504-99a4-cbf73d69b973 crucible_pantry artifact: 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8 + bd354eef-d8a6-4165-9124-283fb5e46d77 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + e2fdefe7-95b2-4fd2-ae37-56929a06d58c crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 + artifact dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1687 bytes with hash 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5): ok - - clickhouse_keeper.tar.gz (expected 1691 bytes with hash f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0): ok - - clickhouse_server.tar.gz (expected 1691 bytes with hash bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b): ok - - cockroachdb.tar.gz (expected 1690 bytes with hash a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1): ok - - crucible.tar.gz (expected 1691 bytes with hash f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4): ok - - crucible_pantry.tar.gz (expected 1696 bytes with hash 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d): ok - - external_dns.tar.gz (expected 1690 bytes with hash 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7): ok - - internal_dns.tar.gz (expected 1690 bytes with hash c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173): ok - - nexus.tar.gz (expected 1683 bytes with hash 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc): ok - - ntp.tar.gz (expected 1682 bytes with hash b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531): ok - - oximeter.tar.gz (expected 1683 bytes with hash 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0): ok + - clickhouse.tar.gz (expected 143 bytes with hash bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 4d7d1b049e3ad61351824c040f3c50708e3d3c89b7892fd25b9e12e151d56dea): ok + - clickhouse_server.tar.gz (expected 146 bytes with hash 3140c5e79f3bed0b0034e6dfa4e8423fd2fa9d567291c9b1b703aaf769b10756): ok + - cockroachdb.tar.gz (expected 144 bytes with hash 541bb4d38385c684f2629b970e23442fc567761917ab7b6e35410c0e2070ea54): ok + - crucible.tar.gz (expected 144 bytes with hash 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8): ok + - external_dns.tar.gz (expected 142 bytes with hash affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae): ok + - internal_dns.tar.gz (expected 142 bytes with hash c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d): ok + - nexus.tar.gz (expected 136 bytes with hash c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110): ok + - ntp.tar.gz (expected 135 bytes with hash dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e): ok + - oximeter.tar.gz (expected 138 bytes with hash d704d9f63e858b53b480cee4eb16985a9fcb65018ae05819fd4fd5532122382e): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 (expected 865 bytes with hash b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248): ok + - dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 (expected 270 bytes with hash dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -937,41 +903,43 @@ LEDGERED SLED CONFIG ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d off none none ZONES: 8 ID KIND IMAGE_SOURCE - 058fd5f9-60a8-4e11-9302-15172782e17d crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - 0c71b3b2-6ceb-4e8f-b020-b08675e83038 nexus artifact: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc - 427ec88f-f467-42fa-9bbb-66a91a36103c internal_dns artifact: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173 - 5199c033-4cf9-4ab6-8ae7-566bd7606363 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - 6444f8a5-6465-4f0b-a549-1993c113569c internal_ntp artifact: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531 - 803bfb63-c246-41db-b0da-d3b87ddfc63d external_dns artifact: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7 - ba4994a8-23f9-4b1a-a84f-a08d74591389 crucible_pantry artifact: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d - dfac80b4-a887-430a-ae87-a4e065dba787 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - MEASUREMENTS: 1 + 058fd5f9-60a8-4e11-9302-15172782e17d crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + 0c71b3b2-6ceb-4e8f-b020-b08675e83038 nexus artifact: c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110 + 427ec88f-f467-42fa-9bbb-66a91a36103c internal_dns artifact: c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d + 5199c033-4cf9-4ab6-8ae7-566bd7606363 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + 6444f8a5-6465-4f0b-a549-1993c113569c internal_ntp artifact: dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e + 803bfb63-c246-41db-b0da-d3b87ddfc63d external_dns artifact: affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae + ba4994a8-23f9-4b1a-a84f-a08d74591389 crucible_pantry artifact: 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8 + dfac80b4-a887-430a-ae87-a4e065dba787 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 + artifact dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1687 bytes with hash 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5): ok - - clickhouse_keeper.tar.gz (expected 1691 bytes with hash f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0): ok - - clickhouse_server.tar.gz (expected 1691 bytes with hash bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b): ok - - cockroachdb.tar.gz (expected 1690 bytes with hash a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1): ok - - crucible.tar.gz (expected 1691 bytes with hash f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4): ok - - crucible_pantry.tar.gz (expected 1696 bytes with hash 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d): ok - - external_dns.tar.gz (expected 1690 bytes with hash 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7): ok - - internal_dns.tar.gz (expected 1690 bytes with hash c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173): ok - - nexus.tar.gz (expected 1683 bytes with hash 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc): ok - - ntp.tar.gz (expected 1682 bytes with hash b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531): ok - - oximeter.tar.gz (expected 1683 bytes with hash 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0): ok + - clickhouse.tar.gz (expected 143 bytes with hash bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 4d7d1b049e3ad61351824c040f3c50708e3d3c89b7892fd25b9e12e151d56dea): ok + - clickhouse_server.tar.gz (expected 146 bytes with hash 3140c5e79f3bed0b0034e6dfa4e8423fd2fa9d567291c9b1b703aaf769b10756): ok + - cockroachdb.tar.gz (expected 144 bytes with hash 541bb4d38385c684f2629b970e23442fc567761917ab7b6e35410c0e2070ea54): ok + - crucible.tar.gz (expected 144 bytes with hash 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8): ok + - external_dns.tar.gz (expected 142 bytes with hash affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae): ok + - internal_dns.tar.gz (expected 142 bytes with hash c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d): ok + - nexus.tar.gz (expected 136 bytes with hash c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110): ok + - ntp.tar.gz (expected 135 bytes with hash dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e): ok + - oximeter.tar.gz (expected 138 bytes with hash d704d9f63e858b53b480cee4eb16985a9fcb65018ae05819fd4fd5532122382e): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 (expected 865 bytes with hash b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248): ok + - dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 (expected 270 bytes with hash dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -1132,41 +1100,43 @@ LEDGERED SLED CONFIG e009d8b8-4695-4322-b53f-f03f2744aef7 oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted off none none ZONES: 8 ID KIND IMAGE_SOURCE - 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 nexus artifact: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc - 694bd14f-cb24-4be4-bb19-876e79cda2c8 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - 75b220ba-a0f4-4872-8202-dc7c87f062d0 crucible_pantry artifact: 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d - 7c252b64-c5af-4ec1-989e-9a03f3b0f111 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - ea5b4030-b52f-44b2-8d70-45f15f987d01 internal_dns artifact: c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173 - f10a4fb9-759f-4a65-b25e-5794ad2d07d8 internal_ntp artifact: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531 - f55647d4-5500-4ad3-893a-df45bd50d622 crucible artifact: f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4 - f6ec9c67-946a-4da3-98d5-581f72ce8bf0 external_dns artifact: 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7 - MEASUREMENTS: 1 + 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 nexus artifact: c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110 + 694bd14f-cb24-4be4-bb19-876e79cda2c8 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + 75b220ba-a0f4-4872-8202-dc7c87f062d0 crucible_pantry artifact: 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8 + 7c252b64-c5af-4ec1-989e-9a03f3b0f111 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + ea5b4030-b52f-44b2-8d70-45f15f987d01 internal_dns artifact: c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d + f10a4fb9-759f-4a65-b25e-5794ad2d07d8 internal_ntp artifact: dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e + f55647d4-5500-4ad3-893a-df45bd50d622 crucible artifact: 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d + f6ec9c67-946a-4da3-98d5-581f72ce8bf0 external_dns artifact: affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae + MEASUREMENTS: 2 HASH - artifact 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f + artifact b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 + artifact dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 zone image resolver status: zone manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - clickhouse.tar.gz (expected 1687 bytes with hash 0cc283162daad1dd9d63cd20a484f4e0157b6895c179defa8a99fd220323a6c5): ok - - clickhouse_keeper.tar.gz (expected 1691 bytes with hash f27ef7d2ce10696c4583ea194cdf61c3907f2143f666af964b8ed3bee1346be0): ok - - clickhouse_server.tar.gz (expected 1691 bytes with hash bc35f79e04956e284c230f324fe7475ad5cb2ede08e6b4a77addcd9e6f50d33b): ok - - cockroachdb.tar.gz (expected 1690 bytes with hash a1dc64b896b4bb5d0d295f63b5edeb82b3f945e1f830b06c32f96f9de30b93d1): ok - - crucible.tar.gz (expected 1691 bytes with hash f3694b20fa1de79fb1f7c3a9f89f9f9eb5ebaaefc3caba7e1991e7e2b3191ed4): ok - - crucible_pantry.tar.gz (expected 1696 bytes with hash 6055871bfa626d582162302bf027102d90a03a42866867df2582f8eba231fc6d): ok - - external_dns.tar.gz (expected 1690 bytes with hash 584217eae459e4c2bd00621cf1910d06edb8258948a4832ab0329cf42067c0c7): ok - - internal_dns.tar.gz (expected 1690 bytes with hash c29c262c79d8f3fa4e0bbec221a286ca6e02b64719b6d35f32cc5e92e36b9173): ok - - nexus.tar.gz (expected 1683 bytes with hash 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc): ok - - ntp.tar.gz (expected 1682 bytes with hash b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531): ok - - oximeter.tar.gz (expected 1683 bytes with hash 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0): ok + - clickhouse.tar.gz (expected 143 bytes with hash bf1644cb268752c8369377f9300c398bcb3dd822c5234b465461166944a745df): ok + - clickhouse_keeper.tar.gz (expected 147 bytes with hash 4d7d1b049e3ad61351824c040f3c50708e3d3c89b7892fd25b9e12e151d56dea): ok + - clickhouse_server.tar.gz (expected 146 bytes with hash 3140c5e79f3bed0b0034e6dfa4e8423fd2fa9d567291c9b1b703aaf769b10756): ok + - cockroachdb.tar.gz (expected 144 bytes with hash 541bb4d38385c684f2629b970e23442fc567761917ab7b6e35410c0e2070ea54): ok + - crucible.tar.gz (expected 144 bytes with hash 3303ca32f7f4ee36461654b8928ee50341208e6d5269357859034c3ebd938c2d): ok + - crucible_pantry.tar.gz (expected 150 bytes with hash 3446b183b3e1343803ed392fcb4de00e8bbf4d4c2569b24bf40240f0bca92db8): ok + - external_dns.tar.gz (expected 142 bytes with hash affc53c414c4eddc35fe049e9368774c5ae7a35d5c531107b4f0370b7e4daaae): ok + - internal_dns.tar.gz (expected 142 bytes with hash c114fd7044f42f82e51d97a56cb9d492941292e1922d01160ed9d53229b8111d): ok + - nexus.tar.gz (expected 136 bytes with hash c562f60324e6c312445d89aae05bdefc3b70ab5145277c0fafd27e6bd95a5110): ok + - ntp.tar.gz (expected 135 bytes with hash dcb132105ebbe9bb80c711f12a06acc3377426d317d00b725ef045a33e8a6e8e): ok + - oximeter.tar.gz (expected 138 bytes with hash d704d9f63e858b53b480cee4eb16985a9fcb65018ae05819fd4fd5532122382e): ok no non-boot disks measurement manifest: path on boot disk: /fake/path/install/zones.json boot disk inventory: manifest generated by sled-agent artifacts in install dataset: - - fake-corpus (expected 1048576 bytes with hash 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f): ok + - b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 (expected 865 bytes with hash b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248): ok + - dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 (expected 270 bytes with hash dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7): ok no non-boot disks mupdate override: path on boot disk: /fake/path/install/mupdate_override.json @@ -1218,47 +1188,12 @@ INTERNAL DNS STATUS > # Setup is now done -- create another TUF repository which will act as the > # target release being updated to. -> tuf-assemble ../../update-common/manifests/fake.toml -INFO assembling repository in -INFO artifacts assembled and archived to `repo-1.0.0.zip`, component: OmicronRepoAssembler +> generate-fake-repo 1.0.0 created repo-1.0.0.zip for system version 1.0.0 > # Load the target release from the assembled TUF repository. > set target-release repo-1.0.0.zip -INFO extracting uploaded archive to -INFO created directory to store extracted artifacts, path: -INFO added artifact, name: fake-gimlet-sp, kind: gimlet_sp, version: 1.0.0, hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, length: 732 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_a, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot, kind: gimlet_rot_image_b, version: 1.0.0, hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, length: 783 -INFO added artifact, name: fake-rot-bootloader, kind: gimlet_rot_bootloader, version: 1.0.0, hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, length: 797 -INFO added artifact, name: fake-host, kind: gimlet_host_phase_1, version: 1.0.0, hash: b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b, length: 524288 -INFO added artifact, name: fake-host, kind: cosmo_host_phase_1, version: 1.0.0, hash: 9525f567106549a3fc32df870a74803d77e51dcc44190b218e227a2c5d444f58, length: 524288 -INFO added artifact, name: fake-host, kind: host_phase_2, version: 1.0.0, hash: d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47, length: 1048576 -INFO added artifact, name: fake-trampoline, kind: gimlet_trampoline_phase_1, version: 1.0.0, hash: bcb27520ee5a56e19f6df9662c66d69ac681fbd873a97547be5f6a5ae3d250c4, length: 524288 -INFO added artifact, name: fake-trampoline, kind: cosmo_trampoline_phase_1, version: 1.0.0, hash: e235b8afb58ee69d966853bd5efe7c7e904da84b9035a332b3e691dc1d5cdbd0, length: 524288 -INFO added artifact, name: fake-trampoline, kind: trampoline_phase_2, version: 1.0.0, hash: a5dfcc4bc69b791f1c509df499e9e72cce844cb2b53a56d8bb357b264bdf13b6, length: 1048576 -INFO added artifact, name: clickhouse, kind: zone, version: 1.0.0, hash: 52b1eb4daff6f9140491d547b11248392920230db3db0eef5f5fa5333fe9e659, length: 1686 -INFO added artifact, name: clickhouse_keeper, kind: zone, version: 1.0.0, hash: cda702919449d86663be97295043aeca0ead69ae5db3bbdb20053972254a27a3, length: 1690 -INFO added artifact, name: clickhouse_server, kind: zone, version: 1.0.0, hash: 5f9ae6a9821bbe8ff0bf60feddf8b167902fe5f3e2c98bd21edd1ec9d969a001, length: 1690 -INFO added artifact, name: cockroachdb, kind: zone, version: 1.0.0, hash: f3a1a3c0b3469367b005ee78665d982059d5e14e93a479412426bf941c4ed291, length: 1689 -INFO added artifact, name: crucible-zone, kind: zone, version: 1.0.0, hash: 6f17cf65fb5a5bec5542dd07c03cd0acc01e59130f02c532c8d848ecae810047, length: 1690 -INFO added artifact, name: crucible-pantry-zone, kind: zone, version: 1.0.0, hash: 21f0ada306859c23917361f2e0b9235806c32607ec689c7e8cf16bb898bc5a02, length: 1695 -INFO added artifact, name: external-dns, kind: zone, version: 1.0.0, hash: ccca13ed19b8731f9adaf0d6203b02ea3b9ede4fa426b9fac0a07ce95440046d, length: 1689 -INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1373f7ee08dddd74c53ed2a94e7c4c572a982d3a9bc94000c6956b700c6a, length: 1689 -INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681 -INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682 -INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682 -INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576 -INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775 -INFO added artifact, name: fake-psc-rot-bootloader, kind: psc_rot_bootloader, version: 1.0.0, hash: 18c9c774bfe4bb086e869509dcccacee8476fd87670692b765aee216f2c7f003, length: 805 -INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash: bf1bc1da5059f76182c3007c3049941f8898abede2f3765b106c6e7f7c42d44c, length: 740 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774 -INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804 -INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526 set target release based on repo-1.0.0.zip @@ -1293,7 +1228,8 @@ parent: 58d5e830-0884-47d8-a7cd-b2b3751adeb4 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 physical disks: @@ -1372,7 +1308,8 @@ parent: 58d5e830-0884-47d8-a7cd-b2b3751adeb4 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 physical disks: @@ -1448,7 +1385,8 @@ parent: 58d5e830-0884-47d8-a7cd-b2b3751adeb4 -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 physical disks: @@ -1530,6 +1468,298 @@ blueprint source: edited directly with reconfigurator-cli +> # Measurements will block further planning progress, run a planning step +> blueprint-plan latest latest +INFO performed noop zone image source checks on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, num_total: 9, num_already_artifact: 9, num_eligible: 0, num_ineligible: 0 +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a +INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b +generated blueprint df06bb57-ad42-4431-9206-abff322896c7 based on parent blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 +blueprint source: planner with report: +planning report: +* zone updates waiting on reference measurement changes +* waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated +Measurement updates: +3 modifications + + + +> blueprint-diff latest +from: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 +to: blueprint df06bb57-ad42-4431-9206-abff322896c7 + + MODIFIED SLEDS: + + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 3 -> 4): + + measurements: + -------------------------------------------------------------------------------- + hash version + -------------------------------------------------------------------------------- + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + + + host phase 2 contents: + ------------------------ + slot boot image source + ------------------------ + A current contents + B current contents + + + physical disks: + ------------------------------------------------------------------------------------ + vendor model serial disposition + ------------------------------------------------------------------------------------ + fake-vendor fake-model serial-727522a7-934f-494d-b5b3-160968e74463 in service + fake-vendor fake-model serial-72c59873-31ff-4e36-8d76-ff834009349a in service + fake-vendor fake-model serial-b5fd5bc1-099e-4e77-8028-a9793c11f43b in service + + + datasets: + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + dataset name dataset id disposition quota reservation compression + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + oxp_727522a7-934f-494d-b5b3-160968e74463/crucible feecfda1-9966-43d4-aaef-440b77f0b26d in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crucible 956966b9-8201-437b-81ba-3c8ad2032080 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crucible 4b0b09bf-94b7-45bf-a6b3-d46af53ae44a in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/clickhouse 5ae11c7e-08fa-4d78-a4ea-14b4a9a10241 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/external_dns 3e0d6188-c503-49cf-a441-fa7df40ceb43 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/internal_dns b8f2a09f-8bd2-4418-872b-a4457a3f958c in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone 4829f422-aa31-41a8-ab73-95684ff1ef48 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone 3b66453b-7148-4c1b-84a9-499e43290ab4 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone 841d5648-05f0-47b0-b446-92f6b60fe9a6 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_clickhouse_353b3b65-20f7-48c3-88f7-495bd5d31545 49f8fbb6-5bac-4609-907f-6e3dfc206059 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/zone/oxz_crucible_86a22a56-0168-453d-9df1-cb2a7c64b5d3 6e218d0a-13fd-4f70-884e-47e960fa8bb8 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_bd354eef-d8a6-4165-9124-283fb5e46d77 9073fb6b-f973-4bbd-b7cc-ba1abf6cb238 in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/zone/oxz_crucible_e2fdefe7-95b2-4fd2-ae37-56929a06d58c 0582030b-aab6-4d0e-b1d2-64562ee712cd in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_crucible_pantry_ad6a3a03-8d0f-4504-99a4-cbf73d69b973 1640adb6-70bf-44cf-b05c-bff6dd300cf3 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_external_dns_6c3ae381-04f7-41ea-b0ac-74db387dbc3a 78f34ce7-42f1-41da-995f-318f32054ad2 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_internal_dns_99e2f30b-3174-40bf-a78a-90da8abba8ca 2f204c50-a327-479c-8852-f53ec7a19c1f in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_nexus_466a9f29-62bf-4e63-924a-b9efdb86afec 8e0bd2bd-23b7-4bc6-9e73-c4d4ebc0bc8c in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/zone/oxz_ntp_62620961-fc4a-481e-968b-f5acbac0dc63 8c4fa711-1d5d-4e93-85f0-d17bff47b063 in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/debug 93957ca0-9ed1-4e7b-8c34-2ce07a69541c in service 100 GiB none gzip-9 + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/debug 318fae85-abcb-4259-b1b6-ac96d193f7b7 in service 100 GiB none gzip-9 + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/debug b46de15d-33e7-4cd0-aa7c-e7be2a61e71b in service 100 GiB none gzip-9 + oxp_727522a7-934f-494d-b5b3-160968e74463/crypt/local_storage 2db6b7c1-0f46-4ced-a3ad-48872793360e in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/crypt/local_storage 09b9cc9b-3426-470b-a7bc-538f82dede03 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/crypt/local_storage c31623de-c19b-4615-9f1d-5e1daa5d3bda in service none none off + oxp_727522a7-934f-494d-b5b3-160968e74463/local_storage_unencrypted 775f9207-c42d-4af2-9186-27ffef67735e in service none none off + oxp_72c59873-31ff-4e36-8d76-ff834009349a/local_storage_unencrypted 3560dd69-3b23-4c69-807d-d673104cfc68 in service none none off + oxp_b5fd5bc1-099e-4e77-8028-a9793c11f43b/local_storage_unencrypted 2ad1875a-92ac-472f-8c26-593309f0e4da in service none none off + + + omicron zones: + ---------------------------------------------------------------------------------------------------------------------- + zone type zone id image source disposition underlay IP + ---------------------------------------------------------------------------------------------------------------------- + clickhouse 353b3b65-20f7-48c3-88f7-495bd5d31545 artifact: version 0.0.1 in service fd00:1122:3344:102::5 + crucible 86a22a56-0168-453d-9df1-cb2a7c64b5d3 artifact: version 0.0.1 in service fd00:1122:3344:102::a + crucible bd354eef-d8a6-4165-9124-283fb5e46d77 artifact: version 0.0.1 in service fd00:1122:3344:102::8 + crucible e2fdefe7-95b2-4fd2-ae37-56929a06d58c artifact: version 0.0.1 in service fd00:1122:3344:102::9 + crucible_pantry ad6a3a03-8d0f-4504-99a4-cbf73d69b973 artifact: version 0.0.1 in service fd00:1122:3344:102::7 + external_dns 6c3ae381-04f7-41ea-b0ac-74db387dbc3a artifact: version 0.0.1 in service fd00:1122:3344:102::6 + internal_dns 99e2f30b-3174-40bf-a78a-90da8abba8ca artifact: version 0.0.1 in service fd00:1122:3344:1::1 + internal_ntp 62620961-fc4a-481e-968b-f5acbac0dc63 artifact: version 0.0.1 in service fd00:1122:3344:102::3 + nexus 466a9f29-62bf-4e63-924a-b9efdb86afec artifact: version 0.0.1 in service fd00:1122:3344:102::4 + + + sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 (active, config generation 3 -> 4): + + measurements: + -------------------------------------------------------------------------------- + hash version + -------------------------------------------------------------------------------- + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + + + host phase 2 contents: + ------------------------ + slot boot image source + ------------------------ + A current contents + B current contents + + + physical disks: + ------------------------------------------------------------------------------------ + vendor model serial disposition + ------------------------------------------------------------------------------------ + fake-vendor fake-model serial-073979dd-3248-44a5-9fa1-cc72a140d682 in service + fake-vendor fake-model serial-c6d33b64-fb96-4129-bab1-7878a06a5f9b in service + fake-vendor fake-model serial-e4d937e1-6ddc-4eca-bb08-c1f73791e608 in service + + + datasets: + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + dataset name dataset id disposition quota reservation compression + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crucible 335e1dc3-b610-48dd-90bb-9ca5cce1a6d0 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crucible d5fef28b-4ee8-4443-8c06-7e872c2502f3 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crucible 6477f019-088c-43cf-8508-aa93f868830f in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/external_dns 02c56a30-7d97-406d-bd34-1eb437fd517d in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/internal_dns 4d7e3e8e-06bd-414c-a468-779e056a9b75 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone 4617d206-4330-4dfa-b9f3-f63a3db834f9 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone 4f60b534-eaa3-40a1-b60f-bfdf147af478 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone ad41be71-6c15-4428-b510-20ceacde4fa6 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/zone/oxz_crucible_058fd5f9-60a8-4e11-9302-15172782e17d 55a2a61a-1471-49b2-a6d0-b191ed94e057 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_5199c033-4cf9-4ab6-8ae7-566bd7606363 90b46084-4238-45ba-9e26-d3f2623e640e in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/zone/oxz_crucible_dfac80b4-a887-430a-ae87-a4e065dba787 bcdc7bf3-bbae-4e7f-81b2-4d94c8f752a4 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_crucible_pantry_ba4994a8-23f9-4b1a-a84f-a08d74591389 50b029e3-96aa-41e5-bf39-023193a4355e in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_external_dns_803bfb63-c246-41db-b0da-d3b87ddfc63d ea8a11bf-a884-4c4f-8df0-3ef9b7aacf43 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_internal_dns_427ec88f-f467-42fa-9bbb-66a91a36103c 7b4ce6bf-95bb-42fe-a4a0-dff31211ab88 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_nexus_0c71b3b2-6ceb-4e8f-b020-b08675e83038 832fd140-d467-4bad-b5e9-63171634087c in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/zone/oxz_ntp_6444f8a5-6465-4f0b-a549-1993c113569c 42430c80-7836-4191-a4f6-bcee749010fe in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/debug 248c6c10-1ac6-45de-bb55-ede36ca56bbd in service 100 GiB none gzip-9 + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/debug 686c19cf-a0d7-45f6-866f-c564612b2664 in service 100 GiB none gzip-9 + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/debug 1bca7f71-5e42-4749-91ec-fa40793a3a9a in service 100 GiB none gzip-9 + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/crypt/local_storage cdf3684f-a6cf-4449-b9ec-e696b2c663e2 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/crypt/local_storage 3ac089c9-9dec-465b-863a-188e80d71fb4 in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/crypt/local_storage 43931274-7fe8-4077-825d-dff2bc8efa58 in service none none off + oxp_073979dd-3248-44a5-9fa1-cc72a140d682/local_storage_unencrypted 793ac181-1b01-403c-850d-7f5c54bda6c9 in service none none off + oxp_c6d33b64-fb96-4129-bab1-7878a06a5f9b/local_storage_unencrypted a4c3032e-21fa-4d4a-b040-a7e3c572cf3c in service none none off + oxp_e4d937e1-6ddc-4eca-bb08-c1f73791e608/local_storage_unencrypted 4847a96e-a267-4ae7-aa3d-805c1e77f81e in service none none off + + + omicron zones: + ---------------------------------------------------------------------------------------------------------------------- + zone type zone id image source disposition underlay IP + ---------------------------------------------------------------------------------------------------------------------- + crucible 058fd5f9-60a8-4e11-9302-15172782e17d artifact: version 0.0.1 in service fd00:1122:3344:101::9 + crucible 5199c033-4cf9-4ab6-8ae7-566bd7606363 artifact: version 0.0.1 in service fd00:1122:3344:101::7 + crucible dfac80b4-a887-430a-ae87-a4e065dba787 artifact: version 0.0.1 in service fd00:1122:3344:101::8 + crucible_pantry ba4994a8-23f9-4b1a-a84f-a08d74591389 artifact: version 0.0.1 in service fd00:1122:3344:101::6 + external_dns 803bfb63-c246-41db-b0da-d3b87ddfc63d artifact: version 0.0.1 in service fd00:1122:3344:101::5 + internal_dns 427ec88f-f467-42fa-9bbb-66a91a36103c artifact: version 0.0.1 in service fd00:1122:3344:2::1 + internal_ntp 6444f8a5-6465-4f0b-a549-1993c113569c artifact: version 0.0.1 in service fd00:1122:3344:101::3 + nexus 0c71b3b2-6ceb-4e8f-b020-b08675e83038 artifact: version 0.0.1 in service fd00:1122:3344:101::4 + + + sled d81c6a84-79b8-4958-ae41-ea46c9b19763 (active, config generation 3 -> 4): + + measurements: + -------------------------------------------------------------------------------- + hash version + -------------------------------------------------------------------------------- + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 ++ 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 ++ ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 + + + host phase 2 contents: + ------------------------ + slot boot image source + ------------------------ + A current contents + B current contents + + + physical disks: + ------------------------------------------------------------------------------------ + vendor model serial disposition + ------------------------------------------------------------------------------------ + fake-vendor fake-model serial-18b20749-0748-4105-bb10-7b13cfc776e2 in service + fake-vendor fake-model serial-30c16fe4-4229-49d0-ab01-3138f2c7dff2 in service + fake-vendor fake-model serial-4930954e-9ac7-4453-b63f-5ab97c389a99 in service + + + datasets: + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + dataset name dataset id disposition quota reservation compression + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crucible ba9311dd-89ac-47db-a5e8-d64e8a5fcf70 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crucible 3c2cb304-a466-4ab5-8597-5db8172e2388 in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crucible 41107868-c6cc-4ec4-9159-aed688c3ceaf in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/external_dns 429da94b-19f7-48bd-98e9-47842863ba7b in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/internal_dns 3443a368-199e-4d26-b59f-3f2bbd507761 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone 45cd9687-20be-4247-b62a-dfdacf324929 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone 252ac39f-b9e2-4697-8c07-3a833115d704 in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone 1cb0a47a-59ac-4892-8e92-cf87b4290f96 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/zone/oxz_crucible_694bd14f-cb24-4be4-bb19-876e79cda2c8 543fc3b8-08eb-4e5e-9e05-cf7a91732d5d in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/zone/oxz_crucible_7c252b64-c5af-4ec1-989e-9a03f3b0f111 3d9537b8-05be-4b1b-a051-f47becf8ec75 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_f55647d4-5500-4ad3-893a-df45bd50d622 c895e8d5-1434-4ecf-8d46-9bf1ecc8cbc9 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_crucible_pantry_75b220ba-a0f4-4872-8202-dc7c87f062d0 a50cd13a-5749-4e79-bb8b-19229500a8b3 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_external_dns_f6ec9c67-946a-4da3-98d5-581f72ce8bf0 6f04dd20-5e2c-4fa8-8430-a886470ed140 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_internal_dns_ea5b4030-b52f-44b2-8d70-45f15f987d01 7ea73f80-c4e0-450a-92dc-8397ce2af14f in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_nexus_3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 50ea8c15-c4c0-4403-a490-d14b3405dfc2 in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/zone/oxz_ntp_f10a4fb9-759f-4a65-b25e-5794ad2d07d8 54bbadaf-ec04-41a2-a62f-f5ac5bf321be in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/debug 7a6a2058-ea78-49de-9730-cce5e28b4cfb in service 100 GiB none gzip-9 + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/debug 21fd4f3a-ec31-469b-87b1-087c343a2422 in service 100 GiB none gzip-9 + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/debug b1deff4b-51df-4a37-9043-afbd7c70a1cb in service 100 GiB none gzip-9 + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/crypt/local_storage 41071985-1dfd-4ce5-8bc2-897161a8bce4 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/crypt/local_storage c65a9c1c-36dc-4ddb-8aac-ec3be8dbb209 in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/crypt/local_storage 090bd88d-0a43-4040-a832-b13ae721f74f in service none none off + oxp_18b20749-0748-4105-bb10-7b13cfc776e2/local_storage_unencrypted e009d8b8-4695-4322-b53f-f03f2744aef7 in service none none off + oxp_30c16fe4-4229-49d0-ab01-3138f2c7dff2/local_storage_unencrypted 4da74a5b-6911-4cca-b624-b90c65530117 in service none none off + oxp_4930954e-9ac7-4453-b63f-5ab97c389a99/local_storage_unencrypted 96ae8389-3027-4260-9374-e0f6ce851de2 in service none none off + + + omicron zones: + ---------------------------------------------------------------------------------------------------------------------- + zone type zone id image source disposition underlay IP + ---------------------------------------------------------------------------------------------------------------------- + crucible 694bd14f-cb24-4be4-bb19-876e79cda2c8 artifact: version 0.0.1 in service fd00:1122:3344:103::8 + crucible 7c252b64-c5af-4ec1-989e-9a03f3b0f111 artifact: version 0.0.1 in service fd00:1122:3344:103::9 + crucible f55647d4-5500-4ad3-893a-df45bd50d622 artifact: version 0.0.1 in service fd00:1122:3344:103::7 + crucible_pantry 75b220ba-a0f4-4872-8202-dc7c87f062d0 artifact: version 0.0.1 in service fd00:1122:3344:103::6 + external_dns f6ec9c67-946a-4da3-98d5-581f72ce8bf0 artifact: version 0.0.1 in service fd00:1122:3344:103::5 + internal_dns ea5b4030-b52f-44b2-8d70-45f15f987d01 artifact: version 0.0.1 in service fd00:1122:3344:3::1 + internal_ntp f10a4fb9-759f-4a65-b25e-5794ad2d07d8 artifact: version 0.0.1 in service fd00:1122:3344:103::3 + nexus 3eeb8d49-eb1a-43f8-bb64-c2338421c2c6 artifact: version 0.0.1 in service fd00:1122:3344:103::4 + + + COCKROACHDB SETTINGS: + state fingerprint::::::::::::::::: (none) (unchanged) + cluster.preserve_downgrade_option: (do not modify) (unchanged) + + METADATA: + internal DNS version::: 1 (unchanged) + external DNS version::: 1 (unchanged) + target release min gen: 1 (unchanged) + nexus gen:::::::::::::: 1 (unchanged) + + OXIMETER SETTINGS: + generation: 1 (unchanged) + read from:: SingleNode (unchanged) + + +internal DNS: + DNS zone: "control-plane.oxide.internal" (unchanged) + unchanged names: 52 (records: 68) + +external DNS: + DNS zone: "oxide.example" (unchanged) + unchanged names: 5 (records: 9) + + + + +> # Make sure the measurements are up to date for inventory +> sled-set serial0 omicron-config latest +set sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6 omicron config from latest blueprint (df06bb57-ad42-4431-9206-abff322896c7) + +> sled-set serial1 omicron-config latest +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c omicron config from latest blueprint (df06bb57-ad42-4431-9206-abff322896c7) + +> sled-set serial2 omicron-config latest +set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 omicron config from latest blueprint (df06bb57-ad42-4431-9206-abff322896c7) + +> inventory-generate +generated inventory collection a71f7a73-35a6-45e8-acbe-f1c5925eed69 from configured sleds + + > # We expunge a single internal_dns zone > # > # Note that since we are not running the command to emulate the sled-agent @@ -1544,22 +1774,25 @@ blueprint source: edited directly with reconfigurator-cli > # behavior; see `cmds-noop-stale-inventory.txt` for a focused test of the > # inventory-staleness guarantee. > blueprint-edit latest expunge-zones 99e2f30b-3174-40bf-a78a-90da8abba8ca -blueprint df06bb57-ad42-4431-9206-abff322896c7 created from latest blueprint (af934083-59b5-4bf6-8966-6fb5292c29e1): expunged zone 99e2f30b-3174-40bf-a78a-90da8abba8ca from sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c +blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba created from latest blueprint (df06bb57-ad42-4431-9206-abff322896c7): expunged zone 99e2f30b-3174-40bf-a78a-90da8abba8ca from sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c > blueprint-diff latest -from: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1 -to: blueprint df06bb57-ad42-4431-9206-abff322896c7 +from: blueprint df06bb57-ad42-4431-9206-abff322896c7 +to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba MODIFIED SLEDS: - sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 3 -> 4): + sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c (active, config generation 4 -> 5): measurements: -------------------------------------------------------------------------------- hash version -------------------------------------------------------------------------------- - 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f version 1.0.0 + b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248 version 0.0.1 + dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7 version 0.0.1 + 9830767c45f2a02210a177fabafafe2c84501039289483f72cec299b0c78dbcb version 1.0.0 + ae9279e9135de75e4e137c6da7f939b5a2eae6d931a7f2205df930e37cd58096 version 1.0.0 host phase 2 contents: @@ -1681,16 +1914,16 @@ external DNS: > # Attempt to upgrade one RoT bootloader. This should successfully plan the > # pending RoT bootloader update > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba based on parent blueprint df06bb57-ad42-4431-9206-abff322896c7 +generated blueprint 9034c710-3e57-45f3-99e5-4316145e87ac based on parent blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1701,8 +1934,8 @@ planning report: > blueprint-diff latest -from: blueprint df06bb57-ad42-4431-9206-abff322896c7 -to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +from: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1724,7 +1957,7 @@ to: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -+ sled 0 913-0000019 serial0 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) ++ sled 0 913-0000019 serial0 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) internal DNS: @@ -1740,16 +1973,16 @@ external DNS: > # We generate another plan, there should be no changes > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update not yet completed (will keep it), artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update not yet completed (will keep it), artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint 9034c710-3e57-45f3-99e5-4316145e87ac based on parent blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba +generated blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 based on parent blueprint 9034c710-3e57-45f3-99e5-4316145e87ac blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1760,8 +1993,8 @@ planning report: > blueprint-diff latest -from: blueprint 7f976e0d-d2a5-4eeb-9e82-c82bc2824aba -to: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +from: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1804,20 +2037,20 @@ set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c RoT bootloader versions: stage0 -> set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 RoT bootloader versions: stage0 -> 1.0.0 > inventory-generate -generated inventory collection a71f7a73-35a6-45e8-acbe-f1c5925eed69 from configured sleds +generated inventory collection 0b5efbb3-0b1b-4bbf-b7d8-a2d6fca074c6 from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c, expected_stage0_next_version: NoValidVersion, expected_stage0_version: 0.0.1, component: rot_bootloader, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 based on parent blueprint 9034c710-3e57-45f3-99e5-4316145e87ac +generated blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 based on parent blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1828,8 +2061,8 @@ planning report: > blueprint-diff latest -from: blueprint 9034c710-3e57-45f3-99e5-4316145e87ac -to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +from: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +to: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1851,8 +2084,8 @@ to: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -* sled 0 913-0000019 serial0 - 5b0f601b1fbb8674db9c751a02f8b14f8e6d4e8470f4f7b686fecb2c49ec11f9 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) - └─ + d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) +* sled 0 913-0000019 serial0 - 9f0d143c76b66c62584789c5d57c03068b6fb6fd4e128b019f57071fdcccd68c 1.0.0 - RotBootloader(PendingMgsUpdateRotBootloaderDetails { expected_stage0_version: ArtifactVersion("0.0.1"), expected_stage0_next_version: NoValidVersion }) + └─ + dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 + Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) internal DNS: @@ -1879,21 +2112,21 @@ set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c RoT settings: slot b -> 1.0.0, act set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 RoT settings: slot b -> 1.0.0, active slot -> B, persistent boot preference -> B > inventory-generate -generated inventory collection 0b5efbb3-0b1b-4bbf-b7d8-a2d6fca074c6 from configured sleds +generated inventory collection 78f72e8d-46a9-40a9-8618-602f54454d80 from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751, expected_transient_boot_preference: None, expected_pending_persistent_boot_preference: None, expected_persistent_boot_preference: A, expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, component: rot, sp_slot: 0, sp_type: Sled, serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (found issues), serial_number: serial0, part_number: 913-0000019 -INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO configuring MGS-driven update, artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO reached maximum number of pending MGS-driven updates, max: 1 -generated blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 based on parent blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 +generated blueprint 626487fa-7139-45ec-8416-902271fc730b based on parent blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 blueprint source: planner with report: planning report: * 1 pending MGS update: @@ -1906,8 +2139,8 @@ planning report: > blueprint-diff latest -from: blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976 -to: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 +from: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 +to: blueprint 626487fa-7139-45ec-8416-902271fc730b COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -1929,8 +2162,8 @@ to: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- sled 0 913-0000019 serial0 d11e65f934bf0de51df2e5b484f61ee72072417b43ac87f33e958008428e7b02 1.0.0 Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) -+ sled 1 913-0000019 serial1 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 1.0.0 Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) +- sled 0 913-0000019 serial0 dd3796ded0832379bc40a2c27791cd5177a621c7aee0ecfbe7ebd896befdc751 1.0.0 Rot(PendingMgsUpdateRotDetails { expected_active_slot: ExpectedActiveRotSlot { slot: A, version: ArtifactVersion("0.0.2") }, expected_inactive_version: NoValidVersion, expected_persistent_boot_preference: A, expected_pending_persistent_boot_preference: None, expected_transient_boot_preference: None }) ++ sled 1 913-0000019 serial1 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 1.0.0 Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) internal DNS: @@ -1957,29 +2190,29 @@ set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c SP versions: active -> 1.0.0 > sled-update-sp serial2 --active 1.0.0 set sled d81c6a84-79b8-4958-ae41-ea46c9b19763 SP versions: active -> 1.0.0 -> sled-update-host-phase2 serial1 --boot-disk B --slot-b d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 2 details: boot_disk -> B, B -> d944ae205b61ccf4322448f7d0311a819c53d9844769de066c5307c1682abb47 +> sled-update-host-phase2 serial1 --boot-disk B --slot-b c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 2 details: boot_disk -> B, B -> c2a8af75d6907ef138d033dc3be1fcbf7d7a78a87aee04796caf283a6bb0952d -> sled-update-host-phase1 serial1 --active B --slot-b b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b -set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: active -> B, B -> b99d5273ba1418bebb19d74b701d716896409566d41de76ada71bded4c9b166b +> sled-update-host-phase1 serial1 --active B --slot-b 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c +set sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c host phase 1 details: active -> B, B -> 2902cb5932fa703ed62fc6a0a330898fe6fd4bde68c74f6398a6aa916cb7e79c > inventory-generate -generated inventory collection 78f72e8d-46a9-40a9-8618-602f54454d80 from configured sleds +generated inventory collection 39363465-89ae-4ac2-9be1-099068da9d45 from configured sleds > blueprint-plan latest latest -INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (3) that is older than the generation in the parent blueprint (4) +INFO skipped noop image source check on sled, sled_id: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c, reason: inventory stale: inventory reported generation (4) that is older than the generation in the parent blueprint (5) INFO performed noop zone image source checks on sled, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b INFO performed noop zone image source checks on sled, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, num_total: 8, num_already_artifact: 8, num_eligible: 0, num_ineligible: 0 INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: a, expected_hash: 0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noop checks, sled_id: d81c6a84-79b8-4958-ae41-ea46c9b19763, slot: b, expected_hash: 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 +INFO MGS-driven update completed (will remove it and re-evaluate board), artifact_version: 1.0.0, artifact_hash: 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918, expected_inactive_version: NoValidVersion, expected_active_version: 0.0.1, component: sp, sp_slot: 1, sp_type: Sled, serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (no update necessary), serial_number: serial1, part_number: 913-0000019 INFO skipping board for MGS-driven update (found issues), serial_number: serial0, part_number: 913-0000019 INFO skipping board for MGS-driven update (found issues), serial_number: serial2, part_number: 913-0000019 INFO ran out of boards for MGS-driven update -generated blueprint 626487fa-7139-45ec-8416-902271fc730b based on parent blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 +generated blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b based on parent blueprint 626487fa-7139-45ec-8416-902271fc730b blueprint source: planner with report: planning report: * 2 blocked MGS updates: @@ -1991,8 +2224,8 @@ planning report: > blueprint-diff latest -from: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 -to: blueprint 626487fa-7139-45ec-8416-902271fc730b +from: blueprint 626487fa-7139-45ec-8416-902271fc730b +to: blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b COCKROACHDB SETTINGS: state fingerprint::::::::::::::::: (none) (unchanged) @@ -2014,7 +2247,7 @@ to: blueprint 626487fa-7139-45ec-8416-902271fc730b ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- sp_type slot part_number serial_number artifact_hash artifact_version details ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- sled 1 913-0000019 serial1 68465b8e3f808f475510b525cfd62086d37ddd57688bd854184fdafb2b2198a4 1.0.0 Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) +- sled 1 913-0000019 serial1 3f6a641e1a26b718b351ed286e22b4c055d2dc7898e7ea873cd634796c2fb918 1.0.0 Sp(PendingMgsUpdateSpDetails { expected_active_version: ArtifactVersion("0.0.1"), expected_inactive_version: NoValidVersion }) internal DNS: diff --git a/dev-tools/reconfigurator-sp-updater/Cargo.toml b/dev-tools/reconfigurator-sp-updater/Cargo.toml index a8190e7b950..70f35ee970e 100644 --- a/dev-tools/reconfigurator-sp-updater/Cargo.toml +++ b/dev-tools/reconfigurator-sp-updater/Cargo.toml @@ -30,7 +30,7 @@ sled-hardware-types.workspace = true slog.workspace = true swrite.workspace = true tokio = { workspace = true, features = ["full"] } -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true omicron-workspace-hack.workspace = true [[bin]] diff --git a/dev-tools/reconfigurator-sp-updater/src/main.rs b/dev-tools/reconfigurator-sp-updater/src/main.rs index 8a0670390b8..77c89ee68db 100644 --- a/dev-tools/reconfigurator-sp-updater/src/main.rs +++ b/dev-tools/reconfigurator-sp-updater/src/main.rs @@ -40,8 +40,8 @@ use std::time::Duration; use swrite::SWrite; use swrite::swriteln; use tokio::sync::watch; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactVersion; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactVersion; fn main() -> Result<(), anyhow::Error> { let args = ReconfiguratorSpUpdater::parse(); diff --git a/dev-tools/repo-depot-standalone/Cargo.toml b/dev-tools/repo-depot-standalone/Cargo.toml index c08a53beafc..3793d79a1e4 100644 --- a/dev-tools/repo-depot-standalone/Cargo.toml +++ b/dev-tools/repo-depot-standalone/Cargo.toml @@ -13,6 +13,7 @@ buf-list.workspace = true bytes.workspace = true camino.workspace = true clap.workspace = true +display-error-chain.workspace = true dropshot.workspace = true futures.workspace = true libc.workspace = true @@ -26,8 +27,8 @@ slog.workspace = true slog-error-chain.workspace = true tokio = { workspace = true, features = [ "full" ] } tokio-util.workspace = true -tufaceous-artifact.workspace = true -update-common.workspace = true +tufaceous-artifact-v2.workspace = true +tufaceous-v2.workspace = true [[bin]] name = "repo-depot-standalone" diff --git a/dev-tools/repo-depot-standalone/src/main.rs b/dev-tools/repo-depot-standalone/src/main.rs index dd1799de328..cf2d65f3f6b 100644 --- a/dev-tools/repo-depot-standalone/src/main.rs +++ b/dev-tools/repo-depot-standalone/src/main.rs @@ -10,6 +10,7 @@ use buf_list::BufList; use bytes::Buf; use camino::Utf8PathBuf; use clap::Parser; +use display_error_chain::DisplayErrorChain; use dropshot::FreeformBody; use dropshot::HttpError; use dropshot::HttpResponseOk; @@ -27,13 +28,12 @@ use slog_error_chain::InlineErrorChain; use std::collections::BTreeMap; use std::net::SocketAddr; use std::sync::Arc; -use tokio::io::AsyncRead; -use tokio_util::io::ReaderStream; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactHashId; -use update_common::artifacts::{ - ArtifactsWithPlan, ControlPlaneZonesMode, VerificationMode, -}; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_v2::ArtifactHandle; +use tufaceous_v2::ExpirationEnforcement; +use tufaceous_v2::Repository; +use tufaceous_v2::RepositoryLoader; +use tufaceous_v2::TargetStream; fn main() -> Result<(), anyhow::Error> { oxide_tokio_rt::run(async { @@ -91,25 +91,14 @@ impl RepoDepotStandalone { let mut ctx = RepoMetadata::new(); for repo_path in &self.zip_files { - let file = std::fs::File::open(repo_path) - .with_context(|| format!("open {:?}", repo_path))?; - let buf = std::io::BufReader::new(file); - info!( - &log, - "extracting Omicron TUF repository"; - "path" => %repo_path - ); - let plan = ArtifactsWithPlan::from_zip( - buf, - None, - ArtifactHash([0; 32]), - ControlPlaneZonesMode::Split, - VerificationMode::BlindlyTrustAnything, - &log, - ) - .await - .with_context(|| format!("load {:?}", repo_path))?; - ctx.load_repo(plan) + let repo = RepositoryLoader::new() + .expiration_enforcement(ExpirationEnforcement::Unsafe) + .unsafe_blindly_trust_repo() + .v1_compatibility(true) + .load_zip_path(repo_path.clone(), &log) + .await + .with_context(|| format!("load {:?}", repo_path))?; + ctx.load_repo(repo) .context("loading artifacts from repository at {repo_path}")?; info!(&log, "loaded Omicron TUF repository"; "path" => %repo_path); } @@ -154,55 +143,33 @@ impl RepoDepotStandalone { /// Keeps metadata that allows us to fetch a target from any of the TUF repos /// based on its hash. struct RepoMetadata { - repos: Vec, - targets_by_hash: BTreeMap, + artifacts: BTreeMap, } impl RepoMetadata { pub fn new() -> RepoMetadata { - RepoMetadata { repos: Vec::new(), targets_by_hash: BTreeMap::new() } + RepoMetadata { artifacts: BTreeMap::new() } } - pub fn load_repo(&mut self, plan: ArtifactsWithPlan) -> anyhow::Result<()> { - let repo_index = self.repos.len(); - - for artifact_meta in &plan.description().artifacts { - let artifact_hash = artifact_meta.hash; - let artifact_id = &artifact_meta.id; - let artifact_hash_id = ArtifactHashId { - kind: artifact_id.kind.clone(), - hash: artifact_hash, - }; - + pub fn load_repo(&mut self, repo: Repository) -> anyhow::Result<()> { + let repo = Arc::new(repo); + for handle in repo.handles() { // Some hashes appear multiple times, whether in the same repo or // different repos. That's fine. They all have the same contents // so we can serve any of them when this hash is requested. - self.targets_by_hash - .insert(artifact_meta.hash, (repo_index, artifact_hash_id)); + self.artifacts.insert(handle.artifact().hash, handle); } - - self.repos.push(plan); Ok(()) } pub async fn data_for_hash( &self, requested_sha: &ArtifactHash, - ) -> Option>>> { - let (repo_index, artifact_hash_id) = - self.targets_by_hash.get(requested_sha)?; - let repo = &self.repos[*repo_index]; - Some( - repo.get_by_hash(artifact_hash_id) - .unwrap_or_else(|| { - panic!( - "artifact hash unexpectedly missing from the repo that \ - we recorded having found it in" - ) - }) - .reader_stream() - .await, - ) + ) -> Result, tufaceous_v2::error::Error> { + let Some(handle) = self.artifacts.get(requested_sha) else { + return Ok(None); + }; + Ok(Some(handle.stream().await?)) } } @@ -220,17 +187,17 @@ impl RepoDepotApi for StandaloneApiImpl { let reader = repo_metadata .data_for_hash(requested_sha) .await + .map_err(|err| { + HttpError::for_unavail( + None, + DisplayErrorChain::new(&err).to_string(), + ) + })? .ok_or_else(|| { HttpError::for_not_found( None, String::from("found no target with this hash"), ) - })? - .map_err(|error| { - HttpError::for_internal_error(format!( - "loading file from TUF repo: {}", - InlineErrorChain::new(&*error), - )) })?; let mut buf_list = reader.try_collect::().await.map_err(|error| { diff --git a/gateway-cli/Cargo.toml b/gateway-cli/Cargo.toml index 993e868108a..bc2f4724f56 100644 --- a/gateway-cli/Cargo.toml +++ b/gateway-cli/Cargo.toml @@ -23,7 +23,7 @@ slog-term.workspace = true termios.workspace = true tokio = { workspace = true, features = [ "io-std", "rt-multi-thread", "macros", "time" ] } tokio-tungstenite.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true uuid.workspace = true gateway-client.workspace = true diff --git a/gateway-cli/src/main.rs b/gateway-cli/src/main.rs index 3eb0935a74d..5914cfd315c 100644 --- a/gateway-cli/src/main.rs +++ b/gateway-cli/src/main.rs @@ -31,7 +31,7 @@ use std::path::PathBuf; use std::time::Duration; use tokio_tungstenite::WebSocketStream; use tokio_tungstenite::tungstenite::protocol::Role; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use uuid::Uuid; mod picocom_map; diff --git a/nexus/Cargo.toml b/nexus/Cargo.toml index 5ae00601c27..3b7d271485a 100644 --- a/nexus/Cargo.toml +++ b/nexus/Cargo.toml @@ -128,9 +128,9 @@ thiserror.workspace = true tokio = { workspace = true, features = ["full"] } tokio-postgres = { workspace = true, features = ["with-serde_json-1"] } tokio-util = { workspace = true, features = ["codec", "rt"] } -tough.workspace = true trust-quorum-types.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true +tufaceous-v2.workspace = true url.workspace = true usdt.workspace = true uuid.workspace = true @@ -161,7 +161,6 @@ rustls = { workspace = true } rustls-pemfile = { workspace = true } scim2-rs.workspace = true support-bundle-collection.workspace = true -update-common.workspace = true oxide-update-engine.workspace = true oxide-update-engine-types.workspace = true omicron-workspace-hack.workspace = true @@ -213,9 +212,8 @@ strum.workspace = true subprocess.workspace = true term.workspace = true transient-dns-server.workspace = true -tufaceous.workspace = true -tufaceous-artifact.workspace = true -tufaceous-lib.workspace = true +tufaceous-artifact-v2.workspace = true +tufaceous-v2.workspace = true [[bench]] name = "setup_benchmark" diff --git a/nexus/db-model/Cargo.toml b/nexus/db-model/Cargo.toml index e4be094b39b..900114d04f6 100644 --- a/nexus/db-model/Cargo.toml +++ b/nexus/db-model/Cargo.toml @@ -60,7 +60,7 @@ omicron-passwords.workspace = true sled-agent-client.workspace = true sled-agent-types.workspace = true omicron-workspace-hack.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true [dev-dependencies] camino-tempfile.workspace = true diff --git a/nexus/db-model/src/deployment.rs b/nexus/db-model/src/deployment.rs index ffd16fc18e4..471a4b12a4a 100644 --- a/nexus/db-model/src/deployment.rs +++ b/nexus/db-model/src/deployment.rs @@ -10,7 +10,7 @@ use crate::omicron_zone_config::{self, OmicronZoneNic}; use crate::typed_uuid::DbTypedUuid; use crate::{ ArtifactHash, ByteCount, DbArtifactVersion, DbOximeterReadMode, Generation, - HwM2Slot, MacAddr, Name, SledState, SqlU8, SqlU16, SqlU32, TufArtifact, + HwM2Slot, MacAddr, Name, SledState, SqlU8, SqlU16, SqlU32, TufArtifactFile, impl_enum_type, ipv6, }; use anyhow::{Context, Result, anyhow, bail}; @@ -878,7 +878,7 @@ impl BpOmicronZone { pub fn into_blueprint_zone_config( self, nic_row: Option, - image_artifact_row: Option, + image_artifact_row: Option, ) -> anyhow::Result { // Build up a set of common fields for our `BlueprintZoneType`s // @@ -1189,7 +1189,7 @@ impl DbBpZoneImageSourceColumns { fn new( image_source: DbBpZoneImageSource, image_artifact_sha256: Option, - image_artifact_row: Option, + image_artifact_row: Option, ) -> Self { // Note that artifact_row can only be Some if image_artifact_sha256 is // Some. @@ -1275,7 +1275,7 @@ impl BpSingleMeasurement { pub fn to_measurement( self, - artifact: Option, + artifact: Option, ) -> BlueprintSingleMeasurement { BlueprintSingleMeasurement { version: match artifact { diff --git a/nexus/db-model/src/inventory.rs b/nexus/db-model/src/inventory.rs index 43fc424bc0d..4abf14d5910 100644 --- a/nexus/db-model/src/inventory.rs +++ b/nexus/db-model/src/inventory.rs @@ -121,7 +121,7 @@ use std::collections::BTreeSet; use std::net::{IpAddr, SocketAddrV6}; use std::time::Duration; use thiserror::Error; -use tufaceous_artifact::ArtifactHash as ExternalArtifactHash; +use tufaceous_artifact_v2::ArtifactHash as ExternalArtifactHash; use uuid::Uuid; // See [`nexus_types::inventory::PowerState`]. diff --git a/nexus/db-model/src/schema_versions.rs b/nexus/db-model/src/schema_versions.rs index 48e109f4260..10ff22f34d2 100644 --- a/nexus/db-model/src/schema_versions.rs +++ b/nexus/db-model/src/schema_versions.rs @@ -16,7 +16,7 @@ use std::{collections::BTreeMap, sync::LazyLock}; /// /// This must be updated when you change the database schema. Refer to /// schema/crdb/README.adoc in the root of this repository for details. -pub const SCHEMA_VERSION: Version = Version::new(280, 0, 0); +pub const SCHEMA_VERSION: Version = Version::new(281, 0, 0); /// List of all past database schema versions, in *reverse* order /// @@ -28,6 +28,7 @@ pub static KNOWN_VERSIONS: LazyLock> = LazyLock::new(|| { // | leaving the first copy as an example for the next person. // v // KnownVersion::new(next_int, "unique-dirname-with-the-sql-files"), + KnownVersion::new(281, "tufaceous-v2"), KnownVersion::new(280, "webhook-delivery-unreachable-reason"), KnownVersion::new(279, "saga-abandonment-metadata"), KnownVersion::new(278, "psu-presence-alert-classes"), diff --git a/nexus/db-model/src/tuf_repo.rs b/nexus/db-model/src/tuf_repo.rs index 6bfe74e9a30..6cfb014e4fa 100644 --- a/nexus/db-model/src/tuf_repo.rs +++ b/nexus/db-model/src/tuf_repo.rs @@ -2,18 +2,20 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. +use std::collections::BTreeMap; use std::str::FromStr; -use crate::{Generation, SemverVersion, typed_uuid::DbTypedUuid}; +use crate::{ByteCount, Generation, SemverVersion, typed_uuid::DbTypedUuid}; use chrono::{DateTime, Utc}; use diesel::sql_types::{Jsonb, Text}; use diesel::{deserialize::FromSql, serialize::ToSql}; +use iddqd::{IdHashItem, id_upcast}; use nexus_db_schema::schema::{ - tuf_artifact, tuf_repo, tuf_repo_artifact, tuf_trust_root, + tuf_artifact, tuf_artifact_file, tuf_artifact_tag, tuf_repo, + tuf_repo_artifact, tuf_repo_metadata, tuf_trust_root, }; use nexus_types::external_api::update as update_types; -use nexus_types::external_api::update::TufSignedRootRole; -use omicron_common::{api::external, update::ArtifactId}; +use omicron_common::api::external; use omicron_uuid_kinds::GenericUuid; use omicron_uuid_kinds::TufArtifactKind; use omicron_uuid_kinds::TufRepoKind; @@ -23,10 +25,9 @@ use omicron_uuid_kinds::TypedUuid; use parse_display::Display; use serde::{Deserialize, Serialize}; use std::fmt; -use tufaceous_artifact::{ - ArtifactHash as ExternalArtifactHash, ArtifactKind, ArtifactVersion, +use tufaceous_artifact_v2::{ + ArtifactHash as ExternalArtifactHash, ArtifactVersion, }; -use uuid::Uuid; /// A description of a TUF update: a repo, along with the artifacts it /// contains. @@ -36,44 +37,166 @@ pub struct TufRepoDescription { pub repo: TufRepo, /// The artifacts. - pub artifacts: Vec, + pub artifacts: Vec, + + /// The metadata. + pub metadata: Vec, } impl TufRepoDescription { /// Creates a new `TufRepoDescription` from an - /// [`external::TufRepoDescription`]. - /// - /// This is not implemented as a `From` impl because we insert new fields - /// as part of the process, which `From` doesn't necessarily communicate - /// and can be surprising. - pub fn from_external( - description: external::TufRepoDescription, + /// [`nexus_types::tuf_repo::TufRepoDescription`]. + pub fn new( + description: nexus_types::tuf_repo::TufRepoDescription, generation_added: external::Generation, - ) -> Self { - Self { - repo: TufRepo::from_external(description.repo), + ) -> Result { + let id = TypedUuid::new_v4().into(); + Ok(Self { + repo: TufRepo { + id, + time_created: Utc::now(), + time_pruned: None, + sha256: description.hash.into(), + system_version: description.system_version.into(), + file_name: description.file_name, + }, artifacts: description .artifacts .into_iter() .map(|artifact| { - TufArtifact::from_external(artifact, generation_added) + TufArtifactDescription::new(artifact, generation_added) + }) + .collect::>()?, + metadata: description + .metadata + .into_iter() + .map(|(key, value)| TufMetadataEntry { + tuf_repo_id: id, + key, + value, }) .collect(), - } + }) } +} - pub fn into_external(self) -> external::TufRepoDescription { - external::TufRepoDescription { - repo: self.repo.into_external(), - artifacts: self +impl From for nexus_types::tuf_repo::TufRepoDescription { + fn from(description: TufRepoDescription) -> Self { + Self { + artifacts: description .artifacts .into_iter() - .map(TufArtifact::into_external) + .map(Into::into) + .collect(), + metadata: description + .metadata + .into_iter() + .map(|TufMetadataEntry { key, value, .. }| (key, value)) .collect(), + system_version: description.repo.system_version.into(), + hash: description.repo.sha256.into(), + file_name: description.repo.file_name, } } } +#[derive(Debug, Clone)] +pub struct TufArtifactDescription { + pub artifact: TufArtifact, + + // `TufArtifactFile`, minus `sha256` + pub version: DbArtifactVersion, + pub artifact_size: ByteCount, + + // `Vec`, minus `tuf_artifact_id` + pub tags: BTreeMap, +} + +impl TufArtifactDescription { + /// Creates a new `TufArtifactDescription` from an + /// [`tufaceous_artifact_v2::Artifact`]. + pub fn new( + artifact: tufaceous_artifact_v2::Artifact, + generation_added: external::Generation, + ) -> Result { + let id = TypedUuid::new_v4().into(); + Ok(Self { + artifact: TufArtifact { + id, + time_created: Utc::now(), + sha256: artifact.hash.into(), + generation_added: generation_added.into(), + }, + version: artifact.version.into(), + artifact_size: ByteCount(artifact.length.try_into()?), + tags: artifact.tags, + }) + } + + pub fn from_db_untagged( + artifact: TufArtifact, + file: TufArtifactFile, + ) -> Self { + Self { + artifact, + // `file.sha256` is ignored + version: file.version, + artifact_size: file.artifact_size, + tags: BTreeMap::new(), + } + } + + pub fn to_db_file(&self) -> TufArtifactFile { + TufArtifactFile { + sha256: self.artifact.sha256, + version: self.version.clone(), + artifact_size: self.artifact_size, + } + } + + pub fn into_db( + self, + ) -> (TufArtifact, TufArtifactFile, impl Iterator) + { + let id = self.artifact.id; + let sha256 = self.artifact.sha256; + ( + self.artifact, + TufArtifactFile { + sha256, + version: self.version, + artifact_size: self.artifact_size, + }, + self.tags.into_iter().map(move |(key, value)| TufArtifactTag { + tuf_artifact_id: id, + key, + value, + }), + ) + } +} + +impl From for tufaceous_artifact_v2::Artifact { + fn from(description: TufArtifactDescription) -> Self { + tufaceous_artifact_v2::Artifact { + version: description.version.into(), + tags: description.tags, + hash: description.artifact.sha256.0, + length: description.artifact_size.0.to_bytes(), + } + } +} + +impl IdHashItem for TufArtifactDescription { + type Key<'a> = &'a DbTypedUuid; + + fn key(&self) -> Self::Key<'_> { + &self.artifact.id + } + + id_upcast!(); +} + /// A record representing an uploaded TUF repository. #[derive( Queryable, Identifiable, Insertable, Clone, Debug, Selectable, AsChangeset, @@ -86,68 +209,15 @@ pub struct TufRepo { // XXX: We're overloading ArtifactHash here to also mean the hash of the // repository zip itself. pub sha256: ArtifactHash, - pub targets_role_version: i64, - pub valid_until: DateTime, pub system_version: SemverVersion, pub file_name: String, } impl TufRepo { - /// Creates a new `TufRepo` ready for insertion. - pub fn new( - sha256: ArtifactHash, - targets_role_version: u64, - valid_until: DateTime, - system_version: SemverVersion, - file_name: String, - ) -> Self { - Self { - id: TypedUuid::new_v4().into(), - time_created: Utc::now(), - time_pruned: None, - sha256, - targets_role_version: targets_role_version as i64, - valid_until, - system_version, - file_name, - } - } - - /// Creates a new `TufRepo` ready for insertion from an external - /// `TufRepoMeta`. - /// - /// This is not implemented as a `From` impl because we insert new fields - /// as part of the process, which `From` doesn't necessarily communicate - /// and can be surprising. - pub fn from_external(repo: external::TufRepoMeta) -> Self { - Self::new( - repo.hash.into(), - repo.targets_role_version, - repo.valid_until, - repo.system_version.into(), - repo.file_name, - ) - } - - pub fn into_external(self) -> external::TufRepoMeta { - external::TufRepoMeta { - hash: self.sha256.into(), - targets_role_version: self.targets_role_version as u64, - valid_until: self.valid_until, - system_version: self.system_version.into(), - file_name: self.file_name, - } - } - /// Returns the repository's ID. pub fn id(&self) -> TypedUuid { self.id.into() } - - /// Returns the targets role version. - pub fn targets_role_version(&self) -> u64 { - self.targets_role_version as u64 - } } impl From for update_types::TufRepo { @@ -165,91 +235,36 @@ impl From for update_types::TufRepo { #[diesel(table_name = tuf_artifact)] pub struct TufArtifact { pub id: DbTypedUuid, - pub name: String, - pub version: DbArtifactVersion, - pub kind: String, pub time_created: DateTime, pub sha256: ArtifactHash, - artifact_size: i64, pub generation_added: Generation, - pub sign: Option>, - pub board: Option, } impl TufArtifact { - /// Creates a new `TufArtifact` ready for insertion. - pub fn new( - artifact_id: ArtifactId, - sha256: ArtifactHash, - artifact_size: u64, - generation_added: external::Generation, - board: Option, - sign: Option>, - ) -> Self { - Self { - id: TypedUuid::new_v4().into(), - name: artifact_id.name, - version: artifact_id.version.into(), - kind: artifact_id.kind.as_str().to_owned(), - time_created: Utc::now(), - sha256, - artifact_size: artifact_size as i64, - generation_added: generation_added.into(), - board, - sign, - } - } - - /// Creates a new `TufArtifact` ready for insertion from an external - /// `TufArtifactMeta`. - /// - /// This is not implemented as a `From` impl because we insert new fields - /// as part of the process, which `From` doesn't necessarily communicate - /// and can be surprising. - pub fn from_external( - artifact: external::TufArtifactMeta, - generation_added: external::Generation, - ) -> Self { - Self::new( - artifact.id, - artifact.hash.into(), - artifact.size, - generation_added, - artifact.board, - artifact.sign, - ) - } - - /// Converts self into [`external::TufArtifactMeta`]. - pub fn into_external(self) -> external::TufArtifactMeta { - external::TufArtifactMeta { - id: ArtifactId { - name: self.name, - version: self.version.into(), - kind: ArtifactKind::new(self.kind), - }, - hash: self.sha256.into(), - size: self.artifact_size as u64, - board: self.board, - sign: self.sign, - } - } - /// Returns the artifact's ID. pub fn id(&self) -> TypedUuid { self.id.into() } +} - /// Returns the artifact's name, version, and kind, which is unique across - /// all artifacts. - pub fn nvk(&self) -> (&str, &ArtifactVersion, &str) { - (&self.name, &self.version, &self.kind) - } +#[derive( + Queryable, Insertable, Clone, Debug, PartialEq, Selectable, AsChangeset, +)] +#[diesel(table_name = tuf_artifact_file)] +pub struct TufArtifactFile { + pub sha256: ArtifactHash, + pub version: DbArtifactVersion, + pub artifact_size: ByteCount, +} - /// Returns the artifact length in bytes. - pub fn artifact_size(&self) -> u64 { - self.artifact_size as u64 +impl IdHashItem for TufArtifactFile { + type Key<'a> = &'a ArtifactHash; + + fn key(&self) -> Self::Key<'_> { + &self.sha256 } + + id_upcast!(); } /// Artifact version in the database: a freeform identifier. @@ -300,12 +315,28 @@ impl FromSql for DbArtifactVersion { #[derive(Queryable, Insertable, Clone, Debug, Selectable)] #[diesel(table_name = tuf_repo_artifact)] pub struct TufRepoArtifact { - pub tuf_repo_id: Uuid, - pub tuf_artifact_id: Uuid, + pub tuf_repo_id: DbTypedUuid, + pub tuf_artifact_id: DbTypedUuid, +} + +#[derive(Queryable, Insertable, Clone, Debug, Selectable)] +#[diesel(table_name = tuf_artifact_tag)] +pub struct TufArtifactTag { + pub tuf_artifact_id: DbTypedUuid, + pub key: String, + pub value: String, +} + +#[derive(Queryable, Insertable, Clone, Debug, Selectable)] +#[diesel(table_name = tuf_repo_metadata)] +pub struct TufMetadataEntry { + pub tuf_repo_id: DbTypedUuid, + pub key: String, + pub value: String, } -/// A wrapper around omicron-common's [`ArtifactHash`](ExternalArtifactHash), -/// supported by Diesel. +/// A wrapper around tufaceous-artifact's +/// [`ArtifactHash`](ExternalArtifactHash), supported by Diesel. #[derive( Copy, Clone, @@ -313,6 +344,8 @@ pub struct TufRepoArtifact { Hash, PartialEq, Eq, + PartialOrd, + Ord, AsExpression, FromSqlRow, Serialize, @@ -365,7 +398,7 @@ pub struct TufTrustRoot { } impl TufTrustRoot { - pub fn new(root_role: TufSignedRootRole) -> TufTrustRoot { + pub fn new(root_role: update_types::TufSignedRootRole) -> TufTrustRoot { TufTrustRoot { id: TufTrustRootUuid::new_v4().into(), time_created: Utc::now(), @@ -391,7 +424,7 @@ impl From for update_types::UpdatesTrustRoot { #[derive(Debug, Clone, AsExpression, FromSqlRow)] #[diesel(sql_type = Jsonb)] -pub struct DbTufSignedRootRole(pub TufSignedRootRole); +pub struct DbTufSignedRootRole(pub update_types::TufSignedRootRole); impl ToSql for DbTufSignedRootRole { fn to_sql<'a>( diff --git a/nexus/db-queries/Cargo.toml b/nexus/db-queries/Cargo.toml index 9f016e857c4..22e41d6771e 100644 --- a/nexus/db-queries/Cargo.toml +++ b/nexus/db-queries/Cargo.toml @@ -55,7 +55,7 @@ strum.workspace = true swrite.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["full"] } -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true trust-quorum-protocol.workspace = true url.workspace = true usdt.workspace = true diff --git a/nexus/db-queries/src/db/datastore/deployment.rs b/nexus/db-queries/src/db/datastore/deployment.rs index 94af133454f..9d7fad752d3 100644 --- a/nexus/db-queries/src/db/datastore/deployment.rs +++ b/nexus/db-queries/src/db/datastore/deployment.rs @@ -21,7 +21,6 @@ use clickhouse_admin_types::keeper::KeeperId; use clickhouse_admin_types::server::ServerId; use core::future::Future; use core::pin::Pin; -use diesel::BoolExpressionMethods; use diesel::ExpressionMethods; use diesel::Insertable; use diesel::IntoSql; @@ -72,7 +71,7 @@ use nexus_db_model::Ipv6Addr; use nexus_db_model::SpMgsSlot; use nexus_db_model::SpType; use nexus_db_model::SqlU16; -use nexus_db_model::TufArtifact; +use nexus_db_model::TufArtifactFile; use nexus_db_model::to_db_typed_uuid; use nexus_db_schema::enums::HwM2SlotEnum; use nexus_db_schema::enums::HwRotSlotEnum; @@ -119,8 +118,6 @@ use std::collections::BTreeMap; use std::collections::BTreeSet; use std::sync::Arc; use thiserror::Error; -use tufaceous_artifact::ArtifactKind; -use tufaceous_artifact::KnownArtifactKind; use uuid::Uuid; mod external_networking; @@ -696,11 +693,13 @@ impl DataStore { Option, )> = { use nexus_db_schema::schema::bp_sled_metadata::dsl; - use nexus_db_schema::schema::tuf_artifact::dsl as tuf_artifact_dsl; + use nexus_db_schema::schema::tuf_artifact_file::dsl as tuf_artifact_file_dsl; let (tuf1, tuf2) = diesel::alias!( - nexus_db_schema::schema::tuf_artifact as tuf_artifact_1, - nexus_db_schema::schema::tuf_artifact as tuf_artifact_2, + nexus_db_schema::schema::tuf_artifact_file + as tuf_artifact_file_1, + nexus_db_schema::schema::tuf_artifact_file + as tuf_artifact_file_2, ); let mut rows = Vec::new(); @@ -720,28 +719,20 @@ impl DataStore { // which is non-fatal. .left_join( tuf1.on(tuf1 - .field(tuf_artifact_dsl::kind) - .eq(ArtifactKind::HOST_PHASE_2.to_string()) - .and( - tuf1.field(tuf_artifact_dsl::sha256) - .nullable() - .eq(dsl::host_phase_2_desired_slot_a), - )), + .field(tuf_artifact_file_dsl::sha256) + .nullable() + .eq(dsl::host_phase_2_desired_slot_a)), ) .left_join( tuf2.on(tuf2 - .field(tuf_artifact_dsl::kind) - .eq(ArtifactKind::HOST_PHASE_2.to_string()) - .and( - tuf2.field(tuf_artifact_dsl::sha256) - .nullable() - .eq(dsl::host_phase_2_desired_slot_b), - )), + .field(tuf_artifact_file_dsl::sha256) + .nullable() + .eq(dsl::host_phase_2_desired_slot_b)), ) .select(( BpSledMetadata::as_select(), - tuf1.fields(tuf_artifact_dsl::version).nullable(), - tuf2.fields(tuf_artifact_dsl::version).nullable(), + tuf1.fields(tuf_artifact_file_dsl::version).nullable(), + tuf2.fields(tuf_artifact_file_dsl::version).nullable(), )) .load_async::<( BpSledMetadata, @@ -789,9 +780,9 @@ impl DataStore { }; // Load zone rows - let raw_zones: Vec<(BpOmicronZone, Option)> = { + let raw_zones: Vec<(BpOmicronZone, Option)> = { use nexus_db_schema::schema::bp_omicron_zone::dsl; - use nexus_db_schema::schema::tuf_artifact::dsl as tuf_artifact_dsl; + use nexus_db_schema::schema::tuf_artifact_file::dsl as tuf_artifact_file_dsl; let mut rows = Vec::new(); let mut paginator = Paginator::new( @@ -808,21 +799,19 @@ impl DataStore { ) .filter(dsl::blueprint_id.eq(to_db_typed_uuid(blueprint_id))) // Left join in case the artifact is missing from the - // tuf_artifact table, which is non-fatal. + // tuf_artifact_file table, which is non-fatal. .left_join( - tuf_artifact_dsl::tuf_artifact.on(tuf_artifact_dsl::kind - .eq(KnownArtifactKind::Zone.to_string()) - .and( - tuf_artifact_dsl::sha256 - .nullable() - .eq(dsl::image_artifact_sha256), - )), + tuf_artifact_file_dsl::tuf_artifact_file.on( + tuf_artifact_file_dsl::sha256 + .nullable() + .eq(dsl::image_artifact_sha256), + ), ) .select(( BpOmicronZone::as_select(), - Option::::as_select(), + Option::::as_select(), )) - .load_async::<(BpOmicronZone, Option)>(&*conn) + .load_async::<(BpOmicronZone, Option)>(&*conn) .await .map_err(|e| { public_error_from_diesel(e, ErrorHandler::Server) @@ -1156,9 +1145,12 @@ impl DataStore { bbs }; - let raw_measurements: Vec<(BpSingleMeasurement, Option)> = { + let raw_measurements: Vec<( + BpSingleMeasurement, + Option, + )> = { use nexus_db_schema::schema::bp_single_measurements::dsl; - use nexus_db_schema::schema::tuf_artifact::dsl as tuf_artifact_dsl; + use nexus_db_schema::schema::tuf_artifact_file::dsl as tuf_artifact_file_dsl; let mut rows = Vec::new(); let mut paginator = Paginator::new( @@ -1175,18 +1167,15 @@ impl DataStore { // Left join in case the artifact is missing from the // tuf_artifact table, which is non-fatal. .left_join( - tuf_artifact_dsl::tuf_artifact.on(tuf_artifact_dsl::kind - .eq(ArtifactKind::MEASUREMENT_CORPUS.to_string()) - .and( - tuf_artifact_dsl::sha256 - .eq(dsl::image_artifact_sha256), - )), + tuf_artifact_file_dsl::tuf_artifact_file + .on(tuf_artifact_file_dsl::sha256 + .eq(dsl::image_artifact_sha256)), ) .select(( BpSingleMeasurement::as_select(), - Option::::as_select(), + Option::::as_select(), )) - .load_async::<(BpSingleMeasurement, Option)>( + .load_async::<(BpSingleMeasurement, Option)>( &*conn, ) .await @@ -3158,14 +3147,11 @@ mod tests { }; use nexus_types::external_api::sled::{SledPolicy, SledState}; use nexus_types::inventory::Collection; + use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::address::IpRange; use omicron_common::address::Ipv6Subnet; - use omicron_common::api::external::TufArtifactMeta; - use omicron_common::api::external::TufRepoDescription; - use omicron_common::api::external::TufRepoMeta; use omicron_common::disk::DiskIdentity; use omicron_common::disk::M2Slot; - use omicron_common::update::ArtifactId; use omicron_test_utils::dev; use omicron_test_utils::dev::poll::CondCheckError; use omicron_test_utils::dev::poll::wait_for_condition; @@ -3175,6 +3161,7 @@ mod tests { use omicron_uuid_kinds::ZpoolUuid; use pretty_assertions::assert_eq; use rand::Rng; + use std::collections::BTreeMap; use std::collections::BTreeSet; use std::mem; use std::net::Ipv6Addr; @@ -3182,8 +3169,14 @@ mod tests { use std::sync::atomic::AtomicBool; use std::sync::atomic::Ordering; use std::time::Duration; - use tufaceous_artifact::ArtifactHash; - use tufaceous_artifact::ArtifactVersion; + use tufaceous_artifact_v2::Artifact; + use tufaceous_artifact_v2::ArtifactHash; + use tufaceous_artifact_v2::ArtifactSet; + use tufaceous_artifact_v2::ArtifactVersion; + use tufaceous_artifact_v2::KnownArtifactTags; + use tufaceous_artifact_v2::OsPhase2Tags; + use tufaceous_artifact_v2::OsVariant; + use tufaceous_artifact_v2::ZoneTags; #[derive(Default)] pub struct NetworkResourceControlFlow { @@ -3373,48 +3366,36 @@ mod tests { const SYSTEM_HASH: ArtifactHash = ArtifactHash([6; 32]); let tuf_repo = TufRepoDescription { - repo: TufRepoMeta { - hash: SYSTEM_HASH, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: SYSTEM_VERSION, - file_name: String::new(), - }, - artifacts: vec![ - TufArtifactMeta { - id: ArtifactId { - name: "measurement1".into(), - version: ARTIFACT_VERSION_1, - kind: ArtifactKind::MEASUREMENT_CORPUS, - }, + artifacts: ArtifactSet::from([ + Artifact { + version: ARTIFACT_VERSION_1, + tags: KnownArtifactTags::MeasurementCorpus + .to_tags() + .unwrap(), hash: MEASUREMENT_ARTIFACT_HASH_1, - size: 0, - board: None, - sign: None, + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: "measurement2".into(), - version: ARTIFACT_VERSION_1, - kind: ArtifactKind::MEASUREMENT_CORPUS, - }, + Artifact { + version: ARTIFACT_VERSION_1, + tags: KnownArtifactTags::MeasurementCorpus + .to_tags() + .unwrap(), hash: MEASUREMENT_ARTIFACT_HASH_2, - size: 0, - board: None, - sign: None, + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: "measurement3".into(), - version: ARTIFACT_VERSION_2, - kind: ArtifactKind::MEASUREMENT_CORPUS, - }, + Artifact { + version: ARTIFACT_VERSION_2, + tags: KnownArtifactTags::MeasurementCorpus + .to_tags() + .unwrap(), hash: MEASUREMENT_ARTIFACT_HASH_3, - size: 0, - board: None, - sign: None, + length: 0, }, - ], + ]), + metadata: BTreeMap::new(), + system_version: SYSTEM_VERSION, + hash: SYSTEM_HASH, + file_name: String::new(), }; // Add rows to the tuf_artifact table to test version lookups. @@ -3434,18 +3415,17 @@ mod tests { ) .expect("failed to create builder"); - let mut measurements = BTreeSet::new(); - - for artifact in &tuf_repo.artifacts { - if artifact.id.kind == ArtifactKind::MEASUREMENT_CORPUS { - measurements.insert(BlueprintSingleMeasurement { - version: BlueprintArtifactVersion::Available { - version: artifact.id.version.clone(), - }, - hash: artifact.hash, - }); - } - } + let measurements = tuf_repo + .artifacts + .get_all(&KnownArtifactTags::MeasurementCorpus) + .iter() + .map(|artifact| BlueprintSingleMeasurement { + version: BlueprintArtifactVersion::Available { + version: artifact.version.clone(), + }, + hash: artifact.hash, + }) + .collect::>(); assert_eq!(measurements.len(), 3); @@ -3673,48 +3653,46 @@ mod tests { .tuf_repo_insert( opctx, &TufRepoDescription { - repo: TufRepoMeta { - hash: SYSTEM_HASH, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: SYSTEM_VERSION, - file_name: String::new(), - }, - artifacts: vec![ - TufArtifactMeta { - id: ArtifactId { - name: String::new(), - version: ARTIFACT_VERSION_1, - kind: KnownArtifactKind::Zone.into(), - }, + artifacts: ArtifactSet::from([ + Artifact { + version: ARTIFACT_VERSION_1, + tags: KnownArtifactTags::Zone(ZoneTags { + zone_name: String::new(), + }) + .to_tags() + .unwrap(), hash: ZONE_ARTIFACT_HASH_1, - size: 0, - board: None, - sign: None, + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: "host-1".into(), - version: ARTIFACT_VERSION_2, - kind: ArtifactKind::HOST_PHASE_2, - }, + Artifact { + version: ARTIFACT_VERSION_2, + tags: KnownArtifactTags::OsPhase2( + OsPhase2Tags { + os_variant: OsVariant::Host, + }, + ) + .to_tags() + .unwrap(), hash: HOST_ARTIFACT_HASH_1, - size: 0, - board: None, - sign: None, + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: "host-2".into(), - version: ARTIFACT_VERSION_3, - kind: ArtifactKind::HOST_PHASE_2, - }, + Artifact { + version: ARTIFACT_VERSION_3, + tags: KnownArtifactTags::OsPhase2( + OsPhase2Tags { + os_variant: OsVariant::Host, + }, + ) + .to_tags() + .unwrap(), hash: HOST_ARTIFACT_HASH_2, - size: 0, - board: None, - sign: None, + length: 0, }, - ], + ]), + metadata: BTreeMap::new(), + system_version: SYSTEM_VERSION, + hash: SYSTEM_HASH, + file_name: String::new(), }, ) .await diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index e618fbea4de..c97c06e50bc 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -5432,7 +5432,7 @@ mod test { use sled_hardware_types::BaseboardId; use std::num::NonZeroU32; use std::time::Duration; - use tufaceous_artifact::ArtifactHash; + use tufaceous_artifact_v2::ArtifactHash; struct CollectionCounts { baseboards: usize, diff --git a/nexus/db-queries/src/db/datastore/target_release.rs b/nexus/db-queries/src/db/datastore/target_release.rs index 5d6331d3dac..3379766ac9c 100644 --- a/nexus/db-queries/src/db/datastore/target_release.rs +++ b/nexus/db-queries/src/db/datastore/target_release.rs @@ -281,17 +281,17 @@ mod test { use nexus_auth::context::OpContext; use nexus_db_model::TargetRelease; use nexus_db_model::TufRepo; - use omicron_common::api::external::{ - TufArtifactMeta, TufRepoDescription, TufRepoMeta, - }; + use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::now_db_precision; - use omicron_common::update::ArtifactId; use omicron_test_utils::dev; use semver::Version; use sha2::Digest; use sha2::Sha256; use slog_error_chain::InlineErrorChain; - use tufaceous_artifact::{ArtifactHash, ArtifactKind, ArtifactVersion}; + use std::collections::BTreeMap; + use tufaceous_artifact_v2::{ + Artifact, ArtifactHash, ArtifactSet, ArtifactVersion, + }; async fn insert_tuf_repo( opctx: &OpContext, @@ -306,24 +306,16 @@ mod test { .tuf_repo_insert( opctx, &TufRepoDescription { - repo: TufRepoMeta { - hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: version.clone(), - file_name: String::new(), - }, - artifacts: vec![TufArtifactMeta { - id: ArtifactId { - name: String::new(), - version: artifact_version, - kind: ArtifactKind::from_static("empty"), - }, + artifacts: ArtifactSet::from([Artifact { + version: artifact_version, + tags: BTreeMap::new(), hash, - size: 0, - board: None, - sign: None, - }], + length: 0, + }]), + metadata: BTreeMap::new(), + system_version: version.clone(), + hash, + file_name: String::new(), }, ) .await diff --git a/nexus/db-queries/src/db/datastore/update.rs b/nexus/db-queries/src/db/datastore/update.rs index b73db0a4166..f8ca9ba4acf 100644 --- a/nexus/db-queries/src/db/datastore/update.rs +++ b/nexus/db-queries/src/db/datastore/update.rs @@ -4,6 +4,7 @@ //! [`DataStore`] methods related to updates and artifacts. +use std::collections::BTreeMap; use std::collections::BTreeSet; use std::collections::HashMap; @@ -15,47 +16,108 @@ use crate::db::datastore::target_release::RecentTargetReleases; use crate::db::model::SemverVersion; use crate::db::pagination::Paginator; use crate::db::pagination::paginated; +use crate::db::pagination::paginated_multicolumn; use async_bb8_diesel::AsyncRunQueryDsl; use diesel::prelude::*; use diesel::result::Error as DieselError; +use iddqd::IdHashMap; use nexus_db_errors::OptionalError; use nexus_db_errors::{ErrorHandler, public_error_from_diesel}; use nexus_db_lookup::DbConnection; use nexus_db_model::{ - ArtifactHash, TargetRelease, TufArtifact, TufRepo, TufRepoDescription, - TufRepoUpload, TufTrustRoot, to_db_typed_uuid, + ArtifactHash, TargetRelease, TufArtifact, TufArtifactDescription, + TufArtifactFile, TufArtifactTag, TufMetadataEntry, TufRepo, + TufRepoDescription, TufRepoUpload, TufTrustRoot, to_db_typed_uuid, }; use nexus_types::external_api::update::TufRepoUploadStatus; use omicron_common::api::external::{ - self, CreateResult, DataPageParams, DeleteResult, Generation, - ListResultVec, LookupResult, LookupType, ResourceType, UpdateResult, + self, ByteCountRangeError, CreateResult, DataPageParams, DeleteResult, + Generation, ListResultVec, LookupResult, LookupType, ResourceType, + UpdateResult, }; use omicron_common::api::external::{Error, InternalContext}; use omicron_uuid_kinds::{GenericUuid, TufRepoUuid}; use semver::Version; use sled_agent_types::artifact::ArtifactConfig; use swrite::{SWrite, swrite}; -use tufaceous_artifact::ArtifactVersion; +use tufaceous_artifact_v2::{Artifact, ArtifactSet}; use uuid::Uuid; async fn artifacts_for_repo( repo_id: TufRepoUuid, conn: &async_bb8_diesel::Connection, -) -> Result, DieselError> { +) -> Result, DieselError> { use nexus_db_schema::schema::tuf_artifact::dsl as tuf_artifact_dsl; + use nexus_db_schema::schema::tuf_artifact_file::dsl as tuf_artifact_file_dsl; + use nexus_db_schema::schema::tuf_artifact_tag::dsl as tuf_artifact_tag_dsl; use nexus_db_schema::schema::tuf_repo_artifact::dsl as tuf_repo_artifact_dsl; - let join_on_dsl = + // We don't bother paginating in this method because all callers need to + // fully read the list of artifacts in a single repository, and the number + // of artifacts in a repository is controlled by the release engineering + // tooling, not users. As of July 2026 the artifact count is <100 and tag + // count is <250, and these numbers are expected to grow very slowly. + + // First collect all the artifacts belonging to this repo ID. + let join_on_dsl_1 = tuf_artifact_dsl::id.eq(tuf_repo_artifact_dsl::tuf_artifact_id); - // Don't bother paginating because each repo should only have a few (under - // 20) artifacts. - tuf_repo_artifact_dsl::tuf_repo_artifact + let join_on_dsl_2 = + tuf_artifact_file_dsl::sha256.eq(tuf_artifact_dsl::sha256); + let artifacts: Vec<(TufArtifact, TufArtifactFile)> = + tuf_repo_artifact_dsl::tuf_repo_artifact + .filter( + tuf_repo_artifact_dsl::tuf_repo_id + .eq(nexus_db_model::to_db_typed_uuid(repo_id)), + ) + .inner_join(tuf_artifact_dsl::tuf_artifact.on(join_on_dsl_1)) + .inner_join( + tuf_artifact_file_dsl::tuf_artifact_file.on(join_on_dsl_2), + ) + .select((TufArtifact::as_select(), TufArtifactFile::as_select())) + .load_async(conn) + .await?; + let mut artifacts = artifacts + .into_iter() + .map(|(artifact, file)| { + TufArtifactDescription::from_db_untagged(artifact, file) + }) + .collect::>(); + + // Now collect all the tags. + let join_on_dsl = tuf_artifact_tag_dsl::tuf_artifact_id + .eq(tuf_repo_artifact_dsl::tuf_artifact_id); + for tag in tuf_repo_artifact_dsl::tuf_repo_artifact .filter( tuf_repo_artifact_dsl::tuf_repo_id .eq(nexus_db_model::to_db_typed_uuid(repo_id)), ) - .inner_join(tuf_artifact_dsl::tuf_artifact.on(join_on_dsl)) - .select(TufArtifact::as_select()) + .inner_join(tuf_artifact_tag_dsl::tuf_artifact_tag.on(join_on_dsl)) + .select(TufArtifactTag::as_select()) + .load_async(conn) + .await? + { + if let Some(mut artifact) = artifacts.get_mut(&tag.tuf_artifact_id) { + artifact.tags.insert(tag.key, tag.value); + } + } + + Ok(artifacts.into_iter().collect()) +} + +async fn metadata_for_repo( + repo_id: TufRepoUuid, + conn: &async_bb8_diesel::Connection, +) -> Result, DieselError> { + use nexus_db_schema::schema::tuf_repo_metadata::dsl; + + // We don't bother paginating in this method because all callers need to + // fully read the list of metadata, and the amount of metadata keys in a + // repository is controlled by the release engineering tooling, not users. + // As of July 2026 the number of metadata keys per repository is 0, and when + // we start adding metadata it is expected to grow very slowly. + dsl::tuf_repo_metadata + .filter(dsl::tuf_repo_id.eq(nexus_db_model::to_db_typed_uuid(repo_id))) + .select(TufMetadataEntry::as_select()) .load_async(conn) .await } @@ -70,15 +132,13 @@ impl DataStore { pub async fn tuf_repo_insert( &self, opctx: &OpContext, - description: &external::TufRepoDescription, + description: &nexus_types::tuf_repo::TufRepoDescription, ) -> CreateResult { opctx.authorize(authz::Action::Modify, &authz::FLEET).await?; - let log = opctx.log.new( - slog::o!( - "method" => "update_tuf_repo_insert", - "uploaded_system_version" => description.repo.system_version.to_string(), - ), - ); + let log = opctx.log.new(slog::o!( + "method" => "update_tuf_repo_insert", + "uploaded_system_version" => description.system_version.to_string(), + )); let err = OptionalError::new(); let err2 = err.clone(); @@ -127,7 +187,11 @@ impl DataStore { let artifacts = artifacts_for_repo(repo.id.into(), &conn) .await .map_err(|e| public_error_from_diesel(e, ErrorHandler::Server))?; - Ok(TufRepoDescription { repo, artifacts }) + let metadata = metadata_for_repo(repo.id.into(), &conn) + .await + .map_err(|e| public_error_from_diesel(e, ErrorHandler::Server))?; + + Ok(TufRepoDescription { repo, artifacts, metadata }) } /// Returns the TUF repo corresponding to this system version. @@ -249,6 +313,8 @@ impl DataStore { opctx: &OpContext, ) -> LookupResult { opctx.check_complex_operations_allowed()?; + opctx.authorize(authz::Action::Read, &authz::FLEET).await?; + let conn = self.pool_connection_authorized(opctx).await?; let generation = self.tuf_get_generation(opctx).await?; let repos = self.tuf_list_repos_unpruned_batched(opctx).await?; @@ -267,13 +333,33 @@ impl DataStore { let mut config = ArtifactConfig { generation, artifacts: BTreeSet::new() }; - for repo in repos { - config.artifacts.extend( - self.tuf_list_repo_artifacts(opctx, repo.id()) - .await? - .into_iter() - .map(|artifact| artifact.sha256.0), - ); + let mut paginator = Paginator::new( + SQL_BATCH_SIZE, + dropshot::PaginationOrder::Ascending, + ); + while let Some(p) = paginator.next() { + use nexus_db_schema::schema::tuf_artifact::dsl as tuf_artifact_dsl; + use nexus_db_schema::schema::tuf_repo_artifact::dsl; + + let pagination_columns = (dsl::tuf_repo_id, dsl::tuf_artifact_id); + let join_on_dsl = tuf_artifact_dsl::id.eq(dsl::tuf_artifact_id); + + let batch = paginated_multicolumn( + dsl::tuf_repo_artifact, + pagination_columns, + &p.current_pagparams(), + ) + .filter(dsl::tuf_repo_id.eq_any(repos.iter().map(|repo| repo.id))) + .inner_join(tuf_artifact_dsl::tuf_artifact.on(join_on_dsl)) + .select((pagination_columns, tuf_artifact_dsl::sha256)) + .load_async::<((Uuid, Uuid), ArtifactHash)>(&*conn) + .await + .map_err(|e| public_error_from_diesel(e, ErrorHandler::Server))?; + + paginator = p.found_batch(&batch, &|(key, _)| *key); + config + .artifacts + .extend(batch.into_iter().map(|(_, sha256)| sha256.0)); } Ok(config) } @@ -448,7 +534,7 @@ impl DataStore { &self, opctx: &OpContext, repo_id: TufRepoUuid, - ) -> ListResultVec { + ) -> ListResultVec { opctx.authorize(authz::Action::Read, &authz::FLEET).await?; let conn = self.pool_connection_authorized(opctx).await?; artifacts_for_repo(repo_id, &conn) @@ -567,7 +653,7 @@ impl DataStore { async fn insert_impl( log: slog::Logger, conn: async_bb8_diesel::Connection, - desc: &external::TufRepoDescription, + logical_desc: &nexus_types::tuf_repo::TufRepoDescription, err: OptionalError, ) -> Result { // Load the current generation from the database and increment it, then @@ -576,7 +662,8 @@ async fn insert_impl( // later. let old_generation = get_generation(&conn).await?; let new_generation = old_generation.next(); - let desc = TufRepoDescription::from_external(desc.clone(), new_generation); + let desc = TufRepoDescription::new(logical_desc.clone(), new_generation) + .map_err(|error| err.bail(InsertError::ByteCountRangeError(error)))?; let repo = { use nexus_db_schema::schema::tuf_repo::dsl; @@ -590,8 +677,41 @@ async fn insert_impl( .optional()?; if let Some(mut existing_repo) = existing_repo { - // It doesn't matter whether the UUID of the repo matches or not, - // since it's uniquely generated. But do check the hash. + // A repository for this system version already exists. Fetch all + // additional information about the repository from the database + // and ensure the uploaded repository and the existing repository + // are equivalent. If so, update `time_created` and `time_pruned` to + // reset its position in the pruning queue, and return the existing + // repository. + let existing_artifacts = + artifacts_for_repo(existing_repo.id.into(), &conn).await?; + let existing_metadata = + metadata_for_repo(existing_repo.id.into(), &conn).await?; + + { + // `ArtifactSet` maintains consistent ordering. + let existing_artifacts = existing_artifacts + .iter() + .cloned() + .map(Artifact::from) + .collect::(); + if logical_desc.artifacts != existing_artifacts { + return Err(err.bail(InsertError::RepoArtifactMismatch { + system_version: desc.repo.system_version, + })); + } + + let existing_metadata = existing_metadata + .iter() + .map(|TufMetadataEntry { key, value, .. }| (key, value)) + .collect::>(); + if !logical_desc.metadata.iter().eq(existing_metadata) { + return Err(err.bail(InsertError::RepoMetadataMismatch { + system_version: desc.repo.system_version, + })); + } + } + if existing_repo.sha256 != desc.repo.sha256 { return Err(err.bail(InsertError::RepoHashMismatch { system_version: desc.repo.system_version, @@ -600,25 +720,38 @@ async fn insert_impl( })); } - // This repo matches a previous record, so reset `time_created` to - // now and ensure `time_pruned` is set to NULL. + // Now, reset `time_created` to now and ensure `time_pruned` is set + // to NULL. existing_repo.time_created = chrono::Utc::now(); + if existing_repo.time_pruned.is_some() { + // We're changing the set of unpruned repositories, so we need + // to bump the generation number. + debug!(log, "setting new TUF repo generation"; + "generation" => new_generation, + ); + put_generation( + &conn, + old_generation.into(), + new_generation.into(), + ) + .await?; + } existing_repo.time_pruned = None; diesel::update(dsl::tuf_repo) .filter(dsl::id.eq(existing_repo.id)) .set(( + dsl::sha256.eq(existing_repo.sha256), dsl::time_created.eq(existing_repo.time_created), dsl::time_pruned.eq(existing_repo.time_pruned), )) .execute_async(&conn) .await?; - // Just return the existing repo along with all of its artifacts. - let artifacts = - artifacts_for_repo(existing_repo.id.into(), &conn).await?; - - let recorded = - TufRepoDescription { repo: existing_repo, artifacts }; + let recorded = TufRepoDescription { + repo: existing_repo, + artifacts: existing_artifacts, + metadata: existing_metadata, + }; return Ok(TufRepoUpload { recorded, status: TufRepoUploadStatus::AlreadyExists, @@ -638,64 +771,108 @@ async fn insert_impl( // Since we've inserted a new repo, we also need to insert the // corresponding artifacts. let all_artifacts = { - use nexus_db_schema::schema::tuf_artifact::dsl; - - // Multiple repos can have the same artifacts, so we shouldn't error - // out if we find an existing artifact. However, we should check that - // the SHA256 hash and length matches if an existing artifact matches. - - let mut filter_dsl = dsl::tuf_artifact.into_boxed(); - for artifact in desc.artifacts.clone() { - filter_dsl = filter_dsl - .or_filter( - // Look up artifacts by name/version/kind. - dsl::name - .eq(artifact.name) - .and(dsl::version.eq(artifact.version)) - .and(dsl::kind.eq(artifact.kind.clone())), - ) - .or_filter( - // Also look up artifacts by kind/hash. - dsl::kind - .eq(artifact.kind) - .and(dsl::sha256.eq(artifact.sha256)), - ); - } + use nexus_db_schema::schema::tuf_artifact::dsl as tuf_artifact_dsl; + use nexus_db_schema::schema::tuf_artifact_file::dsl as tuf_artifact_file_dsl; + use nexus_db_schema::schema::tuf_artifact_tag::dsl as tuf_artifact_tag_dsl; - let results = filter_dsl - .select(TufArtifact::as_select()) + // Multiple repos can have the same artifacts, so we shouldn't error out + // if we find an existing artifact. However, we should avoid adding new + // rows to the artifact table if we've already recorded them. + // + // The only rule we enforce is that if two artifacts have the same + // SHA-256 checksum, they must also have the same length and the same + // version (because artifacts should contain their own version string, + // or otherwise be unique due to the version). This is enforced at the + // database schema via the `tuf_artifact_file` table. + // + // We don't enforce that two artifacts with the same SHA-256 checksum + // have the same tags; they are entered as separate artifacts. Two + // artifacts with the same contents may have different tags to allow + // them to be selected in a way that is clear to Nexus (for example, if + // we have two kinds of compute sleds that use the same CPU generation, + // we might want to select the same OS phase 1 image with either board + // name.) + // + // Because it is not possible for the database to ensure a one-to-one + // mapping of artifact UUID to a set of tags and SHA-256 checksum, it + // is possible to end up with multiple artifact entries in the database + // with the same set of tags. This is okay; we don't make decisions + // around the uniqueness of an artifact in the database. This function + // makes a best-effort attempt to avoid inserting duplicate artifacts to + // avoid unnecessary database bloat. + + // First, build a list of artifacts matching any artifact hash present + // in the uploaded repository. + let mut results = tuf_artifact_dsl::tuf_artifact + .filter( + tuf_artifact_dsl::sha256 + .eq_any(desc.artifacts.iter().map(|a| a.artifact.sha256)), + ) + .inner_join( + tuf_artifact_file_dsl::tuf_artifact_file + .on(tuf_artifact_file_dsl::sha256 + .eq(tuf_artifact_dsl::sha256)), + ) + .select((TufArtifact::as_select(), TufArtifactFile::as_select())) .load_async(&conn) - .await?; - debug!( - log, - "found {} existing artifacts with nvk lookup", results.len(); - "results" => ?results, - ); + .await? + .into_iter() + .map(|(artifact, file)| { + TufArtifactDescription::from_db_untagged(artifact, file) + }) + .collect::>(); + // Now fetch their tags and add them. + if !results.is_empty() { + for tag in tuf_artifact_tag_dsl::tuf_artifact_tag + .filter(tuf_artifact_tag_dsl::tuf_artifact_id.eq_any( + results.iter().map(|artifact| artifact.artifact.id), + )) + .select(TufArtifactTag::as_select()) + .load_async(&conn) + .await? + { + if let Some(mut artifact) = + results.get_mut(&tag.tuf_artifact_id) + { + artifact.tags.insert(tag.key, tag.value); + } + } + } + + // Time to make this list useful. For each artifact in our uploaded + // repository, we need to find any artifacts with the same SHA-256 + // checksum and ensure its length and version are equal to ours. Then + // we need to look for an artifact with the same set of tags as ours. + // If one is present, we use the already-present artifact instead of the + // newly-generated one. + // + // We use a nested hash table. The outer hash table uses the SHA-256 + // checksum as the key. The inner hash table uses a BTreeMap of the tag + // keys and values as the key. + let mut lookup = HashMap::<_, HashMap<_, _>>::new(); + for artifact in &results { + lookup + .entry(artifact.artifact.sha256) + .or_default() + .insert(&artifact.tags, artifact); + } - let results_by_id = results - .iter() - .map(|artifact| (artifact.nvk(), artifact)) - .collect::>(); - let results_by_hash_id = results - .iter() - .map(|artifact| ((&artifact.kind, artifact.sha256), artifact)) - .collect::>(); - - // uploaded_and_existing contains non-matching artifacts in pairs of - // (uploaded, currently in db). - let mut nvk_mismatch = Vec::new(); - let mut hash_id_mismatch = Vec::new(); + // Iterate through our uploaded artifacts, check that their length and + // version are equal to what's in the database, and then look for an + // existing entry we can use instead or insert our new entry. + let mut mismatch = Vec::new(); + let mut new_files: IdHashMap = IdHashMap::new(); let mut new_artifacts = Vec::new(); let mut all_artifacts = Vec::new(); enum ArtifactStatus<'a> { New, - Existing(&'a TufArtifact), + Existing(&'a TufArtifactDescription), Mismatch, } impl<'a> ArtifactStatus<'a> { - fn mark_existing(&mut self, artifact: &'a TufArtifact) { + fn mark_existing(&mut self, artifact: &'a TufArtifactDescription) { match self { ArtifactStatus::New => { *self = ArtifactStatus::Existing(artifact) @@ -716,44 +893,42 @@ async fn insert_impl( } } - for uploaded_artifact in desc.artifacts.clone() { + for uploaded_artifact in &desc.artifacts { let mut status = ArtifactStatus::New; - if let Some(&existing_nvk) = - results_by_id.get(&uploaded_artifact.nvk()) + let uploaded_file = uploaded_artifact.to_db_file(); + // Check that this isn't a mismatch within the repository. + if let Some(file) = + new_files.get(&uploaded_artifact.artifact.sha256) { - status.mark_existing(existing_nvk); - if existing_nvk.sha256 != uploaded_artifact.sha256 - || existing_nvk.artifact_size() - != uploaded_artifact.artifact_size() - { - nvk_mismatch.push(( - uploaded_artifact.clone(), - existing_nvk.clone(), - )); + if uploaded_file != *file { + mismatch.push((uploaded_file.clone(), file.clone())); status.mark_mismatch(); } - }; - - if let Some(&existing_hash) = results_by_hash_id - .get(&(&uploaded_artifact.kind, uploaded_artifact.sha256)) + } + if let Some(inner) = lookup.get(&uploaded_artifact.artifact.sha256) { - status.mark_existing(existing_hash); - if existing_hash.name != uploaded_artifact.name - || existing_hash.version != uploaded_artifact.version - { - hash_id_mismatch.push(( - uploaded_artifact.clone(), - existing_hash.clone(), - )); - status.mark_mismatch(); + // Check that this isn't a mismatch within previously-uploaded + // artifacts. + for artifact in inner.values() { + let artifact_file = artifact.to_db_file(); + if uploaded_file != artifact_file { + mismatch.push((uploaded_file.clone(), artifact_file)); + status.mark_mismatch(); + break; + } } - }; + // Check to see if this artifact already exists with the same + // tags. + if let Some(artifact) = inner.get(&uploaded_artifact.tags) { + status.mark_existing(artifact); + } + } - // This is a new artifact. match status { ArtifactStatus::New => { new_artifacts.push(uploaded_artifact.clone()); - all_artifacts.push(uploaded_artifact); + new_files.insert_overwrite(uploaded_file); + all_artifacts.push(uploaded_artifact.clone()); } ArtifactStatus::Existing(existing_artifact) => { all_artifacts.push(existing_artifact.clone()); @@ -765,15 +940,11 @@ async fn insert_impl( } } - if !nvk_mismatch.is_empty() || !hash_id_mismatch.is_empty() { + if !mismatch.is_empty() { debug!(log, "uploaded artifacts don't match existing artifacts"; - "nvk_mismatch" => ?nvk_mismatch, - "hash_id_mismatch" => ?hash_id_mismatch, + "mismatch" => ?mismatch, ); - return Err(err.bail(InsertError::ArtifactMismatch { - nvk_mismatch, - hash_id_mismatch, - })); + return Err(err.bail(InsertError::ArtifactMismatch { mismatch })); } debug!( @@ -791,17 +962,40 @@ async fn insert_impl( put_generation(&conn, old_generation.into(), new_generation.into()) .await?; + let (new_artifacts, mut new_files, new_tags) = new_artifacts + .into_iter() + .map(TufArtifactDescription::into_db) + .collect::<(Vec<_>, Vec<_>, Vec<_>)>(); + let new_tags: Vec<_> = new_tags.into_iter().flatten().collect(); + // Only insert values in `tuf_artifact_file` that we have not seen + // before. + new_files.retain(|file| !lookup.contains_key(&file.sha256)); + // Remove duplicate hashes; we've already verified that they are + // consistent above. + new_files.sort_unstable_by_key(|file| file.sha256); + new_files.dedup_by_key(|file| file.sha256); + // Insert new artifacts into the database. - diesel::insert_into(dsl::tuf_artifact) + diesel::insert_into(tuf_artifact_dsl::tuf_artifact) .values(new_artifacts) .execute_async(&conn) .await?; + // Insert newly-seen checksums/versions/lengths into the database. + diesel::insert_into(tuf_artifact_file_dsl::tuf_artifact_file) + .values(new_files) + .execute_async(&conn) + .await?; + // Insert new tags into the database. + diesel::insert_into(tuf_artifact_tag_dsl::tuf_artifact_tag) + .values(new_tags) + .execute_async(&conn) + .await?; } all_artifacts }; - // Finally, insert all the associations into the tuf_repo_artifact table. + // Insert all the associations into the tuf_repo_artifact table. { use nexus_db_schema::schema::tuf_repo_artifact::dsl; @@ -810,11 +1004,11 @@ async fn insert_impl( slog::debug!( log, "inserting artifact into tuf_repo_artifact table"; - "artifact" => %artifact.id, + "artifact" => %artifact.artifact.id, ); values.push(( dsl::tuf_repo_id.eq(desc.repo.id), - dsl::tuf_artifact_id.eq(artifact.id), + dsl::tuf_artifact_id.eq(artifact.artifact.id), )); } @@ -824,7 +1018,21 @@ async fn insert_impl( .await?; } - let recorded = TufRepoDescription { repo, artifacts: all_artifacts }; + // Insert the metadata. + { + use nexus_db_schema::schema::tuf_repo_metadata::dsl; + + diesel::insert_into(dsl::tuf_repo_metadata) + .values(desc.metadata.clone()) + .execute_async(&conn) + .await?; + } + + let recorded = TufRepoDescription { + repo, + artifacts: all_artifacts, + metadata: desc.metadata, + }; Ok(TufRepoUpload { recorded, status: TufRepoUploadStatus::Inserted }) } @@ -868,17 +1076,17 @@ enum InsertError { uploaded: ArtifactHash, existing: ArtifactHash, }, - /// Some uploaded artifacts doesn't match the corresponding entries in the - /// database. - ArtifactMismatch { - // Artifacts for which the name/version/kind were the same, but the hash - // or length were different. - nvk_mismatch: Vec<(TufArtifact, TufArtifact)>, - - // Artifacts for which the kind/hash were the same, but the name or - // version were different. - hash_id_mismatch: Vec<(TufArtifact, TufArtifact)>, - }, + /// An existing repository with the same system version has a different set + /// of artifacts than the uploaded repository. + RepoArtifactMismatch { system_version: SemverVersion }, + /// An existing repository with the same system version has a different set + /// of metadata than the uploaded repository. + RepoMetadataMismatch { system_version: SemverVersion }, + /// Some uploaded artifacts with the same hash don't match existing entries + /// in the database. + ArtifactMismatch { mismatch: Vec<(TufArtifactFile, TufArtifactFile)> }, + /// The length of an artifact exceeds `i64::MAX`. + ByteCountRangeError(ByteCountRangeError), } impl From for external::Error { @@ -890,62 +1098,55 @@ impl From for external::Error { existing, } => external::Error::conflict(format!( "Uploaded repository with system version {} has SHA256 hash \ - {}, but existing repository has SHA256 hash {}.", + {}, but existing repository has SHA256 hash {}.", system_version, uploaded, existing, )), - InsertError::ArtifactMismatch { - nvk_mismatch, - hash_id_mismatch, - } => { + InsertError::RepoArtifactMismatch { system_version } => { + external::Error::conflict(format!( + "Uploaded repository with system version {} does not have \ + the same artifacts as existing repository with same \ + system version", + system_version + )) + } + InsertError::RepoMetadataMismatch { system_version } => { + external::Error::conflict(format!( + "Uploaded repository with system version {} does not have \ + the same metadata as existing repository with same \ + system version", + system_version + )) + } + InsertError::ArtifactMismatch { mismatch } => { // Build a message out of uploaded and existing artifacts. let mut message = "Uploaded artifacts don't match existing \ - artifacts with same IDs:\n" + artifacts:\n" .to_string(); - for (uploaded, existing) in nvk_mismatch { - // Uploaded and existing artifacts are matched by their - // name/version/kinds. + for (uploaded, existing) in mismatch { swrite!( message, - "- For artifact {}, uploaded SHA256 hash {} and length \ - {}, but existing artifact has SHA256 hash {} and \ - length {}.\n", - display_nvk(uploaded.nvk()), + "- Uploaded artifact with SHA-256 checksum {} has \ + length {} and version {}, but existing artifact with \ + SHA-256 checksum {} has length {} and version {}.\n", uploaded.sha256, - uploaded.artifact_size(), - existing.sha256, - existing.artifact_size(), - ); - } - - for (uploaded, existing) in hash_id_mismatch { - swrite!( - message, - "- For artifact {}, uploaded name {} and version {}, \ - but existing artifact has name {} and version {}.\n", - display_kind_hash(&uploaded.kind, uploaded.sha256), - uploaded.name, + uploaded.artifact_size.0.to_bytes(), uploaded.version, - existing.name, + existing.sha256, + existing.artifact_size.0.to_bytes(), existing.version, ); } - external::Error::conflict(message) } + InsertError::ByteCountRangeError(error) => { + external::Error::internal_error(&format!( + "could not convert artifact length: {error}" + )) + } } } } -fn display_nvk( - (name, version, kind): (&str, &ArtifactVersion, &str), -) -> String { - format!("(name: {name}, version: {version}, kind: {kind})") -} - -fn display_kind_hash(kind: &str, hash: ArtifactHash) -> String { - format!("(kind: {kind}, hash: {hash})") -} - #[cfg(test)] mod test { use crate::db::datastore::SQL_BATCH_SIZE; diff --git a/nexus/db-queries/src/db/pub_test_utils/helpers.rs b/nexus/db-queries/src/db/pub_test_utils/helpers.rs index a8d3c0adb8f..9c4e4a5bfac 100644 --- a/nexus/db-queries/src/db/pub_test_utils/helpers.rs +++ b/nexus/db-queries/src/db/pub_test_utils/helpers.rs @@ -41,11 +41,8 @@ use nexus_types::external_api::affinity; use nexus_types::external_api::instance as instance_types; use nexus_types::external_api::project; use nexus_types::identity::Resource; +use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::api::external; -use omicron_common::api::external::{ - TufArtifactMeta, TufRepoDescription, TufRepoMeta, -}; -use omicron_common::update::ArtifactId; use omicron_uuid_kinds::GenericUuid; use omicron_uuid_kinds::InstanceUuid; use omicron_uuid_kinds::PropolisUuid; @@ -53,11 +50,14 @@ use omicron_uuid_kinds::RackUuid; use omicron_uuid_kinds::SledUuid; use omicron_uuid_kinds::TufRepoUuid; use omicron_uuid_kinds::VolumeUuid; +use std::collections::BTreeMap; use std::net::Ipv6Addr; use std::net::SocketAddrV6; use std::str::FromStr; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::{ArtifactKind, ArtifactVersion}; +use tufaceous_artifact_v2::Artifact; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactSet; +use tufaceous_artifact_v2::ArtifactVersion; use uuid::Uuid; /// Creates a project within the silo of "opctx". @@ -625,28 +625,20 @@ fn make_test_repo(version: u32) -> TufRepoDescription { let version_bytes = version.to_le_bytes(); let hash_bytes: [u8; 32] = std::array::from_fn(|i| version_bytes[i % 4]); let hash = ArtifactHash(hash_bytes); - let version = semver::Version::new(u64::from(version), 0, 0); - let artifact_version = ArtifactVersion::new(version.to_string()) + let system_version = semver::Version::new(u64::from(version), 0, 0); + let artifact_version = ArtifactVersion::new(system_version.to_string()) .expect("valid artifact version"); TufRepoDescription { - repo: TufRepoMeta { + artifacts: ArtifactSet::from([Artifact { + version: artifact_version, + tags: BTreeMap::new(), hash, - targets_role_version: 0, - valid_until: chrono::Utc::now(), - system_version: version, - file_name: String::new(), - }, - artifacts: vec![TufArtifactMeta { - id: ArtifactId { - name: String::new(), - version: artifact_version, - kind: ArtifactKind::from_static("empty"), - }, - hash, - size: 0, - board: None, - sign: None, - }], + length: 0, + }]), + metadata: BTreeMap::new(), + system_version, + hash, + file_name: String::new(), } } diff --git a/nexus/db-schema/src/schema.rs b/nexus/db-schema/src/schema.rs index 0f074075510..d0627c036e1 100644 --- a/nexus/db-schema/src/schema.rs +++ b/nexus/db-schema/src/schema.rs @@ -1541,26 +1541,42 @@ table! { id -> Uuid, time_created -> Timestamptz, sha256 -> Text, - targets_role_version -> Int8, - valid_until -> Timestamptz, system_version -> Text, file_name -> Text, time_pruned -> Nullable, } } +table! { + tuf_repo_metadata (tuf_repo_id, key) { + tuf_repo_id -> Uuid, + key -> Text, + value -> Text, + } +} + table! { tuf_artifact (id) { id -> Uuid, - name -> Text, - version -> Text, - kind -> Text, time_created -> Timestamptz, sha256 -> Text, - artifact_size -> Int8, generation_added -> Int8, - sign -> Nullable, - board -> Nullable, + } +} + +table! { + tuf_artifact_file (sha256) { + sha256 -> Text, + version -> Text, + artifact_size -> Int8, + } +} + +table! { + tuf_artifact_tag (tuf_artifact_id, key) { + tuf_artifact_id -> Uuid, + key -> Text, + value -> Text, } } @@ -1572,10 +1588,11 @@ table! { } allow_tables_to_appear_in_same_query!( - tuf_repo, - tuf_repo_artifact, - tuf_artifact + tuf_artifact, + tuf_artifact_file, + tuf_repo_artifact ); +allow_tables_to_appear_in_same_query!(tuf_artifact_tag, tuf_repo_artifact); joinable!(tuf_repo_artifact -> tuf_repo (tuf_repo_id)); joinable!(tuf_repo_artifact -> tuf_artifact (tuf_artifact_id)); @@ -2295,7 +2312,7 @@ table! { } } -allow_tables_to_appear_in_same_query!(bp_sled_metadata, tuf_artifact); +allow_tables_to_appear_in_same_query!(bp_sled_metadata, tuf_artifact_file); table! { bp_omicron_physical_disk (blueprint_id, id) { @@ -2344,7 +2361,10 @@ table! { } } -allow_tables_to_appear_in_same_query!(bp_single_measurements, tuf_artifact); +allow_tables_to_appear_in_same_query!( + bp_single_measurements, + tuf_artifact_file +); table! { bp_omicron_zone (blueprint_id, id) { @@ -2382,7 +2402,7 @@ table! { } } -allow_tables_to_appear_in_same_query!(bp_omicron_zone, tuf_artifact); +allow_tables_to_appear_in_same_query!(bp_omicron_zone, tuf_artifact_file); table! { bp_omicron_zone_nic (blueprint_id, id) { diff --git a/nexus/external-api/Cargo.toml b/nexus/external-api/Cargo.toml index a6a280ef478..43204ae4be2 100644 --- a/nexus/external-api/Cargo.toml +++ b/nexus/external-api/Cargo.toml @@ -33,7 +33,6 @@ serde.workspace = true serde_json.workspace = true slog-error-chain.workspace = true trust-quorum-types.workspace = true -tufaceous-artifact.workspace = true uuid.workspace = true [dev-dependencies] diff --git a/nexus/inventory/Cargo.toml b/nexus/inventory/Cargo.toml index 19ac5173231..6d57f3abf6b 100644 --- a/nexus/inventory/Cargo.toml +++ b/nexus/inventory/Cargo.toml @@ -44,7 +44,7 @@ slog-error-chain.workspace = true strum.workspace = true swrite.workspace = true thiserror.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true typed-rng.workspace = true uuid.workspace = true omicron-cockroach-metrics.workspace = true diff --git a/nexus/inventory/src/builder.rs b/nexus/inventory/src/builder.rs index d8ab42ae979..6c74f04f158 100644 --- a/nexus/inventory/src/builder.rs +++ b/nexus/inventory/src/builder.rs @@ -45,7 +45,7 @@ use std::collections::BTreeSet; use std::hash::Hash; use std::sync::Arc; use thiserror::Error; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use typed_rng::TypedUuidRng; /// Describes an operational error encountered during the collection process diff --git a/nexus/inventory/src/collector.rs b/nexus/inventory/src/collector.rs index f8c6a935057..97a1c5acffa 100644 --- a/nexus/inventory/src/collector.rs +++ b/nexus/inventory/src/collector.rs @@ -32,7 +32,7 @@ use slog::{debug, error}; use std::net::SocketAddrV6; use std::time::Duration; use strum::IntoEnumIterator; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// connection and request timeout used for Sled Agent HTTP client const SLED_AGENT_TIMEOUT: Duration = Duration::from_secs(60); diff --git a/nexus/inventory/src/examples.rs b/nexus/inventory/src/examples.rs index 1ace0b9c758..776199822a0 100644 --- a/nexus/inventory/src/examples.rs +++ b/nexus/inventory/src/examples.rs @@ -88,7 +88,7 @@ use std::collections::BTreeMap; use std::sync::Arc; use std::time::Duration; use strum::IntoEnumIterator; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use uuid::Uuid; /// Returns an example Collection used for testing diff --git a/nexus/mgs-updates/Cargo.toml b/nexus/mgs-updates/Cargo.toml index 166afc8575e..33da34fc938 100644 --- a/nexus/mgs-updates/Cargo.toml +++ b/nexus/mgs-updates/Cargo.toml @@ -33,7 +33,7 @@ tokio.workspace = true tokio-stream.workspace = true tokio-util.workspace = true trust-quorum-types.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true uuid.workspace = true omicron-workspace-hack.workspace = true diff --git a/nexus/mgs-updates/src/artifacts.rs b/nexus/mgs-updates/src/artifacts.rs index f8dfef42a41..16dad5fd914 100644 --- a/nexus/mgs-updates/src/artifacts.rs +++ b/nexus/mgs-updates/src/artifacts.rs @@ -11,7 +11,7 @@ use std::sync::atomic::AtomicUsize; use std::sync::atomic::Ordering; use thiserror::Error; use tokio::{io::AsyncWriteExt, sync::watch}; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; type RepoDepotError = repo_depot_client::Error; diff --git a/nexus/mgs-updates/src/common_sp_update.rs b/nexus/mgs-updates/src/common_sp_update.rs index 400196cacd5..98106d71b98 100644 --- a/nexus/mgs-updates/src/common_sp_update.rs +++ b/nexus/mgs-updates/src/common_sp_update.rs @@ -23,8 +23,8 @@ use std::fmt::Display; use std::net::SocketAddrV6; use std::time::Duration; use thiserror::Error; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactVersion; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactVersion; use uuid::Uuid; /// How frequently do we poll MGS for the update progress? diff --git a/nexus/mgs-updates/src/driver_update.rs b/nexus/mgs-updates/src/driver_update.rs index dcb612fb717..50ae890889b 100644 --- a/nexus/mgs-updates/src/driver_update.rs +++ b/nexus/mgs-updates/src/driver_update.rs @@ -787,7 +787,7 @@ mod test { use sled_hardware_types::BaseboardId; use slog_error_chain::InlineErrorChain; use std::time::Duration; - use tufaceous_artifact::ArtifactHash; + use tufaceous_artifact_v2::ArtifactHash; /// Tests several happy-path cases of updating an SP #[tokio::test] diff --git a/nexus/mgs-updates/src/driver_update/test_host_phase_1.rs b/nexus/mgs-updates/src/driver_update/test_host_phase_1.rs index f9eb3727b82..a10aae6b774 100644 --- a/nexus/mgs-updates/src/driver_update/test_host_phase_1.rs +++ b/nexus/mgs-updates/src/driver_update/test_host_phase_1.rs @@ -20,7 +20,7 @@ use sled_hardware_types::BaseboardId; use slog_error_chain::InlineErrorChain; use sp_sim::SimulatedSp; use std::time::Duration; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// Emulates sled agent inventory (which reports the contents of both "phase 2" /// slots) for a bunch of sleds diff --git a/nexus/mgs-updates/src/host_phase1_updater.rs b/nexus/mgs-updates/src/host_phase1_updater.rs index 83a8c4b7c3f..8035e028c80 100644 --- a/nexus/mgs-updates/src/host_phase1_updater.rs +++ b/nexus/mgs-updates/src/host_phase1_updater.rs @@ -149,7 +149,7 @@ use slog::Logger; use slog::debug; use slog_error_chain::InlineErrorChain; use std::time::Duration; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; // Hashing the current phase 1 contents on the SP is an asynchronous operation: // we request a hash and then poll until the hashing completes. We have to pick diff --git a/nexus/mgs-updates/src/test_util/host_phase_2_test_state.rs b/nexus/mgs-updates/src/test_util/host_phase_2_test_state.rs index 035ad31957a..4346e8b05b9 100644 --- a/nexus/mgs-updates/src/test_util/host_phase_2_test_state.rs +++ b/nexus/mgs-updates/src/test_util/host_phase_2_test_state.rs @@ -18,7 +18,7 @@ use sp_sim::GimletPowerState; use std::net::SocketAddr; use std::net::SocketAddrV6; use tokio::sync::watch; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// Current state of a fake sled-agent. #[derive(Debug)] diff --git a/nexus/mgs-updates/src/test_util/sp_test_state.rs b/nexus/mgs-updates/src/test_util/sp_test_state.rs index 1e9a02c1c7d..87f048daba6 100644 --- a/nexus/mgs-updates/src/test_util/sp_test_state.rs +++ b/nexus/mgs-updates/src/test_util/sp_test_state.rs @@ -18,8 +18,8 @@ use omicron_common::disk::M2Slot; use sled_hardware_types::BaseboardId; use slog_error_chain::InlineErrorChain; use std::time::Duration; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactVersion; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactVersion; pub type GatewayClientError = gateway_client::Error; diff --git a/nexus/mgs-updates/src/test_util/test_artifacts.rs b/nexus/mgs-updates/src/test_util/test_artifacts.rs index 5ffe2e61de4..42d5a4e9150 100644 --- a/nexus/mgs-updates/src/test_util/test_artifacts.rs +++ b/nexus/mgs-updates/src/test_util/test_artifacts.rs @@ -14,7 +14,7 @@ use sha2::Digest; use sp_sim::{SIM_GIMLET_BOARD, SIM_SIDECAR_BOARD}; use std::collections::BTreeMap; use std::sync::Arc; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; type ArtifactData = BTreeMap>; type InMemoryRepoDepotServerContext = Arc; diff --git a/nexus/mgs-updates/src/test_util/updates.rs b/nexus/mgs-updates/src/test_util/updates.rs index 6ef48c0bd56..a0d5092a51e 100644 --- a/nexus/mgs-updates/src/test_util/updates.rs +++ b/nexus/mgs-updates/src/test_util/updates.rs @@ -43,8 +43,8 @@ use slog_error_chain::InlineErrorChain; use std::sync::Arc; use std::time::Duration; use tokio::sync::watch; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactVersion; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactVersion; pub enum ExpectedSpComponent { Sp { diff --git a/nexus/reconfigurator/blippy/Cargo.toml b/nexus/reconfigurator/blippy/Cargo.toml index ab4647553f1..3d6c4cb9932 100644 --- a/nexus/reconfigurator/blippy/Cargo.toml +++ b/nexus/reconfigurator/blippy/Cargo.toml @@ -12,7 +12,7 @@ sled-agent-types.workspace = true omicron-common.workspace = true omicron-uuid-kinds.workspace = true omicron-workspace-hack.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true [dev-dependencies] ipnet.workspace = true diff --git a/nexus/reconfigurator/blippy/src/blippy.rs b/nexus/reconfigurator/blippy/src/blippy.rs index 498ac8825d1..1be22c5497c 100644 --- a/nexus/reconfigurator/blippy/src/blippy.rs +++ b/nexus/reconfigurator/blippy/src/blippy.rs @@ -29,7 +29,7 @@ use std::collections::BTreeSet; use std::net::IpAddr; use std::net::Ipv6Addr; use std::net::SocketAddrV6; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; #[derive(Debug, Clone, PartialEq, Eq)] pub struct Note { diff --git a/nexus/reconfigurator/blippy/src/checks.rs b/nexus/reconfigurator/blippy/src/checks.rs index ab38e8e4a60..6d2859d097d 100644 --- a/nexus/reconfigurator/blippy/src/checks.rs +++ b/nexus/reconfigurator/blippy/src/checks.rs @@ -780,8 +780,8 @@ mod tests { use omicron_test_utils::dev::test_setup_log; use omicron_uuid_kinds::MupdateOverrideUuid; use std::mem; - use tufaceous_artifact::ArtifactHash; - use tufaceous_artifact::ArtifactVersion; + use tufaceous_artifact_v2::ArtifactHash; + use tufaceous_artifact_v2::ArtifactVersion; // The tests below all take the example blueprint, mutate in some invalid // way, and confirm that blippy reports the invalidity. This test confirms diff --git a/nexus/reconfigurator/planning/Cargo.toml b/nexus/reconfigurator/planning/Cargo.toml index 55144f4af6b..3d2c364fdc4 100644 --- a/nexus/reconfigurator/planning/Cargo.toml +++ b/nexus/reconfigurator/planning/Cargo.toml @@ -45,11 +45,9 @@ strum.workspace = true swrite.workspace = true thiserror.workspace = true tokio.workspace = true -tufaceous.workspace = true -tufaceous-artifact.workspace = true -tufaceous-lib.workspace = true +tufaceous-artifact-v2.workspace = true +tufaceous-v2.workspace = true typed-rng.workspace = true -update-common.workspace = true uuid.workspace = true omicron-workspace-hack.workspace = true diff --git a/nexus/reconfigurator/planning/src/blueprint_builder/builder.rs b/nexus/reconfigurator/planning/src/blueprint_builder/builder.rs index 61b803aac2f..bbe4de15155 100644 --- a/nexus/reconfigurator/planning/src/blueprint_builder/builder.rs +++ b/nexus/reconfigurator/planning/src/blueprint_builder/builder.rs @@ -2765,8 +2765,8 @@ pub mod test { use omicron_test_utils::dev::test_setup_log; use std::collections::BTreeSet; use std::mem; - use tufaceous_artifact::ArtifactHash; - use tufaceous_artifact::ArtifactVersion; + use tufaceous_artifact_v2::ArtifactHash; + use tufaceous_artifact_v2::ArtifactVersion; pub const DEFAULT_N_SLEDS: usize = 3; diff --git a/nexus/reconfigurator/planning/src/example.rs b/nexus/reconfigurator/planning/src/example.rs index 5e1052cb9bf..fa5b3b34610 100644 --- a/nexus/reconfigurator/planning/src/example.rs +++ b/nexus/reconfigurator/planning/src/example.rs @@ -4,8 +4,8 @@ //! Example blueprints +use std::collections::BTreeMap; use std::collections::BTreeSet; -use std::collections::HashMap; use std::fmt; use std::hash::Hash; use std::net::IpAddr; @@ -19,12 +19,8 @@ use crate::planner::rng::PlannerRng; use crate::system::RotStateOverrides; use crate::system::SledBuilder; use crate::system::SystemDescription; -use anyhow::Context; use anyhow::bail; -use camino::Utf8Path; -use camino_tempfile::Utf8TempDir; use chrono::Utc; -use clap::Parser; use nexus_inventory::CollectionBuilderRng; use nexus_types::deployment::Blueprint; use nexus_types::deployment::BlueprintArtifactMeasurements; @@ -45,8 +41,8 @@ use nexus_types::deployment::TargetReleaseDescription; use nexus_types::deployment::UpstreamNtpConfig; use nexus_types::external_api::sled::SledPolicy; use nexus_types::inventory::Collection; +use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::address::Ipv4Range; -use omicron_common::api::external::TufRepoDescription; use omicron_common::policy::COCKROACHDB_REDUNDANCY; use omicron_common::policy::CRUCIBLE_PANTRY_REDUNDANCY; use omicron_common::policy::INTERNAL_DNS_REDUNDANCY; @@ -54,15 +50,21 @@ use omicron_common::policy::OXIMETER_REDUNDANCY; use omicron_uuid_kinds::GenericUuid; use omicron_uuid_kinds::SledKind; use omicron_uuid_kinds::VnicUuid; +use semver::Version; use sled_agent_types::inventory::SledRole; use sled_agent_types::inventory::ZoneKind; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactKind; -use tufaceous_artifact::KnownArtifactKind; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactSet; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::KnownArtifactTags; +use tufaceous_artifact_v2::OsBoard; +use tufaceous_artifact_v2::OsPhase1Tags; +use tufaceous_artifact_v2::OsPhase2Tags; +use tufaceous_artifact_v2::OsVariant; +use tufaceous_artifact_v2::RotSlot; +use tufaceous_artifact_v2::RotTags; +use tufaceous_v2::edit::ArtifactSetExt; use typed_rng::TypedUuidRng; -use update_common::artifacts::ArtifactsWithPlan; -use update_common::artifacts::ControlPlaneZonesMode; -use update_common::artifacts::VerificationMode; /// Stateful PRNG for generating simulated systems. /// @@ -475,41 +477,19 @@ impl ExampleSystemBuilder { /// Set the target release to an initial `0.0.1` version, and image sources to /// Artifact corresponding to the release. - pub fn with_target_release_0_0_1(self) -> anyhow::Result { - // Find the 0.0.1 release relative to this crate's root directory. - let root_dir = Utf8Path::new(env!("CARGO_MANIFEST_DIR")); - let manifest_path = root_dir - .parent() - .unwrap() - .parent() - .unwrap() - .parent() - .unwrap() - .join("update-common/manifests/fake-0.0.1.toml"); - self.with_target_release_manifest( - &manifest_path, - // allow_non_semver is false because fake-0.0.1.toml doesn't contain - // non-semver artifacts. - false, - ) - } - - pub fn with_target_release_manifest( - mut self, - manifest_path: &Utf8Path, - allow_non_semver: bool, - ) -> anyhow::Result { - let dir = Utf8TempDir::with_prefix("reconfigurator-planning-example") - .context("failed to create temp dir")?; - let zip_path = dir.path().join("repo.zip"); - tuf_assemble(&self.log, manifest_path, &zip_path, allow_non_semver) - .context("failed to assemble TUF repo")?; - - let target_release = extract_tuf_repo_description(&self.log, &zip_path) - .context("failed to extract TUF repo description")?; - - self.target_release = TargetReleaseDescription::TufRepo(target_release); - + pub fn with_target_release_0_0_1(mut self) -> anyhow::Result { + const VERSION: Version = Version::new(0, 0, 1); + + let repo = TufRepoDescription { + artifacts: ArtifactSet::fake(ArtifactVersion::new( + VERSION.to_string(), + )?)?, + metadata: BTreeMap::new(), + system_version: VERSION, + hash: ArtifactHash([0; 32]), + file_name: "repo.zip".to_owned(), + }; + self.target_release = TargetReleaseDescription::TufRepo(repo); Ok(self) } @@ -609,25 +589,6 @@ impl ExampleSystemBuilder { }) .collect(); - let artifacts_by_kind = if let TargetReleaseDescription::TufRepo(repo) = - &self.target_release - { - // Build a map of artifact versions by kind. For the artifacts we - // care about, we currently only expect a single version, so this - // map is expected to be unique. - // - // TODO-correctness Need to choose gimlet vs cosmo here! Can we use - // update-common's UpdatePlan instead of this jank? - // https://github.com/oxidecomputer/omicron/issues/8777 - let mut artifacts_by_kind = HashMap::new(); - for artifact in &repo.artifacts { - artifacts_by_kind.insert(&artifact.id.kind, artifact); - } - Some(artifacts_by_kind) - } else { - None - }; - for (sled_id, settings, role) in &sled_ids_with_settings { let _ = system .sled( @@ -951,11 +912,15 @@ impl ExampleSystemBuilder { } builder.sled_ensure_zone_datasets(sled_id).unwrap(); - if let Some(artifacts_by_kind) = &artifacts_by_kind { + if let Some(repo) = self.target_release.tuf_repo() { // Set the host phase 2 artifact version to Artifact to avoid a // noop conversion in the first planning run. - let host_phase_2_artifact = - artifacts_by_kind.get(&ArtifactKind::HOST_PHASE_2).unwrap(); + let host_phase_2_artifact = repo + .artifacts + .get_only( + &OsPhase2Tags { os_variant: OsVariant::Host }.into(), + ) + .unwrap(); builder .sled_set_host_phase_2( @@ -966,7 +931,6 @@ impl ExampleSystemBuilder { version: BlueprintArtifactVersion::Available { version: host_phase_2_artifact - .id .version .clone(), }, @@ -977,7 +941,6 @@ impl ExampleSystemBuilder { version: BlueprintArtifactVersion::Available { version: host_phase_2_artifact - .id .version .clone(), }, @@ -987,18 +950,18 @@ impl ExampleSystemBuilder { ) .expect("sled is present in blueprint"); - // Right now we expect a single measurement artifact - let measurement_artifact = artifacts_by_kind - .get(&ArtifactKind::MEASUREMENT_CORPUS) - .unwrap(); - let mut artifacts = BTreeSet::new(); - artifacts.insert(BlueprintSingleMeasurement { - version: BlueprintArtifactVersion::Available { - version: measurement_artifact.id.version.clone(), - }, - hash: measurement_artifact.hash, - }); + for measurement_artifact in repo + .artifacts + .get_all(&KnownArtifactTags::MeasurementCorpus) + { + artifacts.insert(BlueprintSingleMeasurement { + version: BlueprintArtifactVersion::Available { + version: measurement_artifact.version.clone(), + }, + hash: measurement_artifact.hash, + }); + } builder .sled_set_measurements( sled_id, @@ -1092,34 +1055,61 @@ impl ExampleSystemBuilder { } } - if let Some(artifacts_by_kind) = &artifacts_by_kind { + if let Some(repo) = self.target_release.tuf_repo() { // Set all MGS and host phase 2 versions out of the TUF repo to // ensure that the planner is quiesced at the time the initial // system is returned. - let sp_version = artifacts_by_kind - .get(&ArtifactKind::from(KnownArtifactKind::GimletSp)) + let sp_version = repo + .artifacts + .filter_tags(|tags| matches!(tags, KnownArtifactTags::Sp(_))) + .next() .unwrap() - .id .version .clone(); - let rot_a_version = artifacts_by_kind - .get(&ArtifactKind::GIMLET_ROT_IMAGE_A) + let rot_a_version = repo + .artifacts + .filter_tags(|tags| { + matches!( + tags, + KnownArtifactTags::Rot(RotTags { + rot_slot: RotSlot::A, + .. + }) + ) + }) + .next() .unwrap() - .id .version .clone(); - let rot_b_version = artifacts_by_kind - .get(&ArtifactKind::GIMLET_ROT_IMAGE_B) + let rot_b_version = repo + .artifacts + .filter_tags(|tags| { + matches!( + tags, + KnownArtifactTags::Rot(RotTags { + rot_slot: RotSlot::B, + .. + }) + ) + }) + .next() .unwrap() - .id .version .clone(); - let host_phase_1_hash = artifacts_by_kind - .get(&ArtifactKind::GIMLET_HOST_PHASE_1) + let host_phase_1_hash = repo + .artifacts + .get_only( + &OsPhase1Tags { + os_board: OsBoard::GIMLET, + os_variant: OsVariant::Host, + } + .into(), + ) .unwrap() .hash; - let host_phase_2_hash = artifacts_by_kind - .get(&ArtifactKind::HOST_PHASE_2) + let host_phase_2_hash = repo + .artifacts + .get_only(&OsPhase2Tags { os_variant: OsVariant::Host }.into()) .unwrap() .hash; @@ -1227,77 +1217,6 @@ impl ZoneCount { } } -/// The default key for TUF repository generation. -/// -/// This was randomly generated through a tufaceous invocation. -pub static DEFAULT_TUFACEOUS_KEY: &str = "ed25519:\ -MFECAQEwBQYDK2VwBCIEIJ9CnAhwk8PPt1x8icu\ -z9c12PdfCRHJpoUkuqJmIZ8GbgSEAbNGMpsHK5_w32\ -qwYdZH_BeVssmKzQlFsnPuaiHx2hy0="; - -/// Construct a TUF repository zip file from a manifest, writing the TUF zip -/// file out to `output_path`. -pub fn tuf_assemble( - log: &slog::Logger, - manifest_path: &Utf8Path, - output_path: &Utf8Path, - allow_non_semver: bool, -) -> anyhow::Result<()> { - if output_path.exists() { - bail!("output path `{output_path}` already exists"); - } - - // Just use a fixed key for now. - // - // In the future we may want to test changing the TUF key. - let mut tufaceous_args = vec![ - "tufaceous", - "--key", - DEFAULT_TUFACEOUS_KEY, - "assemble", - manifest_path.as_str(), - output_path.as_str(), - ]; - - if allow_non_semver { - tufaceous_args.push("--allow-non-semver"); - } - let args = tufaceous::Args::try_parse_from(tufaceous_args) - .expect("args are valid so this shouldn't fail"); - let rt = - tokio::runtime::Runtime::new().context("creating tokio runtime")?; - rt.block_on(async move { args.exec(log).await }) - .context("error executing tufaceous assemble")?; - - Ok(()) -} - -pub fn extract_tuf_repo_description( - log: &slog::Logger, - zip_path: &Utf8Path, -) -> anyhow::Result { - let file = std::fs::File::open(zip_path) - .with_context(|| format!("open {:?}", zip_path))?; - let buf = std::io::BufReader::new(file); - let rt = - tokio::runtime::Runtime::new().context("creating tokio runtime")?; - let repo_hash = ArtifactHash([0; 32]); - let artifacts_with_plan = rt.block_on(async { - ArtifactsWithPlan::from_zip( - buf, - None, - repo_hash, - ControlPlaneZonesMode::Split, - VerificationMode::BlindlyTrustAnything, - log, - ) - .await - .with_context(|| format!("unpacking {:?}", zip_path)) - })?; - let description = artifacts_with_plan.description().clone(); - Ok(description) -} - #[cfg(test)] mod tests { use std::collections::BTreeMap; diff --git a/nexus/reconfigurator/planning/src/measurements.rs b/nexus/reconfigurator/planning/src/measurements.rs index 5f5c15f85af..becb67a8196 100644 --- a/nexus/reconfigurator/planning/src/measurements.rs +++ b/nexus/reconfigurator/planning/src/measurements.rs @@ -6,10 +6,11 @@ use nexus_types::deployment::BlueprintArtifactMeasurements; use nexus_types::deployment::BlueprintArtifactVersion; use nexus_types::deployment::BlueprintSingleMeasurement; use nexus_types::deployment::TargetReleaseDescription; -use omicron_common::api::external::TufRepoDescription; +use nexus_types::tuf_repo::TufRepoDescription; use std::collections::BTreeSet; use thiserror::Error; -use tufaceous_artifact::{ArtifactHash, ArtifactKind}; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::KnownArtifactTags; #[derive(Debug, Error)] pub(crate) enum MeasurementPlanError { @@ -22,22 +23,16 @@ pub(crate) enum MeasurementPlanError { } fn build_measurement_set( - artifacts: &TufRepoDescription, + repo: &TufRepoDescription, ) -> BTreeSet { - artifacts - .artifacts + repo.artifacts + .get_all(&KnownArtifactTags::MeasurementCorpus) .iter() - .filter_map(|artifact| { - if artifact.id.kind == ArtifactKind::MEASUREMENT_CORPUS { - Some(BlueprintSingleMeasurement { - version: BlueprintArtifactVersion::Available { - version: artifact.id.version.clone(), - }, - hash: artifact.hash, - }) - } else { - None - } + .map(|artifact| BlueprintSingleMeasurement { + version: BlueprintArtifactVersion::Available { + version: artifact.version.clone(), + }, + hash: artifact.hash, }) .collect() } @@ -58,11 +53,11 @@ pub(crate) fn plan_measurement_updates( TargetReleaseDescription::TufRepo(c), TargetReleaseDescription::Initial, ) => { - let artifacts = - BlueprintArtifactMeasurements::new(build_measurement_set(&c)) - .ok_or(MeasurementPlanError::EmptyMeasurementSet( - c.repo.hash, - ))?; + let current = build_measurement_set(&c); + let artifacts = BlueprintArtifactMeasurements::new(current) + .ok_or_else(|| { + MeasurementPlanError::EmptyMeasurementSet(c.hash) + })?; Ok(artifacts) } @@ -73,15 +68,11 @@ pub(crate) fn plan_measurement_updates( ) => { let current = build_measurement_set(&c); if current.is_empty() { - return Err(MeasurementPlanError::EmptyMeasurementSet( - c.repo.hash, - )); + return Err(MeasurementPlanError::EmptyMeasurementSet(c.hash)); } let previous = build_measurement_set(&p); if previous.is_empty() { - return Err(MeasurementPlanError::EmptyMeasurementSet( - p.repo.hash, - )); + return Err(MeasurementPlanError::EmptyMeasurementSet(p.hash)); } let artifacts = BlueprintArtifactMeasurements::new( current.into_iter().chain(previous).collect(), diff --git a/nexus/reconfigurator/planning/src/mgs_updates/host_phase_1.rs b/nexus/reconfigurator/planning/src/mgs_updates/host_phase_1.rs index bf1120de91e..ec60750362d 100644 --- a/nexus/reconfigurator/planning/src/mgs_updates/host_phase_1.rs +++ b/nexus/reconfigurator/planning/src/mgs_updates/host_phase_1.rs @@ -17,8 +17,7 @@ use nexus_types::deployment::PendingMgsUpdateHostPhase1Details; use nexus_types::deployment::planning_report::FailedHostOsUpdateReason; use nexus_types::inventory::Collection; use nexus_types::inventory::SpType; -use omicron_common::api::external::TufArtifactMeta; -use omicron_common::api::external::TufRepoDescription; +use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::disk::M2Slot; use omicron_uuid_kinds::SledUuid; use sled_hardware_types::BaseboardId; @@ -28,8 +27,13 @@ use slog::debug; use slog::error; use std::collections::BTreeMap; use std::sync::Arc; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactKind; +use tufaceous_artifact_v2::Artifact; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::OsBoard; +use tufaceous_artifact_v2::OsPhase1Tags; +use tufaceous_artifact_v2::OsPhase2Tags; +use tufaceous_artifact_v2::OsVariant; +use tufaceous_artifact_v2::artifact_set::GetError; /// Describes a set of blueprint changes to the desired host phase 2 contents /// for a number of sleds @@ -46,15 +50,10 @@ impl PendingHostPhase2Changes { Self { by_sled: BTreeMap::new() } } - fn insert( - &mut self, - sled_id: SledUuid, - slot: M2Slot, - artifact: &TufArtifactMeta, - ) { + fn insert(&mut self, sled_id: SledUuid, slot: M2Slot, artifact: &Artifact) { let contents = BlueprintHostPhase2DesiredContents::Artifact { version: BlueprintArtifactVersion::Available { - version: artifact.id.version.clone(), + version: artifact.version.clone(), }, hash: artifact.hash, }; @@ -384,35 +383,33 @@ pub(super) fn try_make_update( )); }; - let mut phase_1_artifacts = Vec::with_capacity(1); - let mut phase_2_artifacts = Vec::with_capacity(1); - for artifact in ¤t_artifacts.artifacts { - if artifact.id.kind == ArtifactKind::COSMO_HOST_PHASE_1 - && sled_type == OxideSled::Cosmo - { - phase_1_artifacts.push(artifact); - } else if artifact.id.kind == ArtifactKind::GIMLET_HOST_PHASE_1 - && sled_type == OxideSled::Gimlet - { - phase_1_artifacts.push(artifact); - } else if artifact.id.kind == ArtifactKind::HOST_PHASE_2 { - phase_2_artifacts.push(artifact); + let phase_1_artifact = current_artifacts.artifacts.get_only( + &OsPhase1Tags { + os_board: match sled_type { + OxideSled::Gimlet => OsBoard::GIMLET, + OxideSled::Cosmo => OsBoard::COSMO, + }, + os_variant: OsVariant::Host, } - } + .into(), + ); + let phase_2_artifact = current_artifacts + .artifacts + .get_only(&OsPhase2Tags { os_variant: OsVariant::Host }.into()); let (phase_1_artifact, phase_2_artifact) = - match (phase_1_artifacts.as_slice(), phase_2_artifacts.as_slice()) { + match (phase_1_artifact, phase_2_artifact) { // Common case: Exactly 1 of each artifact. - ([p1], [p2]) => (p1, p2), + (Ok(p1), Ok(p2)) => (p1, p2), // "TUF is broken" cases: missing both, one or the other. - ([], []) => { + (Err(GetError::NotFound), Err(GetError::NotFound)) => { return Err(FailedHostOsUpdateReason::NoMatchingArtifactsFound); } - ([], _) => { + (Err(GetError::NotFound), Ok(_)) => { return Err( FailedHostOsUpdateReason::NoMatchingPhase1ArtifactFound, ); } - (_, []) => { + (Ok(_), Err(GetError::NotFound)) => { return Err( FailedHostOsUpdateReason::NoMatchingPhase2ArtifactFound, ); @@ -421,7 +418,7 @@ pub(super) fn try_make_update( // should be impossible unless we shipped a TUF repo with multiple // host OS images. We can't proceed, because we don't know how to // pair up which phase 1 matches which phase 2. - (_, _) => { + (Err(GetError::TooMany), _) | (_, Err(GetError::TooMany)) => { return Err(FailedHostOsUpdateReason::TooManyMatchingArtifacts); } }; @@ -477,7 +474,7 @@ pub(super) fn try_make_update( }, ), artifact_hash: phase_1_artifact.hash, - artifact_version: phase_1_artifact.id.version.clone(), + artifact_version: phase_1_artifact.version.clone(), }, pending_host_phase_2_changes, )) diff --git a/nexus/reconfigurator/planning/src/mgs_updates/mod.rs b/nexus/reconfigurator/planning/src/mgs_updates/mod.rs index 057850f7f06..3bca8cec592 100644 --- a/nexus/reconfigurator/planning/src/mgs_updates/mod.rs +++ b/nexus/reconfigurator/planning/src/mgs_updates/mod.rs @@ -26,7 +26,7 @@ use nexus_types::deployment::TargetReleaseDescription; use nexus_types::deployment::planning_report::BlockedMgsUpdate; use nexus_types::inventory::CabooseWhich; use nexus_types::inventory::Collection; -use omicron_common::api::external::TufRepoDescription; +use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::disk::M2Slot; use omicron_uuid_kinds::SledUuid; use sled_hardware_types::BaseboardId; @@ -35,8 +35,8 @@ use slog_error_chain::InlineErrorChain; use std::collections::BTreeSet; use std::sync::Arc; use thiserror::Error; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::ArtifactVersionError; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::ArtifactVersionError; pub(crate) use host_phase_1::PendingHostPhase2Changes; diff --git a/nexus/reconfigurator/planning/src/mgs_updates/rot.rs b/nexus/reconfigurator/planning/src/mgs_updates/rot.rs index c1222d8d89e..e7600281ecb 100644 --- a/nexus/reconfigurator/planning/src/mgs_updates/rot.rs +++ b/nexus/reconfigurator/planning/src/mgs_updates/rot.rs @@ -17,12 +17,15 @@ use nexus_types::deployment::PendingMgsUpdateRotDetails; use nexus_types::deployment::planning_report::FailedRotUpdateReason; use nexus_types::inventory::CabooseWhich; use nexus_types::inventory::Collection; -use omicron_common::api::external::TufRepoDescription; +use nexus_types::tuf_repo::TufRepoDescription; use sled_hardware_types::BaseboardId; -use slog::{debug, warn}; +use slog::debug; use std::sync::Arc; -use tufaceous_artifact::ArtifactKind; -use tufaceous_artifact::ArtifactVersion; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::KnownArtifactTags; +use tufaceous_artifact_v2::RotKeyTableHash; +use tufaceous_artifact_v2::RotTags; +use tufaceous_artifact_v2::artifact_set::GetError; /// RoT state that gets checked against preconditions in a `PendingMgsUpdate` pub struct RotUpdateState { @@ -138,85 +141,39 @@ pub(super) fn try_make_update( } }; - let board = &active_caboose.caboose.board; - let Some(rkth) = &active_caboose.caboose.sign else { + let rot_board = active_caboose.caboose.board.clone(); + let Some(rkth) = active_caboose.caboose.sign.clone() else { return Err(FailedRotUpdateReason::CabooseMissingSign( active_caboose_which, )); }; - let matching_artifacts: Vec<_> = current_artifacts - .artifacts - .iter() - .filter(|a| { - // A matching RoT artifact will have: - // - // - "board" matching the board name (found above from caboose) - // - "kind" matching one of the known RoT kinds - // - "sign" matching the rkth (found above from caboose) - - if a.board.as_ref() != Some(board) { - return false; - } - - let Some(artifact_sign) = &a.sign else { - return false; - }; - let Ok(artifact_sign) = String::from_utf8(artifact_sign.to_vec()) - else { - return false; - }; - if artifact_sign != *rkth { - return false; - } - - // We'll be updating the inactive slot, so we choose the artifact - // based on the inactive slot's kind. - match active_slot.toggled() { - RotSlot::A => { - let slot_a_artifacts = [ - ArtifactKind::GIMLET_ROT_IMAGE_A, - ArtifactKind::PSC_ROT_IMAGE_A, - ArtifactKind::SWITCH_ROT_IMAGE_A, - ]; - - if slot_a_artifacts.contains(&a.id.kind) { - return true; - } + let tags = KnownArtifactTags::Rot(RotTags { + rot_board, + rot_rkth: Some(RotKeyTableHash(rkth)), + // We'll be updating the inactive slot, so we choose the + // artifact based on the inactive slot's kind. + rot_slot: match active_slot.toggled() { + RotSlot::A => tufaceous_artifact_v2::RotSlot::A, + RotSlot::B => tufaceous_artifact_v2::RotSlot::B, + }, + }); + let artifact = + current_artifacts.artifacts.get_only(&tags).map_err(|err| { + let tags = tags.to_string(); + match err { + GetError::NotFound => { + FailedRotUpdateReason::NoMatchingArtifactFound(tags) } - RotSlot::B => { - let slot_b_artifacts = [ - ArtifactKind::GIMLET_ROT_IMAGE_B, - ArtifactKind::PSC_ROT_IMAGE_B, - ArtifactKind::SWITCH_ROT_IMAGE_B, - ]; - - if slot_b_artifacts.contains(&a.id.kind) { - return true; - } + GetError::TooMany => { + FailedRotUpdateReason::TooManyMatchingArtifacts(tags) } } - - false - }) - .collect(); - if matching_artifacts.is_empty() { - return Err(FailedRotUpdateReason::NoMatchingArtifactFound); - } - - if matching_artifacts.len() > 1 { - // This should be impossible unless we shipped a TUF repo with more than - // 1 artifact for the same board and root key table hash (RKTH) as - // `SIGN`. But it doesn't prevent us from picking one and proceeding. - // Make a note and proceed. - warn!(log, "found more than one matching artifact for RoT update"); - } - - let artifact = matching_artifacts[0]; + })?; // If the artifact's version matches what's deployed, then no update is // needed. - if artifact.id.version == expected_active_version { + if artifact.version == expected_active_version { debug!(log, "no RoT update needed for board"; baseboard_id); return Ok(MgsUpdateOutcome::NoUpdateNeeded); } @@ -259,7 +216,7 @@ pub(super) fn try_make_update( .transient_boot_preference, }), artifact_hash: artifact.hash, - artifact_version: artifact.id.version.clone(), + artifact_version: artifact.version.clone(), })) } diff --git a/nexus/reconfigurator/planning/src/mgs_updates/rot_bootloader.rs b/nexus/reconfigurator/planning/src/mgs_updates/rot_bootloader.rs index 593880fc77a..98a347d1d00 100644 --- a/nexus/reconfigurator/planning/src/mgs_updates/rot_bootloader.rs +++ b/nexus/reconfigurator/planning/src/mgs_updates/rot_bootloader.rs @@ -15,12 +15,15 @@ use nexus_types::deployment::PendingMgsUpdateRotBootloaderDetails; use nexus_types::deployment::planning_report::FailedRotBootloaderUpdateReason; use nexus_types::inventory::CabooseWhich; use nexus_types::inventory::Collection; -use omicron_common::api::external::TufRepoDescription; +use nexus_types::tuf_repo::TufRepoDescription; use sled_hardware_types::BaseboardId; -use slog::{debug, warn}; +use slog::debug; use std::sync::Arc; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::KnownArtifactKind; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::KnownArtifactTags; +use tufaceous_artifact_v2::RotBootloaderTags; +use tufaceous_artifact_v2::RotKeyTableHash; +use tufaceous_artifact_v2::artifact_set::GetError; /// Compares a configured RoT bootloader update with information from inventory /// and determines the current status of the update. See `MgsUpdateStatus`. @@ -86,82 +89,37 @@ pub(super) fn try_make_update( } }; - let board = &stage0_caboose.caboose.board; - let Some(rkth) = &stage0_caboose.caboose.sign else { + let rot_board = stage0_caboose.caboose.board.clone(); + let Some(rkth) = stage0_caboose.caboose.sign.clone() else { return Err(FailedRotBootloaderUpdateReason::CabooseMissingSign( CabooseWhich::Stage0, )); }; - let matching_artifacts: Vec<_> = current_artifacts - .artifacts - .iter() - .filter(|a| { - // A matching RoT bootloader artifact will have: - // - // - "board" matching the board name (found above from caboose) - // - "kind" matching one of the known SP kinds - // - "sign" matching the rkth (found above from caboose) - - if a.board.as_ref() != Some(board) { - return false; - } - - let Some(artifact_sign) = &a.sign else { - return false; - }; - let Ok(artifact_sign) = String::from_utf8(artifact_sign.to_vec()) - else { - return false; - }; - if artifact_sign != *rkth { - return false; - } - - match a.id.kind.to_known() { - None => false, - Some( - KnownArtifactKind::GimletRotBootloader - | KnownArtifactKind::PscRotBootloader - | KnownArtifactKind::SwitchRotBootloader, - ) => true, - Some( - KnownArtifactKind::GimletRot - | KnownArtifactKind::Host - | KnownArtifactKind::InstallinatorDocument - | KnownArtifactKind::Trampoline - | KnownArtifactKind::ControlPlane - | KnownArtifactKind::Zone - | KnownArtifactKind::MeasurementCorpus - | KnownArtifactKind::PscRot - | KnownArtifactKind::SwitchRot - | KnownArtifactKind::GimletSp - | KnownArtifactKind::PscSp - | KnownArtifactKind::SwitchSp, - ) => false, + let tags = KnownArtifactTags::RotBootloader(RotBootloaderTags { + rot_board, + rot_rkth: Some(RotKeyTableHash(rkth)), + }); + let artifact = + current_artifacts.artifacts.get_only(&tags).map_err(|err| { + let tags = tags.to_string(); + match err { + GetError::NotFound => { + FailedRotBootloaderUpdateReason::NoMatchingArtifactFound( + tags, + ) + } + GetError::TooMany => { + FailedRotBootloaderUpdateReason::TooManyMatchingArtifacts( + tags, + ) + } } - }) - .collect(); - if matching_artifacts.is_empty() { - return Err(FailedRotBootloaderUpdateReason::NoMatchingArtifactFound); - } - - if matching_artifacts.len() > 1 { - // This should be impossible unless we shipped a TUF repo with multiple - // artifacts for the same board and with the same signature. But it - // doesn't prevent us from picking one and proceeding. - // Make a note and proceed. - warn!( - log, - "found more than one matching artifact for RoT bootloader update" - ); - } - - let artifact = matching_artifacts[0]; + })?; // If the artifact's version matches what's deployed, then no update is // needed. - if artifact.id.version == expected_stage0_version { + if artifact.version == expected_stage0_version { debug!(log, "no RoT bootloader update needed for board"; baseboard_id); return Ok(MgsUpdateOutcome::NoUpdateNeeded); } @@ -193,7 +151,7 @@ pub(super) fn try_make_update( }, ), artifact_hash: artifact.hash, - artifact_version: artifact.id.version.clone(), + artifact_version: artifact.version.clone(), })) } diff --git a/nexus/reconfigurator/planning/src/mgs_updates/sp.rs b/nexus/reconfigurator/planning/src/mgs_updates/sp.rs index 1e0f758ce4f..19a5100c9c3 100644 --- a/nexus/reconfigurator/planning/src/mgs_updates/sp.rs +++ b/nexus/reconfigurator/planning/src/mgs_updates/sp.rs @@ -17,10 +17,12 @@ use nexus_types::deployment::PendingMgsUpdateSpDetails; use nexus_types::deployment::planning_report::FailedSpUpdateReason; use nexus_types::inventory::CabooseWhich; use nexus_types::inventory::Collection; -use omicron_common::api::external::TufRepoDescription; -use slog::{debug, warn}; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::KnownArtifactKind; +use nexus_types::tuf_repo::TufRepoDescription; +use slog::debug; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::KnownArtifactTags; +use tufaceous_artifact_v2::SpTags; +use tufaceous_artifact_v2::artifact_set::GetError; /// Compares a configured SP update with information from inventory and /// determines the current status of the update. See `MgsUpdateStatus`. @@ -88,60 +90,24 @@ pub(super) fn try_make_update( } }; - let board = &active_caboose.caboose.board; - let matching_artifacts: Vec<_> = current_artifacts - .artifacts - .iter() - .filter(|a| { - // A matching SP artifact will have: - // - // - "board" matching the board name (found above from caboose) - // - "kind" matching one of the known SP kinds - - if a.board.as_ref() != Some(board) { - return false; - } - - match a.id.kind.to_known() { - None => false, - Some( - KnownArtifactKind::GimletSp - | KnownArtifactKind::PscSp - | KnownArtifactKind::SwitchSp, - ) => true, - Some( - KnownArtifactKind::GimletRot - | KnownArtifactKind::Host - | KnownArtifactKind::Trampoline - | KnownArtifactKind::InstallinatorDocument - | KnownArtifactKind::ControlPlane - | KnownArtifactKind::Zone - | KnownArtifactKind::MeasurementCorpus - | KnownArtifactKind::PscRot - | KnownArtifactKind::SwitchRot - | KnownArtifactKind::GimletRotBootloader - | KnownArtifactKind::PscRotBootloader - | KnownArtifactKind::SwitchRotBootloader, - ) => false, + let sp_board = active_caboose.caboose.board.clone(); + let tags = KnownArtifactTags::Sp(SpTags { sp_board }); + let artifact = + current_artifacts.artifacts.get_only(&tags).map_err(|err| { + let tags = tags.to_string(); + match err { + GetError::NotFound => { + FailedSpUpdateReason::NoMatchingArtifactFound(tags) + } + GetError::TooMany => { + FailedSpUpdateReason::TooManyMatchingArtifacts(tags) + } } - }) - .collect(); - if matching_artifacts.is_empty() { - return Err(FailedSpUpdateReason::NoMatchingArtifactFound); - } - - if matching_artifacts.len() > 1 { - // This should be impossible unless we shipped a TUF repo with multiple - // artifacts for the same board. But it doesn't prevent us from picking - // one and proceeding. Make a note and proceed. - warn!(log, "found more than one matching artifact for SP update"); - } - - let artifact = matching_artifacts[0]; + })?; // If the artifact's version matches what's deployed, then no update is // needed. - if artifact.id.version == expected_active_version { + if artifact.version == expected_active_version { debug!(log, "no SP update needed for board"; baseboard_id); return Ok(MgsUpdateOutcome::NoUpdateNeeded); } @@ -181,7 +147,7 @@ pub(super) fn try_make_update( expected_inactive_version, }), artifact_hash: artifact.hash, - artifact_version: artifact.id.version.clone(), + artifact_version: artifact.version.clone(), })) } diff --git a/nexus/reconfigurator/planning/src/mgs_updates/test_helpers.rs b/nexus/reconfigurator/planning/src/mgs_updates/test_helpers.rs index f73e21d46cc..55c820a70af 100644 --- a/nexus/reconfigurator/planning/src/mgs_updates/test_helpers.rs +++ b/nexus/reconfigurator/planning/src/mgs_updates/test_helpers.rs @@ -4,7 +4,6 @@ //! Test-only support code for testing MGS update planning. -use chrono::Utc; use gateway_client::types::SpComponentCaboose; use gateway_types::component::PowerState; use gateway_types::component::SpIdentifier; @@ -26,12 +25,9 @@ use nexus_types::deployment::PendingMgsUpdateSpDetails; use nexus_types::inventory::CabooseWhich; use nexus_types::inventory::Collection; use nexus_types::inventory::SpType; +use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::api::external::Generation; -use omicron_common::api::external::TufArtifactMeta; -use omicron_common::api::external::TufRepoDescription; -use omicron_common::api::external::TufRepoMeta; use omicron_common::disk::M2Slot; -use omicron_common::update::ArtifactId; use omicron_uuid_kinds::SledUuid; use sled_agent_types::inventory::BootImageHeader; use sled_agent_types::inventory::BootPartitionContents; @@ -52,10 +48,20 @@ use sled_hardware_types::GIMLET_SLED_MODEL; use sled_hardware_types::OxideSled; use std::collections::BTreeMap; use std::collections::BTreeSet; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactKind; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::KnownArtifactKind; +use tufaceous_artifact_v2::Artifact; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactSet; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::KnownArtifactTags; +use tufaceous_artifact_v2::OsBoard; +use tufaceous_artifact_v2::OsPhase1Tags; +use tufaceous_artifact_v2::OsPhase2Tags; +use tufaceous_artifact_v2::OsVariant; +use tufaceous_artifact_v2::RotBootloaderTags; +use tufaceous_artifact_v2::RotKeyTableHash; +use tufaceous_artifact_v2::RotTags; +use tufaceous_artifact_v2::SpTags; +use tufaceous_artifact_v2::ZoneTags; use crate::mgs_updates::PendingHostPhase2Changes; @@ -156,7 +162,6 @@ pub(super) const ARTIFACT_HASH_COSMO_HOST_PHASE_1: ArtifactHash = ArtifactHash([38; 32]); // unused artifact hashes contained in our fake TUF repo -const ARTIFACT_HASH_CONTROL_PLANE: ArtifactHash = ArtifactHash([33; 32]); const ARTIFACT_HASH_NEXUS: ArtifactHash = ArtifactHash([34; 32]); /// Hash of fake RoT signing keys @@ -315,243 +320,184 @@ impl TestBoards { const SYSTEM_HASH: ArtifactHash = ArtifactHash([3; 32]); fn make_artifact( - name: &str, - kind: ArtifactKind, + tags: KnownArtifactTags, hash: ArtifactHash, - board: Option<&str>, - sign: Option>, - ) -> TufArtifactMeta { - TufArtifactMeta { - id: ArtifactId { - name: name.to_string(), - version: ARTIFACT_VERSION_2, - kind, - }, + ) -> Artifact { + Artifact { + version: ARTIFACT_VERSION_2, + tags: tags.to_tags().unwrap(), hash, - size: 0, // unused here - board: board.map(|s| s.to_string()), - sign, + length: 0, // unused here } } // Include a bunch of SP-related artifacts, as well as a few others just // to make sure those are properly ignored. - let artifacts = vec![ - make_artifact( - "control-plane", - KnownArtifactKind::ControlPlane.into(), - ARTIFACT_HASH_CONTROL_PLANE, - None, - None, - ), + let artifacts = ArtifactSet::from([ make_artifact( - "nexus", - KnownArtifactKind::Zone.into(), + ZoneTags { zone_name: String::from("nexus") }.into(), ARTIFACT_HASH_NEXUS, - None, - None, ), make_artifact( - "gimlet-host-os-phase-1", - ArtifactKind::GIMLET_HOST_PHASE_1, + OsPhase1Tags { + os_board: OsBoard::GIMLET, + os_variant: OsVariant::Host, + } + .into(), ARTIFACT_HASH_GIMLET_HOST_PHASE_1, - None, - None, ), make_artifact( - "cosmo-host-os-phase-1", - ArtifactKind::COSMO_HOST_PHASE_1, + OsPhase1Tags { + os_board: OsBoard::COSMO, + os_variant: OsVariant::Host, + } + .into(), ARTIFACT_HASH_COSMO_HOST_PHASE_1, - None, - None, ), make_artifact( - "host-os-phase-2", - ArtifactKind::HOST_PHASE_2, + OsPhase2Tags { os_variant: OsVariant::Host }.into(), ARTIFACT_HASH_HOST_PHASE_2, - None, - None, ), make_artifact( - "cosmo-b", - KnownArtifactKind::GimletSp.into(), + SpTags { sp_board: String::from("cosmo-b") }.into(), test_artifact_for_board("cosmo-b"), - Some("cosmo-b"), - None, ), make_artifact( - "gimlet-d", - KnownArtifactKind::GimletSp.into(), + SpTags { sp_board: String::from("gimlet-d") }.into(), test_artifact_for_board("gimlet-d"), - Some("gimlet-d"), - None, ), make_artifact( - "gimlet-e", - KnownArtifactKind::GimletSp.into(), + SpTags { sp_board: String::from("gimlet-e") }.into(), test_artifact_for_board("gimlet-e"), - Some("gimlet-e"), - None, ), make_artifact( - "sidecar-b", - KnownArtifactKind::SwitchSp.into(), + SpTags { sp_board: String::from("sidecar-b") }.into(), test_artifact_for_board("sidecar-b"), - Some("sidecar-b"), - None, ), make_artifact( - "sidecar-c", - KnownArtifactKind::SwitchSp.into(), + SpTags { sp_board: String::from("sidecar-c") }.into(), test_artifact_for_board("sidecar-c"), - Some("sidecar-c"), - None, ), make_artifact( - "psc-b", - KnownArtifactKind::PscSp.into(), + SpTags { sp_board: String::from("psc-b") }.into(), test_artifact_for_board("psc-b"), - Some("psc-b"), - None, ), make_artifact( - "psc-c", - KnownArtifactKind::PscSp.into(), + SpTags { sp_board: String::from("psc-c") }.into(), test_artifact_for_board("psc-c"), - Some("psc-c"), - None, ), make_artifact( - "oxide-rot-1-fake-key", - ArtifactKind::GIMLET_ROT_IMAGE_A, - test_artifact_for_artifact_kind( - ArtifactKind::GIMLET_ROT_IMAGE_A, - Some(OxideSled::Gimlet), - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_GIMLET.into()), + RotTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_GIMLET.into())), + rot_slot: tufaceous_artifact_v2::RotSlot::A, + } + .into(), + ARTIFACT_HASH_ROT_GIMLET_A, ), make_artifact( - "oxide-rot-1-fake-key", - ArtifactKind::GIMLET_ROT_IMAGE_B, - test_artifact_for_artifact_kind( - ArtifactKind::GIMLET_ROT_IMAGE_B, - Some(OxideSled::Gimlet), - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_GIMLET.into()), + RotTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_GIMLET.into())), + rot_slot: tufaceous_artifact_v2::RotSlot::B, + } + .into(), + ARTIFACT_HASH_ROT_GIMLET_B, ), make_artifact( - "oxide-rot-1-fake-key", - ArtifactKind::GIMLET_ROT_IMAGE_A, - test_artifact_for_artifact_kind( - ArtifactKind::GIMLET_ROT_IMAGE_A, - Some(OxideSled::Cosmo), - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_COSMO.into()), + RotTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_COSMO.into())), + rot_slot: tufaceous_artifact_v2::RotSlot::A, + } + .into(), + ARTIFACT_HASH_ROT_COSMO_A, ), make_artifact( - "oxide-rot-1-fake-key", - ArtifactKind::GIMLET_ROT_IMAGE_B, - test_artifact_for_artifact_kind( - ArtifactKind::GIMLET_ROT_IMAGE_B, - Some(OxideSled::Cosmo), - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_COSMO.into()), + RotTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_COSMO.into())), + rot_slot: tufaceous_artifact_v2::RotSlot::B, + } + .into(), + ARTIFACT_HASH_ROT_COSMO_B, ), make_artifact( - "oxide-rot-1-fake-key", - ArtifactKind::PSC_ROT_IMAGE_A, - test_artifact_for_artifact_kind( - ArtifactKind::PSC_ROT_IMAGE_A, - None, - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_PSC.into()), + RotTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_PSC.into())), + rot_slot: tufaceous_artifact_v2::RotSlot::A, + } + .into(), + ARTIFACT_HASH_ROT_PSC_A, ), make_artifact( - "oxide-rot-1-fake-key", - ArtifactKind::PSC_ROT_IMAGE_B, - test_artifact_for_artifact_kind( - ArtifactKind::PSC_ROT_IMAGE_B, - None, - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_PSC.into()), + RotTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_PSC.into())), + rot_slot: tufaceous_artifact_v2::RotSlot::B, + } + .into(), + ARTIFACT_HASH_ROT_PSC_B, ), make_artifact( - "oxide-rot-1-fake-key", - ArtifactKind::SWITCH_ROT_IMAGE_A, - test_artifact_for_artifact_kind( - ArtifactKind::SWITCH_ROT_IMAGE_A, - None, - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_SWITCH.into()), + RotTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_SWITCH.into())), + rot_slot: tufaceous_artifact_v2::RotSlot::A, + } + .into(), + ARTIFACT_HASH_ROT_SWITCH_A, ), make_artifact( - "oxide-rot-1-fake-key", - ArtifactKind::SWITCH_ROT_IMAGE_B, - test_artifact_for_artifact_kind( - ArtifactKind::SWITCH_ROT_IMAGE_B, - None, - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_SWITCH.into()), + RotTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_SWITCH.into())), + rot_slot: tufaceous_artifact_v2::RotSlot::B, + } + .into(), + ARTIFACT_HASH_ROT_SWITCH_B, ), make_artifact( - "bootloader-fake-key", - ArtifactKind::GIMLET_ROT_STAGE0, - test_artifact_for_artifact_kind( - ArtifactKind::GIMLET_ROT_STAGE0, - Some(OxideSled::Gimlet), - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_GIMLET.into()), + RotBootloaderTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_GIMLET.into())), + } + .into(), + ARTIFACT_HASH_ROT_BOOTLOADER_GIMLET, ), make_artifact( - "bootloader-fake-key", - ArtifactKind::GIMLET_ROT_STAGE0, - test_artifact_for_artifact_kind( - ArtifactKind::GIMLET_ROT_STAGE0, - Some(OxideSled::Cosmo), - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_COSMO.into()), + RotBootloaderTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_COSMO.into())), + } + .into(), + ARTIFACT_HASH_ROT_BOOTLOADER_COSMO, ), make_artifact( - "bootloader-fake-key", - ArtifactKind::PSC_ROT_STAGE0, - test_artifact_for_artifact_kind( - ArtifactKind::PSC_ROT_STAGE0, - None, - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_PSC.into()), + RotBootloaderTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_PSC.into())), + } + .into(), + ARTIFACT_HASH_ROT_BOOTLOADER_PSC, ), make_artifact( - "bootloader-fake-key", - ArtifactKind::SWITCH_ROT_STAGE0, - test_artifact_for_artifact_kind( - ArtifactKind::SWITCH_ROT_STAGE0, - None, - ), - Some("oxide-rot-1"), - Some(ROT_SIGN_SWITCH.into()), + RotBootloaderTags { + rot_board: String::from("oxide-rot-1"), + rot_rkth: Some(RotKeyTableHash(ROT_SIGN_SWITCH.into())), + } + .into(), + ARTIFACT_HASH_ROT_BOOTLOADER_SWITCH, ), - ]; + ]); TufRepoDescription { - repo: TufRepoMeta { - hash: SYSTEM_HASH, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: SYSTEM_VERSION, - file_name: String::new(), - }, artifacts, + metadata: BTreeMap::new(), + system_version: SYSTEM_VERSION, + hash: SYSTEM_HASH, + file_name: String::new(), } } @@ -578,14 +524,16 @@ impl TestBoards { sp_slot: board.id.slot, component: MgsUpdateComponent::Rot, expected_serial: board.serial, - expected_artifact: test_artifact_for_artifact_kind( - match board.id.typ { - SpType::Sled => ArtifactKind::GIMLET_ROT_IMAGE_B, - SpType::Power => ArtifactKind::PSC_ROT_IMAGE_B, - SpType::Switch => ArtifactKind::SWITCH_ROT_IMAGE_B, + expected_artifact: match board.id.typ { + SpType::Sled => match sled_type.expect( + "test bug: did not detect sled type for sled", + ) { + OxideSled::Gimlet => ARTIFACT_HASH_ROT_GIMLET_B, + OxideSled::Cosmo => ARTIFACT_HASH_ROT_COSMO_B, }, - sled_type, - ), + SpType::Power => ARTIFACT_HASH_ROT_PSC_B, + SpType::Switch => ARTIFACT_HASH_ROT_SWITCH_B, + }, }) .expect("boards are unique"); updates @@ -594,14 +542,20 @@ impl TestBoards { sp_slot: board.id.slot, component: MgsUpdateComponent::RotBootloader, expected_serial: board.serial, - expected_artifact: test_artifact_for_artifact_kind( - match board.id.typ { - SpType::Sled => ArtifactKind::GIMLET_ROT_STAGE0, - SpType::Power => ArtifactKind::PSC_ROT_STAGE0, - SpType::Switch => ArtifactKind::SWITCH_ROT_STAGE0, + expected_artifact: match board.id.typ { + SpType::Sled => match sled_type.expect( + "test bug: did not detect sled type for sled", + ) { + OxideSled::Gimlet => { + ARTIFACT_HASH_ROT_BOOTLOADER_GIMLET + } + OxideSled::Cosmo => { + ARTIFACT_HASH_ROT_BOOTLOADER_COSMO + } }, - sled_type, - ), + SpType::Power => ARTIFACT_HASH_ROT_BOOTLOADER_PSC, + SpType::Switch => ARTIFACT_HASH_ROT_BOOTLOADER_SWITCH, + }, }) .expect("boards are unique"); @@ -1407,51 +1361,3 @@ fn test_artifact_for_board(board: &str) -> ArtifactHash { _ => panic!("test bug: no artifact for board {board:?}"), } } - -// There's no difference between Gimlet and Cosmo from an RoT perspective -// so both of them still use the same `ArtifactKind` everywhere. This is -// why we need the extra `sled_type` argument here -fn test_artifact_for_artifact_kind( - kind: ArtifactKind, - sled_type: Option, -) -> ArtifactHash { - if kind == ArtifactKind::GIMLET_ROT_IMAGE_A - && sled_type == Some(OxideSled::Gimlet) - { - ARTIFACT_HASH_ROT_GIMLET_A - } else if kind == ArtifactKind::GIMLET_ROT_IMAGE_B - && sled_type == Some(OxideSled::Gimlet) - { - ARTIFACT_HASH_ROT_GIMLET_B - } else if kind == ArtifactKind::GIMLET_ROT_IMAGE_A - && sled_type == Some(OxideSled::Cosmo) - { - ARTIFACT_HASH_ROT_COSMO_A - } else if kind == ArtifactKind::GIMLET_ROT_IMAGE_B - && sled_type == Some(OxideSled::Cosmo) - { - ARTIFACT_HASH_ROT_COSMO_B - } else if kind == ArtifactKind::PSC_ROT_IMAGE_A { - ARTIFACT_HASH_ROT_PSC_A - } else if kind == ArtifactKind::PSC_ROT_IMAGE_B { - ARTIFACT_HASH_ROT_PSC_B - } else if kind == ArtifactKind::SWITCH_ROT_IMAGE_A { - ARTIFACT_HASH_ROT_SWITCH_A - } else if kind == ArtifactKind::SWITCH_ROT_IMAGE_B { - ARTIFACT_HASH_ROT_SWITCH_B - } else if kind == ArtifactKind::GIMLET_ROT_STAGE0 - && sled_type == Some(OxideSled::Gimlet) - { - ARTIFACT_HASH_ROT_BOOTLOADER_GIMLET - } else if kind == ArtifactKind::GIMLET_ROT_STAGE0 - && sled_type == Some(OxideSled::Cosmo) - { - ARTIFACT_HASH_ROT_BOOTLOADER_COSMO - } else if kind == ArtifactKind::PSC_ROT_STAGE0 { - ARTIFACT_HASH_ROT_BOOTLOADER_PSC - } else if kind == ArtifactKind::SWITCH_ROT_STAGE0 { - ARTIFACT_HASH_ROT_BOOTLOADER_SWITCH - } else { - panic!("test bug: no artifact for artifact kind {kind:?}") - } -} diff --git a/nexus/reconfigurator/planning/src/planner/image_source.rs b/nexus/reconfigurator/planning/src/planner/image_source.rs index 19f2259344d..729a550fab4 100644 --- a/nexus/reconfigurator/planning/src/planner/image_source.rs +++ b/nexus/reconfigurator/planning/src/planner/image_source.rs @@ -19,14 +19,14 @@ use nexus_types::{ }, inventory::Collection, }; -use omicron_common::api::external::{Generation, TufArtifactMeta}; +use omicron_common::api::external::Generation; use omicron_uuid_kinds::{MupdateOverrideUuid, OmicronZoneUuid, SledUuid}; use sled_agent_types::inventory::{ BootPartitionContents, BootPartitionDetails, ManifestBootInventory, ZoneKind, }; use slog::{debug, info, o, warn}; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::{Artifact, ArtifactHash}; use crate::blueprint_builder::{BlueprintBuilder, Error}; @@ -582,7 +582,7 @@ impl NoopConvertZoneInfo { fn new( zone: &BlueprintZoneConfig, zone_manifest: &ManifestBootInventory, - artifacts_by_hash: &HashMap, + artifacts_by_hash: &HashMap, ) -> Self { let file_name = zone.kind().artifact_in_install_dataset(); @@ -750,7 +750,7 @@ impl NoopConvertHostPhase2Slots { fn new( current: BlueprintHostPhase2DesiredSlots, contents: Option<&BootPartitionContents>, - artifacts_by_hash: &HashMap, + artifacts_by_hash: &HashMap, ) -> Self { Self { slot_a: NoopConvertHostPhase2Contents::new( @@ -794,7 +794,7 @@ impl NoopConvertHostPhase2Contents { fn new( current: BlueprintHostPhase2DesiredContents, details: Option<&Result>, - artifacts_by_hash: &HashMap, + artifacts_by_hash: &HashMap, ) -> Self { match current { BlueprintHostPhase2DesiredContents::Artifact { version, hash } => { @@ -814,7 +814,7 @@ impl NoopConvertHostPhase2Contents { artifacts_by_hash.get(&details.artifact_hash) { let version = BlueprintArtifactVersion::Available { - version: meta.id.version.clone(), + version: meta.version.clone(), }; let desired = BlueprintHostPhase2DesiredContents::Artifact { @@ -957,7 +957,7 @@ impl NoopConvertMeasurements { fn new( current: BlueprintMeasurements, measurement_manifest: Result<&ManifestBootInventory, &String>, - artifacts_by_hash: &HashMap, + artifacts_by_hash: &HashMap, ) -> Self { use NoopConvertMeasurementsIneligibleReason as IneligibleReason; @@ -980,7 +980,7 @@ impl NoopConvertMeasurements { { artifacts.insert(BlueprintSingleMeasurement { version: BlueprintArtifactVersion::Available { - version: meta.id.version.clone(), + version: meta.version.clone(), }, hash: meta.hash, }); diff --git a/nexus/reconfigurator/planning/src/system.rs b/nexus/reconfigurator/planning/src/system.rs index f908d8d1f53..7b4606166c0 100644 --- a/nexus/reconfigurator/planning/src/system.rs +++ b/nexus/reconfigurator/planning/src/system.rs @@ -86,9 +86,13 @@ use std::net::Ipv4Addr; use std::net::Ipv6Addr; use std::sync::Arc; use std::time::Duration; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::KnownArtifactKind; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactVersion; + +// Matches the `rot_rkth` tag assigned to fake artifacts generated by tufaceous. +// (`pub` for access in tests.) +pub const FAKE_ROT_RKTH: &str = + "0000000000000000000000000000000000000000000000000000000000000000"; /// Describes an actual or synthetic Oxide rack for planning and testing /// @@ -2065,8 +2069,7 @@ impl Sled { git_commit: String::from("unknown"), name: board.clone(), version: version.to_string(), - sign: KnownArtifactKind::GimletRotBootloader - .fake_artifact_hubris_sign(), + sign: Some(FAKE_ROT_RKTH.into()), } } @@ -2088,7 +2091,7 @@ impl Sled { git_commit: String::from("unknown"), name: board.clone(), version: version.to_string(), - sign: KnownArtifactKind::GimletRot.fake_artifact_hubris_sign(), + sign: Some(FAKE_ROT_RKTH.into()), } } diff --git a/nexus/reconfigurator/planning/tests/integration_tests/planner.rs b/nexus/reconfigurator/planning/tests/integration_tests/planner.rs index 604dfdaa547..fdad549357f 100644 --- a/nexus/reconfigurator/planning/tests/integration_tests/planner.rs +++ b/nexus/reconfigurator/planning/tests/integration_tests/planner.rs @@ -12,6 +12,7 @@ use clickhouse_admin_types::keeper::KeeperId; use expectorate::assert_contents; use iddqd::IdOrdMap; use nexus_reconfigurator_planning::blueprint_editor::ExternalNetworkingAllocator; +use nexus_reconfigurator_planning::system::FAKE_ROT_RKTH; use nexus_reconfigurator_simulation::BlueprintId; use nexus_reconfigurator_simulation::CollectionId; use nexus_types::deployment::Blueprint; @@ -50,13 +51,11 @@ use nexus_types::inventory::CockroachStatus; use nexus_types::inventory::Collection; use nexus_types::inventory::InternalDnsGenerationStatus; use nexus_types::inventory::TimeSync; +use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::address::Ipv4Range; use omicron_common::api::external::ByteCount; use omicron_common::api::external::Generation; use omicron_common::api::external::MacAddr; -use omicron_common::api::external::TufArtifactMeta; -use omicron_common::api::external::TufRepoDescription; -use omicron_common::api::external::TufRepoMeta; use omicron_common::api::external::Vni; use omicron_common::api::internal::shared::PrivateIpConfig; use omicron_common::disk::DatasetKind; @@ -67,7 +66,6 @@ use omicron_common::policy::COCKROACHDB_REDUNDANCY; use omicron_common::policy::CRUCIBLE_PANTRY_REDUNDANCY; use omicron_common::policy::INTERNAL_DNS_REDUNDANCY; use omicron_common::policy::NEXUS_REDUNDANCY; -use omicron_common::update::ArtifactId; use omicron_deployment_graph::DEPLOYMENT_UNIT_DAG_PATH; use omicron_deployment_graph::DagEdge; use omicron_deployment_graph::DagEdgesFile; @@ -99,10 +97,21 @@ use std::net::Ipv4Addr; use std::net::Ipv6Addr; use std::sync::Arc; use strum::IntoEnumIterator; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactKind; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::KnownArtifactKind; +use tufaceous_artifact_v2::Artifact; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactSet; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::KnownArtifactTags; +use tufaceous_artifact_v2::OsBoard; +use tufaceous_artifact_v2::OsPhase1Tags; +use tufaceous_artifact_v2::OsPhase2Tags; +use tufaceous_artifact_v2::OsVariant; +use tufaceous_artifact_v2::RotBootloaderTags; +use tufaceous_artifact_v2::RotKeyTableHash; +use tufaceous_artifact_v2::RotSlot; +use tufaceous_artifact_v2::RotTags; +use tufaceous_artifact_v2::SpTags; +use tufaceous_artifact_v2::ZoneTags; use typed_rng::TypedUuidRng; use uuid::Uuid; @@ -3161,16 +3170,15 @@ fn sim_complete_pending_host_os_updates( macro_rules! fake_zone_artifact { ($kind: ident, $version: expr, $hash: expr) => { - TufArtifactMeta { - id: ArtifactId { - name: ZoneKind::$kind.artifact_id_name().to_string(), - version: $version, - kind: ArtifactKind::from_known(KnownArtifactKind::Zone), - }, + Artifact { + version: $version, + tags: KnownArtifactTags::Zone(ZoneTags { + zone_name: ZoneKind::$kind.artifact_id_name().to_string(), + }) + .to_tags() + .unwrap(), hash: $hash, - size: 0, - board: None, - sign: None, + length: 0, } }; } @@ -3183,32 +3191,22 @@ const MEASUREMENT_HASH_ALWAYS: ArtifactHash = ArtifactHash([0xcc; 32]); fn create_measurement_artifacts_at_version( version: &ArtifactVersion, measurement_hash: ArtifactHash, -) -> Vec { +) -> ArtifactSet { let zones = create_artifacts_for_version(WhichVersion::InitialSystemVersion); - let corpus = vec![ - TufArtifactMeta { - id: ArtifactId { - name: "measurement_corpus2".to_string(), - version: version.clone(), - kind: ArtifactKind::MEASUREMENT_CORPUS, - }, + let corpus = [ + Artifact { + version: version.clone(), + tags: KnownArtifactTags::MeasurementCorpus.to_tags().unwrap(), hash: MEASUREMENT_HASH_ALWAYS, - size: 0, - board: None, - sign: None, + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: "measurement_corpus".to_string(), - version: version.clone(), - kind: ArtifactKind::MEASUREMENT_CORPUS, - }, + Artifact { + version: version.clone(), + tags: KnownArtifactTags::MeasurementCorpus.to_tags().unwrap(), hash: measurement_hash, - size: 0, - board: None, - sign: None, + length: 0, }, ]; @@ -3256,7 +3254,7 @@ impl WhichVersion { // that we simulate an environment that does not need SP // component updates. ArtifactHash(hex_literal::hex!( - "7cd830e1682d50620de0f5c24b8cca15937eb10d2a415ade6ad28c0d314408eb" + "4a07d9994c760188e5c9faf538be61a2d7aa07017159eea66b338d86151b3fd5" )), ), WhichVersion::UpdatedHostOsAndZones => { @@ -3285,12 +3283,12 @@ impl WhichVersion { } } -fn create_artifacts_for_version(which: WhichVersion) -> Vec { +fn create_artifacts_for_version(which: WhichVersion) -> ArtifactSet { let version = which.version(); let (host_phase_1_hash, host_phase_2_hash) = which.host_phase_hashes(); let zone_hash = which.zone_artifact_hash(); - vec![ + ArtifactSet::from_iter([ // Omit `BoundaryNtp` because it has the same artifact name as // `InternalNtp`. fake_zone_artifact!(Clickhouse, version.clone(), zone_hash), @@ -3304,91 +3302,89 @@ fn create_artifacts_for_version(which: WhichVersion) -> Vec { fake_zone_artifact!(InternalNtp, version.clone(), zone_hash), fake_zone_artifact!(Nexus, version.clone(), zone_hash), fake_zone_artifact!(Oximeter, version.clone(), zone_hash), - TufArtifactMeta { - id: ArtifactId { - name: "host-os-phase-1".to_string(), - version: version.clone(), - kind: ArtifactKind::GIMLET_HOST_PHASE_1, - }, + Artifact { + version: version.clone(), + tags: KnownArtifactTags::OsPhase1(OsPhase1Tags { + os_board: OsBoard::GIMLET, + os_variant: OsVariant::Host, + }) + .to_tags() + .unwrap(), hash: host_phase_1_hash, - size: 0, - board: None, - sign: None, + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: "host-os-phase-2".to_string(), - version: version.clone(), - kind: ArtifactKind::HOST_PHASE_2, - }, + Artifact { + version: version.clone(), + tags: KnownArtifactTags::OsPhase2(OsPhase2Tags { + os_variant: OsVariant::Host, + }) + .to_tags() + .unwrap(), hash: host_phase_2_hash, - size: 0, - board: None, - sign: None, + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: sp_sim::SIM_GIMLET_BOARD.to_string(), - version: ArtifactVersion::new("0.0.1").unwrap(), - kind: KnownArtifactKind::GimletSp.into(), - }, + Artifact { + version: ArtifactVersion::new("0.0.1").unwrap(), + tags: KnownArtifactTags::Sp(SpTags { + sp_board: sp_sim::SIM_GIMLET_BOARD.to_string(), + }) + .to_tags() + .unwrap(), // The WhichVersion enum does not currently have a variant for // a different SP version, so we hardcode the hash here. If // WhichVersion gains such a variant, this would be the place to // change. hash: ArtifactHash([0; 32]), - size: 0, - board: Some(sp_sim::SIM_GIMLET_BOARD.to_string()), - sign: None, + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: sp_sim::SIM_ROT_BOARD.to_string(), - version: ArtifactVersion::new("0.0.1").unwrap(), - kind: ArtifactKind::GIMLET_ROT_IMAGE_B, - }, + Artifact { + version: ArtifactVersion::new("0.0.1").unwrap(), + tags: KnownArtifactTags::Rot(RotTags { + rot_board: sp_sim::SIM_ROT_BOARD.to_string(), + rot_rkth: Some(RotKeyTableHash(FAKE_ROT_RKTH.into())), + rot_slot: RotSlot::B, + }) + .to_tags() + .unwrap(), // The WhichVersion enum does not currently have a variant for // a different RoT version, so we hardcode the hash here. If // WhichVersion gains such a variant, this would be the place to // change. hash: ArtifactHash([0; 32]), - size: 0, - board: Some(sp_sim::SIM_ROT_BOARD.to_string()), - sign: Some("sign-gimlet".into()), + length: 0, }, - TufArtifactMeta { - id: ArtifactId { - name: sp_sim::SIM_ROT_BOARD.to_string(), - version: ArtifactVersion::new("0.0.1").unwrap(), - kind: ArtifactKind::GIMLET_ROT_STAGE0, - }, + Artifact { + version: ArtifactVersion::new("0.0.1").unwrap(), + tags: KnownArtifactTags::RotBootloader(RotBootloaderTags { + rot_board: sp_sim::SIM_ROT_BOARD.to_string(), + rot_rkth: Some(RotKeyTableHash(FAKE_ROT_RKTH.into())), + }) + .to_tags() + .unwrap(), // The WhichVersion enum does not currently have a variant for a // different RoT stage 0 version, so we hardcode the hash here. If // WhichVersion gains such a variant, this would be the place to // change. hash: ArtifactHash([0; 32]), - size: 0, - board: Some(sp_sim::SIM_ROT_BOARD.to_string()), - sign: Some("sign-gimlet".into()), + length: 0, }, - // We need at least one measurement in a repo to proceed with planning - // This value matches what we load from the example repo so that - // we can go ahead and proceed with zone planning without extra - // measurement steps - TufArtifactMeta { - id: ArtifactId { - name: "measurement-base".to_string(), - version: ArtifactVersion::new("1.0.0").unwrap(), - kind: ArtifactKind::MEASUREMENT_CORPUS, - }, + Artifact { + version: ArtifactVersion::new("0.0.1").unwrap(), + tags: KnownArtifactTags::MeasurementCorpus.to_tags().unwrap(), hash: ArtifactHash(hex_literal::hex!( - "8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f" + "b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248" )), - size: 0, - board: None, - sign: None, + length: 0, }, - ] + Artifact { + version: ArtifactVersion::new("0.0.1").unwrap(), + tags: KnownArtifactTags::MeasurementCorpus.to_tags().unwrap(), + hash: ArtifactHash(hex_literal::hex!( + "dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7" + )), + length: 0, + }, + ]) } /// Ensure that dependent zones (here just Crucible Pantry) are updated @@ -3432,14 +3428,11 @@ fn test_update_crucible_pantry_before_nexus() { }; let artifacts = create_artifacts_for_version(which); let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: fake_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts, + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: fake_hash, + file_name: String::new(), }); sim.change_description("set new target release", |desc| { desc.set_target_release(description); @@ -3830,14 +3823,11 @@ fn test_update_cockroach() { }; let artifacts = create_artifacts_for_version(which); let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: fake_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts, + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: fake_hash, + file_name: String::new(), }); sim.change_description("set new target release", |desc| { desc.set_target_release(description); @@ -4200,14 +4190,11 @@ fn test_update_boundary_ntp() { }; let artifacts = create_artifacts_for_version(which); let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: fake_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts, + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: fake_hash, + file_name: String::new(), }); sim.change_description("set new target release", |desc| { desc.set_target_release(description); @@ -4611,14 +4598,11 @@ fn test_update_internal_dns() { }; let artifacts = create_artifacts_for_version(which); let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: fake_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts, + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: fake_hash, + file_name: String::new(), }); sim.change_description("set new target release", |desc| { desc.set_target_release(description); @@ -4859,14 +4843,11 @@ fn test_update_all_zones() { // We use generation 2 to represent the first generation with a TUF repo // attached. let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: fake_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts: create_artifacts_for_version(which), + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: fake_hash, + file_name: String::new(), }); sim.change_description("set new target release", |desc| { @@ -4951,17 +4932,14 @@ fn test_simple_measurements() { // We use generation 2 to represent the first generation with a TUF repo // attached. let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: fake_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts: create_measurement_artifacts_at_version( &version, MEASUREMENT_HASH1, ), + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: fake_hash, + file_name: String::new(), }); sim.change_description("set new target release", |desc| { @@ -5033,17 +5011,14 @@ fn test_multiple_measurements() { // We use generation 2 to represent the first generation with a TUF repo // attached. let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: fake_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts: create_measurement_artifacts_at_version( &version, MEASUREMENT_HASH1, ), + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: fake_hash, + file_name: String::new(), }); let mut artifacts = BTreeSet::new(); @@ -5051,10 +5026,18 @@ fn test_multiple_measurements() { // From our first upgrade repo artifacts.insert(BlueprintSingleMeasurement { version: BlueprintArtifactVersion::Available { - version: ArtifactVersion::new_static("1.0.0").unwrap(), + version: ArtifactVersion::new_static("0.0.1").unwrap(), }, hash: ArtifactHash(hex_literal::hex!( - "8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f" + "b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248" + )), + }); + artifacts.insert(BlueprintSingleMeasurement { + version: BlueprintArtifactVersion::Available { + version: ArtifactVersion::new_static("0.0.1").unwrap(), + }, + hash: ArtifactHash(hex_literal::hex!( + "dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7" )), }); // From our new repo @@ -5136,17 +5119,14 @@ fn test_multiple_measurements() { // We use generation 2 to represent the first generation with a TUF repo // attached. let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: fake_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts: create_measurement_artifacts_at_version( &version, MEASUREMENT_HASH2, ), + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: fake_hash, + file_name: String::new(), }); sim.change_description("set new target release again", |desc| { @@ -5160,10 +5140,18 @@ fn test_multiple_measurements() { // From our generated zone artifacts artifacts.insert(BlueprintSingleMeasurement { version: BlueprintArtifactVersion::Available { - version: ArtifactVersion::new_static("1.0.0").unwrap(), + version: ArtifactVersion::new_static("0.0.1").unwrap(), + }, + hash: ArtifactHash(hex_literal::hex!( + "b0db8f64463a377a302082c5752056ee191adf904daa625d38a2094059f55248" + )), + }); + artifacts.insert(BlueprintSingleMeasurement { + version: BlueprintArtifactVersion::Available { + version: ArtifactVersion::new_static("0.0.1").unwrap(), }, hash: ArtifactHash(hex_literal::hex!( - "8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f" + "dbea4039b6ed82dbdd8d794d398a5c647ffa6991bd7d063702c2acbc7a0b90c7" )), }); @@ -5525,14 +5513,11 @@ fn test_zone_update_ordering_respects_dependency_dag() { // The TUF repo's overall hash doesn't matter for this test. let repo_hash = ArtifactHash([0; 32]); let description = TargetReleaseDescription::TufRepo(TufRepoDescription { - repo: TufRepoMeta { - hash: repo_hash, - targets_role_version: 0, - valid_until: Utc::now(), - system_version: Version::new(1, 0, 0), - file_name: String::from(""), - }, artifacts: create_artifacts_for_version(which), + metadata: BTreeMap::new(), + system_version: Version::new(1, 0, 0), + hash: repo_hash, + file_name: String::new(), }); sim.change_description("set new target release", |desc| { diff --git a/nexus/reconfigurator/preparation/src/lib.rs b/nexus/reconfigurator/preparation/src/lib.rs index 6d0f8c01150..783c5d82f9b 100644 --- a/nexus/reconfigurator/preparation/src/lib.rs +++ b/nexus/reconfigurator/preparation/src/lib.rs @@ -206,7 +206,7 @@ impl PlanningInputFromDb<'_> { .tuf_repo_get_by_id(opctx, repo_id.into()) .await .internal_context("fetching target release repo")? - .into_external(), + .into(), ), }; let tuf_repo = TufRepoPolicy { @@ -234,7 +234,7 @@ impl PlanningInputFromDb<'_> { .internal_context( "fetching previous target release repo", )? - .into_external(), + .into(), ) } else { TargetReleaseDescription::Initial diff --git a/nexus/reconfigurator/simulation/Cargo.toml b/nexus/reconfigurator/simulation/Cargo.toml index 21c9f98a85d..00c086c2baa 100644 --- a/nexus/reconfigurator/simulation/Cargo.toml +++ b/nexus/reconfigurator/simulation/Cargo.toml @@ -27,6 +27,6 @@ strum.workspace = true swrite.workspace = true sync-ptr.workspace = true thiserror.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true typed-rng.workspace = true uuid.workspace = true diff --git a/nexus/reconfigurator/simulation/src/zone_images.rs b/nexus/reconfigurator/simulation/src/zone_images.rs index 779f47bfe4d..9c7e4ca315d 100644 --- a/nexus/reconfigurator/simulation/src/zone_images.rs +++ b/nexus/reconfigurator/simulation/src/zone_images.rs @@ -9,14 +9,13 @@ use std::collections::BTreeSet; use anyhow::bail; use camino::Utf8Path; use itertools::Itertools; -use omicron_common::{ - api::external::TufRepoDescription, update::OmicronInstallManifestSource, -}; +use nexus_types::tuf_repo::TufRepoDescription; +use omicron_common::update::OmicronInstallManifestSource; use sled_agent_types::inventory::{ ManifestBootInventory, ZoneArtifactInventory, ZoneKind, }; use swrite::{SWrite, swrite}; -use tufaceous_artifact::KnownArtifactKind; +use tufaceous_artifact_v2::KnownArtifactTags; use crate::errors::UnknownZoneNamesError; @@ -98,29 +97,17 @@ impl SimTufRepoSource { measurement_manifest_source: OmicronInstallManifestSource, message: String, ) -> anyhow::Result { - let mut unknown = BTreeSet::new(); - let known = description + let (known, unknown) = description .artifacts .iter() - .filter_map(|artifact| { - if artifact.id.kind.to_known() != Some(KnownArtifactKind::Zone) - { - return None; - } - - // Check that the zone name is known to ZoneKind. - if ZoneKind::artifact_id_name_to_install_dataset_file( - &artifact.id.name, - ) - .is_some() - { - Some(artifact.id.name.clone()) - } else { - unknown.insert(artifact.id.name.clone()); - None - } + .filter_map(|artifact| match artifact.known_tags() { + Some(KnownArtifactTags::Zone(tags)) => Some(tags.zone_name), + _ => None, }) - .collect(); + .partition::, _>(|zone_name| { + ZoneKind::artifact_id_name_to_install_dataset_file(&zone_name) + .is_some() + }); if !unknown.is_empty() { bail!( "unknown zone artifact ID names in provided description \ @@ -187,23 +174,18 @@ impl SimTufRepoSource { let artifacts = self .description .artifacts + .get_all(&KnownArtifactTags::MeasurementCorpus) .iter() - .filter_map(|artifact| { - if artifact.id.kind.to_known() - != Some(KnownArtifactKind::MeasurementCorpus) - { - return None; - } - - let file_name = artifact.id.name.to_string(); + .map(|artifact| { + let file_name = artifact.hash.to_string(); let path = Utf8Path::new("/fake/path/install").join(&file_name); - Some(ZoneArtifactInventory { + ZoneArtifactInventory { file_name, path, - expected_size: artifact.size, + expected_size: artifact.length, expected_hash: artifact.hash, status: Ok(()), - }) + } }) .collect(); Ok(ManifestBootInventory { source, artifacts }) @@ -216,30 +198,30 @@ impl SimTufRepoSource { .artifacts .iter() .filter_map(|artifact| { - if artifact.id.kind.to_known() != Some(KnownArtifactKind::Zone) - { + let Some(KnownArtifactTags::Zone(tags)) = artifact.known_tags() + else { return None; - } + }; let file_name = ZoneKind::artifact_id_name_to_install_dataset_file( - &artifact.id.name, + &tags.zone_name, ) .expect("we checked this was Some at construction time") .to_owned(); let path = Utf8Path::new("/fake/path/install").join(&file_name); - let status = - if self.error_zone_names.contains(&artifact.id.name) { - Err("reconfigurator-sim: simulated error \ + let status = if self.error_zone_names.contains(&tags.zone_name) + { + Err("reconfigurator-sim: simulated error \ validating zone image" - .to_owned()) - } else { - Ok(()) - }; + .to_owned()) + } else { + Ok(()) + }; Some(ZoneArtifactInventory { file_name, path, - expected_size: artifact.size, + expected_size: artifact.length, expected_hash: artifact.hash, status, }) @@ -255,7 +237,7 @@ impl SimTufRepoSource { swrite!( message, " (system version {}", - self.description.repo.system_version + self.description.system_version ); if !self.error_zone_names.is_empty() { swrite!(message, ", {} zone errors", self.error_zone_names.len()); diff --git a/nexus/src/app/background/init.rs b/nexus/src/app/background/init.rs index 4ea84331d78..04b46ce38a1 100644 --- a/nexus/src/app/background/init.rs +++ b/nexus/src/app/background/init.rs @@ -168,7 +168,7 @@ use std::collections::BTreeMap; use std::sync::Arc; use tokio::sync::mpsc; use tokio::sync::watch; -use update_common::artifacts::ArtifactsWithPlan; +use tufaceous_v2::Repository; /// Internal state for communication between Nexus and background tasks. /// @@ -1355,7 +1355,7 @@ pub struct BackgroundTasksData { /// Helpers for saga recovery pub saga_recovery: saga_recovery::SagaRecoveryHelpers>, /// Channel for TUF repository artifacts to be replicated out to sleds - pub tuf_artifact_replication_rx: mpsc::Receiver, + pub tuf_artifact_replication_rx: mpsc::Receiver, /// Channel for exposing the latest loaded blueprint pub blueprint_load_tx: watch::Sender>, /// [`ExternalHttpClient`] for webhook delivery requests. diff --git a/nexus/src/app/background/tasks/support_bundle_collector.rs b/nexus/src/app/background/tasks/support_bundle_collector.rs index 31d176fbc2d..a06ce8a171e 100644 --- a/nexus/src/app/background/tasks/support_bundle_collector.rs +++ b/nexus/src/app/background/tasks/support_bundle_collector.rs @@ -43,7 +43,7 @@ use tokio::io::AsyncReadExt; use tokio::io::AsyncSeekExt; use tokio::io::SeekFrom; use tokio_util::sync::CancellationToken; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// We use "/var/tmp" to use Nexus' filesystem for temporary storage, /// rather than "/tmp", which would keep this collected data in-memory. diff --git a/nexus/src/app/background/tasks/tuf_artifact_replication.rs b/nexus/src/app/background/tasks/tuf_artifact_replication.rs index 722d7abd235..d8b1aa2b7ac 100644 --- a/nexus/src/app/background/tasks/tuf_artifact_replication.rs +++ b/nexus/src/app/background/tasks/tuf_artifact_replication.rs @@ -15,15 +15,16 @@ //! //! This background task is responsible for getting locally-stored artifacts //! onto sleds, and ensuring all sleds have copies of all artifacts. -//! `Nexus::updates_put_repository` sends the [`ArtifactsWithPlan`] object to -//! this task via an [`mpsc`] channel and activates it. Once enough sleds have a -//! copy of each artifact in an `ArtifactsWithPlan`, the local copy is removed. +//! `Nexus::updates_put_repository` sends the [`tufaceous_v2::Repository`] +//! object to this task via an [`mpsc`] channel and activates it. Once enough +//! sleds have a copy of each artifact in an `Repository`, the local copy is +//! removed. //! //! # Task flow //! -//! 1. The task moves `ArtifactsWithPlan` objects off the `mpsc` channel and -//! into a `Vec` that represents the set of artifacts stored locally in this -//! Nexus zone. +//! 1. The task moves `Repository` objects off the `mpsc` channel and into a +//! `Vec` that represents the set of artifacts stored locally in this Nexus +//! zone. //! 2. The task fetches the artifact configuration (list of artifacts and //! generation number) from CockroachDB. //! 3. The task puts the artifact configuration to each sled, and queries @@ -33,9 +34,9 @@ //! artifacts. (This means that the task will always be trying to replicate //! artifacts to that sled until it comes back or is pulled out of service.) //! 4. The task builds a list of all artifacts and where they can be found -//! (local `ArtifactsWithPlan` and/or sled agents). -//! 5. If all the artifacts belonging to an `ArtifactsWithPlan` object have -//! been replicated to at least `MIN_SLED_REPLICATION` sleds, the task drops +//! (local `Repository` and/or sled agents). +//! 5. If all the artifacts belonging to an `Repository` object have been +//! replicated to at least `MIN_SLED_REPLICATION` sleds, the task drops //! the object from its `Vec` (thus cleaning up the local storage of those //! files). //! 6. The task generates a list of requests that need to be sent: @@ -85,10 +86,8 @@ use sled_agent_types::artifact::ArtifactConfig; use slog_error_chain::InlineErrorChain; use tokio::sync::mpsc::error::TryRecvError; use tokio::sync::{OwnedSemaphorePermit, Semaphore, mpsc}; -use tufaceous_artifact::ArtifactHash; -use update_common::artifacts::{ - ArtifactsWithPlan, ExtractedArtifactDataHandle, -}; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_v2::{Repository, TargetStream}; use crate::app::background::BackgroundTask; @@ -125,15 +124,15 @@ struct ArtifactPresence { /// equivalent to a wrapper struct. #[derive(Debug, Clone)] enum ArtifactHandle { - Extracted(ExtractedArtifactDataHandle), + Extracted(tufaceous_v2::ArtifactHandle), #[cfg(test)] Fake, } impl ArtifactHandle { - async fn file(&self) -> std::io::Result { + async fn stream(&self) -> Result { match self { - ArtifactHandle::Extracted(handle) => handle.file().await, + ArtifactHandle::Extracted(handle) => handle.stream().await, #[cfg(test)] ArtifactHandle::Fake => unimplemented!(), } @@ -335,7 +334,7 @@ impl Request<'_> { .artifact_put( &hash.to_string(), &generation, - handle.file().await?, + reqwest::Body::wrap_stream(handle.stream().await?), ) .await?; } @@ -413,8 +412,8 @@ impl Request<'_> { pub struct ArtifactReplication { datastore: Arc, - local: Vec, - local_rx: mpsc::Receiver, + local: Vec>, + local_rx: mpsc::Receiver, min_sled_replication: usize, /// List of recent requests for debugging. request_debug_ringbuf: Arc>, @@ -430,7 +429,7 @@ impl BackgroundTask for ArtifactReplication { // Move any received artifacts from `local_rx` to `local`. loop { match self.local_rx.try_recv() { - Ok(artifacts) => self.local.push(artifacts), + Ok(artifacts) => self.local.push(Arc::new(artifacts)), Err(TryRecvError::Empty) => break, Err(TryRecvError::Disconnected) => { let err = "artifact replication receiver disconnected"; @@ -562,7 +561,7 @@ impl BackgroundTask for ArtifactReplication { impl ArtifactReplication { pub fn new( datastore: Arc, - local_rx: mpsc::Receiver, + local_rx: mpsc::Receiver, min_sled_replication: usize, ) -> ArtifactReplication { ArtifactReplication { @@ -726,35 +725,34 @@ impl ArtifactReplication { } /// Fill in the `local` field on the values of `inventory` with any local - /// artifacts, while removing the locally-stored `ArtifactsWithPlan` objects + /// artifacts, while removing the locally-stored `Repository` objects /// once they reach the minimum requirement to be considered replicated. fn list_and_clean_up_local_artifacts( &mut self, log: &slog::Logger, inventory: &mut Inventory, ) { - self.local.retain(|plan| { - let mut keep_plan = false; - for hash_id in plan.by_id().values().flatten() { - if let Some(handle) = plan.get_by_hash(hash_id) { - if let Some(presence) = inventory.0.get_mut(&hash_id.hash) { - presence.local = - Some(ArtifactHandle::Extracted(handle)); - if presence.sleds.len() < self.min_sled_replication { - keep_plan = true; - } + self.local.retain(|repo| { + let mut keep_repo = false; + for handle in repo.handles() { + if let Some(presence) = + inventory.0.get_mut(&handle.artifact().hash) + { + presence.local = Some(ArtifactHandle::Extracted(handle)); + if presence.sleds.len() < self.min_sled_replication { + keep_repo = true; } } } - if !keep_plan { - let version = &plan.description().repo.system_version; + if !keep_repo { + let version = &repo.system_version(); info!( log, "Cleaning up local repository"; "repo_system_version" => version.to_string(), ); } - keep_plan + keep_repo }) } } diff --git a/nexus/src/app/deployment.rs b/nexus/src/app/deployment.rs index 0910f132089..8a843f9974e 100644 --- a/nexus/src/app/deployment.rs +++ b/nexus/src/app/deployment.rs @@ -795,8 +795,8 @@ mod tests { use nexus_types::deployment::BlueprintHostPhase2DesiredSlots; use omicron_test_utils::dev::test_setup_log; use omicron_uuid_kinds::MupdateOverrideUuid; - use tufaceous_artifact::ArtifactHash; - use tufaceous_artifact::ArtifactVersion; + use tufaceous_artifact_v2::ArtifactHash; + use tufaceous_artifact_v2::ArtifactVersion; fn make_os_artifact( version: &semver::Version, diff --git a/nexus/src/app/mod.rs b/nexus/src/app/mod.rs index 81bb8f3b898..46d1eeef4d6 100644 --- a/nexus/src/app/mod.rs +++ b/nexus/src/app/mod.rs @@ -33,7 +33,6 @@ use nexus_mgs_updates::ArtifactCache; use nexus_mgs_updates::MgsUpdateDriver; use nexus_types::deployment::PendingMgsUpdates; use nexus_types::deployment::ReconfiguratorConfigParam; - use omicron_common::address::MGS_PORT; use omicron_common::address::UnderlaySubnets; use omicron_common::api::external::ByteCount; @@ -54,7 +53,7 @@ use std::sync::Arc; use std::sync::OnceLock; use tokio::sync::mpsc; use tokio::sync::watch; -use update_common::artifacts::ArtifactsWithPlan; +use tufaceous_v2::Repository; use uuid::Uuid; // The implementation of Nexus is large, and split into a number of submodules @@ -292,7 +291,7 @@ pub struct Nexus { /// Sender for TUF repository artifacts temporarily stored in this zone to /// be replicated out to sleds in the background - tuf_artifact_replication_tx: mpsc::Sender, + tuf_artifact_replication_tx: mpsc::Sender, /// reports status of pending MGS-managed updates mgs_update_status_rx: watch::Receiver, diff --git a/nexus/src/app/update.rs b/nexus/src/app/update.rs index 1c91c88e070..1038382c93f 100644 --- a/nexus/src/app/update.rs +++ b/nexus/src/app/update.rs @@ -10,6 +10,7 @@ use bytes::Bytes; use chrono::DateTime; use chrono::TimeDelta; use chrono::Utc; +use display_error_chain::DisplayErrorChain; use dropshot::HttpError; use futures::Stream; use nexus_auth::authz; @@ -30,6 +31,7 @@ use nexus_types::identity::Asset; use nexus_types::internal_api::views as internal_views; use nexus_types::inventory::Collection; use nexus_types::inventory::Zpool; +use nexus_types::tuf_repo::TufRepoDescription; use omicron_common::api::external::InternalContext; use omicron_common::api::external::Nullable; use omicron_common::api::external::{DataPageParams, Error}; @@ -44,12 +46,13 @@ use slog::info; use slog::warn; use std::collections::BTreeMap; use std::collections::BTreeSet; +use std::error::Error as _; use std::iter; use std::sync::Arc; use tokio::sync::watch; -use update_common::artifacts::{ - ArtifactsWithPlan, ControlPlaneZonesMode, VerificationMode, -}; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_v2::ExpirationEnforcement; +use tufaceous_v2::RepositoryLoader; use uuid::Uuid; /// Threshold at which we consider an active saga stuck. @@ -382,7 +385,7 @@ impl super::Nexus { body: impl Stream> + Send + Sync + 'static, file_name: String, ) -> Result { - let mut trusted_roots = Vec::new(); + let mut loader = RepositoryLoader::new(); let mut paginator = Paginator::new( SQL_BATCH_SIZE, dropshot::PaginationOrder::Ascending, @@ -394,50 +397,82 @@ impl super::Nexus { .await?; paginator = p.found_batch(&batch, &|a| a.id.into_untyped_uuid()); for root in batch { - trusted_roots.push(root.root_role.0.to_bytes()); + loader = loader.trust_root(root.root_role.0.to_bytes()); } } - let artifacts_with_plan = ArtifactsWithPlan::from_stream( - body, - Some(file_name), - ControlPlaneZonesMode::Split, - VerificationMode::TrustStore(&trusted_roots), - &self.log, - ) - .await - .map_err(|error| error.to_http_error())?; + let repo = loader + .compute_archive_sha256(true) + // Expiration enforcement is disabled for uploaded repos; see + // RFD 721. + .expiration_enforcement(ExpirationEnforcement::Unsafe) + .v1_compatibility(true) + .load_zip_stream(body, None, &self.log) + .await + .map_err(|err| { + // Downcast to an underlying `dropshot::HttpError` if possible. + if let Some(source) = err.source() + && let Some(err) = source.downcast_ref::() + { + // manual Clone::clone + HttpError { + status_code: err.status_code, + error_code: err.error_code.clone(), + external_message: err.external_message.clone(), + internal_message: err.internal_message.clone(), + headers: err.headers.clone(), + } + } else { + let message = DisplayErrorChain::new(&err).to_string(); + if err.is_repository_error() { + // Error is due to bad repository contents. + HttpError::for_bad_request(None, message) + } else { + // Error is likely due to something else. + HttpError::for_unavail(None, message) + } + } + })?; // Now store the artifacts in the database. + let description = TufRepoDescription { + artifacts: repo.artifacts().clone(), + metadata: repo.metadata().clone(), + system_version: repo.system_version().clone(), + hash: ArtifactHash(*repo.archive_sha256().ok_or_else(|| { + HttpError::for_unavail( + None, + "tufaceous should have calculated repo hash but didn't" + .to_owned(), + ) + })?), + file_name, + }; let response = self .db_datastore - .tuf_repo_insert(opctx, artifacts_with_plan.description()) + .tuf_repo_insert(opctx, &description) .await .map_err(HttpError::from)?; - // Move the `ArtifactsWithPlan` (which carries with it the - // `Utf8TempDir`s storing the artifacts) into the artifact replication - // background task, then immediately activate the task. (If this repo - // was already uploaded, the artifacts should immediately be dropped by - // the task.) - self.tuf_artifact_replication_tx - .send(artifacts_with_plan) - .await - .map_err(|err| { - // This error can only happen while Nexus's Tokio runtime is - // shutting down; Sender::send returns an error only if the - // receiver has hung up, and the receiver should live for - // as long as Nexus does (it belongs to the background task - // driver.) - // - // In the unlikely event that it does happen within this narrow - // window, the impact is that the database has recorded a - // repository for which we no longer have the artifacts. The fix - // would be to reupload the repository. - Error::internal_error(&format!( - "failed to send artifacts for replication: {err}" - )) - })?; + // Move the `tufaceous::Repository` (which carries with it the temporary + // file storing the artifacts) into the artifact replication background + // task, then immediately activate the task. (If this repo was already + // uploaded, the artifacts should immediately be dropped by the task.) + self.tuf_artifact_replication_tx.send(repo).await.map_err(|err| { + // This error can only happen while Nexus's Tokio runtime is + // shutting down; Sender::send returns an error only if the + // receiver has hung up, and the receiver should live for + // as long as Nexus does (it belongs to the background task + // driver.) + // + // In the unlikely event that it does happen within this narrow + // window, the impact is that the database has recorded a + // repository for which we no longer have the artifacts. The fix + // would be to reupload the repository. + Error::internal_error(&format!( + "failed to send artifacts for replication: {err}" + )) + })?; self.background_tasks.task_tuf_artifact_replication.activate(); Ok(response) @@ -670,9 +705,7 @@ impl super::Nexus { // and only if target_release_source is 'unspecified', which should only // happen in the initial state before any target release has been set let curr_target_desc = match current_tuf_repo { - Some(repo) => { - TargetReleaseDescription::TufRepo(repo.into_external()) - } + Some(repo) => TargetReleaseDescription::TufRepo(repo.into()), None => TargetReleaseDescription::Initial, }; @@ -705,7 +738,7 @@ impl super::Nexus { self.datastore() .tuf_repo_get_by_id(opctx, id.into()) .await? - .into_external(), + .into(), ), None => TargetReleaseDescription::Initial, }; @@ -831,8 +864,8 @@ mod test { use sled_agent_types::inventory::ZpoolHealth; use slog::Logger; use slog::o; - use tufaceous_artifact::ArtifactHash; - use tufaceous_artifact::ArtifactVersion; + use tufaceous_artifact_v2::ArtifactHash; + use tufaceous_artifact_v2::ArtifactVersion; use uuid::Uuid; type ControlPlaneTestContext = diff --git a/nexus/tests/integration_tests/data_migrations/mod.rs b/nexus/tests/integration_tests/data_migrations/mod.rs index 04c4948670f..2f164d9f57f 100644 --- a/nexus/tests/integration_tests/data_migrations/mod.rs +++ b/nexus/tests/integration_tests/data_migrations/mod.rs @@ -48,6 +48,7 @@ mod positive_quotas; mod rename_default_igw_ip_pool; mod route_config_rib_priority; mod sled_resource_vmm_state; +mod tufaceous_v2; mod vpc_firewall_icmp; mod zone_image_resolver_inventory; @@ -100,6 +101,7 @@ pub(crate) fn get_migration_checks() -> BTreeMap { register!(ereporter_restart_order_v2); register!(ereporter_restart_rack_id); register!(ereporter_restart_latest_ereport); + register!(tufaceous_v2); map } diff --git a/nexus/tests/integration_tests/data_migrations/tufaceous_v2/mod.rs b/nexus/tests/integration_tests/data_migrations/tufaceous_v2/mod.rs new file mode 100644 index 00000000000..aef803e5aaf --- /dev/null +++ b/nexus/tests/integration_tests/data_migrations/tufaceous_v2/mod.rs @@ -0,0 +1,205 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +//! The adjacent `tuf_artifact.csv` is an export of the `tuf_artifact` database +//! from the dogfood rack as of 2026-07-08. This serves as a nearly-complete set +//! of artifacts from all repositories we've ever shipped to customers, as well +//! as plenty of bonus in-development repositories. +//! +//! This migration test imports the artifacts, performs the migration, then +//! checks that: +//! - The expected number of artifacts is present +//! - Each artifact's sha256 has an entry in the new `tuf_artifact_file` table +//! - The set of tags for each artifact deserializes into `KnownArtifactTags`, +//! and that deserialized value serializes back into the same set of tags + +use std::collections::{BTreeMap, BTreeSet}; + +use futures::future::BoxFuture; +use tufaceous_artifact_v2::{KnownArtifactTags, RotBootloaderTags, RotTags}; +use uuid::Uuid; + +use super::super::schema::{DataMigrationFns, MigrationContext}; + +struct KindCount { + /// A SQL pattern that can be used in a `LIKE` statement to match against + /// the Tufaceous v1 kind. + kind_like: &'static str, + /// The number of artifacts matching this kind in `tuf_artifact.sql`. + count: usize, + /// The number of tags this kind of artifact will generate when converted to + /// Tufaceous v2. + tags: usize, +} + +/// `tuf_artifact.sql` contains these kinds of artifacts, from which we will +/// calculate the correct number of tags in the database after the migration +/// completes. +const KINDS: [KindCount; 8] = [ + KindCount { kind_like: "installinator_document", count: 86, tags: 1 }, + KindCount { kind_like: "measurement_corpus", count: 16, tags: 1 }, + KindCount { kind_like: "%_phase_1", count: 344, tags: 3 }, + KindCount { kind_like: "%_phase_2", count: 172, tags: 2 }, + KindCount { kind_like: "%_rot_image_%", count: 54, tags: 4 }, + KindCount { kind_like: "%_rot_bootloader", count: 20, tags: 3 }, + KindCount { kind_like: "%_sp", count: 240, tags: 2 }, + KindCount { kind_like: "zone", count: 1032, tags: 2 }, +]; +/// The total number of rows in `tuf_artifact.sql`. +const ARTIFACT_COUNT: usize = { + let mut n = 0; + let mut i = 0; + while i < KINDS.len() { + n += KINDS[i].count; + i += 1; + } + n +}; +/// There are 6 sets of bart-signed images in the sample, each of which is +/// listed with the same contents for 3 different kinds (gimlet/switch/psc). The +/// number of distinct files in the database is thus 12 fewer. +const ARTIFACT_FILE_COUNT: usize = ARTIFACT_COUNT - (6 * 2); +/// The number of tags we expect the database to contain after the migration +/// completes. +const TAG_COUNT: usize = { + let mut n = 0; + let mut i = 0; + while i < KINDS.len() { + n += KINDS[i].count * KINDS[i].tags; + i += 1; + } + n +}; + +pub(crate) fn checks() -> DataMigrationFns { + DataMigrationFns::new().before(before).after(after) +} + +fn before<'a>(ctx: &'a MigrationContext<'a>) -> BoxFuture<'a, ()> { + Box::pin(async move { + let rows_inserted = ctx + .client + .execute(include_str!("tuf_artifact.sql"), &[]) + .await + .expect("failed to execute tuf_artifact.sql"); + assert_eq!(rows_inserted, u64::try_from(ARTIFACT_COUNT).unwrap()); + + // We expect that the number of rows returned here will match + // the number of rows in `tuf_artifact_file` after the migration + // completes; otherwise two artifacts had the same hash but different + // versions or lengths. + assert_eq!( + ctx.client + .query( + "SELECT DISTINCT sha256, version, artifact_size \ + FROM tuf_artifact", + &[] + ) + .await + .expect("failed to query tuf_artifact (pre-migration)") + .len(), + ARTIFACT_FILE_COUNT + ); + + // Check our per-kind counts above. + for KindCount { kind_like, count, .. } in KINDS { + assert_eq!( + ctx.client + .query_one_scalar::( + "SELECT COUNT(*) FROM tuf_artifact WHERE kind LIKE $1", + &[&kind_like] + ) + .await + .expect("failed to count per-kind artifacts"), + i64::try_from(count).unwrap(), + ); + } + }) +} + +fn after<'a>(ctx: &'a MigrationContext<'a>) -> BoxFuture<'a, ()> { + Box::pin(async move { + let artifact_rows = ctx + .client + .query("SELECT sha256 FROM tuf_artifact", &[]) + .await + .expect("failed to query tuf_artifact"); + assert_eq!(artifact_rows.len(), ARTIFACT_COUNT); + let artifact_sha256 = artifact_rows + .into_iter() + .map(|row| row.get("sha256")) + .collect::>(); + let artifact_file_rows = ctx + .client + .query("SELECT sha256 FROM tuf_artifact_file", &[]) + .await + .expect("failed to query tuf_artifact_file"); + assert_eq!(artifact_file_rows.len(), ARTIFACT_FILE_COUNT); // matches above + let artifact_file_sha256 = artifact_file_rows + .into_iter() + .map(|row| row.get("sha256")) + .collect::>(); + assert_eq!(artifact_sha256, artifact_file_sha256); + + let artifact_tag_rows = ctx + .client + .query( + "SELECT tuf_artifact_id, key, value FROM tuf_artifact_tag", + &[], + ) + .await + .expect("failed to query tuf_artifact_tag"); + assert_eq!(artifact_tag_rows.len(), TAG_COUNT); + let mut artifacts = BTreeMap::<_, BTreeMap<_, _>>::new(); + for row in artifact_tag_rows { + let id = row.get::<_, Uuid>("tuf_artifact_id"); + let key = row.get::<_, String>("key"); + let value = row.get::<_, String>("value"); + artifacts.entry(id).or_default().insert(key, value); + } + for (id, tags) in artifacts { + let known = match KnownArtifactTags::from_tags(tags.clone()) { + Ok(known) => known, + Err(err) => { + panic!("failed to deserialize tags for {id}: {err}") + } + }; + let round_trip = + known.to_tags().expect("failed to serialize known tags"); + assert_eq!(tags, round_trip, "tags for {id} did not round trip"); + + // The old column type for `sign` was BYTES; make sure the value is + // still a 64-character hex string. + if let KnownArtifactTags::Rot(RotTags { + rot_rkth: Some(rot_rkth), + .. + }) + | KnownArtifactTags::RotBootloader(RotBootloaderTags { + rot_rkth: Some(rot_rkth), + .. + }) = known + { + let Ok(bytes) = hex::decode(rot_rkth.as_str()) else { + panic!( + "{id}'s rot_rkth tag ({rot_rkth:?}) is not a hex string" + ); + }; + assert_eq!( + bytes.len(), + 32, + "{id}'s rot_rkth tag is an unexpected length" + ); + } + } + + // be kind, rewind + for table in ["tuf_artifact", "tuf_artifact_file", "tuf_artifact_tag"] { + if let Err(err) = + ctx.client.execute(&format!("DELETE FROM {table}"), &[]).await + { + panic!("failed to delete all rows from {table}: {err:?}"); + } + } + }) +} diff --git a/nexus/tests/integration_tests/data_migrations/tufaceous_v2/tuf_artifact.sql b/nexus/tests/integration_tests/data_migrations/tufaceous_v2/tuf_artifact.sql new file mode 100644 index 00000000000..c6bd4cfa27d --- /dev/null +++ b/nexus/tests/integration_tests/data_migrations/tufaceous_v2/tuf_artifact.sql @@ -0,0 +1,1967 @@ +-- This data was exported from the dogfood rack on 2026-07-08. + +INSERT INTO tuf_artifact (id, name, version, kind, time_created, sha256, artifact_size, generation_added, sign, board) VALUES +('00862a57-6214-4286-956d-ac8af588febe', 'internal-dns', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078613+00', '449a9f8f3973423914a16704064ea4374c651a50cf4e0076e4fcb43acbefcc87', '54816549', '55', NULL, NULL), +('0094ca14-5cd8-438e-a6f3-54233715165f', 'nexus', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762665+00', '49c2665c0df2bad7adfdc38caaa042db44d7728f9a14658ec1b77c0f1a2d2440', '280241106', '163', NULL, NULL), +('009f04cc-d6c7-4cd7-9419-4aef5100df0c', 'clickhouse', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.46888+00', 'e724a7d14c825b8624ba21f5e88f409b04221ce9ed0d6cd809251b0c50994690', '323766563', '6', NULL, NULL), +('00b38410-a2e9-438d-ba5d-d47efac229d8', 'trampoline', '18.0.0-0.ci+git5eb13372380', 'trampoline_phase_2', '2026-01-22 00:31:09.684311+00', 'fcc0da50698a19390c38655857a4441038e64845740569156c44c21fc2bb8ac5', '144752638', '63', NULL, NULL), +('00ddb302-6271-4242-b238-a899aa20b88b', 'clickhouse', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539551+00', '298685da556799c2cb25a17e765664b29b6471bee8d56d5cc66e41534c9ac0fc', '327167667', '79', NULL, NULL), +('01049d02-ceda-4f9f-8fca-27a567f2916e', 'trampoline', '17.0.0-0.ci+git27b3ef9b9d0', 'gimlet_trampoline_phase_1', '2025-11-07 00:26:09.449912+00', '404d79b1ec54de4608cabfb89416f9dc0d42c9123f7fcee448bd9e1243b578fd', '33554432', '41', NULL, NULL), +('01b8bf08-1b76-4895-b55d-c3b022e62738', 'crucible-zone', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468881+00', '3e136730e1ac4982c72d3fd54182688d4335c5d24cc37b1aa390793b8b999a73', '50316720', '6', NULL, NULL), +('01bac433-0a8e-47b6-bf17-1c326552615a', 'gimlet-e', '1.0.55', 'gimlet_sp', '2025-12-24 16:09:17.700985+00', '12fed041ceb5f0b4a410bb972ee37cbefd83e8c72f13965ab134bf9052c52737', '5396869', '53', NULL, 'gimlet-e'), +('01bd2e1b-d621-4fdd-aed5-6a1bc358d931', 'trampoline', '20.0.0-0.ci+git3dc79fe53b1', 'gimlet_trampoline_phase_1', '2026-05-27 02:26:01.196603+00', '60f5acf07f7f29cdd24c340ea03d15441194412f74a0e5752092b79616e9dc5b', '33554432', '141', NULL, NULL), +('01d4079f-ee95-4330-bfe2-ec6b89a951d4', 'crucible-pantry-zone', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282153+00', 'b3944bb6744935d82da093300311df5574d447dc6a840dbc78413db333e98289', '39237316', '107', NULL, NULL), +('01d6029d-64ed-40f2-ab11-ff54f2afe157', 'trampoline', '17.0.0-0.ci+git81d822614e1', 'cosmo_trampoline_phase_1', '2025-11-04 22:17:21.744431+00', 'bf6376fa957a8552b67dddef7c30273978a355e07233f4b62c8eedd087bd0100', '33554432', '37', NULL, NULL), +('0219e839-08d3-4c03-aa15-ddc40f49275d', 'internal-dns', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112988+00', '97c8589629c59b45b860997380fbd8c073cb959c7767e294a6e81559a13e9995', '49941773', '75', NULL, NULL), +('025824e0-4cd6-4f66-adc7-fd665033fbc6', 'host', '18.0.0-0.ci+git17cf00dbf0a', 'cosmo_host_phase_1', '2026-01-31 18:37:09.507158+00', 'a961bf406dd3f20bc6097bd550d448b82cf5b1609724613475f9f3d4b4f67ab1', '33554432', '69', NULL, NULL), +('026b1ca2-a233-4d47-81f5-03ffaeff0a49', 'crucible-pantry-zone', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247857+00', '2fd4e9474c2a60fc5e5c031e62375fce778d57312ac8250858b9fa6d99977691', '45263702', '139', NULL, NULL), +('0277cfa0-8762-4204-a695-7bd79ad1e09c', 'installinator_document', '17.0.0-0.ci+git27b3ef9b9d0', 'installinator_document', '2025-11-07 00:26:09.450007+00', 'b01a1234b998c9bc943a1d9457f6ea8ce664cf567d7b53040d59a15f70481a37', '383', '41', NULL, NULL), +('0290380d-a10a-4bfd-ad90-2e749f2cf048', 'crucible-pantry-zone', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.05122+00', 'e2ca58e64342f05c072634eb510254fc29740ac4fa8269cb71ca0f23faa8940f', '42560844', '93', NULL, NULL), +('02baaa1f-401f-47b8-8e35-2e0cb2cd3a4e', 'cosmo-a', '1.71.1', 'gimlet_sp', '2026-06-18 21:11:25.441895+00', '73f4ffd3bbb0e4635c10ba52680b7c65e3421267461903bf7feb20bdfd344e67', '6742931', '155', NULL, 'cosmo-a'), +('02f4956c-c4e3-4d13-8ae1-fa9a673394a0', 'nexus', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063853+00', '004e0fe6a7c1ff5c37064cb6d06d7c48f4b2ab75ca03ccffaaf07a043c7c86e6', '194025018', '35', NULL, NULL), +('0304357e-d66a-42a9-a520-780d28b533c3', 'sidecar-d', '1.0.63', 'switch_sp', '2026-03-06 17:26:46.282168+00', '6af6218ea8b79ab773bbac8296301e50e2142342d8610bea1607e12b0053c20b', '6961879', '107', NULL, 'sidecar-d'), +('031a26bd-1565-49ff-a230-8b90250b33d8', 'ntp', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051223+00', '8d7917f503f446695e99b5acf26192a7422439fb5799d6147a36cb0f186188e1', '30411904', '93', NULL, NULL), +('0333bc10-0526-4250-aea6-68f93d00dfa3', 'oximeter', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275327+00', '29afbaa9e43e1127f9478b1520ef8188d43a4d9c01d537f0cd560d9afab89b80', '65563431', '81', NULL, NULL), +('034066cc-7192-450a-9180-97b1d726dfd4', 'sidecar-d', '1.0.49', 'switch_sp', '2025-10-31 23:54:18.712735+00', '4ee61b90e108a96a897d00aefb1be2d891c57257a3bcc1ef5a717e2cdfb36be0', '6851578', '33', NULL, 'sidecar-d'), +('0365d1fe-b981-4d0a-9a22-767fc12c2395', 'crucible-pantry-zone', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921052+00', 'd13544fe60bf9cc52c9bc3b64b3f51ff615a0da6cafd6ca91cc3dd28187237f7', '41455702', '121', NULL, NULL), +('036da2dc-ab5a-473d-9d9c-cfc70e8d535f', 'cockroachdb', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576564+00', '5d52fe741ddfa73963baa88c30709f7be231ddd886ec550c30219015a3b4c15f', '169662894', '43', NULL, NULL), +('0371ac0f-1ebc-4192-a5c5-e3864e3beeb7', 'crucible-pantry-zone', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963938+00', 'c2ed701cb7545ef6abbb35454af1cb138bfc4c391046d2715ce76a1b8683f68a', '42533720', '85', NULL, NULL), +('037da0ab-0ffb-4654-be51-822ab6945f0b', 'gimlet-d', '1.0.58', 'gimlet_sp', '2026-01-28 21:07:59.478012+00', '34e948af4e1e3ef0148d662f79d55e3fe02833129060d4c31a3db1da17f5a25a', '5465917', '67', NULL, 'gimlet-d'), +('03982f03-d21d-40e3-92cc-8ae7a7749788', 'oximeter', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652469+00', 'dbc783a6cb1c08a859d504607f8257cf91c5f8b18e1e08c8dc7aa16fd86d1491', '66509172', '91', NULL, NULL), +('039d7fd1-d6c8-4f21-9e5f-0cdcaf8f167c', 'host', '19.1.0-0.ci+gitbc696216ef5', 'cosmo_host_phase_1', '2026-04-13 23:23:31.608563+00', '6f7b31fa89b1533f19e25e186c5d603bb7ac93f1ab840bcfe3f8a9ce95d4ac76', '33554432', '129', NULL, NULL), +('03b332e3-f7aa-4838-8b78-7312197ad6a3', 'probe', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091147+00', '78ac3935e44bc329b651b26ae2acf647c0365b6887acda1328fd13ddc908afd9', '3109590', '59', NULL, NULL), +('03c25bab-722c-454f-8631-69f9d1810dfd', 'nexus', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594071+00', 'ed23a461a324b7ff34453ad6ac2a21fcb670af7baf8dca118943ea97c4f12468', '223462326', '137', NULL, NULL), +('03e28760-f81c-4d8e-904d-42f630a2675a', 'psc-c', '1.0.47', 'psc_sp', '2025-10-10 16:09:24.468885+00', '984d43d69587a4432bbd600ff9413d4df23ef2d96da9b8d090a9b256d4ba8464', '4047902', '6', NULL, 'psc-c'), +('03f747d7-e6e6-4845-b595-c68ffdabd00c', 'host', '17.0.0-0.ci+git495eab19cfc', 'host_phase_2', '2025-10-31 23:54:18.712721+00', '80cf98551b0e1a297a61b375bcc10561653300de214d17ff933d889956177032', '1048580096', '33', NULL, NULL), +('0418c16c-1296-4faa-a48d-20d8d7ae8b8c', 'trampoline', '19.4.0-0.ci+gitbae719a3bdb', 'cosmo_trampoline_phase_1', '2026-05-13 14:19:55.594066+00', '97a113be8933670301819fa0c5706e8dc0800a2fa985af15c19de7d06f3dc09e', '33554432', '137', NULL, NULL), +('0430c385-2648-44c1-99cf-3b9de51857e4', 'trampoline', '18.0.0-0.ci+git6d17d64ce6d', 'trampoline_phase_2', '2026-02-09 23:04:09.27532+00', 'ddd01976b17f108626378893b69952d62a8b1609bf4ca679126a679c54fae7b9', '144301173', '81', NULL, NULL), +('043bcfce-fb95-45c9-a80c-db3acc9faba0', 'oximeter', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757198+00', '92ec729af286bddd9f13aa945579ce154e27b4fb8fdcbc4ce747760f2b9e02c6', '65627544', '11', NULL, NULL), +('045c2f94-5c80-423a-9c0c-cfb393de4aa7', 'psc-b', '1.0.55', 'psc_sp', '2025-12-24 16:09:17.701005+00', '64da9276b121fb04a8ed3a6519d27e7bc5b60d21b458f6ff05b3452525b77273', '4063298', '53', NULL, 'psc-b'), +('04693d63-8486-47eb-aac8-b511f30e71a6', 'psc-b', '1.0.53', 'psc_sp', '2025-12-08 23:28:06.260762+00', 'f54bc31cfccbb078ad1a91b2fd6db9d2978fd9fd6e934a3b53938c39c6696f20', '4063309', '47', NULL, 'psc-b'), +('048d7853-9673-408a-9395-90b6de47d36b', 'cockroachdb', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604853+00', 'cf07940e8fc65f90c289ca79f0650e008dffc0a09544f5c0bd86713154417955', '169642817', '131', NULL, NULL), +('04fe26f2-76a1-44a4-8f64-1f7f2160b16f', 'installinator_document', '18.0.0-0.ci+gitc643ed39da8', 'installinator_document', '2026-02-10 13:49:39.684142+00', 'f186f0256aabd5103b057f8578ab21c7b697888a86b1d6ec2a82c958670fd6b4', '924', '83', NULL, NULL), +('05035183-34a0-439a-9711-5e97af7ec7d0', 'trampoline', '17.0.0-0.ci+git495eab19cfc', 'gimlet_trampoline_phase_1', '2025-10-31 23:54:18.712721+00', '3052d0fdcba31054a75f85025d0232d5985984514431a4a4bd6394dd19ff79bf', '33554432', '33', NULL, NULL), +('0511c256-2865-4e54-a7a3-497d0a204626', 'probe', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742779+00', '2732c1064355b9d0275eb52a9ae55914f301563d238e7dbd2a77cfdd65b1ae87', '3109590', '3', NULL, NULL), +('0535d850-cb2f-4466-a795-1addccc29dd5', 'ntp', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710744+00', 'a8227cec5d1d293eaa6c7427596c1bcbbe239a65cae9ed402899d16cf89c4b68', '34047318', '29', NULL, NULL), +('0540753f-b993-4249-84fb-9eafb837395f', 'ntp', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196607+00', '12a68cb7e532c80cb8b754af28397c43c092f2c3d87062a830a83e94ee3f99c2', '33034095', '141', NULL, NULL), +('0553a7df-d73c-4b3e-8683-78eaa182e37e', 'cockroachdb', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684313+00', '12d2950902fd4b5951ff8bdf696906adfde9963f3b393a5088527f2da860b716', '168667554', '63', NULL, NULL), +('06170cc4-033a-4619-b09c-afda52c06eec', 'installinator_document', '18.0.0-0.ci+git1c0f2b3c24c', 'installinator_document', '2026-01-28 21:07:59.478048+00', '7f21ffdd088f03d6f0521d93a970ddac1e9c228fd5ef27038309285bce74bdaa', '924', '67', NULL, NULL), +('061dc6ce-ac4a-4c3d-b356-6b11eea76992', 'host', '19.1.0-0.ci+gitc7312331b08', 'gimlet_host_phase_1', '2026-04-14 19:37:47.604845+00', '7bb08969a1166383d2c9984373e66aea509c4048c5b42d2a2c69e465ac54ebd9', '33554432', '131', NULL, NULL), +('062a6554-a7cc-48a2-8e0f-ec02bfeedf37', 'probe', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434251+00', '0521530089b45579198bca8ca35f15da2e0496e0413e96e799815d08d684213a', '3109590', '103', NULL, NULL), +('064e42da-b117-4623-80b9-026bae504ab8', 'oxide-rot-1-selfsigned-staging-devel-sidecar', '1.0.38', 'switch_rot_image_a', '2025-10-08 19:59:10.483219+00', 'f4c2337fb91a4bf776f8cd5f8f8517d692459de7c6a473b3696e5ef0432affa5', '1639647', '2', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1-selfsigned'), +('066ad62b-ee58-4f0e-908c-73f0dd5ad8d0', 'clickhouse_keeper', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483194+00', 'c81db52a55eb907bf05b5678059bbaa0c16d9492030cbd4e29409bb1b9555fa9', '307145077', '2', NULL, NULL), +('067a4aa6-3366-4f27-9bb3-b09012f80312', 'probe', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063854+00', '6fcc8cdc699917d4e0464008ed590ba6e0ccabdf1b1d26a9bb039d697e6cb5a4', '3109590', '35', NULL, NULL), +('06b8271d-90fe-408e-ae95-be5b702fb2f2', 'external-dns', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494831+00', '1cfe4c837b3630caf6e5b1fc4aaf9fc457f4958d3ba2db7da7cffbd6b0a3dc76', '48685531', '65', NULL, NULL), +('06c744e4-25af-4c1f-9a31-76794d3ce776', 'ntp', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921054+00', '55e3c2f20e5d0f9a3903a7ee587966fdad7182a3faac43d3d71959c02b1544c1', '27597704', '121', NULL, NULL), +('06d9b68e-dfcd-4917-96ca-70bf4bc13095', 'crucible-pantry-zone', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250488+00', 'd4a7a1d337bbd6f5f8e89b74efbd5d4f6f134f1317d1279ff3f8a88713c1dcdc', '42114926', '157', NULL, NULL), +('06e9acfe-8796-48f8-bd75-ada8cdada364', 'cockroachdb', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332948+00', '7fa3d3471dde9cf35c0ca1f9b0480cd9136f58afe2808904a918e1efd63f41db', '161482583', '119', NULL, NULL), +('070f9e12-96e9-464a-8700-8b42ac51deaa', 'host', '17.0.0-0.ci+gitaf3b89ffce6', 'gimlet_host_phase_1', '2025-10-23 06:08:33.419117+00', '3425e7b20fea5d2f42b7b0803bd176ead0594b3f066a59f469c65f4128455e02', '33554432', '21', NULL, NULL), +('072805f0-a2ed-499b-914a-b37df6877784', 'sidecar-c', '1.0.56', 'switch_sp', '2026-01-14 23:13:54.091162+00', '9d078f429dd7d47a25efe4c8f0770acd9cf7b51e2185e80e8fd166ea5ba09acf', '6865049', '59', NULL, 'sidecar-c'), +('07414299-50de-41e3-af5c-ad9665c63b4a', 'clickhouse_server', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051899+00', 'f5996433123ebec1a7010f193b12910d101ac23722ab914d9126b03f3983c17c', '309824090', '105', NULL, NULL), +('074cf666-bebb-4ef9-bb55-802789ee885d', 'nexus', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.48404+00', '2d2b7a433cb256548679da2e1eed1b2c4f7f9fa96fba4c1f61689c18abfccfc7', '192876934', '7', NULL, NULL), +('076ce8c1-ae2a-4071-a3af-d6080b43fcfd', 'ntp', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091145+00', '269f9c7e67d511e36e8df65b3c184efc4dbb89e13b026b5e79d94d3aab96102b', '35693207', '59', NULL, NULL), +('079e9a1e-1a5b-4d70-beaf-8c115fb496b1', 'gimlet-b', '1.0.47', 'gimlet_sp', '2025-10-10 16:09:24.468864+00', '6dff409e38a2de927b9f44445ee29ea82766345deb2720feb921bc54b0a3cc0b', '5292852', '6', NULL, 'gimlet-b'), +('07cb523a-4394-49a6-99b0-8c1d65e37d8e', 'host', '18.0.0-0.ci+git56926cd1982', 'gimlet_host_phase_1', '2026-02-12 20:54:58.190074+00', 'c90c204c388cc35dda742e9da2a7570e64824adb74857c7439682bdd29ff4053', '33554432', '89', NULL, NULL), +('07cb70c5-e5fa-4aaa-b1b7-3361f2a78791', 'gimlet-c', '1.0.56', 'gimlet_sp', '2026-01-14 23:13:54.091114+00', 'f35145119b6668aa5aa4c778a9904207821211e85aa8484e79635c8b5123b958', '5410160', '59', NULL, 'gimlet-c'), +('07ffb19a-0d55-4df8-adf1-8f58fc8e2192', 'trampoline', '18.0.0-0.ci+gitc643ed39da8', 'trampoline_phase_2', '2026-02-10 13:49:39.684116+00', '8a4e5c235dbb11071ae01c03515c484528ffd7bbabfa0f123972829e0258c99c', '144201429', '83', NULL, NULL), +('085baa2f-76eb-47c7-b8ff-1da5c6beb188', 'internal-dns', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090449+00', '41194fc3c6618a26d902fe186f4ced6752f341f63cbdd842b6837a192ad16047', '49941282', '77', NULL, NULL), +('085cf8df-b77c-41ca-b770-41525c6c0773', 'oxide-rot-1-production-release-gimlet', '1.0.38', 'gimlet_rot_image_b', '2025-10-08 19:59:10.483183+00', 'a6c298674493ec26424c3c079efa2920ecb557268010a94b793934a875a7e40d', '1574964', '2', '5796ee3433f840519c3bcde73e19ee82ccb6af3857eddaabb928b8d9726d93c0', 'oxide-rot-1'), +('086dd28c-3cc5-4df4-853b-0b583f0523ef', 'host', '20.0.0-0.ci+git2e319eb3b9b', 'cosmo_host_phase_1', '2026-05-28 01:22:57.659113+00', '341710b9e41bfbf743d596afeb69d336cb72f7160a8dac26175d1033046890c5', '33554432', '143', NULL, NULL), +('087b4836-3a7d-4f07-8d30-e8b8ca1d2d46', 'clickhouse_server', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120341+00', 'bd2e8cfbeaebc6b94b63c14ed1400ae865cb9f7d9e560b66f420248ab1481c70', '327328221', '95', NULL, NULL), +('089de377-23b0-4c80-8bd4-97d5b5a53dba', 'external-dns', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981014+00', 'ceaf7b5411f81b44f72d777d51c5722e64bc362e6dddf020fc515a48409f942f', '52496364', '161', NULL, NULL), +('08d280db-c808-4ef0-964e-b13615123d0c', 'sidecar-b', '1.0.57', 'switch_sp', '2026-01-22 00:31:09.684328+00', 'f1ab27dfb274b0b0771caa786eda83241b1e314fe20e14018c281e5f8995f249', '6938452', '63', NULL, 'sidecar-b'), +('094845fc-a9d7-4dc0-b905-5da4d09c83dd', 'host', '17.0.0-0.ci+git6510e87da6a', 'cosmo_host_phase_1', '2025-10-27 20:48:21.415154+00', '7c5941990120cb62b2ce8eb34a27306724682fb33d9fb701f993bd69630c2ec4', '33554432', '25', NULL, NULL), +('097f6771-318c-498c-87cb-3bc8586065b4', 'clickhouse_keeper', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751857+00', 'bc6162d05eb6c14110a1d95b44460496d9639676c65c9a009455279fb370c528', '314957497', '127', NULL, NULL), +('099fe578-e7f1-4c90-b701-585fd3a3372d', 'trampoline', '17.0.0-0.ci+gitcf97c145a6e', 'gimlet_trampoline_phase_1', '2025-10-30 05:14:08.66397+00', '85c69719353f4da9a470f35df499fea58b67b9be625860033f419da5dc90abe5', '33554432', '31', NULL, NULL), +('09b9b4d9-0500-4319-8e2e-2a76b980ac79', 'crucible-pantry-zone', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434245+00', 'c2f2e3b59c44ac11f3ce7b6426992a28bb0deb1d70daef7ed1aff2a5c16557da', '42533249', '103', NULL, NULL), +('09efb2d7-6350-4173-bb46-12b66f53c9a5', 'sidecar-c', '1.0.52', 'switch_sp', '2025-12-02 01:51:35.116919+00', '2c78dc87594b6b4c049a2a41f9ef270dca36c24bc061ddb5eff508b8497f0c08', '6854997', '45', NULL, 'sidecar-c'), +('09f1c97c-aeba-4c01-9849-447eaaff5a81', 'trampoline', '19.1.0-0.ci+gitbc696216ef5', 'gimlet_trampoline_phase_1', '2026-04-13 23:23:31.608564+00', 'ee633290249c989388b75f392e93e716e853a26f9ca754559fe0f7d699069cc0', '33554432', '129', NULL, NULL), +('0a13b69c-be78-400e-8189-184486efbd8f', 'internal-dns', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494831+00', '890704e1162390508b3c19f193ad5fefb5286bcfa09bc82be8d7754f16b3655e', '48685128', '65', NULL, NULL), +('0a2bd10e-2b89-4487-aba4-8a5e0422fb49', 'internal-dns', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004241+00', '7d44235d9f2b39f32427cc1da9cefd2188f401ead41e094185f1934d4ded64de', '52489186', '147', NULL, NULL), +('0a33652e-d54b-4fae-b25b-43fa0232cdbf', 'host', '17.0.0-0.ci+gite980820e5b5', 'gimlet_host_phase_1', '2025-11-04 21:18:21.063846+00', '9682103e283a7d3e3e5044df1ad64308a5749b4f5b66f3964f556498546826de', '33554432', '35', NULL, NULL), +('0a336d5c-43dd-4506-9626-9aacfa7420c7', 'internal-dns', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659118+00', '212b743cb750283f59d83d11cd9bb852c97afe925189f1079df86c78d444a1c6', '51413234', '143', NULL, NULL), +('0a6b0a4f-03b1-41c6-9298-523c8c6147ed', 'crucible-zone', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046699+00', '988cab6ea184b7912350e5af151bd18152ee2702bad7dc0b977d414eb8062e27', '60136245', '51', NULL, NULL), +('0a7721fa-227b-4f3e-be5a-2bc51f1803e8', 'trampoline', '17.0.0-0.ci+git76ec1fa523c', 'gimlet_trampoline_phase_1', '2025-10-09 16:20:40.719338+00', '216fb248a94230a93746d2759519423dd2b7ff696dd2196832f9bd7ccfaf52ca', '33554432', '5', NULL, NULL), +('0a88cc74-d906-4c27-95e7-7352ce96f540', 'probe', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921055+00', '7fd14555bb2fb39b66cd4ad9b54465a2147320fa0572ac49d2512e2d3e2b7480', '3109590', '121', NULL, NULL), +('0a8958b9-0eb6-40cb-bbfc-fae656929258', 'trampoline', '20.1.0-0.ci+git1dc05d502fe', 'cosmo_trampoline_phase_1', '2026-06-19 01:29:50.250484+00', '37d6952f633f983889e6155eae93639ad8a60e2cb23f9f610e11a56a07b0f14d', '33554432', '157', NULL, NULL), +('0aa06905-d7f0-4846-8f16-acedec355cdc', 'probe', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291189+00', 'e1cb74014ecad4b0e10b8820e34dd4a36812a946647ffc0392f399d302d5996b', '3109592', '149', NULL, NULL), +('0aa438e2-b047-458f-a896-7b063891d5cf', 'oxide-rot-1-staging-devel', '1.0.36', 'psc_rot_image_b', '2025-10-10 16:09:24.468886+00', 'faca836f25094cd2cea3362f231989d46a6a8227934ef194528bd994820ddcd8', '1574737', '6', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1'), +('0b321b17-81ce-4c7c-a965-f56c40eb5b88', 'installinator_document', '17.0.0-0.ci+git6510e87da6a', 'installinator_document', '2025-10-27 20:48:21.415182+00', '7fe6f6d17dc1690fdfe943a72e00da9f8a3cf25434f14623e89d786624495df1', '383', '25', NULL, NULL), +('0b738128-0ef5-4497-8bb4-9b4c2d0afb4e', 'probe', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051224+00', '140fb898f2640e2a50402b4db98f713681e6a8c891de2bf7b1af95a5b1d813df', '3109590', '93', NULL, NULL), +('0b786c6c-89bb-4bf6-b7a8-7def6f603c02', 'clickhouse', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415158+00', 'b21a045fa64fcca370b62ea1d03961f2da4c9fbd903c1b8e4879c1d898efa1b5', '325930916', '25', NULL, NULL), +('0b95a8f0-a0b7-441a-b2d6-59eba9e28529', 'probe', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.8157+00', 'ab3e0aeb1b0e92b5e1f112fdc9077ccdac4d39bffe1608de107cdd9c155a11b8', '3109590', '115', NULL, NULL), +('0ba97d91-5c47-4ada-ace2-674bd97a6efc', 'trampoline', '18.0.0-0.ci+git1c0f2b3c24c', 'cosmo_trampoline_phase_1', '2026-01-28 21:07:59.478026+00', 'a464b5a687e5c6837af093cd375e3b584e2a2e07a34fd6346e82f315348ca121', '33554432', '67', NULL, NULL), +('0bd267f6-0db6-43e8-b4db-828b04727cfc', 'clickhouse_keeper', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140751+00', '63195c6e839ee2c653bc3c363326564c272c02a84076166fc833add9223a14a0', '309263702', '23', NULL, NULL), +('0c1b5889-25f5-4b5c-a74c-2b5ae80f851d', 'crucible-zone', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.41516+00', '5152da556ca5267287bbff3dd0dd57de34bec15a44fb238928045574249656b1', '59159890', '25', NULL, NULL), +('0c59c661-0319-4266-b545-26653560b623', 'ntp', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744436+00', 'f759e7b1e4f88053fbe9545e4b7ff15cf877d0c64708058544ae3ee1df89e60d', '34172813', '37', NULL, NULL), +('0c6798bd-6abd-4c3f-8015-3280626f491e', 'trampoline', '17.0.0-0.ci+gita3bf7ea02ce', 'cosmo_trampoline_phase_1', '2025-10-18 03:21:57.757192+00', 'f6b3b01f3c0c35aded6fbe3fc5805b04df8856b0a737d905f6044fbb0f3623de', '33554432', '11', NULL, NULL), +('0c94e689-ada8-4f97-ac92-d3049570553b', 'probe', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441927+00', '21c14e682ddc5b65c4820a5d48e8c382246ea518b8fc770ff9ed78cbe9978798', '3109592', '155', NULL, NULL), +('0c9bedd5-6979-4ed6-afa0-e6206142939c', 'crucible-pantry-zone', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140753+00', '548737c9fb4f49581477af331afc43adddd7927e7574b499e7a0371731e0d332', '44674753', '23', NULL, NULL), +('0ca470fd-4850-428f-a9d9-d75008022a30', 'internal-dns', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.59407+00', 'd2171371c05c5efb68cbaeca7e2d3532fdb6f506f04f5b3f8fb612ff74563e35', '53096894', '137', NULL, NULL), +('0cf9eb23-0b24-4063-86e8-705409829a73', 'ntp', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434249+00', 'aed709d9ac4aa267f2e3ff4e675eb621795d22af02e6d8d3d4b926b6ad43f9df', '29562653', '103', NULL, NULL), +('0d0e944d-8efb-4c1c-b3c7-de7ba8022a4a', 'clickhouse', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604852+00', 'dd331f83d7551f7dc06c1b964b1c79dada38b7f2f946a18f0184467f5289c116', '331381056', '131', NULL, NULL), +('0d6e98a9-ac59-4d2b-99ed-36c165c6d769', 'host', '18.0.0-0.ci+git078382f5d9c', 'host_phase_2', '2025-12-08 23:28:06.260754+00', 'db20af37d1f750f542c7ef800d73fc385d95784f8517d718c1d36c006992023e', '1101008896', '47', NULL, NULL), +('0da218eb-6cec-40ca-ae8f-54a2865bdeab', 'clickhouse', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684313+00', 'aec54e5753662426fa54b280a64a7756cbda0658ac012a847813b0e5a35530c4', '324795029', '63', NULL, NULL), +('0dbdf761-f180-4d6e-8c81-672dbff2e1f2', 'installinator_document', '18.1.0-0.ci+git1003e128ad7', 'installinator_document', '2026-02-19 02:24:10.120454+00', 'df77cc27989e7d50f3ba763e88cb8b6a4caaec7a4feae0dbd406b7aa022a17ca', '924', '95', NULL, NULL), +('0de52b15-c572-48e8-a3c4-380f98ce68d7', 'internal-dns', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899355+00', 'b3bc419b47ce3c3c024180e0a9709d61ef7eb012eb9f64d55bf3a9a84b2a455e', '52067713', '27', NULL, NULL), +('0e10d22d-d79e-4736-a33f-bb8de47b114a', 'crucible-zone', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291186+00', '3ce01e4415ed8891a7b5b933daa03f6397ccca69c377aa56f5639b5cdb14a03e', '58058506', '149', NULL, NULL), +('0e3b3652-32c8-411a-98e0-6075d1cd3119', 'installinator_document', '17.0.0-0.ci+gite980820e5b5', 'installinator_document', '2025-11-04 21:18:21.063941+00', '7d92658f66e352d28e4c484b52165321476a1868d2614f87ff27b7ba87cfe819', '383', '35', NULL, NULL), +('0e402d05-e259-4253-b8d2-4af7d3a113b4', 'crucible-zone', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899354+00', '2bd07e7c03f31f8d8629a330bd43cee77f8296f9f3e4b2c9acab6ac369bb7d95', '59159890', '27', NULL, NULL), +('0e7fe7aa-87fd-4853-8d0b-e56c6f974937', 'trampoline', '21.0.0-0.ci+git2e789004327', 'gimlet_trampoline_phase_1', '2026-07-07 06:50:20.366492+00', 'fd1884c5eac15f0f76e542ffab9f56fe435bf9bc443c2bbd7f4612cbff393641', '33554432', '167', NULL, NULL), +('0ea58c8e-e39f-404c-9ad2-c592ebc27e48', 'ntp', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250492+00', 'e409c94b813fb0273ba91558116ac87b238393d164d3f7f60f62269c20e28974', '33588571', '157', NULL, NULL), +('0eae8adb-2699-46a2-9749-ad735b3cde7c', 'trampoline', '17.0.0-0.ci+git27b3ef9b9d0', 'cosmo_trampoline_phase_1', '2025-11-07 00:26:09.449913+00', '99bc6c9e54d95471bb3ca8f866f84d7de8c2721b6b4365086db041eb4fa5f9ba', '33554432', '41', NULL, NULL), +('0eb50197-ea77-4429-91ce-d03fead49f3d', 'cockroachdb', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719342+00', '4f8d4b42fbd97d5c6a53a89a32292fe0c4625dcf134b2f92a978ea8a31bad525', '169504949', '5', NULL, NULL), +('0ee80f53-6f69-43e2-a3af-6725db88abc9', 'ntp', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051905+00', '351cb1626d4f4b74c4b31c4624e49cc878835e9768d254454a9109fad3196215', '23103868', '105', NULL, NULL), +('0ef0405d-d82a-42af-96c4-c16a86408a3d', 'gimlet-c', '1.0.62', 'gimlet_sp', '2026-02-23 20:10:41.272974+00', '013cf14175743c8a428e478c6174e907b0cecd6734a20606597a0e221ec0dd0b', '5468612', '101', NULL, 'gimlet-c'), +('0ef0c45c-907e-4159-b340-ee3fa758339b', 'gimlet-b', '1.0.52', 'gimlet_sp', '2025-12-02 01:51:35.116872+00', 'cfa8a079693f49edc0676a6508362922b6049edfbb0cd14cabb91ec34a6ecb57', '5392631', '45', NULL, 'gimlet-b'), +('0ef8bf37-137a-499a-b521-cd7139e60d40', 'ntp', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963941+00', '6209a33f3e88194e4cf456969bc7d04c1f008e84aa8246804b255c99fed467d7', '30351823', '85', NULL, NULL), +('0f14bb2d-1d5e-4f66-8909-46da62605a1f', 'host', '19.0.0-0.ci+gitefa6443bdeb', 'cosmo_host_phase_1', '2026-04-07 22:15:07.062165+00', 'f6eb71762cc3420ec6a22d4223a5ee3ae619900230bf4525b8271cdae4b1fd9b', '33554432', '123', NULL, NULL), +('0f2ddb61-ce07-4ee7-b991-524c37c88fd8', 'crucible-zone', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998668+00', 'c53b398677113c98d15c77cbb3d9b41351e2e779da84a6dbdf90d6e2e71039d7', '60103071', '71', NULL, NULL), +('0f38c8fe-7ddf-479d-aa34-9323b68cc500', 'cosmo-b', '1.0.49', 'gimlet_sp', '2025-10-31 23:54:18.712707+00', '6f329522e38febb581c20901772ba5e5180ac5ba5f6abe1b50fbdc6ee023630c', '6261160', '33', NULL, 'cosmo-b'), +('0f8a92d3-f714-4909-b22d-fe2402414b51', 'clickhouse', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.06385+00', 'be1af466b4be5a71a16bd66c63f122cca7ddbb294975da721602c352c614374c', '323544943', '35', NULL, NULL), +('0f9c3643-acef-4710-8842-af5bf227d4f4', 'nexus', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995242+00', '88c950bb7ee2ebe6e0fa8c4ce5521c581167b536c68cb181ee089ac5bd246dff', '194032041', '39', NULL, NULL), +('0fa825d3-7548-4011-9ec3-81b48a65eaa5', 'psc-c', '1.73.0', 'psc_sp', '2026-06-30 16:46:25.76267+00', 'c75704fab00ed5d4a51f5324d4b67814fcb7781f68a41bf9cc101b8665bbd8c8', '4092348', '163', NULL, 'psc-c'), +('0fbaff1b-1b0c-4fca-a9db-57916c5b316e', 'internal-dns', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431943+00', 'b03022a2fc31e53286bb13888208496fcda4cbb2f00cc656ecbe292639192b6f', '42541451', '109', NULL, NULL), +('0fc51eea-d657-46a6-ae3a-61facd513ab5', 'installinator_document', '20.1.0-0.ci+git846f6a0ad0a', 'installinator_document', '2026-06-18 21:11:25.441952+00', '310f4744da5362d51954b88ad4fd584fe5a60f2f2fa488656643fddb4908bf63', '924', '155', NULL, NULL), +('0fce8ea8-a9c2-406d-82d8-8324f10438ff', 'gimlet_rot_bootloader-production-release', '1.4.0', 'gimlet_rot_bootloader', '2025-10-08 19:59:10.483187+00', '7b07baa2d7a59825848c3ad28596c0fd9d78c47bafa7fe8c56a18dc2b1afd02a', '46990', '2', '5796ee3433f840519c3bcde73e19ee82ccb6af3857eddaabb928b8d9726d93c0', 'oxide-rot-1'), +('0fe407a1-b43e-4c21-b9eb-7e379f58fedf', 'clickhouse_server', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046697+00', '45d167d5546aca337c4c041c951de6e341c7308059cd4bba221b72e56fbeee41', '328711271', '51', NULL, NULL), +('0fee328d-2a37-4de1-990e-4152b3bf4e1f', 'sidecar-b', '1.0.55', 'switch_sp', '2025-12-24 16:09:17.701011+00', '839beb64be779406f7a902012cdbcb2c771c9c57e61db135a36137e94eca08b1', '6838927', '53', NULL, 'sidecar-b'), +('0ff0328f-1d9b-4efd-ac5c-0479be319d74', 'ntp', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837894+00', 'eb8c916a22b1c29efec8b1a400b4b3a485284bdc70f06e24c8d1ab5fa64d5aec', '23091469', '111', NULL, NULL), +('0ffb478d-f0e8-48b1-90df-cd82dbbbfaee', 'psc-b', '1.0.71', 'psc_sp', '2026-05-27 02:26:01.19661+00', '41483f96ea9fecf9266fb98b16140e103fc65bb80495c0b6b3a4c5788b00196c', '4153947', '141', NULL, 'psc-b'), +('1011ae8c-c988-444b-941c-3ab946f7510e', 'oximeter', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471161+00', '1b17abdb55e8d1669790d477130ae72b6e75159a46aa5e9e29dfbb30a58a2ffd', '66496987', '87', NULL, NULL), +('10236222-3c37-48db-8a51-042752a5c37c', 'probe', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507512+00', 'f5e69e7b76b70f1b8a5e5d80b085b8459aabb924a639a8c315da6b44ea72de22', '3109590', '9', NULL, NULL), +('10257f82-c2ba-410f-b877-b93c94915fb5', 'installinator_document', '18.0.0-0.ci+git4b3cdb4e30b', 'installinator_document', '2026-02-06 03:46:52.090541+00', 'fe3abcb8497127e0cef262e79df905b72221aeb5018f2905b9cba8d4db5c2272', '924', '77', NULL, NULL), +('102fa6b7-b97d-49ea-82fb-c643d5d99e88', 'trampoline', '17.0.0-0.ci+gitf83a43dbb42', 'gimlet_trampoline_phase_1', '2025-11-05 22:59:56.995233+00', '0f4b7d75dc86477de890484fc0ffb9848ad43233ba6bddf6b17085105166aa6b', '33554432', '39', NULL, NULL), +('103a0482-cfc3-421e-928f-db1f28da81f5', 'host', '18.0.0-0.ci+git6d17d64ce6d', 'host_phase_2', '2026-02-09 23:04:09.275319+00', '5487252a80c266a6a29fd63411cb3b31c4263210b40568bb6249e36fe7b44aa8', '1101008896', '81', NULL, NULL), +('10406a70-a8a2-4c87-907d-0ece40211862', 'host', '19.0.0-0.ci+gite2fe4014825', 'gimlet_host_phase_1', '2026-03-30 16:50:10.815691+00', '13681c9889fa84da9ed09c4c0ccb31b2657acce37df917566f56e31a80b320b6', '33554432', '115', NULL, NULL), +('105f80d1-f545-427c-8ef3-f39d06b0edcd', 'crucible-pantry-zone', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260758+00', 'c5a74ce2f6a74c17b76308ecb346734c210bd635317fe8be1c3a15f21e1fdc4a', '45651349', '47', NULL, NULL), +('1063eda6-3d88-4b62-9016-607eb028ba5a', 'probe', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719346+00', '87464a67e30ce48a2411494e919762342179286aef1cb8c5e4b4cf332b2c59eb', '3109590', '5', NULL, NULL), +('107435ef-2320-4ce4-872c-dcfff1892615', 'switch_rot_bootloader-bart', '1.4.0', 'switch_rot_bootloader', '2025-10-08 19:59:10.483225+00', '96e9d43104f9c411d87f2cf219b297294984e6c1ab0c588322ac882ee9f88e1f', '42150', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1'), +('107b06a9-0da7-430e-bb1a-0c98c543356e', 'crucible-zone', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884112+00', '9ff72579f298f4099884fb5ec2fd8ee2338a974d575481d49540c4dc9e2b9373', '54402862', '113', NULL, NULL), +('10a231ca-445a-4984-8477-92db9d4092ce', 'installinator_document', '18.1.0-0.ci+git550f05cd523', 'installinator_document', '2026-02-19 21:32:58.918424+00', '6b92c194c9036eca399641334dc118de2d43779c653f121112b7f12487d64243', '924', '99', NULL, NULL), +('10c1aca4-ea16-400f-bb85-38d2e508f998', 'trampoline', '18.1.0-0.ci+git550f05cd523', 'gimlet_trampoline_phase_1', '2026-02-19 21:32:58.918394+00', 'e869246043f04826cfa6089dce7ecae8ede4627a2bf896f77fba4681e00a888e', '33554432', '99', NULL, NULL), +('10c69762-772f-47f3-bd16-237137c47a9f', 'trampoline', '17.0.0-0.ci+git063828b53e7', 'trampoline_phase_2', '2025-10-09 16:06:27.599292+00', 'edad384a74d82bcc7cf2d2d43f4716c5b85cc17a787394cb0ff1fd687ed5be3a', '152898135', '4', NULL, NULL), +('10e8bca4-f2dc-4154-a037-5f9a2cacdf17', 'clickhouse', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921051+00', '1b9bcd7a3bd839d86b3988f3387893ed618b7289b446b060648609e284f101aa', '317002536', '121', NULL, NULL), +('10e95d9c-ee0d-4bf3-a1a6-3e8aa551ea3b', 'clickhouse', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250487+00', '8746f55e09c67a38898dcb4595b9a4b30e90f3163c74e46d2b722b8d3f54a0c1', '329584014', '157', NULL, NULL), +('114fc509-46be-4038-8ac2-dc86c560285f', 'clickhouse_keeper', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243789+00', 'ca0b92d9a2d6c1a9e20c4a0b8d9eca85e72eff103277c173df2cd06c7c0ccd70', '309258043', '17', NULL, NULL), +('11adaf5e-9806-43b7-9e41-8222f45c383a', 'probe', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599298+00', 'cd6eab28ac3d0bbbbc71ecbc3eed074d9055f8587db76751d16c760ee9d6c38f', '3109590', '4', NULL, NULL), +('11b45f2e-b473-4d69-adc0-b74847fb035f', 'clickhouse_keeper', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120341+00', 'ccdec178c357b4ecbd673b92df69bbd48005673f7938aea3dba1025c995e8d90', '309883493', '95', NULL, NULL), +('11ba73ee-83f8-4dd2-941b-4e1ca115b030', 'sidecar-b', '1.0.56', 'switch_sp', '2026-01-14 23:13:54.091161+00', '9ddee3e4d85411efaffec562e20452ad309498b237cf06f3ec60986c9a7ad40c', '6848368', '59', NULL, 'sidecar-b'), +('1200f5e7-af9e-433d-bb5f-e95e194c1048', 'trampoline', '17.0.0-0.ci+git27a65080e1b', 'cosmo_trampoline_phase_1', '2025-10-19 00:31:17.638796+00', '237ccdca0fb8131f60a020edfa903dbe733bdbb61b92f287250b530d8696b37c', '33554432', '13', NULL, NULL), +('1227b7ce-8025-487c-b2a8-bcb2ba00e93b', 'host', '19.0.0-0.ci+gitd3ef1db023b', 'gimlet_host_phase_1', '2026-02-23 20:10:41.272991+00', '7cffe66af5fda5faae07dd3f8a2d0409fc9d10482f7ad6a2554d92c937d5c4f3', '33554432', '101', NULL, NULL), +('122c9c2b-1ecb-44d4-bd08-78489ec33716', 'clickhouse_keeper', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272995+00', 'f3713df464128e4586983fe0183971a106d97b30edb7d154dd49ab4a73bfd1a8', '309887318', '101', NULL, NULL), +('12476b21-cf88-4844-9291-3f40d6625afa', 'gimlet-d', '1.0.53', 'gimlet_sp', '2025-12-08 23:28:06.260741+00', '392a225e8a1cd7fccc105665e707a6d63447b1d498c581b4539bfe76167bc652', '5397371', '47', NULL, 'gimlet-d'), +('125142b0-a4c9-4b4b-b628-b327cdde3341', 'internal-dns', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638801+00', '8ca1ff6a6bfdbd667d336458486890da94c7e6d02b38bf425e2e4183cddc46e5', '52091274', '13', NULL, NULL), +('1259e24c-b465-4e42-afbd-f4ef614c4148', 'cockroachdb', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282153+00', '2f2cdab5d5a14f33ff99e6afefd0d5a515ce717adfde6e1a77780e759cc082de', '159858013', '107', NULL, NULL), +('12810057-8b12-4ca4-8ac6-eaec959c38b1', 'host', '17.0.0-0.ci+gitd17fb154c39', 'cosmo_host_phase_1', '2025-10-17 15:59:09.507501+00', '648971c8f3086f9f4203976e9b7c949177227377ce5fef81f94ed8d886859447', '33554432', '9', NULL, NULL), +('1281982f-6bba-4f8f-ad3a-0ebc4fc1824a', 'clickhouse', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981011+00', '5d25e42d5dde272450cdfd9bf5909baf5eba7a67467d5716bfbff58b5e7fd519', '329584014', '161', NULL, NULL), +('12dcdc92-21aa-4e46-b2e0-fe47f890e16c', 'trampoline', '17.0.0-0.ci+git27a65080e1b', 'gimlet_trampoline_phase_1', '2025-10-19 00:31:17.638795+00', '591945395ab414dab87cc64a584c1f9fe631d83d7c6a982d188cd3040e352957', '33554432', '13', NULL, NULL), +('1310932d-9895-4279-b102-4526a3fd28cd', 'host', '18.0.0-0.ci+git99c3f3ef97f', 'gimlet_host_phase_1', '2025-12-13 01:01:07.046693+00', '6ff343839f034ecbbd10af01c2fd181d6f7accf4963c933b99c3b38647d50058', '33554432', '51', NULL, NULL), +('131b8f89-7fd6-483d-a4c3-c1787600bab3', 'host', '17.0.0-0.ci+git34818139bb2', 'host_phase_2', '2025-10-21 22:30:59.008514+00', '75edcb2f577c777983f63d9a64d4f4a0677004691910acf0eda8726cd0c31bb1', '1048580096', '15', NULL, NULL), +('13291c49-8e14-4e8b-a9af-cc85ad7aef03', 'external-dns', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441925+00', 'f3b10e3f843aeae6a5ad1930fe1a09307193a8f451b776b35999805c5bf7131e', '52496364', '155', NULL, NULL), +('13500869-f0c7-4b90-a6ac-8e69a80de475', 'cockroachdb', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434244+00', '471931a99d6caf15214b582e2f26d5438b4ba327f9ea77f4b73bc5c665177d03', '169063225', '103', NULL, NULL), +('13926d54-18f8-43db-abd2-f58e3d25562e', 'clickhouse_server', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712723+00', '2beadebfbbefefc6f9bc188f57ee0057f17e39afa76a46a1da203555970201c1', '325917035', '33', NULL, NULL), +('13936ede-9c73-452e-8839-b53761473c81', 'clickhouse', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040699+00', '887d958f82a467f2d903613e634817bd630136dde6549c45e4439d15d4e76e85', '329038231', '145', NULL, NULL), +('13b85ab9-d217-4e11-9cf3-332abd543bdc', 'internal-dns', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329509+00', 'f0b93e05b6d50268eead54ae90e0db2f96e96fddcecae14e5a1b0c5c155ba768', '54913509', '73', NULL, NULL), +('13c465f2-179d-4cd0-8e43-45436ea9deb2', 'crucible-zone', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434246+00', 'b2a6df09a128eeeda90263989bbeecbfc8dead16ae2a012eba22cbb92145b99f', '57010634', '103', NULL, NULL), +('13eef779-71bd-466e-8b67-38c4908a11bb', 'cockroachdb', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415159+00', 'ccde05a3fe2d0550f6aa900a0beeeeae1b13bd98639196ddac42208b79c0e486', '172225345', '25', NULL, NULL), +('1420f8e6-e625-48d8-9519-ef07ac4f622f', 'nexus', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638801+00', 'af38871ba2cdfce127d1f05601a339bea4ad84eef6e8b326449084732768a4c6', '191852371', '13', NULL, NULL), +('147676da-80a8-430d-9dc8-af49caaf6442', 'gimlet-d', '1.0.56', 'gimlet_sp', '2026-01-14 23:13:54.091114+00', '6757334447338edab1152e3c10944671b02d2f37df70e188bc3bc80ddf83293d', '5408927', '59', NULL, 'gimlet-d'), +('1484766a-e3ec-4359-a124-b34c7e8c893d', 'host', '19.0.0-0.ci+git6409f6a4bd2', 'gimlet_host_phase_1', '2026-03-12 18:43:41.837883+00', 'cf828df63d398886299e9b32a8fbac3c2b98f8d512f688f8abcc69ed7976ea26', '33554432', '111', NULL, NULL), +('14b324d8-2986-4122-a93d-94e023fc167e', 'trampoline', '20.0.0-0.ci+git2e319eb3b9b', 'cosmo_trampoline_phase_1', '2026-05-28 01:22:57.659114+00', '9eb6b20ad45ff04cf891e7d67285e3da362cf76ce10530ac25ab76f4159611e6', '33554432', '143', NULL, NULL), +('14c11016-6170-47e8-a064-2219d0e9921b', 'probe', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181281+00', '0473426d2d43f4ea81426d0ea7a6c49b41c215172b674f570715ba3aceb5e770', '3109590', '49', NULL, NULL), +('14f87815-3fa8-422a-baba-33515c4a6a21', 'cosmo-a', '1.0.59', 'gimlet_sp', '2026-02-11 17:36:00.471135+00', '62a82ddd4d90fac01ac7bc96bd997734c1af74bef7232e5d8902ceeed3b0c7a1', '6505836', '87', NULL, 'cosmo-a'), +('150e3aff-22f8-4db1-9910-b00a84bd3bcf', 'oximeter', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282156+00', '3c5e245b960aadc6dd61f0aa4d02f6c8f8a110dc161d0b18e29a5cbdc0ab6159', '58810073', '107', NULL, NULL), +('15115ded-b05a-4fc7-ad1f-a19ed0f5e17a', 'ntp', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576567+00', 'a063cfa41a734097f345dda8262600e85a891080585f98317132126ee51927d4', '34179180', '43', NULL, NULL), +('151b30aa-a317-47a7-925c-54b0962fe317', 'crucible-pantry-zone', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471158+00', 'c3a2e1c743f45f8158a4ca2c6d5f1e1a1d574350b32a2eeb614cc0300dfbf62c', '42533720', '87', NULL, NULL), +('153124b7-f09b-467b-becf-07580aabb7e9', 'clickhouse_server', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008517+00', 'dc2f0f4df638bb54ea7ad964beb1ae790d28f74031367657fb2567d3bfb802a6', '325876696', '15', NULL, NULL), +('153df5c2-1c9a-48cf-9722-29e6c0279686', 'psc-b', '1.73.0', 'psc_sp', '2026-06-30 16:46:25.762669+00', '98c63d50c9729350f8e1e4f945281bc98f53de0e6ebc7141105c41c63ad343b8', '4089302', '163', NULL, 'psc-b'), +('15624196-a0f9-4581-ad6e-579f0140a513', 'crucible-pantry-zone', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120343+00', '0011a4290482bf9f22e8d3a88a60892a8f9f33ca50bf639219b4824fb069e4cb', '42560845', '95', NULL, NULL), +('15882eeb-7aae-4648-842b-6ce621ce3895', 'clickhouse_keeper', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004238+00', '3b88df41ca87e5409ee924c73fd7d38ccdc41b4de43f4ab721d693d98b96ee2b', '314328895', '147', NULL, NULL), +('15c47809-ceec-49dd-bb77-cd850e01af68', 'nexus', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899233+00', '8404e31ff1ea268a2cadc601b9e9276f78156ea9e8d29b555887bc72f21d5c71', '286203133', '151', NULL, NULL), +('15c6b71d-b2a2-47e2-b9e3-2d529774c315', 'clickhouse_server', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594067+00', 'dd46e23cd6e952d131586f35c835370e7ad220e861f1a9f5789da20a08d8ec34', '332053504', '137', NULL, NULL), +('15cfc6be-f8bb-4a7f-bb3b-91e42903ff89', 'trampoline', '20.1.0-0.ci+git846f6a0ad0a', 'gimlet_trampoline_phase_1', '2026-06-18 21:11:25.441919+00', 'd7c03a8a2cc3762e0fe48bd35f1a51dc884494e12b40c8cbaf59cc3cd46d3bec', '33554432', '155', NULL, NULL), +('164774e6-5d0a-470c-b8a0-fb708404d509', 'psc-b', '1.0.56', 'psc_sp', '2026-01-14 23:13:54.09115+00', '6033073b223f4b94ecca8469137a74f8319830dc77a5c21bb293b5c70c63f549', '4069750', '59', NULL, 'psc-b'), +('1650cc0d-b76c-4feb-b793-23ab0470e5f2', 'clickhouse_server', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062169+00', '780d7eed70dd8f62c313afefc8fa0143f766e8258d23b8929052939be9a6df9d', '331381366', '123', NULL, NULL), +('1652e0de-7781-4afd-ad25-2402998970c0', 'host', '21.0.0-0.ci+git2e789004327', 'cosmo_host_phase_1', '2026-07-07 06:50:20.366491+00', '73af1278b86c2545082b4a627fc0c1cda7ea6289e913d459e1f6fc7ab5188750', '33554432', '167', NULL, NULL), +('16565935-36dc-4169-97e4-8ecd457ddc6f', 'clickhouse_keeper', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981009+00', '660e4e6f3399b29e9258d9486cb310cb6e01338e288d73a8775ee581a34fe3ae', '314295713', '161', NULL, NULL), +('1675b767-ff69-4eb3-83de-afd3ad9cffc9', 'host', '20.0.0-0.ci+git863b79d5cd0', 'host_phase_2', '2026-06-11 05:31:34.94152+00', '22d6a23993054a9d97ce70157d5b5e63852e8a252dee67e60b1d183c92cfa3a9', '1101008896', '153', NULL, NULL), +('167da1c8-bdbf-46cb-9840-5cf1ceda6930', 'psc-c', '1.0.71', 'psc_sp', '2026-05-27 02:26:01.196611+00', '26de06a739d5a251c8d7d8ff3d8752a6d50cb9d61fb43db1aa49958ff26caabe', '4158251', '141', NULL, 'psc-c'), +('16830638-ec17-458b-96af-3cd999e9cf6d', 'cockroachdb', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051901+00', '9c1e18c3aaee445735f0a1982e2682fc5a37fd8c8e151a443c2fda01f51f923a', '159851639', '105', NULL, NULL), +('16901c26-8c24-4d5d-a8c7-caf6a0a6de1d', 'clickhouse', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998667+00', '254e5754e891592c6cd1e2e45879945a91aa14e68b50a0cfd438a9348204e130', '330005500', '71', NULL, NULL), +('16aded39-2d61-4028-a6b9-b3d0f6de49e9', 'external-dns', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.00424+00', '9c96b476321cd9b0f4354bc5a34ffdeb0ce256839cde0c04fe9c16a809c43d8f', '52489588', '147', NULL, NULL), +('16b7cd58-e56a-4d00-87e3-5f5d8f1a5360', 'sidecar-d', '1.0.59', 'switch_sp', '2026-02-11 17:36:00.471171+00', 'e1419f4d415b72090fad790d41dfaa68aaef96cb8865d2d5ca9491dc60ea7eaa', '6961124', '87', NULL, 'sidecar-d'), +('16cf68f9-281e-4784-9669-cf0ca75e1427', 'trampoline', '19.0.0-0.ci+gite2fe4014825', 'cosmo_trampoline_phase_1', '2026-03-30 16:50:10.815694+00', 'fdef2be709c7acce0b661dd03df5def702656169ddd070bfec43ee9134eface8', '33554432', '115', NULL, NULL), +('16dfaad2-362d-49ab-9061-de881443dd17', 'installinator_document', '17.0.0-0.ci+git178c3c1ae84', 'installinator_document', '2025-10-08 19:59:10.483227+00', '0ed1e45fe43358a37a0282b4e6bb10fa3fb0aba89a3705a36e4de70dd7e72bbb', '383', '2', NULL, NULL), +('16e711fa-f967-4bc6-8adc-4274b10c465e', 'host', '20.0.0-0.ci+gita3fee0ec59c', 'gimlet_host_phase_1', '2026-06-10 13:51:51.899223+00', 'e0aa7c9a2709b5e53bd39fea3b4de60853aee957f954ed2fff2f3e247816b3b9', '33554432', '151', NULL, NULL), +('16e78677-4404-4427-98e9-aad70aa9dc3e', 'internal-dns', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803645+00', '46f9a7098230fed279b1747938f8e4605b0b9a31d1ba05c80fb20356de7fd3c6', '54842946', '61', NULL, NULL), +('17011984-e203-4e4c-8671-c64b5c77d0eb', 'host', '18.0.0-0.ci+git078382f5d9c', 'cosmo_host_phase_1', '2025-12-08 23:28:06.260754+00', 'd1436ba789faaf886dc1c25f65cf69af4a49088e47b9a70c3158bf218324ecfb', '33554432', '47', NULL, NULL), +('17158df1-0bb0-4b68-8151-49f666919bd5', 'host', '19.0.0-0.ci+git544d3751f29', 'gimlet_host_phase_1', '2026-03-11 23:14:48.431935+00', 'c5928c4bb3f5dc8abdb947d1fd90df470b7e82868f4901ed0a82b6636f89292c', '33554432', '109', NULL, NULL), +('171c1093-9844-4049-9224-8be2e3d7e0d6', 'host', '17.0.0-0.ci+git3a90a985264', 'cosmo_host_phase_1', '2025-10-22 23:31:13.205387+00', 'd447f58799d0028bc1b0b0d91c16f82584acb59632038ab450e032d677d9d432', '33554432', '19', NULL, NULL), +('173eeba2-dd5f-4705-abf5-8e74aad7b6e0', 'oxide-rot-1-selfsigned-bart', '1.0.38', 'switch_rot_image_a', '2025-10-08 19:59:10.483221+00', '986bdbe66d46e8246d7f27abee965905de0adb119620ce4efdbc122f5393b0a5', '1634641', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('17549546-e1b6-4e60-a26a-b8eb2e73edf8', 'trampoline', '18.0.0-0.ci+git687f721a7c9', 'cosmo_trampoline_phase_1', '2026-02-09 21:51:46.539549+00', 'e491b46a6c7132e7ef37736d54505575306b3a8665aa2943899d2c6f9c32e9e3', '33554432', '79', NULL, NULL), +('17690b6e-bcac-484c-91df-21d21d80dd3b', 'gimlet_rot_bootloader-production-release-gimlet', '1.4.1', 'gimlet_rot_bootloader', '2025-10-09 16:06:27.599287+00', '0c2a7163e732a8eae7c5a142ce1b743a5bc3bc7a4ee7c8b1dc20ff0c266da879', '46378', '4', '5796ee3433f840519c3bcde73e19ee82ccb6af3857eddaabb928b8d9726d93c0', 'oxide-rot-1'), +('177762cf-7c15-4639-8591-0e39ab0ea9c1', 'clickhouse', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282152+00', 'b03c0bbf169ca56aaeb5d1418d0d1c879f16b02448ac506aafba77c4a73ca287', '309833687', '107', NULL, NULL), +('17b3b0af-6a9a-4c7a-b699-342431211fb0', 'nexus', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478031+00', '5a23f4f6c68ebf4174291a25afd64468100102e796dc9a73b845f0d6160184bf', '211968467', '67', NULL, NULL), +('17c3d129-deba-4871-bd2e-7e41ac0e9b70', 'host', '19.0.0-0.ci+git9dd23096de9', 'gimlet_host_phase_1', '2026-03-06 17:26:46.282147+00', '66caca9a7a8c1dffda0da7418c917c7f582e9b3ff4dad94b782bed95804de585', '33554432', '107', NULL, NULL), +('17db3f1a-1d7e-410b-8b2e-2bd66d32349a', 'clickhouse_keeper', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594067+00', 'fbbe3c247712b8465ee9e36d0b0ea1c1db53f2afff04a90cc12902a9a62f2aa3', '315609031', '137', NULL, NULL), +('181e020f-e7f9-49a4-844d-67ecbdb97534', 'host', '19.1.0-0.ci+gitbc696216ef5', 'gimlet_host_phase_1', '2026-04-13 23:23:31.608562+00', 'df2817b15f99c7e531d880bec7dc98eaa164a0a09fc2d7d8c65bd06feb8f4543', '33554432', '129', NULL, NULL), +('18268787-abc2-4534-8374-e8f8dba603e3', 'oxide-rot-1-selfsigned-staging-devel', '1.0.36', 'switch_rot_image_b', '2025-10-10 16:09:24.468897+00', '368cc8952e3bd25c30d4ccd9c8691f23e35ead3b0a62e0c083aecc4a10bf5dce', '1639117', '6', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1-selfsigned'), +('182cb3ba-fb27-40cf-84aa-d0373f0f7324', 'oxide-rot-1-selfsigned-staging-devel', '1.0.36', 'gimlet_rot_image_a', '2025-10-10 16:09:24.468869+00', '069b7c6e07eda645c9b7cbda2b7466c2947947d249e45f069d05671c90773426', '1639160', '6', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1-selfsigned'), +('18396dc1-195b-4e4a-8800-6157d022862a', 'cosmo-a', '1.0.63', 'gimlet_sp', '2026-03-06 17:26:46.282128+00', 'beb0fc993c9b12d4afe9fc02290743c425b61ac48b159b1e2ff8dc27088f02a2', '6614811', '107', NULL, 'cosmo-a'), +('1849594d-c2a4-4833-a797-a0390c063d8d', 'trampoline', '18.0.0-0.ci+git56926cd1982', 'cosmo_trampoline_phase_1', '2026-02-12 20:54:58.190076+00', '9556fb9702ca8bbb4516e4c5c9f39c79d50996233efb4da7733c944cde8202be', '33554432', '89', NULL, NULL), +('18d81685-a521-4597-9ea7-23a7c1ea249f', 'crucible-zone', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419122+00', '612d914d0efdc6ecbacac86b525c5677e8d72c05b6c256d87ccba2fec0303c14', '56171198', '21', NULL, NULL), +('190fe6b4-d902-4614-b464-d9313e7fafe9', 'trampoline', '17.0.0-0.ci+gitcf97c145a6e', 'trampoline_phase_2', '2025-10-30 05:14:08.663971+00', 'b9899cbb3c6f9e4b7e6dacc678a40c139ad2312077de0cc42827767e5c23db3a', '152207809', '31', NULL, NULL), +('191d684a-9e1b-4bda-82ed-ddaa4bbc241c', 'host', '18.1.0-0.ci+git1003e128ad7', 'cosmo_host_phase_1', '2026-02-19 02:24:10.120337+00', '3ba209f1ff630b25feffe3e6041b33b9b471b6e6905a26ff3a3d81effac3d576', '33554432', '95', NULL, NULL), +('19402b8c-1cad-4e00-8ab3-c11caf3c75ab', 'oxide-rot-1-selfsigned-staging-devel-cosmo', '1.0.38', 'gimlet_rot_image_a', '2025-10-08 19:59:10.48318+00', '5ef57dd074e9efb402502f33c54f79f2c7fbf809598ed32570a7913051806b53', '1639535', '2', '855a51518d13dd696a8102a5b2436bb2e8c39a6c0102909fce0a32adc6b76fb4', 'oxide-rot-1-selfsigned'), +('195b72c5-72e5-4029-ae25-8aef82823268', 'internal-dns', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140754+00', 'd1d6ae69ff9c09b7243cfa139a7e6e96c19535324f521fba1f5df43856808c54', '52066956', '23', NULL, NULL), +('1975caf2-ba99-46cd-9471-599d4610e360', 'psc-c', '1.0.55', 'psc_sp', '2025-12-24 16:09:17.701006+00', '6145da07255913b4e0185c82d998a2d137f7a02c0cd0a4cf7bbe3ebdb17351aa', '4066197', '53', NULL, 'psc-c'), +('197696d0-1e29-4b63-b1a9-5fd18886cda5', 'cockroachdb', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884111+00', '303ab5153bb51a2bfe676cd1dc9fd5f4ef4050820fd12b3bcdf76a615c35aaca', '160281040', '113', NULL, NULL), +('19a5fe9f-a643-4318-9122-6bd1e882e3ea', 'internal-dns', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.96394+00', '6b4ec5875babe3d1bcfcd2bd0dfbc1f24cdf35a4db321772cad014876d25e9a6', '49940352', '85', NULL, NULL), +('19b24f7d-27d0-494f-a034-d4b3b1bd2344', 'crucible-zone', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090448+00', '080066f771e4598fa927c92e50e2729cdb8d8d20bad78e45c6ba744ca5f24112', '57012347', '77', NULL, NULL), +('19d9aeb6-3420-45dc-a3a2-ff7b05c9da21', 'trampoline', '19.0.0-0.ci+git6409f6a4bd2', 'trampoline_phase_2', '2026-03-12 18:43:41.837887+00', 'd3e28de691798b7163d23c2d65cf476077bcf19e26aa5ea0debc37eea255b35f', '148056459', '111', NULL, NULL), +('19e2debd-d3f1-4fe6-a60d-2c4dc350d48e', 'trampoline', '17.0.0-0.ci+git178c3c1ae84', 'trampoline_phase_2', '2025-10-08 19:59:10.483193+00', 'b0d618f99d65884278113c55c9b8acc921047538520de8eee5c6f7ef5bd7634a', '152743965', '2', NULL, NULL), +('1a032ef2-0cf8-4565-9810-07962cbddca5', 'trampoline', '21.0.0-0.ci+git99277253c16', 'cosmo_trampoline_phase_1', '2026-06-30 16:46:25.762661+00', 'a58deca1f55206fb595a140a93ea48f46e3d1977b9b913eb81c4e185d5dfb3e3', '33554432', '163', NULL, NULL), +('1a316e06-c428-41ab-a900-52dfa388d937', 'clickhouse', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181274+00', '40e4506d66ce097f0ae4369a046028e7d762ad030dd7d107976ddb3811c7ac33', '328712150', '49', NULL, NULL), +('1a8d6aef-2413-4ece-a8d6-ab3225bf1deb', 'internal-dns', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719344+00', 'e502d901f9c3178ea691a2fea6da1b0fa0b0060833d961458f2dabb79ae2b9aa', '52795893', '5', NULL, NULL), +('1aa06e4b-5f70-4b9f-888b-5bcfaa1cdef4', 'trampoline', '17.0.0-0.ci+git34818139bb2', 'cosmo_trampoline_phase_1', '2025-10-21 22:30:59.008516+00', '0391caab3fcc35fd4d6afbf8bc25c23c0f127d574e8bd52b7732b28c4068469e', '33554432', '15', NULL, NULL), +('1ad32b1b-4b9d-485b-8540-edbf35a09e74', 'host', '17.0.0-0.ci+git01bb8750d9c', 'gimlet_host_phase_1', '2025-11-11 05:12:39.576559+00', '9bd6d078ed450a9f1acb7b555ae553e41789e22c1d2eb45531823fef60ce5733', '33554432', '43', NULL, NULL), +('1ae6841e-1f90-4dc0-8bb8-12fa8abaa5b0', 'trampoline', '20.0.0-0.ci+git2e319eb3b9b', 'trampoline_phase_2', '2026-05-28 01:22:57.659115+00', 'd92592438899a17fd278614791192bd5438027b83c2933804940691b5a216c09', '166079590', '143', NULL, NULL), +('1aff3477-7934-434a-9e6d-bd9338052d0b', 'host', '18.0.0-0.ci+git5eb13372380', 'gimlet_host_phase_1', '2026-01-22 00:31:09.684308+00', '0efea6998ab2b38c19775b0e805a21f1a4c0c5edfcbdcb13389415ccfbb53e64', '33554432', '63', NULL, NULL), +('1b0e2a1c-fdc6-44a1-8943-1ac917929fce', 'installinator_document', '18.0.0-0.ci+git4a456c99797', 'installinator_document', '2026-02-14 05:49:55.051316+00', '12bf6ac4d24a04778b7fb890a6bbb7d92221b73d334878116bc66ca702965f85', '924', '93', NULL, NULL), +('1b0e3082-2a11-493d-97ae-d2d2d5db7f0a', 'trampoline', '19.0.0-0.ci+gitd41bfa5af31', 'trampoline_phase_2', '2026-04-03 04:47:46.332947+00', '35e3b2217be3b98415373eb015c3bec3c66f1d981654716517ee4c78aeb72685', '146417687', '119', NULL, NULL), +('1b236d93-07b4-4351-82ec-092a8a547316', 'crucible-zone', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.6388+00', 'adf1ea6e2cbc57b987652aa0a709f8589e3dc41612df30e4ce3ac3f5d8359f33', '56176134', '13', NULL, NULL), +('1b37a35d-ba2f-4d1c-974b-45af510fd3b4', 'internal-dns', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.48404+00', '0a9bf44cee3d620114d251c0191ffc3d18cf95b37cd59bd6667941f9f7e1a48f', '52788132', '7', NULL, NULL), +('1b4813ed-27eb-43e5-93a1-4b0d73fa7522', 'trampoline', '19.0.0-0.ci+git328ba48fdf8', 'cosmo_trampoline_phase_1', '2026-03-03 05:18:25.051896+00', '221134d47d6da1dce1e84ac19c68e192ffbc4c017c133ecd0c7f050c22810266', '33554432', '105', NULL, NULL), +('1b497d1e-0464-4536-9d65-8c6b631a8df2', 'clickhouse_keeper', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332947+00', 'dc534273b69ef1fea4ff95bb36d6bff450b9a32899176eb5033d1439783e96ca', '302066067', '119', NULL, NULL), +('1b76e38d-7718-4a62-a0d3-e3714989358d', 'host', '20.0.0-0.ci+git8ca64d81e70', 'gimlet_host_phase_1', '2026-05-15 17:47:41.247851+00', '485eecbf977002c76163114022f224aef5a6f6338ad3e90e61011a73254ed6e8', '33554432', '139', NULL, NULL), +('1b887865-bf45-4127-9841-fc6038528a35', 'clickhouse_server', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.06385+00', '70882276fe2459adf69880423ddd58d68a6f364d8f609fadbfb734fb20d9db3c', '323544570', '35', NULL, NULL), +('1bd5cd56-87ae-45cc-a0a3-dd964f2b9098', 'cockroachdb', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483196+00', 'f7380542bbb7bcbc13fadfdde2797f8b72c0effda74b35eb0481f63729eaeae1', '169504083', '2', NULL, NULL), +('1be1844d-8cda-41f7-b08c-ede60d170999', 'staging-corim-all-sp-v1.0.63', '1.0.63', 'measurement_corpus', '2026-03-06 17:26:46.282157+00', 'f412b8445d45c274559a20cd78a4d852c45176767f3aa80d4a3c174e8fc4928b', '829', '107', NULL, NULL), +('1bfa962b-8d91-4960-843d-713b4efccad8', 'installinator_document', '17.0.0-0.ci+gitf83a43dbb42', 'installinator_document', '2025-11-05 22:59:56.995271+00', '865b481bd0ef4258caeaa516c3def93679cc0c9444dfb6900059a63e3a955f92', '383', '39', NULL, NULL), +('1c007d9b-d2b6-4972-ad44-9c91a61e377b', 'ntp', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599297+00', 'b572df0068a55e04137681ab07e15d713a453eaf62c6d8c637e22605e90a2818', '34039634', '4', NULL, NULL), +('1c25902a-629f-4290-af7b-15174a292641', 'host', '20.0.0-0.ci+gitc5c595dba5d', 'host_phase_2', '2026-06-03 19:03:58.040696+00', 'd4237993badb333a8959260e87a689a48779670d0cfd01d58f72deb55a27a47f', '1101008896', '145', NULL, NULL), +('1c43e5aa-9830-48ee-8fcc-3dd594fe2db1', 'cosmo-a', '1.0.67', 'gimlet_sp', '2026-03-30 16:50:10.815672+00', '507f1a735b9415991df3bfb420eda19e9455dc702be3ae3eb6ca9e7a75cfa773', '6681025', '115', NULL, 'cosmo-a'), +('1c5fb262-faa6-4097-96ef-d2ba2030c78c', 'installinator_document', '18.0.0-0.ci+git92e0ae0c98d', 'installinator_document', '2026-01-27 04:57:02.494855+00', 'ec23623de00d775fe7954389f717911202f26aedfd21cc18fac40fbde02d5ec1', '924', '65', NULL, NULL), +('1c672e56-f433-4441-b05e-d78252160024', 'trampoline', '20.1.0-0.ci+git1dc05d502fe', 'trampoline_phase_2', '2026-06-19 01:29:50.250485+00', 'f95174e478e8306614868d2e1fd3bc5a11d3d362c8fff54943ac8c3cd0cda083', '166277417', '157', NULL, NULL), +('1c6d9fc4-3b8b-443f-bbda-05c2c24a444d', 'gimlet-b', '1.0.58', 'gimlet_sp', '2026-01-28 21:07:59.47794+00', '443404abfcc30462425df9c71d4435c44fa2cb1b82d814999e39d29ce4e1c658', '5474999', '67', NULL, 'gimlet-b'), +('1c8d42ae-0ef4-49fb-ac77-08dcf05f117c', 'staging-corim-all-sp-v1.0.60', '1.0.60', 'measurement_corpus', '2026-02-13 19:04:31.65247+00', 'de5b2746f335d16d3f079e5805ce2d7e03da1002aa688a371fed64b3a35af6eb', '829', '91', NULL, NULL), +('1c9f169f-ba23-454b-8b0b-00dc5ce03ce8', 'clickhouse_keeper', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.27532+00', '1b82c46678b073ea640f08dea2b5a24d275c8495e75bf16d4abfdbb1c77fd4ce', '309743439', '81', NULL, NULL), +('1ccb7775-3cd4-49f8-88d1-8ccdc03759c0', 'external-dns', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742774+00', '091bc41a9be0a503655475b0e8a09d6fd0cb306fadfe3187d8cfcc273a316262', '52796293', '3', NULL, NULL), +('1cfdd78c-1bc6-4199-9a46-be503bffb83a', 'crucible-zone', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063852+00', 'b719c766edea98a001835ef0f9d24d0bc17a6a6b1c7ff1a02379fa768830437e', '59221195', '35', NULL, NULL), +('1d04ac9c-374e-43af-a7b0-1cba03bcee4f', 'nexus', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652468+00', '0feefd3319e9875a41ef0b5053b6b0b0492ea71d5dfe5559052a810a3b7513e0', '215389055', '91', NULL, NULL), +('1d661696-adc3-4cbc-ba57-7b0457d47a86', 'crucible-pantry-zone', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.89923+00', 'b3f680935b80ec78df49fb74d3d6213922700f88e65f37f8ea19ea508391f505', '42114925', '151', NULL, NULL), +('1d6bf94a-30d3-4e3f-89a7-1010434f90b7', 'ntp', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140755+00', 'a22b724d17d833912729f561d6042595c7586d249a700ec43b282facb26781af', '34046458', '23', NULL, NULL), +('1d8b7f2d-d2d7-4562-93fb-9bf8272dd642', 'probe', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140756+00', '1015abbc686559f6b4d240df4841c4b70825b2d692605192ac0526c59999450c', '3109590', '23', NULL, NULL), +('1dcd7a0e-762b-405b-b441-1403a615bb10', 'clickhouse', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484036+00', 'c97ffb5f03ad084575d2cdf5e41d950c3ef12d8024d61310067355e8cd763aff', '323757589', '7', NULL, NULL), +('1dee05bd-4cca-4428-8276-2bcd513261be', 'trampoline', '19.0.0-0.ci+gitefa6443bdeb', 'trampoline_phase_2', '2026-04-07 22:15:07.062168+00', 'e239b8a6eadda691ce58aa4bf63b62bcf77ca018fea8b0e89f4b9db9c58e417f', '146211084', '123', NULL, NULL), +('1e37ba01-3bbc-491f-b25d-d11e2347a2e3', 'installinator_document', '19.0.0-0.ci+git42726ecbb1b', 'installinator_document', '2026-04-08 00:24:54.577001+00', '8ffcb376062f0d5caea6ac71ec09a678cc91af701ff65837a3820df4312973c6', '924', '125', NULL, NULL), +('1e7ae002-33d0-4ffc-987c-f60ef0aa870d', 'cockroachdb', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899354+00', 'e88a8d7aeb2d07c6cf84fdde253c8b693f5e883566f3778e0140edbf718a72ee', '172225345', '27', NULL, NULL), +('1e8c7986-3a73-46d3-9192-075bb24ec88f', 'ntp', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.19008+00', '0f96c5dd9a10ceea12ecb524b331ac87959aec8e8826eae90c7b9880eb8d19a5', '30358401', '89', NULL, NULL), +('1ebe7ccb-d5a8-4b14-8d79-4ed50bf2bde6', 'installinator_document', '19.2.0-0.ci+gite4b75dde134', 'installinator_document', '2026-04-21 23:08:35.310209+00', 'fd122538b591aa575025cf7a25ae6a447080d58f399613507a95f35dd2579922', '924', '133', NULL, NULL), +('1ec9f41a-8785-4367-b7af-d24ebd2de2c8', 'nexus', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710743+00', 'a6b95350d7dab89d4279a631a442db80fd3c6ae264420d63e042d0815bdc9b43', '191669580', '29', NULL, NULL), +('1ece4f94-d023-4d08-8f45-51df33946d11', 'sidecar-b', '1.0.63', 'switch_sp', '2026-03-06 17:26:46.282167+00', '392630f2288a2b272fe29ba5a91abeb650f58589cd332cff8907831d76217825', '6945000', '107', NULL, 'sidecar-b'), +('1ef81bc4-153b-48c0-8c5e-8b28a15cc390', 'installinator_document', '18.0.0-0.ci+git687f721a7c9', 'installinator_document', '2026-02-09 21:51:46.539572+00', '476242ca108fa8f2f6c192c0e965ef1341411ecb98b8f6609746cb8355056afc', '924', '79', NULL, NULL), +('1efd8063-b1fa-4d1d-9202-b4e62218f09a', 'external-dns', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815698+00', '3940970a34180dc966d80ea2fa1b028a0260f069e2e952662e14b79fd6156ecd', '46248622', '115', NULL, NULL), +('1eff2934-b522-4e96-ad24-64bcdf82eba8', 'clickhouse_server', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468879+00', '459c73ffa22e206105d704698024ac3bbbb54130246b1b3edf95d9cd8f2a72d9', '323765481', '6', NULL, NULL), +('1f19a6a2-3824-4585-9f94-ff32d8a4a7ce', 'installinator_document', '18.0.0-0.ci+git6d17d64ce6d', 'installinator_document', '2026-02-09 23:04:09.275346+00', 'db4927290e5febbe36e697e3794fb155d7bc8da2f7a6dbb209fcdec1380db1b2', '924', '81', NULL, NULL), +('1f45592e-32ae-48a3-9d5c-5a91450874a3', 'clickhouse', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.700999+00', '34047f5b8c53a8fc8f2294b58b7b6f1b8f4035b73d0882ab0a49dc0f82738afc', '328051445', '53', NULL, NULL), +('1f4fb196-c20b-4f1f-9893-44d2c91dd108', 'cockroachdb', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494829+00', '55e984603e6c4c9826ac51e9d7d0b814f796b07d09b6caf9f5bd060ff5bf9a88', '168673143', '65', NULL, NULL), +('1fa7d103-e278-44dc-aca8-d245eb528dd6', 'internal-dns', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899232+00', '23c3167e7ae4a3efaac20166ab1358ef5d304b04b525e04643161353bfa074de', '52495964', '151', NULL, NULL), +('1fdcb692-3e1a-4695-9024-13fb82806537', 'trampoline', '18.0.0-0.ci+gitf507a3057c7', 'gimlet_trampoline_phase_1', '2026-01-14 23:13:54.091136+00', 'dbaadb38816f85fc5b397f8225e4290db12fc806c3561cf3269b6dd6a84f1397', '33554432', '59', NULL, NULL), +('201715d1-2ccc-45fd-8fee-b95a0e3c5bf8', 'crucible-zone', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051902+00', 'f018f5558aaa2cfebb31606b5b5983f29c8438ab1bcc99d80e54e458f9e328d9', '53712596', '105', NULL, NULL), +('20313939-ef0e-46ce-ad0f-630214d07f08', 'cockroachdb', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291185+00', 'b70381e3c8569f354ba15622ebffc90dbcfa89c3063cc68f2044eddbb6de0986', '170132704', '149', NULL, NULL), +('203a22b6-9eba-4948-949a-3bc82e63de89', 'crucible-pantry-zone', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091141+00', '95fbe2f6f19f71a86748ce400ebf90d1be2fe95a192e3453b797540aed5f4cbd', '45574879', '59', NULL, NULL), +('2046fa42-c387-4112-b006-ea75a1f6d6d7', 'psc_rot_bootloader-production-release', '1.4.0', 'psc_rot_bootloader', '2025-10-08 19:59:10.483214+00', 'bfe5f6135db8044359e9ef9467dc66b903d54884339c5e041a1024c34de9f632', '47010', '2', '31942f8d53dc908c5cb338bdcecb204785fa87834e8b18f706fc972a42886c8b', 'oxide-rot-1'), +('2059688a-4e9e-4443-8815-45e7760a4b67', 'internal-dns', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.33295+00', '20fe566799e1083dfa17803d509b31c963642dae8241632bb487cb5fa50ce0a8', '45384282', '119', NULL, NULL), +('2067fd94-b3f0-43b7-9035-eee14431d830', 'clickhouse_server', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471157+00', 'a6ad8b4cfeeaab92fb6c9ad124e00dea990931811bc4908db828b7c3bac80b1f', '327168230', '87', NULL, NULL), +('2074431a-3d9e-4692-b87f-82ee649630c3', 'installinator_document', '17.0.0-0.ci+gitaf3b89ffce6', 'installinator_document', '2025-10-23 06:08:33.419139+00', 'fd68b8b7f91d09df7ef9394d5eefed9bf79e8574316227390b9bb762b5a5ad24', '383', '21', NULL, NULL), +('20b439c8-871f-43ef-8587-94ee9f20af48', 'psc-b', '1.0.60', 'psc_sp', '2026-02-13 19:04:31.652472+00', 'ab538b5a956d8985c6878d679dd86a7e20d3db6a910e9e4391ad0c64151cf9ca', '4132354', '91', NULL, 'psc-b'), +('20ec518f-bfa2-4bfd-a27a-fb76bb4d065c', 'trampoline', '19.0.0-0.ci+git544d3751f29', 'gimlet_trampoline_phase_1', '2026-03-11 23:14:48.431937+00', '3d51b2fb9b3d96db148a8e6c0488a3cee81c69146871baf948cbde8552ce0241', '33554432', '109', NULL, NULL), +('20f4fffb-19e5-4c77-988b-e47d66490a72', 'psc-b', '1.0.62', 'psc_sp', '2026-02-23 20:10:41.273002+00', '80a86837c993d3022d6f87b4a32f95a2cb671c0797f89515f3eb19b3558fbd0e', '4131834', '101', NULL, 'psc-b'), +('210c341c-9dfd-4fb4-850f-112fb1438dd5', 'clickhouse_keeper', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742769+00', 'd88e337275bd983eac6174ba8a460a4a6dc7a948ef8256bddca8b4a378c2ef8b', '307145077', '3', NULL, NULL), +('2123bd63-2160-4baf-a440-da37d54f4346', 'probe', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.60857+00', 'b221d92086a7b785a4cf2cffe2875b5a138e3aa1647ae11f9a43f4147b1856f6', '3109590', '129', NULL, NULL), +('212c55f1-faba-416e-9924-0efeb90a7fc4', 'ntp', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.18128+00', '6d3856fc2b6d069fc78e96fe22e12f5f08a758bde2248ec8beed551310c8782d', '35876683', '49', NULL, NULL), +('214313e4-741b-4121-b1b3-be6425f2d001', 'sidecar-d', '1.0.62', 'switch_sp', '2026-02-23 20:10:41.273012+00', '4f24734369eaef31fece1c64a2b7d6092926142d9d3d47cccc4862ddf2b3fee6', '6962589', '101', NULL, 'sidecar-d'), +('218adb5f-e5b4-44b5-a7c0-4d8b49c6b158', 'cockroachdb', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247857+00', '91cd795a0f1b967a5abf080c23ffd3ea3be47fe67830bdb8f7cf50a8e400b004', '169135523', '139', NULL, NULL), +('21abde5b-6cd6-43e4-9035-aade4a62cbde', 'host', '20.1.0-0.ci+git846f6a0ad0a', 'host_phase_2', '2026-06-18 21:11:25.441918+00', 'b247fcbd505526f12b5f28a025cb3911e6a82de59e10f1bff81831a5af5004c2', '1101008896', '155', NULL, NULL), +('21ca0bf7-b095-4ba8-ac81-43850874e8ef', 'ntp', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742777+00', 'eb2a48d0b347014dc595836f1acf4ec73fd412741492c3eedf8f4e1814c2fc12', '34039634', '3', NULL, NULL), +('21d505e4-5ae1-4a75-a62a-2655a49ed0c8', 'switch_rot_bootloader-bart', '1.4.1', 'switch_rot_bootloader', '2025-10-09 16:06:27.599318+00', '5e34087e5bb3c5ae269148c709050d893f971dd4c19e3cbbec419fde55bf07bb', '41535', '4', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1'), +('21e3c689-4128-4581-a6d8-06d153110bd5', 'trampoline', '17.0.0-0.ci+git8c683c74af9', 'trampoline_phase_2', '2025-10-10 16:09:24.468878+00', '5166892d4febbc6c82bb68d52868380e7763cc20183c85d38a3e7db98273ac59', '152856475', '6', NULL, NULL), +('2208baff-4deb-4e22-9933-0833b22a1a2e', 'cosmo-b', '1.0.54', 'gimlet_sp', '2025-12-12 20:45:24.181248+00', 'cb2ea97f478e12550f907fe895ae353bdb8921fc6588dae050f4dc5a7b5bd15b', '6440059', '49', NULL, 'cosmo-b'), +('221a6eb1-84a6-448c-bd89-6b92b7fa0ff8', 'ntp', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941527+00', '0b3d51b54c02d83dff695e4dd1be36dce4b33c31ba0e09fe80dce5d3250422f4', '33588571', '153', NULL, NULL), +('2229221d-a5c1-4be2-b97d-23395fb022de', 'psc-c', '1.0.62', 'psc_sp', '2026-02-23 20:10:41.273003+00', '52d9aae7376e121018c56a7beb4b1f6914f3be2c50e7e46a2e23005d0c6c2f32', '4135235', '101', NULL, 'psc-c'), +('2240cdb9-9949-464f-ae7f-e8c4fe994ee0', 'host', '17.0.0-0.ci+gitc5c0834b174', 'host_phase_2', '2025-10-30 00:44:34.710737+00', 'f259aada11214d6ae85844e7fdf0b5f7b2ef4f1523023937b522ac92fff77deb', '1048580096', '29', NULL, NULL), +('224b72b5-5ba2-4e5d-a091-767382f9e205', 'trampoline', '17.0.0-0.ci+git3a90a985264', 'gimlet_trampoline_phase_1', '2025-10-22 23:31:13.205388+00', '704cc32fa6cf7a427841d87b6efa075c66a0b863ec0b1bd9ab16664dc0cb47b5', '33554432', '19', NULL, NULL), +('225de02c-645e-49ae-b92d-46252717f199', 'host', '17.0.0-0.ci+gite980820e5b5', 'host_phase_2', '2025-11-04 21:18:21.063847+00', 'd923fe48bafc1d9c6755b21f964d1a522fb99790a0cb601f92671a98dd653c7c', '1048580096', '35', NULL, NULL), +('228fb014-1155-463b-bbc0-19eefe1e7ddd', 'nexus', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913099+00', '729ab33a2f50ae7a8a59899aa7760b8eddb42aa28e96376442963033476be52d', '202708795', '57', NULL, NULL), +('22aebc94-4f45-462c-bb4d-6687e76913e6', 'clickhouse', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275321+00', '84a4dbc67c5f3926184cccb6118ffc5f68691b09b372857de43631290cea259e', '327164470', '81', NULL, NULL), +('22c6ed10-f914-485f-885b-ae42c80ab3ee', 'internal-dns', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366497+00', '39605ebb774c68f7ee682edb65634221828bc2074d74de1a97b2233657a681ea', '47916481', '167', NULL, NULL), +('22c9ff25-a8db-4fc8-b107-b5321148420e', 'probe', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329511+00', '5d441e9c12dabb4e9c27fe8379bd0e1514a32c15972b2e6cf577ee8ccec3257d', '3109590', '73', NULL, NULL), +('22e71fd2-73b1-4c2e-b015-bf57d55f3af0', 'clickhouse_keeper', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431939+00', 'f18d19c4b579e3ba0cd5d601e401ab06d50b5a2f2b7b439390ea1098f2fa00f9', '294756323', '109', NULL, NULL), +('2300b9b1-57d8-4767-91a2-9fbdfaab98aa', 'clickhouse', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576564+00', '63f6f63a99f62593f53bcfeac4895904e0146eebcdb82123f4c3e1e051d4eb96', '323570132', '43', NULL, NULL), +('231482db-684f-4020-b450-4c2c56f1337b', 'trampoline', '17.0.0-0.ci+git178c3c1ae84', 'cosmo_trampoline_phase_1', '2025-10-08 19:59:10.483192+00', '326a9a3860d7cc2a238f13bf94b08eafa5273678caee6fbbb82dc40e685cd250', '33554432', '2', NULL, NULL), +('23198d8b-ea7a-41a2-a167-9b7560c00495', 'host', '17.0.0-0.ci+git3a90a985264', 'host_phase_2', '2025-10-22 23:31:13.205388+00', 'bdbcf6cad482ce11592ab80bc477090e764ab5a0736dcfcb9c760c5162ce3b36', '1048580096', '19', NULL, NULL), +('231d393a-58ad-4e72-88b5-d6f080aa108c', 'clickhouse_server', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921051+00', 'f09c54fbe515c89ea6ceb81d519dd60a294be35b75d6459a0407568ce6106b82', '317001000', '121', NULL, NULL), +('231f6383-3174-48fc-878a-084f85003464', 'trampoline', '21.0.0-0.local+git04909b7e827', 'gimlet_trampoline_phase_1', '2026-07-02 17:06:15.78008+00', 'd7770de84b148968df68ff7987cfe9704538a493b0eebda6c4e8f264dfa78289', '33554432', '165', NULL, NULL), +('237d7270-e358-4ea2-b8d0-f5b4634d38e9', 'installinator_document', '21.0.0-0.ci+git99277253c16', 'installinator_document', '2026-06-30 16:46:25.762684+00', 'aea8bd9af09477539fabaa747923b1c3cd831c4966fe6d7b83a855b3b987ac7e', '924', '163', NULL, NULL), +('237eaa8f-09fd-4438-8149-ac8c32ed39ff', 'external-dns', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.25049+00', '68edb961dced54a0cd3e341c72006c6e31060e63611584976155b6c1c7312b17', '52496364', '157', NULL, NULL), +('237fa2f2-6315-4bff-abb8-ba1299147841', 'trampoline', '17.0.0-0.ci+git529ba64ee28', 'trampoline_phase_2', '2025-10-10 21:18:53.484034+00', 'd1adb7b8e15405f0f8c854ffe36d15f06d28fd8408f538f940bbaa2915313564', '152802245', '7', NULL, NULL), +('23ac72f9-e8b5-4f0b-8126-221f977662e7', 'oximeter', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008522+00', '31bd472930db402c6cec7a31bd2cda9b4afb6f5ba841e8bdff38f8629e0edd1c', '63636319', '15', NULL, NULL), +('23b90f51-6cf1-413e-8989-9962fcc20088', 'crucible-pantry-zone', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803644+00', '6ccb32de8eb5d8680f3e6677b2d3de103e7838d4da7c94e2a86850e0ef4aaa04', '45568848', '61', NULL, NULL), +('23baf916-fe14-423d-a0ef-8b7b815f9ffa', 'crucible-zone', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282153+00', 'cc7420792ca16357ed8326b253a8bb6897c6823d4e67919f32004242c8788f71', '53714743', '107', NULL, NULL), +('23be2e81-ab03-468f-80b6-81fe6bfc833b', 'cockroachdb', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112986+00', '88a5b8fe7ab16ceb4c42055da22839280e2b78a1e9542e61748fcca4023c9c53', '169059936', '75', NULL, NULL), +('23d26562-1ab0-4d64-ad54-d6ffc0a51961', 'external-dns', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434247+00', '4b5d586ff4d64c9c7d8cf3e744d44ae3e5205d9266e73bc429ea3302ae0124f8', '49139664', '103', NULL, NULL), +('23d6fe0e-834b-4de1-8f98-2603c6beb7b1', 'clickhouse_server', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.700998+00', 'a36d54035f3907bd658026830a009d9f633486736591fe4c4bb14b1020b179dc', '328049444', '53', NULL, NULL), +('23fe7c17-64f4-4626-97af-327e4315e580', 'nexus', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815699+00', '47363a89523298d59362ed514a02fc45222f7d841b9fd126bb7e21476bdaad81', '220621156', '115', NULL, NULL), +('242085c2-face-4f28-97f8-25fd9f4dcce7', 'trampoline', '20.0.0-0.ci+gita3fee0ec59c', 'gimlet_trampoline_phase_1', '2026-06-10 13:51:51.899225+00', '19447fd988ff2064f119067626f4570c8e5b7169fc16ea16c6c64ee56a4ef1b6', '33554432', '151', NULL, NULL), +('245c433d-bdea-425b-a47f-d2c183cc7150', 'oximeter', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594072+00', '830083c76ef606a1225cbe5e1a24ffbe367d6b099df51f2f6d14bc66533d3ea8', '70185166', '137', NULL, NULL), +('249000f9-63f6-4acf-9a57-982f6b572405', 'probe', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478033+00', '1f921d6ea1dde060f1311bd8ba101659706eceaf21277f11798c7c3b12a62b5d', '3109590', '67', NULL, NULL), +('24984675-ce29-4b30-b2d5-7c48c96b53e7', 'crucible-pantry-zone', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431941+00', '639e994b76547bd8e4106116f71026999c3b2d747c48eed5845b39d087f65089', '39234146', '109', NULL, NULL), +('24b18f06-b2b3-416d-beda-e1c234c198ed', 'sidecar-b', '1.0.49', 'switch_sp', '2025-10-31 23:54:18.712734+00', '616b22952ad5c7d5614e96940329d7e3bc6988fad5f8d2215757379ff5a86a2e', '6834711', '33', NULL, 'sidecar-b'), +('24b596e3-c3f7-4338-b8c0-337935fb2afa', 'ntp', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078614+00', '8e5eff9b71e86479ee90b567cd4d5a506e99659e1305d56fb0713a5aa851b200', '35679359', '55', NULL, NULL), +('24b5fdec-1f3d-4794-956b-1b2e0bd6f1f9', 'gimlet-c', '1.0.48', 'gimlet_sp', '2025-10-08 19:59:10.483168+00', 'db45d23d6e9d674face4d5379f3826ed3220d103b611b58c52e569a0d7ca03ea', '5354277', '2', NULL, 'gimlet-c'), +('24bd8f53-5bd6-4773-a4dc-ea7403d17321', 'clickhouse', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.88411+00', '01effa4bd2cd3288601eb741ca33d33e9ce6a41408020722326ccc97eb46be84', '308949366', '113', NULL, NULL), +('24e17709-0698-48a9-a49d-31b15fffa73c', 'ntp', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272999+00', 'aaf9c9f437f3902321839ba502485cd9e58fae3a5adb5c1c9263cd79dbff4e0c', '30414060', '101', NULL, NULL), +('24ec4bf3-6b19-49a2-8f6e-4702b22f3316', 'cockroachdb', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507507+00', '63d38f6a7510c3c399e532142b33b3ff1484060936600bb063cc4d2e967a5e27', '172241500', '9', NULL, NULL), +('24f784c0-c03e-44be-bf56-4899b09ec626', 'internal-dns', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250491+00', '955daa5c6543d88bf3e6819d69a56f31c8f580f408b4957418a167f10e230fe6', '52495964', '157', NULL, NULL), +('254ab1e9-dbcd-4b8f-95e0-c3798f5ab3f7', 'clickhouse_server', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181274+00', 'd96e3f96c184ebb3abe47499a7be23cf4c6c253e4b0d5b4e9d620536a0d0b5b6', '328711271', '49', NULL, NULL), +('255a44a1-81d6-46e6-bd05-3e334fcca0a4', 'installinator_document', '20.0.0-0.ci+gita3fee0ec59c', 'installinator_document', '2026-06-10 13:51:51.899258+00', 'c43bfb93534600af7feaf26df7a8471d101eddaed4d03887f042e14318a0f119', '924', '151', NULL, NULL), +('258a2a56-4707-4628-b558-f1f518545c39', 'oxide-rot-1-selfsigned-staging-devel-gimlet', '1.0.38', 'gimlet_rot_image_b', '2025-10-08 19:59:10.483177+00', '6619031a1efbed441aa1297893c94196f2fd8cbc7eb4bd001ec5e88e52c69f1c', '1639767', '2', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1-selfsigned'), +('258ebf6a-d024-49c4-ae54-20de915d2e64', 'internal-dns', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712725+00', 'a0c98eb71feaacbda1735fb083c68f666f6a2462ca1d8a74fd11f3e77f2f3f38', '52310997', '33', NULL, NULL), +('2597f10a-5287-49f7-b494-c2561c40cebb', 'cockroachdb', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.700999+00', '95915e3eea4b1d3cc86a1e35200b0be0f9064990c8628307e48c2a2a2c087a51', '171880314', '53', NULL, NULL), +('25a91fbb-b784-4360-99ec-62f900c4f609', 'gimlet-c', '1.0.54', 'gimlet_sp', '2025-12-12 20:45:24.18125+00', '7090c370f3d4a1ff99ea0c533ddd4fe43efd407b721d203c17692dc8a128acff', '5399004', '49', NULL, 'gimlet-c'), +('25ac8401-55cb-4c95-8bb7-3ec728e44396', 'staging-corim-all-sp-v1.0.64', '1.0.64', 'measurement_corpus', '2026-03-11 23:14:48.431946+00', '8d31cc914cabad194ddc9edd9a4e81e0b1a0f4b4e19ab3e60b40b4e0849ccb28', '829', '109', NULL, NULL), +('25ae835e-12ed-4a53-a6b7-e506c79cefc9', 'installinator_document', '18.0.0-0.ci+git99c3f3ef97f', 'installinator_document', '2025-12-13 01:01:07.04672+00', '4108102b373dfd93db5b03e5b38bdda6da5c9c1aa113c99ef4b9db78a8f0d192', '383', '51', NULL, NULL), +('25e2dfcf-e5d1-4e80-943c-0c4c2fe52275', 'clickhouse_server', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250486+00', '4e2ed93874de5ee6a270906529103405b5e101642123fbaa405efcc894b7a5bb', '329581617', '157', NULL, NULL), +('26211dbb-748a-474f-bfa8-d6fc7d843e33', 'trampoline', '20.1.0-0.ci+gitde1271a3c77', 'cosmo_trampoline_phase_1', '2026-06-26 16:41:54.981008+00', '3941c908d6dcc9c1bf027ae8a13abec97917392a15508955863e1d54dfc9a91e', '33554432', '161', NULL, NULL), +('265dc72b-da6e-44e1-bbc0-ead553de95f2', 'host', '17.0.0-0.ci+git76ec1fa523c', 'host_phase_2', '2025-10-09 16:20:40.719338+00', 'fa4489b404dab20ccd6646ff02744512a1b7e09f3d346a352936f2a95754b7d8', '1048580096', '5', NULL, NULL), +('266ba7da-1c0d-4d9a-9aeb-87bace18ba7a', 'external-dns', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.27194+00', '3d387fb954fd646be64663b2ba9492bf98f66f2f44565f58fafc687b83cb76a6', '50015486', '97', NULL, NULL), +('2672e192-390e-4261-8a03-6afe09b0646f', 'trampoline', '20.0.0-0.ci+gitc5c595dba5d', 'cosmo_trampoline_phase_1', '2026-06-03 19:03:58.040697+00', '5028886ff538b04fe6d57d8264c8a1785fc6318c39d0987ea76a4ab148d4b125', '33554432', '145', NULL, NULL), +('26763f7d-da68-4b98-b960-ba9570bc0143', 'probe', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471616+00', 'baa76818c05868b7784498d0fcf8aadbbdc5bd679c0cf168432d0a0c0c4d130e', '3109592', '159', NULL, NULL), +('267dbdfd-69f7-4559-a960-f15f462eef1a', 'nexus', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.09045+00', '8b971a9e21526a81f54a7f7dbf8a143f46d3a3b69a9c0b51432382d3a9e20ca1', '216126039', '77', NULL, NULL), +('2688c306-4a1a-476f-9934-c82073c8530b', 'external-dns', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599296+00', '37580af423730617c8227e4837f0061b41c479b56050585fb58ec2cec03eb25e', '52796293', '4', NULL, NULL), +('26d30b3d-4707-4f57-923a-2a25f9a14215', 'cockroachdb', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507165+00', '3c0a9237af617e466e06a9601cf1aac94b48139482d2c0a6bc8465897a85c5bc', '168727445', '69', NULL, NULL), +('26ea8129-7ca3-4d44-b1d1-a6a18dd06663', 'external-dns', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.6388+00', '6ec1b7942506e1b944ffb37c1f3ed39c399733e04b8da09e65cb1572c93da155', '52091674', '13', NULL, NULL), +('26efa6c0-721c-4453-884f-f1eeddbbbe49', 'clickhouse_server', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652465+00', 'c8d9a974355655c5af1cf475879aea04213773d9ec68dcb800421ae0ca262677', '327184103', '91', NULL, NULL), +('26fc3edd-dddc-4087-81da-ab07a826abd8', 'external-dns', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899355+00', '662b873d941b82844bfb9eb1bd488aa7802e09776c1668900fa9178bc2b136d3', '52068113', '27', NULL, NULL), +('274283b2-3a18-4742-85cd-6d9d5080dfd2', 'probe', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663977+00', 'a395886ba3649b32c369629fa90fef3a94c974792f067514afd02204f2c22eae', '3109590', '31', NULL, NULL), +('2768e777-062b-4607-82ca-d314e422c6b4', 'clickhouse', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507506+00', '2fdf2b56518763478cf006cc7505293a2a61ca8e00072ec974a112ffa9103296', '327696334', '9', NULL, NULL), +('27820c2e-d654-4bb6-a025-1e8f0563a3eb', 'external-dns', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.59407+00', '2632c9305bf6c9f1d3057333ff360aa12aa2d161c7b8e36657e41ab47e0b61d6', '53097297', '137', NULL, NULL), +('27c399b4-151e-4a4f-b8d0-462f68098fef', 'crucible-pantry-zone', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483197+00', 'e5464b16202d8741a8fb0b2e71071096e18cdc56f5a3d6df33c5ca91edc8aa9d', '40347747', '2', NULL, NULL), +('27d06594-c764-486f-afbc-88c6a18c76b6', 'host', '18.0.0-0.ci+git360801b804e', 'cosmo_host_phase_1', '2026-02-05 12:45:07.112981+00', 'e90ac28fd0ba9bb521aabd8da2648552c0f2e7a9625c9d7a1ce517200571c7fd', '33554432', '75', NULL, NULL), +('27f476bc-1775-43bd-8f84-c8ab79275b75', 'nexus', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250491+00', '3c8a7e84af9d656d44aba1302689c799f44fdbb51d0a0e9d0d8812df28e3723a', '286275252', '157', NULL, NULL), +('280d1285-ad3a-4ecb-82ac-542067e76c63', 'oximeter', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921055+00', '5b81630d7040caf8885ad61fdd0fa3ee006c97b43910168dbf575585e87defe0', '60715019', '121', NULL, NULL), +('283d488d-9c5f-41d2-8b40-e0ee8f6abea3', 'oximeter', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062173+00', 'b5bee133c5802ab72dd28f378a90d8f7dccf6b9bb2476b521d1c1662b5fec3d2', '70151455', '123', NULL, NULL), +('285e4b90-44ea-4f76-9bf5-67033753f738', 'host', '18.0.0-0.ci+git474c1588c05', 'cosmo_host_phase_1', '2025-12-12 20:45:24.181269+00', 'ae267d02030385ef08c38f148019afe4110de174fc0c152cc7ff2de9bc7bebad', '33554432', '49', NULL, NULL), +('286a7d01-464e-42b2-a4f2-6a95646d5efb', 'gimlet-c', '1.0.59', 'gimlet_sp', '2026-02-11 17:36:00.471137+00', 'd9a0d17456460a38ee4f23218ba494379ff093e5013e60aacebb622391071fb0', '5477961', '87', NULL, 'gimlet-c'), +('28758269-bcb6-41b1-9a24-34f9882b7f59', 'host', '17.0.0-0.ci+gita3bf7ea02ce', 'cosmo_host_phase_1', '2025-10-18 03:21:57.75719+00', '28953a82b338a954b5ff8d40174fb32dd47023c63532855f4fa2f70542e045f7', '33554432', '11', NULL, NULL), +('288384a2-e32d-4a5a-bc68-6bfb9da5312e', 'cockroachdb', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599294+00', '361da0cdf337df7b85e46e0063705d5dc4b0d1d2df3fbc5313704450ae3c3aa5', '169504949', '4', NULL, NULL), +('28bd5dfc-4dfe-45f5-8677-bc7e34bf3f3c', 'crucible-zone', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507166+00', 'cda57f03ccbf4feb9cd01c0410b19b08955cea92c935a72309cf2f38bf44be1e', '56839926', '69', NULL, NULL), +('28c8c51b-2b10-4464-9aa8-c8801167219f', 'psc_rot_bootloader-production-release-psc', '1.4.1', 'psc_rot_bootloader', '2025-10-09 16:06:27.599309+00', 'e30af2be77e4b905e9a94a9d115dd7b85b98011b79c104140274ed6e06a6b01f', '46369', '4', '31942f8d53dc908c5cb338bdcecb204785fa87834e8b18f706fc972a42886c8b', 'oxide-rot-1'), +('28cb59e8-e919-4e5d-950a-0fe7a7ac8500', 'clickhouse_keeper', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899352+00', '36969d9fe1ba2b291311d06c9dbd71e13247412bc384a5e806649e713f449d5e', '309310957', '27', NULL, NULL), +('28de0d3b-5e0e-436c-b428-848a99b18e1c', 'trampoline', '19.0.0-0.ci+gitd3ef1db023b', 'gimlet_trampoline_phase_1', '2026-02-23 20:10:41.272993+00', 'ab09823b5ff9b0a46732c8d550c15788a855a0809106b5abdff2c829282d5d7d', '33554432', '101', NULL, NULL), +('28ef5b6c-7f00-41d3-8de0-3a32ebb06d65', 'ntp', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478032+00', '6e2875500e2f8d274c9cffcbf63cc91a7dfb1580a396a43ae1dd554a0b5bd391', '29367984', '67', NULL, NULL), +('29193581-f3c0-4b74-b9af-305960aced3b', 'oxide-rot-1-production-release-cosmo', '1.0.38', 'gimlet_rot_image_b', '2025-10-08 19:59:10.483185+00', '6a8a11a179a6a9b7d2c0ac96e32ea216ccaee0ad7bb5c42333e4f7c422558b2f', '1574965', '2', 'f62eb434dd27302521d12958a7c3c18c69f6e0239361654f0a09e5cc554e0fab', 'oxide-rot-1'), +('294d637a-c9f0-4d2b-82fe-89faa940e905', 'gimlet-c', '1.0.49', 'gimlet_sp', '2025-10-31 23:54:18.712708+00', '1dac40b170aa61b5733e0ebb8f90042b7285cf1e227d81fdf4cfcaad4a09c7dc', '5354828', '33', NULL, 'gimlet-c'), +('29bf928e-2b54-4871-94f7-610cf104153d', 'crucible-zone', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.49483+00', 'd116ccca8b757a857fa4d74a1ea6a5b9c0d29301a61c8441ffea0864408c6e3d', '56835326', '65', NULL, NULL), +('2a208396-b760-41e1-9186-9b02df491dc8', 'cosmo-a', '1.0.49', 'gimlet_sp', '2025-10-31 23:54:18.712707+00', '6c51cc05a748939f25779da1086d20fa2e429aaa24eb47bfbba687b90d0db502', '6261389', '33', NULL, 'cosmo-a'), +('2a5de138-c999-4467-95dd-298fd131380d', 'psc-b', '1.0.64', 'psc_sp', '2026-03-11 23:14:48.431948+00', 'f9ff2503d2e6a68b1b0e00ebf9ccfaa0b45584da4df9c9804b9640362c6d9957', '4131713', '109', NULL, 'psc-b'), +('2a6f0687-8ed7-42cf-994a-78f3dcd2ef20', 'nexus', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.47116+00', 'c5047875657f9c88b5b5c6776af6b619c83da65a63ad2584196d6d21f23789a0', '216269019', '87', NULL, NULL), +('2a9e7f0d-a853-4196-a7db-155751545615', 'host', '17.0.0-0.ci+git178c3c1ae84', 'gimlet_host_phase_1', '2025-10-08 19:59:10.483188+00', 'fc543f65851ad081f4f2c41148e57cdf498435df873c86807c1a478bb308ef4f', '33554432', '2', NULL, NULL), +('2abb8eda-9a18-40f3-9d8d-ab498e89cba6', 'clickhouse_keeper', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507505+00', '2a27309ba9b759df34626fc78ccc0cbeac0fa1658226f034c7191e40814f6e32', '311062587', '9', NULL, NULL), +('2ac49065-ff02-4faf-b96f-47fd5f4d26a2', 'cosmo-a', '1.0.54', 'gimlet_sp', '2025-12-12 20:45:24.181248+00', 'd60216990a617f277e339711d68016a2a126383956c882c05d908730d1caba40', '6435788', '49', NULL, 'cosmo-a'), +('2acabeeb-3519-4474-a73e-2937ebb9789a', 'gimlet-e', '1.0.56', 'gimlet_sp', '2026-01-14 23:13:54.091115+00', 'e6789a070d7a6e82811f4541eff71251b11b050e053c30173c170b0150526082', '5408919', '59', NULL, 'gimlet-e'), +('2afea80d-3405-48c1-b5f9-fc09e216bf74', 'internal-dns', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663975+00', 'd174ff82f78a26b9e0e7432f2ba02b55a45cbddbb2b3ee21057e4ce52611b2a3', '52067713', '31', NULL, NULL), +('2b16f753-88fd-4eb3-9598-5ca77bbd78e1', 'probe', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483202+00', 'd27c61a049462d7ef422aa98538fd42bd38293fab35b0a2789a5f3227f6392d0', '3109590', '2', NULL, NULL), +('2b2dbc21-9c68-4d70-9dd2-5795321a389f', 'clickhouse_server', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803643+00', '74862a1c092ee4b72882762c9b4587daed6b994bd242c477a41ae2580df0efe4', '328071896', '61', NULL, NULL), +('2b41e592-36f9-45c4-acaa-11492ded7da3', 'trampoline', '17.0.0-0.ci+git6510e87da6a', 'cosmo_trampoline_phase_1', '2025-10-27 20:48:21.415156+00', 'a4305027bc1f328e7fbc3b9c29d9c8f6ce255506a9be743e0ec7d1356d45d7ca', '33554432', '25', NULL, NULL), +('2b6548d9-5c12-45f5-80e5-747079a666df', 'oximeter', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449918+00', '0d68cd279d6f473b6877d83740bb8f6d59abfaf11a5e9a16e1f0cf22f747ff31', '65203641', '41', NULL, NULL), +('2b692d63-6d6c-44ad-a51e-de37bac51009', 'clickhouse_keeper', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659115+00', 'bbab9a3dace47bd0b407f058ed1a8b00950c6d1c4ecead833de50f7ffb527b3d', '313759299', '143', NULL, NULL), +('2b6b5dfa-bf75-45eb-bb5b-f95f6f3d94e6', 'trampoline', '18.0.0-0.ci+git4b3cdb4e30b', 'gimlet_trampoline_phase_1', '2026-02-06 03:46:52.090444+00', '8d40fbea8e939c463eb2878976aece5f4c781007bad20e67d6fe234b6ac8b664', '33554432', '77', NULL, NULL), +('2bd86b97-b792-4960-b5f1-516f266210e7', 'oximeter', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366498+00', '9332cca20525be70834382135159e39a6548aaf94511138ddcb4a9e03ab8582c', '64043513', '167', NULL, NULL), +('2bf6916e-8138-4cca-a355-e507a0a0bb57', 'trampoline', '17.0.0-0.ci+gitaf3b89ffce6', 'trampoline_phase_2', '2025-10-23 06:08:33.419119+00', '175b20028759331eeb56f242fba3a3918ea29c79bdbf4c42a35ab6ccd14871d0', '152247575', '21', NULL, NULL), +('2c022570-f985-4b17-afa8-e1941b05f7e1', 'cockroachdb', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271938+00', 'e3c4df499c247bc4728ac5898a41e066c170955a02523bd7c25060eb7adec7eb', '169144661', '97', NULL, NULL), +('2c3e1455-12ef-47aa-b9f2-8743571098a6', 'internal-dns', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921053+00', 'cae75b2c9696fb4323af6a22f7a5c5fb159f0d1e3cd3fd3724a1ba0115610057', '45379545', '121', NULL, NULL), +('2c4a7d11-cbb6-4d13-9647-77873bb06ebf', 'ntp', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.4832+00', '64c36d791f76973318518425c4b134623bef3ebd9cab782eb38f4797d63a46e9', '34039634', '2', NULL, NULL), +('2cb954db-4dd8-40fa-9735-ec2fbca2b276', 'host', '17.0.0-0.ci+gitc5c0834b174', 'gimlet_host_phase_1', '2025-10-30 00:44:34.710736+00', '857140d38cb800765bdeae058f8de3d9908b52855120dcb4acb3b5492be781bc', '33554432', '29', NULL, NULL), +('2cd1c2f4-e7ab-475a-86f0-9766a50b5eec', 'crucible-pantry-zone', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751859+00', '8f0bf9761004a5f7dff50958ee15b4db9caf6bc2ac667ec96ebf9c3b380a9564', '45698855', '127', NULL, NULL), +('2d2443cb-ca34-4fa4-bf2a-12db5d60258c', 'trampoline', '20.0.0-0.ci+git863b79d5cd0', 'trampoline_phase_2', '2026-06-11 05:31:34.941522+00', '7c2707c2076fde40d538e5dd8b9b0d9ab5c7d18dcf4eb91e651ea8cbfd673158', '166261358', '153', NULL, NULL), +('2d6d854b-a8c8-4e53-b0d9-ee021f239d62', 'crucible-pantry-zone', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663974+00', '6103de610dd8fdea3f8ffc97ff12a83ffab4ce524dc093f1b82a9a6c6de3ab08', '44729436', '31', NULL, NULL), +('2d8dfe6a-bda6-4e99-b4e2-eb1540ade6fb', 'nexus', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046701+00', '1ae3b88364f311ce588ac802cb8177c4806b76da0ce42e39aab0b0d8bb04c197', '200361846', '51', NULL, NULL), +('2d924acc-76ab-49ad-b52e-82c890826a65', 'crucible-pantry-zone', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884112+00', '7ce34072a1b7802db12b73fb5761e51450222f4b19ffe7c8d6d35ba0378d8ad8', '39925398', '113', NULL, NULL), +('2daff8c8-6c06-420d-a142-73c1b6e6a3d5', 'installinator_document', '18.0.0-0.ci+gitd211c40e1e5', 'installinator_document', '2026-02-19 03:44:06.271975+00', 'a89cc50dfaa313ef7b726c80bf427e800d9756290207ecb381cb145bf98d7302', '924', '97', NULL, NULL), +('2de2d4f5-d008-484b-bd4d-b3fc18589dc7', 'trampoline', '18.0.0-0.ci+git99c3f3ef97f', 'gimlet_trampoline_phase_1', '2025-12-13 01:01:07.046695+00', '6ccf3b1835c0188b5d9b109ca99b3e23ff1f2b468eaab050af1da90111d3027a', '33554432', '51', NULL, NULL), +('2ded1a95-2c3f-4084-bde8-fd11900d7d6a', 'crucible-zone', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356077+00', '048dfc53728642cb60a481d8a4ad2588847b9b81068c23429beb3461e202f829', '60174885', '135', NULL, NULL), +('2e0c54db-75e6-4ce3-aaf7-31af06a9631c', 'sidecar-c', '1.0.59', 'switch_sp', '2026-02-11 17:36:00.47117+00', '1f8158421c7a95d2ec9247f669f0fb019ec3e95f6a40e9a5571068eea61f3c61', '6961228', '87', NULL, 'sidecar-c'), +('2e3ff467-30d4-478f-b5e5-d9d8355e8a4d', 'crucible-zone', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250489+00', '3f6480c1fe1e098ebca412dda53c4b7dd4b0b79aab0c1a3bee3fd845014845b5', '58058508', '157', NULL, NULL), +('2e7dd07f-126e-4e44-bf27-30f10ff33606', 'cosmo-a', '1.73.0', 'gimlet_sp', '2026-06-30 16:46:25.762641+00', '6063f1cd40422d423ee414535fb1153fa38e40e787d7ac52459ad6629b36b8bc', '6654073', '163', NULL, 'cosmo-a'), +('2e941795-4003-4110-8b52-5e34c26e01fc', 'external-dns', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471613+00', '3c44aaea765705036225a4ddb495f9822d1f67c5927c6299f048c22f10e8641a', '52496364', '159', NULL, NULL), +('2e9c2035-f126-4806-bfb4-265d0adc867a', 'oxide-rot-1-staging-devel-gimlet', '1.0.38', 'gimlet_rot_image_a', '2025-10-08 19:59:10.483172+00', 'e57c5631d66cbefb69d621c8692d28db6af95672949540dd765a0fe26678ea4b', '1575250', '2', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1'), +('2ea780bf-73c3-4256-b7a6-0e5966ad8e7f', 'probe', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275327+00', '967eb70a8e379b79cd11b2ffa508c0ff5eeb93210304bea9f5a8e4f95cd04a7f', '3109590', '81', NULL, NULL), +('2ec77ce2-df30-4651-961b-683594f60264', 'installinator_document', '20.0.0-0.ci+git863b79d5cd0', 'installinator_document', '2026-06-11 05:31:34.941549+00', 'ae2d86904cec5fbb44a87a4d632612343e10990470630f8b912285430eb32774', '924', '153', NULL, NULL), +('2eeb280b-0226-4786-9cae-00d370860794', 'gimlet-f', '1.0.63', 'gimlet_sp', '2026-03-06 17:26:46.282131+00', 'cf437bbdadb94b89f903bd1401d134cf93ce8b6f7fab912f6a91cd8711bcb6c0', '5469215', '107', NULL, 'gimlet-f'), +('2f01c37c-4be6-4bde-8d73-b75bb82eccfc', 'cockroachdb', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941524+00', '6c2cb5876c702c595e2180e30ebf1e693515ea4f5ae00fa7f78bcda4ab2442f1', '170132704', '153', NULL, NULL), +('2f1187d6-07ca-478a-9c9b-3f4f5e7639e4', 'installinator_document', '17.0.0-0.ci+gitc5c0834b174', 'installinator_document', '2025-10-30 00:44:34.710763+00', '0124019f6e957588d44de800d1100f399a3d83d68519a5cbe1ae9c60d545d0be', '383', '29', NULL, NULL), +('2f15bc08-d808-4165-98ff-b29668921b9e', 'external-dns', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062171+00', '22e39101e5e18280d66e6b5a97ce16c329c76106cff3c36009418a07298b9a9d', '53095452', '123', NULL, NULL), +('2f205cb2-a37b-4a6a-bf65-1d5a7d4bbf3a', 'clickhouse_server', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.88411+00', 'ee38b4ef593b245fd9dfbb1e91b6c0ef30bf970e8a0585accc3f5db48eb56a2b', '308948344', '113', NULL, NULL), +('2f461a5c-0f7b-43e3-99b2-4b58e8cac6a7', 'oximeter', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899235+00', '04d4036083b799ba10348c483acd0cf22d5631fc4caad25f4e2a2e18799d09f9', '69787822', '151', NULL, NULL), +('2f73a80e-fa76-4013-b0d2-cba03759d230', 'gimlet-e', '1.0.48', 'gimlet_sp', '2025-10-08 19:59:10.48317+00', '27a9a1b3933dd69b9d24e0d63915f93c9272ab2a50371cc7c5f93e1a19387704', '5353059', '2', NULL, 'gimlet-e'), +('2f77945b-4232-4365-8391-45e5ec5241ad', 'clickhouse_keeper', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449914+00', 'd8ced28124b4c5419bd3e782537137d38032364246254094becbeec56b801f11', '306876919', '41', NULL, NULL), +('2f7d508c-a1f8-41c1-9a22-8193f7e326a7', 'installinator_document', '17.0.0-0.ci+gitb8efb9a08b3', 'installinator_document', '2025-10-08 20:35:41.7428+00', '22c4afeb151d06bcab4da02f835f79427b87a3171802771085b5b250ebdf782d', '383', '3', NULL, NULL), +('2f9d7068-d7cb-43b3-b63d-1c803bd1740f', 'probe', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884116+00', 'e747deb4fff601a00a1e12126132e85da2926d748b72c4d8683541a6fe8f255b', '3109590', '113', NULL, NULL), +('2f9d75c5-e8a7-4197-adab-63bb07e5f7f8', 'crucible-pantry-zone', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744434+00', 'c374969c81959a81eb06f73e3c59b18de63b3fa9fad240756196ce3c3d58ccc3', '44790535', '37', NULL, NULL), +('2fc1ccf1-d7f7-4b98-b300-4ee3df6b6114', 'internal-dns', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941526+00', '020ebc7cf75aa0c1966f501e03232f27499235df39259c89d8e31d013fe36965', '52495964', '153', NULL, NULL), +('2fc8aed5-d07b-4840-b473-2a24cec5e446', 'clickhouse_keeper', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040698+00', '52eda87a7271e2a79848e508c11bb9716178b1c5698981507964738910e9355a', '313745042', '145', NULL, NULL), +('2ff0a55b-c662-44e2-9048-01597caa16f0', 'clickhouse', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272995+00', 'c1dd20d115765d04ae87300c7baf34801c5d1c9a5f75811ba89e15be4af87153', '327332797', '101', NULL, NULL), +('3002dbe2-cc70-48b5-920b-be4a1757ccf8', 'trampoline', '17.0.0-0.ci+git178c3c1ae84', 'gimlet_trampoline_phase_1', '2025-10-08 19:59:10.483191+00', '64c4856816506ca15fff60a4dd8f1fe3f1f84a684c7edad3d8f6c83f60d9790d', '33554432', '2', NULL, NULL), +('300b6c06-8ac3-4e6f-a70c-3fbf58ba59b6', 'oxide-rot-1-selfsigned-bart', '1.0.36', 'switch_rot_image_a', '2025-10-10 16:09:24.468897+00', '7a06e65efa865fe819f406b25b19089749fb4d35b6a8b556c078fdd8d5727052', '1634071', '6', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('30256340-fb40-491d-a986-b68d0d7d9e9d', 'staging-corim-all-sp-v1.0.59', '1.0.59', 'measurement_corpus', '2026-02-11 17:36:00.471162+00', '5c7fe2ddf8348490edaedf879310fe4e9ef3efd445b61c4b0cb687a928fd063f', '829', '87', NULL, NULL), +('302df0aa-7670-4377-a15d-6d62a215f715', 'trampoline', '17.0.0-0.ci+git529ba64ee28', 'cosmo_trampoline_phase_1', '2025-10-10 21:18:53.484033+00', 'a275dabd6bcf5d1ba6beb16fc7e4117cc96da4f7f93f2f4d4824ce8bbfa71a5f', '33554432', '7', NULL, NULL), +('304b9e77-c988-412b-b580-97816f7faea2', 'trampoline', '19.0.0-0.ci+gite2fe4014825', 'gimlet_trampoline_phase_1', '2026-03-30 16:50:10.815693+00', 'a1bbc8e690d70ef23434a1f88bf072ec35ab03ab3ba84fcab501a67a86bdfca2', '33554432', '115', NULL, NULL), +('304f6633-9f7a-46a2-b1c9-43c56d5f6c94', 'clickhouse', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963936+00', 'dcd81ebdf7f062bad0c8b38cf1d2c89f8597224328e2595e97a27514ff34e59e', '327168936', '85', NULL, NULL), +('307856cb-cb23-4b14-bec1-9cda0b213a99', 'clickhouse_keeper', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.53955+00', '194b3e5edf531cea64a52010117065d5d87baf03249089d7a03f55463b12209d', '309746067', '79', NULL, NULL), +('3081a39e-898c-4a36-8c9b-0b35a9ca0558', 'host', '18.0.0-0.ci+git687f721a7c9', 'host_phase_2', '2026-02-09 21:51:46.539548+00', '3bf33ced79d865852af20e542a44627f0e23e16e57fa248ad8cc77ae208efe5f', '1101008896', '79', NULL, NULL), +('308dd5ba-ffe5-4862-8088-a07e3df2f282', 'ntp', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507511+00', '2355420caef479f379ad1b0939f9a76b872b51e9159a441a00f52e48c65d651a', '34064026', '9', NULL, NULL), +('3098341b-a1d7-42b7-92e3-6ba52b849a22', 'installinator_document', '17.0.0-0.ci+git34818139bb2', 'installinator_document', '2025-10-21 22:30:59.008539+00', 'd0f18e11f6d03056554d0f5df5742f7d9449ab290bde650460f3bde0c5580683', '383', '15', NULL, NULL), +('30c35fd3-bc62-4612-b233-973b286ec1f6', 'clickhouse', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899229+00', 'c1bc69269920e508145570be85a78c10da699bc0212ee52d3181e52756823959', '329584014', '151', NULL, NULL), +('30cf3ccb-0630-4381-82f9-9f41bf93dbbc', 'ntp', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659119+00', 'aa643eebfd28c1975d636124e0d770d7b74fee889c786d5b0b44750abe2476fb', '33064209', '143', NULL, NULL), +('30d87fad-e0ae-4276-9dcb-01bc54780ddf', 'nexus', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780089+00', '6900a8ec389e7a5fcaa4f2097de1589c614f4662546f6c50e081f69263963a2a', '278939680', '165', NULL, NULL), +('30ede0dc-26ed-4dcc-97e7-40c2b5ba2c1c', 'oximeter', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004242+00', 'b8fccefb8dbca423723794c4ed3ae53b6163f3aa401b114b8225e86fec7e69fa', '69791934', '147', NULL, NULL), +('30efcf1c-c2e6-4df5-85e1-b197117324e6', 'oxide-rot-1-staging-devel', '1.0.36', 'gimlet_rot_image_a', '2025-10-10 16:09:24.468867+00', '1048ec74ff9eb2cf110dcefa2f4b3bd589d1040cfd4d7a6bad51fb55e3d54427', '1573997', '6', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1'), +('31438410-872a-40c0-bcc3-1efd60081ed1', 'host', '19.0.0-0.ci+gitd3ef1db023b', 'host_phase_2', '2026-02-23 20:10:41.272992+00', '8c1870c3fc3f074407d42c101cc176f90914bccd803ed4657675719f80b5cbc2', '1101008896', '101', NULL, NULL), +('314d15ab-51e0-437f-8795-427de6991b86', 'clickhouse_keeper', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247855+00', '2e6d163bf47cc33b6bf96d3cb2547f8b59d9ccbfbfc0fbfc31f162c12be55c72', '312304654', '139', NULL, NULL), +('31668395-9929-4546-9412-f57e9de517b6', 'clickhouse_keeper', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604851+00', 'adcbf63837b19811702b4b0435ec63d4ed282b67d576858fbdf99fb357b103e3', '314956317', '131', NULL, NULL), +('31b04e62-0601-4b46-bd6a-ca22f7c2ae1e', 'clickhouse_keeper', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.71934+00', 'c9523ac5a5a21491c8f985054bc84eafc5a645fb0a41ccd8c0b768f4e2590f85', '307145077', '5', NULL, NULL), +('31bb819d-c2f2-4520-b78a-bbe7222f2714', 'clickhouse_server', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751858+00', 'cf396eba74e5674cac57a97927ca423add03befe486aad13106bd4dea0bddfca', '331381366', '127', NULL, NULL), +('31f5b27a-36c8-4ef1-a63b-dbf144cfcf3c', 'oximeter', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507512+00', 'd75678238fa832194f70f372c2a28fcc4147e3e0b06685b425f200ad9b0885f1', '65635939', '9', NULL, NULL), +('320690aa-21b2-4995-bee1-b1961b7102c4', 'external-dns', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449916+00', '3ec25d75da8674fe00cfe9c04b64908dabb0f8609571583b85279c4dcd9ea3fe', '52276652', '41', NULL, NULL), +('3213bf01-1634-4d9b-9a83-112a46287c6b', 'cockroachdb', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008518+00', '096b4afd852d16a0a253a508ef072c2d92779b264e2688bf1ff4d35926cc7e9c', '172223542', '15', NULL, NULL), +('322dfd82-2457-4790-b271-a0b78cc2520a', 'clickhouse', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663973+00', '089cb79ea2f34a263574170599888260739b23e7c1420e1cdc457047d767b7f4', '325930916', '31', NULL, NULL), +('323319bd-557b-487d-8fc8-a2982b2dd207', 'installinator_document', '19.1.0-0.ci+gitc7312331b08', 'installinator_document', '2026-04-14 19:37:47.605014+00', '3820066ba030fce428d5ec8d32a5fa6bbbec58857b1066158ab699f8b6ee9c10', '924', '131', NULL, NULL), +('324e45a8-b09d-4b5e-81f3-e1717016448f', 'crucible-zone', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803644+00', '16165e2bba7e90f165212abcbbc667db194ceac48b41f973bbc9c3d2e0fca35f', '60046274', '61', NULL, NULL), +('32868e0a-86b7-40a6-8af7-dbf52a342f1c', 'external-dns', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684315+00', '8be2e1f559385c1a0c35b1ff5e63da182e97962db5c01b04a8efbfd2c55032a9', '48681626', '63', NULL, NULL), +('330ac99a-1f07-47b8-9c11-917b0ac2659b', 'psc-c', '1.0.53', 'psc_sp', '2025-12-08 23:28:06.260762+00', 'affeccdbabc93849e921fd30c5c081d543eb72d7ab52a2dcd8763fc3914d96cc', '4066206', '47', NULL, 'psc-c'), +('333aa34a-782c-4a09-b9b4-ee9d4b10f619', 'sidecar-d', '1.0.57', 'switch_sp', '2026-01-22 00:31:09.684329+00', '1be16b8685d49404394a718f880c6d2e45feaae4638be8c1f88327009ff38335', '6955393', '63', NULL, 'sidecar-d'), +('33442c6f-58d4-4ab0-b769-f5f112a9b3cf', 'sidecar-c', '1.76.0', 'switch_sp', '2026-07-07 06:50:20.366511+00', '8f19fc6248f39144ee8bdc2270d482e07da982c4064153611a99ddf870cd089f', '6993009', '167', NULL, 'sidecar-c'), +('3356d80f-79e7-4bcf-836b-2236db9ce69b', 'cockroachdb', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116901+00', '30ecb0daf07e1f3dc9575306218ffb185264cb00cb1509091d777974fe782d76', '172603028', '45', NULL, NULL), +('3418ed81-d8bc-4281-b245-df79d954b2af', 'crucible-zone', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780086+00', 'eae25d47132ca6dc9a823b10fe4bd5307c618555c56d3dc0f0c0e206f34fcb21', '53258506', '165', NULL, NULL), +('341e0164-1404-4311-8529-4b3be9eb56a3', 'crucible-pantry-zone', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780086+00', '8a41602ec938c643e199ae4a9dc7d2be40a7c0d59e2f5519d464cd10a12feb12', '38210417', '165', NULL, NULL), +('341eb816-d32c-4188-8840-ca4d20fe988c', 'clickhouse_server', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091139+00', '2c645ca791a999b13acf99f3c6bf168bb115f6f67eca2b44a88ef85554d67217', '328097008', '59', NULL, NULL), +('3461fcaa-9f51-4f17-b1ed-5cf290288064', 'ntp', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762666+00', '4ec976844ea0d26e69f2a6d02f6017b89d3011b1df5affe3c49b87c9158a5f61', '30452611', '163', NULL, NULL), +('346a057a-cf3a-41eb-abd9-6d64a501505c', 'clickhouse', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757194+00', '2a76d1785a861d065752ec497cd666bb982613f9a7e3a5f2363242791f92c930', '327711880', '11', NULL, NULL), +('346eff36-1200-42c9-a7e5-29c698c79684', 'sidecar-d', '1.73.0', 'switch_sp', '2026-06-30 16:46:25.762678+00', '70a99fd0dc1a1a7e5f6a78d299e948636800614d350b434976d794ba446557ca', '6952027', '163', NULL, 'sidecar-d'), +('34f92086-f797-4ac9-82f4-c248879f020d', 'host', '19.4.0-0.ci+gitbae719a3bdb', 'gimlet_host_phase_1', '2026-05-13 14:19:55.594063+00', '7e3eac874f1c149c87d53631eb753d0e016578d7ac77d77a7a9793ce87d7a6bf', '33554432', '137', NULL, NULL), +('350b5546-f574-448a-ba8d-6311d01ea1e6', 'trampoline', '19.1.0-0.ci+gitc7312331b08', 'cosmo_trampoline_phase_1', '2026-04-14 19:37:47.604849+00', '27acf5c6eedb2cb965992ddad9be884b47a0a732ce54f4b1a89358082306a7e3', '33554432', '131', NULL, NULL), +('356ea912-89d4-4493-8f5c-011e1bea6577', 'host', '18.0.0-0.ci+git1c0f2b3c24c', 'host_phase_2', '2026-01-28 21:07:59.478025+00', 'fae17983cb6c08a7215c7477a5a211e5055a58cd6ac2fc03e65f04252c2fd256', '1101008896', '67', NULL, NULL), +('35ac56bf-8f0e-4844-876b-0939b45e05d8', 'crucible-pantry-zone', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449915+00', 'a059ff1c410a46f852f6cfde23ca3b94d4a0a7252645158010142b2f3fa20675', '44795806', '41', NULL, NULL), +('35bd6f49-6d6e-449d-b5c3-2947bc74e1d4', 'trampoline', '18.0.0-0.ci+git474c1588c05', 'gimlet_trampoline_phase_1', '2025-12-12 20:45:24.181271+00', '059eb135147fff5766bab6e9405bcbea6217aa3d38e4278a4e427058b1de5095', '33554432', '49', NULL, NULL), +('35d64f07-8111-4f98-b380-8e53d3d71fc3', 'host', '17.0.0-0.ci+git7bc5275729c', 'cosmo_host_phase_1', '2025-10-24 17:56:14.140748+00', '4922020ccfc7811d31a9e205f2d7ee3381814023488442bef8f7292bf2ca9671', '33554432', '23', NULL, NULL), +('3636f40f-81ad-4109-af31-b6cbecbab5ec', 'trampoline', '18.0.0-0.ci+gitc643ed39da8', 'cosmo_trampoline_phase_1', '2026-02-10 13:49:39.684115+00', '0d197284d3aa09c71beea1c22039837c029e814eb71662c69a96d40d4d7376fa', '33554432', '83', NULL, NULL), +('36586f4e-2b54-4937-bac5-0ddc3272ee7f', 'clickhouse_keeper', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.41912+00', '08f0ad4ace5d01de29bf3d3b1c416ce0ba7ac2d932e44026eb24123927e0ed03', '309258043', '21', NULL, NULL), +('365ed23c-f949-4c52-a5ca-5487a7b8f8ee', 'trampoline', '17.0.0-0.ci+git8c683c74af9', 'cosmo_trampoline_phase_1', '2025-10-10 16:09:24.468877+00', 'c6261dda82b540e2b3f7c2e82bed49016941d5cd41e3f32ea16ad9c6f760a681', '33554432', '6', NULL, NULL), +('367ca600-2b5b-4da8-91d6-0ceb3e0d3dbe', 'internal-dns', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275324+00', 'c3b196bcaf6910678b49c3b01e8d0ccc80b75b7819c13f23379047c2307a2f8c', '49939917', '81', NULL, NULL), +('36886669-79c3-4716-8be5-23affe2cfedc', 'crucible-zone', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608567+00', '1b3eee65c7d40efde6d8c65c61fbb66afe9e24048e38301b871f8bd32cc775dc', '60176565', '129', NULL, NULL), +('369b3ad3-999c-4c7e-9772-2a5e2311edab', 'host', '20.0.0-0.ci+git3dc79fe53b1', 'gimlet_host_phase_1', '2026-05-27 02:26:01.196602+00', '3ce473afc3d84e22b7d135fae9b06df0f1f10b681552a8103a5f5a23f4750a9b', '33554432', '141', NULL, NULL), +('36ef430f-fc1c-401b-b910-2410485bdb86', 'cosmo-b', '1.73.0', 'gimlet_sp', '2026-06-30 16:46:25.762642+00', 'bc3f6263ec0fc896a053e4c7cc0f0a28d2748c9fa9ee30cb3f89cdb19e2aa868', '6654922', '163', NULL, 'cosmo-b'), +('37549296-6cd2-4c09-983f-8371ba42c428', 'ntp', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.99867+00', '74dacb4f377363569f3906c6d79415905a638a21994a493e829b72d106ee2805', '35724533', '71', NULL, NULL), +('37d36beb-8f1c-4aef-947f-98007b66ec51', 'gimlet-e', '1.0.47', 'gimlet_sp', '2025-10-10 16:09:24.468866+00', 'f0956a9b9037423ed03b7ccf4db8464bd38414d2440157af5ccaff6d2755dbc8', '5302903', '6', NULL, 'gimlet-e'), +('37dca268-fe03-42cb-b524-32ff3fda5504', 'installinator_document', '20.0.0-0.ci+gitc5c595dba5d', 'installinator_document', '2026-06-03 19:03:58.040797+00', 'c82a7aefe4f66e98739c57bcfd9a4e6f9a8041261325ca47d9d706e798ddb8f8', '924', '145', NULL, NULL), +('37f4cd72-9977-44c9-86b4-9ce9aba6ebe4', 'clickhouse_server', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995237+00', '381ab3810acab6f1402bfbfed3e733f89258d8d3db3a44c43a6261293dbfc5de', '323544570', '39', NULL, NULL), +('37fcfcb8-590a-4ed0-a4ef-cda84b691dc8', 'nexus', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899356+00', '48dfd6ec0b2c1a44735bb6cd3543d381dcc00a389781fb2c15fe4206cb2c1342', '191547404', '27', NULL, NULL), +('383f28d8-ffea-4b36-8f16-a8ae79c69be5', 'clickhouse_keeper', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762662+00', 'a61de1c2625b220af4e358fd6e5acbda1eb86dc56fdc936d079158c12846b081', '305242533', '163', NULL, NULL), +('38487b4d-ad4f-48b6-952c-beff046369f1', 'trampoline', '18.1.0-0.ci+git1003e128ad7', 'trampoline_phase_2', '2026-02-19 02:24:10.12034+00', 'f5429e30a6502c2a0a79c2b143c6a6213affb51e34f4752597ed386dbfef4c94', '146112725', '95', NULL, NULL), +('3864b0cd-4258-4024-8870-eeaf16c091a8', 'ntp', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120345+00', 'c2934c7ca9e79e4e3a7ae71873abc586e859e3ba963871b6ae33fe08c3b86f9f', '30411904', '95', NULL, NULL), +('38b4b3e0-2f20-4247-8ca1-b7302c75f6e5', 'probe', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051907+00', '418e94f68bd902564d904e6cdce7922ed7c435a05cadb704d5602b3fd3f1c5fc', '3109590', '105', NULL, NULL), +('38bea399-4bbf-4962-97e6-6cd5b5067df3', 'trampoline', '17.0.0-0.ci+gitd17fb154c39', 'gimlet_trampoline_phase_1', '2025-10-17 15:59:09.507503+00', 'b4e49931ed83ef3e210739b90293420e3aa8412aba94a41980031bce658588b5', '33554432', '9', NULL, NULL), +('38c3e8ee-02b7-4b86-8abc-110e2831aec1', 'trampoline', '18.0.0-0.ci+gita728a7f63fa', 'gimlet_trampoline_phase_1', '2026-02-11 03:50:43.963932+00', '2facbf26c2d912a10f57399070941e01eaa1e020f52d737bd659b1c9af3e8ec1', '33554432', '85', NULL, NULL), +('38fc8356-6262-4024-ae42-7aa19a1c8823', 'installinator_document', '19.0.0-0.ci+gitefa6443bdeb', 'installinator_document', '2026-04-07 22:15:07.062195+00', 'bdd408f96e5bc1fa2579d6cda25ecdf24f842750175bec0b5fbbc4d077dd66e1', '924', '123', NULL, NULL), +('393a5c1a-2482-4806-8b17-ff34778ed254', 'clickhouse_keeper', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434241+00', '4ce599af3f5c114db8e21e38c1bff68c2ddf15109ea05cc3cd90efcfde19c2a6', '309718101', '103', NULL, NULL), +('39743d60-fc41-4d8e-a45b-ff52209eed3b', 'internal-dns', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744435+00', '58b87610111c4ee3ee9b0db527d850a28b780cbe3636e63bd487fffe33f98a25', '52269119', '37', NULL, NULL), +('397f37c1-f1cd-4253-973a-d1ba96537d82', 'trampoline', '20.0.0-0.ci+git8ca64d81e70', 'gimlet_trampoline_phase_1', '2026-05-15 17:47:41.247853+00', '61f4044a408ac9cd1ac60cb09e5b8967863030346a28a1ef8bde2a5eceb67f45', '33554432', '139', NULL, NULL), +('39a3387f-2fc1-4db3-b9b4-8c07ef0e6f7e', 'trampoline', '20.0.0-0.ci+gitc5c595dba5d', 'trampoline_phase_2', '2026-06-03 19:03:58.040698+00', '4613a5b400a48c7ff16880dc22ce81451a477e52a6b3381a2db4b2e7bc24cc7a', '166095855', '145', NULL, NULL), +('39a414ad-eb6a-456b-80b8-81220bd62068', 'ntp', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046701+00', '2b0988a6122b34391f3310ce1ade733c175316331f408cf1e40329c419318142', '35876683', '51', NULL, NULL), +('3a00d87e-1c55-48df-b6c8-10edf7d625c9', 'nexus', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051222+00', '4790b9cbfed4d3399b5d617733163ea461c29106c47fd6ed30d02477b9ca9f90', '216240886', '93', NULL, NULL), +('3a7a4b52-e39d-44c9-9ef9-59a62561548f', 'staging-corim-all-sp-v1.73.0', '1.73.0', 'measurement_corpus', '2026-06-30 16:46:25.762668+00', '884b71e2268556a24f096df11676fed76b5775e83e1b9f0c897e6c039eac05a8', '829', '163', NULL, NULL), +('3a8fc0be-46d7-422a-a428-8409a1e986d5', 'psc-b', '1.0.59', 'psc_sp', '2026-02-11 17:36:00.471164+00', '3fd2db199a1be2379b11c377c7b62e009d37a9ffd64fa469c76fa2ca04671b53', '4132423', '87', NULL, 'psc-b'), +('3aae0c52-9fab-4561-9a9a-d4892c7591ff', 'host', '17.0.0-0.ci+gitc5c0834b174', 'cosmo_host_phase_1', '2025-10-30 00:44:34.710736+00', '07d69f519fa18a4b8779978c413d6fe3d636101fbfeed8713bc8bd0a78078b40', '33554432', '29', NULL, NULL), +('3ab08914-d895-4d15-b993-352d48aac9fb', 'clickhouse', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004239+00', 'af2b09a179e815135331fd05f16fb6dc4dff8c1b5fd4e49f06d3369d8198d099', '329622072', '147', NULL, NULL), +('3ace666f-dc68-48ad-94f6-5940dc23c0f3', 'psc-c', '1.0.60', 'psc_sp', '2026-02-13 19:04:31.652472+00', '34d999a2f92ee2a9f17fb8c17d8ad45facc3acb3d8a5fdabe00d807c6c5b7a19', '4135789', '91', NULL, 'psc-c'), +('3ade9c9a-8b8c-4a86-af57-dfcfe26ddc04', 'clickhouse_server', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196605+00', '08fff33d1c78cfb3972b30a736f26c264cbdc39d1cf6cff5013fa95e1bbb8638', '328661263', '141', NULL, NULL), +('3ae064ec-62fa-4b99-b104-8a09c3260fe9', 'cockroachdb', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038683+00', '33db198075c80007643f77263f643d4afcfaf6471cf3390984af590e35775453', '161482119', '117', NULL, NULL), +('3ae3d8c7-bc2d-4166-9f1b-efb45f2cf12e', 'host', '18.0.0-0.ci+git4b3cdb4e30b', 'cosmo_host_phase_1', '2026-02-06 03:46:52.090443+00', 'b75c77545f26bb406d59740280df38b58549b67b049e2e1e8911237953959d3a', '33554432', '77', NULL, NULL), +('3ae5f65d-dc92-421f-b45e-68b8b3ff7dde', 'external-dns', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576566+00', '66abedafcd18548bc01d6c1e59ed3112813c540c5c05b41cdee5faaf1a337f72', '52276652', '43', NULL, NULL), +('3b08a7a1-a48d-46b6-b967-bf3746b847cf', 'trampoline', '18.0.0-0.ci+git6d17d64ce6d', 'cosmo_trampoline_phase_1', '2026-02-09 23:04:09.27532+00', 'ab81ca7e60e7a5d966f5b0818d95f773ef9bf8c895c75b477ad10b466f5759ee', '33554432', '81', NULL, NULL), +('3b1989d8-a2b5-43f0-a2f3-f2307ae36d94', 'cosmo-b', '1.76.0', 'gimlet_sp', '2026-07-07 06:50:20.366473+00', '898c3ba72e9920962fdb0676906da1e7b098a32e1d60dcd1a7007817bb6e7d34', '6693207', '167', NULL, 'cosmo-b'), +('3b26898a-bf9d-4498-b377-ab87c2e095ac', 'probe', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712727+00', '412c4fa1737063d0871f1bfef27acd3cb059f00bd458c2dbdda005930eaeb720', '3109590', '33', NULL, NULL), +('3b45f75e-70eb-4e2c-88c0-383fa76639f2', 'crucible-pantry-zone', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599295+00', 'b569056b5bbdef173f75aa22b02527600f077c76454f66a2e8a0d366d6d5b085', '40347747', '4', NULL, NULL), +('3b51ab38-2a60-4c8b-b3df-798de9f1047e', 'installinator_document', '18.0.0-0.ci+git474c1588c05', 'installinator_document', '2025-12-12 20:45:24.181303+00', 'bd2e263731f37c7d8acc341a26dee056a517b97b1e6f5a0e67bb2dea2da625c3', '383', '49', NULL, NULL), +('3bb32e7f-d9ed-4af5-9def-ab968785ab4a', 'oxide-rot-1-selfsigned-staging-devel-psc', '1.0.38', 'psc_rot_image_a', '2025-10-08 19:59:10.483206+00', '50b9ffb723857fd70d900e72825dc2f39784af53367945bed524d4cec01cb87a', '1639642', '2', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1-selfsigned'), +('3bc3d786-b23d-46cd-96a4-e3a3404430f0', 'nexus', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196607+00', 'fb0b653a0fe92caa284c23c11d28389fa8b36be1fda5e2f8e56bb100b10848f3', '285430429', '141', NULL, NULL), +('3c1f6566-95a8-4081-8927-0da92580770a', 'host', '19.0.0-0.ci+git09c8c584ee4', 'host_phase_2', '2026-03-31 22:41:05.038679+00', 'e5917d398c9016145f038f1c8a781a996bb23eb12d9db106d8724ed7e8aca9b7', '1101008896', '117', NULL, NULL), +('3c31ae5f-b907-43a2-8c6c-71d45b6164d7', 'trampoline', '19.1.0-0.ci+gitbc696216ef5', 'trampoline_phase_2', '2026-04-13 23:23:31.608565+00', '89a6e32391717c95dc9bcf055e1d99ca5f52c81916c58983a8b97452c8f3da35', '146316769', '129', NULL, NULL), +('3c3f8fab-b62a-40c1-8dff-dc941b2e614f', 'trampoline', '20.0.0-0.ci+git13937a135d7', 'gimlet_trampoline_phase_1', '2026-06-09 22:54:35.291183+00', 'a057a1a49bbc71d6b6f80587559db79feb20ccdf30380fb74b381b5330f423e9', '33554432', '149', NULL, NULL), +('3c752184-fd81-4ab2-9df4-414ae9559195', 'oximeter', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576568+00', 'ce12d5498595f5876ec167b5af80b81e876a2c12dcf37c086859f7787d0cbb5d', '65203641', '43', NULL, NULL), +('3ce5701b-f2c3-4c17-b7c2-e96d20ad8858', 'internal-dns', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.47116+00', '0bcb04b607ca7acc16037a324d514aca52297aeba298b99466a5147c0b126e90', '49940352', '87', NULL, NULL), +('3cff2c24-5317-4d13-ba21-ba9a8b1150fa', 'clickhouse_keeper', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884109+00', '7b0e80f0c96991699473eac8009d7c6feb235deb9fa41910412920b80e3d57b5', '294065008', '113', NULL, NULL), +('3d0ad6f5-a5e8-48a3-8634-b3001cd36fbd', 'host', '20.1.0-0.ci+gitf6ef6642eaa', 'host_phase_2', '2026-06-23 04:22:03.471608+00', 'd8768521d56352ffc6657685fbe5338e6d08c44d9cd9b7c44e9bfa27147312db', '1101008896', '159', NULL, NULL), +('3d143dd5-2f72-475f-95bd-77982eacbe8c', 'nexus', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663975+00', '8ab4c8ee8c77f5b96a79b581d795a665f62ef476350fd4c043bbe6de55a609a2', '191665736', '31', NULL, NULL), +('3d3a2939-e1af-4663-b9a9-cf2ce54acd02', 'nexus', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539553+00', '1bff66896d5375a0bd96f07e685036b59ba997092fe0096f1d1ab0db08c6e6c9', '214900425', '79', NULL, NULL), +('3d4ec715-2734-41dd-ab89-d29fbcf6cc12', 'gimlet-b', '1.0.60', 'gimlet_sp', '2026-02-13 19:04:31.652443+00', 'ec2421f2d93c1f851f5d1ef3c0cf8597510c4f096a94c692a4b28b719a98080b', '5475550', '91', NULL, 'gimlet-b'), +('3da1bcde-7ce1-45c5-9aab-c05945a9d733', 'internal-dns', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780088+00', '42162fbff3df0e36262e7da8c397d575e159be93a31790a9d3b8c39e64c74a43', '44895273', '165', NULL, NULL), +('3dcb4716-1f5c-4919-af3c-e7d3a721b382', 'host', '17.0.0-0.ci+git81d822614e1', 'cosmo_host_phase_1', '2025-11-04 22:17:21.744429+00', '7149215337bf133d803f7f1c1ef64a72e73d1259f03c0fd0bc0b06db41326345', '33554432', '37', NULL, NULL), +('3dd8bf03-4701-4c80-ba07-f96436fe6bd1', 'clickhouse_keeper', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608565+00', '62aa9073ac1c0a3ea0bc1b90409a30aa88779dd65366b8b430ed44bce610a971', '314956317', '129', NULL, NULL), +('3e485044-931a-4320-8a1c-17b6bde514a1', 'clickhouse_keeper', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250485+00', '56ddb516604f9e50aa7db7908a2601784454c5f430453cee2d112067ffef7a98', '314295713', '157', NULL, NULL), +('3e522822-658e-432a-a616-a005ed3a70d8', 'host', '18.0.0-0.ci+git360801b804e', 'host_phase_2', '2026-02-05 12:45:07.112981+00', '9e6880f74b1273674e0a8961b3693453aca75b7e25196f402852ed3ae475ca03', '1101008896', '75', NULL, NULL), +('3e5c90a1-345d-4b25-84da-11c14b47b3ff', 'nexus', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.701002+00', 'a5d4e7c6d76cfd6ec565b234646ea8c81505dc028f3d14c507dd5c3f5d1f028c', '200537913', '53', NULL, NULL), +('3e9af16a-5f02-4fdb-bf4f-946d23845aa8', 'clickhouse_server', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275321+00', '2e97e0fcd575c0ad61936cc377912b7dec4b2776ce87d550d21645811580548c', '327163519', '81', NULL, NULL), +('3ed609ea-87db-4780-9452-882fa6dbaa09', 'probe', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356082+00', 'bec9937ed0975557b66fc309384ab77529b5f8e222452ccc0c1a68c78a1a7427', '3109590', '135', NULL, NULL), +('3efef29a-590a-4869-96e9-202d1075ca46', 'oximeter', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046702+00', 'ddc3bb7d93a5f766f9f45089d5633fa4e6a12c47bca74c46082deda54393a950', '67317687', '51', NULL, NULL), +('3f00881e-9c53-4ec4-a487-3c317c2aba1f', 'gimlet-d', '1.76.0', 'gimlet_sp', '2026-07-07 06:50:20.366475+00', '43ff82883aaa215a27f2cd75d756380bc05088d3205b725d7c53d926e3080854', '5470180', '167', NULL, 'gimlet-d'), +('3f3b9f5f-d2f5-4f1f-95d1-33efb1acb232', 'probe', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046702+00', 'b97754bd20804230d16557d8f4ab55c648656dc6d28999c601063757df08a403', '3109590', '51', NULL, NULL), +('3f3bbd8b-fbe8-4188-b218-2d7dbab23b4e', 'clickhouse', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471612+00', '295befeb5f387551d766f4a482b6210d3d147dee7666eb55c5934962d16b186e', '329584014', '159', NULL, NULL), +('3f404f67-7db1-4468-824a-e5fb70adae37', 'host', '18.0.0-0.ci+git360801b804e', 'gimlet_host_phase_1', '2026-02-05 12:45:07.11298+00', '92f1db308f4a224ad28966f8d13408d5797ed63685c227b2d82a7a40a23ba1d4', '33554432', '75', NULL, NULL), +('3f47ceed-0e83-420b-a3ef-8a5986c035b7', 'host', '18.0.0-0.ci+git0ee7d730282', 'host_phase_2', '2026-02-11 17:36:00.471155+00', 'c753ac9c340e51e19c81cbf10e9fed41d2a0796c27451e06ac79d948060a4022', '1101008896', '87', NULL, NULL), +('3f5a51e6-9c2b-448f-b95e-8080bc11572b', 'oxide-rot-1-selfsigned-staging-devel', '1.0.36', 'psc_rot_image_b', '2025-10-10 16:09:24.468888+00', '1177097287f96970594683411712b0eb799920910c116a63daa764638d2f880e', '1639108', '6', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1-selfsigned'), +('3f95e940-94bc-4a4f-bc21-be4cfe926518', 'host', '17.0.0-0.ci+git529ba64ee28', 'cosmo_host_phase_1', '2025-10-10 21:18:53.48403+00', 'db395d400ece282ddbecd1b0c1bb872550c359a0c0dcb2de920c1bab8611c733', '33554432', '7', NULL, NULL), +('3fa733c2-7ead-4c58-8524-d2640cdfc9d0', 'cockroachdb', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780085+00', 'af797c32a495bf022f92e281da49d56dc6111787198076cf35ae2ef21965c62b', '164654719', '165', NULL, NULL), +('40305849-df52-4d3e-9c8a-f6368e6d9034', 'clickhouse', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719341+00', '3decc0cdc4b5a1c7245bfff4c9ce40c4e26acedaa7f03ffeb013ddb19d02a52a', '323763885', '5', NULL, NULL), +('4078e9ac-e013-4466-8ac9-2a0670660329', 'installinator_document', '17.0.0-0.ci+gita3bf7ea02ce', 'installinator_document', '2025-10-18 03:21:57.757212+00', '2b95ce2b9ca9f36ca4608a13182ca9bc9aae3af02fb2db5f7dcb09b19b62d002', '383', '11', NULL, NULL), +('40c9261c-9fc2-4c20-9738-676dcef9bdd0', 'psc-b', '1.0.58', 'psc_sp', '2026-01-28 21:07:59.478035+00', 'e5aafb8910ec158e88bcfea15104eb690214b512692413ce0abb2592401f106d', '4131512', '67', NULL, 'psc-b'), +('410a4b24-4b65-41eb-870b-96f389b0a08f', 'oximeter', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051906+00', '75f2771a95364400463e811fb26dd5c9fffebd82ce9346ceaafffa6d59610e29', '58801789', '105', NULL, NULL), +('4126aad8-9c71-4f44-abd5-38e10f37782a', 'gimlet-f', '1.0.52', 'gimlet_sp', '2025-12-02 01:51:35.116875+00', 'ad800a594187b5e27773840ef0d4c19afd04fd3ecd7caa73c37b2ad33a87f5be', '5394769', '45', NULL, 'gimlet-f'), +('414a75d2-c1b2-4857-8321-d7071a2ae1a8', 'crucible-zone', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112987+00', '7241602c81a67f82e810cd8838635a57b8f77c30128e7c70ea6fb4ad2570c692', '57012683', '75', NULL, NULL), +('4158edb0-39fe-46a9-9083-80d226ee00b4', 'crucible-pantry-zone', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332949+00', 'b3d7d89f3a160a5298ea098cb6e0a0db0a7eccdb9fdf4b55f63f503d85c41cc6', '41459011', '119', NULL, NULL), +('41632c08-ea62-4c70-b0d7-9cc9366f5e4d', 'clickhouse_server', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507506+00', '04258dba00a3cf61a858ed8729ac288a9d04e5ecb93a5721dcb1e4b0d88cf132', '327694858', '9', NULL, NULL), +('4171c63d-8ab8-4678-a88f-b8771d727f45', 'nexus', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604857+00', 'f125f208f1d66295506fe545e98c95474a8f7982fcbb29069e12a7716b725dbe', '223569102', '131', NULL, NULL), +('419854f7-b1e3-4c27-bc36-756b7ab0ce8b', 'host', '18.0.0-0.ci+gita728a7f63fa', 'host_phase_2', '2026-02-11 03:50:43.963931+00', 'f6aa7e479c69e250bdd089f3054fb973eff94712a9d30e8ae1d6e8576f1e6229', '1101008896', '85', NULL, NULL), +('41c7491b-dd15-48ed-952d-ae065c3d44da', 'clickhouse', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652465+00', 'ebf4b87a1edb7837f28a674944d4e93d99d0835f5f68440bf95d10eba25312e5', '327185519', '91', NULL, NULL), +('421c9d32-1538-46cf-9e42-9ec2bdecb821', 'host', '17.0.0-0.ci+git6510e87da6a', 'host_phase_2', '2025-10-27 20:48:21.415155+00', '1faa9314a112c99f500beccbb05a8dee3347a45a3c530844549770c582ccd774', '1048580096', '25', NULL, NULL), +('42207643-057f-4011-b4f2-0e711e91a434', 'internal-dns', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.00852+00', '3a6060b6ffcd7adee8cedaaedec635fb400944e00c604cd1d0fe3abfee1e410c', '52066956', '15', NULL, NULL), +('42298d85-5cda-48a0-9c04-4faea8f9df7e', 'gimlet-b', '1.0.63', 'gimlet_sp', '2026-03-06 17:26:46.282129+00', 'a49324a7613553cb4a9e336cecb5e16c3c1bba6a3e90554af958d1cb867f78cf', '5467211', '107', NULL, 'gimlet-b'), +('424aa722-a174-45ae-b0f4-9556a395769a', 'host', '17.0.0-0.ci+git8c683c74af9', 'cosmo_host_phase_1', '2025-10-10 16:09:24.468875+00', 'f6e4c22e63a930f1150767ee96354d823bd111ccd6aa86486d868607ff73e5aa', '33554432', '6', NULL, NULL), +('426cb3ec-17ce-497b-bc5a-3584af6b327f', 'gimlet-b', '1.0.53', 'gimlet_sp', '2025-12-08 23:28:06.26074+00', 'b101960eebe133e13965206dffe0e0cd8e59b87feb97d64ec46bdb748aa11227', '5395543', '47', NULL, 'gimlet-b'), +('42a31098-4f16-4ea8-a1b2-a0ce6a5524fc', 'internal-dns', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116904+00', '0f48c4c5e6d7ec7f2afd91975a68fcc8ba6e49d789e0999a38aa9eecb0771c08', '52445012', '45', NULL, NULL), +('42ae42a3-afa9-4d30-ad1a-355b73f44742', 'psc-c', '1.71.1', 'psc_sp', '2026-06-18 21:11:25.44193+00', '29466128b8d8e80fd053acfbf3efc6442435ac00e8c2ccc51f080264f203437c', '4158884', '155', NULL, 'psc-c'), +('42b7e152-b70d-4cd4-b51a-d2d144d02f95', 'cockroachdb', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652466+00', '87b860503907ab201e0eaf0e474ad0afdf12b240e967fc6eb0a79b3adef6b241', '169070040', '91', NULL, NULL), +('432614a9-06b5-409d-a03e-6ecc9e01988c', 'trampoline', '19.4.0-0.ci+gitbae719a3bdb', 'trampoline_phase_2', '2026-05-13 14:19:55.594066+00', '06f4c5c78c34990f3a505727bc42c573e13aeeb252bf12fe0643bde8f99da376', '146227867', '137', NULL, NULL), +('432f31ec-b3ed-45a9-81af-496842751791', 'oximeter', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.99867+00', '85c00affa446979c3cf23294f1091ef9f9729eed9fd335ce329afc014c8a047e', '69443855', '71', NULL, NULL), +('434ceae7-67f2-4dc4-a114-481e83b3e61e', 'host', '18.0.0-0.ci+git8ae817f7284', 'cosmo_host_phase_1', '2026-01-08 19:36:53.913088+00', '969c980d4345c1c7404d693ee862ff5f42a69f6dad795dd9ad98caaecec33515', '33554432', '57', NULL, NULL), +('438811c0-782d-4898-b1c1-b8d12933fd84', 'crucible-pantry-zone', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659117+00', 'd4c401ab56a0a81f6bf0cb0a314d656e17ee0416ce46c2fd378ca51a3d929390', '41593576', '143', NULL, NULL), +('438ec32c-93f7-4a27-a5d6-08dd5ad907de', 'external-dns', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078613+00', '3e2073e02c4fc34d14b4ee1a5a3ec6e970d8a206aca6f3e0de803d4e365aecca', '54816949', '55', NULL, NULL), +('439566d3-4fcf-4a52-a558-6c1c0fd0f5b2', 'host', '17.0.0-0.ci+gita3bf7ea02ce', 'host_phase_2', '2025-10-18 03:21:57.757191+00', '5bab8e8721b1329d0dd6cd15e0867969ef422654a6b109cddf52607c4f113187', '1048580096', '11', NULL, NULL), +('43cb1a61-3a19-49fb-950c-9734582b3392', 'internal-dns', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576566+00', 'b458b642f37b31d4953a1733fc96df7092b26b95f206e8adc8cec9f82a44133f', '52276250', '43', NULL, NULL), +('43e9e835-3a26-4e29-8b0c-3c75895676c3', 'sidecar-d', '1.0.48', 'switch_sp', '2025-10-08 19:59:10.483216+00', '718366aa02ff729de2d8747d6eb3f04908804083dcedd4a9a39ef0ae8f8791a0', '6851350', '2', NULL, 'sidecar-d'), +('43f7e74c-2436-4cfe-8bce-f287f497fa3e', 'cosmo-b', '1.0.64', 'gimlet_sp', '2026-03-11 23:14:48.431916+00', '50c344385cc2bdcdbbb8a9e966e2d4340a25432b5d4295b18e7f3b7002ac6a21', '6616872', '109', NULL, 'cosmo-b'), +('44043113-bd0a-4ef8-950e-a52a3cf1e28a', 'trampoline', '18.0.0-0.ci+git99c3f3ef97f', 'trampoline_phase_2', '2025-12-13 01:01:07.046696+00', '615b208f7488b1f412263b7cc388f2445487d201121c14ad3d41be5c57451a42', '153218178', '51', NULL, NULL), +('4428eb65-306a-4e0f-8473-ed45ba99405b', 'oxide-rot-1-production-release-cosmo', '1.0.38', 'gimlet_rot_image_a', '2025-10-08 19:59:10.483184+00', '3027a2a8090e6c107e3cf19938bc93319f37c70f6995650c60eea9fd076c9c65', '1575107', '2', 'f62eb434dd27302521d12958a7c3c18c69f6e0239361654f0a09e5cc554e0fab', 'oxide-rot-1'), +('444dda87-96d5-4c2f-a3f8-2b4bcaf461a4', 'external-dns', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884113+00', '48335ec77811d26882cbea444592f40c013cd77b05bcc3eb3262e541d497d2cc', '44650420', '113', NULL, NULL), +('445fc597-472d-4525-82dd-d39c6ab405d5', 'probe', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.11299+00', 'bc8ec66ddd2f5517648315a291d59be8c1f2339ccdbebd04135346db9d5576f2', '3109590', '75', NULL, NULL), +('44a20cf2-29e4-43e8-b0f9-202d9fb46e96', 'host', '19.2.0-0.ci+gite4b75dde134', 'host_phase_2', '2026-04-21 23:08:35.310187+00', '9ef2303694dac488ac6e473961133eb34a187d7dd42c04eae3ffe6b376f5b24b', '1101008896', '133', NULL, NULL), +('4506383f-41cf-4d31-bb28-e7cbd0f46697', 'crucible-pantry-zone', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710741+00', '43f9abd67794be6f6723d6669bb4d016e75306dd6d92c6f1b2eabccf7c532588', '44729436', '29', NULL, NULL), +('4517822e-7eb1-4d4a-b578-8d47d22b39da', 'clickhouse_keeper', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063849+00', '8ca8f8161891006a582efa3296458665d3bcf048393a74692cc2146a18f3697b', '306858070', '35', NULL, NULL), +('4543666c-26fb-418d-b09e-29a29ed8e6cc', 'cockroachdb', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608567+00', 'd49ba7d926655092a05e4b4becc64d0e5c98076316b71799817fd0db4917c1e4', '169642817', '129', NULL, NULL), +('457e4dbe-fe67-4124-a545-ddb571d08ac2', 'probe', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484042+00', 'd489f19fad5d9e1181d8e12941dac507674d7b5f777306347041f164c34ed3ac', '3109590', '7', NULL, NULL), +('4581ac3e-1e4f-450f-88c2-fb2de3923d28', 'ntp', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995243+00', '3c1038f05fe457e2b462de901ba4b6161dfc6800b447cd125d14d123886c20c1', '34172813', '39', NULL, NULL), +('45a42ad3-e7e0-452a-b755-ff250dd87edf', 'cockroachdb', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.31019+00', '30431c63a59ca6f9810e6bd6463369680e2d6f60a8e3cb98f3d1330f99cef653', '169639512', '133', NULL, NULL), +('45ba9da0-4b89-4d08-8f87-ad5b7ea5ad7b', 'probe', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250494+00', '8d39d0ce3b4689e34b3f5c29ba074742de977da3162b11d9a7aba091134a9229', '3109592', '157', NULL, NULL), +('45ec584b-ab10-458b-8486-135d31da3a5b', 'trampoline', '18.0.0-0.ci+git360801b804e', 'gimlet_trampoline_phase_1', '2026-02-05 12:45:07.112982+00', '7a5fbed218d7447a8ffe6b2d3820df90ccd1e176b6518fe4d7066caa567d91d4', '33554432', '75', NULL, NULL), +('460e6bf2-f8c7-414d-9dc5-6702ec07edde', 'trampoline', '18.0.0-0.ci+git17cf00dbf0a', 'gimlet_trampoline_phase_1', '2026-01-31 18:37:09.50716+00', '7a1749470cfd47ff7efc16b4a5bf5f59eb6a6f3bf49e955a715f939512db128f', '33554432', '69', NULL, NULL), +('4634ef63-94aa-401e-bc22-0d93ccc10bec', 'clickhouse_keeper', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112985+00', 'd1b9d8795e7e20e4f727324dc0cd21ee3630830cb5d0ab5835b783d2051a6e60', '309742584', '75', NULL, NULL), +('46494a55-f2fa-448f-bc21-dd42ec61b71e', 'clickhouse_keeper', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780082+00', '5bfd247beb2c17f77def33ead559dfdaad71dd4ece0a938e5415ff827e014087', '301610415', '165', NULL, NULL), +('465e60d6-d278-47db-9d67-27779ad96fd6', 'clickhouse_server', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576564+00', '9335f972ddbcc90b55b59b771508cac4f9bc01bc53e3ae09043f7139e91a1009', '323568523', '43', NULL, NULL), +('46cae9e4-3a53-4cd0-8c35-1a41a6aea045', 'internal-dns', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260759+00', '1aa921c528900eebf519a3c4f85983006089df8f7b04c44e25fa277cb5a272ce', '54791025', '47', NULL, NULL), +('46db4bd5-ce2f-4450-aab3-7fb29bfd48ba', 'cockroachdb', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004239+00', '314d1a0e83aaca8125e85dbb255eb5f1a075db72916dd87e95aca91fff82ec0b', '170129649', '147', NULL, NULL), +('46de903d-1d4d-4491-a84e-60082a25d01c', 'host', '18.0.0-0.ci+git1c0f2b3c24c', 'gimlet_host_phase_1', '2026-01-28 21:07:59.478024+00', 'f27ec19cef03d5558a0e5b1644c1778817e424aa4b31e3bea07e7e6c2a8802d6', '33554432', '67', NULL, NULL), +('46e13d4c-081d-4e9c-817d-c4bf7fa800eb', 'oximeter', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332952+00', '34fbc612d97f5fe2cf8a3d5203a25d7543a81a9be061e7179295d34ee47d8346', '61232855', '119', NULL, NULL), +('4714bc2c-1696-428b-a030-002df581fabf', 'cosmo-a', '1.0.64', 'gimlet_sp', '2026-03-11 23:14:48.431915+00', '3c3f8e5a8d460de9bb22a4717c50874b1f398fe13465db0f19de8b8d3a1cbc53', '6616642', '109', NULL, 'cosmo-a'), +('47364095-28f4-4cd6-b734-1614e5365e2e', 'trampoline', '18.0.0-0.ci+git92e0ae0c98d', 'gimlet_trampoline_phase_1', '2026-01-27 04:57:02.494826+00', '289aa6f1de851cffb25e7d7492c1fb7d23ccdcc6c41c9a818f0d3812c0554c14', '33554432', '65', NULL, NULL), +('47d37f81-cfb6-4c72-945e-01c50b50feb9', 'trampoline', '19.1.0-0.ci+gitc7312331b08', 'gimlet_trampoline_phase_1', '2026-04-14 19:37:47.604848+00', '23876cf19c41045158c314b5ac294f1bc28683236e131a014a1c2ee4361e3e87', '33554432', '131', NULL, NULL), +('480edf65-ca75-4ac2-8fbe-5a5b25e0fccd', 'installinator_document', '18.0.0-0.ci+git56926cd1982', 'installinator_document', '2026-02-12 20:54:58.190095+00', '1c2a7f2f4597eb981e25b0e5cdbaff4355da4193f313b772fec21dd40460e733', '924', '89', NULL, NULL), +('48284efb-5368-40dd-ae38-0a627304fd01', 'host', '20.0.0-0.ci+git4bb727667c9', 'host_phase_2', '2026-06-08 18:04:19.004236+00', '8395e4790cd02d4febc2c1111594842761e603823ccac572c21d1f722d24c45c', '1101008896', '147', NULL, NULL), +('48345cd3-6247-42f1-9318-686bf558a800', 'ntp', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719345+00', '91485490e99bb19d358dd2a0dae4805b43b7349f11d97a0786bb6dabe872b222', '34039634', '5', NULL, NULL), +('483967dc-2c59-4974-9f11-08dad979bcec', 'external-dns', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051903+00', '4465f55fe87e77ffc30fc2ee5b556f79ba232c5072efa1996beac630ff453d60', '42544174', '105', NULL, NULL), +('483c0bdd-8742-46e6-be49-fd976f2ce589', 'cockroachdb', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181275+00', '5aa88aab7fdce13a7d1a03efb8ae2a4a3de92722eb181ebddd8ea2f54e60327b', '172297914', '49', NULL, NULL), +('48413c1c-4b23-4536-ab3a-fba04a92496c', 'oxide-rot-1-staging-devel-gimlet', '1.0.38', 'gimlet_rot_image_b', '2025-10-08 19:59:10.483173+00', 'ca76f931699d50646bbbc21b991f41cf6d72dd6950a93be7d94d462ef6debaf7', '1574970', '2', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1'), +('484dad23-3827-4731-892a-2ef60f9a07fb', 'crucible-pantry-zone', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995239+00', '728fc8c6e8624f844ecf25907b01f4ca5a90a66dd40d21ef8babb44572485e5a', '44790535', '39', NULL, NULL), +('4852ec4d-a64f-424d-8490-d82081d8ecfe', 'trampoline', '18.0.0-0.ci+git5eb13372380', 'gimlet_trampoline_phase_1', '2026-01-22 00:31:09.68431+00', '7b97c776f189dc48a9be33b74114ccd16cbc93f74d25f0d9304932da381cbb18', '33554432', '63', NULL, NULL), +('489fc9b8-e8c0-4657-8f36-91213ac6bfa6', 'clickhouse_keeper', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712722+00', 'a8af2e18aba2f4109a9f09161a82cddf70a7817c1a15e4a03c2b07566b104362', '309291706', '33', NULL, NULL), +('48bedaec-6831-4335-a0c2-76e05b20b0b6', 'psc-b', '1.0.49', 'psc_sp', '2025-10-31 23:54:18.712728+00', 'b896280207e1d19ff4429fb4676921ebeb9e88d6184c07ebe73a1f6d3dcc0a92', '4058311', '33', NULL, 'psc-b'), +('48d2da07-5ea9-4abe-bcd1-5a04ecc018fa', 'trampoline', '17.0.0-0.ci+git495eab19cfc', 'cosmo_trampoline_phase_1', '2025-10-31 23:54:18.712721+00', '1aef36902bdaa02d66e0e9f16ce574b400acb313fa366291a16b8a085afc252e', '33554432', '33', NULL, NULL), +('48d352ef-d7c5-4e94-8e58-4e10441bc81b', 'trampoline', '20.1.0-0.ci+git1dc05d502fe', 'gimlet_trampoline_phase_1', '2026-06-19 01:29:50.250483+00', 'a611f66e88c08feae690c1e6ffdcabcb07f50aa1172216d9d92a24a005db3b2f', '33554432', '157', NULL, NULL), +('49037c20-ed12-4572-896e-f323352e5661', 'staging-corim-all-sp-v1.0.62', '1.0.62', 'measurement_corpus', '2026-02-23 20:10:41.273+00', 'd5e00be00aa1c24195355ee30fbe484670dc4af02c7f2b943eaa585a9f8bb199', '829', '101', NULL, NULL), +('490a3c58-fbd4-4abc-9253-33ecd7581e00', 'host', '19.0.0-0.ci+git42726ecbb1b', 'host_phase_2', '2026-04-08 00:24:54.576978+00', '8b11742d450bb06d8f0c52268b53737a619c44a6dc4e2de41602d183d32c0ab8', '1101008896', '125', NULL, NULL), +('491b2c15-5504-430d-a13e-be96bd6e1bdc', 'gimlet-f', '1.71.1', 'gimlet_sp', '2026-06-18 21:11:25.4419+00', '446385c154207eaecccb07be0f256bc5376a8beea490febb6836ee779870aceb', '5556707', '155', NULL, 'gimlet-f'), +('4956655a-4967-471f-b5dd-50caf766e0b9', 'clickhouse_keeper', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046697+00', 'b4524b89f1e5db45e8f18b2871dc3c759fa6c3a6c1685bee00704be896a2270d', '311224912', '51', NULL, NULL), +('496c4a91-ba7f-4c9c-81e7-71fb694f6ac2', 'clickhouse', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.43194+00', '9fea2d6f4a1bfd9fdc746e5533c71249f29bd2475192e8f8fbdf5dc9a6169fe1', '309816466', '109', NULL, NULL), +('497d0917-90f2-45c4-9565-90de0aa63b59', 'trampoline', '19.4.0-0.ci+gitbae719a3bdb', 'gimlet_trampoline_phase_1', '2026-05-13 14:19:55.594065+00', 'e0a349a3a67e34c85c7a2cebcd4c3b0da3df132b4c3d79e71e626e969c1e79bb', '33554432', '137', NULL, NULL), +('4a078615-5f3c-4ca2-8164-74bf2f09b77b', 'trampoline', '17.0.0-0.ci+gitaf3b89ffce6', 'cosmo_trampoline_phase_1', '2025-10-23 06:08:33.419119+00', 'ca626baec571a4565be509e2dd27fd23602159f2682e8051bfbd26713c0af42c', '33554432', '21', NULL, NULL), +('4a50a293-b448-423e-95d3-5725e13c5390', 'host', '19.0.0-0.ci+git6409f6a4bd2', 'cosmo_host_phase_1', '2026-03-12 18:43:41.837883+00', '60de8836c683e7d402db25efa2a6b57d608b5c3939161ed292c542ebde26c7f7', '33554432', '111', NULL, NULL), +('4a533ee1-ea37-43db-b8db-cd863eca6280', 'clickhouse_server', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638798+00', '52ac08752e6bc023c62890b2ec7a8232371f51e0c7cca3b5698bd8c1466b91be', '327710541', '13', NULL, NULL), +('4a57ed39-8aa0-4ce9-b8fb-5587ab4489f7', 'gimlet-e', '1.0.71', 'gimlet_sp', '2026-05-27 02:26:01.196592+00', '23c346d5bcf9c677f5aa4d4c0c859751f8b11c2b28394b62b0f900ab0b918058', '5555711', '141', NULL, 'gimlet-e'), +('4a6cf6a6-fa4e-4369-a646-875f4df2866d', 'trampoline', '20.0.0-0.ci+gita3fee0ec59c', 'cosmo_trampoline_phase_1', '2026-06-10 13:51:51.899226+00', 'db5b9b76b8186ec515d1825a9a8b1271c63d7914188bae72abb23b5a35ee6c7d', '33554432', '151', NULL, NULL), +('4a8f70f0-e203-4c02-98df-353824f59c40', 'host', '21.0.0-0.local+git04909b7e827', 'host_phase_2', '2026-07-02 17:06:15.780079+00', 'b6007268c7833781e6d984af1cf16d722c2a365d0b540cf1b4efa6169b8512a2', '1101008896', '165', NULL, NULL), +('4a923d32-4d09-4f86-ba46-5267ddf6691e', 'host', '18.0.0-0.ci+git1c0f2b3c24c', 'cosmo_host_phase_1', '2026-01-28 21:07:59.478025+00', '07639f3410459caa4c8b0693f6d8f98408834dffc3a3c5100e6c823458f5d1c2', '33554432', '67', NULL, NULL), +('4a9b2011-d53f-4027-8906-fa667c84e4e6', 'host', '18.0.0-0.ci+gita728a7f63fa', 'cosmo_host_phase_1', '2026-02-11 03:50:43.96393+00', 'e57fc275f63160656bf6efbc2bfd38333bfb1ef0ed34da7f89159a64b6b55f42', '33554432', '85', NULL, NULL), +('4ab2dff5-aa82-4163-9c0a-25197551d859', 'oximeter', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063854+00', '2d916fc38f4814685b486a52951d72dd9895433d010dfc008951682e2628527a', '65186917', '35', NULL, NULL), +('4ab5fa2d-4321-4c46-93fd-6b6903de003a', 'psc-c', '1.0.56', 'psc_sp', '2026-01-14 23:13:54.091151+00', 'f63d2a591df5de7ef1073c94aa3e746447ca2a083a6021e8dbfd430e563b6635', '4072976', '59', NULL, 'psc-c'), +('4ac88579-430e-47e6-bef9-73972ad21524', 'host', '18.1.0-0.ci+git550f05cd523', 'cosmo_host_phase_1', '2026-02-19 21:32:58.918393+00', '7cc1a00adf3277b62fa4023e5e771e526ec776068a1f900406b6983b9c062182', '33554432', '99', NULL, NULL), +('4addfccb-55e4-4971-b047-3c8a6acff779', 'crucible-zone', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329508+00', 'b8929f176b44085572653f1fb32aa023abcc80ab12dc271dcc338aee9797d12b', '60153197', '73', NULL, NULL), +('4aea4390-dfe5-4c95-8d25-e1dc0e1bf6e7', 'crucible-pantry-zone', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190078+00', 'bc47cecc4242428ebaaee35e556d41217eb751afaec38bd6f36c2e65681f1a61', '42537495', '89', NULL, NULL), +('4afa12d1-5baf-4a3b-9d4c-c966cb294946', 'clickhouse', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205391+00', 'a14711585ab2f87fe9fc5cd999efc249f9e099aaddc0529720dd63d7353ed750', '325877501', '19', NULL, NULL), +('4b0cc57e-08ce-4600-96d9-62210d32a121', 'oxide-rot-1-staging-devel-cosmo', '1.0.38', 'gimlet_rot_image_b', '2025-10-08 19:59:10.483175+00', '4ff67dc8de2f937401560c5d13dbcf9b83cbef555be2555581db58083bfaf3c8', '1575039', '2', '855a51518d13dd696a8102a5b2436bb2e8c39a6c0102909fce0a32adc6b76fb4', 'oxide-rot-1'), +('4b24446a-b4ee-41ea-88c5-f35d2a18dd5d', 'clickhouse_server', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780083+00', 'f29abf3f4ea20b89614f0c8b1baef158320734379470f2cd43de349ab1e6405e', '315438018', '165', NULL, NULL), +('4b2dcf01-e377-4219-969e-bc89e3aae863', 'host', '18.0.0-0.ci+gita728a7f63fa', 'gimlet_host_phase_1', '2026-02-11 03:50:43.963929+00', 'fdfff1107a28999c1dab27687e4d70398a587a393cb86630c404c29843e7d1f5', '33554432', '85', NULL, NULL), +('4b8ff882-2b12-4cae-a0ae-e963c5d331d4', 'nexus', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449917+00', '4a46aec7a5aa90a1e06e0920fbe51aecd08fae9acc111bc8345ced5219f99737', '194175546', '41', NULL, NULL), +('4b9f51ef-3579-47e6-80cf-50244d6af6eb', 'psc-b', '1.0.54', 'psc_sp', '2025-12-12 20:45:24.181282+00', 'a3353418b00f54b12c324f3a78b54af86c7d5b0f70022b9fbafd54e307865af3', '4063253', '49', NULL, 'psc-b'), +('4bc59e88-303e-4302-ab1b-d40883e9a9a6', 'oximeter', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751862+00', '1fc12bd0535f775a735933f5f56d504765a93282bdbbe6422d9fd5b269bfb0ae', '70151455', '127', NULL, NULL), +('4c28d0ad-203a-4b6d-b086-7026be7c3b6f', 'probe', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415162+00', 'a25468b68c4d390e75da265666932f674cc6680588e28d9e1635cf977d3f07ec', '3109590', '25', NULL, NULL), +('4c4863fe-9d1d-421b-996c-5b97dee79870', 'trampoline', '18.0.0-0.ci+git1c0f2b3c24c', 'gimlet_trampoline_phase_1', '2026-01-28 21:07:59.478026+00', 'b39aa407ec2224d14f8b2a9c1640908b995d4338983e1fad6b9e11e12cd11051', '33554432', '67', NULL, NULL), +('4c4b8f09-81c1-4ba2-8e05-3ac12278f432', 'trampoline', '21.0.0-0.local+git04909b7e827', 'trampoline_phase_2', '2026-07-02 17:06:15.780082+00', '084a0a425d5f9029bc9dfb6423181e237c0699af22ad76e2494b2d6afb33f7e1', '164856340', '165', NULL, NULL), +('4c645f7a-3799-44b8-8539-f4ed4e969a19', 'nexus', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040702+00', 'fc931a52a5b4dc7410aa2fdad7acd62f6183e0f9bb4a41006ed5eeb656126669', '283513756', '145', NULL, NULL), +('4c8183ac-1b49-4c9f-a714-8aab34a69a8b', 'trampoline', '18.0.0-0.ci+git360801b804e', 'cosmo_trampoline_phase_1', '2026-02-05 12:45:07.112983+00', '8f3619fdcf2967bbe4cd41279430d57bd2d9421ba7577f2f3e261a5117c4848b', '33554432', '75', NULL, NULL), +('4c83edd1-abe1-400e-8fce-f3b247adb959', 'trampoline', '19.0.0-0.ci+git9dd23096de9', 'trampoline_phase_2', '2026-03-06 17:26:46.282151+00', 'd5a1585495378f88d0054cf0da53ff7e82f04f940c099e4f082bb79e57e3763a', '148726184', '107', NULL, NULL), +('4c92a11e-6c58-411b-bd37-8c37f8f21d51', 'gimlet-d', '1.0.54', 'gimlet_sp', '2025-12-12 20:45:24.181251+00', 'd3ca17b6613d52c693b1007ff3c5065e3f04687bd67a9508651790fa4c8f2521', '5396756', '49', NULL, 'gimlet-d'), +('4ca35a1f-f2cc-4722-9a8d-2587216e136d', 'probe', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243794+00', 'f5a788105f6ed7c17793357acb90b81696fa68cb0f6670d6a4f66e36ecca82e6', '3109590', '17', NULL, NULL), +('4cb5c7c8-a5a4-44e7-9f2b-0006d7299fd8', 'oximeter', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599298+00', 'f65096c4b4951b35351980058e456ac264f736a56cc9190ed63261ea3e851707', '65833154', '4', NULL, NULL), +('4ce3861e-779e-40c3-bfe4-839fe8c474a6', 'host', '20.1.0-0.ci+gitde1271a3c77', 'gimlet_host_phase_1', '2026-06-26 16:41:54.981004+00', '9e4f68cbcf8f31cdb544d9b60a6c346239ee3a222ab5a1470159a557042c2eed', '33554432', '161', NULL, NULL), +('4d6861e5-3d68-4567-b028-0f7b95de7400', 'cosmo-a', '1.0.58', 'gimlet_sp', '2026-01-28 21:07:59.477938+00', 'e4cce66084f099e6506c99e018ca20491111c622f25249321d293a31b63254e5', '6507436', '67', NULL, 'cosmo-a'), +('4d736c5a-9544-449b-9259-9b4d2ba15afc', 'external-dns', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921053+00', 'c0c5d9219954667616697569f39090090d8102ca0c9983bce0c274e5ba8f051e', '45379949', '121', NULL, NULL), +('4e002b52-6b8d-413b-b6de-7883f25abacb', 'clickhouse_server', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291184+00', '2f52f5a480b5ed8f482bf133b3e58bf2b56164354a98d5664c12b49d73136da1', '329581617', '149', NULL, NULL), +('4e07227a-2cbf-49e6-9d2e-66b88e09289d', 'nexus', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366497+00', '9a40e766d4ca9e3cfbcde3fdad3680ae050becdd5b99b23b0022b6cd81a5d9cf', '281766376', '167', NULL, NULL), +('4e461484-6d4a-411e-9dfc-ad7b8ac5c8d9', 'trampoline', '18.0.0-0.ci+git5eb13372380', 'cosmo_trampoline_phase_1', '2026-01-22 00:31:09.684311+00', '471d4f52be576606521f7bfec45010f20df4822fba1ca73b239a7aac789589f1', '33554432', '63', NULL, NULL), +('4e5449fb-c39a-4df1-9f28-79ca8ae5992f', 'cockroachdb', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090447+00', '002ebc00f3dd1bde6d15058ec8a782be07d3bcbbf5500c379c4dc97b508caca7', '169059576', '77', NULL, NULL), +('4e5c66f1-9558-4526-9d35-8c8f6dcc7b2d', 'host', '17.0.0-0.ci+git27a65080e1b', 'cosmo_host_phase_1', '2025-10-19 00:31:17.638794+00', '1f19bb35ddec4e7e9cd4da4791e442a0bc30d978b51b11abc22f542f57b06f64', '33554432', '13', NULL, NULL), +('4e5eadb2-3d0b-424f-b519-a1ea480341aa', 'host', '18.1.0-0.ci+git550f05cd523', 'gimlet_host_phase_1', '2026-02-19 21:32:58.918392+00', 'd27c0e5b5223b98ad02775a085b61cd2ec9fe9b3c091f6b18ac1f29740deb459', '33554432', '99', NULL, NULL), +('4e8c9fe7-bd6a-4144-9145-aeb756210399', 'trampoline', '18.0.0-0.ci+git4175bf66d6c', 'gimlet_trampoline_phase_1', '2026-01-18 22:34:16.80364+00', 'a9ab42e86e5107e7935b4e1c3e5c0b02bd09c73f08998dd8eb9c485e5f980149', '33554432', '61', NULL, NULL), +('4e9379f2-6e63-49dc-902c-83f1f66aee53', 'clickhouse_server', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038682+00', 'e789dbe6c6dec99350e7930ea694645a2115be88e6a49f0bc25d55e1a476b04b', '316986442', '117', NULL, NULL), +('4ea0c26e-8c43-46fb-aa5a-32ce99af1c6f', 'clickhouse_server', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449914+00', '24bb327d49665b859c93268e2b2cbb82ef8d0c36c96f766c412163b5288b3a4d', '323568523', '41', NULL, NULL), +('4eb48dc5-9c51-4159-b8a1-c5c78a8ca686', 'oxide-rot-1-selfsigned-staging-devel', '1.0.36', 'gimlet_rot_image_b', '2025-10-10 16:09:24.46887+00', '35a49fc37ae878ed83f712311e7d0fdc2dd5beaca847090db89b21ee889b09bf', '1639063', '6', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1-selfsigned'), +('4ebbfb5e-9916-4b0e-8594-1112cc60c319', 'trampoline', '17.0.0-0.ci+gitb8efb9a08b3', 'gimlet_trampoline_phase_1', '2025-10-08 20:35:41.742764+00', 'b7af1caaffde070d07bcaa1062b5653634cc7b5a4b4aa0df5e0801447a48f88e', '33554432', '3', NULL, NULL), +('4ef1a675-2aa8-4304-bf35-a282387891ec', 'host', '17.0.0-0.ci+git56225535f8e', 'host_phase_2', '2025-10-29 18:02:18.899349+00', '70744601bfc0e15e9ead699d8f932bbea4424858573e97594ce9540c197e6af7', '1048580096', '27', NULL, NULL), +('4f10a09f-2047-4ec5-be0c-84aa74e0c7fa', 'external-dns', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899232+00', '6f8830fc97b5d9b2c2fe34664445afe6b07d2a5de3cc7466961bc0c4da144b63', '52496364', '151', NULL, NULL), +('4f1a088c-4b9b-4f9b-bb9f-93f95cf364a1', 'trampoline', '17.0.0-0.ci+git7bc5275729c', 'cosmo_trampoline_phase_1', '2025-10-24 17:56:14.140749+00', '424253cbba28331feef8c8a0686456fe20fd5d828738836f974a7452f4a649d8', '33554432', '23', NULL, NULL), +('4f5cdd1c-cc78-48b8-9114-1440eef4b62f', 'external-dns', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116903+00', '6fd937dd3925657d0df82871996be9519e6a1c0ffbc158ae5993b454e8cf3811', '52445413', '45', NULL, NULL), +('4f6c6123-975e-44b8-a0be-f7622398c9bc', 'nexus', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120345+00', '35b8e29818ecc41e1609c5a07b6805cdc15cffcd470f7ffdc4f6dbc08734c751', '216229946', '95', NULL, NULL), +('4f8057f7-7ba8-48ce-a3e7-6405318407fd', 'host', '19.0.0-0.ci+gitd3ef1db023b', 'cosmo_host_phase_1', '2026-02-23 20:10:41.272991+00', '43f79259ce403a6db09626a7d353d1acbfc777d5843480645c3668d235766478', '33554432', '101', NULL, NULL), +('4fed272b-9ed3-4e75-9b45-20b32554e71f', 'host', '18.0.0-0.ci+git8ae817f7284', 'gimlet_host_phase_1', '2026-01-08 19:36:53.913087+00', '2db76ffb951f03e477692be82890427c0d8b66b602ed2040fe17a8e149208748', '33554432', '57', NULL, NULL), +('50103c06-e3ef-4054-902f-65f0208deb08', 'crucible-pantry-zone', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941524+00', 'ba8f127042af67539df31f741b52c108b23e718d99ccca07814c2e9bef6f9023', '42114925', '153', NULL, NULL), +('507cbcdb-7f08-415c-9317-b43d4ebec9c7', 'trampoline', '19.3.0-0.ci+gitd4a126e8cc3', 'trampoline_phase_2', '2026-05-05 23:41:07.356075+00', '1ac1efb67923d08edb8911ca41e37e18d0f1db5d7e5e8973fe83f97a3d87a7f0', '146278836', '135', NULL, NULL), +('5097d0b7-3477-4147-9295-57f85f9dbdc8', 'external-dns', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260759+00', '045e628628af5a365588e1ef5daf7e732a64bc9488bce04be7705f8d6504f9d0', '54791425', '47', NULL, NULL), +('5099af41-59ee-4e41-94a2-24614ed8695c', 'probe', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.65912+00', 'f0eb252a48ebf9e80fcebde66511368ae8b5c5fdbd62f1ff02d8208cdb33551e', '3109592', '143', NULL, NULL), +('50bbcfdf-77af-4fe3-88cc-e30637f8583e', 'cockroachdb', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998667+00', '49e079239ffe63de1faa8759cb9dbd285975109429e67d5d0fc246cf053deda0', '172012860', '71', NULL, NULL), +('50c304ee-5b11-4470-ab3d-3204113c3dc9', 'gimlet-d', '1.0.57', 'gimlet_sp', '2026-01-22 00:31:09.684291+00', '908d95c56966699bd7c245e1f3f8f1ecffd3f2521e025196b42b473b607f0789', '5476345', '63', NULL, 'gimlet-d'), +('50ce75ec-f820-4e03-861f-c57a07d735a0', 'probe', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762667+00', 'c466b59679e55872bd0f10e0877d5af9265ced241db8d1f40352a8d60c96c942', '3109592', '163', NULL, NULL), +('511dcd8b-2515-4141-81ed-333974b5f2f5', 'cockroachdb', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356077+00', 'f95afffba5a4788c045bac63e1f7047a9651a5defe3da929db508d36103fb8c9', '169639512', '135', NULL, NULL), +('5123d292-e08d-484b-9375-c5f648e22fa8', 'host', '17.0.0-0.ci+git2a1d8548932', 'gimlet_host_phase_1', '2025-10-22 17:38:18.243785+00', '1897f7dd0eee3cdfdba4c1e7d1deb6450fdb4344ad34eb3aa44d22d121553823', '33554432', '17', NULL, NULL), +('5125b62d-0eaa-4fef-aa07-11225e751b52', 'clickhouse', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038683+00', '4efe711368bd1024203ff7d3018ddac89a992841b75afb050b27cf7588b10185', '316987610', '117', NULL, NULL), +('5129b674-1966-4854-b069-171908fdea6f', 'external-dns', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998668+00', 'a7c666d0b3b73203797b6aa780c15becd1665866e05433971edc694fb6b37f6e', '54863762', '71', NULL, NULL), +('517029d7-7567-4235-8a03-6b2c84283e07', 'trampoline', '17.0.0-0.ci+git6510e87da6a', 'trampoline_phase_2', '2025-10-27 20:48:21.415157+00', '8fd8d83a759f7711afb6d1391e9879dc65925f8496cfabd7f7c85c3b8a9972a0', '152442813', '25', NULL, NULL), +('51a9f59d-f353-4881-8f35-4d9f4277a04e', 'nexus', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921054+00', '6aca42f9c07991da1a534a22a2b9240f9a63a82f5a91cd80444b8d0ed62273d2', '219886320', '121', NULL, NULL), +('51acd1ae-71a1-435a-ada0-c566f250a34f', 'trampoline', '18.0.0-0.ci+git078382f5d9c', 'cosmo_trampoline_phase_1', '2025-12-08 23:28:06.260755+00', 'c01d368c4f8b1ea64f0c6963ef6e83d32a34f280716ceee01f94c947c3493f76', '33554432', '47', NULL, NULL), +('51c07bb8-1f36-4f82-ae1d-7f00102185e5', 'installinator_document', '17.0.0-0.ci+gitcf97c145a6e', 'installinator_document', '2025-10-30 05:14:08.663995+00', 'e0857a6445c9070d89f5c1f93a582a5c572b26c0027580e1e37071373e0cb449', '383', '31', NULL, NULL), +('51eff906-3025-434c-8735-3cc5f1a23463', 'nexus', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751861+00', '5bdc732ffab4958d2437a1ee439aaa8525dc5b6775980576f31b04479774bd69', '224520732', '127', NULL, NULL), +('51fda46e-8bab-4752-bcb0-3c37bc091f87', 'trampoline', '18.0.0-0.ci+gitd211c40e1e5', 'cosmo_trampoline_phase_1', '2026-02-19 03:44:06.271934+00', 'e5d8b15963fa2a97f3ef210a1ce018985feb29ef7622d5c174e2f7765749dce4', '33554432', '97', NULL, NULL), +('520cac0c-6aa8-4c4e-af26-41c590f1ad99', 'oximeter', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981017+00', '28ae6748f7ce32c1bec54797114cd00277c8fbd6a1c6c9ef72acf03c96c0eac1', '69796776', '161', NULL, NULL), +('521ca6c4-b40f-4c1b-8003-9a6bd4a22d24', 'probe', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004243+00', '4517e3329c9d67087a999b55f8309d197e1f39e0b6b7ee62e7c468d71b5dc712', '3109592', '147', NULL, NULL), +('524acfc0-9b68-4770-aa65-d94b13db1d56', 'external-dns', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038684+00', 'dff1e28f2f5f1c4400dec032f0493be05147bae49a4e3c56cb9c3ac1d9b7e06f', '45384687', '117', NULL, NULL), +('5257a0fe-f527-42c7-a52c-67b1cf68fa0c', 'cockroachdb', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091141+00', '5925bb6238fe0b65b1b3e344914d4f97a5ffd8433a370fd041c717ea6d69adec', '171920613', '59', NULL, NULL), +('5268b243-ae45-4d23-8dc6-6ae4f71d3179', 'host', '19.2.0-0.ci+gite4b75dde134', 'cosmo_host_phase_1', '2026-04-21 23:08:35.310187+00', '27220e68e1024ef636c039f631aa7e40b96bbcd3044861acc48fc1626533fff2', '33554432', '133', NULL, NULL), +('526ae9d4-f538-44c3-afce-89f9c661a4bc', 'crucible-zone', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190078+00', '635eca9d4299683aeca0bbea684ff6030508767fb57b1c141912c3d67152b643', '57014958', '89', NULL, NULL), +('527903bd-64d0-421a-9f68-f0363685e33e', 'host', '18.0.0-0.ci+git4a456c99797', 'gimlet_host_phase_1', '2026-02-14 05:49:55.051215+00', '59e731bb0b9ddd0089aa87eccc2133c60da2226e6cff66074dde10b10d17bb9b', '33554432', '93', NULL, NULL), +('527d1b68-51d3-4891-a705-9a6208b045c8', 'oximeter', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684121+00', '54084979da86be90560b98d8edf294165774674b440cd1c2e08e663ccbc85070', '65571556', '83', NULL, NULL), +('52816be8-e3ac-4dc4-a718-d5c4de8a0e86', 'host', '19.1.0-0.ci+git073b1306678', 'gimlet_host_phase_1', '2026-04-11 03:24:26.751853+00', 'd342e992e06fbeadccea138598e82588ce27715c2c5e1df0a55cbafaada62fe6', '33554432', '127', NULL, NULL), +('5287263b-a379-419b-b7ff-fdfc166c774f', 'trampoline', '17.0.0-0.ci+git76ec1fa523c', 'trampoline_phase_2', '2025-10-09 16:20:40.719339+00', 'a1b0ecefe8d0627f7e26139bba84c4956d1cf4e6cc0ecac759206940df3a5825', '152810097', '5', NULL, NULL), +('52896a5c-1609-4a8a-b844-1b08e2bc0f62', 'clickhouse', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.31019+00', '7366bff36cb675b49cade925fc37996766862be7982500aa7c91abc9efb24b2b', '331380338', '133', NULL, NULL), +('52a11577-c3b8-465e-9ca0-e13f7e149a4d', 'internal-dns', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815698+00', '22bd8b6c1369745d3f8d8e09d1b8decb64cb6af02468de42f023142080e38b50', '46248218', '115', NULL, NULL), +('52e12697-dce8-43cb-a6b8-64b4a5f09099', 'trampoline', '19.0.0-0.ci+git1d6977056c6', 'gimlet_trampoline_phase_1', '2026-02-25 21:15:36.434238+00', '63b91d3963e39f70119651998b0dbcbecc2f495899131c9b65d53ba2cb0b388d', '33554432', '103', NULL, NULL), +('52e99724-39ab-442c-a2a6-bd68374729c8', 'crucible-zone', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181276+00', 'd8763a0f25d59f7f895a81228f3132e0f09a5922a3c721f824c35f88497a5f76', '60136245', '49', NULL, NULL), +('52ed12d8-6697-48b4-8f08-c2d4163053c1', 'host', '18.0.0-0.ci+git92e0ae0c98d', 'cosmo_host_phase_1', '2026-01-27 04:57:02.494824+00', '0b0a53b6951d867d9159edde3a4ce4a041e13bbcfe91057f200cef362e59ecf9', '33554432', '65', NULL, NULL), +('5323e8f0-cb04-4030-992b-329925d128c1', 'installinator_document', '18.0.0-0.ci+gitf507a3057c7', 'installinator_document', '2026-01-14 23:13:54.091291+00', 'b09399856f9966cdd8d064b8d50ec7b73423caac0791ac0a1f32e984a43f256b', '924', '59', NULL, NULL), +('535be4fb-49b1-4a91-b283-7c840d872e61', 'observer-a', '1.76.0', 'psc_sp', '2026-07-07 06:50:20.366501+00', '36a908bf7a8b637e1614615a5b9a2b92933eebe760f6de8d943748885e37adb8', '4039156', '167', NULL, 'observer-a'), +('536d2bab-ac23-4a7c-9cb9-957f444e6643', 'cockroachdb', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659116+00', '9d09d97d11ab4cbc1d149097fc592dd929754ca27f6276ae234747df7c1a492f', '169600710', '143', NULL, NULL), +('53886019-fc3c-4c2e-bc43-5374e6d2c95e', 'external-dns', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040701+00', 'daa11191759ee9911a1e22ef3a456c88f0cdd54ecf0f063d35b0c58327b89e1c', '51408901', '145', NULL, NULL), +('539f5410-621a-4f04-baac-49af6d3539c9', 'host', '18.0.0-0.ci+git4a456c99797', 'host_phase_2', '2026-02-14 05:49:55.051216+00', '5be93f45604fe91d0bb6ab2d21b55e645974bf1ae422650231dbd043b096e2de', '1101008896', '93', NULL, NULL), +('53a61c1e-e3c4-448b-8ece-0c9b60564e4b', 'clickhouse', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332948+00', 'baa596d39d06deb779495e89f064b77a5a74fd616f6c3eaf451c196a0d2a8376', '316987610', '119', NULL, NULL), +('53b99fe5-bad9-4f2a-af80-1b4ecf39eb1d', 'oximeter', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478032+00', '4e4eea853f77191f0f75c759cc3997cff11e233603f49273b53924b1044ee65d', '64847360', '67', NULL, NULL), +('5434a845-7675-4f86-b685-1428ec7ff188', 'clickhouse_server', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494828+00', '62016dbf53724a8136e53079c9552ed9eff4411bf54fd2ad0fe10039a86f9d77', '324811890', '65', NULL, NULL), +('5450df11-2efd-4f71-995b-1b5f98e7167a', 'trampoline', '18.0.0-0.ci+git4175bf66d6c', 'trampoline_phase_2', '2026-01-18 22:34:16.803642+00', 'f54b2488558639e9b8f45b628818174ac33bcedb61261a6e6db333552f6ce052', '151883615', '61', NULL, NULL), +('545723b1-6e29-4002-8995-4af54b7f001c', 'clickhouse', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441923+00', 'e1d72c531c2468fc4e85d0c9c2e0b18eebd22b8fb6d5eba67a44de8510f47f03', '329584014', '155', NULL, NULL), +('547f84db-e621-4c17-90f6-459e28893eef', 'trampoline', '19.0.0-0.ci+git42726ecbb1b', 'trampoline_phase_2', '2026-04-08 00:24:54.576979+00', '79fae719affb0f9ae5499b452f692537fc3633318b70d9663c23ca9facf72a98', '146381128', '125', NULL, NULL), +('54869ec4-b281-4593-9a78-b24fb17b5635', 'installinator_document', '17.0.0-0.ci+git495eab19cfc', 'installinator_document', '2025-10-31 23:54:18.712741+00', '1f4522b67035a18f3e92002683ad90baf7d10ee6c8b20f1828fade53fcda04df', '383', '33', NULL, NULL), +('54875819-3108-4df5-9372-14543f2b5b81', 'crucible-zone', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483198+00', '1d8b3413707619353f5edb3359c87a0e688f60cacd91cf6a6f793663db9669bd', '50316604', '2', NULL, NULL), +('549b7587-bc77-4677-ad16-21f1751bf348', 'installinator_document', '19.0.0-0.ci+git328ba48fdf8', 'installinator_document', '2026-03-03 05:18:25.051936+00', '12950b20b21ad8aa78d221901258d26d9929c7fafc1cb06631fb110e8dc27493', '924', '105', NULL, NULL), +('54d8d139-1e93-4c2d-8ce9-dd59e48c9980', 'crucible-pantry-zone', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415159+00', 'a2fd841137dd56b01dac05485144b1209006ffa6c1d31cfd3cb8dafc75eaefa7', '44729436', '25', NULL, NULL), +('54e5ab10-2821-4d4a-bff5-c8468fdbcedb', 'host', '18.0.0-0.ci+gitd211c40e1e5', 'gimlet_host_phase_1', '2026-02-19 03:44:06.271929+00', 'f8c5ad63f6f198dc3d617f12bf88ebc2dfcd48b2489ea4c85bcb120c4f675c74', '33554432', '97', NULL, NULL), +('5536c5db-a55d-4929-91d3-ddd64965a899', 'clickhouse_keeper', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963934+00', '4405d1d7e9ef7993e7bb935965305b2debf60eed7e06300ba108f4621584d4ba', '309749159', '85', NULL, NULL), +('55576f3c-51df-4f6f-9d36-e2195337d0f7', 'installinator_document', '19.0.0-0.ci+git09c8c584ee4', 'installinator_document', '2026-03-31 22:41:05.03878+00', 'f17db590954bb853a1cd826c4a78c1cf2cc307a35f6ec36748b1b35a2474daac', '924', '117', NULL, NULL), +('55cf17c1-5b68-45a3-989f-1d198f10a2ac', 'oximeter', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803647+00', '289da5499b4d32cae4b74c08584e325278182db91a35c97828e8f8811e4bd9db', '68110829', '61', NULL, NULL), +('55e2ea72-e08c-433f-b224-88ab1002b9b1', 'host', '17.0.0-0.ci+git01bb8750d9c', 'cosmo_host_phase_1', '2025-11-11 05:12:39.57656+00', 'a02094244f52559c6cb31a320f6cdaf1cc48700da9fd8c4ad18d1e92e54d0ef9', '33554432', '43', NULL, NULL), +('5603044c-a5c6-4537-bd6d-4741f293d4a8', 'clickhouse_server', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.71074+00', '871b15602347db06b42e1dab09da83896a8ab426be62e9d4dadaad9256573c6c', '325929577', '29', NULL, NULL), +('56260db7-622f-4518-8243-1f1592ae0933', 'sidecar-b', '1.76.0', 'switch_sp', '2026-07-07 06:50:20.366511+00', '0aef8007d1c5fdbd62860c5c6fd7c84cf1fc8a07ba87ed9731c50f689cf338a3', '6977435', '167', NULL, 'sidecar-b'), +('56a143da-a040-415a-a300-4d25951d53fb', 'crucible-zone', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659117+00', '24119ffc147a98dc23ab8225f89036f13242cc3cf8839977d4de2bfc13d20c21', '57536912', '143', NULL, NULL), +('56c6d085-74a9-4f24-a98a-409a235bed4a', 'host', '18.0.0-0.ci+git5292c0d21f9', 'cosmo_host_phase_1', '2026-02-03 03:55:01.998663+00', 'a4b995e85c822242794803424dd25bc9a0a7903bc10965bf55193e9e0b3db972', '33554432', '71', NULL, NULL), +('56ddbb52-3ef5-470b-92a7-ceaa7dfa9dcb', 'trampoline', '18.0.0-0.ci+git4a456c99797', 'cosmo_trampoline_phase_1', '2026-02-14 05:49:55.051217+00', '041db38672e3a7a9123fe99dcfe07a83f2d557e34dba551173ef2ced11540f3c', '33554432', '93', NULL, NULL), +('570ae81e-e805-40e0-8672-80b6a7a50be1', 'gimlet-d', '1.71.1', 'gimlet_sp', '2026-06-18 21:11:25.441899+00', '761c7d48fc7a1bab86549c9c8337566a33e21893fcaca66954814bdad52136b5', '5556205', '155', NULL, 'gimlet-d'), +('57230a61-982c-4d52-9429-0e24c7e8cc2e', 'nexus', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419123+00', 'e19ccfccc722ac2305f02ce981a86544bb5d2f2c035387c84730af8eb9cb877f', '191503335', '21', NULL, NULL), +('572b3673-2576-4fe7-a899-31ac3b96ddb7', 'probe', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196608+00', 'b25533094490e60dc35c3d364b6b1f982a7e3ac899cef093e90ad3168f91f28a', '3109592', '141', NULL, NULL), +('573af52a-bcc6-47d1-8b66-dd17492d1c0c', 'crucible-zone', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594069+00', '86bb50c8aaf99f261ac2b87b2bf1b47865bbccf4121b8ffaec45645d355b8b61', '60178243', '137', NULL, NULL), +('57418b2b-197a-42f0-8e9e-f8989797367c', 'oximeter', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742779+00', '6f70f6a099fc407cae84737484dab745088ff8a1d53b0cc8bfa94f86af845071', '65827789', '3', NULL, NULL), +('575a5529-cf84-4c68-8675-f946bf9d8388', 'clickhouse_keeper', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051898+00', 'c715cbb111a8dc7dd52500bd4ac2089601981f0172031ea78139b19630ab1db6', '294765715', '105', NULL, NULL), +('576269d3-f416-4b50-9514-e9009314cdbe', 'gimlet-f', '1.0.55', 'gimlet_sp', '2025-12-24 16:09:17.700985+00', '47f69bdb93a25f1721db7a1411b683f4a9ed415a0245124f6b8e9e4115949c84', '5396847', '53', NULL, 'gimlet-f'), +('57708ea3-58b9-4974-8abf-bbfeca2f497e', 'external-dns', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.701001+00', 'c1b074a8a24d6ceae30ad729d7c6f3986bf3b70e3ec9cfc4a66b8c20f8ddb2a8', '54816949', '53', NULL, NULL), +('5784c17d-8eb6-46ce-a9b3-d74f676ec32b', 'staging-corim-all-sp-v1.0.71', '1.0.71', 'measurement_corpus', '2026-05-27 02:26:01.196609+00', '995f567211ce23c7a522f011c2e46ad230dacb8613027edc3f656e7a62e78955', '829', '141', NULL, NULL), +('5790484f-b0cd-4452-b500-c6842d31bbcc', 'external-dns', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190079+00', '60aaea33174598e4f7e82c64358d6919eaf9093298a16e3b911482f3a2b27aba', '49946301', '89', NULL, NULL), +('5792dedf-8fbb-4e96-a763-c052c4848161', 'trampoline', '19.0.0-0.ci+git544d3751f29', 'trampoline_phase_2', '2026-03-11 23:14:48.431938+00', 'c762a19268264775f092caf7dd2e49e9a71c659c5d5bc844e8cffcbd3de9391d', '148086517', '109', NULL, NULL), +('57a763d4-77e5-4b87-a2f6-b903585e5871', 'ntp', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594071+00', '6c20fa291852a310cb5dccbe35be289b3a1cd0d5f9cf10d5ebb5d4eec2a3d57a', '33893768', '137', NULL, NULL), +('57f4725d-c216-468b-be66-7f0c55517601', 'nexus', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431943+00', '5b7d260addb557f3ce7611c8002d53402c5899e39c6623081975637124ec9ae7', '214942096', '109', NULL, NULL), +('5806848b-c0e3-4b72-861a-9bb344bbf29c', 'internal-dns', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483199+00', '33fbbc5696443507c8d7daa5a803a53b4fe5e2b214ef6013192600cefb0cfd6a', '52795893', '2', NULL, NULL), +('5825750c-50b0-4d4e-9d9e-12269a946fca', 'sidecar-c', '1.0.62', 'switch_sp', '2026-02-23 20:10:41.273012+00', 'c163c1096d32463dee117c56dfc9fac72eaa793c99e0cdd1c4bf238419821ad6', '6962586', '101', NULL, 'sidecar-c'), +('586a857c-09bb-45df-9b8f-113d21b535fe', 'trampoline', '17.0.0-0.ci+gita3bf7ea02ce', 'gimlet_trampoline_phase_1', '2025-10-18 03:21:57.757192+00', 'aafa5523be6b6c07c9fc83928d9eedb607658514efe55fff1952fee4afe465d9', '33554432', '11', NULL, NULL), +('587e39a8-7223-4a30-b714-6713eb5eb9ac', 'trampoline', '19.0.0-0.ci+git19d83513171', 'gimlet_trampoline_phase_1', '2026-04-05 04:30:51.921049+00', '5e9e291f5eaef6a68dfb16a885d61e3a314dee6ea1e7094e32591b2cad0cdedd', '33554432', '121', NULL, NULL), +('58955a3b-4fae-41fe-87cc-32a7ccea5c41', 'host', '18.0.0-0.ci+git92e0ae0c98d', 'host_phase_2', '2026-01-27 04:57:02.494825+00', 'd97d0762da3cd6ffaf353556da747f541278b62ae4337e90c3acc98634f0ba9e', '1101008896', '65', NULL, NULL), +('58d2ef14-12f3-463a-b363-06cb732a61b6', 'host', '17.0.0-0.ci+gita3bf7ea02ce', 'gimlet_host_phase_1', '2025-10-18 03:21:57.75719+00', '414f9e9f7ac48bb304bc33ac929e205065b657d67ca80f9bd1dec5d3ab2d7edd', '33554432', '11', NULL, NULL), +('58e6350d-61c1-4d62-803a-e29280492c70', 'host', '17.0.0-0.ci+git27a65080e1b', 'host_phase_2', '2025-10-19 00:31:17.638794+00', 'd7cfc6da0dcde4221273192356fbfb41fd44b379b524593a6fa3a33244e24b3d', '1048580096', '13', NULL, NULL), +('58e881ee-ff52-473b-9da0-c403d68a4522', 'nexus', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205394+00', '1c996a193c203ff64eafbc4bc116365c30747680ff78aaabf29ce46c69aec005', '191499475', '19', NULL, NULL), +('58ee1532-4ed7-4633-81c1-6c46d583f4d1', 'installinator_document', '19.0.0-0.ci+git1d6977056c6', 'installinator_document', '2026-02-25 21:15:36.434281+00', 'ae0d6a71276ddca356cd63320b4f6e26d497ccbb1d7ca911eb3bb17b043fd3b4', '924', '103', NULL, NULL), +('58f98e3a-0607-431f-8cf1-fbc2e3cd6310', 'installinator_document', '17.0.0-0.ci+gitd17fb154c39', 'installinator_document', '2025-10-17 15:59:09.507537+00', '0b3c885d84d4f13b5ccbff64cd49064accf1f3d24055dfb0d88bf13897004ce6', '383', '9', NULL, NULL), +('58fcd513-b27f-4149-bdc4-55edbe702c3f', 'host', '17.0.0-0.ci+gitf83a43dbb42', 'cosmo_host_phase_1', '2025-11-05 22:59:56.995232+00', '6512943b270f473819826f9e412fdc0feb68494c695411f952b27d47f8007f9e', '33554432', '39', NULL, NULL), +('5935e923-bb08-42c2-b9f8-936ef3b7dc14', 'external-dns', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780087+00', '63a1b713172215c7caf89ca8996e7dec84b010345497fd28dbda8ddf596c4a5c', '44895677', '165', NULL, NULL), +('598902c3-1d8a-4b76-9306-3c2c5b22ce57', 'cosmo-b', '1.0.58', 'gimlet_sp', '2026-01-28 21:07:59.477939+00', 'd06cf801b6ef119ee005313a3f920b482fd771a6a94ceff4ac53d95870e7e068', '6507328', '67', NULL, 'cosmo-b'), +('59897ae5-031f-4850-8725-98a1a5fc02a3', 'external-dns', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710742+00', 'd3072429be22069bc77de2e48faf362d391921a481821940fb9d28b6561f7e41', '52068113', '29', NULL, NULL), +('59b13d12-d6c1-40da-928e-981af181bce0', 'sidecar-b', '1.73.0', 'switch_sp', '2026-06-30 16:46:25.762677+00', '17f46108744d8b377e66207b6b4ee2a0cc01861d6031af7549653c3977dbcc9f', '6936310', '163', NULL, 'sidecar-b'), +('59e1f1bb-c374-4174-82a4-7ab420fd3eb8', 'trampoline', '19.0.0-0.ci+gitefa6443bdeb', 'gimlet_trampoline_phase_1', '2026-04-07 22:15:07.062166+00', 'af218ea20664622a1fe0e64d493a0674657d85061349fbdd2089b7533826c311', '33554432', '123', NULL, NULL), +('5a4d77a7-4cb9-496b-9616-fadd05993be8', 'host', '17.0.0-0.ci+git56225535f8e', 'gimlet_host_phase_1', '2025-10-29 18:02:18.899348+00', '5ee62bf12b5fa0106e63d27955ac9a6e0fc508acefc449659f90ddbbf9133a6a', '33554432', '27', NULL, NULL), +('5a525c9b-8277-4bd5-a66e-104c2ed67822', 'host', '18.0.0-0.ci+gitf507a3057c7', 'host_phase_2', '2026-01-14 23:13:54.091135+00', '68d0a09d4c2fdb5c3452d590045c8a5130a2e7bfefa77e6413bdfaf889cae458', '1101008896', '59', NULL, NULL), +('5a7b4dd4-806c-40e9-9fdd-a0a3b2884ea1', 'clickhouse_keeper', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260756+00', 'ebfd2b7e21820fd783419718dbe39fb990b97a694ab681a3b79f62191675e813', '311163713', '47', NULL, NULL), +('5ab84b00-d7c0-46cb-ba00-42ddc9ea4d45', 'host', '17.0.0-0.ci+git34818139bb2', 'cosmo_host_phase_1', '2025-10-21 22:30:59.008514+00', '8ff0255421d668f82169f5777c835d5ca6ff67c3f23bdcc6a9aececa19beb050', '33554432', '15', NULL, NULL), +('5abe3e64-e2f0-40e2-aefb-b5f0e7436fff', 'host', '19.3.0-0.ci+gitd4a126e8cc3', 'host_phase_2', '2026-05-05 23:41:07.356073+00', '17b596115af55470731611fd34dad897762278a849e4a82b10c1ffe118c23093', '1101008896', '135', NULL, NULL), +('5b17ca03-80b1-4fd5-8d04-6001ee7da3b5', 'clickhouse_keeper', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468879+00', 'b221ee2ddb8040f26f43fa03bd00ae25a7960f3efb11774863d53aff4c459b08', '307147300', '6', NULL, NULL), +('5b1d9a8e-2be3-474c-bef2-b474973e9d63', 'gimlet_rot_bootloader-production-release-cosmo', '1.4.1', 'gimlet_rot_bootloader', '2025-10-09 16:06:27.599288+00', '381ccf87f2532d90485ea6238c547e829195f4670f489cfec3ae75094f006797', '46384', '4', 'f62eb434dd27302521d12958a7c3c18c69f6e0239361654f0a09e5cc554e0fab', 'oxide-rot-1'), +('5b83b0e1-8fb3-442f-aae0-efb7e9397a14', 'host', '18.0.0-0.ci+gitc298def0b9f', 'gimlet_host_phase_1', '2025-12-24 16:09:17.700995+00', 'a80f7675cdc6fa54af77d61f9410c79d5b93a911be652fdb189c311521e81362', '33554432', '53', NULL, NULL), +('5b8eb556-f090-411f-86b9-6b1eac53872f', 'gimlet-e', '1.0.59', 'gimlet_sp', '2026-02-11 17:36:00.471138+00', '6355c7b199c7b2400576b266004ab9939beb5235f7390bfdb2cb76b0429808db', '5466091', '87', NULL, 'gimlet-e'), +('5bdc7268-60a0-4873-a0a8-b48a8fa89141', 'trampoline', '19.0.0-0.ci+gitd3ef1db023b', 'trampoline_phase_2', '2026-02-23 20:10:41.272994+00', '33d8f99c62980a1e88f433054d40b6e7a646562ae868ee70ab5915b7f35a0a18', '147619983', '101', NULL, NULL), +('5bec30e6-19ce-41ad-b7cd-a26c837263f5', 'crucible-zone', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742773+00', '2abeedc1bb93ad77316481272c64de082482fe94bc47394e5b2e84a0d644454f', '50316604', '3', NULL, NULL), +('5bf873e5-e38e-48d6-8085-cb868d5374e6', 'ntp', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.26076+00', '642e65a8c36cca9500a96b33de05de1dc6f3fbd3bbaa0de273605302e127b2db', '35883539', '47', NULL, NULL), +('5c3532d0-8b81-435b-aa78-86170343b17b', 'clickhouse_keeper', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913092+00', '60c5b964fe7ea716903e0f05d15335ff9ffc8f68c20306058515bccd9d235d00', '310669737', '57', NULL, NULL), +('5c97d838-4180-4c7f-8639-a4c94cd05cbe', 'sidecar-b', '1.0.54', 'switch_sp', '2025-12-12 20:45:24.181292+00', 'a58a79ad09df5a7028209c2e45b2e08b7d7099dceff9f57d60fd02956fd28a7c', '6838942', '49', NULL, 'sidecar-b'), +('5d5e7631-bd75-44c8-993f-9bc5475f8dbb', 'crucible-pantry-zone', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918398+00', '17c9fc50842527ccd088c95fce39c2cb1853fb5515f1dd179859e9450ed3011e', '42560845', '99', NULL, NULL), +('5d6cb0e8-75ff-4c6d-8174-82b46c9ca044', 'psc-c', '1.0.58', 'psc_sp', '2026-01-28 21:07:59.478035+00', '1ace8a47f887c0b982ffb536f0ff8dea2a11114efee5565a1df9b39e7e206d5b', '4134832', '67', NULL, 'psc-c'), +('5dbaa723-b673-494b-ba97-16076bad66b4', 'external-dns', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247858+00', '73733ac4ea9e347de2e301f57e5a6a6b137edf31d37d94390204fea46c77f739', '50989192', '139', NULL, NULL), +('5dc0616a-1783-4612-809d-0b5e5116b9fe', 'internal-dns', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.50751+00', '174848d80bd238592537ae92dbedfb6755e6dab8a9cc17b610c31fae9b85db3e', '52092899', '9', NULL, NULL), +('5dc1f8a5-4ad9-4903-863c-29678160ebc0', 'crucible-zone', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539552+00', 'c4720be1943be3180af3a9b4f28b252f94775eebceef5629bd277ff6d97d493b', '57012706', '79', NULL, NULL), +('5dfad5d7-4dd7-4905-a0ab-52ec9a86f445', 'gimlet-c', '1.0.67', 'gimlet_sp', '2026-03-30 16:50:10.815674+00', 'b4e19a43cee00d0af098c6e222d4f488fda6330fcb38af3ddef7ae9f80634172', '5507388', '115', NULL, 'gimlet-c'), +('5e1d9a46-4549-4c93-b1b6-8a52eaa64d2d', 'crucible-zone', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684119+00', '858c693d84b893ed00359de1ee98ed1977cb248ab02f666f09e83a2a17202e04', '57014261', '83', NULL, NULL), +('5e44771a-4ed8-4002-95e4-cef02bff5c8e', 'trampoline', '20.1.0-0.ci+gitf6ef6642eaa', 'cosmo_trampoline_phase_1', '2026-06-23 04:22:03.471609+00', '6be0084e13ddd3feb83872139621a16c038d7ee5a5e50e3233f8ca09dff55904', '33554432', '159', NULL, NULL), +('5e4b2c6c-65da-4dbf-bd57-1e1ae5991c17', 'gimlet_rot_bootloader-staging-devel-cosmo', '1.4.1', 'gimlet_rot_bootloader', '2025-10-09 16:06:27.599286+00', '6e72ab34b446ec3f82e3bd84644f5ed9706e71c290b6a47b0ed543381d183491', '46156', '4', '855a51518d13dd696a8102a5b2436bb2e8c39a6c0102909fce0a32adc6b76fb4', 'oxide-rot-1'), +('5e58001d-a06e-4093-b15b-29c26b47fb02', 'crucible-pantry-zone', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981012+00', '713cce354854d6ba12d860abf34e16585ebc013f047bca6edddcdcf423fb7331', '42114926', '161', NULL, NULL), +('5ec1c024-fa7c-4e98-943b-bbc6f579d49d', 'sidecar-c', '1.0.67', 'switch_sp', '2026-03-30 16:50:10.815786+00', '6f8e9f4bed4983694047ec1554f717e59197cfb3d2abeee8897defdf8a367cd2', '6977107', '115', NULL, 'sidecar-c'), +('5ef2d5de-958c-4390-a5b7-9e61a2e7aebc', 'trampoline', '19.3.0-0.ci+gitd4a126e8cc3', 'cosmo_trampoline_phase_1', '2026-05-05 23:41:07.356074+00', '302961e1607dc5d09ded7d4cee0ca77ad3fd55786c00b478baeb841e21fec383', '33554432', '135', NULL, NULL), +('5f15013a-1661-4cfc-b212-acb944522eda', 'host', '20.0.0-0.ci+git13937a135d7', 'cosmo_host_phase_1', '2026-06-09 22:54:35.291182+00', 'ae1edf9da1e01008caed77255d3264a8c6b3d67e94d7bb6b3212ce4828105ea4', '33554432', '149', NULL, NULL), +('5f1857b2-691f-47aa-a71b-432722eed667', 'ntp', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205394+00', '478e67e55102eb96c1c9c913bb8f376184b41a7e46e45fecd44426fd57b0fbe6', '34046458', '19', NULL, NULL), +('5f616216-1e51-488c-b98e-f7a05697b688', 'ntp', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899234+00', 'c7c45ab5818a940501490d5b6fd5c06572331b2747bccc348b9b4a95cdf22b92', '33588571', '151', NULL, NULL), +('5f645719-a8fb-4393-b298-d3e602c2bfa7', 'host', '20.1.0-0.ci+git1dc05d502fe', 'host_phase_2', '2026-06-19 01:29:50.250482+00', '2255b744a57c4443a25245d59351016de8b44bfd8abc7a539926bd59dae1ee08', '1101008896', '157', NULL, NULL), +('5f706ed9-87fd-4011-901a-9983b5567f9e', 'installinator_document', '19.0.0-0.ci+git19d83513171', 'installinator_document', '2026-04-05 04:30:51.921075+00', 'f32224cd4eb563f8f5e2b63746681201a850dd48c684bc10ee64e22d7901dddd', '924', '121', NULL, NULL), +('5f8a93a3-3c32-4fdb-9b7e-2130c2f2c703', 'crucible-zone', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247858+00', '125b73ad26fffa0e4c99a53ca7ddd6136d9b9c4daf30f8c13ec32f705ecdebf1', '59741058', '139', NULL, NULL), +('5fc59d88-a8bf-44f8-b9f0-d17d1fb908ec', 'trampoline', '20.0.0-0.ci+git4bb727667c9', 'cosmo_trampoline_phase_1', '2026-06-08 18:04:19.004237+00', 'a07150e3aec14e86f60feae4101ffeaeff4addd51ecc08bba5fc7a7be37e8fb0', '33554432', '147', NULL, NULL), +('5fd2fdcc-356b-4ddc-a9c2-9b60355acd59', 'external-dns', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913097+00', '5035cd0579bde77c39207bf18aa4d9e83f2026dd95bc7aec3b0fb5903800eef3', '54859490', '57', NULL, NULL), +('5ff37506-b2d8-4b51-8390-fa94e8f2032f', 'oximeter', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250493+00', '66a1e4b07e523fa6e08430b8237f9dbb1feb1b9b13cfa5cea3477de59153e039', '69796776', '157', NULL, NULL), +('600bd7f8-e5ab-4b6b-ac16-a97abb50f398', 'nexus', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282155+00', '5f9a185017aaf58e86bd728deeb00048cc430bcef3a5cf1bd36ba545f27888af', '215528992', '107', NULL, NULL), +('604cb37f-1b93-4ac1-8fb5-d06c82006758', 'clickhouse_server', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684117+00', 'ba928be584e0107a803e861e126339b4589d17517426ec081d43014a9aa2c800', '327164059', '83', NULL, NULL), +('605cdc2c-ce40-4f47-844e-abf6e55e2188', 'oximeter', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468884+00', '05ec0633398d300aa9ca73b07827f38ba14ecce67e5735d460f936dc7862bd93', '65834074', '6', NULL, NULL), +('608b364a-97a5-43cc-b7cf-04f36d056931', 'external-dns', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091143+00', 'ed4409e39ec6c93630c73b699306e7cf43779f7861815185868141398600c8cf', '54858805', '59', NULL, NULL), +('60ba8a3b-e1c3-477e-ae86-cb8b810752cd', 'trampoline', '18.0.0-0.ci+git4b3cdb4e30b', 'trampoline_phase_2', '2026-02-06 03:46:52.090445+00', '8277dba031b0373e3254af816a578654df95c5048fe3fc8feb224251b8192637', '144178124', '77', NULL, NULL), +('6120d768-43a6-4b9b-a75f-fba93bf7a64e', 'cosmo-b', '1.0.56', 'gimlet_sp', '2026-01-14 23:13:54.091112+00', '0d2658b41a3ef6f77bdaaded07a31814931fd3cdffd76cb63a1521b8035af6a7', '6456405', '59', NULL, 'cosmo-b'), +('6133f414-d1b6-4826-98f4-fb4f60427abd', 'ntp', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063853+00', 'a95135390e63c8451623eb821affa8b536b4da201021486a775744bb5ca2701b', '34172813', '35', NULL, NULL), +('61592353-7801-4dec-b97e-3bf13a067da7', 'trampoline', '18.0.0-0.ci+git6601b8ec8a4', 'trampoline_phase_2', '2025-12-02 01:51:35.116898+00', 'cf2c67d243cb2434377a5d531c84c3b92cd8df160641a386104d66f79f5fcefc', '152645803', '45', NULL, NULL), +('6160b988-1b64-4c12-ad89-c0ab0d1ed1c2', 'probe', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576568+00', '36da408ab1caed3f9b811f4bb32745639ef2a5ecb682bb84a3bd40494990455d', '3109590', '43', NULL, NULL), +('617d1dba-4482-4166-9ada-bfe2923fc843', 'internal-dns', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205393+00', '663df4c3ae73eb3e5d48f2691de7f7deeb9fa6c4988f2c650bf807dfbf59046b', '52066956', '19', NULL, NULL), +('61c06345-ed92-42b6-8274-9497cc658456', 'clickhouse', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247856+00', 'dd50a48579a64883b1bd77d65b254c8741cd05760ac5536c5e84aa140723f51d', '327302186', '139', NULL, NULL), +('61c7a9ca-4fc3-46fa-b744-37cfac9e3a8b', 'external-dns', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.47803+00', 'eceb9ff6567ba8ce2d79fa50f61c962e4f72f7a2caebfa055b4bc0aed4e4fc66', '48684573', '67', NULL, NULL), +('61de825c-a53b-4af4-8bb2-0ebe2dde3a9c', 'host', '20.0.0-0.ci+gitc5c595dba5d', 'gimlet_host_phase_1', '2026-06-03 19:03:58.040695+00', 'e3642fe3f5dc2099df111d5f868467f2b3435ee4c1bd1eccbaad77f4cdf55bce', '33554432', '145', NULL, NULL), +('61ef1505-f5f9-4467-8946-ed8808cb1812', 'oxide-rot-1-selfsigned-bart', '1.0.36', 'psc_rot_image_b', '2025-10-10 16:09:24.468889+00', '4fe4fffde4bae8af1f2cf130a268f375ff3e644ace593afb9e4af82bbcaf8248', '1633990', '6', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('61ef5422-61b7-4b1f-86bb-ddc4026ff783', 'trampoline', '19.3.0-0.ci+gitd4a126e8cc3', 'gimlet_trampoline_phase_1', '2026-05-05 23:41:07.356074+00', '884de64ec91d074e63a86a4b0fb5ad6d742dabb21bcc962565740257ec63cb68', '33554432', '135', NULL, NULL), +('622f245a-a1e0-46b6-890f-b227b0267fd6', 'clickhouse_server', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998666+00', '6a1d4045b07267e3069745a9548806764866d4ee8aafe0241204962d71d68fa2', '330004787', '71', NULL, NULL), +('6236befc-c7d9-44cc-a75f-3c7bbfed3bd6', 'cosmo-b', '1.0.57', 'gimlet_sp', '2026-01-22 00:31:09.684289+00', '0c6c7d0d2a8084e14540bdea98b9859f4b2a6b5afddaa94e820a035baec1865b', '6533292', '63', NULL, 'cosmo-b'), +('62718eae-f085-4d22-b91f-8fb06e2d10a0', 'gimlet-e', '1.73.0', 'gimlet_sp', '2026-06-30 16:46:25.762644+00', 'bd9c3843519a294c4315a510f00bfe61dc71b84270ccdae48907a74778b187b4', '5474290', '163', NULL, 'gimlet-e'), +('62736463-707d-411d-8569-76e8d4fc8920', 'clickhouse_server', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112985+00', 'b10ea1fd0fc3164909bd7f46155c0767178bbf88e29bdd6e9f271f986ef50caf', '327162661', '75', NULL, NULL), +('628733ba-95af-4efa-be13-b93970761aae', 'host', '17.0.0-0.ci+git01bb8750d9c', 'host_phase_2', '2025-11-11 05:12:39.57656+00', '7922f204660a860680390cf441bf56b84e7886ddfe623b5fce2a7f522a72c061', '1048580096', '43', NULL, NULL), +('628db2fe-7d7a-468f-bb97-2df8924ccf9e', 'external-dns', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063852+00', '4de636b154bb7a3c286c33361844515538c171ab9543903d322d6b5f3f92c250', '52269521', '35', NULL, NULL), +('62a2cb1f-2bc3-4bed-97d2-b2f7ca46da46', 'oximeter', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040703+00', '195a06bf946e2b97683383521a911da98ebe78723b789dcf4e4cdc800303d71d', '68722666', '145', NULL, NULL), +('62a81d86-b559-49f3-b868-321065ae881a', 'external-dns', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.75186+00', 'faacf720201a7d5b5d2e50034d4b34d6f1a6d1e1ba020638fa14e648a61ab94e', '53095452', '127', NULL, NULL), +('62aac881-1ea6-4f48-b07c-3436d939e446', 'nexus', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.19008+00', 'a1915f66eae7098c2e7cf6c3d2dc329e9afdc6d034511eaa348ebb313f4a690a', '215387879', '89', NULL, NULL), +('62b59e07-0e04-4022-9b2d-54ce25035cce', 'trampoline', '17.0.0-0.ci+git2a1d8548932', 'cosmo_trampoline_phase_1', '2025-10-22 17:38:18.243788+00', '536f7fc23ab29ed46bf0e6d2c43fe6ac82a3e6a826dc0816dc289c7e0f9c2fee', '33554432', '17', NULL, NULL), +('62ba7ebc-939f-464f-8283-df62c627314f', 'oxide-rot-1-selfsigned-bart', '1.0.36', 'psc_rot_image_a', '2025-10-10 16:09:24.468888+00', '7a06e65efa865fe819f406b25b19089749fb4d35b6a8b556c078fdd8d5727052', '1634071', '6', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('62c448ab-d5cd-48d7-a0c3-62e3626cd474', 'nexus', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981015+00', '0252f4e89d338ed2a5b2e0ae71ecf8d734eb13d17d8be39e236a07afd31fd336', '286274320', '161', NULL, NULL), +('62e3e64e-8ec5-40d2-a03b-088e8d105c6f', 'oxide-rot-1-selfsigned-bart', '1.0.36', 'gimlet_rot_image_a', '2025-10-10 16:09:24.46887+00', '7a06e65efa865fe819f406b25b19089749fb4d35b6a8b556c078fdd8d5727052', '1634071', '6', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('62e6ac3f-94a5-4bbf-a24a-25bf2d1704f6', 'clickhouse', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190077+00', 'ee688f9f8a059bc88e6ca2b3706e85f664343a5862a5c55a58e735a5c51523ce', '327185519', '89', NULL, NULL), +('62ec3d3e-134c-47de-a8bb-0d3198fb2fea', 'installinator_document', '18.0.0-0.ci+gitc298def0b9f', 'installinator_document', '2025-12-24 16:09:17.701018+00', 'eca91ab85d4baa310027f4b12e4dc2cf227e5aaf6acced733757c0318221e891', '924', '53', NULL, NULL), +('631c30aa-eaff-42cd-816d-6638420cdf58', 'external-dns', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837892+00', '91b580f52f8e1a2fc23f69e7cdff44fa1769bc60a3ceae884c3b430735154283', '42529894', '111', NULL, NULL), +('631c8e3a-da6c-4d4c-bef3-ead9760a8cfa', 'cockroachdb', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710741+00', '30ed43e1c1215f674770efb189fbc0833405d31469ce13511f2ad45d44062f96', '172225345', '29', NULL, NULL), +('632a8e07-1eed-4db1-95e6-1dc753f0beff', 'psc_rot_bootloader-staging-devel-psc', '1.4.1', 'psc_rot_bootloader', '2025-10-09 16:06:27.599307+00', '030b74a59c274086e4b03f653c071d3d35dcbe3ec5210a9bd892aceb8d9cff70', '46144', '4', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1'), +('63e6b92b-c3be-49a7-9cb9-c76c9717fdb8', 'host', '20.0.0-0.ci+git4bb727667c9', 'cosmo_host_phase_1', '2026-06-08 18:04:19.004236+00', '6da7423aa24acd217a433305ceec35a265fe2849e8ff8154d95ca4976f20e020', '33554432', '147', NULL, NULL), +('6402bca6-5c6d-4547-9be1-f13341cf11cb', 'ntp', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282155+00', 'ce39212924b6e241849785bbecfdd36c01b022a8beaf6c1d6f776fa39af06b6c', '23106053', '107', NULL, NULL), +('641d3e27-01ea-4080-9f5e-dbea3ee079e9', 'probe', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332952+00', '482963437a72be8095c40905b38c02dc3459ca6f98768776c8366e6bc522ab8e', '3109590', '119', NULL, NULL), +('643e3d92-e78f-44d8-aa21-f0fa71f66062', 'nexus', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576984+00', 'cc48a626df1d5f270afe5507dbfef8433cbb3fb38828dd2a1a352ab7a52e85c7', '224544926', '125', NULL, NULL), +('645f8f8a-086c-482c-9afb-9979e301f8b0', 'gimlet-c', '1.71.1', 'gimlet_sp', '2026-06-18 21:11:25.441899+00', '2acf1c6c57798c5881c69d5c7be6d0530019809f67efe26fe62511c2209d27a3', '5548727', '155', NULL, 'gimlet-c'), +('64931bff-6ddb-425e-b825-01dbe549420d', 'internal-dns', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.41516+00', '775df73c7dedb1125a0acbc2841f9e5852ec980ce71d822902060fbf5837e14a', '52067713', '25', NULL, NULL), +('64974c5a-3ecb-444a-94bc-c751109c577f', 'clickhouse', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742771+00', '483ed873beb0066b0c0e6ebba1b2d5d9e9d658657deb47e7d9ea7b28ebb065de', '323763885', '3', NULL, NULL), +('65017eb3-82af-406e-bd84-c3a957978ac4', 'cockroachdb', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272996+00', '70c247c9560fdafa52ecacd09d808cf28182aadb7c8b7edfe2fb406ba8253a8e', '169154624', '101', NULL, NULL), +('65177782-c4dc-4110-b1f6-66fca0a27588', 'trampoline', '17.0.0-0.ci+gita3bf7ea02ce', 'trampoline_phase_2', '2025-10-18 03:21:57.757193+00', '7b4c859ab54f426cf3870f4cc20cadf0162407f068338c0e34ab43728a1f5c37', '152210860', '11', NULL, NULL), +('65577bf2-6d6e-4b2c-87cf-c85e35f5b262', 'cosmo-a', '1.0.53', 'gimlet_sp', '2025-12-08 23:28:06.260739+00', 'e65e2f6d0882361aa082e91672204ec4ea414662d5f99f3be17c350b92f41a69', '6435781', '47', NULL, 'cosmo-a'), +('656bc66f-163f-4370-8920-30e0120a5def', 'trampoline', '17.0.0-0.ci+gitf83a43dbb42', 'cosmo_trampoline_phase_1', '2025-11-05 22:59:56.995234+00', '592563f985833fab9ec9987d5c566e9071d1ee489187f0cc18c67dbc5eb89193', '33554432', '39', NULL, NULL), +('65a569dc-c7ae-4129-91de-2cfc545b82e1', 'staging-corim-all-sp-v1.0.56', '1.0.56', 'measurement_corpus', '2026-01-14 23:13:54.091148+00', '7910798a747e76a64d5f24e833a5ebf7593990c885ee7bb9b7035464770a3859', '829', '59', NULL, NULL), +('65f7e55a-679c-4e0a-afd0-a2b7148eec34', 'host', '19.0.0-0.ci+gitd41bfa5af31', 'gimlet_host_phase_1', '2026-04-03 04:47:46.332943+00', '054fdd013a25aa569b40865bed74d4ace16f8dae05ac5ee709bacea6cbf5bf90', '33554432', '119', NULL, NULL), +('65ff0037-f463-4b5b-b93e-18aa0a21a0b4', 'host', '19.0.0-0.ci+git328ba48fdf8', 'host_phase_2', '2026-03-03 05:18:25.051894+00', '1d570b1239a266eb7130fbe11212bb41e88d1aac3a3d8cc30487e049d74c2170', '1101008896', '105', NULL, NULL), +('662f74ac-229d-4ccb-a3b3-e89581a60e96', 'clickhouse_server', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663972+00', 'ea71b66cd9690f89b718eee235359f899de80bf00f87b4f74b7a17ddb00cf809', '325929577', '31', NULL, NULL), +('6680027c-416e-4764-90ec-7a1c598ba4fa', 'external-dns', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963939+00', '8acc32862a08c69e10b4ae09dd4605addaf7f6c1f97e0f96682d93b2cb064ef3', '49940753', '85', NULL, NULL), +('66956ee5-6bdd-4a83-9659-3d60bff4febb', 'internal-dns', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884114+00', '0274a24b5a2d5866310241653d3532d615d9cc2b2ea8437dc7c9ebec7ec37371', '44650016', '113', NULL, NULL), +('66c35cd6-7347-4e9f-96c1-f8419258c435', 'crucible-pantry-zone', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078612+00', '7a6a74d4c8e962a03d8ed1f907f5eca958e64d62de8b3776aa30850aeb193fa8', '45567341', '55', NULL, NULL), +('66e0c24e-e975-44ec-b4d9-b4f98e113d4d', 'gimlet-e', '1.0.62', 'gimlet_sp', '2026-02-23 20:10:41.272975+00', 'f5241e12c502d08476ca232f8125b96ac62b132bac9055f65b843e00aa01576a', '5469129', '101', NULL, 'gimlet-e'), +('66e61229-5560-46eb-ad06-8eebbdf4cde0', 'oxide-rot-1-staging-devel', '1.0.36', 'switch_rot_image_b', '2025-10-10 16:09:24.468896+00', 'cf2c7479badea663d0a2005481f4927ad1a5f788b3dc85bbc41a4b50afb06b1f', '1574812', '6', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1'), +('670b48b2-aa1f-4c0d-9dfb-b87852733b30', 'installinator_document', '17.0.0-0.ci+git529ba64ee28', 'installinator_document', '2025-10-10 21:18:53.484067+00', '3bcc25b52e86b0966e4e0b95f2f56ddbd44e29ff0b641a513114c695d84dac42', '383', '7', NULL, NULL), +('67226c6d-773a-4c8e-b83c-09b70df55b89', 'clickhouse', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112986+00', '527b53624e4be1fa14daff0d46da916b93df26325c543de60cc62c041d9cf07a', '327164096', '75', NULL, NULL), +('6735b66c-6663-4a43-9ecd-2379adbb4704', 'clickhouse', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.05122+00', 'eae022b367ab081689ca0813ec870d55040257765ffe4e3c2fe04188daa88148', '327329201', '93', NULL, NULL), +('6771dd4c-0d9a-4e9e-93c8-14e03bbf55c4', 'clickhouse', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599294+00', '2b647cf02009c30a4512f62a846716bdba8853637c0989c515e848cf733ac687', '323763885', '4', NULL, NULL), +('679d1f15-6a2a-4102-9dc3-22c92dbefd1c', 'nexus', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998669+00', '0ddb940a98796bb17287ab1cb516a5eb3f32f3654d0c48460198dcbc2038dacc', '218447575', '71', NULL, NULL), +('67ae8ff1-1f85-452f-9033-91fe9e5a2436', 'clickhouse_keeper', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.07861+00', '3a11a63d803303135abb538cc4af5aa418f347ac6bdb493a00940a1d05f85c48', '310642661', '55', NULL, NULL), +('67c5f3d3-d096-4675-a448-cda1a3d07371', 'oximeter', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091146+00', 'cef3630026e7d3fc49fc5a07912b93f46497e562f741a454633f9bbee11605c6', '68111887', '59', NULL, NULL), +('68073207-13ec-4b41-9cb6-ec9aefa37399', 'cockroachdb', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441924+00', 'e96f58a49b2376ceb45335db146b513faf51cdc9e92160095264fe8dec77a801', '170132704', '155', NULL, NULL), +('6807bcfd-bf74-4520-88db-3e850b40725e', 'oxide-rot-1-selfsigned-staging-devel', '1.0.36', 'switch_rot_image_a', '2025-10-10 16:09:24.468896+00', '9ce4a0a34ab747f29a5d6783357dd7950285195d1fe729436097ec90e39f2147', '1639179', '6', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1-selfsigned'), +('683b6749-8613-4fa9-8a75-643397dec254', 'psc_rot_bootloader-bart', '1.4.0', 'psc_rot_bootloader', '2025-10-08 19:59:10.483213+00', '96e9d43104f9c411d87f2cf219b297294984e6c1ab0c588322ac882ee9f88e1f', '42150', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1'), +('68583605-d4d0-4224-b5c5-7f324b494242', 'staging-corim-all-sp-v1.71.1', '1.71.1', 'measurement_corpus', '2026-06-18 21:11:25.441929+00', '2fba8971baeef3366fc20763ac9ddd125fc77deb452b85ec2448a91bc0b07b2c', '829', '155', NULL, NULL), +('686a8e62-6d64-477d-a181-6189772215ef', 'trampoline', '19.0.0-0.ci+git19d83513171', 'trampoline_phase_2', '2026-04-05 04:30:51.92105+00', 'b092ab014c29b3d95194ff46c4902bf2d4d565169bb456e076f1cb1c4be9c6a7', '146477130', '121', NULL, NULL), +('6881d21c-c325-4b6f-8629-4e1266edbaa2', 'oximeter', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663976+00', 'dcfe96c14fe78e4a95a4ed0a92caa5c32c67099367f07ab7e0ff051b9c8ee2d9', '63680272', '31', NULL, NULL), +('689a8fb1-1ec4-48c3-a6a4-ff0323f786d6', 'trampoline', '18.0.0-0.ci+git6d17d64ce6d', 'gimlet_trampoline_phase_1', '2026-02-09 23:04:09.275319+00', '8c29ac762aabc5e13ec4cac14fd9b8f07ded0d5a8f8eae8069088b36de8f05b7', '33554432', '81', NULL, NULL), +('68bd5d17-31d0-40ac-8637-52b4365eaa95', 'clickhouse', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291185+00', '233311486d68cc875ad9ab756dab76c71dc96674d394ed6f4ed5ebfc99b3fca1', '329584014', '149', NULL, NULL), +('68e1f85d-9c3d-4346-9e06-3cc18601d2e9', 'host', '17.0.0-0.ci+gitcf97c145a6e', 'cosmo_host_phase_1', '2025-10-30 05:14:08.663969+00', '0a37ba7507d0e6ac85a1b8116c2dd6996054744d28f4b41ef10c2ad597d8dd06', '33554432', '31', NULL, NULL), +('68eacda1-766e-4e89-b255-3959b290272f', 'psc-b', '1.76.0', 'psc_sp', '2026-07-07 06:50:20.366502+00', '01e5a18b8c7f59212055eaa9c44ea0b4c410e1fa347188ef4844f09f472d9e9c', '4089536', '167', NULL, 'psc-b'), +('692e02b1-c662-45fc-9cb3-ede705075583', 'cockroachdb', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120342+00', 'f3a75bd58de0424d8f5829cff91bfeb258032fa59f6388c637b1e3d72631f6cf', '169146796', '95', NULL, NULL), +('692e563e-1fd3-4795-80db-998b9add3d87', 'nexus', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963941+00', '4a5c1ad2e3d9f4c7902cb75599d6cdcf58b69a11ac0263edcbdbc3d36aff11db', '216270514', '85', NULL, NULL), +('69479839-d7dc-4e9c-9ced-c191fe9004bc', 'nexus', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599297+00', '8c18e84fb5e415f42d576699fa571ebeb0a2dca338445d586a5717f59f563c47', '142241759', '4', NULL, NULL), +('699676ab-2afa-4a95-aa9e-c1b40108b02c', 'crucible-pantry-zone', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998668+00', 'f6588fd0d37d098a5e8c071b579a64d6e8347064da9c423b03dea8de87bb58f3', '45625640', '71', NULL, NULL), +('69a0f98c-4e89-442f-aa51-2c1afce9673a', 'host', '17.0.0-0.ci+git6510e87da6a', 'gimlet_host_phase_1', '2025-10-27 20:48:21.415153+00', '6598d4c5635744c297831d71d18396b785b5c22486b60bb13f93a09338d466b6', '33554432', '25', NULL, NULL), +('69c16b1e-4878-4364-b0c7-62190431457e', 'external-dns', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196606+00', '5186bd9f83a77b966d931c97bf9a14ee51069a875a03d5e67f9303b6bee3bc0f', '51372645', '141', NULL, NULL), +('69e10a26-5e7b-4085-a978-ee93191f4162', 'trampoline', '20.0.0-0.ci+gita3fee0ec59c', 'trampoline_phase_2', '2026-06-10 13:51:51.899227+00', '5179ea10bb2bfc43a049757bccae8cc109e56f3f8010547d2b368c0358db94ca', '166276834', '151', NULL, NULL), +('69ef8c0b-e278-42e1-9c55-472cd8eeec49', 'clickhouse', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815696+00', 'a4018f67032bfed42de796aac36db4d4ce7c74220e59b8cb5e442c55561fbd22', '316983338', '115', NULL, NULL), +('69f4f2f5-767f-4684-b03d-2c46fe2f173c', 'trampoline', '17.0.0-0.ci+gitd17fb154c39', 'cosmo_trampoline_phase_1', '2025-10-17 15:59:09.507504+00', '127e91ac5e7de80a1180f16b5ad6cf54df5ea4ceb08d9d3e1200db6ddaffa43a', '33554432', '9', NULL, NULL), +('6a1e52c1-3deb-4b74-be32-48751529ae56', 'trampoline', '19.0.0-0.ci+gitefa6443bdeb', 'cosmo_trampoline_phase_1', '2026-04-07 22:15:07.062167+00', '8508c1d0bd24e260ec871e8a399256b3e0114d18841dfd0bfd4334a419a830c7', '33554432', '123', NULL, NULL), +('6a610b70-a3e9-467c-b189-7586dd7a224a', 'clickhouse_server', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.74277+00', '011d8cc3bfeaf66fc21bd01513065bb2676af709525a241dd47c71e9900b0973', '323763259', '3', NULL, NULL), +('6a6a3545-b0c2-4a0c-b185-23d9bdb20bfe', 'ntp', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684316+00', 'b1d6fc10e2e9ea94b457e99d47b43fa5a36793880d3f2adbb488e9461d647553', '29363054', '63', NULL, NULL), +('6a7c2847-380b-417b-bff5-d19d0972cb9a', 'gimlet-e', '1.0.57', 'gimlet_sp', '2026-01-22 00:31:09.684291+00', '1f69b7fd62ef4dc8e2a9653c9bd42faa787b81cce3c745c7f049f3cbf5669937', '5476251', '63', NULL, 'gimlet-e'), +('6a7f4411-4ed9-4b50-abef-f97c4e60be0a', 'clickhouse_keeper', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998666+00', 'ae9dafbef518d0c82613bb3ab5c6d9ed5d5a9313f03a971622e28537f2b47667', '312604329', '71', NULL, NULL), +('6ac5c0ea-5769-4a71-a1b1-17dca6e7b3af', 'installinator_document', '20.0.0-0.ci+git8ca64d81e70', 'installinator_document', '2026-05-15 17:47:41.247885+00', 'edd92bd4f1a93555393f1550c6ed17520a49d75db4d25c9498bea047791cbaaf', '924', '139', NULL, NULL), +('6ae202f0-8b6a-4e13-9465-69aa0cae4473', 'oximeter', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434251+00', '0a6e750eeec874816d54622b6d255f1d4bbd6e57b0afb6071f3429b25172d810', '66018203', '103', NULL, NULL), +('6ae55250-829c-44c1-9bf2-23ffd7fee852', 'clickhouse_server', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719341+00', '4ae8aae4fc3957978136da83437f264388635b40159e13ac763160ad00fc3deb', '323763259', '5', NULL, NULL), +('6b36e65d-972d-49b2-bd92-0278c0a9695c', 'oxide-rot-1-staging-devel', '1.0.36', 'switch_rot_image_a', '2025-10-10 16:09:24.468895+00', '32cf44bb7dbbe37cd384ab9d306b0bf17305c09f687da67a7d38115ffc649277', '1574050', '6', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1'), +('6b600163-1891-442d-9a59-3ea9b999196c', 'trampoline', '19.0.0-0.ci+git328ba48fdf8', 'trampoline_phase_2', '2026-03-03 05:18:25.051897+00', 'ce6242228261838cbd4b9e74fb9c697557e53a76070476e9d4f86279148b3cb0', '148584816', '105', NULL, NULL), +('6b870c8d-233a-4a07-90d7-fc4b5e5abe80', 'oximeter', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140755+00', 'e9d10cab7bd93ff936617c60560b51819c599d3cd9f53f95339fb10c43cf89fa', '63640340', '23', NULL, NULL), +('6be56fd5-7b61-4367-9c4b-f1aaaadfcab2', 'oxide-rot-1-selfsigned-bart', '1.0.36', 'switch_rot_image_b', '2025-10-10 16:09:24.468898+00', '4fe4fffde4bae8af1f2cf130a268f375ff3e644ace593afb9e4af82bbcaf8248', '1633990', '6', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('6c1366f0-8e18-464e-82c9-88756e192b9e', 'clickhouse_server', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051219+00', 'd53979d6b4a3b4c95175771cd03b65d06083a0121e901c72b16dbf6ddf0b0d14', '327328221', '93', NULL, NULL), +('6c30fec6-fb2d-4d2a-98a3-ba7ad92b77b5', 'sidecar-d', '1.0.60', 'switch_sp', '2026-02-13 19:04:31.652482+00', '8345c9a1ecabd6086d6e98972a380210236f5d2669e50c8a0c6861f80096e4f1', '6961082', '91', NULL, 'sidecar-d'), +('6c51810b-5a19-46a3-8010-ace38750aa4c', 'gimlet-d', '1.0.62', 'gimlet_sp', '2026-02-23 20:10:41.272974+00', '57fcfe996814261c37cec77757e089da36932685293b88c1664e514db48ff4e2', '5469365', '101', NULL, 'gimlet-d'), +('6c85a9a0-8a37-4a29-a030-c57495f75648', 'cockroachdb', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539551+00', 'ea7ca26e939d19943875f25496ea86a26a9d4e592a81980226844f28ff6374aa', '169058913', '79', NULL, NULL), +('6c8b3ed3-38d6-42c0-bbbe-fae6e855049f', 'clickhouse_keeper', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941523+00', '4b44dbb514719b945c83f19ac9c4e05f27c5995825843007b5e9946170d66a1e', '314295713', '153', NULL, NULL), +('6ca4bcf3-47c6-498a-8915-e44c8d971a81', 'probe', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963943+00', 'eefd4533c0e86d37dc29bcba2cc6fcf788e1ac7b253303d081fe47b025a12bc1', '3109590', '85', NULL, NULL), +('6cb0e554-90ef-472a-b261-538f92e520cb', 'oxide-rot-1-production-release-gimlet', '1.0.38', 'gimlet_rot_image_a', '2025-10-08 19:59:10.483182+00', '81a97eee9a4c9f2620ff36d50668c94b4851c87f1c91325e938beb6d716c8ab3', '1575096', '2', '5796ee3433f840519c3bcde73e19ee82ccb6af3857eddaabb928b8d9726d93c0', 'oxide-rot-1'), +('6cc034ab-cbd4-4dad-8942-8d339de1b73f', 'host', '20.0.0-0.ci+git13937a135d7', 'host_phase_2', '2026-06-09 22:54:35.291182+00', '95477372490b3c7a598019986f57dc3b4dd8d4c5437ff2bcad280d6c0b21f907', '1101008896', '149', NULL, NULL), +('6cdc1d20-0b46-4aaf-96a4-fa663a1be4ec', 'clickhouse_keeper', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.700998+00', '52478a9f3168c825281011ebb827b2f277891c81ab9a58df1d90edeab56eb606', '310642661', '53', NULL, NULL), +('6cea55e6-2e27-4204-b6a5-03cfddcce3f8', 'crucible-pantry-zone', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291186+00', '2a9eaaf2f1e898c94c1f0a6252af1e5cf1565f4923f4675e8686c5a90fa3920c', '42114925', '149', NULL, NULL), +('6d26c399-ff99-42da-bd8a-e699e08473c2', 'oximeter', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941527+00', 'b8fddcf789774fda4df161e805c80031c1da3d845e5cb050225876822ee8b19b', '69787822', '153', NULL, NULL), +('6d4805a2-6ff9-4e5e-81dc-5d75c5306b81', 'sidecar-d', '1.0.67', 'switch_sp', '2026-03-30 16:50:10.815786+00', '36cd4351b68f939124c0dadd69503800aa6118438193e17abb96f4251118707c', '6977239', '115', NULL, 'sidecar-d'), +('6d66947f-564d-4a27-9ad9-249dd689298a', 'nexus', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271941+00', '0973a71b6dc4d3f6204f9f5f3d4a692f7f446179d126cfe4b6149da627e80fa9', '216226363', '97', NULL, NULL), +('6d6f0a67-1f06-43a9-966a-6b57fe57f692', 'external-dns', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275324+00', '7d84d4d734362ec969ac85bd04041f8ccdfac0cca700a1130c33c97dc012d51d', '49940321', '81', NULL, NULL), +('6d711507-8384-47f2-a5c6-a53ea2c878e9', 'oximeter', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837895+00', '28839238acbac00e9c2312f39df397533093f49e4a16dffce07c2f02edc40fc2', '59253866', '111', NULL, NULL), +('6d8d398e-a4aa-4255-a2e0-30ecacd323eb', 'host', '17.0.0-0.ci+gitb8efb9a08b3', 'host_phase_2', '2025-10-08 20:35:41.742763+00', 'ff9e7fd4c0b524be22a7db1081ff406be995459362ff18845c38c04782a66302', '1048580096', '3', NULL, NULL), +('6e21e8fb-fc59-44cc-9fae-9f9d938f7a0d', 'cockroachdb', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921051+00', 'b754f96f428cb80b31d831e654dce2e7ed64af2165ad53bce1302cfd2c574eed', '161481703', '121', NULL, NULL), +('6e2818cc-46f7-4fa7-80d3-2e9a1405d549', 'ntp', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494832+00', '29f48400d766d6f4c75d692553aa3c7fa11eb9c0326a362f02d8bf3065b3a6d0', '29369183', '65', NULL, NULL), +('6e2b6c5d-4949-4ef5-8783-55d3dd9e29fb', 'host', '18.0.0-0.ci+git474c1588c05', 'host_phase_2', '2025-12-12 20:45:24.18127+00', 'b40d2ffd836313341e40fe7057d2a0d020667b8853175b01e40a835318826de2', '1101008896', '49', NULL, NULL), +('6e3ac7a4-3cd7-4b10-8e9d-6334601b2408', 'crucible-pantry-zone', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742772+00', '50f2c92028d6e229b1916e20145dc0e5ba729dfead9399a5ddbca0bbd227c0ce', '40347747', '3', NULL, NULL), +('6e3ca8ce-8645-4c16-9aa6-6452cb8f08f3', 'trampoline', '17.0.0-0.ci+git27b3ef9b9d0', 'trampoline_phase_2', '2025-11-07 00:26:09.449913+00', '59a468c602bdfd90b1bee695745e6dcb794d4d53d42d80a9529588b4a1e5b5e1', '152314902', '41', NULL, NULL), +('6ea0339d-2c9e-4c27-95eb-fce35c23abd6', 'internal-dns', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310192+00', 'b606890bb6261a0fc1d217568a9e7acf90b436166f1c0e0e1544b5e5518cb09c', '53093652', '133', NULL, NULL), +('6ef406cf-3424-41e0-a3ab-02eb065dfc8f', 'gimlet-d', '1.0.52', 'gimlet_sp', '2025-12-02 01:51:35.116874+00', '5569c9052db2ce13625aba84f1abafed0d51dc39660d25f15e249d5fc2241937', '5395066', '45', NULL, 'gimlet-d'), +('6efd972a-7f13-4276-9ccb-2058806630b3', 'sidecar-c', '1.73.0', 'switch_sp', '2026-06-30 16:46:25.762677+00', 'cea7c49aa89e3ce6eaf2846f9ced51b41fb806a09d8d613e35cc8bae4a48ea39', '6952046', '163', NULL, 'sidecar-c'), +('6f12d17f-fd19-42e6-bdb8-e565e9fe459a', 'trampoline', '17.0.0-0.ci+git56225535f8e', 'cosmo_trampoline_phase_1', '2025-10-29 18:02:18.899351+00', '9dc2df654eadb6c0835aa391da410d78d1f53396e0e11222c5bf87668bed004f', '33554432', '27', NULL, NULL), +('6f213b82-7e83-425d-af7f-18103950ce42', 'crucible-pantry-zone', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441924+00', 'f9313f9f142e5cc80b23bf918363bc6b131d8af39fdf952a7c42d88c221f6084', '42114926', '155', NULL, NULL), +('6f30c15f-e45a-465e-8db0-07d1106b4db2', 'crucible-pantry-zone', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112986+00', '123a5264b7cee6a7edde855bd4f8983c52a37fe750a789ef4e0a573eff38031f', '42535303', '75', NULL, NULL), +('6f321080-d3bb-459a-99f3-ca3c4d9d8f4e', 'crucible-zone', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.00424+00', '0b15212661a8eff3c5182718cd51fedbb767d1904bbd1584870feab4f4529afd', '58055191', '147', NULL, NULL), +('6f36a0a4-08c9-4f55-8156-4400a0156d93', 'clickhouse_server', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539551+00', 'f227a91c07ef97291a01b5a1e6072e5d6d84b8b58554dc0cca805611d19a3c89', '327166147', '79', NULL, NULL), +('6f79c469-c31b-4290-9a14-ae693cfb33d0', 'trampoline', '18.0.0-0.ci+git17cf00dbf0a', 'trampoline_phase_2', '2026-01-31 18:37:09.507161+00', '8c1a90b379b46783d6fb9361764626a8d643edcd23e48a71f5d40bd7f546d067', '144742875', '69', NULL, NULL), +('6f91b2fb-0612-4dc6-a403-2d416bab4f0f', 'external-dns', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243791+00', '182b965fc3ed9404f694bb63125438da98c9ca764127a05fec077d954122b009', '52067355', '17', NULL, NULL), +('6fa72ef8-ae21-4f27-b015-b5374c10f555', 'ntp', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471161+00', '865d5234550507c855d8a183b8f629f89fe5502126f931eb89293b96263f647f', '30351823', '87', NULL, NULL), +('6fbe997a-65c5-40b3-9fce-2fdfb9d27bde', 'probe', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757198+00', '9eac6e25f101cb0b4a4620bcc2a14fb6471e291c3663f6834e051a856784b0dd', '3109590', '11', NULL, NULL), +('6fca12fd-9abc-40c3-a732-e677258693a3', 'clickhouse', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.1169+00', 'f6903367192047e6a86bcadbce50b4521089b2d760130fa7181cb8ac0ba08fb2', '326639957', '45', NULL, NULL), +('7002d42c-92db-44cf-a5ed-7077e876b6be', 'oximeter', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291188+00', 'd838d056d22c819f64467570801d7c14437b026fcc55b699b6d5508f7c9cd121', '69787822', '149', NULL, NULL), +('7017b3ad-ef9a-4233-8cff-516899acb38c', 'psc-c', '1.0.67', 'psc_sp', '2026-03-30 16:50:10.815703+00', 'fc025c39b8f2900228a168a3fa29bb264d79b0de3b74c5cdd1126c5388150c17', '4141808', '115', NULL, 'psc-c'), +('7027a2f6-cfe2-42bb-82ec-68313fb81815', 'internal-dns', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051222+00', '83645cc6f27d9ef1029ede3734075eed26b7592b8458629094256d18da4aacd6', '50015083', '93', NULL, NULL), +('704e1739-825b-49ad-a9bb-a3a6f785110d', 'crucible-pantry-zone', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.49483+00', 'd94c690deafc782dbd5740fa78cb9b5503b127346cb8cf001db26c9b705d0b8e', '42357847', '65', NULL, NULL), +('70b25cb1-041b-4220-983b-fa36f3439dcc', 'crucible-zone', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719343+00', '2f978fbbfc531e5078f04ac5067aec81462c423a5f61340e5105833c32aad61b', '50316604', '5', NULL, NULL), +('70e844d4-bac4-40e5-b11d-41c734f44af2', 'clickhouse', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046698+00', 'd1bfe3508c9ed5c06c0324bc98ba032bdedca705e69a70a1b0edcc8adfdb36e2', '328712150', '51', NULL, NULL), +('713d595e-b194-439a-8626-de969ce3b9b8', 'nexus', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332951+00', '62639438ec8892a38242018f8c2e759cef32eccb6dd7f5e625a3329160ea3266', '221682390', '119', NULL, NULL), +('714ccd63-7e2b-4b7a-a071-713b69bab9f1', 'sidecar-c', '1.0.47', 'switch_sp', '2025-10-10 16:09:24.468894+00', 'f5fdbc1052249fa6eb7f3c62b2806707844e560a1fe9a1144f003bfcdb02c418', '6840284', '6', NULL, 'sidecar-c'), +('7154f4a7-5fde-4ea9-b4f6-d38791f9612a', 'probe', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539555+00', '4524c7182b218e1c964eaf5da2974ddad33d42cc4620425f5a2580353c5cf812', '3109590', '79', NULL, NULL), +('71610937-1cec-4b59-9041-ba1a4df0edae', 'gimlet-f', '1.0.59', 'gimlet_sp', '2026-02-11 17:36:00.471138+00', 'cb8af4ce9217bc764eaf9de8b71d21e715433d5fc74fef6b81a0fc3bf54e0101', '5466041', '87', NULL, 'gimlet-f'), +('71662f11-340d-4efc-b6cc-5b0aef6bd473', 'probe', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507171+00', '4d0debca62b0708dd3a2f568ec01734335d083a25282dc0d9434a3b1173c16d8', '3109590', '69', NULL, NULL), +('71930408-90ec-402e-981d-2392d6779581', 'psc-c', '1.0.59', 'psc_sp', '2026-02-11 17:36:00.471164+00', 'ee13d95bd19ac6943f7d026b40fa23df87e43aacd5edd7140f3d11f5d711cb9a', '4135787', '87', NULL, 'psc-c'), +('71aa5653-29d4-4c25-8c01-4665c450e033', 'crucible-zone', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038684+00', '26165f72b554c35ef596986058f908d60aa9147b8dd3ff0b0a030a169f79921d', '55936413', '117', NULL, NULL), +('71b2484d-8ef2-42e8-b05e-2cf1af541905', 'gimlet-e', '1.0.53', 'gimlet_sp', '2025-12-08 23:28:06.260741+00', 'a6695f254690f195e9efd2afd6a1ed185401b2055b4e8616493c21c58e00fced', '5397519', '47', NULL, 'gimlet-e'), +('71b7e313-1226-45d8-af3d-b4c139f5e90f', 'host', '17.0.0-0.ci+git495eab19cfc', 'cosmo_host_phase_1', '2025-10-31 23:54:18.71272+00', '993f9e666bfab02fd00df8f7e4942a4b6e58d97d0495b8d0c9b53012ab84ef83', '33554432', '33', NULL, NULL), +('71f18978-268a-439a-a69b-29877ec8fd16', 'external-dns', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272997+00', 'b781f1dd3b94bcd3094e6eef07090901facd0a07ca407ee6eddba72d9258e7c5', '50021378', '101', NULL, NULL), +('720b31c3-dab9-461e-a4e8-51297c5ff5a7', 'cockroachdb', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918398+00', 'a7e1ebbae5c99539b630372f33f80c7037dc5dd523f818d76d3b7f5bdd694068', '169146796', '99', NULL, NULL), +('7221ca9b-5f6b-4cfd-a044-eaf58e8c363a', 'clickhouse_server', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913093+00', 'ace1affddeaa96b9dda8d6e62a041485331c0bd7407582e394d6cbb906ade0fe', '328085539', '57', NULL, NULL), +('72285131-e640-4937-b720-fe9672855e33', 'crucible-zone', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471159+00', '2e07e6026a283820a996959db3a00bbab8c84a2c3e5f971679f1555540d64793', '57011400', '87', NULL, NULL), +('72314891-6504-4d6b-aad2-b1baca9c3973', 'probe', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604859+00', 'a0f4498bcd6f28daae1da6928ef3e432480bb261efc3ee353e6fe21779591e32', '3109590', '131', NULL, NULL), +('7281b0b5-3714-4676-85dc-6f7157387e02', 'trampoline', '21.0.0-0.ci+git2e789004327', 'cosmo_trampoline_phase_1', '2026-07-07 06:50:20.366492+00', '2999742969fa672357063bdd6ccc01f8b53faee82bcf30e392f4e851710b8ea9', '33554432', '167', NULL, NULL), +('72a1f17c-5333-4133-94ea-dc345b3d05a8', 'cosmo-b', '1.0.62', 'gimlet_sp', '2026-02-23 20:10:41.272973+00', '45d2c6ecdc073e2d6683df59a9af698ac48354f28db15796e440938c20a14454', '6519269', '101', NULL, 'cosmo-b'), +('72b4e00a-61f1-4534-8e72-3d58597974e4', 'probe', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638803+00', '879b69c16f366a7df86781508411aa8360541c699fceea871bd2dfcee24941c5', '3109590', '13', NULL, NULL), +('72c1b288-e84b-4581-b8a0-07149ff392de', 'oxide-rot-1-staging-devel-psc', '1.0.38', 'psc_rot_image_a', '2025-10-08 19:59:10.483204+00', '182163d70035bac9366199381894a51093e394111061322a5a198d04f55a98fc', '1575251', '2', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1'), +('72d39b15-b3f7-43f8-9573-07d626729b31', 'host', '19.0.0-0.ci+git544d3751f29', 'cosmo_host_phase_1', '2026-03-11 23:14:48.431935+00', '20e718ee71bf9954cc69ff44773c7b3c39e9084ba09e05fcd680c11a43c4a2b3', '33554432', '109', NULL, NULL), +('72e05850-9c47-4f1a-a172-203bf05c2b41', 'internal-dns', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062172+00', 'ef1ca1d70f9ee631eec4422987ff94fde4e498fd99b5d643dc60d6ec919134af', '53095050', '123', NULL, NULL), +('72e084f9-4e5e-4e8a-91ca-7d8109841d7c', 'sidecar-c', '1.0.55', 'switch_sp', '2025-12-24 16:09:17.701012+00', '9d9d42580a1ad7722d1ec679d95f578c48eaeacd3bcaa98f3d5558af87e8922a', '6855228', '53', NULL, 'sidecar-c'), +('72e820b0-0c30-4ad3-85a3-09ae44f35085', 'gimlet-e', '1.0.60', 'gimlet_sp', '2026-02-13 19:04:31.652444+00', 'b3ada863226921aad2c60d5dbfa46cb6f1c7ae3304e029edad78578f6fc83c6a', '5466150', '91', NULL, 'gimlet-e'), +('7305a63a-915f-4cf2-855f-46893aca6829', 'nexus', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112988+00', 'fce130f1c1839ba765e787840cf0e3ad0647e6a7b6991ed8fc0ce7941a438fc4', '215850178', '75', NULL, NULL), +('73155925-c67e-47fc-ba52-c3aa6facbbe3', 'sidecar-d', '1.0.52', 'switch_sp', '2025-12-02 01:51:35.11692+00', '39301b10549e165005ac92b1b4b8bf5eebdfe7b2be5af025f328e65d3af223f0', '6854930', '45', NULL, 'sidecar-d'), +('73581c01-3ad7-4878-87e7-f51c92496fb9', 'ntp', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291188+00', 'f6e64aadd7a18a46107205d19b546e0dc1a479104b6981aec54a5092be958eb4', '33588571', '149', NULL, NULL), +('7367a0da-22ad-4543-be38-74c75607cd5f', 'probe', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751862+00', '14065b1a77d9be91c9ff6c07f44c7da25bc3449476f4df4a14df1b50e1e8ab84', '3109590', '127', NULL, NULL), +('73c1c93c-7f3a-489a-9c36-fdbdb2f2476e', 'oxide-rot-1-production-release', '1.0.36', 'switch_rot_image_b', '2025-10-10 16:09:24.4689+00', '65cf78ae4f7d8599d2b37a571a2d0adddb85c15134394e235f98cf1c0ba2ed00', '1574685', '6', '5c69a42ee1f1e6cd5f356d14f81d46f8dbee783bb28777334226c689f169c0eb', 'oxide-rot-1'), +('73d1abd4-b3af-4b14-a7c5-b6795f26ce90', 'trampoline', '19.0.0-0.ci+git19d83513171', 'cosmo_trampoline_phase_1', '2026-04-05 04:30:51.921049+00', '5449db127c96f12dc7e75bd70316640a5d03e1f1600e5bb74f40d42978716b66', '33554432', '121', NULL, NULL), +('73d73ea6-6c43-49cb-a5b1-62201cdc8f23', 'trampoline', '18.0.0-0.ci+git52e04b3b26e', 'cosmo_trampoline_phase_1', '2026-02-03 11:37:20.329504+00', 'c17abf4c55dd3254ab7b0c4dae31b6fc857ca2c6e0e400c7b5b7a6e42acee3e2', '33554432', '73', NULL, NULL), +('73da1f0a-d1c5-4b50-8071-e3bf94f2ce9e', 'nexus', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008521+00', 'c3ebba099d72f870cb504ff489664f93960bfa659a505b7fab130877e0b78844', '191273802', '15', NULL, NULL), +('73fa662a-2cf3-4235-8605-4bb175dfebd7', 'installinator_document', '19.0.0-0.ci+git544d3751f29', 'installinator_document', '2026-03-11 23:14:48.431968+00', '31e8f13c12feda66fdd6c4700ab524037eb41c2e35d4c18e3dd768ac3cbf78aa', '924', '109', NULL, NULL), +('7452ef16-2418-40fb-aac8-5b464786d3d5', 'gimlet-f', '1.0.48', 'gimlet_sp', '2025-10-08 19:59:10.483171+00', '4cf6f2903399783cf4592af85dcc2da5e43177ccca81e2ef16547e77b3c52a1a', '5353198', '2', NULL, 'gimlet-f'), +('7454e237-0520-41b2-9adc-b24aa9c53055', 'sidecar-b', '1.0.58', 'switch_sp', '2026-01-28 21:07:59.478041+00', 'a5d4dbba7416745dd637bd8287ba89dae7af1ce47800261fee641ec9feaebee7', '6944467', '67', NULL, 'sidecar-b'), +('7468fc24-9c51-41a9-8182-bbd3d41a3a3a', 'internal-dns', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120344+00', 'b328fa29ff7ad487e984b022c692348e081d342edd14bddcb49c2d9cab930ea6', '50015083', '95', NULL, NULL), +('74c70e7f-4440-4076-a8d8-84906cf9c6a2', 'clickhouse_keeper', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062168+00', '0a5754f17eff61a82a6c1749504e1bddfd0706a70a58f4fd829a2ec9892e36bf', '314957497', '123', NULL, NULL), +('74e2aad9-0f70-4462-a875-cf8c7db546f5', 'staging-corim-oxide-rot-1-v1.0.38', '1.0.38', 'measurement_corpus', '2025-12-24 16:09:17.701003+00', '6a0944474534a8382709168a3dfbbddd6c65578ce86f9f7c251ec0e09c9a2498', '992', '53', NULL, NULL), +('74e5fa8b-38b9-4bcc-aeb1-9807c0790cf2', 'host', '18.0.0-0.ci+git52e04b3b26e', 'cosmo_host_phase_1', '2026-02-03 11:37:20.329502+00', 'c377377731bb52db81a5af010a53307255e74ddcb0ea35d9a989557d486c39e3', '33554432', '73', NULL, NULL), +('74e73d26-c58f-409b-ba0c-d6e266d1c441', 'psc-b', '1.0.63', 'psc_sp', '2026-03-06 17:26:46.282158+00', '02d6546eade792c54406d3d70b662a067d48af2fcf9c2aef47555e26a2944877', '4131795', '107', NULL, 'psc-b'), +('74f10036-6684-456d-a673-9c778d2c6d8e', 'installinator_document', '17.0.0-0.ci+git7bc5275729c', 'installinator_document', '2025-10-24 17:56:14.140769+00', 'de2c752b581cb892c688b2cdec9375fcd4c82aaa57ae1b0f39a48b0d5d5e7e54', '383', '23', NULL, NULL), +('755668c8-c1c6-4b09-b7a5-c0e8185bcd5f', 'nexus', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091144+00', 'fba26dab7cbfc54a6e2b24757e9651d19d6c855416ba2afbb1c3819d97e0f7de', '204594076', '59', NULL, NULL), +('7564716f-ac7d-4b0e-8bc3-bb5e281464ff', 'probe', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684317+00', '293565e69b768b868b9d99a91a601d7ac457e28eed88912908c9e8bf62dfd09f', '3109590', '63', NULL, NULL), +('7580d63b-063b-4538-8bf9-b13bdf936db2', 'oximeter', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.9131+00', '0dd796696c41a10f604e904ca7822d7f4e5091dca4dd1d90c02e755a35f40052', '68064438', '57', NULL, NULL), +('75dc5209-700b-4c09-a49d-01e34ea946bf', 'clickhouse', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712723+00', 'b6993c8eb5fe21afc52e1e53b9624534df7d3c60b7096284ee8b6a3f1f45961a', '325918063', '33', NULL, NULL), +('75e39cd1-6a46-4bf8-9666-9a3c18898a4b', 'cockroachdb', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190078+00', '3bcb63b13e83683e8e4b8d7a42a76577a5dd78981899d4ecc0657f24248d3cde', '169070040', '89', NULL, NULL), +('761e5c4f-a101-48bc-b571-1587ddad2bab', 'nexus', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181279+00', '07643c2bd63c7ce55bfeda1a3d52f33d6e9540d26a0343f16bd36e3fb7d13dcb', '200395723', '49', NULL, NULL), +('767b93e4-b473-4cf0-870c-4b9104e1326e', 'trampoline', '18.1.0-0.ci+git1003e128ad7', 'cosmo_trampoline_phase_1', '2026-02-19 02:24:10.12034+00', '8c21394e79df97dbf54f3b5aa25b4077179b334de078f96c2c482e6df499f8aa', '33554432', '95', NULL, NULL), +('768f8dc0-75e1-4160-8cb0-b5fd650f3b5d', 'crucible-zone', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599295+00', 'eb05042e1537f3e32c212776e625f221682e44e6dff4312c5af350e0267e9215', '50316604', '4', NULL, NULL), +('7692e1ff-faed-4695-b535-95eab9f1d1cb', 'external-dns', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112987+00', '04142e50316a859add12b92dd2742cad271336dab61bfc25825ae32de5570047', '49942175', '75', NULL, NULL), +('76a0a180-6ed2-47bf-bfa0-6f75db158616', 'probe', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271944+00', '4051cccb6588e7b0f11132dc42191f01a8780704676254ed5277c8e05d859c62', '3109590', '97', NULL, NULL), +('76c655e0-8012-4092-a479-bb7e0e71eb47', 'internal-dns', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710743+00', '0eefb4f9926f5c9ecbf6aa14f353f0fd6a7a28c6daf308e661657e2d0c315c99', '52067713', '29', NULL, NULL), +('76dd2202-a29b-4d43-9e4c-44d18b507ced', 'cockroachdb', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431941+00', '058f754e39a065916a2a65c90973046f0c12dca56d2497921e8389d7e322005e', '159844073', '109', NULL, NULL), +('7720b4b3-67b6-4b81-9c63-27966343605c', 'trampoline', '19.0.0-0.ci+git1d6977056c6', 'cosmo_trampoline_phase_1', '2026-02-25 21:15:36.434239+00', 'fb51a864329359d6e6fc892e48fae5be5bd40197ad0bf88df0998e97865829a3', '33554432', '103', NULL, NULL), +('776b855c-8782-45b6-9a6c-4a0eff611188', 'ntp', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684121+00', '2fe6cd020e6f699c90dd56800e2624bfba9b9a87d0f13cc3cde22d80b143b074', '30356275', '83', NULL, NULL), +('7785216e-d806-4957-a42b-bd530beeee32', 'installinator_document', '18.0.0-0.ci+git17cf00dbf0a', 'installinator_document', '2026-01-31 18:37:09.5072+00', '3c3d643539c2191ddf8320c7dcbc5e5b472bf333e3f64088f8681155833a99bd', '924', '69', NULL, NULL), +('778a7337-b5cb-4388-a467-2cb34848758a', 'cockroachdb', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.89923+00', '146af284a9ccad05562e3b466977cf4ac30cc1b1fb6e4404e43ee934f639820b', '170132704', '151', NULL, NULL), +('77a12005-7c64-4024-9617-c631a745198e', 'installinator_document', '20.1.0-0.ci+gitf6ef6642eaa', 'installinator_document', '2026-06-23 04:22:03.471637+00', 'a28eb9d255b6cfe0aad80d6fd759e3de33bd09e16b941c5e1b08c8ca3f07c8f1', '924', '159', NULL, NULL), +('77a25023-e6c7-47cd-94fd-df18fda06105', 'ntp', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243793+00', '6f5086769e2fc43b5be1566e30b6548fb03b37ad505f2e81b160ba2c62f8ad4e', '34046458', '17', NULL, NULL), +('77a3efd6-fbfd-4b5c-a47c-7bce385e7d85', 'oximeter', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.65912+00', '1952e878aba7c5444bb4f8c6a3287d2ea9e3f8f66f74b0d9e6da285b95d812b2', '68724849', '143', NULL, NULL), +('77aa8acf-f65c-40c3-95a0-1c0e3f50d7e3', 'installinator_document', '21.0.0-0.local+git04909b7e827', 'installinator_document', '2026-07-02 17:06:15.780119+00', '31533c977a58bcdd6b997858cfda2fa1bec6eeeeddbe6c6eca85323673300fdd', '927', '165', NULL, NULL), +('77b674e2-ad5e-4257-bd8c-8872a8aa465e', 'host', '19.0.0-0.ci+git10b9f2fb872', 'host_phase_2', '2026-03-17 20:02:46.884105+00', '9f25e02888eaabe888d8060850e5f6887db7db175970eb7c732fcf19361fb2fa', '1101008896', '113', NULL, NULL), +('77d6e8c9-4375-4ad1-8ab0-b35864543d3c', 'host', '21.0.0-0.ci+git2e789004327', 'gimlet_host_phase_1', '2026-07-07 06:50:20.36649+00', '1b7f9e99a84f3e237a0e42e94129e05ded6c178e80d002f58bab1e707791b071', '33554432', '167', NULL, NULL), +('7823af4f-b612-4863-b174-fc176da93c70', 'ntp', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981016+00', '3a75fc8586a244fe6baf6a756170500e69d58856a46827baef90e52089e1f75d', '33588571', '161', NULL, NULL), +('784b012f-f129-4012-ad5f-66900cd197d0', 'gimlet_rot_bootloader-staging-devel', '1.4.0', 'gimlet_rot_bootloader', '2025-10-08 19:59:10.483186+00', '1c3b4f89b0681df78ec648d697f81e6e1fb0ed89c2ecae0fdb046130dc166070', '46792', '2', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1'), +('784bc786-818e-4a5e-8364-31ca34c87b25', 'cockroachdb', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663973+00', '003628230096ec6e39317bf15b1d407882e996a51be255c1f4111c848f25a3ac', '172225345', '31', NULL, NULL), +('786b40ad-0027-463b-9d5a-ffcad5d0ee4b', 'gimlet-f', '1.0.47', 'gimlet_sp', '2025-10-10 16:09:24.468866+00', '168b387bf4c42063d6a5bc5737eaa90ed445aca445604878c81c5facfba7396e', '5303081', '6', NULL, 'gimlet-f'), +('7882f6d7-9e3a-496b-b3fb-e4191586daf0', 'host', '17.0.0-0.ci+git27b3ef9b9d0', 'host_phase_2', '2025-11-07 00:26:09.449911+00', '86a2b812218f5a7813a13b5ab3b8f35e1e528e1908cd0a68e4a093c8515d30d8', '1048580096', '41', NULL, NULL), +('78af4915-c2fb-47c8-9725-df22666807d5', 'gimlet-d', '1.0.60', 'gimlet_sp', '2026-02-13 19:04:31.652444+00', '4d3030fcfaed0f80bc69fc997809a344b687d0f8199ed4bee2239222d0047657', '5466547', '91', NULL, 'gimlet-d'), +('78d2153f-eceb-4b83-9e30-af26d311f4bc', 'host', '19.0.0-0.ci+git544d3751f29', 'host_phase_2', '2026-03-11 23:14:48.431936+00', '23b5bd8a8d9ea61e0c03e3f3809a8295adf7446e80602ef7bbd47290b00769fd', '1101008896', '109', NULL, NULL), +('78eb1ad9-32ed-4cdb-b31d-accaab3c7316', 'internal-dns', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684315+00', '5159e55c269a8cc52287d8ccc7e506095ee7e801a733a6fb680432fc01c0aafe', '48681224', '63', NULL, NULL), +('78f776e5-1f0f-4b1b-917a-98ca769dc631', 'gimlet-f', '1.76.0', 'gimlet_sp', '2026-07-07 06:50:20.366476+00', '9365108e16312e19b94ae5fdf989b3772cb906ee98a93e16bacec49da3da3380', '5470166', '167', NULL, 'gimlet-f'), +('794e62fb-a624-418a-86bf-f822b12a68cb', 'ntp', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.24786+00', 'f39920f4d03dceff2bf54290784e966e1c5a08f3516989644c8fc3953e949478', '32941024', '139', NULL, NULL), +('7959ef8d-a0df-4bb0-a1ab-340804dfba22', 'internal-dns', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.75186+00', '54424331730cf10ea1af3c4450c9923d5d625dd54a15a75bdaffb47a9eac7a62', '53095050', '127', NULL, NULL), +('798b9aac-11ab-4be4-ae50-676178589cd7', 'trampoline', '19.2.0-0.ci+gite4b75dde134', 'cosmo_trampoline_phase_1', '2026-04-21 23:08:35.310188+00', '1ab7c2df1cdd76bb19227caefb676fd831d8c4a77a76d973cb43241a1e462e82', '33554432', '133', NULL, NULL), +('79a6baa0-eb70-42ca-ba3e-61aca64f75ba', 'host', '20.0.0-0.ci+git863b79d5cd0', 'cosmo_host_phase_1', '2026-06-11 05:31:34.94152+00', '526d932c3a88706d5b28a6eb911d8b4dac5dad9c0cf30bc79bf2e3c402314576', '33554432', '153', NULL, NULL), +('79be199e-ceca-442f-adbd-f48cab8a6b9e', 'clickhouse_keeper', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899228+00', 'a519e6d91933deee9c7ae6438ab402a4a95f8928f127c638a8c2c0b6c1cf81a8', '314295713', '151', NULL, NULL), +('79cbbf8e-2fee-4ec5-bab0-ff5b52dc272f', 'clickhouse', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608566+00', '0b947b5291ce9804149d8aaf04c614f702a10fe6805cecda93b2b4401821fd8b', '331381056', '129', NULL, NULL), +('79d1c6ef-47bc-402c-8d7f-5beb7169056b', 'cockroachdb', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196605+00', '5da8a4368731c7bc607f41061383ce62340d7fc1cb8f5c4359d42237ba5fb1ed', '169551985', '141', NULL, NULL), +('79d5b449-bae4-40fe-8e89-9c3f61ea9c4b', 'trampoline', '17.0.0-0.ci+gitaf3b89ffce6', 'gimlet_trampoline_phase_1', '2025-10-23 06:08:33.419118+00', '31ed0192dc8a49cb8fa4bc5013f18cef7569e04124b4636ea5c835e1465e195e', '33554432', '21', NULL, NULL), +('79d7aeee-5162-4eb9-8d55-b174d89001db', 'clickhouse', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196605+00', 'fd8f74603994ae57526b4bc3a1b51f7d24b08364e0c7a44a93be726f8584492f', '328664090', '141', NULL, NULL), +('79e7a661-413d-469f-b9ad-b29b357f33f2', 'clickhouse_keeper', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663972+00', 'c4358f92e4755fb5b62af594f1b1280f793112b3f1b95f09252ccf583c662c4e', '309310957', '31', NULL, NULL), +('7a4eb3db-6d9a-47d5-b539-334401edd63e', 'oximeter', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.32951+00', '0f39c14980c77761c7b83c5f0745d96dcb3829cb32518131405fe70d223c91da', '69510694', '73', NULL, NULL), +('7a6cae80-8f63-4d71-9ea4-353e1e2c5147', 'clickhouse_server', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918397+00', 'fa51c888f9e16fd10c02ed3819504b5663680cc984427f926fcbb15c01515c5a', '327328221', '99', NULL, NULL), +('7ae69a14-5a9d-4ba8-a9ad-cd5c907c3eca', 'installinator_document', '20.0.0-0.ci+git4bb727667c9', 'installinator_document', '2026-06-08 18:04:19.004261+00', '75cf0605926a60b668fea24364a9bad92a4fb06f96182aa800394d81e36c8cc7', '924', '147', NULL, NULL), +('7b43174b-202c-49ac-9427-054b61add13e', 'trampoline', '20.1.0-0.ci+gitde1271a3c77', 'gimlet_trampoline_phase_1', '2026-06-26 16:41:54.981007+00', '9eccd0fa2816f591823ae609007dfa58ffbf7249c90923334deb2cbba8cdca92', '33554432', '161', NULL, NULL), +('7b465361-3b8a-459c-a665-92b9fba876b4', 'gimlet-c', '1.0.63', 'gimlet_sp', '2026-03-06 17:26:46.28213+00', '3d7ab2a9a444ec467d0cef32d7b42696d6d1aa098265689a14fc1893e1e2dff7', '5469217', '107', NULL, 'gimlet-c'), +('7b6b9d42-e16c-4c4e-9089-36cd0efa4a39', 'internal-dns', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468882+00', '0b120bb5da00d04ba9aeb47b8dc74bf8192d184004a0d20740832bf6a2011606', '52796022', '6', NULL, NULL), +('7b7e690b-c1db-4bda-8913-788d0c74aef7', 'trampoline', '20.1.0-0.ci+git846f6a0ad0a', 'cosmo_trampoline_phase_1', '2026-06-18 21:11:25.441919+00', 'f928832e0cc8da427e7e5eb844f00c24060e52dc372600710d9356fbf226c109', '33554432', '155', NULL, NULL), +('7bb46897-d355-42ab-ac27-7252d33fb89a', 'internal-dns', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837893+00', '35dac2de497e242a63fcbc820ff264155624ec25aafafce9bb4a41866b7e5794', '42529490', '111', NULL, NULL), +('7bbe75fe-8312-4f25-8812-34aa9d1e0975', 'internal-dns', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576983+00', 'f514c9edafeb55b74a47c9d2209fca186d1f7d057f7c0cda6a1679a89107683c', '53095050', '125', NULL, NULL), +('7bd95fca-e3bc-4ab1-9fa2-b65c5327a9eb', 'probe', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998671+00', 'cc5a9bb388f430a5ead6f185b6c0b97bf773a97aefd1caf4ab757114f6d2a69f', '3109590', '71', NULL, NULL), +('7bdba9f8-3b6d-486d-bccf-298a008232ba', 'probe', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449919+00', '2934c9a7d15fa8e7c2fe62d6e943cecde88c9a0380df30655b0e8db9ad8ae590', '3109590', '41', NULL, NULL), +('7bf87bb5-943b-420c-b362-f0890c355ccc', 'oxide-rot-1-production-release', '1.0.36', 'gimlet_rot_image_a', '2025-10-10 16:09:24.468871+00', 'adc41db6f4ddb68ca07b1ed41618057db155b07c45650ccb9bfa9f0d4bcb2194', '1573862', '6', '5796ee3433f840519c3bcde73e19ee82ccb6af3857eddaabb928b8d9726d93c0', 'oxide-rot-1'), +('7c162f02-d6ab-4bd0-a79a-c9eaf0071e62', 'installinator_document', '17.0.0-0.ci+git8c683c74af9', 'installinator_document', '2025-10-10 16:09:24.46897+00', '2c63e3fbbb687dd9941c1d510c2e8c1e8e6e08aa305b4ae6738070d6ceb7c666', '383', '6', NULL, NULL), +('7c41b0a2-9051-4291-9f6a-a538aa46e0ae', 'crucible-pantry-zone', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205392+00', '1208c643c646e15a6a7544b228fb1f50902b05c41ea3426e0b69ab127a635542', '44674753', '19', NULL, NULL), +('7c52534c-b535-40d4-b31c-54e26f4662f6', 'crucible-pantry-zone', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757195+00', 'c9989744a2901c2036a1e9458b1c8298813096bd01bff93be056f054aa3c9427', '44680104', '11', NULL, NULL), +('7c6e0467-916d-4a88-923e-642e216a9ec4', 'gimlet-b', '1.73.0', 'gimlet_sp', '2026-06-30 16:46:25.762643+00', '26b5e4a94400306d78dd3862abc3f9dd86c508ae121ad85a469aa1c5c925d0ca', '5470575', '163', NULL, 'gimlet-b'), +('7c8b82ba-4961-4c07-b3e6-1cebef6ac9be', 'cockroachdb', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449915+00', 'ab5f2c4e4e9986d256b915268dcb70a3c1bc72e3f3f775e92bfb2f693c61b280', '169662894', '41', NULL, NULL), +('7cb05b77-37e4-445b-aa97-aa60b4dbf87e', 'gimlet-d', '1.0.47', 'gimlet_sp', '2025-10-10 16:09:24.468865+00', '04cb2707133b9050c0fb15f3eee6650732ba60ccb7065e8e642d7649922aff84', '5302911', '6', NULL, 'gimlet-d'), +('7cf93d74-0f3f-4cc0-b513-43541a99669a', 'host', '18.0.0-0.ci+git0ee7d730282', 'cosmo_host_phase_1', '2026-02-11 17:36:00.471154+00', '0e58c3d02e6a48e69a8adfe9b0c24f146dcfe3d9839b2ec45a9319ed521e3ebf', '33554432', '87', NULL, NULL), +('7d254395-6a2c-4b91-aa87-53fcf2d72131', 'host', '18.0.0-0.ci+git6601b8ec8a4', 'gimlet_host_phase_1', '2025-12-02 01:51:35.116894+00', 'e8f09dd6ad85907af1a2fa2bae6051d1953b0c2240a22b73b7bcb231e7509bee', '33554432', '45', NULL, NULL), +('7d964884-2058-4429-8a03-1e984e767b12', 'host', '17.0.0-0.ci+git495eab19cfc', 'gimlet_host_phase_1', '2025-10-31 23:54:18.71272+00', '679685d4102c51b90ddc3c02087ddfa8c7a7b069a24a8537acde6f864fcb01fd', '33554432', '33', NULL, NULL), +('7da2489b-7a3e-476e-a7bd-0669647a26c5', 'host', '17.0.0-0.ci+git76ec1fa523c', 'gimlet_host_phase_1', '2025-10-09 16:20:40.719336+00', '689e06ebc22911e5f6bc568a53301268481e01e87bd44bab229ba41ef31129bc', '33554432', '5', NULL, NULL), +('7dda420e-bf0e-46dc-a9aa-7be6043db8a3', 'oximeter', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.60857+00', '5d98cba74434affbffc86a42c0eca1ef640f7a652940f13dddd3648f8b66cd47', '70151669', '129', NULL, NULL), +('7e14fc5b-e57e-411f-8fb7-03206a4cdd7f', 'trampoline', '17.0.0-0.ci+git8c683c74af9', 'gimlet_trampoline_phase_1', '2025-10-10 16:09:24.468877+00', '4568ff27b4d3c076ca939bfc119c0308fd9d9f0809147b87d98d4fa2ca7e3659', '33554432', '6', NULL, NULL), +('7e366df1-d841-46ba-b496-a894d4b53b42', 'cosmo-a', '1.0.62', 'gimlet_sp', '2026-02-23 20:10:41.272972+00', '30400b0cba8024252ad87988888c0b4ff507f0dbd94de495853438170c48db6f', '6519345', '101', NULL, 'cosmo-a'), +('7e51df3c-2086-485d-8707-d5d93d3c07db', 'probe', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780091+00', '8edd67431a6555deb86dc955fbfba2401bad22affa3f7d8bd035fd0de45da039', '3109595', '165', NULL, NULL), +('7e63cc38-11de-4bd1-880b-adde8dcb4201', 'trampoline', '18.0.0-0.ci+git4a456c99797', 'gimlet_trampoline_phase_1', '2026-02-14 05:49:55.051217+00', 'cd3becd598fe362eda1b58dad53cc46268de71ccd809a36a75ae9506e80c3d75', '33554432', '93', NULL, NULL), +('7e829bf1-c130-4bd7-9876-4368291d27da', 'installinator_document', '19.0.0-0.ci+git10b9f2fb872', 'installinator_document', '2026-03-17 20:02:46.884143+00', '3d57a2953c4d53bfeb196bffb9e0604ad1eadcd8ae40d1155753d29ee212fc6f', '924', '113', NULL, NULL), +('7e947589-b81b-4de9-8ef7-24eee65defdd', 'oxide-rot-1-selfsigned-staging-devel', '1.0.36', 'psc_rot_image_a', '2025-10-10 16:09:24.468887+00', '0def6af74a41540e06c9e68ae2afe8da682bf824c8c09403d93ab78ba19ad940', '1639167', '6', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1-selfsigned'), +('7eeefc94-fa49-4a2a-b68c-b6d4f7819e48', 'clickhouse', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120342+00', '096e6b33cdd5220f9955982b39a09c802e165b7f42bbd4796a3b7a796d6af7c5', '327329201', '95', NULL, NULL), +('7f2377e0-d23a-49b3-9b69-1beb90dc6d7d', 'external-dns', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090448+00', '2a76ac82d3b1364e1e041ed78ff2c22af6534e40452120c3897b5466c27409f4', '49941681', '77', NULL, NULL), +('7fa777e0-4a34-4b9f-b1ef-c7d09d4a5b3c', 'sidecar-b', '1.0.47', 'switch_sp', '2025-10-10 16:09:24.468894+00', '98cc1fdd57b55f7508d294ff0a5995cc8581b0f14c5f98f82a5f8a9ae4aca5a0', '6823309', '6', NULL, 'sidecar-b'), +('7fb24d27-30ab-409f-ad17-b40b49ba9f00', 'trampoline', '18.0.0-0.ci+gitc298def0b9f', 'trampoline_phase_2', '2025-12-24 16:09:17.700998+00', 'cb7e68162a58bb78b8d4de73006024b155d2df6c6761caf2c7256b948570541a', '151922195', '53', NULL, NULL), +('7fb8a8b8-7abf-4172-bfea-c2cfd93949e4', 'probe', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190081+00', '013e9ec269de6c0119e3dfe379072e015af1133694f56d5c1fa9268f71080eca', '3109590', '89', NULL, NULL), +('7fe0764a-5b0a-4bb5-96e3-c802c9f819d3', 'installinator_document', '19.0.0-0.ci+gite2fe4014825', 'installinator_document', '2026-03-30 16:50:10.815795+00', '00c1c1dbbab87c5e21b60fc8ddf6049939ed90800998b217c4bffa3fa2f579f4', '924', '115', NULL, NULL), +('7ff5f490-89a4-4e7a-87c1-ed3fece00c73', 'switch_rot_bootloader-staging-devel', '1.4.0', 'switch_rot_bootloader', '2025-10-08 19:59:10.483224+00', 'f1b2a2ceec8089a3ae641845beb1a5bb1eca4fa2b750d5a7a5d45c69324cb684', '46817', '2', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1'), +('8009f4b7-4a01-4add-9747-63f9176ae79e', 'trampoline', '17.0.0-0.ci+git81d822614e1', 'gimlet_trampoline_phase_1', '2025-11-04 22:17:21.74443+00', 'a53f8f6f8f496a5d9d83d30ca625ad335f3eb93f95265b6914c18f1c7b7b16bf', '33554432', '37', NULL, NULL), +('804ed750-19c2-4b74-9bd3-c3f0119d0a98', 'gimlet-d', '1.0.71', 'gimlet_sp', '2026-05-27 02:26:01.196592+00', '17f437ef9c7855e70fd6cd65f8fd9accfc6a1095cb4ef3e33a3c3248b748552f', '5555753', '141', NULL, 'gimlet-d'), +('8051a126-679c-4c46-b1a3-68f2ee49b8ce', 'host', '18.0.0-0.ci+git474c1588c05', 'gimlet_host_phase_1', '2025-12-12 20:45:24.181268+00', '11429508a705f057d6d32777d8d683b36b46b661410195ae7828ad19eabac593', '33554432', '49', NULL, NULL), +('806024c2-b77c-4930-8c48-e592fbb5f4dd', 'trampoline', '19.0.0-0.ci+git42726ecbb1b', 'cosmo_trampoline_phase_1', '2026-04-08 00:24:54.576979+00', 'bb7b6c8cce71ba9c8b90e7c140842d083838e8d44c8ab7d04289f7e5146f70b9', '33554432', '125', NULL, NULL), +('80f5dde8-b04c-484c-b622-ec90c149a540', 'trampoline', '20.0.0-0.ci+git3dc79fe53b1', 'cosmo_trampoline_phase_1', '2026-05-27 02:26:01.196603+00', '1b7d53a11455a3b6314c59bc138f1e258d7493d3a10ebf1b3061fab1da12a9b5', '33554432', '141', NULL, NULL), +('813a3bf0-32ca-4826-8763-abda61d8a35c', 'sidecar-c', '1.0.63', 'switch_sp', '2026-03-06 17:26:46.282168+00', '7b7fbfe80d0e3c326e40d6bc6915b9c2fe503be0e1f9bb9f9a0bad890e1a1012', '6961802', '107', NULL, 'sidecar-c'), +('816c48f8-61e6-4f50-85a6-019b6e63e24c', 'host', '18.0.0-0.ci+gitc643ed39da8', 'cosmo_host_phase_1', '2026-02-10 13:49:39.684113+00', 'b7cf01806dbd216a2d01eca5e03d4af8005a7e79097056edb53950dc26f67f46', '33554432', '83', NULL, NULL), +('816f82b9-5d18-4c76-bfbe-c8ac0bfd7876', 'crucible-zone', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913096+00', 'fb8e080459f307d59ca81aeb480a930f82b69bbe1fe1483e6d0860a9b4f2a283', '60054865', '57', NULL, NULL), +('8198f20e-be57-48a3-bc9d-a7945ec3f43a', 'clickhouse_keeper', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652464+00', '6fbbd35f3e11fc3a30e9d1b78b786eec698cd65e4fcae3b311aa56c1f55abd39', '309765502', '91', NULL, NULL), +('81993e70-60dd-45cd-90ce-d7b1266d70c4', 'clickhouse_keeper', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116899+00', '2d9a1db7386bd4a1d494789bb03371c39b2ce04968338995661c943f3e79d398', '309886990', '45', NULL, NULL), +('819a1ebd-9a6b-4a99-9e16-43634c485bde', 'host', '21.0.0-0.ci+git99277253c16', 'cosmo_host_phase_1', '2026-06-30 16:46:25.762658+00', '2c1a6068784f7fa61c503ef96b8979c587648c4ccec339d9ed4a545425cfa90d', '33554432', '163', NULL, NULL), +('81a3f71d-3d08-4d11-b145-6bea2f6b8615', 'crucible-pantry-zone', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684314+00', '0f2f2731c8f91d1d7dbc48bc654e889ae642b3f238e9af29b082fac021c48f22', '42352870', '63', NULL, NULL), +('81a98ce6-6994-4cb2-935e-5bcd50e9a05c', 'host', '17.0.0-0.ci+git34818139bb2', 'gimlet_host_phase_1', '2025-10-21 22:30:59.008513+00', '51740efd334a1f8c02ba26c90e44219666c4c3ba6e932418e379db0eb190189a', '33554432', '15', NULL, NULL), +('81ab28fa-2689-4cf5-a880-3c4c9b709a97', 'trampoline', '17.0.0-0.ci+gitc5c0834b174', 'cosmo_trampoline_phase_1', '2025-10-30 00:44:34.710738+00', '212d54d3d0bb452b48fa089e5528bdd1bf190d066c8178b9055b1a6d90371f4f', '33554432', '29', NULL, NULL), +('8267854d-6a02-4de1-aafe-c7f800119902', 'installinator_document', '18.0.0-0.ci+git078382f5d9c', 'installinator_document', '2025-12-08 23:28:06.260776+00', '2e8d93e16d468992bb81df09f6ee50edcce557b4225640dd6d90a942dc01729b', '383', '47', NULL, NULL), +('826f92d6-8dfc-4394-b2ab-7afe24621eb5', 'cockroachdb', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762663+00', '05ee8c0ed2d09336c6a12497269d54cd6c2642906323e368837f7fb3368256bb', '165593473', '163', NULL, NULL), +('827eaf01-e526-4e52-8374-ab78de9e5607', 'gimlet-c', '1.76.0', 'gimlet_sp', '2026-07-07 06:50:20.366474+00', '468a3793814a0a38efb97af0a88ca18ad15cd283705e67abc0648e200389b928', '5490780', '167', NULL, 'gimlet-c'), +('82ecc1db-9581-4240-aea2-68a2ad781779', 'crucible-pantry-zone', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063851+00', '4acf8b498c66915368d56ff3904082720d2b2ff2c1c2cf2b4aef7c1fea45f956', '44790535', '35', NULL, NULL), +('82fea57e-c376-46d7-91a6-d00fe69bba57', 'clickhouse_keeper', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837887+00', '2fa440d1b925f0bfe179db56c281dae66735608b418268e0022d01fbf1c35112', '294738484', '111', NULL, NULL), +('8303c5d3-3219-40a3-8cba-d4affb4d4aff', 'host', '17.0.0-0.ci+git178c3c1ae84', 'host_phase_2', '2025-10-08 19:59:10.48319+00', '71648440d5f7362919a077f681203410129dff1bec35d8aaecff61372e0da7cd', '1048580096', '2', NULL, NULL), +('834cf993-030b-4148-839d-60cf0bf36c3c', 'host', '18.0.0-0.ci+git4175bf66d6c', 'cosmo_host_phase_1', '2026-01-18 22:34:16.803639+00', '42076d30772bf1658d281e06c5a5b97eab03ac235df1200295d8e7da3eac3619', '33554432', '61', NULL, NULL), +('83653737-7a72-4826-9e06-c1fcf21daae5', 'clickhouse_server', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366494+00', '24e61ca304cba14ccaf32797c1c3240363616f3bd42a64802f7e364e0b1bfadb', '318825432', '167', NULL, NULL), +('8387d652-8986-468f-9565-e2757fb90f43', 'external-dns', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468882+00', 'e553b94f469bd27c1850657c5d26ecc34abec648a8f3409dff976784a94cf6ae', '52796422', '6', NULL, NULL), +('838c7480-53be-4fb0-a492-aa50101f8853', 'crucible-zone', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471613+00', '7a663b3cccc43f7e01dcb01ac671e128abd843f6feb32d09683c6d5ffb041c4d', '58058508', '159', NULL, NULL), +('83dc891c-01af-4c44-9afc-1fddef94788a', 'trampoline', '18.0.0-0.ci+git3b3f937d05f', 'gimlet_trampoline_phase_1', '2026-01-01 00:51:32.078608+00', 'f7d77e7a2c06a7b5aea65a57b90672630e0c8481cf6ce52c6d40197257cb4077', '33554432', '55', NULL, NULL), +('84743715-62f5-493d-8d29-f03f414a65d4', 'installinator_document', '20.0.0-0.ci+git2e319eb3b9b', 'installinator_document', '2026-05-28 01:22:57.659135+00', '9ac15d815b7831e7b3364b1c0f8d06851c7e520326ae2345824d257160c13ee8', '924', '143', NULL, NULL), +('84c45a4f-0a28-4f40-9e78-65de3f838b06', 'nexus', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468883+00', 'c133038cfcdb7e4896f66a15c44f57cb93f9580bab3b9f9cca0e34b02f45f228', '192569328', '6', NULL, NULL), +('84ec3871-a608-4f3f-be0c-71812b6bbe15', 'cosmo-b', '1.0.53', 'gimlet_sp', '2025-12-08 23:28:06.260739+00', '068a0698ec6b49bc29cac651c338aac023ed1ddd43df0da7a12cc965b0b5cba6', '6439749', '47', NULL, 'cosmo-b'), +('84fc7d2b-5971-4538-8434-8f351332cbd0', 'probe', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913101+00', 'ad9eb67fb5c7909decd9fc98ad481632ec26e518261164bfb3bbd692c1ba5c69', '3109590', '57', NULL, NULL), +('85264b68-e8e4-4ed4-8f58-92ef039c9629', 'probe', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652469+00', '7f49a684dfec4ae7fc76334102a8d17598e60401dca03269b50d057a0cc24a26', '3109590', '91', NULL, NULL), +('8559f40c-d5c4-4611-8d57-6f2994362322', 'clickhouse_keeper', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282151+00', '05846bfd58ad7c5678c7f4ed07f03400b4d2a853cc48631331009474b0a78a33', '294774409', '107', NULL, NULL), +('858995fc-c463-4ece-816b-0efef7e346eb', 'staging-corim-all-sp-v1.76.0', '1.76.0', 'measurement_corpus', '2026-07-07 06:50:20.3665+00', 'e065c90e2c507d79356aba6bdc22f86b34432673f121ccad187a2d1922714517', '829', '167', NULL, NULL), +('85ac89af-04e6-43a3-b44e-18c080f08939', 'gimlet-e', '1.0.58', 'gimlet_sp', '2026-01-28 21:07:59.478013+00', '595b409d1d106ce3fb05d32ed7209618d089b1d2007b4138b435375abeacb49b', '5465953', '67', NULL, 'gimlet-e'), +('85c2c9f0-0979-4bf5-9918-4b71c60c3fdc', 'host', '20.0.0-0.ci+git8ca64d81e70', 'host_phase_2', '2026-05-15 17:47:41.247852+00', '2c3765d0992fc6a9438d205fac0c22448462ad546795ff83486e633614aa3ea6', '1101008896', '139', NULL, NULL), +('85d2d8e6-d80f-4c8a-b957-a90b7b5f87b6', 'ntp', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038686+00', '71b0e1dd046d84e57c2a82976883660e174618577930edf89ebac5a18b1db33d', '27599874', '117', NULL, NULL), +('85daab1d-4a5a-4cb7-a3ae-c645b5bc9483', 'nexus', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719345+00', 'cfe8945ab0f7361632f57a96e7fd54d6609129173ee36afeac61b4f64ebcf4be', '142239437', '5', NULL, NULL), +('85e1e849-bfe5-4be6-967d-a2bca22a04fa', 'host', '18.0.0-0.ci+git56926cd1982', 'cosmo_host_phase_1', '2026-02-12 20:54:58.190075+00', 'e51a584c88be945ff68f7aa52709baf4f5439640595d73022a0f63129ca638f2', '33554432', '89', NULL, NULL), +('863dc8ab-ab4e-4261-a841-c27595e4044b', 'oximeter', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604858+00', '07b72cefa7cab83a307733e1692d73eb0b52df9716a27ae566cb4550cdfa832f', '70151669', '131', NULL, NULL), +('864f7dce-a81f-4477-9f0f-adf1c723ae8b', 'probe', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078615+00', 'bcb31c9e89439eb205c5b6351f50cce1c664fea85ade0e761cddc56233148abd', '3109590', '55', NULL, NULL), +('8696bb7d-9fc5-49e9-a10c-564200a1b344', 'trampoline', '18.0.0-0.ci+git5292c0d21f9', 'trampoline_phase_2', '2026-02-03 03:55:01.998665+00', 'ea015791c943a1f401a5bdd16ffe16b40330d6f98977bf207244d42d8f1f7bda', '144214815', '71', NULL, NULL), +('86b58a02-1e52-4b50-8261-8d81dfb4a766', 'installinator_document', '20.1.0-0.ci+git1dc05d502fe', 'installinator_document', '2026-06-19 01:29:50.250524+00', 'fbc8e34abd01e3efb959c09224d25fd998fac8360819e53b60992bf06ab9723f', '924', '157', NULL, NULL), +('86c1ca56-8cbf-45d5-b108-314ed93649f4', 'clickhouse_keeper', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329505+00', 'be854ce6cae54f4ab5270de375df0ed4c3d4ed18164f4813a79b1b9925d3a15c', '312645417', '73', NULL, NULL), +('86d98fff-a338-444a-aea4-507e89e9aadc', 'crucible-pantry-zone', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684118+00', '977356f4b6330fa64c3d58a8bb6b7c3cc3f3816061957b3713cf6b0bb7f7a524', '42536805', '83', NULL, NULL), +('87303acb-2bd1-4734-b861-e9be16c2bcfa', 'gimlet-e', '1.0.54', 'gimlet_sp', '2025-12-12 20:45:24.181252+00', '0e87336ba0aae11b6a857fa2d89eb8b225a517b91cf19408e3edcf3bafe179c2', '5396830', '49', NULL, 'gimlet-e'), +('87484ae3-1625-43c7-9bf8-0bec692f4940', 'internal-dns', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449917+00', 'eceb23701341b7ed64ed2d29063afcc373e06e646677280c2728c9922ba3432d', '52276250', '41', NULL, NULL), +('8768f8e2-ea34-4ab6-aae2-26654a519f07', 'clickhouse_server', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899353+00', 'a1c08f051d58206f735253035701672d29be06d7134f77a91fd91416c7281a28', '325929577', '27', NULL, NULL), +('8777dcc0-b96a-4b2e-8504-ecfc7a427001', 'host', '18.0.0-0.ci+git4175bf66d6c', 'host_phase_2', '2026-01-18 22:34:16.80364+00', '48c7f615bb015a0de53bfb33a2ce2b18a8d30ddbcc3d292dc75ad28eca3ca894', '1101008896', '61', NULL, NULL), +('8794e28b-2f9b-4974-8595-dce409db9e5c', 'clickhouse_keeper', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008517+00', '105beb7c2e5ee5370f06b52e1bc75687cf81cdcae5ba2f224780a745a0464b86', '309258043', '15', NULL, NULL), +('87a9128f-ced6-4208-90c3-6980a86f1464', 'cosmo-a', '1.0.55', 'gimlet_sp', '2025-12-24 16:09:17.700982+00', '20eef4237f87bcbc522d2fef4f5f864d84fd871332f20ca3db2b6f149ffec9b2', '6435501', '53', NULL, 'cosmo-a'), +('881cc9b8-1e31-47d1-803d-6077f0e3bc81', 'host', '17.0.0-0.ci+git27a65080e1b', 'gimlet_host_phase_1', '2025-10-19 00:31:17.638793+00', '7964dc774b3a718a4c4e7a955a8a4695a8b1902d72fef1298672cad7eea2a9ad', '33554432', '13', NULL, NULL), +('8828acb9-26b8-4d8a-bdd4-0d0da47e106c', 'gimlet-e', '1.0.67', 'gimlet_sp', '2026-03-30 16:50:10.815675+00', 'd0f30f19c49d9eb757bc595be110af3b13777a477e514f91d0196d070520ea71', '5507840', '115', NULL, 'gimlet-e'), +('88352583-c5ba-45ae-b642-f0ba933dec2d', 'sidecar-d', '1.0.55', 'switch_sp', '2025-12-24 16:09:17.701012+00', '6e7f350600acfeea14d6c4101f9bcf8beec8bb50b6f0f21541adb0dd4aef55c7', '6855252', '53', NULL, 'sidecar-d'), +('88450e11-f17e-4906-b5f5-33e0985fa50d', 'crucible-zone', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507508+00', 'e9e4e201df8b2f1f9b7ee6b6deaaaae3e118bd3a19d180b8581ead93d17f4a37', '50328981', '9', NULL, NULL), +('8849e42a-98fd-4bc8-b5c6-75d1ab501b4d', 'installinator_document', '19.0.0-0.ci+git9dd23096de9', 'installinator_document', '2026-03-06 17:26:46.282177+00', '76c26811320cac57a65e3401c1e12176e732d4a6cfeaec3d42d2cf9c09d9d099', '924', '107', NULL, NULL), +('88655301-9eb3-4ae7-9b3b-f9954ce496a4', 'cosmo-b', '1.0.59', 'gimlet_sp', '2026-02-11 17:36:00.471136+00', '4bbf697751c0b035befe8a5892620a210d49c2e336c38b16e2e5ca66b2a5bc26', '6505965', '87', NULL, 'cosmo-b'), +('88a0496b-006c-42ca-85ad-c191b05b2816', 'host', '18.0.0-0.ci+gitd211c40e1e5', 'host_phase_2', '2026-02-19 03:44:06.271932+00', 'ce39ff088ff5b95c580e4d84d8d1071d4d472f7c4d7df5f136fbfe2ad00b3241', '1101008896', '97', NULL, NULL), +('88adea23-37f0-4063-a036-a7d2c55cdea1', 'cosmo-b', '1.0.55', 'gimlet_sp', '2025-12-24 16:09:17.700982+00', 'c48374efe4910f72ded832cf67382cc595454c09809ae8db7b24440667b435b3', '6440502', '53', NULL, 'cosmo-b'), +('88cdefd6-2a8f-4325-bb46-3e930134292c', 'internal-dns', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291187+00', '1488b98ecdb7800f5bf340c0e8918a3a2be09a6ca55f83673898a893dafa0bb2', '52495964', '149', NULL, NULL), +('88d35897-3c2f-41ee-9f38-aae5e8d1c918', 'trampoline', '18.0.0-0.ci+git8ae817f7284', 'trampoline_phase_2', '2026-01-08 19:36:53.913091+00', '6253d6c17af59bc03752ab68012d3ba825606401e9c826c159d02b9233134a34', '152125180', '57', NULL, NULL), +('88d9c34d-7a8b-4795-bcf1-6df8401c18ac', 'internal-dns', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.701001+00', '7a409ad0d09365dd626490fb682538fe23dc643b68f6f9aa51bfba02f65852a0', '54816549', '53', NULL, NULL), +('88e9faba-abc8-4260-bb63-f4e1b3137189', 'cosmo-b', '1.0.71', 'gimlet_sp', '2026-05-27 02:26:01.19659+00', '6c869989ae5019705e26dbe12d0df27a6f99a57de02a8d6007a2e408f67e93c7', '6718284', '141', NULL, 'cosmo-b'), +('893f54ad-671e-44bc-a51f-3e7d99acf055', 'internal-dns', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539553+00', 'dd39e5304bb60f8dd18cd7c5cef2c644b81e3b39ddda8b06c635326565dd4c8c', '49941471', '79', NULL, NULL), +('893f92ed-fdbc-41fa-a8db-a57b2ec78e91', 'trampoline', '17.0.0-0.ci+git2a1d8548932', 'gimlet_trampoline_phase_1', '2025-10-22 17:38:18.243787+00', '8b3fe926aa58a201fbbace568b6f029c3dd74d00c5bf4dbd2cdda72324fe2a6c', '33554432', '17', NULL, NULL), +('8974d8f7-85b1-4ab6-a187-1a2eda6d78b5', 'nexus', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744436+00', '19893e4df3d36dec224acdf4537062431dae592d795618984d900b1ffb47a52a', '194025233', '37', NULL, NULL), +('89acc371-1dcd-4a14-876a-f1e0ea80608c', 'oximeter', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196608+00', 'f98b5089f5ec934de01c85c3681f0903e9245f5fcd0d0fda76208a8b205ddedc', '68667950', '141', NULL, NULL), +('89cebbaa-490d-4287-890e-1ec8cc54058c', 'gimlet-b', '1.0.59', 'gimlet_sp', '2026-02-11 17:36:00.471136+00', '273e632fdcd5f8e68a8bcbce01f0c57b441b8d4f55fa5a5a655c016219804d4c', '5475533', '87', NULL, 'gimlet-b'), +('89e3605a-e0c4-4362-9478-35c4662ee2af', 'host', '19.0.0-0.ci+git09c8c584ee4', 'cosmo_host_phase_1', '2026-03-31 22:41:05.038679+00', 'a54a3970f0a0384ebe698322646bf4412215b0453261cbbd3356b98a89bcaa1b', '33554432', '117', NULL, NULL), +('8a0c494c-d3ac-404e-a22c-e43f07291fa8', 'oximeter', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918401+00', '3baf37b8bd8c0880bbe8b5f027acf0313d9ec24be29be65847c343fed63c4fc6', '66585063', '99', NULL, NULL), +('8a33a045-b409-4e19-88c0-30eed20ac39d', 'trampoline', '20.0.0-0.ci+git863b79d5cd0', 'gimlet_trampoline_phase_1', '2026-06-11 05:31:34.941521+00', '38a4bc47e3e5e3660e667ed283f9c5ebb43e2bfca060b5199a8193051fedacda', '33554432', '153', NULL, NULL), +('8a3c154d-ea54-4b1d-bf66-e51f9dda480f', 'trampoline', '17.0.0-0.ci+git56225535f8e', 'trampoline_phase_2', '2025-10-29 18:02:18.899352+00', 'd6429cd3fee9dac414a42768cd0a54bc6014f370d9e394dd4e475dd912cec3bc', '152187057', '27', NULL, NULL), +('8a4859e2-4cc4-4639-8b6d-9a5f29505f69', 'clickhouse_server', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090446+00', '7c05b56bac6288c15da6f9a286bc8c29dd9c27394647bd05ce5f6270e4f010e3', '327162195', '77', NULL, NULL), +('8a58e2bb-2f94-423f-98bb-16d3c2079ef5', 'nexus', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247859+00', '8943cb6e6dac7ef68029ccd2a8ab67647da4fe18e7af6fa67fb30b5022e30ca0', '226422674', '139', NULL, NULL), +('8a5e1960-8633-4c4e-b1d3-04ccf3d0744f', 'cockroachdb', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.24379+00', '8c672c86b630793eac6556bc42fa2d256a552321ce53c868e625120aba0a4ca9', '172225719', '17', NULL, NULL), +('8a8720be-c27e-4404-be66-49cb7f72e2e2', 'trampoline', '18.0.0-0.ci+git3b3f937d05f', 'cosmo_trampoline_phase_1', '2026-01-01 00:51:32.078609+00', '3c1384b9b6b2371fb2437bdf3264f799a25f0c98617b0b1f4d5386756ad3eae8', '33554432', '55', NULL, NULL), +('8ac4675e-f9f6-4cb2-91dc-258b52e7d49a', 'ntp', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040703+00', '7c649d6b9f9ff59af38e1649e4de28e268cdb58227584bcd7eac3e87e4548fae', '33059538', '145', NULL, NULL), +('8aeb0c80-b10d-4c26-8fad-646c422b3408', 'internal-dns', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608568+00', '5e31bf47e304d897d23a176b0e367e8f93e6c6c6f381df94cc013517972da4c3', '53095289', '129', NULL, NULL), +('8aff6860-9821-4a8a-a65c-110f6ff64720', 'oxide-rot-1-staging-devel', '1.0.36', 'gimlet_rot_image_b', '2025-10-10 16:09:24.468868+00', '532946b08a591a0e8a18aa636b306c82eb4ba790e46b59fe4319918d13711258', '1574784', '6', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1'), +('8b2152c7-c49c-499c-81d2-bcdcb68ae5fa', 'nexus', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576567+00', 'ac951db8abbc7543fc45b82f5f9c1c4e50e0a3419c707f178bc4a546110c222d', '194176156', '43', NULL, NULL), +('8b35d511-2a5e-4dbe-9398-5caa2028dbbf', 'crucible-pantry-zone', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719343+00', '79952f3f3820a13a48b6fc29feb6fcc62fdcd329d1aa1b70dfa47e35a6215c29', '40347747', '5', NULL, NULL), +('8b41901d-aef3-477e-a161-141d31f11c67', 'trampoline', '20.0.0-0.ci+git4bb727667c9', 'trampoline_phase_2', '2026-06-08 18:04:19.004238+00', 'ea4af8b8ccfb2f6900eff95582f0a607de212e1f0262a9e0f66e7f601703f734', '164643324', '147', NULL, NULL), +('8b4254dc-7655-4174-8655-b1ccfaee0f47', 'gimlet-e', '1.76.0', 'gimlet_sp', '2026-07-07 06:50:20.366475+00', 'a4201bc99eee5fb4dc6e7f1665eb273be212a3adc41db37c81d04a873e8dcd34', '5470183', '167', NULL, 'gimlet-e'), +('8b77a7e8-4ac5-4e7e-b874-4986b6782d59', 'oximeter', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260761+00', '8a1decbfb1bb9863cd902a952bfc6afeb8183d4a0f2da70254f2251296ba436e', '67880216', '47', NULL, NULL), +('8b7d1e1d-e15d-40ee-b484-55ce5a1b3cde', 'clickhouse_server', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260757+00', 'fda377038b4aa6165f375b9293f332631aa30a65d49fd8ed950fd9e85496d017', '328660758', '47', NULL, NULL), +('8be09641-4e3a-4dbb-b81d-b2884b33d32e', 'internal-dns', '18.0.0-0.ci+git5292c0d21f9', 'zone', '2026-02-03 03:55:01.998669+00', '3a804cda6e0f358997c8d73559ef30ffafea2fb8a800bbbe2bdb6d3fd361d9cc', '54863361', '71', NULL, NULL), +('8c020fbd-8f3f-47ec-ac76-96b8d2ac863b', 'host', '19.4.0-0.ci+gitbae719a3bdb', 'cosmo_host_phase_1', '2026-05-13 14:19:55.594064+00', '5398d8cb9e2d288ed53e77d933358b77dde6d256a05b656e85d8bff010d3b402', '33554432', '137', NULL, NULL), +('8c030484-be2f-4263-aa22-5115aff3957f', 'crucible-pantry-zone', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913095+00', 'd9af0dae8a7681f7c50ff9a0d40d7a75abd3d78a7b1d2a91401fe6d9b8a6f94c', '45577428', '57', NULL, NULL), +('8c463718-50d3-4990-be04-9b32999bb6c1', 'trampoline', '19.0.0-0.ci+gitd41bfa5af31', 'gimlet_trampoline_phase_1', '2026-04-03 04:47:46.332945+00', '20af77babcd11690123404f5570234e266270e8cc328207985ee40180d6b1cac', '33554432', '119', NULL, NULL), +('8c486c03-a6db-44b0-ae6c-a4fb1b3002e9', 'gimlet-c', '1.0.57', 'gimlet_sp', '2026-01-22 00:31:09.68429+00', 'f50ab75cbb973246f5c648ab1bc3eed5e46213be8806f29bf46acbcc98d5679f', '5479314', '63', NULL, 'gimlet-c'), +('8c4a5381-cf0f-4e06-8811-6ac2263c10cc', 'host', '21.0.0-0.local+git04909b7e827', 'cosmo_host_phase_1', '2026-07-02 17:06:15.780078+00', 'a0285ccf4e285f2a8532522636b49483a90b3c3b14ff266a73e686580ff7da1d', '33554432', '165', NULL, NULL), +('8c53aebf-f412-48c0-929b-a6f52905f6c2', 'host', '19.2.0-0.ci+gite4b75dde134', 'gimlet_host_phase_1', '2026-04-21 23:08:35.310186+00', '43fdf9c324bd865bc9d12b91d0ab814c9cc4327bf806471bdaa11e3a8fe563cf', '33554432', '133', NULL, NULL), +('8c73da81-f12f-48f1-990f-1a0cbddf70b5', 'host', '17.0.0-0.ci+git81d822614e1', 'gimlet_host_phase_1', '2025-11-04 22:17:21.744428+00', '320c9b0fedc4dbe1d17399d6529ac8fd9b46f801084adc1af3c194abd2ee14ba', '33554432', '37', NULL, NULL), +('8c9f8fe3-edee-4b97-92fe-198cdc10b7ca', 'crucible-pantry-zone', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652466+00', '61f83b2448c28d767cb03968471b0f3be79f6f78785b135f5e68ca0ddf229cdb', '42537495', '91', NULL, NULL), +('8ca41f50-b4a6-4254-9ab2-ac6657934a37', 'host', '17.0.0-0.ci+gite980820e5b5', 'cosmo_host_phase_1', '2025-11-04 21:18:21.063847+00', 'ddc58e96635faaeeb0596b78fc57aa7cc0bd4ca63167641e682e2165f41b66d6', '33554432', '35', NULL, NULL), +('8caeffa4-37e6-4feb-af1a-9f353123ed09', 'crucible-zone', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.701+00', '86251fad6949c3a599a3f7e535b321b37ce3ddd32198db350659334c3ca989f3', '60044725', '53', NULL, NULL), +('8cb5625a-8ce3-45d6-a0e1-3ff45d15dbcd', 'probe', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120431+00', 'a7007269a95163bce7e4362148298d800a443800f8b5c9c2f3715373b76b7110', '3109590', '95', NULL, NULL), +('8ce74cee-fd1d-4076-aece-1955ccf1aefd', 'oximeter', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415162+00', 'aab774ba1525a893625cd22c2f15b40d7d77337ac2d145e4d9d3bf3af82d0e1c', '63680272', '25', NULL, NULL), +('8cef3484-a7cb-4428-ab55-4c6fdcf20564', 'psc-c', '1.0.63', 'psc_sp', '2026-03-06 17:26:46.282159+00', '1a7d17a6a697455640644499242febf68045cf367e1cb3a9193af0189b2d5351', '4135211', '107', NULL, 'psc-c'), +('8cf7e0e6-709f-4980-bcb7-c1a85b47cd66', 'host', '17.0.0-0.ci+gitb8efb9a08b3', 'gimlet_host_phase_1', '2025-10-08 20:35:41.74276+00', '3a6940e9917d578eb8c9c81e491f37885fbc044e37741fa2fe36a278e0012747', '33554432', '3', NULL, NULL), +('8d2b7abd-b600-4cc8-bb4c-615174ae7ee1', 'gimlet-c', '1.73.0', 'gimlet_sp', '2026-06-30 16:46:25.762643+00', '020d4d00f97f51a3f8dd01c6b26c4c378d1075499f7e538131949ddc1a5c48dc', '5473738', '163', NULL, 'gimlet-c'), +('8d4c5648-9af2-42bf-90a8-3f5c5a173628', 'host', '17.0.0-0.ci+gitb8efb9a08b3', 'cosmo_host_phase_1', '2025-10-08 20:35:41.742762+00', 'ec4c7c49108be6e11edebc0b231258cd5d7dfa8f076afd11199fca8340d6b1f1', '33554432', '3', NULL, NULL), +('8d8c1b6a-9036-4c89-affb-2f0ec288f1bb', 'oximeter', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684317+00', 'b7915fa49dc0fd0e684b9d87170159a46ebc7326f452851ad1d51b5334a1c999', '64798704', '63', NULL, NULL), +('8d9d6ead-c835-4d53-a509-c694de79ad4b', 'sidecar-b', '1.0.64', 'switch_sp', '2026-03-11 23:14:48.431957+00', '3ac43dace5b12e04db083782cba0ee0565915cd7dbb6679dc880188691085b69', '6951866', '109', NULL, 'sidecar-b'), +('8df5be3d-7403-44ba-b79c-108a985f50eb', 'nexus', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803646+00', '0a96ce58f2d80abd1bf5f8ff9c99185c74904e710cb5d2f43316946ce5cca6e0', '203500337', '61', NULL, NULL), +('8e10c14f-974e-4d5f-bb89-109ae7c7f111', 'clickhouse_server', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604852+00', 'c8704d23c3cdf39821596ef94815ed8002da6e36a7b7b7c8164548285a922ec4', '331380192', '131', NULL, NULL), +('8e1f2e5e-8e82-4b2a-bb38-97e1ba7668d7', 'clickhouse_server', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.41912+00', '6740a8094d10a6b0e7e690efb0725c5cd362cbcf5658b7762ae5350012cd6c16', '325876696', '21', NULL, NULL), +('8e2f2bf3-0e32-43c4-b254-e7d2aba427ee', 'gimlet-c', '1.0.58', 'gimlet_sp', '2026-01-28 21:07:59.478012+00', '7dad7a70f0048be78ace484de2a71fdbd5fcb0c503fe4385fe7809304552ee0d', '5477235', '67', NULL, 'gimlet-c'), +('8e7763fc-ec46-4269-bf65-4c4185ada9ba', 'internal-dns', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913098+00', '9b5de30428a1e7aac85752461ff1146e46e28bdc9e78a111fa2763ae99aa5fd0', '54859090', '57', NULL, NULL), +('8e8c423f-c25f-4f5a-90bd-995738abfed3', 'host', '19.0.0-0.ci+git09c8c584ee4', 'gimlet_host_phase_1', '2026-03-31 22:41:05.038678+00', 'a6d91cc0cec1dd43200c420f019ebfd1f00115b3d51ebdf58eca11f0ffff1fb1', '33554432', '117', NULL, NULL), +('8e962aa0-85f5-4c33-81f5-fcebb4bd313f', 'host', '18.0.0-0.ci+git56926cd1982', 'host_phase_2', '2026-02-12 20:54:58.190075+00', 'e71e45897b70c7eef5bbe7eccbd4ddfc710fbe675e2bb8ec1175b0e331389684', '1101008896', '89', NULL, NULL), +('8e9f96e3-b4ab-45b1-9d20-107f331fddf4', 'crucible-zone', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751859+00', 'dd15456d5bd0cf115311e9d1035f3bcd1938ffea28e5f5442c62b3aa140c9639', '60176368', '127', NULL, NULL), +('8ea0e59a-1099-4d77-823e-fb21e0c528b1', 'host', '17.0.0-0.ci+git529ba64ee28', 'gimlet_host_phase_1', '2025-10-10 21:18:53.484029+00', '41b713cbef7c569903a39c486e8203499f207b8c71e728f381184983dc96632e', '33554432', '7', NULL, NULL), +('8ea355ed-e862-46e6-baaf-63179c977c71', 'clickhouse', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449915+00', '88a7917e882c655a5eb53d0425d4e7acd4ec71fdf2db00b51b152c759583c92b', '323570132', '41', NULL, NULL), +('8ea91f9b-d971-4ab7-8164-f09b375a9d4e', 'oximeter', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205395+00', 'c65e2bb370e694284be978d4127ea0040ba22ec1483af38a5b274c2d8a7b9840', '63639469', '19', NULL, NULL), +('8eacb3c4-0e04-46aa-8689-60161ae46a51', 'host', '19.0.0-0.ci+gite2fe4014825', 'cosmo_host_phase_1', '2026-03-30 16:50:10.815692+00', 'd10d989d99c16d74ea78f56ddc57e783963813138e06050bb7aa5708ed6e9c39', '33554432', '115', NULL, NULL), +('8ec22268-f24d-4ccf-94a7-1ead547051bf', 'cosmo-a', '1.0.71', 'gimlet_sp', '2026-05-27 02:26:01.19659+00', 'afd278274abd1fcf43b1c0630802ff6a9f974cea48dba5b57ab1fb6841222e62', '6717865', '141', NULL, 'cosmo-a'), +('8ec72f01-8195-42c1-9f77-3407274b02d5', 'trampoline', '18.0.0-0.ci+git078382f5d9c', 'trampoline_phase_2', '2025-12-08 23:28:06.260756+00', 'c8169f3e74977cca69ce94c47513166b261b05e1bddf38bd57492ec81877ec42', '153215628', '47', NULL, NULL), +('8f2cce05-2570-4d91-9ddb-04176acc5ddc', 'probe', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899357+00', 'f5e8d64b931a20b5d8037557fd3a2b8d2ad226c776971b396643484efdcbd5e5', '3109590', '27', NULL, NULL), +('8f52d12c-9a14-4699-adbf-8c0ac2226398', 'probe', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471162+00', 'bafc74ae585d48b37e0f008703e3f4b05f46f3955b6c8cf1526fe9056b7d430a', '3109590', '87', NULL, NULL), +('8f77ad1f-e1dc-4e26-bbcf-4bde0153db84', 'sidecar-d', '1.0.58', 'switch_sp', '2026-01-28 21:07:59.478042+00', '6a4fd1ca2319902f1f903f7b31a31af6e545abae5f147e740195bc0cd1f86852', '6961246', '67', NULL, 'sidecar-d'), +('8f933f3a-5c43-4889-9417-417d8b07a237', 'trampoline', '19.1.0-0.ci+git073b1306678', 'gimlet_trampoline_phase_1', '2026-04-11 03:24:26.751855+00', '19738083975a35ba4ea56abf5d6065b101282e4d89b039c8d58561681094020b', '33554432', '127', NULL, NULL), +('8fdb4439-ad0a-4666-9d7b-e6d02cfaca33', 'ntp', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604857+00', 'fe96635bee97b1ba928d272423c76d692af970870395ae7505792bcb65d16a4f', '33892101', '131', NULL, NULL), +('8fe6f3ba-9cc8-4892-8a82-899f7e79f47c', 'nexus', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.9184+00', 'a450b2c3389187175a792177d7c25018beedb47dc3598a015fad385456b16704', '216259396', '99', NULL, NULL), +('90047618-16b8-4565-9dc1-9adf5d6d7498', 'clickhouse_server', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478028+00', '97ccf52ed26c3f02c48d067c7d6e7d9518598092a01d6f6993cbdd1a79b5e3f5', '324810953', '67', NULL, NULL), +('900d6749-9a73-471d-8737-5c6d54b80fa2', 'cockroachdb', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366495+00', '9ac3a665ee791e2be99251310e174e34cc2fdfed587f2c86333ea0f9b5d97008', '165615476', '167', NULL, NULL), +('90243140-fb88-4ec4-bda5-f0dc98d0091b', 'trampoline', '17.0.0-0.ci+git34818139bb2', 'trampoline_phase_2', '2025-10-21 22:30:59.008516+00', '9bfd7a0c576885cb3dc7fdd29278f9faeee9aa574e8d59ff80e23db59eff2316', '152209643', '15', NULL, NULL), +('90394c20-dcf9-442d-974f-7424997477ac', 'oximeter', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190081+00', '26171563a0bd9b35623a245ac15c1d5ccc4642a40a6725c0c4cb4f09dbbe3a89', '66509172', '89', NULL, NULL), +('90a0c592-e3dd-410f-8e8e-2b7f8b926648', 'gimlet-d', '1.0.59', 'gimlet_sp', '2026-02-11 17:36:00.471137+00', '90391cc4f7ebed856eeb3e8d002fd6acbb6b66dafd1f1adbd42c415fbfc2788f', '5466521', '87', NULL, 'gimlet-d'), +('90d20f6b-32ab-4aba-bf45-4e19bf7d10cd', 'trampoline', '19.0.0-0.ci+git10b9f2fb872', 'gimlet_trampoline_phase_1', '2026-03-17 20:02:46.884106+00', '9b152c97feea76fe12d05cf1d25021086ebaf1afb58aa6e2abc9b83ddc78d4f5', '33554432', '113', NULL, NULL), +('919ff13e-b648-43b0-8ba6-6523ecc320f2', 'host', '17.0.0-0.ci+git7bc5275729c', 'host_phase_2', '2025-10-24 17:56:14.140748+00', '991b63677e39366578aa2c17ebcd089316ee3ba5e640b4b952d6e76c178bd4b7', '1048580096', '23', NULL, NULL), +('91a1f3b7-0d8b-4f25-b867-6e4eb79c7c01', 'installinator_document', '19.0.0-0.ci+gitd41bfa5af31', 'installinator_document', '2026-04-03 04:47:46.332973+00', '52048005b5ab82d15f6901cb325dfc00af096ac458c056612bb26edee2d16471', '924', '119', NULL, NULL), +('91d2f6f0-880e-4a09-98db-8f6ad53f2b0b', 'clickhouse_server', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243789+00', '34cf0af341e0aec6722e3f80dd96574bab2056d64bb68e18fde8dcf09d670f41', '325876696', '17', NULL, NULL), +('91d6c0c1-9656-4e6a-9f73-aa4b0673becc', 'cockroachdb', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712724+00', 'a8ace0b9e0403acb430b12fe39cd242af91a3d0267ee1dbc6cb539ff2d759caa', '172226492', '33', NULL, NULL), +('91faac1a-ae83-4e38-bc72-3c3e7f8f8f58', 'probe', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090451+00', 'eb8ce1cdd96af71a3da35a69f88896b6407790dbae05717102148f091285b75e', '3109590', '77', NULL, NULL), +('9228869d-01f4-4406-ab9c-3b25e7c18384', 'gimlet-f', '1.0.64', 'gimlet_sp', '2026-03-11 23:14:48.431919+00', 'bef4fde566e3305b4d1418137558e95cf2fda1d0b326a0202bdc7195515ae9cd', '5496257', '109', NULL, 'gimlet-f'), +('92360ce0-dcbd-4327-b931-e091ee462652', 'crucible-pantry-zone', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.701+00', 'd688769d24b8e8c6c0b54a580ba9d1367310b5dfe100d7490b0907c3656e3d66', '45567341', '53', NULL, NULL), +('92367cc9-33e6-4ce8-b196-95296e9a38f3', 'trampoline', '17.0.0-0.ci+gite980820e5b5', 'gimlet_trampoline_phase_1', '2025-11-04 21:18:21.063848+00', '3be41d3667fb2dfad259ae277334ad78b539fa41e68fa5f6f842ab4662a43ab9', '33554432', '35', NULL, NULL), +('927780c1-6790-4353-ae05-921edb603c03', 'trampoline', '18.0.0-0.ci+git0ee7d730282', 'gimlet_trampoline_phase_1', '2026-02-11 17:36:00.471155+00', 'f70efe8c829885c1c9e700da10b900f7cb6c96f0960d42edef4a35179d885bc7', '33554432', '87', NULL, NULL), +('92c025d1-bd1a-480c-8044-804d14095478', 'host', '17.0.0-0.ci+git27b3ef9b9d0', 'gimlet_host_phase_1', '2025-11-07 00:26:09.44991+00', '08a8356e36f18d2d0c00820c6d70523788830ae66995a00f0c72200f12dff1f7', '33554432', '41', NULL, NULL), +('92c7419d-6289-48c7-aa9a-2106dda0602f', 'crucible-pantry-zone', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046698+00', '737533ae25f15aeba8478dbbb88ac810e89df87e4565bb5249843c4334a40667', '45658774', '51', NULL, NULL), +('932a7b54-b71d-4338-85a2-729c4a61a9f0', 'cockroachdb', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803644+00', '6023331f1d4d802633b815b1e49b064825f878721ec7896f1a7fba9052632774', '171904161', '61', NULL, NULL), +('93362006-8714-4c78-b4e4-72cf3144e9e8', 'clickhouse_server', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415158+00', '0e42b7a5bd3860f72c8521fc07421a104b6bbdbe146aa25c7c9c5c9d0ea2d121', '325929577', '25', NULL, NULL), +('933f0999-2172-4ae0-9d83-ffe3e59d98ec', 'crucible-zone', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205392+00', '5fb135d2b7c35ba28b26ecf3b69c0bc24f8c59704b9331cd1eaf21d848870416', '56171198', '19', NULL, NULL), +('934e790d-02fe-44f3-b8ce-7750bd6b120f', 'crucible-zone', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431942+00', '954887c3e3bc852eeffef1ac41afc5e369c61f6c0ee5f41676acd8b62da84afa', '53711544', '109', NULL, NULL), +('9382a797-b27b-4154-b04a-a937b33a46c0', 'probe', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710745+00', '22ab676902726e8333493da4e47b5cf198f77286c61b8477c1819ce1a7b09dbc', '3109590', '29', NULL, NULL), +('9398d076-4ad5-41bf-ba07-d4a6b50f7d5d', 'external-dns', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484039+00', '8a2be2f52fb01d3c50c97a9f13e97fc53177fd6deaece7fab2a8e18ee44fbe9d', '52788534', '7', NULL, NULL), +('93b327d4-b810-43a6-803e-f5148c68fcab', 'cosmo-b', '1.71.1', 'gimlet_sp', '2026-06-18 21:11:25.441896+00', '87fdfab186365451af18614fd5c3489fb2d1a32f0faf2b23a7ca764ce2dc8ce7', '6743437', '155', NULL, 'cosmo-b'), +('93bc2e4d-9acd-4831-b7d8-76a5fe538651', 'crucible-zone', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576982+00', 'ab24a659ef3213ae24e482e87537844ad6b1d8d649a019f8de654a37b6f01fd2', '60176366', '125', NULL, NULL), +('93c2ab76-8901-4bc6-9f0f-edce269590b3', 'psc_rot_bootloader-staging-devel', '1.4.0', 'psc_rot_bootloader', '2025-10-08 19:59:10.483212+00', '63d4e0d7fbff4102a02bf87e9cd664a767ecfe659834f3f90b569857ed9f4008', '46732', '2', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1'), +('93c63b3f-6f00-44ee-919c-e157610235b4', 'ntp', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441926+00', 'e910680ab98bc2d5ff519c013ad5b0c0e49f0d8335a28040cf65fc4faf04274b', '33588571', '155', NULL, NULL), +('93d6edb1-bd01-4961-bbf9-bbab883cb4d8', 'crucible-pantry-zone', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090447+00', '544214a4996a27c6b7ffbc21d65f88ca98511bc32d2bc71c8b6d12686ed94812', '42534836', '77', NULL, NULL), +('93d815bf-82a2-4f52-866f-4951a0a42450', 'installinator_document', '18.0.0-0.ci+git8ae817f7284', 'installinator_document', '2026-01-08 19:36:53.913132+00', '5eccc1f146bf636ce115f5af54c2cbcca8e9b6a8d2e2d72b7e7c854ae0bfd6f7', '924', '57', NULL, NULL), +('9400ea47-8425-443f-8a6e-4aab6e23e32c', 'crucible-pantry-zone', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478029+00', '7506566256095b10b71556f2ee91fbfd434dcd6b2e24c04a668d36bf29f8c56f', '42356715', '67', NULL, NULL), +('943c26f8-364f-4119-99e7-354009767940', 'trampoline', '18.0.0-0.ci+gita728a7f63fa', 'cosmo_trampoline_phase_1', '2026-02-11 03:50:43.963933+00', '2b48041c1340d7209b5a5ebd850773a2e30feb3fe48556a2ebfc68b80ec487cd', '33554432', '85', NULL, NULL), +('9458c44c-d579-48b4-bbf0-6d86f1edfc0a', 'clickhouse_server', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757193+00', '68403465c72815c419af11691d2eacca70864a03dc3d6a800a57c04a9b1b88fb', '327709971', '11', NULL, NULL), +('945f6c80-862c-4214-9a7b-c6e3c9b72a83', 'external-dns', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.41516+00', '737636d696d59b88276c53e75fd6d341a9532a2ce2e64e1efbf588d3ce7bbda4', '52068113', '25', NULL, NULL), +('946441b9-8dc2-4f48-a4f7-cb93b07978ec', 'clickhouse_keeper', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744432+00', '8c1b0ef49833dfc7f9d1c7e4601ba9d45603e7dd4384fafcf4352efe4955e267', '306858070', '37', NULL, NULL), +('946577d7-6eed-41a0-8e23-5f8e7e5a7aed', 'trampoline', '17.0.0-0.ci+git34818139bb2', 'gimlet_trampoline_phase_1', '2025-10-21 22:30:59.008515+00', '6a99ab6fc90690d1015310a2726ffb5effafe266b308dfdafb0e3030e7819a83', '33554432', '15', NULL, NULL), +('9465e3b0-6d5f-4776-8e06-7fe88a506b6b', 'clickhouse_keeper', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576563+00', '8e085a8323277a13ea9d24e64e43da7537f5670dbbde1deffb040778bb3dac6a', '306876919', '43', NULL, NULL), +('946d441c-2a19-4ac5-bca1-c2a7d1b2ebfb', 'trampoline', '20.0.0-0.ci+git3dc79fe53b1', 'trampoline_phase_2', '2026-05-27 02:26:01.196604+00', '11dfb99fd1f873ad2d19bf6a59e475802710d3c05592f44d2984a518f03a967d', '166161330', '141', NULL, NULL), +('94964163-5cc5-4879-a66f-fbfafe425cc2', 'probe', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310194+00', '9a6b95a8777391fe533719182eba61bb3d1d0ee1ac6951cd422c2a050366380d', '3109590', '133', NULL, NULL), +('94a047c3-8208-4e9f-99d5-46e4a2b68be3', 'host', '18.0.0-0.ci+git6d17d64ce6d', 'gimlet_host_phase_1', '2026-02-09 23:04:09.275317+00', 'de858357efa0816d88672a5bb516b53f2305bbdae3e65be8afeecef3568e8a3a', '33554432', '81', NULL, NULL), +('94cb07b0-720f-47a6-950b-1afc9e2850f1', 'trampoline', '19.2.0-0.ci+gite4b75dde134', 'gimlet_trampoline_phase_1', '2026-04-21 23:08:35.310188+00', '6956010a15eb5510a9ed5dbc3a7d24a82c71d810a4c4840964154f95bfc68848', '33554432', '133', NULL, NULL), +('94d1995d-ffc6-4500-88b5-a2aedb954112', 'trampoline', '18.0.0-0.ci+git474c1588c05', 'cosmo_trampoline_phase_1', '2025-12-12 20:45:24.181271+00', '7f0a71cac97f5b3cab63ceeae9859c85a0f949fc206aba1b2f3569806b41153d', '33554432', '49', NULL, NULL), +('94ea64d8-a170-45df-b98b-5ebd66e5ba55', 'host', '18.0.0-0.ci+git6601b8ec8a4', 'cosmo_host_phase_1', '2025-12-02 01:51:35.116895+00', 'a99b6d08d7494797b64eb080f75648aee395ffeeff9fd84c681f68ff26fca3e5', '33554432', '45', NULL, NULL), +('950123a3-dc5e-4272-89cc-6e8ad6da7037', 'psc-b', '1.0.47', 'psc_sp', '2025-10-10 16:09:24.468885+00', '31267539bee193a3e8b6e09e5940906641f2690949c9521ff4545f0ea619647d', '4044287', '6', NULL, 'psc-b'), +('9554f3b3-a7b4-42aa-bb9b-3ff4e8a9321c', 'crucible-pantry-zone', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608567+00', '686b9014aa53de55d52d8c7436f1323faf420fe62610f1ef166c826d92d526f3', '45699095', '129', NULL, NULL), +('955f3356-89b2-45fb-8cd9-d2b272dbba7a', 'oximeter', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471615+00', 'e2092c15093b8553bbd41a40f99a625c7caa8d7ed28fce3bcb0277d9c60b2ba8', '69796776', '159', NULL, NULL), +('958a7771-1eac-4eec-9d46-34fa74847650', 'oxide-rot-1-production-release-psc', '1.0.38', 'psc_rot_image_a', '2025-10-08 19:59:10.48321+00', '466996e1df22f7c6144d76ca5d9b4e089c0595f61f860fa69fff8584de6a2958', '1575156', '2', '31942f8d53dc908c5cb338bdcecb204785fa87834e8b18f706fc972a42886c8b', 'oxide-rot-1'), +('959c9412-84b5-45bb-aefc-386822cd3dfb', 'external-dns', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507167+00', '0c3c47f0db319a505a580e05812dce3e1b2603fb0c2e7087a621a19e8a90d2e2', '48999810', '69', NULL, NULL), +('95beac95-eb1a-46cc-9fdc-3a240e49f899', 'host', '17.0.0-0.ci+git063828b53e7', 'host_phase_2', '2025-10-09 16:06:27.59929+00', '85d2adfdbe73a99ba19b5dc5cdbdfd27c0cd2e2d3db52083f69a156858d25e53', '1048580096', '4', NULL, NULL), +('95f85cf0-3018-4af0-8cc6-b70d61e2ce59', 'clickhouse', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684117+00', '2de68891d5c2bde93841ffa2536a43f84b0b6192c6490c06e3737a47a35cafa8', '327163950', '83', NULL, NULL), +('95fcd17e-f7c7-4dfc-ac39-b38c463839dc', 'host', '18.0.0-0.ci+gitc298def0b9f', 'cosmo_host_phase_1', '2025-12-24 16:09:17.700996+00', '596e431ce8d233450c2e7c16d5f3001887b61f60ea86abda9fcf12e3c7e9a33c', '33554432', '53', NULL, NULL), +('96098989-9a09-4d6b-8dfb-d015a085c79f', 'probe', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062173+00', '305d63a889873c4ca6522aba9cda1c26fe6b23ecfc08b222e4792cba94130121', '3109590', '123', NULL, NULL), +('963c658a-d282-42eb-9710-7c33cca81359', 'host', '18.0.0-0.ci+gitcfc181ba02d', 'gimlet_host_phase_1', '2026-02-13 19:04:31.65246+00', '61135af40427d1df956e03c8a157d847c30923fe7346f15414ab79dcaa6e223e', '33554432', '91', NULL, NULL), +('966064fd-6332-4065-a86f-ed3647e484d1', 'gimlet-b', '1.0.67', 'gimlet_sp', '2026-03-30 16:50:10.815674+00', 'c9aba93ce5fc19767c084e23d725c13a0f39c70a41fc8715253c7e9418784d4b', '5505128', '115', NULL, 'gimlet-b'), +('966aedba-efe9-49f5-807f-a071292c710e', 'crucible-zone', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051221+00', '420580b8ca45f4cca2d672dfdcc6aca922371a5fdf50d59e5714d541af778265', '57038196', '93', NULL, NULL), +('96a9ca2e-8f9a-45e8-ab37-9de050bd9fc0', 'internal-dns', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196607+00', 'ac33313c002f5876ae062ade68528e3d3f9fd5fb2da56796ecd6bf87d7d37684', '51372242', '141', NULL, NULL), +('96ba9309-109a-4385-82b6-6d53d081249b', 'cockroachdb', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963937+00', '1e92688be30623b9382c178b275e5023ad4db8f5a7b7d162a3e8b0f8f996c64b', '169059839', '85', NULL, NULL), +('96bc1489-6b1f-4be1-bf9f-08b3fe950333', 'trampoline', '18.0.0-0.ci+gitc298def0b9f', 'gimlet_trampoline_phase_1', '2025-12-24 16:09:17.700997+00', '784ce992d7d07b0a84d5883e0c76aec1f27275d14c1dc03d17c071d88ad2f93b', '33554432', '53', NULL, NULL), +('9752cd3b-c661-4457-ae0e-e319259faf73', 'cosmo-a', '1.0.48', 'gimlet_sp', '2025-10-08 19:59:10.483167+00', 'f1c297ddc2bc5a0b80dc3d47d6a076d18f2769bf76bf7bc6cc6066ae7089f829', '6257385', '2', NULL, 'cosmo-a'), +('9755f232-9995-4f45-80df-9214c3ba341e', 'oximeter', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.8157+00', 'b77b9948fb083756062d9dd931b6921a3e65848d18cbfa3f9805128462e53ac5', '61228020', '115', NULL, NULL), +('976b0b99-92df-46cf-af29-1af16cfbc310', 'installinator_document', '17.0.0-0.ci+git3a90a985264', 'installinator_document', '2025-10-22 23:31:13.205409+00', 'bf5e8df07d72f011bd669873eaebceedaf0aa3be11d358b7d46cf57d70611d10', '383', '19', NULL, NULL), +('97729e39-a32b-439c-9550-a7f41336a24f', 'sidecar-d', '1.71.1', 'switch_sp', '2026-06-18 21:11:25.441941+00', '6ce6cef9e8febd7809696f0dd999154ddada2bed0c551eb098e14a530c8a995a', '7075092', '155', NULL, 'sidecar-d'), +('979741e4-d2a0-48e0-8949-fde963871c9e', 'gimlet-d', '1.0.63', 'gimlet_sp', '2026-03-06 17:26:46.28213+00', '01501078f7d3da784e0a97bdd8319caae2d9797ba4b6017cd786e71768464327', '5469122', '107', NULL, 'gimlet-d'), +('979bbe3f-78c5-410a-a26a-fb430690e861', 'host', '18.0.0-0.ci+git5eb13372380', 'host_phase_2', '2026-01-22 00:31:09.684309+00', '3ed932b949408a5a1bc18ea21ddfd3debae9844f0abc65791f300a0289e87945', '1101008896', '63', NULL, NULL), +('97b74017-18ae-4152-a972-1867ccd757ec', 'oximeter', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576985+00', 'd00e64448e1398b02809a87a1a1f6376db9a442bcbe7cf743cb84edc87bec92b', '70151455', '125', NULL, NULL), +('97c570c2-7bcf-4b5c-b058-85da1197b492', 'clickhouse', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.0519+00', '76dceab1ec169a37617abdd055bd133720c31d23ad69103c16a1f14f43ef3157', '309825234', '105', NULL, NULL), +('97e044f1-508c-4f6f-905e-c6c24edd201b', 'oxide-rot-1-selfsigned-bart', '1.0.36', 'gimlet_rot_image_b', '2025-10-10 16:09:24.468871+00', '4fe4fffde4bae8af1f2cf130a268f375ff3e644ace593afb9e4af82bbcaf8248', '1633990', '6', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('97e8dd9b-90f8-4686-aecc-b38df329d4be', 'gimlet-d', '1.0.55', 'gimlet_sp', '2025-12-24 16:09:17.700984+00', 'f4d80c3f1e01cd6bbcd81b96709f8b3bc7e106cc23b1ce9852f7300ab530aa14', '5396777', '53', NULL, 'gimlet-d'), +('98374866-0dde-4b0e-a174-1c63c31b4e75', 'psc-b', '1.0.48', 'psc_sp', '2025-10-08 19:59:10.483202+00', 'a62cf19b7b6efa27df66797dd56affe5fa9007d01eb1b7648e0ff53d2d593981', '4057386', '2', NULL, 'psc-b'), +('984a409d-2320-4033-b311-d082b01640d5', 'probe', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282156+00', '02c73f4d3c5b80b80fc863e16c3afda74254b402dc68b6be8062cd06a1ea9798', '3109590', '107', NULL, NULL), +('9857eced-2095-4054-9aa8-99d9ba6bca53', 'external-dns', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712725+00', '8b0133b4300ab3fc549a34b2c4a30e1c61fd5de2e506606550a6b5d09f27cca1', '52311397', '33', NULL, NULL), +('98595a12-c14f-473f-bffd-4e408fa11d60', 'host', '20.1.0-0.ci+git846f6a0ad0a', 'gimlet_host_phase_1', '2026-06-18 21:11:25.441917+00', 'd13b3263c7fdce1a7ef46502ee2cbd79817f2219b311a150a15337e6490dc1c9', '33554432', '155', NULL, NULL), +('985b7e3a-666d-4d82-a007-4c9eca6ea254', 'probe', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038687+00', '0efdcf9bca33a3024d550860ed446eada1ba7d010298ccb01902864e3c1d15b0', '3109590', '117', NULL, NULL), +('9873419e-40fd-4096-8e9a-4e1aa0543e18', 'gimlet-b', '1.76.0', 'gimlet_sp', '2026-07-07 06:50:20.366474+00', 'cb23cdf30166786668b309c771fb32208bf6d4b240206a89c8a08907ea64c36f', '5487226', '167', NULL, 'gimlet-b'), +('98889626-7780-4f00-90a9-8d0f434edcfc', 'crucible-zone', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310191+00', '2103779708d2a4e0408b0eba991eafa42cb1b20414089e2984b169eb5c627d0d', '60174885', '133', NULL, NULL), +('98a5fe75-1431-4c5c-a846-c2ebfd7b9683', 'external-dns', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140753+00', '2d04739f01b606916efa8992d4f656ab13946c98458232d82bc7636b9fb31e6f', '52067355', '23', NULL, NULL), +('98ab3c1c-32ff-4ee0-ac2e-706cc4ed60b6', 'crucible-pantry-zone', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576565+00', '5dfd6c603928be8565e4ddc014606a983f1c97181e89cf6efc29fec8da411b8c', '44795806', '43', NULL, NULL), +('98af4148-edb5-4a3b-a746-e7f507c12842', 'probe', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008522+00', 'f8e2b3b1ecf19c556bc5905862fc6e91fd134a19ec8138461468419a6d7d80a5', '3109590', '15', NULL, NULL), +('9959752e-c874-40ea-88ff-2a9adf319d51', 'host', '19.1.0-0.ci+gitc7312331b08', 'cosmo_host_phase_1', '2026-04-14 19:37:47.604846+00', '6c8e705d8f1c9d4d8cc219a20021642597124e0d19062e0b7b9166eb685d4876', '33554432', '131', NULL, NULL), +('99656bc7-ae6f-4dbc-9cc3-709da027d626', 'crucible-zone', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744435+00', '277cafec4b419cf411f1ccdb810335cdfab16d76bc7336dd3c6a474cea2186c0', '59221195', '37', NULL, NULL), +('99e9cdf1-7a1e-48ff-92c0-a1544b174af0', 'crucible-zone', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140753+00', '43d145f5c1dee70c6c62e9e739e216203120cf07cccb543cc08b8f7973b088b8', '56171198', '23', NULL, NULL), +('9a1369ee-c798-44c2-8c31-9234934ebe00', 'clickhouse_server', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.20539+00', '8843b876db543f7ad7a31474f794d8b21bb528ea3eb2aed7fe5c9e5e2708d366', '325876696', '19', NULL, NULL), +('9a6f4c79-76e1-4351-bc38-8570679468c7', 'external-dns', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576983+00', 'a61a34d5b73cf46e0d9a656839fb645b9a468be98cbb9626394797e06d0a9ed6', '53095452', '125', NULL, NULL), +('9a711937-3f8f-4e39-92c8-f6b5918a097f', 'trampoline', '17.0.0-0.ci+gitb8efb9a08b3', 'cosmo_trampoline_phase_1', '2025-10-08 20:35:41.742765+00', '100926f0f1a94bbe96c93ed342dd9d152c327d398f82be563af6b0840fec41ab', '33554432', '3', NULL, NULL), +('9a72ee10-6de3-4ebe-b355-65e38b5691a7', 'host', '17.0.0-0.ci+git8c683c74af9', 'gimlet_host_phase_1', '2025-10-10 16:09:24.468875+00', '00c526c594df7c3031c8bce408b9f300fa29ec761ea57de79a9d9251543a4b7d', '33554432', '6', NULL, NULL), +('9a7a8170-326b-4e90-ba1f-67c6cc667a3b', 'trampoline', '17.0.0-0.ci+git495eab19cfc', 'trampoline_phase_2', '2025-10-31 23:54:18.712722+00', 'e5c6c6a6c00f29d70667804793e3f983d7f9e1ed7b6fb6e2d128ddab79b2538b', '152302321', '33', NULL, NULL), +('9a814637-cb89-46d6-b2cb-9c2d75fbe452', 'cockroachdb', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.46888+00', '3c40a9252f530fb6806f3275be9bd6ed27050fce1fb8f62fbd6b84e9defe5c48', '169505133', '6', NULL, NULL), +('9af1435a-fc34-4b31-bb12-4ec03b2bc7c1', 'ntp', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899356+00', '64f4df97406a6ec7b183c2da84f20539c1028119497ef95b01d36b317f641b19', '34047318', '27', NULL, NULL), +('9b0cb00c-898c-49f9-8d7e-90b80a6e3958', 'host', '18.0.0-0.ci+git17cf00dbf0a', 'gimlet_host_phase_1', '2026-01-31 18:37:09.507157+00', '2e4af83d029116561a8ff36557e30f57f158b2672f3acba896ed13548cc207ab', '33554432', '69', NULL, NULL), +('9b1b01ee-0bd7-475e-b21a-fafa2c7a8f8f', 'clickhouse', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329506+00', '079dc5d3df3ac6440ee694b8314219621b010143bea6daf254265f5bf2450afc', '330046348', '73', NULL, NULL), +('9b9f295c-6961-485e-b4db-2b1ea58a43e3', 'oxide-rot-1-selfsigned-bart', '1.0.38', 'gimlet_rot_image_a', '2025-10-08 19:59:10.483178+00', '986bdbe66d46e8246d7f27abee965905de0adb119620ce4efdbc122f5393b0a5', '1634641', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('9ba11235-7976-4c8d-9f7f-28b277382dd1', 'clickhouse_server', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.07861+00', '5ae850ba2a659882264267c041d2344a558e9efa66ff31795ab7afdfe9fbf47c', '328049444', '55', NULL, NULL), +('9bcd468c-6e7d-414d-80b8-efde935aab53', 'external-dns', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663974+00', 'ce2fd735a6c99dee4f823f6375458d39a992533b131c6e539cccecb3d26987a3', '52068113', '31', NULL, NULL), +('9bd3d327-69c1-4ba3-a9b2-73af726699c0', 'psc-c', '1.76.0', 'psc_sp', '2026-07-07 06:50:20.366503+00', '7b77e5c1d9ad67041a777cc0dd934ac8ff7221f172d4cd464c1bd9c0966da2b7', '4091988', '167', NULL, 'psc-c'), +('9bf48412-b778-4c1f-a1f1-9569b7cffc6e', 'clickhouse', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837889+00', '89f72bbb6d1d7407a42cc7600da1d2c4b58e05101e99f6c5a800cf8312310ede', '309794339', '111', NULL, NULL), +('9bffa9fe-1652-40eb-93f2-fe922386ed30', 'oxide-rot-1-staging-devel-psc', '1.0.38', 'psc_rot_image_b', '2025-10-08 19:59:10.483205+00', '812170d81cac9ac5fc034a33d8f2cd6c8cdcb9f092939f236255007360181924', '1575045', '2', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1'), +('9c3ff1b7-3131-4c3d-a655-e083ab8fc9d5', 'trampoline', '18.0.0-0.ci+git5292c0d21f9', 'cosmo_trampoline_phase_1', '2026-02-03 03:55:01.998664+00', '0c2ffb4b331b5278957994e91df36e9febe23b5a68ece8a1e2e5347ae10cbeb0', '33554432', '71', NULL, NULL), +('9c5ccca3-ac5c-4cba-a2a6-3df17c16d9e7', 'probe', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366499+00', '8e82a13dc21cf3bcb205a74c972be36ea514eceb56adfc1554414cc8dd0f2262', '3109592', '167', NULL, NULL), +('9c8d53bb-b18e-47c8-bf23-9317c803b1f8', 'gimlet-e', '1.0.63', 'gimlet_sp', '2026-03-06 17:26:46.282131+00', '1c56b19b417e12dcb2c39ad2f8267a403601e4d673da2cfcfdddf9339c253b4e', '5469124', '107', NULL, 'gimlet-e'), +('9cd44014-af08-47e3-9a69-0a143c0f57f1', 'host', '20.1.0-0.ci+gitf6ef6642eaa', 'gimlet_host_phase_1', '2026-06-23 04:22:03.471606+00', '7504923a8704b07cfdc4a6ade9daacafd0da9c7d652d1acf7506b2aa3640c662', '33554432', '159', NULL, NULL), +('9d6d9410-d254-4451-8841-b29e56e7e513', 'host', '20.0.0-0.ci+gita3fee0ec59c', 'host_phase_2', '2026-06-10 13:51:51.899225+00', '1358a68a3652533a08a4e4ce682fb08c74dec50c4f0ef90feadc866998779a0a', '1101008896', '151', NULL, NULL), +('9d7e005a-51fb-4eae-8b57-142981b85a33', 'ntp', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918401+00', '8faaba63cbc24922c8376bbe7874751585bcf7fde152e223d5b05659364b6f90', '30411904', '99', NULL, NULL), +('9d84956b-0bb1-49d1-90dc-807e4e9fbc1f', 'trampoline', '17.0.0-0.ci+git27a65080e1b', 'trampoline_phase_2', '2025-10-19 00:31:17.638797+00', '9d1422f2f8aa2c91f152b4dd4473b9bac7d7af31e503090ad3183f2a92690340', '152328370', '13', NULL, NULL), +('9d91754d-ab74-46d3-aae8-a21c8c2eef33', 'clickhouse', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941523+00', '9b883c0c1428951b514759dbfb10bbad91826554d4567552d5c91c5bd9781655', '329584014', '153', NULL, NULL), +('9d96b088-3e20-41eb-990c-e731b645e549', 'external-dns', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659118+00', '7d624f38b8d946d72712b20f75ef4313236adc1b1109e1f1eed00bc7ad8c39b4', '51413637', '143', NULL, NULL), +('9dc17cd5-3451-429b-b0fd-4d3c539bec98', 'gimlet-f', '1.0.67', 'gimlet_sp', '2026-03-30 16:50:10.815676+00', '2b28fe078969f29dcfbe28da86dbff83245ed97852777150937fe67e97cd2378', '5507881', '115', NULL, 'gimlet-f'), +('9dc8cc81-d3fa-4c8b-a92f-4f788a0b3279', 'ntp', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.32951+00', '7151f3fe12b1dfda22df7a665aa1388b56d67e447caad3a2f94c73225ea95952', '35774672', '73', NULL, NULL), +('9dd1c7c4-fa61-4c41-86d1-78ab7b6c9cb7', 'gimlet_rot_bootloader-staging-devel-gimlet', '1.4.1', 'gimlet_rot_bootloader', '2025-10-09 16:06:27.599285+00', '01bf70ada8937f7adf23a2eb6b5d7c36351cccd6a4aec2af6ab591d0f30902ff', '46165', '4', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1'), +('9de5633d-bc84-4105-84cf-659504cb6db8', 'clickhouse_server', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.43194+00', '7c2f089911361a888cc763c055d21139cdded5c90425416de15cb17ee298d744', '309814250', '109', NULL, NULL), +('9defbf71-6548-4c5b-a92e-f824d164dd57', 'host', '20.1.0-0.ci+git1dc05d502fe', 'gimlet_host_phase_1', '2026-06-19 01:29:50.25048+00', '60037cbe181088a14ccfa9531d2453688d4e0cde99b19903ed46295a85709680', '33554432', '157', NULL, NULL), +('9dfccdcb-6174-45c0-ad03-1fa4027aacc0', 'switch_rot_bootloader-production-release', '1.4.0', 'switch_rot_bootloader', '2025-10-08 19:59:10.483226+00', '4715233449305c86d4cb3e22b050afe657faf22bf20bc74cce9a3081254375b1', '47055', '2', '5c69a42ee1f1e6cd5f356d14f81d46f8dbee783bb28777334226c689f169c0eb', 'oxide-rot-1'), +('9e070595-4d01-4061-96b4-2100059ef4ae', 'trampoline', '19.0.0-0.ci+git42726ecbb1b', 'gimlet_trampoline_phase_1', '2026-04-08 00:24:54.576978+00', '47b1f283bc6d06a5c7f26d4faa8a03552819a58336be8b8f37abf27687fa761a', '33554432', '125', NULL, NULL), +('9e21f650-d7db-450a-8e23-d3d2c158ec23', 'clickhouse', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576981+00', '34693984e77050a4f8e88eed6be1150f3ee285d92c3cbddd0f089bdf80d6bc4d', '331382487', '125', NULL, NULL), +('9e2524d1-444b-4c5d-95b4-53bb0dca5ca9', 'crucible-zone', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.99524+00', '05a2558fecf4d3f8352fece8a4a5ec7cb28f07622c3c3295adc42f9f491c408d', '59221195', '39', NULL, NULL), +('9e29cdaf-d17e-4225-82e4-41655940ec47', 'internal-dns', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.68412+00', '2483bbd268ce5e3135c3e77ae9a2b80ccada723128cc2fc6014716c186217b49', '49943614', '83', NULL, NULL), +('9e4c65a1-bc3c-4ad2-b0b0-3d9fd452b5b1', 'host', '18.0.0-0.ci+gitc643ed39da8', 'host_phase_2', '2026-02-10 13:49:39.684114+00', 'df64151f89abe98654ac603d789098468c29451cd04c9924930f440d38a3a074', '1101008896', '83', NULL, NULL), +('9e535ba4-1ddb-4193-878f-a884fc41a066', 'cosmo-a', '1.0.60', 'gimlet_sp', '2026-02-13 19:04:31.652442+00', '369b4e37af77a335ed80c1608e475502bd9ae2303836b0835db26942b4c31072', '6510781', '91', NULL, 'cosmo-a'), +('9e661585-dc57-4889-aa1e-825f2133738c', 'installinator_document', '19.1.0-0.ci+git073b1306678', 'installinator_document', '2026-04-11 03:24:26.751883+00', 'edfc4ccdc51c9811a30f8e49e5bb5405466e49d45f9e76d392145249df96bf4e', '924', '127', NULL, NULL), +('9e7e4bf4-b73c-4337-a55e-fc0ca83d553b', 'host', '20.1.0-0.ci+git846f6a0ad0a', 'cosmo_host_phase_1', '2026-06-18 21:11:25.441917+00', 'b1de61bd9fc1485d52fc16ea59dec7c87efd28445533b5a1b30a6b919d5eaaf5', '33554432', '155', NULL, NULL), +('9e8dc10b-5122-47fb-8ee2-9b9696977623', 'trampoline', '18.0.0-0.ci+git6601b8ec8a4', 'cosmo_trampoline_phase_1', '2025-12-02 01:51:35.116898+00', 'd0dc991970dac2e56c768f9c7566999f497057d3561a6b4d043d249e4d5552e0', '33554432', '45', NULL, NULL), +('9ec32a50-5604-423f-b7ca-e57d0a5ad38d', 'gimlet-d', '1.0.49', 'gimlet_sp', '2025-10-31 23:54:18.712709+00', '17f12aee90339271f9e7c23c81bff4726cb38ae8560daa494a2cb7c0b2d5a2d3', '5352745', '33', NULL, 'gimlet-d'), +('9eca8299-9a30-460f-a8d7-af8c4b93582c', 'trampoline', '17.0.0-0.ci+git01bb8750d9c', 'gimlet_trampoline_phase_1', '2025-11-11 05:12:39.576561+00', '84b7290a4b110973192c58dadd5058f2bba4b4b936f3ba7e83a2011e1b81d9a9', '33554432', '43', NULL, NULL), +('9efc241a-0244-4810-a515-a2a998deff1f', 'internal-dns', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981014+00', 'f55f9162c41b182565a2793baa208975a381c16bac635ea0547edeec14ddac15', '52495964', '161', NULL, NULL), +('9f4ac7b6-0add-4354-959a-60d21345b7bb', 'host', '18.0.0-0.ci+git4175bf66d6c', 'gimlet_host_phase_1', '2026-01-18 22:34:16.803638+00', 'd3da132de6f2f68a9823cb204544f71e30cc4b70cafc4df8e55b7d5360ffd40a', '33554432', '61', NULL, NULL), +('9f8522c2-d557-42d1-85b6-a084c27ad9bb', 'clickhouse_server', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272995+00', '78e9f0f05a78b02fd6c75484424ece67fcb2777f61f63b22008b87b4c9a88ea8', '327331736', '101', NULL, NULL), +('9fbb20f6-f12e-4f3e-862a-20b143e700b1', 'host', '20.0.0-0.ci+git2e319eb3b9b', 'host_phase_2', '2026-05-28 01:22:57.659113+00', '091b50e9946b2e6ca1fb8c80acbd574543e81e75bd35f9e0c8613a33e9dd9a15', '1101008896', '143', NULL, NULL), +('9fe6c135-6900-4ab0-9dae-daa727da2516', 'host', '17.0.0-0.ci+git063828b53e7', 'gimlet_host_phase_1', '2025-10-09 16:06:27.599289+00', '5ceb033313975a16930ac3002baa34b3d6d43d563fd0bef5d31cb1b56e550f70', '33554432', '4', NULL, NULL), +('a04ee8d0-46f2-4f35-ad0e-a745a96e7fdd', 'host', '18.1.0-0.ci+git550f05cd523', 'host_phase_2', '2026-02-19 21:32:58.918394+00', '2685505251ea95c892f3ca054834be016e9b54d137b499e1b2fd46195b36a3a3', '1101008896', '99', NULL, NULL), +('a07834f0-e388-41ba-9d35-0d6e1248f2db', 'oximeter', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.24786+00', 'e89cb914612bed84d363f7f52888f5cfc2f4ae0d7a33a2ad6b46d89747ab83ba', '69475748', '139', NULL, NULL), +('a0b1da54-af9e-485b-914b-3cea490b5e13', 'trampoline', '18.0.0-0.ci+gitd211c40e1e5', 'trampoline_phase_2', '2026-02-19 03:44:06.271935+00', '9d924acd1e62cc7f1fbbe725faebb7c19fd92708a431949b99f2980b08526b8e', '146132237', '97', NULL, NULL), +('a0b54cb1-fd70-4423-9095-0061e82b6319', 'crucible-zone', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712724+00', '456d3b124977923784fd1548f3074e67be109d441838c4b330c0dbb09e7fff62', '59162093', '33', NULL, NULL), +('a0dcbe2b-bc6f-47ae-bb14-686979053812', 'probe', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040704+00', '7da470ed691ea55c3121df2287ac67492f5480a0ba61b7eb4420107ac61338cb', '3109592', '145', NULL, NULL), +('a167152d-61e7-4095-9eb6-60bf97895a42', 'crucible-pantry-zone', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594069+00', '4bacda210ddf277ea9b9177c2ac4bd268f2c260078d8dd003799a566fc34dc05', '45700699', '137', NULL, NULL), +('a1a6852b-edf5-43fa-b4a1-ed7d7fb3133f', 'nexus', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415161+00', 'c42604dca837edc2bbdbfce138a61351e36fe3dc68a1039c9647244f99aa44c3', '191544723', '25', NULL, NULL), +('a1b55561-0a33-48ac-a8e9-26ab154434ec', 'psc-b', '1.0.67', 'psc_sp', '2026-03-30 16:50:10.815703+00', '7aba723634e1207644df6841843b35f8312d8023594c006f4f48c7bda121d152', '4138115', '115', NULL, 'psc-b'), +('a1caa917-1f66-416e-9de0-d5a2e5774ad6', 'cosmo-b', '1.0.52', 'gimlet_sp', '2025-12-02 01:51:35.116871+00', '8e2ab398eb329d5ad1dafd94c2a2fbba023ad31780da5846353e8d96b151b598', '6434419', '45', NULL, 'cosmo-b'), +('a2190363-4866-4e75-a0be-d81710ba3032', 'oximeter', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719346+00', '89412bc9f41355ba969dbed1449578cd0abd067a5de0e439e713f2f79a62b6c7', '65833154', '5', NULL, NULL), +('a27b694a-84db-4f74-a42c-a04b448b3218', 'internal-dns', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762665+00', '87c90d6c0d33804f5912093dac287b44cfb0e10f8dcf3ac865384d8ea2fc5a19', '47987729', '163', NULL, NULL), +('a2add6fd-42e1-4e60-9416-47af52cf0268', 'cockroachdb', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913095+00', '997f3aeb446648e734bd0392d32386800353c2d5771de2125c335c9e849bda88', '171913325', '57', NULL, NULL), +('a2c500de-93b2-472c-ad54-3a29e6fb7ecf', 'host', '17.0.0-0.ci+git81d822614e1', 'host_phase_2', '2025-11-04 22:17:21.74443+00', 'f298f4de28b9562c7259dc9a325a2c7cbbba28266a1445d389114cb2ccc51bc7', '1048580096', '37', NULL, NULL), +('a2d2aa21-d258-4c03-b9ea-3f842d87eba4', 'host', '18.0.0-0.ci+git3b3f937d05f', 'host_phase_2', '2026-01-01 00:51:32.078607+00', 'ab733018ad3fd565f4cdc734aa2ccd539a75e1f89fc93701d12d76c55f3071ad', '1101008896', '55', NULL, NULL), +('a2d89c67-9f90-4fc5-90f9-5442b10de895', 'external-dns', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431942+00', 'cd13d5270e0638da42905b63a9bc176dff247db7b82f2d7ced496d2f2eff85c8', '42541855', '109', NULL, NULL), +('a2fefd93-70c3-4811-88d1-fc4929558db0', 'oxide-rot-1-production-release-psc', '1.0.38', 'psc_rot_image_b', '2025-10-08 19:59:10.483211+00', '90ff730bac85e054613b08ae2bc658a32af777824d87c877167bdc156e0cad55', '1574986', '2', '31942f8d53dc908c5cb338bdcecb204785fa87834e8b18f706fc972a42886c8b', 'oxide-rot-1'), +('a34975d5-075d-48a3-a22c-20124a6dc299', 'clickhouse_server', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140751+00', 'fe1efbd423749e836dc660ef91459cec2863ea79520157c76b3b3f0be63a679c', '325882228', '23', NULL, NULL), +('a35b3417-1ee4-427e-874f-b79a466da4c1', 'installinator_document', '18.0.0-0.ci+git5eb13372380', 'installinator_document', '2026-01-22 00:31:09.684337+00', 'eef21b87ef488b836498403e26b8daaf3130083810ac0260fb2e9b39685f0dfe', '924', '63', NULL, NULL), +('a370aadf-bf7e-4379-af45-57937836afb7', 'crucible-pantry-zone', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051901+00', '566353fbe8b4ff2225b47f41c7dae96d331acb8ec271e43a597c7d76d775f4f9', '39235167', '105', NULL, NULL), +('a379bf02-528e-4dfe-9014-eb8a77950380', 'gimlet-c', '1.0.60', 'gimlet_sp', '2026-02-13 19:04:31.652443+00', '45e21067211165b2ef64dcdb5c20c221acc22c7ff243824c84fe2dc0b6818b4d', '5477973', '91', NULL, 'gimlet-c'), +('a3a25828-f2eb-46d0-a4ee-8469b019bd64', 'crucible-pantry-zone', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468881+00', '2a9faa2736588e9950dea02db371b0a8eaac683b49eb7672c3c73dcb0e08affc', '40347897', '6', NULL, NULL), +('a3a7bdc8-f29a-4c67-a396-70786dfaa84f', 'nexus', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.26076+00', 'b709404b2d9c74db80ae3200b199bc74a243f30929eeb21cade839cf52d742d0', '201607513', '47', NULL, NULL), +('a3ac6708-b072-44e4-9140-89fd57ec3e46', 'clickhouse_keeper', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038682+00', 'ac62a2ed318b8c6000bc691877d0ae00020c477323f0e83cab7f2a723210acf8', '302066067', '117', NULL, NULL), +('a3c8ecb7-d212-469d-89a5-ee23319c953c', 'host', '19.0.0-0.ci+gitd41bfa5af31', 'cosmo_host_phase_1', '2026-04-03 04:47:46.332944+00', '522bb3662fe98cd24ac50b3308f7fa9ad6bd64fc244b6c29777151983c22e7e7', '33554432', '119', NULL, NULL), +('a3d740a5-eed8-484e-b2ec-c6c533129562', 'oximeter', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744437+00', '73db088427785554a2208e8f30ef155d7bfb92a4b3442481bc1be4cb31910b27', '65186917', '37', NULL, NULL), +('a3e03bb4-877d-49d7-9657-0f9e69a98eb5', 'cockroachdb', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.05122+00', '24ef8be7422b2a652497bf0707591530d1cdf5e877e3560e17798177356440d4', '169144425', '93', NULL, NULL), +('a435dae9-9f42-475d-bb42-e9b8b7ccbfbc', 'host', '19.0.0-0.ci+gitefa6443bdeb', 'gimlet_host_phase_1', '2026-04-07 22:15:07.062165+00', '2d0711b60067c7c78117e8b0efdc41995a5f8ce1ed8a155a3d1428381687fab1', '33554432', '123', NULL, NULL), +('a4495ff9-ba1c-4116-b0ef-b3ed4626ea36', 'host', '18.0.0-0.ci+git0ee7d730282', 'gimlet_host_phase_1', '2026-02-11 17:36:00.471154+00', '94bf87e30cef8c8ffd2e98bbe32ba09466db06599a6d92a01822c42f8ae9f0af', '33554432', '87', NULL, NULL), +('a450b07a-2988-4c71-ad96-e6c066afd8f2', 'gimlet-e', '1.0.52', 'gimlet_sp', '2025-12-02 01:51:35.116874+00', '8da3cddea0d9034eeaa4c2c87161e98b57e48d7aa12955d68cd3f8154f321e70', '5394973', '45', NULL, 'gimlet-e'), +('a47e47c2-faed-4c4f-a966-380358416a6e', 'external-dns', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762664+00', 'be93fb7993a7d5c636a6a6b9f5f96e6c0980f0b362cc35118bdd048df84e89ec', '47988129', '163', NULL, NULL), +('a4b270d8-043e-4717-bfaa-5eca13f63b39', 'external-dns', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205393+00', '7cef4ede6797f1dad53501792b5fda26dcdcd99510cacbec96fe8071e69096ae', '52067355', '19', NULL, NULL), +('a4c9a3e2-f318-4146-8d8b-43159db87cce', 'cockroachdb', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275322+00', 'ea3e63ea6657932258c16182c5b20d74f690e918b0c6df4f27a810b86ea78fd0', '169057747', '81', NULL, NULL), +('a4daac92-a78a-42a7-bffb-bc0174fabbc8', 'crucible-zone', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963938+00', '54ab23dad7e0d487b3833120866e56dfc3f58169035e591d7b51e658c1a8501e', '57011400', '85', NULL, NULL), +('a52bbc4a-04b7-4b06-9d74-61494535b9b4', 'host', '17.0.0-0.ci+git27b3ef9b9d0', 'cosmo_host_phase_1', '2025-11-07 00:26:09.449911+00', 'cd3ba98ec91b495e4a21b48b5e42949665ba6e5edcbb56327725e6be31950d3a', '33554432', '41', NULL, NULL), +('a540cb94-6426-42e9-943b-45b691c58920', 'clickhouse', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366495+00', '7a156bd62c3b3cd3aa96616b94818b59b4fd12e72bb1ca1a5105e7fec1610021', '318828479', '167', NULL, NULL), +('a553d7be-9686-42a8-a2f5-9d0ec5066c3a', 'external-dns', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684119+00', '0d8634847694772c27f9f6f46623dbb9723aaa565f8b41d1d86b9d41ea9fb5fe', '49944016', '83', NULL, NULL), +('a56210db-a89a-4321-838b-acffd42399fd', 'crucible-zone', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243791+00', '75be613bc0a0f27f09b9271d77a87e55769c42485b105d90566b1fa272909b76', '56171198', '17', NULL, NULL), +('a5767c65-b2a3-4e7d-870d-2dcaeb761df6', 'host', '19.4.0-0.ci+gitbae719a3bdb', 'host_phase_2', '2026-05-13 14:19:55.594064+00', '1413aac17d052da32376884d5281806b403c69be9f37adb0c0d27a8f7eebb8f0', '1101008896', '137', NULL, NULL), +('a5cbaf33-5be6-4b3b-9021-31fdae655dff', 'clickhouse_keeper', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478027+00', '90e84f40e93d91851da38ece9f44f990a7c62ca631b64adbe929544374f7f7ce', '307413784', '67', NULL, NULL), +('a6172a27-96c6-416b-91d2-6ffeb07b1215', 'gimlet-c', '1.0.53', 'gimlet_sp', '2025-12-08 23:28:06.26074+00', 'f4dd413825f5470af60245b16bf47eed6e285b2a7b244e1f5466a8c3e9b896db', '5397890', '47', NULL, 'gimlet-c'), +('a644fbe3-9f5a-4ac3-82e1-828d1c2e036d', 'internal-dns', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507168+00', '5a4b79467f285a89011346690b649e4818cd6c0012cfaa3e0706e072f9148268', '48999408', '69', NULL, NULL), +('a6686d3b-78e9-4ce5-9a73-a207b5f340a1', 'clickhouse_server', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.1169+00', '0d81902fc38bc10f96715f46023d0759788d49632567013a1069dcf529063558', '326638502', '45', NULL, NULL), +('a67eaf90-5da7-4e29-906a-c12d09ab59cf', 'trampoline', '17.0.0-0.ci+git01bb8750d9c', 'cosmo_trampoline_phase_1', '2025-11-11 05:12:39.576562+00', '2ea92900303a17b4123472d15fa1b1e976a9a2911e995a7146df5acd0a528a56', '33554432', '43', NULL, NULL), +('a6a41d57-d33a-4da1-b999-8bef786ab3a8', 'ntp', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.09045+00', '92c8c2fc69783290c990f09979ddadb307fc2d8e50ebb1122f75aaa669535526', '30354393', '77', NULL, NULL), +('a6cc762a-31c0-4545-b1bf-4211055efa48', 'oximeter', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441927+00', '5731d96c2b065329c69a2fac2ed606088a81471ea8661fb0e66c3466799854cf', '69787822', '155', NULL, NULL), +('a6fd1675-5f1b-4640-89d1-8ba73990d515', 'clickhouse_server', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004239+00', '6dbd983e27b815c588694d2cf05d09cc2f04dc558370822dd8580cb1b434ea63', '329619725', '147', NULL, NULL), +('a727092d-6551-41ad-9f80-c2495a71c0b6', 'clickhouse_server', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.31019+00', 'dab69174e9a689380e91d05f32416de509794cf3c4b4c1cd4906cbf1cfed0d21', '331378514', '133', NULL, NULL), +('a7289e27-af09-42e0-96de-29e5880ef949', 'clickhouse', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751858+00', '9229a8c9bac7febf374b3e6439590e6f57c34fd66d20bb1b5663f033d000daf6', '331382487', '127', NULL, NULL), +('a749e3df-952a-41ab-acfe-fffc45e68c8d', 'host', '18.0.0-0.ci+git5292c0d21f9', 'host_phase_2', '2026-02-03 03:55:01.998663+00', '24e17ab29e4cf23efc295177346614fbd4d572e9ea6ac23a92d28983176e63e3', '1101008896', '71', NULL, NULL), +('a74bbd1d-3369-426b-b627-2b007695bfde', 'sidecar-c', '1.0.57', 'switch_sp', '2026-01-22 00:31:09.684328+00', '7f0f5fcc105ab9935d31b2c16bcc2c3f01e17f4638c36f504eb647edbf2e4089', '6955368', '63', NULL, 'sidecar-c'), +('a755d892-2cbb-4682-af56-de4661812f6d', 'trampoline', '19.1.0-0.ci+gitc7312331b08', 'trampoline_phase_2', '2026-04-14 19:37:47.60485+00', '6f27a4aebdcdd5b6d298a9194acfb57d5356b1ff2d2a80505872b0c5cbd099ba', '146347400', '131', NULL, NULL), +('a76ba11e-b8b5-4279-ae2f-d56b0110c9ca', 'crucible-zone', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275323+00', '22d6ddc1f81284b6faedfc04954d03226f0080846e1465c67e1be493023aa2f4', '57011105', '81', NULL, NULL), +('a7738894-5101-4b6f-8c57-e2c165ca2730', 'host', '20.0.0-0.ci+git13937a135d7', 'gimlet_host_phase_1', '2026-06-09 22:54:35.291181+00', 'e7a1233bc09eda1b490921ecbc51d2612c025f3ba453f8402ad277d322a70bfb', '33554432', '149', NULL, NULL), +('a7a0f9ec-d599-43b9-b674-c727fa6bfc3e', 'crucible-pantry-zone', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484038+00', '4fbafa05e09a0de846adb495982581b349ee2b4d072e54bee1d5cc45c9e4c907', '40345065', '7', NULL, NULL), +('a7d510d1-f8e0-42ac-86e9-f96f4163bdbb', 'crucible-zone', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663974+00', 'a7194d5569a2d8fd3f30d08ea1bc058c45f7b24a0ecab1d39ee08e06f3e97d55', '59159890', '31', NULL, NULL), +('a7e3eb17-73d0-412e-b496-b8d6a10c749a', 'sidecar-c', '1.0.48', 'switch_sp', '2025-10-08 19:59:10.483215+00', '0d45513cd4ba2700b084b702a7a22a0ce33006f1985b4669f90f05ff4be641dc', '6851226', '2', NULL, 'sidecar-c'), +('a83b71d6-99bb-4ea6-bde0-7e469ce0ca34', 'trampoline', '18.0.0-0.ci+gitc298def0b9f', 'cosmo_trampoline_phase_1', '2025-12-24 16:09:17.700997+00', 'b474a01ed6b173567cf6082e62197bc6e6c333951ade39e5c2540f6e8c09aa47', '33554432', '53', NULL, NULL), +('a895e81d-3432-44c8-91e4-cf60ccee4f91', 'sidecar-d', '1.0.56', 'switch_sp', '2026-01-14 23:13:54.091163+00', '9e0856f6f6ede9c96f1a12ba325b68093e1e1f619ed46168c23e4f79a6a6f4da', '6864905', '59', NULL, 'sidecar-d'), +('a917023c-3c0a-4799-8ea2-8bcd8ee617b9', 'cockroachdb', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742772+00', 'e7fc273a958f47f39a02ad638af39063431f8480f3a35a48d150eb6ea884b1f2', '169504083', '3', NULL, NULL), +('a94a2488-9183-4747-a9b0-b0d4bb862946', 'sidecar-d', '1.0.64', 'switch_sp', '2026-03-11 23:14:48.431958+00', 'b5906bd03932b0d6f662e1abc4f11a545fbcde55ae11efbdb9473b46ee69cea0', '6968897', '109', NULL, 'sidecar-d'), +('a97620be-d2f1-4322-9a5f-4a1e065d8e6c', 'nexus', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078613+00', '18da535f11da4f14fda9871b2b8e8d02551cf1f4600fb36ea90d9710a10d95c1', '200860366', '55', NULL, NULL), +('a9a371a6-efe0-451e-adf4-2777a3d6dd06', 'ntp', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751861+00', '8e480ab311a8ae3d50b011ee2884ee97703745c12957c785e5bb6a0af8b6239e', '33891819', '127', NULL, NULL), +('a9aab3f5-525b-4a93-bc44-5fd97ccd21ea', 'oximeter', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710744+00', '284b49f07cae6be13adbb4c2bee46580d31dd9f93f9d433d153faa5be8de9caa', '63680272', '29', NULL, NULL), +('a9b807b1-e87f-4020-a305-5dcc69f13189', 'clickhouse_server', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.57698+00', 'd7ebc39199d2d491eb25f3b0d20b10ff019ad15a6b209aa2507fae8ce51017c4', '331381366', '125', NULL, NULL), +('a9e6fbd0-1ae9-478d-a563-2f4952b7d294', 'ntp', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468883+00', 'c1b3d51ef8f5377120f34ac605df7cfe3fb60e5de2ec73d6c6ad8bbcc2d31c5d', '34039784', '6', NULL, NULL), +('a9f684b7-8f2a-4cf5-bddd-6d8cc9392656', 'clickhouse_keeper', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684312+00', '09008469a8ed34fc5e29b300bd3aa06414b533bfec444efa27de6ad0c3d80e1b', '307400270', '63', NULL, NULL), +('a9f79e97-8645-4256-9c6c-fc01f48981f9', 'ntp', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652468+00', '389fab3017687e686e33e79cab4bc47713eeb3beac5bc04970990862f77bc47c', '30358401', '91', NULL, NULL), +('aa2dc5f1-1693-48e9-a604-167c6792a65a', 'crucible-zone', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918399+00', '921e36fb7358a6abc42b0571cc021564ff6256976c393f602c2058184577c9bb', '57038198', '99', NULL, NULL), +('aa38d2ca-2561-45c7-a69d-323b885f713a', 'host', '19.0.0-0.ci+git9dd23096de9', 'host_phase_2', '2026-03-06 17:26:46.282148+00', '44f27f33cec2006f9ff81954649082a07e69f2d6cbcdf54c409ab74add1496b7', '1101008896', '107', NULL, NULL), +('aa4332cf-4d91-4195-b45f-14b72df44080', 'internal-dns', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063853+00', '65e99ea87aef770d08961574deda1126aa9cfdaa167e1aec0b585e8dcd949647', '52269119', '35', NULL, NULL), +('aa4ba1b0-9fbd-4175-853a-0ed65e12f288', 'crucible-pantry-zone', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419122+00', '9793c587fcfdd86d95bdfb29e6602d71bfa37d639e69c3d64cdfb5f098546ff3', '44674753', '21', NULL, NULL), +('aa75faa0-058b-4426-aad8-ecb8c7868690', 'host', '19.3.0-0.ci+gitd4a126e8cc3', 'cosmo_host_phase_1', '2026-05-05 23:41:07.356072+00', 'b132449b2ca65783c373b67b73cc9cde90209a2cb9e1cd664ed779bf7fd1b5f2', '33554432', '135', NULL, NULL), +('aa9004d2-2f76-4b51-822a-17051882e5a0', 'probe', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744437+00', 'a03f2ae3b440fdd778a115766956f9d6d0b0099fd98492facaa0db91d65110c0', '3109590', '37', NULL, NULL), +('aa959431-25fa-43a5-ad2c-8b74738baa6c', 'gimlet-b', '1.71.1', 'gimlet_sp', '2026-06-18 21:11:25.441896+00', '8b955ac8a4a8f0581350c9577504da1beb33e1e14c4726c40b154a775efd71c6', '5545641', '155', NULL, 'gimlet-b'), +('aa9aedb5-c2c6-4fa3-b8c9-20438daf27b3', 'cockroachdb', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.0407+00', 'e6f0f4e48a2db06684a750f314125c8a0db7354d297e05bdf70399e24b21468c', '169592788', '145', NULL, NULL), +('aab7d7e4-b5d1-4f70-aea9-ea494757cbb2', 'trampoline', '18.0.0-0.ci+gitcfc181ba02d', 'gimlet_trampoline_phase_1', '2026-02-13 19:04:31.652462+00', '22fb237d7e737d80c68eb2af22a3c40429010a98e8cd96f2d1010b556efcdf8f', '33554432', '91', NULL, NULL), +('ab083d23-e3a9-4dcd-a451-2ba88778ea18', 'oximeter', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995244+00', '693480e83465a69b9a467f154fbd3e4e76156784ac242556be3e894336d46a0f', '65186917', '39', NULL, NULL), +('ab248c08-6734-4045-8c5e-179b558d9bcd', 'gimlet-b', '1.0.48', 'gimlet_sp', '2025-10-08 19:59:10.483168+00', 'c312880a56f4f678d7149de52f9877c03631cf2e97e54f7a2117003f83d7e1a5', '5352353', '2', NULL, 'gimlet-b'), +('ab7f2d90-5998-49be-8087-c47b59c5b981', 'clickhouse_keeper', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.71074+00', 'e8c4c5b71cca233c8f0f049a0adb61a9950b93abc5243df248b1320eb77ad496', '309310957', '29', NULL, NULL), +('aba46f0f-9036-4735-8716-5ae870dd4d54', 'host', '17.0.0-0.ci+git2a1d8548932', 'cosmo_host_phase_1', '2025-10-22 17:38:18.243786+00', 'c0c985e764776af7bb6cdf9663102312f54923633cd183f92a5583994ce55bc3', '33554432', '17', NULL, NULL), +('abc8765d-f6da-429d-b40b-cb72193aa171', 'crucible-pantry-zone', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310191+00', '6bf0490bc6f3280147a76f55503e15b97eb7268e7d7839e8784bf60755f4eaac', '45697712', '133', NULL, NULL), +('abcd81bc-8844-4ec9-b9cf-4c16b2491410', 'oxide-rot-1-selfsigned-staging-devel-psc', '1.0.38', 'psc_rot_image_b', '2025-10-08 19:59:10.483207+00', '53d5df2c918eb0b56afb2e4b48ef4e4b8f7f66985196f492ae5896c5a979c9f6', '1639910', '2', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1-selfsigned'), +('ac295bfe-5c67-4c6d-80fb-f596d732b473', 'nexus', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275325+00', '89394a17052ac50d37487bfbbce4bb7b407c72be477405fc2b73991ea2b1581a', '214899514', '81', NULL, NULL), +('ac2eca2b-7310-4926-9d82-2e9424556801', 'oximeter', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090451+00', 'c625af076ba2079e294bf5e8fad2263c326fe0d983850468d9776e198c755409', '65569979', '77', NULL, NULL), +('ac3e737d-cbcd-4929-88f7-90269d4d39f3', 'crucible-zone', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762664+00', 'b69475b938aaaca94441247d827cef20bb8578cc867f83f2ba30a39a11064d5d', '54801836', '163', NULL, NULL), +('ac457604-ad4f-412f-812a-3a34dc039df6', 'installinator_document', '18.0.0-0.ci+gita728a7f63fa', 'installinator_document', '2026-02-11 03:50:43.963968+00', '833f7a9ef490e4541d209c3dc3d21d1e9f7e03e4c55e3a0e98b0385368b53ee8', '924', '85', NULL, NULL), +('ac4ab720-1691-4050-b7d1-16f436f2433f', 'clickhouse', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918397+00', '5e6e14fcdf13e7ec695d2775b887edda4cd8f4155ebcf8874f8b8bacf19b6aee', '327329201', '99', NULL, NULL), +('aca4bdaa-ec89-48bc-ab99-6ed9a788fd8d', 'probe', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941528+00', 'e5fb171013b7476191e70445de8aba415d7eb183a35f688a2e30a222e10ea273', '3109592', '153', NULL, NULL), +('acb14a74-8b37-4f50-99b0-feac068cf2ca', 'crucible-zone', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008519+00', '71be0e40652fa20364b7c4ae96f5527fe581261cf230eb990d1543417acd35f4', '56171198', '15', NULL, NULL), +('acc69487-e0e8-4c48-b0ca-84af06f82beb', 'installinator_document', '17.0.0-0.ci+git01bb8750d9c', 'installinator_document', '2025-11-11 05:12:39.576587+00', 'ed502bd5f6739c5601c36830a17415b2941439059728a877c198f155617ff937', '383', '43', NULL, NULL), +('accbf551-761d-4262-9573-0d20ae948778', 'host', '18.0.0-0.ci+gitf507a3057c7', 'cosmo_host_phase_1', '2026-01-14 23:13:54.091134+00', 'fa11d1ddd7278a0359cf75d20305914bc9e5e6778c97b91cd0f9b1654bc3ea83', '33554432', '59', NULL, NULL), +('accf376c-70d4-46f3-9cfd-dc5d0d7a792f', 'installinator_document', '18.0.0-0.ci+git0ee7d730282', 'installinator_document', '2026-02-11 17:36:00.471177+00', '5a48770b29d4acc07683b6d803e47962828e6bfad7ef28a6fe34cff3874c89e4', '924', '87', NULL, NULL), +('acfeb4f4-b738-4d1c-a00c-521815121a31', 'nexus', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291187+00', 'c03780fd9c2d1f6baf7ab45222b8544351dd3506b5bb69fae6001aa61fceb924', '286197117', '149', NULL, NULL), +('ad1ff3a2-87e9-45c2-9201-848f18ca3b76', 'ntp', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419124+00', '11b0a43889397b1ea186a4477cde8a6a8845de557635bf869b60b70757d5e7c8', '34046458', '21', NULL, NULL), +('ad3dde6a-3947-4da7-8b56-c613ea8c7b00', 'clickhouse', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356076+00', '8c1cd1263662f1bacef7e5d47f039f9d4609edf883f43e3c41c4ecd20c13c9f0', '331908670', '135', NULL, NULL), +('ad700dd1-8511-4f46-9b30-5789d28c3083', 'crucible-zone', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.06217+00', '1074cc297f400c5de80137e0da5a972d79a05a54898c0f6d4929eb72b1310a7e', '60176366', '123', NULL, NULL), +('ad74562f-79e0-4c44-a347-f5e834bf6385', 'sidecar-d', '1.0.47', 'switch_sp', '2025-10-10 16:09:24.468894+00', '7981e2a51f1a66b01994d6a6ab2246587b490c56715951ce8a8605a8cdfab1e7', '6840485', '6', NULL, 'sidecar-d'), +('ad758f40-b1fc-4f75-9baf-be0532fda9b4', 'production-corim-oxide-rot-1-v1.0.38', '1.0.38', 'measurement_corpus', '2025-12-24 16:09:17.701004+00', 'd5c1a49ec5716f03a2af56789b57950e479843dccf2ef873b4b4cb6eb8720517', '456', '53', NULL, NULL), +('ad99ddf7-3dce-4384-9aee-2a72e8b45688', 'sidecar-b', '1.0.53', 'switch_sp', '2025-12-08 23:28:06.260768+00', 'f14de6ab159926c3d4d99365bb494e96500306e81247dc12e61f75e203b4e141', '6837212', '47', NULL, 'sidecar-b'), +('adc10aba-48b8-446e-a092-f3e2844c623b', 'cosmo-a', '1.0.56', 'gimlet_sp', '2026-01-14 23:13:54.091111+00', 'fbc188890b23760fa1daf2f7cdf8b64a777ba61652a0a64a22d9bd3bf3e7974d', '6456490', '59', NULL, 'cosmo-a'), +('adc5b5ac-ba65-44a6-b89a-eb6e008f2c62', 'gimlet-b', '1.0.71', 'gimlet_sp', '2026-05-27 02:26:01.196591+00', '89ea8b3ec8338ff66a09b27e89ff43d5e672cba7d000f5c8f3d6d16a738e0d97', '5545607', '141', NULL, 'gimlet-b'), +('add04b28-05cb-4ca1-b5e6-962bc53c6449', 'host', '18.0.0-0.ci+git99c3f3ef97f', 'host_phase_2', '2025-12-13 01:01:07.046694+00', '8234c10964ef7f62880772caaf96f449234bad8428b2a6a09e623d383550bfdf', '1101008896', '51', NULL, NULL), +('adddee18-1c2d-4629-8f34-c39fb05590a7', 'crucible-zone', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366496+00', '117befbf3b547529a77bfeae7232220d0eaeaf55c8cca19ee5d6c4b2f1c9d31c', '55096751', '167', NULL, NULL), +('addfdeaa-5952-42c3-8a48-94de2d80e423', 'psc-b', '1.71.1', 'psc_sp', '2026-06-18 21:11:25.44193+00', 'faecdf265b436e024e83864d8716762d8b78a80f651062b10c37a1a955ae6b71', '4154654', '155', NULL, 'psc-b'), +('ade5b275-c422-45ec-b27a-22aba7c0fe28', 'oximeter', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116906+00', 'da10b170372e5f7e520844988eaa4c5d6d7b3015d100f106bd214f13cd78f194', '64865695', '45', NULL, NULL), +('adf1c830-7049-4905-a67c-eea2739a1d7f', 'clickhouse_keeper', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190077+00', 'cad50d5b53103d4889a5f5ee5c68a7a00b5080482c2f989fb0c97d25ee1b157c', '309765502', '89', NULL, NULL), +('ae01f383-da9d-4a6f-b02c-43c199672aff', 'nexus', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140754+00', 'e23a3ea83b692f2d0235e15bc23b7eb196ff695b22a780e42a9c172536e4b062', '191486406', '23', NULL, NULL), +('ae5dbe38-f98e-4020-adb3-b555e756f60a', 'host', '19.0.0-0.ci+git10b9f2fb872', 'gimlet_host_phase_1', '2026-03-17 20:02:46.884104+00', '74c3528949b879eaa66cf6c85c50873bb696ffd2df9530c302b3b4d13b2dfd54', '33554432', '113', NULL, NULL), +('ae72cad9-70b5-442d-aac0-023b0166ca7b', 'internal-dns', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471614+00', 'afbdbc116472753bff85e9849cc3d677ca394a7ef1328b7cb87a2c44cfd08ea2', '52495964', '159', NULL, NULL), +('ae8fd12c-e6a3-4bbd-a693-b936718b0336', 'gimlet-e', '1.0.49', 'gimlet_sp', '2025-10-31 23:54:18.712709+00', '54ba8bad075934dcfebbff7c4c86a3521ad4b970e877a5b36419dc47e40534a0', '5352843', '33', NULL, 'gimlet-e'), +('ae9d019a-6a5d-4379-98d2-650655bc33e7', 'internal-dns', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.9184+00', '3980474e8283452962a1436868677a6a8164cfb412d673b77c4d84d8fd706405', '50015083', '99', NULL, NULL), +('aea3a89c-d9f3-459a-9a3d-026cbcad9894', 'clickhouse', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594068+00', '3bf28b29fd394f7464e73401ac083c765fa3c5c2fa84280bf1ac110ca60f686d', '332054602', '137', NULL, NULL), +('aeca8d99-5fd5-4699-a8c7-2aa87812d208', 'probe', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431945+00', '61a0860a06f4acf2cdc919f2cff940b1a834aca9edecbe1980a1c5d00b89a980', '3109590', '109', NULL, NULL), +('af1ff504-2abc-4830-b116-ee34ca7d837a', 'crucible-pantry-zone', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196606+00', 'f3ea32772ade2ec76580ad552df06b8af9bcef5b1fc3cda514e4b88c9f7e0447', '41575922', '141', NULL, NULL), +('af3cd70d-9561-4648-b6c0-8824f79dd797', 'host', '17.0.0-0.ci+git7bc5275729c', 'gimlet_host_phase_1', '2025-10-24 17:56:14.140748+00', '11c1a8baa6ed3415e3a7406ace15f5e59a7e6a714e1a75a945f7d76f74f662c6', '33554432', '23', NULL, NULL), +('af4c2bb2-8ab4-4c01-89d2-e5ea907fdb2b', 'oximeter', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.701003+00', '588edd14710517d17bce92ee9d031adac8dffa4d6b4d49f29fd54555bbd09e8b', '67691579', '53', NULL, NULL), +('af7a1adc-a63c-4bba-bd77-8cbe79d73cf0', 'crucible-pantry-zone', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271938+00', '9da5c196f4b43afa8ae3a9c601cae3597da14a957b9e647993292edfaa560af4', '42560844', '97', NULL, NULL), +('af80ec59-1d1c-4db5-a558-29d630e2cb26', 'installinator_document', '18.0.0-0.ci+git3b3f937d05f', 'installinator_document', '2026-01-01 00:51:32.078639+00', '24dd2d1a448965fdfb8c580b045c58e1a3fb5511119d7446fa32548a3a11b634', '924', '55', NULL, NULL), +('afa4a7f8-74c1-4ce2-a655-894e996f77f7', 'oximeter', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.50717+00', '2eb0586f39f0211fa1cf96385c0e9e9ee6e44d4fd79ae3bb08331b675e280cbd', '66177187', '69', NULL, NULL), +('b044c2bc-5b2a-4f75-bfff-89132294109a', 'clickhouse_keeper', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051219+00', 'f09a6af34081b8750ca4ef27a558d337bba4462f2f9c1a1106c1b12fd79583f2', '309883493', '93', NULL, NULL), +('b05d1ca0-96a8-49e3-a53d-53bd77168476', 'ntp', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431944+00', '713a352ac08d9ea50b781a2ff31056762bb3c267df768e2eefc6da8d5a38425b', '23097226', '109', NULL, NULL), +('b0678b88-04bd-47c0-9c81-018361b782fc', 'trampoline', '19.0.0-0.ci+git544d3751f29', 'cosmo_trampoline_phase_1', '2026-03-11 23:14:48.431938+00', '1813b9be1e31def8034e6cb85c296d2b74e757916ee1973f13b4e699f1c2fe8d', '33554432', '109', NULL, NULL), +('b06a5918-235a-4a99-aa7c-9be8d4a91bb1', 'trampoline', '17.0.0-0.ci+git063828b53e7', 'cosmo_trampoline_phase_1', '2025-10-09 16:06:27.599292+00', 'ecbc3485fffb30224e29272fef7e5d8019546b11a3d8146ad709f26b0e6b36c1', '33554432', '4', NULL, NULL), +('b09287ff-b515-4e80-8198-965186fdb34c', 'sidecar-c', '1.0.58', 'switch_sp', '2026-01-28 21:07:59.478042+00', '4066246bc86a30dfe943471af1f57686eea8460082656daf16c0d787bdfb7077', '6961173', '67', NULL, 'sidecar-c'), +('b105df3c-01f6-406f-abc8-820ee8cbd23a', 'sidecar-c', '1.0.60', 'switch_sp', '2026-02-13 19:04:31.652481+00', 'a8787f44cc6041edf7bf4f65a641ca447bd5698e1162d6cf77a6568bbfd32e02', '6961266', '91', NULL, 'sidecar-c'), +('b12be712-fa0d-4088-96ec-6c50bb022470', 'host', '18.0.0-0.ci+git5eb13372380', 'cosmo_host_phase_1', '2026-01-22 00:31:09.684309+00', '823c1c0f3a8f97d2d69589398a202fce4522f8f0b604827c9aadb31cea84e4c5', '33554432', '63', NULL, NULL), +('b12c2a43-4e18-45b7-9a65-e8afda2456c3', 'installinator_document', '17.0.0-0.ci+git27a65080e1b', 'installinator_document', '2025-10-19 00:31:17.638822+00', '1364216dd89d1e23dfcd342accb0c40db6b36e7aa2978e511556e729c9a562f7', '383', '13', NULL, NULL), +('b12c5640-58af-46fd-8aa2-7d6da4bd71ad', 'internal-dns', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038685+00', '6cdc1f4cbe2edfcb19c588c36d77f63ca3678b29b36e8703840e118e77fb154a', '45384282', '117', NULL, NULL), +('b139d48f-024d-4fe6-889b-942465fef31d', 'crucible-zone', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652467+00', 'da580da30780df4a835a57b4270d2c9eff922c83d5de5a4835f99bb18e5be8aa', '57014958', '91', NULL, NULL), +('b15112a8-94d3-413c-8b69-e6f372bfef90', 'clickhouse_keeper', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090446+00', '1b455257bab5d1df341290d8102ce9b6ecd98f3c6a338ebb9c1ea7b875236b52', '309742117', '77', NULL, NULL), +('b15b354b-8876-43db-bcd5-48de7e17d7c8', 'host', '19.3.0-0.ci+gitd4a126e8cc3', 'gimlet_host_phase_1', '2026-05-05 23:41:07.35607+00', '2a6fc872b5c94b3f03d5ec6829ac6ad2465ae94e1a152d831abb4fd7e2eae1d0', '33554432', '135', NULL, NULL), +('b15c3a79-d3bc-40bf-b90d-f1c10839da33', 'clickhouse', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271937+00', '77b8365500fa4d2ffa85ceb50cff3a632d51376540642e4cbd417a34c26c88f4', '327329201', '97', NULL, NULL), +('b1b55b4c-2138-49f0-8db1-bb51a531f714', 'external-dns', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803645+00', 'a958c163bf711e810cd8f7c49738bba43094a6b980830aeb60860049e03e870d', '54843347', '61', NULL, NULL), +('b1c6d250-4347-43fc-b1d2-4e9f8f385913', 'crucible-zone', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078612+00', 'dcafead685f0328771445af20d0d482d75ab3242a1f24373e44369445ab13110', '60044725', '55', NULL, NULL), +('b23b49ec-7601-4e50-8b71-947da3fae355', 'trampoline', '20.0.0-0.ci+git2e319eb3b9b', 'gimlet_trampoline_phase_1', '2026-05-28 01:22:57.659114+00', '9e967f54a36d1cd4ed4db87e783be01f92b11c9047c8bbc0cd9d82b3163d5269', '33554432', '143', NULL, NULL), +('b255dffc-0cda-4cfd-b9c3-e82be29facc3', 'crucible-zone', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815697+00', '73256b946acbecc4d002c64e5281706de466239c0de99732b24a4c766aaa5477', '55935985', '115', NULL, NULL), +('b2aec037-ba7e-46ee-a602-e0d238d9dc8f', 'host', '19.0.0-0.ci+git9dd23096de9', 'cosmo_host_phase_1', '2026-03-06 17:26:46.282148+00', '142f78e10e526b1b36642b9304b9d4378746076a11737edcb1cea08398e91784', '33554432', '107', NULL, NULL), +('b2deaf92-7f22-4325-8631-87dcb1dd9bf0', 'trampoline', '18.0.0-0.ci+git0ee7d730282', 'trampoline_phase_2', '2026-02-11 17:36:00.471156+00', '30f1ad0b1cfdfd3679df7ec0f2d786d816d2c9b224412f8cd40d6faba70523b6', '144196100', '87', NULL, NULL), +('b2ea61c4-3ede-445d-bd12-62e739f09a5e', 'host', '20.1.0-0.ci+git1dc05d502fe', 'cosmo_host_phase_1', '2026-06-19 01:29:50.250481+00', '680e9190e2647ba1497c9cb6210fb8f2f1ceea4aef96aece5575a5f11ee2eb6f', '33554432', '157', NULL, NULL), +('b2f37de1-1d36-4f3d-9585-d613a5748b96', 'nexus', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243792+00', 'a03a7f9000ff72221ab63d78911fd74409be2e51cbbd1bb3a4e0067de24e342e', '191362896', '17', NULL, NULL), +('b311615d-635c-46b5-9a36-5d3ee79d5b1f', 'internal-dns', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247859+00', 'be9e718a61a293ae1050f1acf01829da99c26ebe35e67b5549d1921b593a5259', '50988790', '139', NULL, NULL), +('b31af9ec-ea7b-4aea-a6c4-24540c9ed014', 'host', '18.0.0-0.ci+git52e04b3b26e', 'gimlet_host_phase_1', '2026-02-03 11:37:20.329501+00', 'fe23977132dc24777ce1f881578e7eaeb24dbb8ff7bad54df091d3c228e46219', '33554432', '73', NULL, NULL), +('b321ddfd-ccd1-46f1-a79f-3333e9811ce4', 'nexus', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038685+00', 'b6d2c94dc4b8a50b4d3abb3eb2a005c25fbd3fae768f68df88613bb13b66f785', '221343367', '117', NULL, NULL), +('b333497a-571a-4934-b2d2-6d7738f313b3', 'psc-c', '1.0.49', 'psc_sp', '2025-10-31 23:54:18.712728+00', '7d1341e95d78bb87cb005a2aff865204453bd11f75de61466735fdacfa9d3967', '4061399', '33', NULL, 'psc-c'), +('b34043d8-70fa-4d79-89f0-d0248b93eb43', 'clickhouse_keeper', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918396+00', '793d5ad08b31cb550653129c7d58f980d4ffb65c41c2a15e583340cb209a9313', '309883493', '99', NULL, NULL), +('b3592b3c-fe29-4fff-9984-ac95f5f91cae', 'host', '18.0.0-0.ci+git078382f5d9c', 'gimlet_host_phase_1', '2025-12-08 23:28:06.260753+00', '0aeb0ab207c6e09e083a8d6673b89b74f388c86bd3990eb4233d68095190abc2', '33554432', '47', NULL, NULL), +('b3730e15-216e-4b3b-bb62-8465463caddc', 'oxide-rot-1-selfsigned-bart', '1.0.38', 'switch_rot_image_b', '2025-10-08 19:59:10.483222+00', '5261c87276aafec4f2a419388de200ba3b9578eec32aa7f9b60f9ba0d94cb7d1', '1634722', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('b375ea35-e1c9-4f70-83fc-876602e5932b', 'crucible-pantry-zone', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356077+00', '1852383d9c3aecfdb0c1dfaae86fe7eb3a391734565a99ba16669ec00c51d685', '45697712', '135', NULL, NULL), +('b3af13c1-61a7-4a87-908e-83bbeaea359a', 'cockroachdb', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815696+00', 'cb85dfbf4d5bb4c17d60fa777689c93328ed5a0c72642d121de01f647ade03bd', '161481818', '115', NULL, NULL), +('b3cddbff-5f29-488f-9cb6-dc3585dcf454', 'host', '18.0.0-0.ci+git687f721a7c9', 'gimlet_host_phase_1', '2026-02-09 21:51:46.539547+00', '211abb4a88f2a7d8b9acb379b03114c3f3fb18ff8506efe4ffe501bf35f2407e', '33554432', '79', NULL, NULL), +('b3d95c69-aa94-4625-94f1-eab61a7f5bbf', 'trampoline', '18.0.0-0.ci+git360801b804e', 'trampoline_phase_2', '2026-02-05 12:45:07.112984+00', 'd219a4a1401b7470c4a8492ecaad30d18074fc9fe48ef3f32cb04b799d092551', '144181553', '75', NULL, NULL), +('b3ef2758-ca9e-4770-8479-69bd81369f87', 'internal-dns', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434248+00', 'd5eef966d22e08150e84aef74e7bfefc180dfdbbfadf5c4c9ca2b70749ded193', '49139263', '103', NULL, NULL), +('b3f0608d-c895-4ce0-95b8-179040dbeca4', 'oxide-rot-1-selfsigned-staging-devel-gimlet', '1.0.38', 'gimlet_rot_image_a', '2025-10-08 19:59:10.483176+00', 'dc1c96e39338ecc6b9c127b0af4eb2b000dbf4ec76c045274660b1bee5c1e635', '1639595', '2', '11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf', 'oxide-rot-1-selfsigned'), +('b3f331ce-d3c3-40fe-a219-985c64a4f499', 'crucible-pantry-zone', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181276+00', 'a2bf0f5a2aad72fc3b03a91da7087a5c96664c9d6fd5027bc63af8085fd37a7d', '45658774', '49', NULL, NULL), +('b3fd2af6-8588-4328-b820-7fcb17dcc4c3', 'host', '18.0.0-0.ci+gitcfc181ba02d', 'cosmo_host_phase_1', '2026-02-13 19:04:31.652461+00', '7b552419c9e710546c6ad1e09eecc0e3bd2240372a4ef82dfd7ee9e81dcfddef', '33554432', '91', NULL, NULL), +('b4212a6f-faff-4198-a9ff-daf072de7b0c', 'host', '19.0.0-0.ci+git19d83513171', 'gimlet_host_phase_1', '2026-04-05 04:30:51.921047+00', '05f905e8aac846d7a7afbfef3200b8aa14524d55daffadecb22e2acdf6c0d67d', '33554432', '121', NULL, NULL), +('b428409f-cc9a-42dc-bb76-e200a6ce44d1', 'crucible-pantry-zone', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243791+00', 'c6ca09ee2365eec7bd10063f0317afbf870d85ab468b356eeb8af8e9fe7a0ae8', '44674753', '17', NULL, NULL), +('b42eb50e-9f58-4193-b6e2-319290bf0cc8', 'clickhouse_server', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762662+00', 'c94ea93ea21e85f5d48853813cee3a52128ce3150cbfb00a3c55a1af03c5873f', '319215949', '163', NULL, NULL), +('b497bb7c-0c6f-40c9-8d16-8060928866ee', 'oximeter', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483201+00', '36c6865fba007ccf7c3e77d563b3addb52f78bfca5736e7209b894a10aae1560', '65824931', '2', NULL, NULL), +('b4caf341-847c-4413-bfe3-5b3a3283d018', 'clickhouse_server', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329506+00', 'b2525cce6b27106d67605a0128529560b375236bddbf27c53e96fed44759442c', '330045832', '73', NULL, NULL), +('b522e343-6a62-4ba0-9963-42478581feae', 'clickhouse_keeper', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.92105+00', 'e205309f744dac30271ed44dd0d2d63d0bf441185d674960c97ec87cc8995394', '302080027', '121', NULL, NULL), +('b5307739-f8be-4d80-a7f5-d4e3f15f6cf3', 'internal-dns', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995241+00', 'ee27e660f7e5993a204e2795997cbad0e388270692ed4b77f3b090a3684535a4', '52269119', '39', NULL, NULL), +('b5630c88-cba5-4f2b-9fdf-aaad905bc1e5', 'external-dns', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.33295+00', 'b77929770279f542844abb546d07d5f2a5b4d2d47868cdb92028e95a688e7311', '45384687', '119', NULL, NULL), +('b59bc75e-5746-4b54-90b6-f6141b5a2cc5', 'installinator_document', '18.0.0-0.ci+gitcfc181ba02d', 'installinator_document', '2026-02-13 19:04:31.65249+00', 'c84befeef23ca9b92796d9a594848f1769582f1801d2e6a981c01bb21927ce5e', '924', '91', NULL, NULL), +('b5b0e77f-6738-4f0c-bd84-1010dc82a072', 'crucible-zone', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684314+00', '27591ff7a952ebbb0ed0a2b166d45358928426afbf5283934adafe11ba6bbff6', '56830098', '63', NULL, NULL), +('b5d0015f-cc90-42b0-a725-e9111c1ec431', 'clickhouse_server', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899228+00', 'd1ffd286ffb83b0dceaeba739e1a2f872d0e0044a91a4eea55640c331410060f', '329581617', '151', NULL, NULL), +('b5f23b71-b87c-4fe7-9c76-678a5d3237e9', 'host', '19.1.0-0.ci+git073b1306678', 'host_phase_2', '2026-04-11 03:24:26.751855+00', 'e37b4a56a41a915bd7fa26e25ceb9775d5ef50995c735e2a76fa89fca591d51b', '1101008896', '127', NULL, NULL), +('b60e3625-2d12-453f-a36c-e81269c2b57c', 'psc-b', '1.0.57', 'psc_sp', '2026-01-22 00:31:09.684319+00', '5599fcf7725236444152f95e15bf735d7a56bcd315448b3f4741f6f0cf2274d7', '4132729', '63', NULL, 'psc-b'), +('b620edeb-5637-42d7-8a6b-8ed9bd32989a', 'trampoline', '19.1.0-0.ci+gitbc696216ef5', 'cosmo_trampoline_phase_1', '2026-04-13 23:23:31.608564+00', '4a7243eac6fe071cee24d6d7cdda877249426a6c9dfd911dcb16b9ab91d8c6cf', '33554432', '129', NULL, NULL), +('b6d0eaff-0dcd-4e74-ad93-ef34e61b9433', 'host', '18.0.0-0.ci+git4b3cdb4e30b', 'gimlet_host_phase_1', '2026-02-06 03:46:52.090442+00', '9c1981fc31892d1a21d0d06745d075e2ad6d249146344b1340e1b32f9972a973', '33554432', '77', NULL, NULL), +('b6d3979f-2b4d-4a1d-ae0e-a847454d4a84', 'probe', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899235+00', '18d5a0d00e99e6c458418a1471201a1a5db3d645e9bb7c83a40312c349215a86', '3109592', '151', NULL, NULL), +('b7763486-c0e7-4715-9c8f-5cd20310ace4', 'host', '19.1.0-0.ci+gitc7312331b08', 'host_phase_2', '2026-04-14 19:37:47.604847+00', 'e4588e4c82a87a482bc0f4567b459cede02979ed189664b6208b1620c9492d86', '1101008896', '131', NULL, NULL), +('b7ec2baa-275d-4643-94f2-4f578a8c69c6', 'internal-dns', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181278+00', '5b5c4f94db7dc2a0a78cbad49d9158f0a4cd7add0b164e6afb236dd11cdc7f84', '55008370', '49', NULL, NULL), +('b7f1eb25-3f1c-4080-adab-16a110d04090', 'clickhouse_keeper', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271935+00', '3ce82b131bd1613f9d7511b26ad5a0523a75e0a1fc40d3db58823e633d50e4f8', '309883493', '97', NULL, NULL), +('b8323201-9ccb-4a97-a35f-6cbe8cc2386b', 'nexus', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310193+00', 'edec20d3cc18b60d1908b1a07165ce443dce42c6dedbbbe8abb86ec7656e5e3f', '223067920', '133', NULL, NULL), +('b875cf98-bded-4661-95c3-9ac13f263fc7', 'clickhouse', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260757+00', '1ec251a43edaa8e9bafdf01e8e4f73f03966b8f21a960d73f0a0fcf23604823e', '328662035', '47', NULL, NULL), +('b8c4df32-bd3d-4934-94f3-a63883bce819', 'host', '18.0.0-0.ci+git6d17d64ce6d', 'cosmo_host_phase_1', '2026-02-09 23:04:09.275317+00', '051670aa0abf002927967eb47cc469c896f6821004d3a5cbf3cef6c16216837b', '33554432', '81', NULL, NULL), +('b8ddb3e6-7ba2-4245-9635-c07e08108097', 'trampoline', '19.0.0-0.ci+git6409f6a4bd2', 'gimlet_trampoline_phase_1', '2026-03-12 18:43:41.837885+00', '01b20e55a643d0b55e63338b41fdab7e22f27f3537a6aa3e39e451f4c0d80d09', '33554432', '111', NULL, NULL), +('b9228491-6a4d-445f-b3c7-1f993183cbb4', 'sidecar-b', '1.0.67', 'switch_sp', '2026-03-30 16:50:10.815785+00', '11fc30ac326d25dcdb40343e8e991aae1add089cbedd39ade879879ec1c1c393', '6959600', '115', NULL, 'sidecar-b'), +('b9246002-a69f-4ffb-9edd-23a8495b91a5', 'host', '21.0.0-0.ci+git2e789004327', 'host_phase_2', '2026-07-07 06:50:20.366491+00', '779a378a4c0541adbef2ebea84bb15711cd2267e0f04ecbdb295d6a935e2b439', '1101008896', '167', NULL, NULL), +('b9497fb9-3340-4c8e-a7e8-0e0abc1ae72c', 'external-dns', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181277+00', '046bf209213920db52e1fc706b41b8e3d6c3ad7434dde1248976a65642f02c36', '55008770', '49', NULL, NULL), +('b97941b0-0cd4-4ea5-a750-c10cf021e8c2', 'oximeter', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.12043+00', '7750fe39dd1b49c9057d93de066ef72de590f775065ba006b6aa0333b103fa3e', '66585063', '95', NULL, NULL), +('ba03d38a-0cb0-4167-b06c-567f030885d2', 'crucible-pantry-zone', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.00424+00', 'b3837f40cd00051b873aa475fcf915fbd8d9ba96756914c4e0a53513d1db8ce7', '42111639', '147', NULL, NULL), +('ba0d46a5-4009-4421-a972-c121d639e42d', 'clickhouse_keeper', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091138+00', '05313dabc3c855cf1a01c399cdf929ab14abff160e84677c4e59b97e653cedd0', '310675509', '59', NULL, NULL), +('ba1468b6-45ce-443a-970e-c63092906573', 'trampoline', '19.0.0-0.ci+git328ba48fdf8', 'gimlet_trampoline_phase_1', '2026-03-03 05:18:25.051895+00', 'a2cbc53900729c8080a084b5f44a2b81cce68e731f7ce0c59dd217201b568d61', '33554432', '105', NULL, NULL), +('ba2ca334-0538-4167-b99f-9da80080f9c8', 'cockroachdb', '17.0.0-0.ci+gite980820e5b5', 'zone', '2025-11-04 21:18:21.063851+00', 'eac3f349d903a348603240b9c3e4f203d157e6ce88ac5467cfcb0d349ac298e7', '169652232', '35', NULL, NULL), +('ba5f1006-baa3-4f32-86d9-0a23845d02c2', 'host', '19.0.0-0.ci+gite2fe4014825', 'host_phase_2', '2026-03-30 16:50:10.815693+00', '539da18271ab13032f21f563e9cb6244ce1b5a4d698122c5c5c0e7c74b8ee20d', '1101008896', '115', NULL, NULL), +('ba61c95e-c0f6-447a-8e72-567cb670b6b5', 'observer-a', '1.73.0', 'psc_sp', '2026-06-30 16:46:25.762669+00', '2be30a3e15f662a8ff16dd240f1fe7260580cf8efc6d7e4eb6c3556a6f4859ec', '4039307', '163', NULL, 'observer-a'), +('ba6fd2eb-1b0c-4d10-bb1a-cd7c11fc2810', 'internal-dns', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243792+00', 'be998dfcce6d523a6f9972b119cac8412cd5cca955e355d18d0ba159445769d5', '52066956', '17', NULL, NULL), +('ba86a5f5-0b6e-4b4c-9805-52b147027d84', 'trampoline', '20.1.0-0.ci+git846f6a0ad0a', 'trampoline_phase_2', '2026-06-18 21:11:25.44192+00', '8f83899b38903a921414103e0fa0cbe3249da61923840b2d0e26b885dd6cf707', '166278908', '155', NULL, NULL), +('bae4b477-eb26-42b4-89c2-d60558e4d920', 'ntp', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638802+00', 'c61d17812faf72e0c8646ecdd0062b36a200ff303e266be95f4788da52e98c08', '34062179', '13', NULL, NULL), +('bb1d1bf8-1c69-4fa4-bf7a-7e4160a2b9ea', 'probe', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260761+00', '66007ea9be18248b69add36a58e09ce28eb42a0f95ae6042355219676643e375', '3109590', '47', NULL, NULL), +('bb4e938a-453a-4727-b86b-76262c82fe10', 'host', '18.0.0-0.ci+git4a456c99797', 'cosmo_host_phase_1', '2026-02-14 05:49:55.051215+00', 'f53fe9f22d63f171c6dd174a9c690e3be291e649bf98c2c304e0d2d8458463c1', '33554432', '93', NULL, NULL), +('bb6fd061-5014-4f53-bb7e-853f9541d905', 'oximeter', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780091+00', '94988f177d2ad324daea2932ac311e761b276a9b0f0bb623148b612d737d64d1', '62137941', '165', NULL, NULL), +('bba48aed-9c78-4909-b560-4915c09fe4d1', 'clickhouse_server', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484036+00', '6456376080cc5c5e30adc7057281982742242046f439d31fef10f4b7a5aecd20', '323756480', '7', NULL, NULL), +('bbca9c45-b4e9-4c20-8e1c-bb3f730da0d4', 'clickhouse', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.71074+00', '407c76c882ba03619917c44c42f66f981dcc86da235638ace4f46f6b340896f6', '325930916', '29', NULL, NULL), +('bbda07c6-9b2a-4b61-b65f-74893729b6d0', 'trampoline', '18.0.0-0.ci+git8ae817f7284', 'gimlet_trampoline_phase_1', '2026-01-08 19:36:53.91309+00', 'f6417fc8f01ea5603e36564e8a7bfd2bf19ed5c122f9457795697d2af0923bbf', '33554432', '57', NULL, NULL), +('bbe9a096-05f9-4111-912d-0eaa285dc133', 'cosmo-b', '1.0.60', 'gimlet_sp', '2026-02-13 19:04:31.652442+00', 'd94ec577f3b19fba0be4174192bfa8820f969d221966e32ded8f7450729cdab4', '6510743', '91', NULL, 'cosmo-b'), +('bbec5b1c-7543-4c6d-a3e7-5033e2cd5266', 'external-dns', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310192+00', 'd0c0f17f6cbb311d04305639eff356d4ee2bfe135924f36696d7fcf957857a02', '53094055', '133', NULL, NULL), +('bbf93840-7ba5-4f8c-8e0b-41b2d0a5e670', 'sidecar-b', '1.0.60', 'switch_sp', '2026-02-13 19:04:31.65248+00', 'ca090d6ba48167e3e8dc3d0d41b84145e54c18796404f61d36837d400f49ecd0', '6944365', '91', NULL, 'sidecar-b'), +('bc00f5c8-97d6-48a6-9e5c-86ca3971ca26', 'trampoline', '18.0.0-0.ci+git4b3cdb4e30b', 'cosmo_trampoline_phase_1', '2026-02-06 03:46:52.090445+00', '25ee1d07477c31783c4c739a603ad0f0b025ebf7bbf0eea89c02caa90945ef0d', '33554432', '77', NULL, NULL), +('bc30635c-d749-424d-83af-acc355a3a818', 'ntp', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539554+00', '4672e21003b7fbc8affa68a240ce668d7929518784e08f9ba7c9f773b13bf719', '30354651', '79', NULL, NULL), +('bc39c274-7659-48f5-9726-69c5aba85a0a', 'trampoline', '17.0.0-0.ci+git3a90a985264', 'trampoline_phase_2', '2025-10-22 23:31:13.205389+00', 'c0ad781312f0478ee63132fb20b34d39ec4cdc99473fcea89148126617bd55ef', '152267843', '19', NULL, NULL), +('bc6187da-a5bd-4706-83f5-5796a544b45a', 'trampoline', '20.1.0-0.ci+gitf6ef6642eaa', 'trampoline_phase_2', '2026-06-23 04:22:03.47161+00', 'c3166ee953217dc75506f5106b0d3a599155060b8f38bc61c52ef8f745fbbef5', '166252341', '159', NULL, NULL), +('bc6fe810-8783-44c9-9ab6-973f1d637182', 'cosmo-a', '1.0.47', 'gimlet_sp', '2025-10-10 16:09:24.468864+00', '6d672f9cddc24462d6cc8f62b1b220e8a6692f2e3ea95debb9eef64f7c0efd57', '6196517', '6', NULL, 'cosmo-a'), +('bc874a7b-3d55-4c52-925f-ce72172db618', 'probe', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205395+00', '951a02c6f0f66f45552ec22bd9d97b7813a4349cffcbadf0e0677e55580a3f69', '3109590', '19', NULL, NULL), +('bca18fc8-aa87-4bd6-bed3-cdb6b08c2776', 'external-dns', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483198+00', '8e28c41490ca20e54bf9531913a08a460baa835b7f9f3f083396da7c3856dee5', '52796293', '2', NULL, NULL), +('bcba729d-0883-48b6-98a2-193f3922ba8b', 'external-dns', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507509+00', '000a35724c2a0ddea484f2f01b55463e7e40d25a805466e054bc59abc9e8fd35', '52093299', '9', NULL, NULL), +('bcf97061-0ec5-42f4-bb01-09c02f843231', 'trampoline', '18.0.0-0.ci+gitf507a3057c7', 'cosmo_trampoline_phase_1', '2026-01-14 23:13:54.091137+00', '6514256ee7ca851869b08ebbc2b0ed4e993ba34b3762d6421f20063b3a323931', '33554432', '59', NULL, NULL), +('bd1e56bf-9898-4b01-9868-e3a8a9475457', 'internal-dns', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604856+00', 'e9ece256317c3ec1df8a9fc379014f29b7e3731a015b7dd136a4f5548d0a4026', '53095289', '131', NULL, NULL), +('bd64badf-a287-4d48-a99d-cdf99e2a881a', 'clickhouse_keeper', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803642+00', 'e12f2c5c5e6a6f6db8cd7ae4faf0c41cca02d01959635909e3aeb5949bdf4713', '310656483', '61', NULL, NULL), +('bd7042a0-318b-4462-9438-ff629baa2dec', 'trampoline', '18.1.0-0.ci+git550f05cd523', 'cosmo_trampoline_phase_1', '2026-02-19 21:32:58.918395+00', '26567224a5c9e9e25eace559c868b41e86569b44f9b1e9dcf127714412491afd', '33554432', '99', NULL, NULL), +('bd72391e-15d1-4f10-8b4f-b423dcbd6015', 'clickhouse_server', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247855+00', '7ec65912508cf06103b692209b4a49e435731b0539baddbc65ad1d813fe70e5a', '327300885', '139', NULL, NULL), +('bdd1aabb-be72-4fd2-ad57-b5f60ec3bbea', 'clickhouse', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.780084+00', '3666eb3e68300487dd650db5cfabfc92ccbd73c552b16106ccb080341fa7ff83', '315440471', '165', NULL, NULL), +('bddbb16b-08fc-47db-a5a6-2d3aefc8497d', 'cockroachdb', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260758+00', 'a0e1ce64088f85842cdbf87b0f35c0c0303bc3a9e582d27a79ecd36e63660426', '172250647', '47', NULL, NULL), +('bde1b70a-e45b-47f0-ac06-9b47cf801cc6', 'trampoline', '17.0.0-0.ci+git56225535f8e', 'gimlet_trampoline_phase_1', '2025-10-29 18:02:18.89935+00', '1675e86a1d348e5535330341e51a98deea3a9ad8c98c151371e114f5a15c5b07', '33554432', '27', NULL, NULL), +('be1f136e-b6a3-46d9-bbb8-6a0b398e6f8a', 'cockroachdb', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062169+00', '5be46d8111156c22849aab3ac9e690994c356188300d8951a64ae62fcfd351e5', '169648074', '123', NULL, NULL), +('be47d5f9-c874-4aea-99da-9d7336e9ea58', 'cockroachdb', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981011+00', 'cc7caa2a272d482b55ec439e7ae62cc5e9ad5c23934b760078497f9ed8e365f7', '170132704', '161', NULL, NULL), +('be6018ee-0972-4eb8-adfe-9a2f21fa9664', 'clickhouse_server', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356076+00', '513b35484b3d8cef3a7c1231cf60a258468c7b3f0e4e11cf9c8798b72ecf7768', '331907387', '135', NULL, NULL), +('be67ae22-bdd5-40f3-aa2c-dab617685f93', 'gimlet-b', '1.0.49', 'gimlet_sp', '2025-10-31 23:54:18.712708+00', 'e05d7636bd722cb0cf18144a875919d997f17e65a16e9b22c4d8e5a200eba56b', '5352905', '33', NULL, 'gimlet-b'), +('be699a08-ed8b-490e-ae21-73464c6bc2b5', 'oximeter', '19.0.0-0.ci+git544d3751f29', 'zone', '2026-03-11 23:14:48.431944+00', '414c472ac439dea26138b833ba10160c6484c3bfe36de63872197cac8f941784', '59777690', '109', NULL, NULL), +('be9c6cbb-1290-4ffa-8ef8-bb7a0215c7dd', 'crucible-pantry-zone', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329507+00', '8c60fff17fea5fd92153c94d9f993658ee521eeb6037385e8e9004e15323d7bb', '45675860', '73', NULL, NULL), +('beb833a4-8a71-4f48-996f-19631dffddf9', 'external-dns', '17.0.0-0.ci+git76ec1fa523c', 'zone', '2025-10-09 16:20:40.719344+00', '63ef286fe255baad04e384231b91aea6c37bfd312d946fced9a2996ec3896ae4', '52796293', '5', NULL, NULL), +('bf03bd04-cadc-446a-98fb-4de7a1d49801', 'oximeter', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.243793+00', 'b5c738a8e7a7efb7725feb57249e8579a3b5c32d596ef98bc1be85a602c943e5', '63636319', '17', NULL, NULL), +('bf11b8a7-cc47-4b15-a92e-15b5c8702c56', 'installinator_document', '18.0.0-0.ci+git6601b8ec8a4', 'installinator_document', '2025-12-02 01:51:35.116931+00', '5acf6f98407bc48ac44607f1ebec791fd7b5df6ac9772480cfe6ebefe73bc74d', '383', '45', NULL, NULL), +('bf2281b9-f11d-4f81-8340-2ec93dc744e2', 'ntp', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757197+00', '5070b4a3ce5c981f6b8fc0d3e5b38f41f6a25cb3a31e12acd5d380b17fcf0a27', '34061928', '11', NULL, NULL), +('bf260127-33ed-4467-97c0-0d98b223eb28', 'nexus', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742776+00', '7e2d53292291be19676b2df19c9b34e3ab3331b6fabc93faaf294fb5cb846541', '142963968', '3', NULL, NULL), +('bf4d15cb-a457-46d2-9749-0be3aa914b06', 'sidecar-b', '1.0.52', 'switch_sp', '2025-12-02 01:51:35.116918+00', '449ac737d4bf1b1527ec232e7b8b5dadf65056c703c05467a74f59c8b16049de', '6838302', '45', NULL, 'sidecar-b'), +('bf66627b-9c05-4c4e-837d-49ce8ee3fa29', 'ntp', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507169+00', 'b4d64052147275978154e32c3c7a3614e129b6ca7e4b85685937b5971da66083', '29407237', '69', NULL, NULL), +('bf709709-1c0a-42a5-a2dc-5d019908874e', 'trampoline', '18.0.0-0.ci+gitcfc181ba02d', 'trampoline_phase_2', '2026-02-13 19:04:31.652464+00', '9709f0ff1f43fc8da6354b070fc7bb292d62c490a1efd08771b11e9616df3456', '144302971', '91', NULL, NULL), +('bf90c7ee-4060-486d-a107-1554754f0d0f', 'gimlet-f', '1.0.57', 'gimlet_sp', '2026-01-22 00:31:09.684292+00', '11aac6766a95ae322453c38358a0a692cdfa52f6e461461571ad8c0a0b590448', '5476437', '63', NULL, 'gimlet-f'), +('bfad5290-a314-4e98-a71f-d68c77be10c4', 'crucible-zone', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837891+00', 'b04aed2d8a9c1aa9a5f931a17a7d1fa1091506a2779e2e3723b44efd04463e93', '53708810', '111', NULL, NULL), +('bfd953fd-7ef0-4791-bd8e-59b4e1755853', 'nexus', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.68412+00', 'd83e9912542139dfb94915e90098a9a031129667f04ea8c44a78eaba5139a148', '216249114', '83', NULL, NULL), +('c0197dfc-5d40-4539-b8f3-72bf72e5a014', 'probe', '20.0.0-0.ci+git8ca64d81e70', 'zone', '2026-05-15 17:47:41.247861+00', '56e3931f9f2e4f00258c5628bb6c6926b9339ed415bcee81e02fb8ad01d3f90e', '3109592', '139', NULL, NULL), +('c02f534d-4c80-4828-b672-82e0be9e4993', 'clickhouse_keeper', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494828+00', '445a72613e29b34c33f1660c57af4116dc2c609a36ae62458514426712772333', '307414686', '65', NULL, NULL), +('c0479b9b-a2fa-44de-8922-a22c32b39fea', 'crucible-zone', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332949+00', 'e3a6ecea49dae20ea52f3d6f1dce2377eefbf2102e8b6d7a45ad86fba9cd3728', '55936413', '119', NULL, NULL), +('c062be53-7da2-4ad7-bb0e-2fbe1060e33b', 'nexus', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116904+00', '512b7817c4b407722407e60b7f2eae9337561dd13bab8497d02c6ecef471edf2', '196132595', '45', NULL, NULL), +('c0711a5a-44aa-472d-b839-87ed2392187a', 'nexus', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507169+00', 'a20a970dcbc95c2294b82405a530de14875870cd43852142bfd2ffa7d11d0dfe', '215683843', '69', NULL, NULL), +('c0769c14-d288-4d17-b1bf-ecbbb169ca0b', 'host', '18.0.0-0.ci+gitf507a3057c7', 'gimlet_host_phase_1', '2026-01-14 23:13:54.091133+00', '5c267fb928811ee1ba431adcb74cc18417ba7fd386c51824fe65e777d070ba5a', '33554432', '59', NULL, NULL), +('c07d8a0c-4411-4621-8d54-7c7c3a0fcd3a', 'host', '17.0.0-0.ci+gitcf97c145a6e', 'gimlet_host_phase_1', '2025-10-30 05:14:08.663968+00', 'bb369c469ef4960a7ff79db5c8d6d084c1c014b05925f803ff17de3eeaecf465', '33554432', '31', NULL, NULL), +('c082d51e-6946-4afb-be82-bcffd2410f0e', 'host', '18.0.0-0.ci+git4b3cdb4e30b', 'host_phase_2', '2026-02-06 03:46:52.090443+00', '6bfd316f676759c5d61ce037e24904e3219341fcb407e19688258fedd45f5c14', '1101008896', '77', NULL, NULL), +('c085d065-5834-4dba-83b3-838a5fc98382', 'clickhouse', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419121+00', '5863567bea02b0b00dbad370b5a732d3f284225dde6bd28ff985c8cd97d94f31', '325877501', '21', NULL, NULL), +('c08a6392-0c40-4d35-9c24-67a4ed725068', 'installinator_document', '18.0.0-0.ci+git52e04b3b26e', 'installinator_document', '2026-02-03 11:37:20.329533+00', 'a4d3ccb7f5bb6be009090c576549032b8071f4a9b095c15a3d0f304be5aa6509', '924', '73', NULL, NULL), +('c0a6b363-81a9-4976-9a15-4362b79a650c', 'gimlet-b', '1.0.55', 'gimlet_sp', '2025-12-24 16:09:17.700983+00', 'd27ab4f3238836f4746622ed6bea935958e54bc67a99922e64288ab05853be93', '5396753', '53', NULL, 'gimlet-b'), +('c0b49deb-3813-414a-8f64-7b4eccbd9a6a', 'sidecar-b', '1.0.48', 'switch_sp', '2025-10-08 19:59:10.483215+00', '3f4072e1dda239d3fbbf5fa40e2a60b096530a5c026c77517d3c1a539d12a802', '6834676', '2', NULL, 'sidecar-b'), +('c0c27435-c59d-4034-80fd-35ec360df437', 'nexus', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.4832+00', '542a97684b1cc101b4af6ce4d44007e536988e3cb20f9a1b39308c5ecc7f48f8', '142570289', '2', NULL, NULL), +('c17297c2-facd-4a09-aa36-04f267336f95', 'oxide-rot-1-production-release-sidecar', '1.0.38', 'switch_rot_image_b', '2025-10-08 19:59:10.483223+00', '2045d4c03e4affd47aea328d644dba12672a06e4e84c22093948789d539057e0', '1574959', '2', '5c69a42ee1f1e6cd5f356d14f81d46f8dbee783bb28777334226c689f169c0eb', 'oxide-rot-1'), +('c17e69b0-1c1b-4f97-be58-24bb8eb3b013', 'internal-dns', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757196+00', 'faf751d8769c5813cdcfa3122129d433949d3fc2cf7c9feed7eb91f8dadfaf34', '52090997', '11', NULL, NULL), +('c19c8de3-b278-48db-a798-8d39c94a9635', 'crucible-pantry-zone', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272996+00', '3d1a70f8a6860ce8401cd9c144c453854f9a4d08b6d13b417462f0a853c79448', '42562126', '101', NULL, NULL), +('c1ac0fb9-eeca-48c8-bd52-3b37c9bbbed2', 'clickhouse_keeper', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815695+00', 'db8a00bb5ebcb41265bbf852795e1d941e5e60955126560d85b04a549fc5e89e', '302061255', '115', NULL, NULL), +('c1ad332d-1b08-48f1-9388-48ce27e07ab6', 'installinator_document', '17.0.0-0.ci+git76ec1fa523c', 'installinator_document', '2025-10-09 16:20:40.719361+00', 'e3d17a390c9679493326d8217fb6510e90717b128b0cd59ad5de71ec0f18cdd8', '383', '5', NULL, NULL), +('c1f63d06-7977-4f61-9eb1-f7698227b30d', 'clickhouse_server', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190077+00', '0c3eb1f721c7b433e08991bd29f89191705f1c0e429f9de93d0391cd7be6833e', '327184103', '89', NULL, NULL), +('c1f8a2db-d1a5-4ee5-8abd-bb86b1eab898', 'clickhouse', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062169+00', '5b3e848461950f03cad4abc8bc1c63b0f414894595413fcd6f55320038fa6ffc', '331382487', '123', NULL, NULL), +('c2637d77-55c9-4ec6-8393-25a2a9d26d6c', 'sidecar-c', '1.0.53', 'switch_sp', '2025-12-08 23:28:06.260769+00', '866e57081b210c0aa8def37ca3e4c5983cb25de9004c1badd56c0506a220027d', '6853988', '47', NULL, 'sidecar-c'), +('c284a638-5db0-4a4f-b2b0-816d5c2df5bb', 'trampoline', '19.0.0-0.ci+git09c8c584ee4', 'cosmo_trampoline_phase_1', '2026-03-31 22:41:05.038681+00', 'a0fdba9803f673c2c419f0baf60ebd89466500b139ca7eb7a4e110a07cb43d5f', '33554432', '117', NULL, NULL), +('c2afdb70-739c-4ede-8714-ef544a07a023', 'host', '19.0.0-0.ci+git19d83513171', 'cosmo_host_phase_1', '2026-04-05 04:30:51.921048+00', 'a23f35e79dab768bb9969f3b18bf975bfb5ab9e549e3e7d7f47638af3bf75ff3', '33554432', '121', NULL, NULL), +('c2b66bbb-a80d-4e98-931e-ff3f60c5027f', 'host', '21.0.0-0.ci+git99277253c16', 'gimlet_host_phase_1', '2026-06-30 16:46:25.762658+00', 'e94c7769a604c258d8467fd47222cbf7e9ea66a80469d1b2d940dc5446694691', '33554432', '163', NULL, NULL), +('c2d73fec-8e32-416a-8085-5bbc6295442a', 'oximeter', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038686+00', '8b712119139ba816edf8814aa94c2407d4651800838f8b64f77674c7a4eddc78', '61233678', '117', NULL, NULL), +('c2f30b5c-233a-4491-8ff3-a5895a06ffa7', 'gimlet-f', '1.0.53', 'gimlet_sp', '2025-12-08 23:28:06.260742+00', '1242de03d3c95e4c8ec1e8249efe032c530bd79d608c7cf23c036a96374e7600', '5397636', '47', NULL, 'gimlet-f'), +('c308db19-a15a-470d-b665-14bba8abb8f0', 'staging-corim-all-sp-v1.0.58', '1.0.58', 'measurement_corpus', '2026-01-28 21:07:59.478034+00', '87db387d906ff96c24491e2d5e630565dab99b08f6ff8561dc5380b3f0e52be3', '829', '67', NULL, NULL), +('c31eb55b-6141-4a32-b526-69dc356e5330', 'internal-dns', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.0467+00', '2a269ebaae9341df459f8f9a5293ce0a6358492c157a1b97044cbdaf5173040c', '55008370', '51', NULL, NULL), +('c32214a0-6fef-484a-b617-cd3ecb728aee', 'crucible-zone', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981013+00', '3054270bf7767a0ab78ed08418d17132632009ee04570a4bae6673cc6f8be566', '58058508', '161', NULL, NULL), +('c343870b-29fa-4615-aa0d-e02851a08bdb', 'clickhouse', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744433+00', 'e933f717a9895f7aee7fd1f832a3ecff456e1b805da77a0c8e02dfdf63fc4660', '323544943', '37', NULL, NULL), +('c345f8a7-b6f3-4c22-97c4-50c4ffb44e64', 'trampoline', '20.0.0-0.ci+git8ca64d81e70', 'cosmo_trampoline_phase_1', '2026-05-15 17:47:41.247853+00', 'b50f9c58c11c1c657a79dcf0dfce1876911b8a08770215e1e873267030cffa7f', '33554432', '139', NULL, NULL), +('c356f4d2-bbdd-4b19-a2ed-a1d1bfd58336', 'clickhouse_keeper', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310189+00', 'd327ce7a38c5612e5fbb26539ade7cd1ff4deb8d4b40c21ced8ab1c82d9d0755', '314954612', '133', NULL, NULL), +('c35874ab-c763-4cdb-9c2b-1e8499f2da49', 'host', '19.0.0-0.ci+git42726ecbb1b', 'gimlet_host_phase_1', '2026-04-08 00:24:54.576977+00', 'a8625651b23faee9295031c6101aaee2e56a7d4b440c9d25a09a875d74226e87', '33554432', '125', NULL, NULL), +('c3947747-939c-4549-8fcf-5eef3fe6e56f', 'trampoline', '17.0.0-0.ci+git063828b53e7', 'gimlet_trampoline_phase_1', '2025-10-09 16:06:27.599291+00', '7ec2ede37b6bb3f597e0f39660001556ff8f482124cd4fb4a5cd7d6220a224b5', '33554432', '4', NULL, NULL), +('c39f990f-8570-4e25-b0d0-b21bfaf6ae5d', 'host', '18.0.0-0.ci+git99c3f3ef97f', 'cosmo_host_phase_1', '2025-12-13 01:01:07.046694+00', '8aeee0f3a0bf9bf334e48ab098a00211c48c747050623d9f11b2d52ce51106f7', '33554432', '51', NULL, NULL), +('c3f90fc7-3948-4ad7-b190-3823d2138058', 'ntp', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576984+00', 'fa787aa6b29070f539ef94e9673ec358ee97481b227f2496d3c8e7f4519ed869', '33891819', '125', NULL, NULL), +('c41090b4-f297-4354-8973-f1dbd60f303a', 'clickhouse_server', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.98101+00', 'b7a610594e92c44404bc899fc0b221866c0be1389ff38c0e3a1451e71d8eea77', '329581617', '161', NULL, NULL), +('c42285f8-b7e5-43c4-9831-6e3322891e3e', 'installinator_document', '20.0.0-0.ci+git13937a135d7', 'installinator_document', '2026-06-09 22:54:35.291204+00', 'c6ad518f600158f378d3735cccbfff7637e33c0d41ae638cb7449c528d7b8cac', '924', '149', NULL, NULL), +('c422d506-78fa-45b0-ae63-3d8090da7ea8', 'crucible-zone', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116902+00', '65efe2401bae288baa50cb25e4949c41782a70c2acd6dde40e618092297ba3f1', '59330525', '45', NULL, NULL), +('c4af7301-014d-49e5-a8d1-a28fe3658e3b', 'ntp', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366498+00', '26e330cb15001f024bebb7128b2c24e89894c23d1df0c8526b521d127a21d255', '30628372', '167', NULL, NULL), +('c4b0531d-fa6b-4714-ab83-5afbfea565f4', 'probe', '17.0.0-0.ci+git8c683c74af9', 'zone', '2025-10-10 16:09:24.468884+00', '8b59e99897fe7a6d96976e1d9e72d14624e2d0e699810056f8aff947f27c22fe', '3109590', '6', NULL, NULL), +('c4e8cf3c-3bdf-465b-8f6f-b8b5f50dac97', 'oximeter', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419124+00', 'a89c16b24acc3b632076d73eff3e50c57c2f9c44439b86e00377091a193e22f0', '63639469', '21', NULL, NULL), +('c4ebf8f9-5704-4ed4-b1f9-655546f7d3d2', 'ntp', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.701002+00', '82e32ab7b8ac33b50d385984f9311ed2656d7a198a1bf9504cf6fd6338934efd', '35679359', '53', NULL, NULL), +('c51ddfd0-48fc-407f-90ea-da48314849c3', 'clickhouse_keeper', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638797+00', 'e38c5dafcb2b845c79cb175734ef70a33281d9c5a930f67bc1261070d5e62e1f', '311078077', '13', NULL, NULL), +('c549094d-aab7-40e4-9745-08133b9a4088', 'clickhouse_server', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815695+00', '82daab08da8790455fbb8aa3c67943328acddd8a9fc15ce996f68438e2f4d0a3', '316981654', '115', NULL, NULL), +('c55519ac-9613-4815-b4ba-668b347e9728', 'host', '17.0.0-0.ci+gitd17fb154c39', 'gimlet_host_phase_1', '2025-10-17 15:59:09.5075+00', '383af872e1a06552cd26cf4df151b6e01a03664fac37ca99b76fa22720b09ec6', '33554432', '9', NULL, NULL), +('c55714c9-d3fc-41ce-bbfb-0766c9e9ffa8', 'trampoline', '19.0.0-0.ci+git1d6977056c6', 'trampoline_phase_2', '2026-02-25 21:15:36.43424+00', 'a8c4f91beddd650fe15516f721d8740ce44f32d8250057af7377aa97d101693b', '147637381', '103', NULL, NULL), +('c564e279-a9ea-4055-87b9-adb6ac2dd2bc', 'internal-dns', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051904+00', '9629aaccaf98555f9c7750eb5d55323938a3b4589ec744f5d67f7a797daf1c46', '42543769', '105', NULL, NULL), +('c56dd392-5558-432b-b00d-c333f50a34e8', 'cockroachdb', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046698+00', '18f4ffb8b55b822ff76b697903c0a6b982973035660efdecfaf21b861b00778b', '172297914', '51', NULL, NULL), +('c571658b-b376-48ab-a5f1-ec2b32a9d77f', 'trampoline', '18.0.0-0.ci+git6601b8ec8a4', 'gimlet_trampoline_phase_1', '2025-12-02 01:51:35.116897+00', 'b82355cf61075a10c472095a40d354ae7d54db3e00200287b7d78411e709ab81', '33554432', '45', NULL, NULL), +('c574a1fb-5938-4fa5-8b12-6f356f6d74d7', 'trampoline', '21.0.0-0.ci+git99277253c16', 'trampoline_phase_2', '2026-06-30 16:46:25.762661+00', 'e832674233d27097b01168a546e8eb55976e423ea296b4ea35db9b943209ddd5', '163746211', '163', NULL, NULL), +('c58c0abe-ca92-48d4-9f8b-bc2805e83de4', 'ntp', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271942+00', '2b3e4ec01a1921a5e48b05439e330e328e86baa7266738f7b64fca01d3c54f6c', '30411904', '97', NULL, NULL), +('c5a08c85-666a-4273-ac58-758321fe8b27', 'nexus', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684316+00', 'ef65f05aa3c00a038d6bb5ccaaee5de5bd7a70cdc1805a84e7eb8a3f3e60234c', '211686223', '63', NULL, NULL), +('c5a39c6e-1c78-4f9d-a19c-9126e65c770a', 'ntp', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116905+00', 'edd9f31953261eab3f97e5c06c30981a0226ffffeae8f8a27293bb7e26e4c9b3', '34298887', '45', NULL, NULL), +('c603667d-9a48-47a6-bb83-b655faf96137', 'sidecar-c', '1.71.1', 'switch_sp', '2026-06-18 21:11:25.441941+00', '5af5a0ec7d18bb4c96b7d5088c90e2ba0e9307f749f0a13c8182f2a6885b910e', '7075195', '155', NULL, 'sidecar-c'), +('c6074b27-51d0-42c7-9384-5d9c7bbb0123', 'crucible-pantry-zone', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712724+00', '779ab4e3825b9af501ac0b19f82bf87a31b3b0133912343d3edee060751639d1', '44731359', '33', NULL, NULL), +('c63664bf-2a2d-4bf2-96cf-ed28f0bf2da0', 'nexus', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004241+00', '5a44ece7dde84980f91140fe01dfaaa01e367ff1096c9330ff35fef1e161b75b', '287624305', '147', NULL, NULL), +('c65ecfbf-d092-44ff-bb73-a01a53a6788d', 'oxide-rot-1-staging-devel-sidecar', '1.0.38', 'switch_rot_image_b', '2025-10-08 19:59:10.483218+00', 'b1e7c16248710357348f17c24168641c2c8f36de734f263a89a443bffc5554de', '1575150', '2', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1'), +('c6b7caa4-a9a8-4623-bded-c990bd713d19', 'nexus', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712726+00', '5abdae382c6680fc989dc05aa387decdd1bfa44242733cd8f1850b985a613708', '193341479', '33', NULL, NULL), +('c705f6bd-be05-4439-925b-053917d2e1d2', 'gimlet_rot_bootloader-bart', '1.4.0', 'gimlet_rot_bootloader', '2025-10-08 19:59:10.483187+00', '96e9d43104f9c411d87f2cf219b297294984e6c1ab0c588322ac882ee9f88e1f', '42150', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1'), +('c725e33d-2081-44cd-baae-57df6d48cf8e', 'gimlet-e', '1.71.1', 'gimlet_sp', '2026-06-18 21:11:25.4419+00', '417067ea5c419542da1dc235718e5a8e7712b9f057b8da67dd51e3e79794c31d', '5556723', '155', NULL, 'gimlet-e'), +('c74003f3-3286-45a4-aaf9-82ad9948e57a', 'host', '18.0.0-0.ci+git52e04b3b26e', 'host_phase_2', '2026-02-03 11:37:20.329503+00', '8969f59ce8f29c6b12509fe3081356e96bf2c853f75f38b5a8636fac790a53b3', '1101008896', '73', NULL, NULL), +('c7483807-137e-4c3d-936b-75e3b1f225ff', 'ntp', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803646+00', '3b796ade7ebca6a2752cf4b648965548d3582968205876138b8436b4a51f1b1c', '35681201', '61', NULL, NULL), +('c7536e46-7643-4dea-bd6b-df3bcd3058a6', 'probe', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576985+00', 'c3bb78a99da25f03f1e3a446ebef29786503a25b118b86162d97de28183e59c1', '3109590', '125', NULL, NULL), +('c75ef270-7986-4e7c-8db0-297d3ad53318', 'crucible-pantry-zone', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.83789+00', '20abfa0a0ea249c29852f1ce1581382bde3a21d174566207be8f4d45ec9ba561', '39231463', '111', NULL, NULL), +('c76b44e8-ca7c-44db-b790-3f25157f4ef2', 'clickhouse', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008518+00', '661f61a59b8076e58c384c726dd6d8e3ed47a303868a207902191756543d3f95', '325877501', '15', NULL, NULL), +('c7710cd6-4536-42cb-acac-49d9f1d918eb', 'external-dns', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008519+00', '608c5574989518bd91f39d268ba8894f23c20b910f47b89d4acc0c4a08cb6f6c', '52067355', '15', NULL, NULL), +('c7900c96-6d6a-415a-8b08-523a5196e1ae', 'gimlet-b', '1.0.56', 'gimlet_sp', '2026-01-14 23:13:54.091113+00', 'c084fe3790104a34d09c505d8ba3d51fb0c78ebe66f3a8013717236878b0bedc', '5407754', '59', NULL, 'gimlet-b'), +('c79b2758-f141-4dab-b6e0-88d7ce30a8d5', 'crucible-pantry-zone', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116902+00', 'b0601c14efc66078e1da5cc16af2d24e059a40996de1177691f6c6b6cf535446', '44853028', '45', NULL, NULL), +('c7b42133-c28d-4d51-8a66-165c56f0ce5a', 'crucible-pantry-zone', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539552+00', 'f55eecaec0005f1ac315639d039f2dfceee111baa69116421940c609042d59f2', '42535289', '79', NULL, NULL), +('c7b8e4ca-7d8c-4872-8440-5e96ad2355b6', 'host', '21.0.0-0.ci+git99277253c16', 'host_phase_2', '2026-06-30 16:46:25.762659+00', '0aac0dd59990722f9fad4a5690a9d32c678dab2bb7eed55b0ec549e98a702269', '1101008896', '163', NULL, NULL), +('c7bc5f9f-b2d9-41aa-b7e7-a97e1fa4e673', 'host', '17.0.0-0.ci+git063828b53e7', 'cosmo_host_phase_1', '2025-10-09 16:06:27.599289+00', '3507bab0a62360d6c0923ef1869d26c4cab9ccfc8f048fe062e54dad1ce610ee', '33554432', '4', NULL, NULL), +('c7bf2b08-f0e0-4957-b307-9da64cf94dcd', 'ntp', '21.0.0-0.local+git04909b7e827', 'zone', '2026-07-02 17:06:15.78009+00', 'b2e8c75b652216ed3bbc61f7c47e3ae84d3df2670315bc1e76ab2c6ff554f497', '27081843', '165', NULL, NULL), +('c7e61c42-47b7-46a8-852c-51cced7350e3', 'oxide-rot-1-selfsigned-bart', '1.0.38', 'psc_rot_image_b', '2025-10-08 19:59:10.483209+00', '5261c87276aafec4f2a419388de200ba3b9578eec32aa7f9b60f9ba0d94cb7d1', '1634722', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('c7f09eaa-4c82-47dd-91e2-fa2e7d02fd9e', 'clickhouse', '18.0.0-0.ci+git4b3cdb4e30b', 'zone', '2026-02-06 03:46:52.090447+00', '63f904f0a24c0f463bec81580437f6654232caf1eb50679f68fd2874ef1cd048', '327163739', '77', NULL, NULL), +('c82ec01d-673f-490d-8ca7-e722f1f08298', 'host', '18.1.0-0.ci+git1003e128ad7', 'host_phase_2', '2026-02-19 02:24:10.120338+00', 'b5c8d83cfdca0201a149c92f6caf4440d379c83a2fcb67e791bb1b10c5060205', '1101008896', '95', NULL, NULL), +('c85c7f47-660f-4c7e-8f12-1c19fa395fbc', 'ntp', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884115+00', '5716f02f90ba42c67ea067d7900146d3cc5e89d78f09b90ef20e17d98cc3a03d', '26027919', '113', NULL, NULL), +('c8a6d882-e848-4044-804d-6150940a24f5', 'psc-c', '1.0.64', 'psc_sp', '2026-03-11 23:14:48.431948+00', 'ec041b00eaa464debd07c4c1d03cf878915c8486e6db7a1db3a6df0e09dc95b7', '4134969', '109', NULL, 'psc-c'), +('c8ea6c14-b838-4e0b-9a7c-f6d30a085ec6', 'gimlet-f', '1.0.60', 'gimlet_sp', '2026-02-13 19:04:31.652445+00', '13a11687e17ba95415430a6eeff672bf0ae9f038bd6958b683af4a83ecbcc220', '5466068', '91', NULL, 'gimlet-f'), +('c8f13b8f-9a44-4c87-897e-e27bf64c764e', 'crucible-pantry-zone', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576982+00', 'bb370114ecde63b62886131d420e49e3293a4c7bbabb2c80fffa9220433430d7', '45698853', '125', NULL, NULL), +('c90fc711-5b23-4a46-9dd8-60ec6318deaf', 'external-dns', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744435+00', '617b49b153eb0ffab6fdc3a3cb1b5ea8812b52301e0e033d99573730846e335e', '52269521', '37', NULL, NULL), +('c9568a75-ab08-45d8-85c3-65c9ba38ecd6', 'nexus', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272998+00', '535e004f674299fa765b83e16faaeb9a9efdb8a9868ec7b9995147bbecb00c4d', '217359786', '101', NULL, NULL), +('c9642887-1611-4536-9ced-4e8098f20eca', 'gimlet-d', '1.0.67', 'gimlet_sp', '2026-03-30 16:50:10.815675+00', '36aada9452464887cae88b9b812e2264985f9a42e185c09ea33c04954010877c', '5508118', '115', NULL, 'gimlet-d'), +('c9732887-741e-4559-b7ff-6bedfb481ecc', 'cockroachdb', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.576981+00', '582fa42e7ff52b7e913cb56633c9db95758efd1aea1ed41996258e911bb74c50', '169648074', '125', NULL, NULL), +('c9ca5e91-650c-46d4-8067-a8bc4bb49bcb', 'cockroachdb', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837889+00', '7c3d49e56c34daa314f68e430a36c4cdacb851a38aa802a3008db9d31c1e81aa', '159835887', '111', NULL, NULL), +('c9db8d53-2875-4de4-9226-58e6eb1dc091', 'internal-dns', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419123+00', '6208f8bdac8ca43778dac2f559b4f2d4275c068cda740e9f553ca743c3b39ee0', '52066956', '21', NULL, NULL), +('ca25f573-d991-46fd-99f0-d44972662dec', 'ntp', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712726+00', 'd1ba5a4f7320b4d6084b14d426c27430dbc310fc328b87b9a07b656bc14bb2ff', '34053266', '33', NULL, NULL), +('ca2617ea-67de-496a-96f3-d6674a6acc1d', 'gimlet-b', '1.0.57', 'gimlet_sp', '2026-01-22 00:31:09.68429+00', '9a52c1f6bb8d56951ca109b623190fe058f6255b1f18a7083275b94b2f469d77', '5477234', '63', NULL, 'gimlet-b'), +('ca349a4d-0f4f-41a5-ae51-382a7488bed5', 'trampoline', '19.0.0-0.ci+gitd41bfa5af31', 'cosmo_trampoline_phase_1', '2026-04-03 04:47:46.332946+00', '9b302a1f382197e32580585daf3f13ff133d88b8c2fb983505d10423b29f2d6a', '33554432', '119', NULL, NULL), +('ca3b8f79-c8af-439f-a440-5dd575bb6d51', 'gimlet-b', '1.0.64', 'gimlet_sp', '2026-03-11 23:14:48.431917+00', '896925b9362a9790844ee502c8ffba83c8d3b303c4d69dd08304a6bdda5abafd', '5489720', '109', NULL, 'gimlet-b'), +('ca5ae538-fb70-45bb-ac17-36462347320f', 'ntp', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.35608+00', '34d4bc0e9872edfad583ca8bc25ca13223b066ec48b21bc4e18e531a9f0b4e60', '33890374', '135', NULL, NULL), +('ca68c9dc-611b-43a8-8ffd-4861a11c13ec', 'clickhouse_server', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599294+00', 'fadddd5cc6b40d7e6a7d87836e602a91a3b419dbe82f41eb297ac3107f353e1b', '323763259', '4', NULL, NULL), +('ca81294d-f0f4-4600-8804-a633c0e92bbf', 'crucible-zone', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449916+00', 'd61910f0ee36e7a9beb51dc82b44342bacccef628a67c8afc74ebb02a3c57fdf', '59226484', '41', NULL, NULL), +('ca9153d1-6bd6-46e0-abf3-3bc70b2591e5', 'oxide-rot-1-selfsigned-bart', '1.0.38', 'gimlet_rot_image_b', '2025-10-08 19:59:10.483179+00', '5261c87276aafec4f2a419388de200ba3b9578eec32aa7f9b60f9ba0d94cb7d1', '1634722', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('cabc9eb2-1841-4e51-b66e-867bf9f97c45', 'ntp', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008521+00', 'd97dba97ba1c18fa5d08e605766e07dc0f8c0351f4a92f5849abc4821eba7c10', '34046458', '15', NULL, NULL), +('cac78152-9750-42a5-9be4-eaa7c25e4876', 'external-dns', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419122+00', 'e9415eb29fb440d99988d5dbce3d68cf45a153d00659e70b7de9603b8341169a', '52067355', '21', NULL, NULL), +('caf17c18-9b96-4ec2-b266-2112b6402105', 'nexus', '19.0.0-0.ci+git328ba48fdf8', 'zone', '2026-03-03 05:18:25.051904+00', 'aea910436658ad08b2920ca03a1281915e5e29f937e18dfcb80c3d74ea05d01e', '215282789', '105', NULL, NULL), +('caf4a9e2-6d65-4319-863f-42ab817c55ea', 'gimlet-d', '1.0.48', 'gimlet_sp', '2025-10-08 19:59:10.483169+00', '43855fcc00a7a9aecd5e76d86791a35c9afe89e0c8b5a16ff58a9c9f17367592', '5353192', '2', NULL, 'gimlet-d'), +('cb07c66a-7c7f-4c1a-8afd-171d806c90ce', 'host', '20.0.0-0.ci+git8ca64d81e70', 'cosmo_host_phase_1', '2026-05-15 17:47:41.247851+00', '927e08ce7d137559cb11cc35f8947157660fc43f551a15fdf7b6a8dbddb20b14', '33554432', '139', NULL, NULL), +('cb0dfd9f-8d8f-4502-abd6-8e6da45bc353', 'gimlet-b', '1.0.62', 'gimlet_sp', '2026-02-23 20:10:41.272973+00', '1968dd0fe7c2ea1693a3fcde055a2ae26103be2a550c9bfae3eb2e2851692f6f', '5466282', '101', NULL, 'gimlet-b'), +('cb239f8e-a80c-4013-91c9-51e183672eb1', 'gimlet-c', '1.0.64', 'gimlet_sp', '2026-03-11 23:14:48.431918+00', '4109c1b90c8b1d97153f0221a6a1b71f1dd225202ff250552c77ca2a9f4cf6db', '5492131', '109', NULL, 'gimlet-c'), +('cb469074-5ba6-47cd-b27f-0baed30c3e48', 'clickhouse', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483196+00', '99f51ec6425c274b0b52de38005564c255b23142e65c31c40638735c8bef0c11', '323763885', '2', NULL, NULL), +('cb67e5b9-465d-44f7-afc3-b3b1135157cf', 'host', '19.0.0-0.ci+git1d6977056c6', 'cosmo_host_phase_1', '2026-02-25 21:15:36.434236+00', '1dedb1a66dcf3e17a12cc42c331dccfe9b44ebfb44e87a71b4b112d74c66a22f', '33554432', '103', NULL, NULL), +('cb92a7aa-6c48-4cdf-80d9-80a422615124', 'trampoline', '18.0.0-0.ci+git8ae817f7284', 'cosmo_trampoline_phase_1', '2026-01-08 19:36:53.91309+00', '6d64dad712d11850c56bdf9098e274eb5c2c923810c37b9025a8d88660395fe4', '33554432', '57', NULL, NULL), +('cb9f043e-a965-48e3-81d2-648fd31b2ad7', 'host', '17.0.0-0.ci+gitf83a43dbb42', 'host_phase_2', '2025-11-05 22:59:56.995233+00', '654d8c78df4d80b72c467b5334757fcc6d3c1035be5eab93cc5c88feab6a870a', '1048580096', '39', NULL, NULL), +('cba94cbf-5377-4c3e-abed-ce7a5599ef56', 'clickhouse', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803643+00', 'e2364edd78905fddb53a1ee8bd132c6bba8e86eb85f010d5d19ed11547bfb7c8', '328073630', '61', NULL, NULL), +('cbdbc7be-9300-46c2-8150-dd6d952eecc9', 'cockroachdb', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484037+00', '0d6656f197ae616a58f63f26df4439f342a5dd810d8b7012783c73aadde709d4', '169494885', '7', NULL, NULL), +('cbdfe9bf-debc-4a79-9555-85aebd208cf5', 'host', '18.0.0-0.ci+gitcfc181ba02d', 'host_phase_2', '2026-02-13 19:04:31.652461+00', '168fcc286c8f2838698610bd29eab7e4f7969a9045ea1a28902fc614cb41d2d4', '1101008896', '91', NULL, NULL), +('cbf114c2-370e-4394-99fb-c6fc735c8ec3', 'trampoline', '21.0.0-0.ci+git2e789004327', 'trampoline_phase_2', '2026-07-07 06:50:20.366493+00', '4be20d60be674a53867223012c10eced44a2612f215ccef5238d04eedf24bfd1', '164610338', '167', NULL, NULL), +('cc0f0355-41bf-409e-89ad-3ef9d049cfa7', 'trampoline', '18.0.0-0.ci+git4175bf66d6c', 'cosmo_trampoline_phase_1', '2026-01-18 22:34:16.803641+00', '34a329d3f2d886c604bcf3450a63e22afa44070f4a163be700ec655c7ca7883b', '33554432', '61', NULL, NULL), +('cc1d5487-80f5-49f4-ac41-bd98203f002d', 'oximeter', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484042+00', 'a0c143900c6b387e77df352881a695cfb734ea28fe655ea4ae35bdba44a02db8', '65838105', '7', NULL, NULL), +('cc267432-0e58-4018-b905-9894a4c07d54', 'trampoline', '18.0.0-0.ci+gitcfc181ba02d', 'cosmo_trampoline_phase_1', '2026-02-13 19:04:31.652463+00', '0280e464cf1d9aa550a8273d14ce014efc0526312e2637347fc7db8047367f51', '33554432', '91', NULL, NULL), +('cc3fb005-92a7-4261-bb5f-57ac261c489f', 'staging-corim-all-sp-v1.0.67', '1.0.67', 'measurement_corpus', '2026-03-30 16:50:10.815701+00', '4f0867908a9cec01289c4e8f6d9b590dff33a183fdf37e5592ad146774472fdb', '829', '115', NULL, NULL), +('cc8136f9-4ed5-4835-b46d-9685b9cb672d', 'crucible-pantry-zone', '19.0.0-0.ci+git09c8c584ee4', 'zone', '2026-03-31 22:41:05.038684+00', '65924d25cb99661859e5b67c78aadcd0639aed7dd257c770e2b016b0c8ef6674', '41459011', '117', NULL, NULL), +('cc81ed57-8efe-4b75-9e6c-36b01bb753b1', 'host', '19.0.0-0.ci+git1d6977056c6', 'gimlet_host_phase_1', '2026-02-25 21:15:36.434235+00', '55aa24696cdf967bcb6e783bf42d103294e033cebcfdac34dc242232d487419d', '33554432', '103', NULL, NULL), +('cc8b80fc-f44b-453c-b4bf-525c7e0010f0', 'crucible-zone', '18.0.0-0.ci+git078382f5d9c', 'zone', '2025-12-08 23:28:06.260758+00', 'a249aac53a7fbbc6b864a02c1d08b9f95c3eb184874d7ac71b9c52a18dcde2b6', '60129005', '47', NULL, NULL), +('cce04172-2403-498b-9504-fbb4e39cba47', 'clickhouse_server', '18.0.0-0.ci+git5eb13372380', 'zone', '2026-01-22 00:31:09.684313+00', '58912e628f2d23722fa69a55e972c6f1f72c29030ed8b032c313b7287a573de5', '324793976', '63', NULL, NULL), +('cce53989-e94b-410f-913e-0381043bc4b1', 'external-dns', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051221+00', '6f6bbe84c63c88f3070c27c741d78615394ae1725f37ac713e9033be4787611a', '50015486', '93', NULL, NULL), +('ccf84d83-8a56-43ab-9b73-c53bdbf2ba67', 'clickhouse_server', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040699+00', '526acf3650dd545d8b4bf22408551c69a11b19afd2b5977715033c9fe71ae0fa', '329035232', '145', NULL, NULL), +('cd3369be-a84e-4267-9bc9-c5461457d155', 'probe', '18.0.0-0.ci+gitc298def0b9f', 'zone', '2025-12-24 16:09:17.701003+00', '6ebb3e8c3eb3741967a5d97b7915f8a74a8c6816562498d1c9ceae471a136315', '3109590', '53', NULL, NULL), +('cd4db5c7-b599-4ae3-a038-2994705d6c9f', 'host', '18.0.0-0.ci+git6601b8ec8a4', 'host_phase_2', '2025-12-02 01:51:35.116895+00', '1e6d4502b1015014bd11604646e3a38b83ef79f1abff42d596600004eaade633', '1048580096', '45', NULL, NULL), +('cd50f328-2a17-4472-83dc-d0f12017dd7e', 'crucible-zone', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040701+00', '438ff7a65cd098c6ed344d37944c79774b8682ccdceacd7c8fb2f397ad5751d7', '57532239', '145', NULL, NULL), +('cd5ca75c-b31f-42e3-919e-f370c5f32f4e', 'trampoline', '17.0.0-0.ci+gitd17fb154c39', 'trampoline_phase_2', '2025-10-17 15:59:09.507504+00', '25f3eb70a06f3d76325aa77af374372851776785522574ab56107cd804e8dba9', '152242221', '9', NULL, NULL), +('cdb0ffb0-1a39-4f1d-b413-55622753b3b4', 'ntp', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815699+00', '7d03d1918c71624d6fdf6463b6fbb1d99218fab090fd14b96ca08443f05b7744', '27599452', '115', NULL, NULL), +('cdd27a86-5ff6-4dfa-a9f1-8dec236da13b', 'oximeter', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963942+00', '3f736c648b5255f309a2cf6814c5e649c86064853708a6a5c2094895447ee563', '66496987', '85', NULL, NULL), +('cdde2171-bf69-4570-9bf2-ef6a15dec474', 'host', '21.0.0-0.local+git04909b7e827', 'gimlet_host_phase_1', '2026-07-02 17:06:15.780077+00', 'a4ae8274450401241e9243d9f2b9a2ac2479b4f7a4d24771c122e849adc1ccb5', '33554432', '165', NULL, NULL), +('ce2023fb-292b-4bea-b8b2-6be07de4ffb5', 'external-dns', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539552+00', 'b7547324b69cda97e314d73c7c4c39263e0166c6cf8085941600288bb014501d', '49941873', '79', NULL, NULL), +('ce4d6c5c-9227-4fc3-8d79-4a0b25a7a1c0', 'host', '17.0.0-0.ci+git2a1d8548932', 'host_phase_2', '2025-10-22 17:38:18.243786+00', '372ae893f1dc4836f103f2c702a7e64feac51e81c71a88fdad2d56cf486c9a79', '1048580096', '17', NULL, NULL), +('ce61e95f-dc1f-401d-84ab-275cb530c37e', 'external-dns', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366496+00', '27b341fe452a82f3420769da1377897a7f6257bb4d2a02b3c2cebcb8978f7faa', '47916883', '167', NULL, NULL), +('ce883b55-da4b-4476-8da0-24495770cf6a', 'psc-b', '1.0.52', 'psc_sp', '2025-12-02 01:51:35.116907+00', 'b2eb4a88199a82c46a8320281bd91d4045133e44e9b164d1a41a3ede2fa45dcf', '4061859', '45', NULL, 'psc-b'), +('ced8c367-0e1f-4115-ba12-873ea349f008', 'psc-c', '1.0.52', 'psc_sp', '2025-12-02 01:51:35.116908+00', '9fb4dd59801459603021b73d264b64f59aaa04b022bf6dfa27259ffaa1a6866b', '4064466', '45', NULL, 'psc-c'), +('cee25470-a632-45cd-938f-d2ae78927f48', 'cockroachdb', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638799+00', '50b0d0c9f41948b9064abe6febab90d333ae55aa0a72d7af11d881ff71c99a26', '172242264', '13', NULL, NULL), +('cee67d99-31ca-406e-b14c-fdc5a8ba1291', 'clickhouse', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494829+00', '655f3b05733d168588a153d52db4a7ec62942b07dc42b5a571c7caf01ee36b32', '324813245', '65', NULL, NULL), +('cf31abe3-df4d-49f6-ac2b-714d29457fa3', 'oximeter', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356082+00', 'e6eea0a96d7f7c9ec66756a204bc4977451476f33e7320769c748a931cf84374', '70167441', '135', NULL, NULL), +('cf6495a0-15bd-425a-a799-54722766d3ff', 'crucible-zone', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484038+00', '328bcb31cff4a917427c001c52352e60f65a0f5709e5bd53ff5bee453e87e75f', '50314190', '7', NULL, NULL), +('cf984fd1-a02b-4518-9324-879b4faac24b', 'trampoline', '19.0.0-0.ci+git10b9f2fb872', 'cosmo_trampoline_phase_1', '2026-03-17 20:02:46.884107+00', '07c7f994336a41484760e81367ac2d3710364e5196144b694fd5615cc5f514ef', '33554432', '113', NULL, NULL), +('d013e0ca-ccd3-4658-a612-48d878d210f3', 'nexus', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884114+00', '13c9c431144508872de744988bfe67ac16fd0b15a7f5019abe256849f0d74310', '214135697', '113', NULL, NULL), +('d014a62d-b031-49b7-ae20-8c6f219733e2', 'host', '20.0.0-0.ci+git3dc79fe53b1', 'host_phase_2', '2026-05-27 02:26:01.196603+00', 'febd4a3c4a43e448449b9048b533f794a7e39f4a22c111de6d35d9b226e6c929', '1101008896', '141', NULL, NULL), +('d05141b1-1afe-4f70-9c1a-a5a15987e682', 'internal-dns', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599296+00', 'ff10753dfef257b208348cac2a9de522ab90278d61e1d526f904ac98f5fdd319', '52795893', '4', NULL, NULL), +('d0635565-baa9-4ffc-a083-674ad1319021', 'clickhouse_server', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837888+00', '32f9980ea6f40311262fb2fac8a295189e71b179a8b31e19b141e49707cae85d', '309793540', '111', NULL, NULL), +('d075fe43-c2e1-4a6f-a705-6f6c4cd13a73', 'clickhouse_keeper', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366494+00', '022a95d685f655420b8d0c4a09a71ef2ce9239a84e5af4a6ceab28ab0226d3be', '304974677', '167', NULL, NULL), +('d09065f2-dcd2-4c0a-bc0a-bd65b5b5ce79', 'oximeter', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078614+00', 'aeeb2461f8ffdea246f1db030bd3314fcf3fb596de46747338e7de8a5d7f7b25', '67696491', '55', NULL, NULL), +('d09ca005-4750-4ae2-bbbe-99f01bc88952', 'crucible-zone', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196606+00', 'cf51ac37fbbe727ad0ae18d26e980ac5f0ee841ae1b81fe366058e58d4f8154c', '57519689', '141', NULL, NULL), +('d09e948c-b83e-44b6-831e-6d2706f76a84', 'probe', '18.0.0-0.ci+git4175bf66d6c', 'zone', '2026-01-18 22:34:16.803647+00', '3b1083b38b3aee380897f35362c5932413bf398b2a6265aeb1fd67ea45343c1e', '3109590', '61', NULL, NULL), +('d11850e2-c2f8-4394-a0fd-854518c52670', 'gimlet-c', '1.0.55', 'gimlet_sp', '2025-12-24 16:09:17.700984+00', 'b57e39d1d338ac934c180450ca8d9eae46e96426aacfaf4473b1ced6f7ab5451', '5398981', '53', NULL, 'gimlet-c'), +('d2070bff-5fd0-4563-b6cd-1993e08d4eb4', 'psc-c', '1.0.57', 'psc_sp', '2026-01-22 00:31:09.68432+00', '16df6da5f35c9721f75ed018eaccdfbbcf3fe7dd04f7216e4ebd57454a9df183', '4136127', '63', NULL, 'psc-c'), +('d2377de8-1afc-4572-8d64-73a76fe43a3f', 'psc_rot_bootloader-bart', '1.4.1', 'psc_rot_bootloader', '2025-10-09 16:06:27.599308+00', '5e34087e5bb3c5ae269148c709050d893f971dd4c19e3cbbec419fde55bf07bb', '41535', '4', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1'), +('d263083a-c953-4ed4-8657-029655d8cfe6', 'trampoline', '19.0.0-0.ci+gite2fe4014825', 'trampoline_phase_2', '2026-03-30 16:50:10.815695+00', '04bc4aee9606cba304669ccf87a4094ea33f8ddd58cf10668be4906677f6d882', '146389848', '115', NULL, NULL), +('d2720a20-9b64-4e97-bcc4-1bbde46cdfb7', 'installinator_document', '19.0.0-0.ci+gitd3ef1db023b', 'installinator_document', '2026-02-23 20:10:41.273021+00', '6af8a0497b19df0642d2524f02bf86465350873a7a8275c37fb24e3ce1fc83f0', '924', '101', NULL, NULL), +('d2999066-87d0-41f0-9ac5-1a747c34c5c4', 'cockroachdb', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419121+00', '25216875f860d476eba76a95e9432e04e79830ce5e55d64086d6b1d7e032253d', '172226240', '21', NULL, NULL), +('d2b3571e-889d-403e-8ec4-6ef11c7a2ae8', 'gimlet-b', '1.0.54', 'gimlet_sp', '2025-12-12 20:45:24.181249+00', '869dd380639de15c7a3c5226c1170c055915cb7e73ae407f01ce98eaabf3aea8', '5396765', '49', NULL, 'gimlet-b'), +('d2dc050d-04dd-439e-a977-4b044b1fd63c', 'host', '18.0.0-0.ci+gitc298def0b9f', 'host_phase_2', '2025-12-24 16:09:17.700996+00', '8fecede048df124b83db700940e62bddee2d647060b3d5ecaf0350d4039705f8', '1101008896', '53', NULL, NULL), +('d322d3ff-f5e5-4ef7-b12b-e93f292070e4', 'trampoline', '19.0.0-0.ci+git9dd23096de9', 'gimlet_trampoline_phase_1', '2026-03-06 17:26:46.282149+00', 'a94b699b19197b60ea0199e827ee79d266b5d6685d445d6003361f5b20e2e523', '33554432', '107', NULL, NULL), +('d35df918-63a9-43f2-833e-37ec00aa1a49', 'host', '20.0.0-0.ci+git4bb727667c9', 'gimlet_host_phase_1', '2026-06-08 18:04:19.004235+00', 'a3da82908d3d8f4d3f45cbf5f9f91db42c84f27d240b074292f100870788c8c5', '33554432', '147', NULL, NULL), +('d3f852ab-7e35-4f90-80a8-24dc37b98219', 'host', '17.0.0-0.ci+gitaf3b89ffce6', 'host_phase_2', '2025-10-23 06:08:33.419118+00', '7f24e2c98935c156a115fdf43bbacae5c331bec366d4b6bb4be0b681de5828c1', '1048580096', '21', NULL, NULL), +('d431922d-944c-43b8-a7f5-8ffaace4ffa2', 'host', '18.1.0-0.ci+git1003e128ad7', 'gimlet_host_phase_1', '2026-02-19 02:24:10.120337+00', '3956195ccf4f54492180853d436143d48571bc81c75037b5503553dcf2e05bce', '33554432', '95', NULL, NULL), +('d43a66d2-dbe1-490b-943c-641344b9cb0f', 'trampoline', '18.0.0-0.ci+git5292c0d21f9', 'gimlet_trampoline_phase_1', '2026-02-03 03:55:01.998664+00', 'c544a05169ff17116cf4313938e7a13cb16dfdee708152666e6728430a78d3b2', '33554432', '71', NULL, NULL), +('d4455b09-af17-4a51-90f7-72b694509375', 'crucible-pantry-zone', '19.0.0-0.ci+gite2fe4014825', 'zone', '2026-03-30 16:50:10.815697+00', 'c7c2bdf9534132b484c7f8428d1cd12ce132db6895f878649e6d81e5816a064b', '41458558', '115', NULL, NULL), +('d45cd31b-6add-435e-8de4-8aab982da8be', 'gimlet-c', '1.0.47', 'gimlet_sp', '2025-10-10 16:09:24.468865+00', '8d4b38f41af561eef945f4cbd58c8b794ebaacebeb5394edfdebdaa5e9ef49f1', '5295294', '6', NULL, 'gimlet-c'), +('d4b72a0c-db7e-4e1e-862d-569177a9b56f', 'trampoline', '18.0.0-0.ci+git474c1588c05', 'trampoline_phase_2', '2025-12-12 20:45:24.181272+00', '5942abeecadd334571bde9c25252cea7590f247a8a3637f6e17c44a8268d8b25', '153220329', '49', NULL, NULL), +('d542d6e0-660a-495a-a523-435415cc868c', 'trampoline', '19.1.0-0.ci+git073b1306678', 'cosmo_trampoline_phase_1', '2026-04-11 03:24:26.751856+00', 'de212baaac13172444ec4be62e3a5cc05c4ec6b8ecd5aa15e8cc8eba145bd8c8', '33554432', '127', NULL, NULL), +('d55ee6d1-1d89-469d-a1e6-91fb3f875209', 'oximeter', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271943+00', 'b79fc22153713691fc8398e27c5c5de2ceac35356581102762da17e2ac2e7134', '66585063', '97', NULL, NULL), +('d577eae7-7353-4722-a0d4-a14ebfb6f1e8', 'trampoline', '19.0.0-0.ci+git9dd23096de9', 'cosmo_trampoline_phase_1', '2026-03-06 17:26:46.28215+00', 'da881200a3982f3fa89ec23e5d9bc6ddec08c19c6f2fba1c7fa1ac75461763b3', '33554432', '107', NULL, NULL), +('d5decde5-6a2e-40b7-9289-52766f4301b4', 'clickhouse_keeper', '17.0.0-0.ci+git063828b53e7', 'zone', '2025-10-09 16:06:27.599293+00', '8cf87360bc851f5b801cf5d38589765c6567854d212cd7750f63fad26862c727', '307145077', '4', NULL, NULL), +('d5e59b7f-9ba6-4ffe-92c5-94612f80bab9', 'crucible-zone', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271939+00', '68eba7c274e82534116eaf196c5f36c66896fd6030586f6fa1e7b51635044cd1', '57038196', '97', NULL, NULL), +('d61b400b-243c-47ba-8026-781ea6b8f53f', 'oximeter', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.18128+00', 'e6563d529e2efb57a4b5761257d959f1e73a6c46d301606735f9a0bf1ba65f3f', '67316814', '49', NULL, NULL), +('d633a95d-1f1d-4d41-b756-d1de52f22973', 'trampoline', '17.0.0-0.ci+gitc5c0834b174', 'trampoline_phase_2', '2025-10-30 00:44:34.710739+00', 'c774fff055b331e216dd3e33dd41dc7c5847e0ddc5583110f88f5c2e58a28c5b', '152278243', '29', NULL, NULL), +('d655e3b0-8035-4e15-ba35-2565fbd23a10', 'oximeter', '17.0.0-0.ci+git495eab19cfc', 'zone', '2025-10-31 23:54:18.712727+00', 'c00db2e45deeaf9b30debd221f93964a4945d8d8c205526a07f23fc555257587', '65005396', '33', NULL, NULL), +('d65b94b3-6f90-48d1-82e7-22eb78d061a8', 'ntp', '17.0.0-0.ci+git27b3ef9b9d0', 'zone', '2025-11-07 00:26:09.449918+00', '312916f8b02faec2e2b5fd1aa59f540efed035584a1f06a951d7a08d4d03cab7', '34179180', '41', NULL, NULL), +('d6605f40-63d6-43b0-acf3-040ad4234021', 'ntp', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275325+00', '3a150eba4e0d5809e5416ad9cf495fcb3178278831122f3a85807ac4497eb703', '30353053', '81', NULL, NULL), +('d67ac4cd-e1d0-4a6c-9362-c90ec2742579', 'external-dns', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282154+00', '15f3e461ebc2c3668bcd2ea3a773a3092fc3e8ab6e9a65272c76fb888fd33f91', '42546222', '107', NULL, NULL), +('d6a458b1-ae62-4168-86e8-5bb79e0c77dd', 'ntp', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332951+00', 'a5f47ad6719985f395ccf553b800c74c0eb6baf99dbca42ee9e9d15b33e67521', '27599874', '119', NULL, NULL), +('d6abb084-ee03-4510-9cac-1e581aa926ff', 'host', '20.0.0-0.ci+gita3fee0ec59c', 'cosmo_host_phase_1', '2026-06-10 13:51:51.899224+00', '757f48d3b602a2cb9a80a249aa712d0f025e210cd47eafa277cbe4e616c096be', '33554432', '151', NULL, NULL), +('d6ad0934-455a-4d32-8f2d-58e4559eb741', 'trampoline', '18.0.0-0.ci+git92e0ae0c98d', 'cosmo_trampoline_phase_1', '2026-01-27 04:57:02.494826+00', '05d2153f62070d9eb4047a969bf9dd24ef41f92a21a5de21d9b21eaf6731a16a', '33554432', '65', NULL, NULL), +('d6f51d18-7ff7-4e56-95eb-6630f9c774b0', 'clickhouse_server', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608566+00', '160b7dba07612429eb7988aa7dfa3c82e29bc3446fadedabebf0a93bd70cfb1b', '331380192', '129', NULL, NULL), +('d6fbd94f-36f7-4355-b9fd-179cbd74fd75', 'installinator_document', '17.0.0-0.ci+git81d822614e1', 'installinator_document', '2025-11-04 22:17:21.744457+00', 'aa670d4320170caaada3c9068d750f343d1e0a9cecb1b6ae156fc504a67379fd', '383', '37', NULL, NULL), +('d7023209-094a-41e6-b236-534dc7e5e23c', 'clickhouse_keeper', '19.0.0-0.ci+git42726ecbb1b', 'zone', '2026-04-08 00:24:54.57698+00', '014a8f286821e377a67cc5996c47324837590ea1ad5ac5e347dd5cf4413da5c1', '314957497', '125', NULL, NULL), +('d70d9487-e39b-4c62-b17e-bb0bc1a8b6af', 'nexus', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941526+00', 'b6f7ed70ffa7e6009d4ab2518b8aefab98db07029e27bab0cf52a25a1ea8f223', '286195928', '153', NULL, NULL), +('d7121d24-be9b-403d-a598-1c68b06abe1f', 'clickhouse_server', '18.0.0-0.ci+gita728a7f63fa', 'zone', '2026-02-11 03:50:43.963935+00', '09409511f3f21ad0982e1ae79cec16851c8c880ac6d8067e3580cd609f92e93f', '327168230', '85', NULL, NULL), +('d72264c2-969b-4a7f-b56e-3e4faa9c38cd', 'trampoline', '20.0.0-0.ci+git13937a135d7', 'trampoline_phase_2', '2026-06-09 22:54:35.291183+00', 'ba4e6cbf9871b84ed409465564b8cf92e3456c4abe5fc743e783c9364b812b83', '166392769', '149', NULL, NULL), +('d791409f-e29a-4c43-a150-676ed5d6a51e', 'trampoline', '21.0.0-0.ci+git99277253c16', 'gimlet_trampoline_phase_1', '2026-06-30 16:46:25.76266+00', '77f858c861aa0454017424d1aed131d5e6be99be2420c866ea44710a89f8e79d', '33554432', '163', NULL, NULL), +('d7a4ceaf-e1bd-446a-87ef-64e469fe7a04', 'clickhouse', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478028+00', '3847b5dd67fdd8aa404e1e3b50bfefd3dd1e5eff82a3a074beb969355af51c54', '324811881', '67', NULL, NULL), +('d7c46ba3-d6d7-4f65-ad9e-b0f12861ae18', 'host', '18.0.0-0.ci+git687f721a7c9', 'cosmo_host_phase_1', '2026-02-09 21:51:46.539548+00', '1ed227ddc24a685a9089ab23e7ee899ce7f3ee9460a207407680a84de9216557', '33554432', '79', NULL, NULL), +('d7c8b5f3-2aba-47f7-aa2b-15670c033316', 'trampoline', '17.0.0-0.ci+git01bb8750d9c', 'trampoline_phase_2', '2025-11-11 05:12:39.576563+00', '7d4a31e4494aae8498a1ce043523035407257143f9d54b63fec6c021be5960f6', '152485254', '43', NULL, NULL), +('d7e1ed31-b6f1-43b8-a515-8f192b57edbe', 'oximeter', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762666+00', '90a91a43f01047519b41e02de955ee7244d5c7bd4c47c903566973b500cc9301', '63406116', '163', NULL, NULL), +('d86c70f9-2d4e-46d3-a191-7ccf6500c7b6', 'switch_rot_bootloader-staging-devel-sidecar', '1.4.1', 'switch_rot_bootloader', '2025-10-09 16:06:27.599317+00', '25acd0299fd939abab6defc515fdec31cd7c3c0aa1276994b4f4644728dc2371', '46233', '4', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1'), +('d89968fc-47b1-4d62-b3e1-8076c11ccfc9', 'clickhouse', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913094+00', '17291f6950450f3584de8e80c82a30546b73e0385446df8baa8a93246cb58efc', '328086403', '57', NULL, NULL), +('d8a7db43-5ed4-40ee-903d-ebbf914e315d', 'external-dns', '18.0.0-0.ci+git99c3f3ef97f', 'zone', '2025-12-13 01:01:07.046699+00', '389335a28c7bb548e68537df4bf5be5df7f2f54db1fba6b1cba3ad36ad48e625', '55008770', '51', NULL, NULL), +('d8b7db67-215e-421a-829f-4a040790ab88', 'internal-dns', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091144+00', 'd9ca0310026799cd198fff16a1180bb5630aa3bbcce19c7a5338ba12012d207f', '54858405', '59', NULL, NULL), +('d8d13907-56b1-4ff9-a6ea-8c9155d3db21', 'cockroachdb', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478029+00', '449e2119e0daf664291260d1081dfe6e5043bbfabd2ab3717b2043d45d71a802', '168672581', '67', NULL, NULL), +('d9070ce7-a1af-45da-aebe-8190017b5315', 'crucible-pantry-zone', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762663+00', 'a82a4f9d142c290a1b0fbe2f49aa39e6198c88fde73e89611eac39a763e8ec60', '39753763', '163', NULL, NULL), +('d94e8f80-b957-45be-b2fa-ac0f619226fd', 'trampoline', '20.1.0-0.ci+gitde1271a3c77', 'trampoline_phase_2', '2026-06-26 16:41:54.981008+00', '80d2f99bcdbd654626b0d91a7954effef095158c8f5625528684b542ad548b36', '166259564', '161', NULL, NULL), +('d997f324-be34-43cf-826f-d720d50ee4ec', 'cockroachdb', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684118+00', '123eefec2e127018dc02b03d48b469e14a9bc18ed3f238beafa96c08e2e0440a', '169063579', '83', NULL, NULL), +('d9d5b7b4-c7c1-42eb-bb2a-075cd0e38152', 'external-dns', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329508+00', '1221764a7d3121ea98f7a92b4b865a7dab68c908001e8956680cdb85346e500a', '54913910', '73', NULL, NULL), +('da14da21-00b0-47e9-9a9d-6e7ba1be5dde', 'clickhouse_keeper', '18.0.0-0.ci+git474c1588c05', 'zone', '2025-12-12 20:45:24.181273+00', '4899febbeab4a4d7c7acd3dfbdc331cbc4a95bb1c8afa31d86428e151146ef86', '311224912', '49', NULL, NULL), +('da175d32-01cf-4ce9-b4b4-63f0623cd7f9', 'trampoline', '19.0.0-0.ci+git09c8c584ee4', 'gimlet_trampoline_phase_1', '2026-03-31 22:41:05.03868+00', 'f566094d926adadec094cc9e94f20d51a81592ede01abb3c88263f0c1eb5177b', '33554432', '117', NULL, NULL), +('da2d00ef-e9b6-42a6-a482-3b619ce1e553', 'clickhouse', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659116+00', '37fd0aa3ad44e6acdc64c53046f89109611deaf399bdd78a9e632d6324b2680c', '329052179', '143', NULL, NULL), +('da2dc53c-ab75-4b51-90bb-f6ebfa6297c1', 'clickhouse', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638798+00', 'b0ac6018fd28580f93ea966689fe34979af96d0e9e10b40d08faa4e2be2db9f5', '327712323', '13', NULL, NULL), +('da2e14d0-f1df-485d-86f2-9278ff1bcd91', 'trampoline', '17.0.0-0.ci+git3a90a985264', 'cosmo_trampoline_phase_1', '2025-10-22 23:31:13.205389+00', 'fcd8b3c80c02d7bd8ef27c510f0ca28677c7c27265e3f07dc2e3656dc51b4fb8', '33554432', '19', NULL, NULL), +('da5fc9fa-57a9-4275-9b86-05269b44194a', 'cockroachdb', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.205391+00', '4350cf3b354abc13139fca8ec4841bf9feb73ee04088432444540b38d27d918e', '172226240', '19', NULL, NULL), +('da7ee48e-7154-4fd2-9033-5d96587e2581', 'crucible-zone', '20.0.0-0.ci+gita3fee0ec59c', 'zone', '2026-06-10 13:51:51.899231+00', '803a456f1564560065b1ee5f04297ea2685ec5db2c4f8606d689f5b3da6fa528', '58058506', '151', NULL, NULL), +('da87da0f-f5db-4b7e-bb15-bc77b37f7516', 'trampoline', '18.0.0-0.ci+git92e0ae0c98d', 'trampoline_phase_2', '2026-01-27 04:57:02.494827+00', '4be9f53489daf3dc9debb4c991c63755281455093b90b4fe2036216b2b32660d', '144707253', '65', NULL, NULL), +('da911948-3bd7-471d-8c40-54372212f985', 'clickhouse_keeper', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995236+00', '78a4ca303575c44aba8f529185ed220ce100038f543ebb5fc7339a1616602ac5', '306858070', '39', NULL, NULL), +('daad773c-dbd4-4663-9088-7900755fb9ff', 'installinator_document', '18.0.0-0.ci+git5292c0d21f9', 'installinator_document', '2026-02-03 03:55:01.998691+00', '08e165b31e1b43c237013b2bc4905718c17804c87c4bbd497fa264bb14274fcb', '924', '71', NULL, NULL), +('dabb66f0-88f9-4091-9e00-63d6bc586f33', 'external-dns', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291186+00', '8f175f6b53c57140146c25a96885642f60adff79547bac9eada2163256da00d8', '52496364', '149', NULL, NULL), +('dadeb854-492c-4c96-85a2-7ef6d9503d05', 'crucible-pantry-zone', '17.0.0-0.ci+git34818139bb2', 'zone', '2025-10-21 22:30:59.008519+00', '39c3657d42451b812aa19363b25a6e70bdd97a529f93b4b38df6ae00452dc04f', '44674753', '15', NULL, NULL), +('db2562ff-a4b4-4ede-996c-cb8d9f2590e4', 'ntp', '20.0.0-0.ci+git4bb727667c9', 'zone', '2026-06-08 18:04:19.004242+00', 'b8c4498c20b3981e71ef86952b4135b422438706d6d11ef92c01f51ebdcb3e13', '33584714', '147', NULL, NULL), +('db7d00b3-75d8-4b0e-806c-31aaf3e97ff5', 'oxide-rot-1-staging-devel', '1.0.36', 'psc_rot_image_a', '2025-10-10 16:09:24.468886+00', 'ee31b051c535fbaa443ce874c3330d20bf2c375d463cee12ed00548a5e3f6e0b', '1574036', '6', 'f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7', 'oxide-rot-1'), +('dbcda89f-02be-4bd9-b3e8-d03067de48a0', 'installinator_document', '19.3.0-0.ci+gitd4a126e8cc3', 'installinator_document', '2026-05-05 23:41:07.356106+00', 'd42bbc273af2096f0e45b753efbc46689a1a015e9ebea177f225fa26f12f6296', '924', '135', NULL, NULL), +('dbdab169-cf07-4de6-8e44-e053b246f913', 'nexus', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434248+00', '92ce89bfc5ff67d1ff79959e8fd011458d1c0aa7cd2c2c07fa94458251b1a31f', '215886151', '103', NULL, NULL), +('dc2ec9b6-f19f-4b21-ae9d-a7437427ad24', 'clickhouse', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434243+00', '97aa0e579a644b082e98eb9e6c67d0db906438afc598b68f80d521200fd63b4d', '327140714', '103', NULL, NULL), +('dc62ff8f-9a6a-4dbb-895c-f5d104da1596', 'oxide-rot-1-selfsigned-bart', '1.0.38', 'psc_rot_image_a', '2025-10-08 19:59:10.483208+00', '986bdbe66d46e8246d7f27abee965905de0adb119620ce4efdbc122f5393b0a5', '1634641', '2', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1-selfsigned'), +('dcab7f58-e787-497b-a3ee-4f4b040dc346', 'installinator_document', '21.0.0-0.ci+git2e789004327', 'installinator_document', '2026-07-07 06:50:20.366521+00', 'cafd2b302aa99d43bf9d9969c7a0572de212cfd1fc83478b67b843531217ac00', '924', '167', NULL, NULL), +('dcd729c4-d17c-4713-98eb-4eeeb7679068', 'internal-dns', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271941+00', 'ebe8afaf25f41563d8ddd31222597f401cad381d97604afc5eb4fafd531f8d44', '50015083', '97', NULL, NULL), +('dcdfd20b-60a1-409c-b149-003ccccc1777', 'internal-dns', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.478031+00', '6f2894feb8bd3fbc3abe9d9370d1947e8fa7b7d63eeb752bb0dc750d3d660384', '48684172', '67', NULL, NULL), +('dcee7175-468e-4672-902c-96a2cbfafd9d', 'trampoline', '17.0.0-0.ci+git76ec1fa523c', 'cosmo_trampoline_phase_1', '2025-10-09 16:20:40.719339+00', 'ba00a4154f9006a1f33b954e2222d11ff02eb81d63eecb47d1a5ae16776a49fb', '33554432', '5', NULL, NULL), +('dd3ee7ef-3829-4f15-93a0-43a6f55f11e2', 'crucible-pantry-zone', '18.0.0-0.ci+git6d17d64ce6d', 'zone', '2026-02-09 23:04:09.275323+00', 'dcf162c4c2b5c4d1a8cba2862f75bcd13e4ce102dd910648a1c5a7dc7c95cc48', '42533570', '81', NULL, NULL), +('dd475ac8-5ff0-42ba-9e79-655d40af37ef', 'psc-c', '1.0.54', 'psc_sp', '2025-12-12 20:45:24.181283+00', '75af6bb3401ffde08f4dd023afd1a2f3f75c079fd1d73db1d75c95f750553478', '4066231', '49', NULL, 'psc-c'), +('dd53728e-8b51-40e9-ba40-023729185eef', 'clickhouse_keeper', '20.0.0-0.ci+git3dc79fe53b1', 'zone', '2026-05-27 02:26:01.196604+00', '1ac4ed773f7307857784abb0e80c4ee05554f70102a6bf952cf7fbf1f9698f7f', '313382063', '141', NULL, NULL), +('dd6b068a-8290-41ef-9676-c1b9c23f035e', 'clickhouse_server', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441923+00', 'b4a7324d2227b3c37f21b8459b802cfe58293701d43029d3d4f7ae673e9cce94', '329581617', '155', NULL, NULL), +('ddf5d444-629f-44c1-b0a8-951061ab5f49', 'clickhouse_server', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282152+00', '0b62b87780b04d3db1d59ef38dee6c753c947ebaeb968ba2acbf24ed309410d8', '309832916', '107', NULL, NULL), +('ddf623ae-5ec1-4762-b4ad-ee940b41ec29', 'clickhouse_keeper', '17.0.0-0.ci+git3a90a985264', 'zone', '2025-10-22 23:31:13.20539+00', '04d1ff0e0236bb4f28cfe6a8bb2a6f1cb88819ce9f1c370cf32b888a733d2039', '309258043', '19', NULL, NULL), +('de0a881d-f940-415a-a858-419b97bbeb25', 'trampoline', '21.0.0-0.local+git04909b7e827', 'cosmo_trampoline_phase_1', '2026-07-02 17:06:15.780081+00', 'e29d8c5d4cc5d2d483fa6e397020c7815fb3faf4bf8fc870aa43a525def10a0b', '33554432', '165', NULL, NULL), +('de1ca710-dddf-4ef5-a45e-5b5666edbd62', 'clickhouse_server', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659116+00', '20f6252d1c85d45a9ff4021cc6a0b4d3ed206bacf54d1e887f50e43843a83560', '329049476', '143', NULL, NULL), +('de26fbc9-d5a9-4cbc-843b-aaf7902b7c81', 'host', '17.0.0-0.ci+git8c683c74af9', 'host_phase_2', '2025-10-10 16:09:24.468876+00', '208edf3ce93e4a3f311b20e2b8795c78618cef380c7f010b15270e9ca43c6454', '1048580096', '6', NULL, NULL), +('de60a7d6-06d6-44ad-859b-2604a1b92e86', 'probe', '18.0.0-0.ci+git6601b8ec8a4', 'zone', '2025-12-02 01:51:35.116906+00', '3d109a2e74c55e3af07c59108ecd41da6a61cb99601bdc271a650a73d1f0e56a', '3109590', '45', NULL, NULL), +('de66ba4d-9a1c-41e1-8a26-5d4ff23c35c4', 'ntp', '17.0.0-0.ci+gitcf97c145a6e', 'zone', '2025-10-30 05:14:08.663976+00', 'ca3a2976dd7701d826887bd11c1df31258314110cfb0c6c1413b5c601f026e1d', '34047318', '31', NULL, NULL), +('de6ddc52-3c78-4929-9ac7-e684cc31b1f5', 'trampoline', '17.0.0-0.ci+gitc5c0834b174', 'gimlet_trampoline_phase_1', '2025-10-30 00:44:34.710737+00', 'd28a017156fda59abbea1dd0e365eab53ceb73386e50a19022c94309fb520291', '33554432', '29', NULL, NULL), +('de9c2e85-b34a-43ca-a24b-40cf83b1c5e3', 'oxide-rot-1-selfsigned-staging-devel-sidecar', '1.0.38', 'switch_rot_image_b', '2025-10-08 19:59:10.48322+00', '9fc3c7ef8d39c16c4a1a7f3b764c4004e8733acd2b0648371e3dae4d18653ef5', '1639927', '2', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1-selfsigned'), +('ded70f30-26da-4a3a-9b35-e9a17194e861', 'nexus', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062172+00', '2704db42121d82b56913d94e733784763a88179846b801af4810eff40fa3df7a', '224546562', '123', NULL, NULL), +('dee5f79f-0f0a-4dd5-bf81-0e03357b4f0e', 'gimlet-d', '1.0.64', 'gimlet_sp', '2026-03-11 23:14:48.431918+00', '147d21bc6a9540f799991c8ce73cf4db902ca870245adb90531e0d1158fb0461', '5496239', '109', NULL, 'gimlet-d'), +('df1f5bbb-88fa-48cc-9566-2b910f5cc38e', 'installinator_document', '19.0.0-0.ci+git6409f6a4bd2', 'installinator_document', '2026-03-12 18:43:41.83792+00', '659900735e8e2eb2719fd467dd929046e9d2edc02de1d7e4f216ecf15ebe8810', '924', '111', NULL, NULL), +('df2b4772-0129-41b2-8028-9dd01e25c66b', 'trampoline', '17.0.0-0.ci+gitb8efb9a08b3', 'trampoline_phase_2', '2025-10-08 20:35:41.742768+00', '0f9cbb8bbb150f6f499f8988f58ed0df0a5468e1c4caef6ef8befde53140b13b', '152783276', '3', NULL, NULL), +('df2e1a44-08a1-40c0-a3bb-d9253569f19d', 'ntp', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608569+00', '697847ffc6e2ef28732ac1ded02348ace9354af7546e18c858ab8d6f661a764d', '33892101', '129', NULL, NULL), +('df528d49-1c1f-4af5-a882-bd0b428647cc', 'crucible-zone', '19.0.0-0.ci+git19d83513171', 'zone', '2026-04-05 04:30:51.921052+00', '8b683ec938594448c6d69b9741f5cfac30d7b36062151e4281322bc4e5922806', '55932970', '121', NULL, NULL), +('df694475-cf36-49ff-b22f-dc10a96a384e', 'installinator_document', '17.0.0-0.ci+git2a1d8548932', 'installinator_document', '2025-10-22 17:38:18.243814+00', 'b25b936346a17a4693b480dfe8adf155203c530053ba6bd4490c13b39a70491c', '383', '17', NULL, NULL), +('df77300e-775b-4be2-aec5-2e94ad21aa1e', 'external-dns', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652467+00', 'cecb13ae82d55a17901c76c9ecad8874437477a7310fd5f528e7dc7cb247b524', '49946301', '91', NULL, NULL), +('df8b36e9-212c-41ba-be82-b47687723159', 'gimlet_rot_bootloader-bart', '1.4.1', 'gimlet_rot_bootloader', '2025-10-09 16:06:27.599286+00', '5e34087e5bb3c5ae269148c709050d893f971dd4c19e3cbbec419fde55bf07bb', '41535', '4', '84332ef8279df87fbb759dc3866cbc50cd246fbb5a64705a7e60ba86bf01c27d', 'oxide-rot-1'), +('dfa1bb42-507f-4b8c-ad10-5d3d650284b7', 'sidecar-b', '1.0.71', 'switch_sp', '2026-05-27 02:26:01.196616+00', '4a22f24019a32ba28c840ed7ec33b943187090d88bcfd9914b8efb62e9cf6216', '7057617', '141', NULL, 'sidecar-b'), +('dfa4f26d-2947-4468-8220-8e2e4cb612b8', 'trampoline', '17.0.0-0.ci+gitcf97c145a6e', 'cosmo_trampoline_phase_1', '2025-10-30 05:14:08.663971+00', '12d30a193e3f0b472e6b46b7e56cbb87c24b681b8beba5d56eb9db62d151d008', '33554432', '31', NULL, NULL), +('dfc27df0-f7a7-4d38-bdc7-c01bccbf7ad7', 'clickhouse_keeper', '20.0.0-0.ci+git13937a135d7', 'zone', '2026-06-09 22:54:35.291184+00', '3a06737fe1bbe6653dde84fd9a801482463f494673c211d388a815308fd8cf0f', '314295713', '149', NULL, NULL), +('dfdba75e-154b-43b4-95fa-06fe356d3d9e', 'host', '19.0.0-0.ci+git42726ecbb1b', 'cosmo_host_phase_1', '2026-04-08 00:24:54.576977+00', 'b7774156c6f0e4573a20837e0b166aeb9ab237d7c80dd89a28e380efecfe75bd', '33554432', '125', NULL, NULL), +('e05faf1c-55e4-439f-9336-1ce0895e866a', 'clickhouse', '21.0.0-0.ci+git99277253c16', 'zone', '2026-06-30 16:46:25.762662+00', '9b8587890df5d7337f9705e2025f63641e730d7e5d013b9cba89ed16f5e9c730', '319218784', '163', NULL, NULL), +('e07e6f5f-e515-4ff9-9213-41bd1728bfae', 'trampoline', '18.0.0-0.ci+git078382f5d9c', 'gimlet_trampoline_phase_1', '2025-12-08 23:28:06.260755+00', 'edf897ff3a7c1a92cd9b964311ca13dc5a816925472f5a334f66fd1dbc5917fd', '33554432', '47', NULL, NULL), +('e0c52397-65be-4754-bd88-4a76510591b3', 'cockroachdb', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594068+00', '1419dc3b5bbe7a1f23d0b28989775ad7ee0fc9b1a91533dbd40d072229d3da7b', '169645708', '137', NULL, NULL), +('e103e3b7-fcab-4f26-b12b-7aae72f8ea04', 'clickhouse', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995238+00', 'b12b0d94f7b7415ed5eee9fe5bfd645739bb71360eeb293ac8e1e28b0cd194ea', '323544943', '39', NULL, NULL), +('e10bacc5-a22d-4681-8e57-463f3d3806c4', 'nexus', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608569+00', 'e99253b221aa39fb7d84dfd7539608141e2053a8045377ed480d43bb163d640f', '223566065', '129', NULL, NULL), +('e12fff92-d8f6-4833-a2f4-d40d6752a208', 'trampoline', '20.0.0-0.ci+gitc5c595dba5d', 'gimlet_trampoline_phase_1', '2026-06-03 19:03:58.040697+00', 'c682d077f0aa790c6985ac8ab09183d7a00b477790e2b7cabc4c29017495c13d', '33554432', '145', NULL, NULL), +('e1490dce-8917-445b-8a27-e98244087417', 'clickhouse_server', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941523+00', '578f1f7ab4d2546c8d539d7d43ec7b36b175b02302339b4f44abe47a423dd8b2', '329581617', '153', NULL, NULL), +('e1586486-b2df-4139-ad72-fd469b89f54e', 'host', '19.0.0-0.ci+git328ba48fdf8', 'gimlet_host_phase_1', '2026-03-03 05:18:25.051893+00', '2561a2d1f85e2f52c91f185bbc4bc7d1a76eee7b601ebfe81bb1aeabd4f3675a', '33554432', '105', NULL, NULL), +('e15d2435-29c5-4500-870d-8488a5632f4c', 'cockroachdb', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995239+00', 'b81a13837d6e1db8fa392ce44edf04f40c46af6e172f48d971f49a809180a543', '169652232', '39', NULL, NULL), +('e19af54d-c026-4645-9b0a-83a595a901bc', 'gimlet-c', '1.0.71', 'gimlet_sp', '2026-05-27 02:26:01.196591+00', 'c3f4150c56f5d5bd3990ab7768f8abfc907e1720da6245d0f413b7e3675e7e98', '5548143', '141', NULL, 'gimlet-c'), +('e1e4d1e5-a879-49fb-9523-5eca765a216d', 'installinator_document', '18.0.0-0.ci+git4175bf66d6c', 'installinator_document', '2026-01-18 22:34:16.803677+00', '3c094c88dd7497849b43559335c9d55d0e73da760025d0b76613a6d049e89c37', '924', '61', NULL, NULL), +('e1ea0183-a008-4e62-ad04-aaf885ba1c62', 'trampoline', '18.0.0-0.ci+gitc643ed39da8', 'gimlet_trampoline_phase_1', '2026-02-10 13:49:39.684115+00', 'd53e867cb33ad698a90e6f8b7d16a086631402bfb73f63bb08368dbf49966cb5', '33554432', '83', NULL, NULL), +('e215c2ac-c96f-4fab-af83-7273cb56f3b2', 'trampoline', '18.0.0-0.ci+gitf507a3057c7', 'trampoline_phase_2', '2026-01-14 23:13:54.091137+00', 'c54dfce04e154fc4da52ce225f79914843cbcf7146f4219fd5686554290857a9', '152070916', '59', NULL, NULL), +('e288dba2-2447-417e-ad56-6e4c24ee73a7', 'crucible-zone', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.091142+00', 'be65656f12c2bbf670fb04bed3b8e4c0cfa7e5aa8939e3c0b4dae53e1559a6d7', '60052150', '59', NULL, NULL), +('e31acd04-e7f4-408d-a814-630b8e94c182', 'trampoline', '18.0.0-0.ci+git99c3f3ef97f', 'cosmo_trampoline_phase_1', '2025-12-13 01:01:07.046696+00', 'ed986b10c90eb7d93af12d9cc98eff65afdc5fa40aa0085c23536397bd515622', '33554432', '51', NULL, NULL), +('e350d30a-8c61-4710-8c54-86ab34f6a1dd', 'crucible-pantry-zone', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.0407+00', 'd61018d0f6fa99e14b1b90e4183628ddf461791fcb3e80220994874751930518', '41588970', '145', NULL, NULL), +('e3afc9d4-e25b-4592-ad97-b38931f4ade4', 'nexus', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837893+00', 'd91870157ce684a24365bcbabcfcd06923f6eb430b83114601cd6ad50eaaeea7', '215932771', '111', NULL, NULL), +('e4237c29-fb52-4d0a-8545-a7f125f8fd5c', 'probe', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494833+00', 'abbd560bab7e5dc8dd6597a4a3811c5e0755d06fb70f3396c299476a9e957a3b', '3109590', '65', NULL, NULL), +('e4695439-836b-4b03-be2d-afa6af8b8d8c', 'trampoline', '19.0.0-0.ci+git10b9f2fb872', 'trampoline_phase_2', '2026-03-17 20:02:46.884108+00', 'a64d8b123abbc100d72b1747a526c0396fa0ce006e79e487808cbf8fa746cad1', '145248191', '113', NULL, NULL), +('e480d9d8-8280-4ffb-885e-467d30e2644c', 'trampoline', '18.0.0-0.ci+git52e04b3b26e', 'gimlet_trampoline_phase_1', '2026-02-03 11:37:20.329504+00', '1269599c608ceb3dc0c582960a7cb7a5aff7b934bc25375766a1baad4103aa53', '33554432', '73', NULL, NULL), +('e4a31b9c-2348-437e-9e8c-5fe5028e99da', 'host', '18.0.0-0.ci+git3b3f937d05f', 'cosmo_host_phase_1', '2026-01-01 00:51:32.078607+00', '68ff0913bb6614a4b2ba6eda3c283a4aeb1fb63b3100006652e270f5bfa83d48', '33554432', '55', NULL, NULL), +('e4ce3094-35f1-4663-b67d-f310638cbea8', 'oximeter', '18.0.0-0.ci+git4a456c99797', 'zone', '2026-02-14 05:49:55.051223+00', 'e189d1007938831e8efab700dc84b5b82b93174488f3d3c4c39d9ed5fec2635a', '66585063', '93', NULL, NULL), +('e4d2b50b-439f-4f49-8c18-ea3a190f3eff', 'clickhouse', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140752+00', 'd7c293690186b5a4563c24a97573a42273c2e159b605b8912a6fa635a944eae5', '325883188', '23', NULL, NULL), +('e4da560e-6896-4157-949d-086f80893e08', 'gimlet-f', '1.0.62', 'gimlet_sp', '2026-02-23 20:10:41.272975+00', '75e5434060e1afa332c010a418bdacd0050bc5040300c46febb67f2b0adba98a', '5469060', '101', NULL, 'gimlet-f'), +('e4da5bbf-5a8d-4d72-9379-6265a8b2f86e', 'crucible-pantry-zone', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471613+00', 'cead8a0d1d3ba3a9eb68deb5d37cacee98fe4cb0502c35443b1e5bee13477366', '42114926', '159', NULL, NULL), +('e4f5eb76-e52f-4dc3-b190-fd7f96fd12cb', 'trampoline', '19.1.0-0.ci+git073b1306678', 'trampoline_phase_2', '2026-04-11 03:24:26.751857+00', 'ef8571acca71bcafdf54ef2b94d72a47da24b7c47f0e8834acd0070d277c4b56', '146263265', '127', NULL, NULL), +('e50d088d-5edf-4ec2-b48d-1206b93920c9', 'crucible-zone', '18.0.0-0.ci+git1c0f2b3c24c', 'zone', '2026-01-28 21:07:59.47803+00', '96933e43a37aaae12923b3322aa2f45226580c6530ceabbb329fdf943c5cc14b', '56834123', '67', NULL, NULL), +('e51c8421-7861-49f8-81ac-087aae00ee85', 'host', '19.0.0-0.ci+git1d6977056c6', 'host_phase_2', '2026-02-25 21:15:36.434237+00', 'bee9834515ee311a6c47ec4861cf73e08bdc7ea90336929b5ab0ca2c52c88cf1', '1101008896', '103', NULL, NULL), +('e550d7b1-ebda-4e81-9fd7-40cfeee36808', 'oxide-rot-1-production-release', '1.0.36', 'psc_rot_image_b', '2025-10-10 16:09:24.46889+00', 'df29d4fb6fad57759a2548f4c035d3994dd933a5288db511151aae0a1005125a', '1574676', '6', '31942f8d53dc908c5cb338bdcecb204785fa87834e8b18f706fc972a42886c8b', 'oxide-rot-1'), +('e5707f94-020a-412c-8ee1-a94e7777ac93', 'crucible-pantry-zone', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604854+00', '0fffcdf739dc99302b18092fe2aa12adfd525974e53b7ad360f76aeb93b5c9d0', '45699095', '131', NULL, NULL), +('e57248b8-97ac-4e28-b224-3f8028923c4c', 'internal-dns', '18.0.0-0.ci+gitcfc181ba02d', 'zone', '2026-02-13 19:04:31.652467+00', '99997ebcbfd431eb1aa6212960afb866c1c87e60dc6dc3c8b04039f29f186976', '49945898', '91', NULL, NULL), +('e5a35467-975c-424b-ad72-964b8eb1d556', 'installinator_document', '20.1.0-0.ci+gitde1271a3c77', 'installinator_document', '2026-06-26 16:41:54.981042+00', '3fe64d402ae7af67cdcfed83a779b86998afa141ca4640e673b4b618b4ed36cc', '924', '161', NULL, NULL), +('e5a69909-74d7-493f-8a88-eff95753b1cf', 'host', '17.0.0-0.ci+gitcf97c145a6e', 'host_phase_2', '2025-10-30 05:14:08.663969+00', '85028be6762558c8c5ebd9feaf52033778b8ceabef916b87beddeabdb8f9938d', '1048580096', '31', NULL, NULL), +('e5adc2de-4dc5-4e09-a1f4-581b46db4299', 'probe', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995245+00', 'db19a972d0d5a6492807e0bebd7714a9ab0276acf91c260717255da4135b42d7', '3109590', '39', NULL, NULL), +('e62321fc-1894-4826-a6c4-788705e81ef8', 'host', '17.0.0-0.ci+git178c3c1ae84', 'cosmo_host_phase_1', '2025-10-08 19:59:10.483189+00', 'c8a992755f316245a705ccb45df3ddd4a0b3fbbb6a038f120a2776aa08faf0d0', '33554432', '2', NULL, NULL), +('e623eba3-9c1e-4366-a8c4-745fc70440ca', 'sidecar-c', '1.0.64', 'switch_sp', '2026-03-11 23:14:48.431958+00', '1c20d0785ce918ebac3d3d2bece934bb0c3c1db70b6d000fe5cbf75eec95fd6f', '6968798', '109', NULL, 'sidecar-c'), +('e6294556-7103-4b45-95a6-48a8c36f2cbc', 'clickhouse_server', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507163+00', '6bcd6b0c657b6019e28683d9e13fbd56c929dc9ca14e5356d27708f6822d2fc7', '326647683', '69', NULL, NULL), +('e696cce7-344c-4bb0-b1c4-90c9a4781d5b', 'crucible-zone', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441924+00', '164bda745a5de1d422645faad25be8e129e5f15a165e54520e665b89b9e2ef75', '58058508', '155', NULL, NULL), +('e69dd798-6d8a-446d-883b-c2be1ea9ff91', 'clickhouse_server', '18.0.0-0.ci+gitd211c40e1e5', 'zone', '2026-02-19 03:44:06.271936+00', 'ae989899557118c7bc96a3e37e35eebfed9b03e5c0d00cf8444eb5a1fd91e81b', '327328221', '97', NULL, NULL), +('e69fe81d-2b9f-45d8-bfbe-ff5bd5e24f51', 'cockroachdb', '20.1.0-0.ci+git1dc05d502fe', 'zone', '2026-06-19 01:29:50.250488+00', 'b15f90fcccbcceaa5683f0e157a16f3aac13a77e4f94a6e07de0bce79f5bec7c', '170132704', '157', NULL, NULL), +('e6acdd95-c6f3-4712-9089-1a57546c322c', 'clickhouse_server', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471611+00', '454098ce997bb812a3101820e81fb54c02dafb9671163083a6afbf582048ae38', '329581617', '159', NULL, NULL), +('e6b02019-b6a2-4a94-ba6a-46ee2b5bc14e', 'trampoline', '19.0.0-0.ci+git6409f6a4bd2', 'cosmo_trampoline_phase_1', '2026-03-12 18:43:41.837886+00', 'fdf86c72ba00bcd713f9a4681ceb57d9cbc5480ddee93321dd278924a4fa2937', '33554432', '111', NULL, NULL), +('e6b5e845-7f5a-4f2f-a28a-8c6ae857519f', 'trampoline', '18.0.0-0.ci+git56926cd1982', 'trampoline_phase_2', '2026-02-12 20:54:58.190076+00', '4368038f95ddc5f62b3e5bedfa815402401048c7dda78f4aa5d2384ed8e949d2', '144245801', '89', NULL, NULL), +('e6bdcccb-d133-4cf8-aa7a-04a292f4d343', 'clickhouse', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507164+00', 'f0f76c494173f8aa81e3212a011f504a8ad0aa870427c14eb51208a1df09798a', '326648583', '69', NULL, NULL), +('e70335be-d432-44f8-9edb-d7b550d95c40', 'cockroachdb', '17.0.0-0.ci+git7bc5275729c', 'zone', '2025-10-24 17:56:14.140752+00', 'c6791c822747a2c2b8a84413c4d356648391b1bd053d072015dfbc11434f5b0f', '172226240', '23', NULL, NULL), +('e7053c18-6f8d-4c85-b01a-b2301155a226', 'trampoline', '17.0.0-0.ci+git529ba64ee28', 'gimlet_trampoline_phase_1', '2025-10-10 21:18:53.484032+00', '827f762dd2aac01dcee6b92509f6a85da86fe0bf6c1b7c27f5e50a30476ad3e2', '33554432', '7', NULL, NULL), +('e7057c21-808a-41a1-9f66-9d1ec54a6109', 'ntp', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471615+00', 'd60fd5ff2f372a6f65882bd354ecf2503cb9951150279d0ce00d252fdf35d2cb', '33588571', '159', NULL, NULL), +('e7427679-cd50-452e-804b-1a2a4c4850c4', 'oximeter', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638802+00', '35adf3e5c1a9e197b4d77485c0c141e9419a212e30473e35c4cb814e479ccd48', '65627783', '13', NULL, NULL), +('e77a8847-5d94-47be-a4ee-1cc676a5f5c4', 'host', '20.1.0-0.ci+gitde1271a3c77', 'cosmo_host_phase_1', '2026-06-26 16:41:54.981005+00', '8c1447db04229b2bd49c8fe1271773b10382d414b78d56f5b4c625c19041d8d7', '33554432', '161', NULL, NULL), +('e78ee996-5cc2-4232-b387-cfd0916292b2', 'clickhouse', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899353+00', '4d4f792b5014af3683fabcc3334571d8b091b0340bd1aea0b4639af47b9bdab5', '325930916', '27', NULL, NULL), +('e7b5107c-abc5-43fd-b3e3-8b4ee556c250', 'host', '17.0.0-0.ci+git529ba64ee28', 'host_phase_2', '2025-10-10 21:18:53.48403+00', 'c2768bb22f491f1e8ec216a8eb9029d7f2da453e883f5cbbedb9c35e29960ed1', '1048580096', '7', NULL, NULL), +('e7cd0f8a-afe7-4c03-83c1-42b0add6511e', 'oxide-rot-1-production-release', '1.0.36', 'gimlet_rot_image_b', '2025-10-10 16:09:24.468872+00', '159f7c0d9d3a8eabafc23e20a7a620adc1772b462dde91ec7fb640b646641a56', '1574640', '6', '5796ee3433f840519c3bcde73e19ee82ccb6af3857eddaabb928b8d9726d93c0', 'oxide-rot-1'), +('e800ea99-7b39-41fd-97cf-338dfd265fec', 'crucible-zone', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941525+00', '0afbbef67bdb84ec5c3cfdc6408db0f5a1fc2b8c7e084894098aa614aafc9b75', '58058506', '153', NULL, NULL), +('e84fa5a6-bb64-435d-b3ef-234daccd4a79', 'trampoline', '20.0.0-0.ci+git13937a135d7', 'cosmo_trampoline_phase_1', '2026-06-09 22:54:35.291183+00', '6292f128aca30a414f4770e076556451f2fa854ca6ed4765e7e081b68ddb89ae', '33554432', '149', NULL, NULL), +('e8555bf2-cf4e-4503-b947-51abf8b2780d', 'clickhouse', '17.0.0-0.ci+git2a1d8548932', 'zone', '2025-10-22 17:38:18.24379+00', '39134c83b9b89005f5ddf4e9f6d8a9ebc326f2094d2cd2976ed2eab03ef33f0e', '325877501', '17', NULL, NULL), +('e8b17c49-d747-4490-ba5b-7c693b03c77d', 'trampoline', '18.0.0-0.ci+gitd211c40e1e5', 'gimlet_trampoline_phase_1', '2026-02-19 03:44:06.271933+00', '888b21db9b1aaf575a4b78752fef7ad0800007e89fa8fdcde0698a551c9136b4', '33554432', '97', NULL, NULL), +('e8c24094-7c03-41e7-be3d-c89cf87cc192', 'clickhouse', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471158+00', '6f0e19445ba23ffe8437d4ce008ce8648aedc0430e00ab4ef7016271c752e4ad', '327168936', '87', NULL, NULL), +('e8c694f4-b027-4334-a704-28dafe31ded2', 'cosmo-a', '1.0.57', 'gimlet_sp', '2026-01-22 00:31:09.684289+00', '7fa28065d3a1b83dc6509d3e158f49db499b5b3068a60e6736b5640512a881e7', '6533443', '63', NULL, 'cosmo-a'), +('e8ea6d68-097d-4069-81c1-f5d8c9141478', 'sidecar-c', '1.0.49', 'switch_sp', '2025-10-31 23:54:18.712734+00', '5a76d8ad82b79e261d64a5fcbe21fb6de499f07ac7a2ede9bcebe6eae90ec5c8', '6851446', '33', NULL, 'sidecar-c'), +('e8ef5ee2-baa4-4650-a12c-b0982b025643', 'trampoline', '18.1.0-0.ci+git550f05cd523', 'trampoline_phase_2', '2026-02-19 21:32:58.918396+00', '5ec8dbfde1f7acb10f2a76a61422846b0a40ca0a28fca6464d74a84bbfc496dc', '146222835', '99', NULL, NULL), +('e91ba459-d557-4a9c-bf7d-995e61d1b356', 'host', '18.0.0-0.ci+git92e0ae0c98d', 'gimlet_host_phase_1', '2026-01-27 04:57:02.494823+00', '2a597d7a246b318a9046c19e96da2e2f27d7e5854ff321ded996fe93cff3cef1', '33554432', '65', NULL, NULL), +('e95504dc-11be-4293-8f29-c1a411ae8f6a', 'clickhouse_keeper', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684116+00', '89067983377b60bbcf2f87a65995fa9a17578bfc1620b4cb95bebb381618649a', '309744030', '83', NULL, NULL), +('e99014f6-b5fd-42fe-a207-5414f14c0fc8', 'crucible-pantry-zone', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.06217+00', '39257060ce0034a3871166d5b7187a14eac7946bb82bfb03c1e34e4ef503db48', '45698853', '123', NULL, NULL), +('e9c20016-cacd-47da-9e35-efe294a2c9f1', 'external-dns', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604855+00', 'd1058d2dab4035f7417a33320fcebbe7c4f947c5967e33d8e0792e6554f0128b', '53095691', '131', NULL, NULL), +('e9c4ab78-62ce-4da1-a92d-06913a7c2b0d', 'crucible-zone', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757195+00', 'd00b7f0dfffa0d01afda6679d583a7f4492b615b8e08202e751541cd30f2164b', '56175872', '11', NULL, NULL), +('e9e2c382-5951-410a-9753-40af99ecc3ef', 'oxide-rot-1-production-release', '1.0.36', 'psc_rot_image_a', '2025-10-10 16:09:24.46889+00', 'd49cdd6364997f53afcbca178db08398a2b6abe953945eaf01e87996b5bff660', '1573892', '6', '31942f8d53dc908c5cb338bdcecb204785fa87834e8b18f706fc972a42886c8b', 'oxide-rot-1'), +('e9f44964-244f-4a46-b81e-faf3becbe4de', 'cockroachdb', '19.1.0-0.ci+git073b1306678', 'zone', '2026-04-11 03:24:26.751858+00', 'ea342c4631810a5add50fa95d3cb39dd7ede1685b6eb036fc1a4dfa79c92eb2d', '169648074', '127', NULL, NULL), +('e9fbef7c-99e8-404c-8035-a855d605d0c9', 'trampoline', '18.0.0-0.ci+git687f721a7c9', 'trampoline_phase_2', '2026-02-09 21:51:46.53955+00', '1ca9979f73de5a7efb362b3e703e976176b0fc7ad02eed2296fb0b90f68eed74', '144226578', '79', NULL, NULL), +('ea0d226a-1b4c-4592-8de2-963ed9738135', 'trampoline', '18.0.0-0.ci+git56926cd1982', 'gimlet_trampoline_phase_1', '2026-02-12 20:54:58.190076+00', 'c0f495c7719a915f0f9ff490af5b7d460168df3c497da464bca75313a1020c9e', '33554432', '89', NULL, NULL), +('ea15afde-b341-4a8f-b5ce-0a4585182105', 'crucible-pantry-zone', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899354+00', '387b39871a96399c836469ff2aff6810f57ce013cc5e9210a50c10952a793f60', '44729436', '27', NULL, NULL), +('ea1609c2-663d-4e02-adaf-d62153895ec9', 'sidecar-b', '1.71.1', 'switch_sp', '2026-06-18 21:11:25.44194+00', 'cb665465b7bc6bf9755cd163d268368c6af6036937b1c12f59bf67248be6ba4a', '7058335', '155', NULL, 'sidecar-b'), +('ea21df93-dbf4-4809-8ce5-b8e025b5b4fb', 'host', '18.0.0-0.ci+git8ae817f7284', 'host_phase_2', '2026-01-08 19:36:53.913089+00', '7d42dee8fea977ce1d6a4e5459cb59aa78a6d01bd304ee1f3e0925d316130ceb', '1101008896', '57', NULL, NULL), +('ea327d40-bb28-46b1-8618-c7dd4d74ef4c', 'trampoline', '18.0.0-0.ci+gita728a7f63fa', 'trampoline_phase_2', '2026-02-11 03:50:43.963934+00', '78449b4722d2cbbaa1f7506052b14d26b021a363e73260de0b0b43b8b86e2d9c', '144367000', '85', NULL, NULL), +('ea375408-fd1c-4b08-b9b9-e3f752ceb9db', 'cosmo-b', '1.0.67', 'gimlet_sp', '2026-03-30 16:50:10.815673+00', '39114a9d24f509bedd076bbb3f5296f9986ac359b3df902f05e2a3f05e5f9733', '6682169', '115', NULL, 'cosmo-b'), +('ea53d652-4067-4096-8b03-bfb4101c87c0', 'crucible-zone', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120343+00', '3bf827fe22d4a6775609564e64210c33c1e734bd0dbdd7699daf5d0426ce6f47', '57038198', '95', NULL, NULL), +('ea5ebeca-ead7-4468-ae8c-600783a32ed2', 'host', '18.0.0-0.ci+git5292c0d21f9', 'gimlet_host_phase_1', '2026-02-03 03:55:01.998662+00', '5219090eed8f3b4d0fec24cd06b0f4140c73d27624c147a850d563edbc6d99f8', '33554432', '71', NULL, NULL), +('ea7ee272-828b-430f-b0fb-6d076d282e1c', 'internal-dns', '18.0.0-0.ci+git56926cd1982', 'zone', '2026-02-12 20:54:58.190079+00', 'd8e08d2510c4b501a5a600752f7640e6b836a6f1eea72da6241102ad0dff768d', '49945898', '89', NULL, NULL), +('eab2b1b9-50da-46b1-a128-2c5872ac0bb8', 'sidecar-d', '1.76.0', 'switch_sp', '2026-07-07 06:50:20.366512+00', '760fcf2b80591d1c8073d7fdc25872c2e0c8afe850edd4b999b0291dd75d9afa', '6993057', '167', NULL, 'sidecar-d'), +('eac16902-78d1-4816-b104-03ffaa6f1dff', 'oxide-rot-1-staging-devel-sidecar', '1.0.38', 'switch_rot_image_a', '2025-10-08 19:59:10.483217+00', '6b3bf44848484d3797819e802b69de68ca67d78abc1cf349ecd0889b0f34c026', '1575270', '2', '1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27', 'oxide-rot-1'), +('eb47af98-9652-44cc-b1c7-4f8775827480', 'oximeter', '18.0.0-0.ci+git687f721a7c9', 'zone', '2026-02-09 21:51:46.539554+00', 'e993a4bb4a813da7be53cad3666d87b706b10cc2a226ec76fa634db49d4a2adf', '65567989', '79', NULL, NULL), +('eb4e992d-e63e-486c-9964-c2b4e86177af', 'gimlet-f', '1.0.71', 'gimlet_sp', '2026-05-27 02:26:01.196593+00', 'f4a43d52b23f0ea6a872f455cd819152ba5bee9badab4f48852a344863de349d', '5555706', '141', NULL, 'gimlet-f'), +('eb51c5ca-6134-4f4f-9ec5-5418b68b543c', 'gimlet-d', '1.73.0', 'gimlet_sp', '2026-06-30 16:46:25.762644+00', '00bde51f492ebc67b33084e7597da8c6c857459a01cea12b6c706ab8390223dd', '5474210', '163', NULL, 'gimlet-d'), +('eb51f149-2732-4b85-b422-f4506bba9fac', 'trampoline', '17.0.0-0.ci+git7bc5275729c', 'gimlet_trampoline_phase_1', '2025-10-24 17:56:14.140749+00', 'eb776297d0a2df1d98924afb1f020d2bb847e04c129cfa668ef92e9c8a3143eb', '33554432', '23', NULL, NULL), +('eb75e73a-1aa6-4b77-8b7c-cc2c7818f803', 'external-dns', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471159+00', '12f9575dc76da594ff28241e84cc85a8f682dbb58e0a08f90bc6cc40f8f04294', '49940753', '87', NULL, NULL), +('ebedc6a5-0c67-42ed-b960-f34d7c2ba2d2', 'internal-dns', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272998+00', '045ae984aea62e666a1f1a9aadff70ef6bbd284ce0c758f4f9208e05a7fa81cb', '50020976', '101', NULL, NULL), +('ec3b0cce-e8f2-4c60-9896-72a7acb675ef', 'host', '19.0.0-0.ci+git10b9f2fb872', 'cosmo_host_phase_1', '2026-03-17 20:02:46.884105+00', '95fbcbd912fac95b496000275114367fda367055d5f494503b7e735b8c75c883', '33554432', '113', NULL, NULL), +('ec6a0ec5-6716-4552-8c6a-79237a9f2dff', 'probe', '19.4.0-0.ci+gitbae719a3bdb', 'zone', '2026-05-13 14:19:55.594072+00', 'b52c946ba01549f34a5971aec8e44d4ae4c60a9634591e331f31e3888136c963', '3109590', '137', NULL, NULL), +('ec9a66f3-b5be-4ffa-8a26-2748213d47c1', 'host', '20.1.0-0.ci+gitde1271a3c77', 'host_phase_2', '2026-06-26 16:41:54.981006+00', '0631e567fd855dfdf4c3eef22b0db59e4bc5798c5de3dedc6d8889f3d482c8bd', '1101008896', '161', NULL, NULL), +('ecf2be8a-bd7b-439e-9393-c980d440270b', 'host', '19.0.0-0.ci+gitd41bfa5af31', 'host_phase_2', '2026-04-03 04:47:46.332944+00', '2fbd37849bf4329bad459ea63e6cbfe9ad21609ca448f53e27d777fe6e5be3a6', '1101008896', '119', NULL, NULL), +('ed769f54-b62f-46d8-a6a6-ec0d8bf82c9c', 'nexus', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329509+00', '421c553d80a20ed36f463bdddcb9b70daaea116c84542c6c40740dbca7a06828', '218645799', '73', NULL, NULL), +('ed9bcf9a-5136-4144-897c-7676385521a8', 'trampoline', '18.0.0-0.ci+git3b3f937d05f', 'trampoline_phase_2', '2026-01-01 00:51:32.078609+00', 'f30800e84e30b537dd74fc0b5a516ff59f997d691fcf4572c1ca84adedfa0147', '151935061', '55', NULL, NULL), +('ed9d1864-c1fe-44e7-839c-447015e505a8', 'sidecar-b', '1.0.62', 'switch_sp', '2026-02-23 20:10:41.273011+00', '3f7ddcfa1b0feda05904bb501dfac286190496afff4aa207258e275efcbf338e', '6945803', '101', NULL, 'sidecar-b'), +('edaf75b3-04f0-4df0-b1dc-38b3c810594b', 'sidecar-d', '1.0.54', 'switch_sp', '2025-12-12 20:45:24.181293+00', '77dc18f1f039a0422693434e0c3b64c4f2ffa84589bc356c058cb377be0f4bb1', '6855182', '49', NULL, 'sidecar-d'), +('eddcf076-fffe-4fae-a26e-ea919c1e10f5', 'cockroachdb', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471158+00', 'da45bbd6e4de581060bba97440924dcc37f45576d52996cd717efae86864a281', '169059839', '87', NULL, NULL), +('edf6e996-1dff-4c65-8093-da1941fb0702', 'gimlet-f', '1.0.54', 'gimlet_sp', '2025-12-12 20:45:24.181253+00', 'ebbb989833ad4cccecfb5345978c2d32e9fbc3fbfa84f0474f8f81fbdde244f2', '5396828', '49', NULL, 'gimlet-f'), +('ee4e8c4a-d1bd-44c0-8aaa-813033b4317c', 'external-dns', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757196+00', 'fefc33985a1cbd0a281317e1ccfad0ae34fad0413550f8cd168cbbd1b5a730d3', '52091397', '11', NULL, NULL), +('ee5a4439-9837-40bc-8fc5-9539c6175255', 'ntp', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415161+00', '22a57db5244d1011bbbc4c24a7eec9e456eacd1a8853a895cee56c85995d0e5a', '34047318', '25', NULL, NULL), +('ee6c8237-d683-4880-889f-94e89dee8876', 'cockroachdb', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471612+00', '0b82c2c1a5d81571dd6f236ee5ef2ad2c3015d7af6df920b755c7acc04046642', '170132704', '159', NULL, NULL), +('eea1aa89-16c8-4f89-ac23-fadd2311b4e9', 'oxide-rot-1-selfsigned-staging-devel-cosmo', '1.0.38', 'gimlet_rot_image_b', '2025-10-08 19:59:10.483181+00', '81a6a63cfd2868a872f6b1d35f67f9985f36c80b48a97a285dae0d0b0903c0ef', '1639866', '2', '855a51518d13dd696a8102a5b2436bb2e8c39a6c0102909fce0a32adc6b76fb4', 'oxide-rot-1-selfsigned'), +('eead5644-993d-49b5-8242-f11a5e9566ea', 'clickhouse_server', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744433+00', 'efa33549fce0b9f78112ea695d94d16a7e028570847e34350291c2bd447c3d54', '323544570', '37', NULL, NULL), +('eecc4351-5bcd-4124-bed1-0abcd2ae5cd9', 'cockroachdb', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078611+00', '1b61dc1e6e8d24dc50334d2343012a53c3e5c8a23aa6ce47c1aa507b7b502a88', '171886104', '55', NULL, NULL), +('ef2a5299-2d49-4b0d-ace4-7a9c846ebde4', 'crucible-zone', '17.0.0-0.ci+gitc5c0834b174', 'zone', '2025-10-30 00:44:34.710742+00', 'b14603cd1119451a936e33ff49b4a2c1d4f02f3110ee37770bc79899974cc5f1', '59159890', '29', NULL, NULL), +('ef7474b9-3135-49ce-82c3-a1cef2ab25bb', 'clickhouse_keeper', '17.0.0-0.ci+git6510e87da6a', 'zone', '2025-10-27 20:48:21.415157+00', 'd502f08d05703f62977a1727bcf575da3d12dbe792553d9905bc2f23d3c706c9', '309310957', '25', NULL, NULL), +('ef8e34f2-bcb4-4ba1-b9c5-68da5f6af2e4', 'oximeter', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272999+00', '2ef0a1b6d7e924cc7549b760736f8a974c3c75596f89090af0da4fa9e34270e0', '66085045', '101', NULL, NULL), +('efee3724-df51-4518-a876-00ddcbe21783', 'host', '18.0.0-0.ci+gitd211c40e1e5', 'cosmo_host_phase_1', '2026-02-19 03:44:06.27193+00', 'db1d871c801e344301c1e67850c6897f81303dce5023286b5f679cd443f2fc42', '33554432', '97', NULL, NULL), +('eff93111-e0c1-4d4e-a9be-2bf7fab01491', 'sidecar-d', '1.0.71', 'switch_sp', '2026-05-27 02:26:01.196617+00', '078e032486f879e0cce87f351f4b00b50b22ddbf765b15424b862c5d11a4a131', '7074316', '141', NULL, 'sidecar-d'), +('f0347292-3f9e-4dc8-ac49-1b4200edd8aa', 'oxide-rot-1-staging-devel-cosmo', '1.0.38', 'gimlet_rot_image_a', '2025-10-08 19:59:10.483174+00', '657ddafd315d3cb9f0521eaec43752b2d3a92d33fe98767eacd3c27c5b790ad7', '1575253', '2', '855a51518d13dd696a8102a5b2436bb2e8c39a6c0102909fce0a32adc6b76fb4', 'oxide-rot-1'), +('f042e2ac-673f-4b8b-8270-55274b21b8b0', 'probe', '19.0.0-0.ci+git6409f6a4bd2', 'zone', '2026-03-12 18:43:41.837896+00', '99e68c1326abcf6a68c79ce5887395bee00c1af7f682e397296742e641dc57be', '3109590', '111', NULL, NULL), +('f08df432-f202-4cf3-a3ff-63793bf14ada', 'clickhouse_keeper', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.44192+00', '315f5cb2757363fe66e8e1b4042947237d5a1dafdcf19b1b4dcf22279b20185a', '314295713', '155', NULL, NULL), +('f097bbc6-544f-4a51-b564-419cba32c952', 'crucible-pantry-zone', '17.0.0-0.ci+git27a65080e1b', 'zone', '2025-10-19 00:31:17.638799+00', '7c97ecffc14a8e45c2e8140b3bfac191cac47d9c15b26f9773c290113b3d6c4e', '44680343', '13', NULL, NULL), +('f13ea1c9-5af8-4eb7-94ad-d8eac405ed2d', 'host', '18.0.0-0.ci+git3b3f937d05f', 'gimlet_host_phase_1', '2026-01-01 00:51:32.078606+00', '6223ac8140d261c8234ae002549ab4912ba7937942ff3d884f3ccaf09d2c25bd', '33554432', '55', NULL, NULL), +('f1455f13-ef3a-480a-a0c5-166c441be5b4', 'ntp', '18.0.0-0.ci+git8ae817f7284', 'zone', '2026-01-08 19:36:53.913099+00', 'b5d83e2c8ba970093a38eccde17e80239014f9bd5c088fea0af38ae774410da8', '35691686', '57', NULL, NULL), +('f145ae2f-20d7-4ecc-b3f4-10dc927df3fa', 'installinator_document', '17.0.0-0.ci+git063828b53e7', 'installinator_document', '2025-10-09 16:06:27.599319+00', 'a357e1c6f36c18d3bc01ea2c73eda95313bcda2fe5870ff1816bac481b4c4441', '383', '4', NULL, NULL), +('f16debba-2ec4-4c06-b421-e31ae4581fd4', 'clickhouse_keeper', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757193+00', '457dbdb541a653febab8815482b94bc78a4bf4f9505eb84bdbffb157c74cf747', '311077507', '11', NULL, NULL), +('f1a96780-2d03-450d-8254-c4a3ce2efc02', 'cockroachdb', '18.0.0-0.ci+git52e04b3b26e', 'zone', '2026-02-03 11:37:20.329507+00', '34d20c4a1104c7e2e780fec7019e854b7f314c4914a1f7f22ea39e831951a003', '172118755', '73', NULL, NULL), +('f1b681ab-1fad-4d74-b034-dabdac9a8a65', 'oximeter', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494833+00', '546483333c13d45e7cba28a91097b763b0c0514756e7f390e52e5d1156875cd1', '64841219', '65', NULL, NULL), +('f1d6c83c-2140-4e18-b11b-0fd8f1af4a63', 'trampoline', '18.0.0-0.ci+git4a456c99797', 'trampoline_phase_2', '2026-02-14 05:49:55.051218+00', '51994caee51b57944ea2b2cecb2f0ac5562547c804d1422808ec5d13b9fe50b5', '146142708', '93', NULL, NULL), +('f26cff18-4fc7-4406-9b02-92f180efc7ab', 'nexus', '20.0.0-0.ci+git2e319eb3b9b', 'zone', '2026-05-28 01:22:57.659119+00', 'ea23746ac7cfdb0ea0fbbf802207df5502d65d44dc4b5df37edbcc1dcab9d08c', '284887751', '143', NULL, NULL), +('f273d1d6-569b-4883-981a-833995636ad8', 'clickhouse_keeper', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356075+00', '21b32aeda2f5a63ff9166ecd013a47807178d5e531dc62e68b62fe9002c95c01', '315466375', '135', NULL, NULL), +('f29a9767-751b-4e52-b798-b0fb1b720ed2', 'external-dns', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918399+00', 'fadb54cd48a014b71f5f46c24eae92b2d982f202699ee79526c4c7157719ced9', '50015486', '99', NULL, NULL), +('f2b675ef-6411-4380-80c6-2edf07994502', 'switch_rot_bootloader-production-release-sidecar', '1.4.1', 'switch_rot_bootloader', '2025-10-09 16:06:27.599318+00', '502bd964c35c7f372a27b6a24e066fa1f987dbad4a791c65f5adc0a1ef3cde6a', '46426', '4', '5c69a42ee1f1e6cd5f356d14f81d46f8dbee783bb28777334226c689f169c0eb', 'oxide-rot-1'), +('f2c51f6d-aa63-447c-9759-bde21132908a', 'crucible-zone', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.272997+00', '9fc91b6c8ab7a5359b01cfb107414d68c07cc4c50e4334f229caea35c687f40e', '57039543', '101', NULL, NULL), +('f30f2ec6-ff2b-4b0b-87a0-8daac8b90a3e', 'cockroachdb', '17.0.0-0.ci+git81d822614e1', 'zone', '2025-11-04 22:17:21.744434+00', 'ca588405fa64c13db4478e3ddf17279ddb05110b358fdef89c3917c86db6dd83', '169652232', '37', NULL, NULL), +('f3264884-ded1-4949-bd7a-020a9d0540b7', 'installinator_document', '19.1.0-0.ci+gitbc696216ef5', 'installinator_document', '2026-04-13 23:23:31.608585+00', '56404b44db7e51a8135884ec2ba35738087d39fa83c2f3ddc07c1f492c19ee45', '924', '129', NULL, NULL), +('f35ee426-e39b-4ae0-99c3-0fb9cca44013', 'trampoline', '17.0.0-0.ci+git6510e87da6a', 'gimlet_trampoline_phase_1', '2025-10-27 20:48:21.415155+00', 'ce0e937495531d93f7fdc25cfe936f87fa63b2dbe4e2491c54d70a01cdeefd63', '33554432', '25', NULL, NULL), +('f3a4bb20-73de-498e-9b72-0b5007bc2b3d', 'trampoline', '18.0.0-0.ci+git0ee7d730282', 'cosmo_trampoline_phase_1', '2026-02-11 17:36:00.471156+00', '76ec3929291f24511f8b17490ca8916d6eb8601acbc2639b4f277e88357db052', '33554432', '87', NULL, NULL), +('f3ddf8ab-8d60-4ae4-8aa6-1c12f5214dc5', 'external-dns', '18.1.0-0.ci+git1003e128ad7', 'zone', '2026-02-19 02:24:10.120344+00', '453b0e86a2f54176d2b4d99a71aaf608382d3a406849acd5e6b3442f1abe96e3', '50015486', '95', NULL, NULL), +('f3e763c9-2d17-432c-80cd-400f2c13e741', 'host', '17.0.0-0.ci+git76ec1fa523c', 'cosmo_host_phase_1', '2025-10-09 16:20:40.719337+00', '5231c22a812a057dcf3021ade30d14baa69afeafe44c00e94b16607700d4446c', '33554432', '5', NULL, NULL), +('f406e11e-52ad-49c6-b3a7-39c3d5b90ba1', 'sidecar-d', '1.0.53', 'switch_sp', '2025-12-08 23:28:06.260769+00', '56ce42801b110eb39c519953454f72af5a2b09ac8cdf665112f736d3c0996caa', '6853913', '47', NULL, 'sidecar-d'), +('f41d3c87-a688-425c-93b3-0362b9e6470b', 'gimlet-e', '1.0.64', 'gimlet_sp', '2026-03-11 23:14:48.431919+00', '7f5fa010d518c1f06a416b2a0d2ad9085c2b72322a2de4937b1fd488ed11cb96', '5496312', '109', NULL, 'gimlet-e'), +('f4706716-8811-49f4-a8fc-8e06834d50cd', 'host', '17.0.0-0.ci+git56225535f8e', 'cosmo_host_phase_1', '2025-10-29 18:02:18.899349+00', '3a223efb008b16f41fee1abc6c88634cd468a57236ee5c82e5e01d46d2c1965e', '33554432', '27', NULL, NULL), +('f475ada6-0c94-4caa-83ac-8c5eb1daf1f6', 'crucible-pantry-zone', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.507508+00', '4988378de4fa5786069cafe1f6d52a04a324df9b93ca0a77a12dfb2af4428941', '40360055', '9', NULL, NULL), +('f477142e-77e7-407b-81a0-8b117e6b89eb', 'clickhouse_keeper', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484035+00', '10ffce4c3cfee5efd923814f60a168bcf97648822cc35c68d7650a5b75ec2d16', '307137360', '7', NULL, NULL), +('f47c36d2-5359-4300-89ba-895d6aba187e', 'gimlet-f', '1.73.0', 'gimlet_sp', '2026-06-30 16:46:25.762645+00', 'cbbeaeae084e89d7742bf50dd6b72033ea26a02b1802eeaac521ba7a5746b4de', '5474229', '163', NULL, 'gimlet-f'), +('f48f089d-5dc4-4dac-bb84-11e33c3790bd', 'nexus', '17.0.0-0.ci+gitd17fb154c39', 'zone', '2025-10-17 15:59:09.50751+00', '4909d35e7610040fcbe7ab53bff17199b67bf0756f43a3dfdb6250fdf7d33343', '191857101', '9', NULL, NULL), +('f49b5dad-951e-4d57-a3a3-26f4136527dc', 'clickhouse_server', '19.0.0-0.ci+git1d6977056c6', 'zone', '2026-02-25 21:15:36.434242+00', '387202975d9ec8b9bd534b22531d9d6b1dc735380e8d3df5ed222db039f9053a', '327139683', '103', NULL, NULL), +('f4a8bf4d-bbd5-4121-9fa4-18bb6c621997', 'oxide-rot-1-production-release', '1.0.36', 'switch_rot_image_a', '2025-10-10 16:09:24.468899+00', 'be0d0238650d3ef9860ff67dd0743ec994d3dd19346c60dd3a4dd4f7b376f9e1', '1573955', '6', '5c69a42ee1f1e6cd5f356d14f81d46f8dbee783bb28777334226c689f169c0eb', 'oxide-rot-1'), +('f4b05e44-ef16-4108-beb5-3ee30431efd6', 'trampoline', '19.0.0-0.ci+gitd3ef1db023b', 'cosmo_trampoline_phase_1', '2026-02-23 20:10:41.272993+00', '51ede470de11e0c507e5c3a70ad4c834f7665070e58c01ce5ed06e1c42da69ed', '33554432', '101', NULL, NULL), +('f4cf8ff8-d836-420b-9049-ce1ac04dd581', 'oximeter', '19.0.0-0.ci+git10b9f2fb872', 'zone', '2026-03-17 20:02:46.884116+00', '6d3f78b20b4ca1187154489ec54938e8dec0e6f0877157ea6daa584281ee7597', '58805409', '113', NULL, NULL), +('f4d4a414-1279-4615-9fd4-3ff6cb3e50a3', 'trampoline', '18.0.0-0.ci+git17cf00dbf0a', 'cosmo_trampoline_phase_1', '2026-01-31 18:37:09.507161+00', 'a1323260968b998a8857ad1b4e0626c178eb74ce45fc043aa605511258f6bfa6', '33554432', '69', NULL, NULL), +('f4d68010-3b8b-407e-8d17-92bc457d0199', 'crucible-pantry-zone', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507165+00', '1d45827439cc9cc5649161c26c589d490f7fec2adc6ee3acd5758e5531ff365c', '42362571', '69', NULL, NULL), +('f4dffd1a-9694-4db8-81bf-4db3abfe234f', 'host', '17.0.0-0.ci+gitf83a43dbb42', 'gimlet_host_phase_1', '2025-11-05 22:59:56.995231+00', '65d649aaab5e1bd259b560265692cc7693702c4913e1dfcd74a923a38380dc69', '33554432', '39', NULL, NULL), +('f503a070-9f52-40a3-b543-22d6e27e325d', 'trampoline', '20.0.0-0.ci+git8ca64d81e70', 'trampoline_phase_2', '2026-05-15 17:47:41.247854+00', '9c8f82f6f52f7f53e16ccbe0f03ff56cdc3eef601622b80974be8758ed2eef2f', '166084518', '139', NULL, NULL), +('f508d7e5-f088-405d-b63c-1aaff78adf16', 'trampoline', '19.0.0-0.ci+git09c8c584ee4', 'trampoline_phase_2', '2026-03-31 22:41:05.038681+00', '54e96486ca7f5ab25b2a34345975080b191e4225b919759deb278fb8db595706', '146391835', '117', NULL, NULL), +('f50f6442-23c5-4553-afd6-289679741d93', 'nexus', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757197+00', '16c215f7e1a17c37d6d6d01024fda1c730cdd0c5fd5c5984fd1a2aa3e4fb8dea', '191821694', '11', NULL, NULL), +('f51c0826-2639-4050-b05b-eeb2c4bad8d1', 'sidecar-c', '1.0.71', 'switch_sp', '2026-05-27 02:26:01.196616+00', '9ec5d45ebcaa08f2f2be9164f94cd6daee6a958eca56be56c628d50441c45c28', '7074452', '141', NULL, 'sidecar-c'), +('f52f4eba-1c46-419a-af39-48fafc8152f4', 'trampoline', '17.0.0-0.ci+gitf83a43dbb42', 'trampoline_phase_2', '2025-11-05 22:59:56.995235+00', '0a41c2a2de4d9174da5aec1fa08023f3717a90afa536e68969e15ea867a8161c', '152233404', '39', NULL, NULL), +('f5313a6c-9865-4bf9-8913-9d08019cd323', 'host', '20.0.0-0.ci+git863b79d5cd0', 'gimlet_host_phase_1', '2026-06-11 05:31:34.941519+00', 'd3b8d3336352e65dbdfbdff94ac491a1074111939f2b71c344b4bfc31a13437b', '33554432', '153', NULL, NULL), +('f56caac6-f476-4ebc-adb8-a308648127f1', 'probe', '19.0.0-0.ci+gitd3ef1db023b', 'zone', '2026-02-23 20:10:41.273+00', 'fd737e0c04a5614d05cc1cd19e1e6f82f2c99d0fbea4ff8b8c43f5495d5616cb', '3109590', '101', NULL, NULL), +('f5b3d0a1-7ff6-446a-ad55-965baacc70f2', 'cockroachdb', '17.0.0-0.ci+gita3bf7ea02ce', 'zone', '2025-10-18 03:21:57.757194+00', 'ff3e4cce2d4b502c8b4b8ceb26852656307d0c37825c6df917498500e34825f0', '172241915', '11', NULL, NULL), +('f5f2c1da-d217-42ad-8667-5cb57576fccc', 'installinator_document', '19.4.0-0.ci+gitbae719a3bdb', 'installinator_document', '2026-05-13 14:19:55.594093+00', 'eecc0c6a3f2b8266c84de413c8703950ca145a38b74cb378530b75879f0e0e92', '924', '137', NULL, NULL), +('f5f6f946-9d32-4173-8a22-4ccd82d086b5', 'nexus', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441926+00', '99e0aabecfd852f9dd228a6d8f8a463e6aa605e49f5c3a399724399024fc8cb4', '286203994', '155', NULL, NULL), +('f61992da-b9f5-47f0-a0c0-a06f7b7e369c', 'gimlet-c', '1.0.52', 'gimlet_sp', '2025-12-02 01:51:35.116873+00', 'ae4a06a0dbac6c470278c23cdc5d0f1da409abcf526232d261bbfbaf0742bb37', '5395168', '45', NULL, 'gimlet-c'), +('f61f0c0d-8117-47f4-af41-085fc58e6795', 'crucible-zone', '17.0.0-0.ci+git01bb8750d9c', 'zone', '2025-11-11 05:12:39.576565+00', '8727aaf6eb29c0e5dcc0dc434730fc9365829c56509e38f1368e8f59d6fa7a65', '59226484', '43', NULL, NULL), +('f61f69e1-be39-4ab8-9062-f4b88654d18e', 'trampoline', '17.0.0-0.ci+git81d822614e1', 'trampoline_phase_2', '2025-11-04 22:17:21.744432+00', '41df5cb1f776abc0d041776f2a17557f7dbbbbbcc1cac49ad3ad118b5ecadcc4', '152306157', '37', NULL, NULL), +('f6226395-4ad1-4de9-9526-5459c3a5d4df', 'host', '20.0.0-0.ci+gitc5c595dba5d', 'cosmo_host_phase_1', '2026-06-03 19:03:58.040696+00', 'ac54ffcfcdf41f4a1228e3e3d4537442845b174dc0daffaf7bbce9bf3b075ca9', '33554432', '145', NULL, NULL), +('f6229abd-e0f6-4110-866f-5a358dda09b6', 'host', '17.0.0-0.ci+gitd17fb154c39', 'host_phase_2', '2025-10-17 15:59:09.507502+00', '5a460a10a756327623d10880c03b3aacacabcf38356a825c5682d33d88efd7a8', '1048580096', '9', NULL, NULL), +('f63b57cd-8344-44c0-8f55-b75525a83d85', 'nexus', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356079+00', '4e6115d28466b902b681cadeb8ac212fc8069e00389652376a735b74a354533e', '223261823', '135', NULL, NULL), +('f66f7645-67bc-4248-ba98-26b23b008382', 'trampoline', '20.0.0-0.ci+git863b79d5cd0', 'cosmo_trampoline_phase_1', '2026-06-11 05:31:34.941521+00', 'ace7aabf5a3d65a4125dc027483a6849e831536e9c4ca58cf144154058a07c57', '33554432', '153', NULL, NULL), +('f6c8164e-9375-4b40-a420-6a073411f223', 'clickhouse_keeper', '18.0.0-0.ci+git0ee7d730282', 'zone', '2026-02-11 17:36:00.471157+00', 'c5f2b82d87aefd053a768c9169d2949b890a3af6ed7f0f5ee0dfdf3c675a2e20', '309749159', '87', NULL, NULL), +('f6f041ae-2181-46a4-ab76-d00b4805e17f', 'oxide-rot-1-production-release-sidecar', '1.0.38', 'switch_rot_image_a', '2025-10-08 19:59:10.483223+00', '790553ebcf8f07403e0040523f474ea7629b4332de9d0adcbd9215d1020c033d', '1575183', '2', '5c69a42ee1f1e6cd5f356d14f81d46f8dbee783bb28777334226c689f169c0eb', 'oxide-rot-1'), +('f70107bb-8351-454a-bb7f-5eacb1597bc0', 'staging-corim-all-sp-v1.0.55', '1.0.55', 'measurement_corpus', '2025-12-24 16:09:17.701004+00', 'aed8b5883f02d68097d7c36dab5c0769879217a542265a6da267b123f39c3b3b', '829', '53', NULL, NULL), +('f741861b-580e-4107-badf-d2a0cbe242d4', 'internal-dns', '17.0.0-0.ci+gitb8efb9a08b3', 'zone', '2025-10-08 20:35:41.742775+00', '03d49a360a7c57613a59ffc4e649ca20fc9d25d545d08ad13d4478aa06a265b9', '52795893', '3', NULL, NULL), +('f75b447f-1922-4106-8eaa-3da12fa586d3', 'sidecar-b', '1.0.59', 'switch_sp', '2026-02-11 17:36:00.47117+00', '085f04164b2caf581c11b0ca8173e3ce3ad007e4bcb1a8b7df5ee9eb911eeed8', '6944344', '87', NULL, 'sidecar-b'), +('f75c1716-40ec-48b3-9fed-5dd95c62c58e', 'trampoline', '20.0.0-0.ci+git4bb727667c9', 'gimlet_trampoline_phase_1', '2026-06-08 18:04:19.004237+00', '540236660ec52d974bc4a9e4a3157c108db759546fc63df131d4d977a7871b08', '33554432', '147', NULL, NULL), +('f75f1d45-0db4-455e-89e2-a878e14ec9d0', 'probe', '18.0.0-0.ci+gitc643ed39da8', 'zone', '2026-02-10 13:49:39.684122+00', '271e9887c89e19abe3cad9f40863013479df633be7a480a1e19ea11dd1c76e2e', '3109590', '83', NULL, NULL), +('f75fa9b9-cb4f-43f2-9538-2acf2b1e8a6c', 'sidecar-c', '1.0.54', 'switch_sp', '2025-12-12 20:45:24.181293+00', 'becc532a7d977bdd7c3cb1e1c58d3479e0adf131294e36cc58a6741cfa7b9af0', '6855365', '49', NULL, 'sidecar-c'), +('f76236a0-b6ad-47c1-948f-9d035c34b482', 'cosmo-a', '1.0.52', 'gimlet_sp', '2025-12-02 01:51:35.116871+00', 'e3b7c033fb47487e1a510e4f1c9d924e9cbad952fe77a3978ff1caf9be62494d', '6430159', '45', NULL, 'cosmo-a'), +('f7b7e831-1a88-478b-805f-db1f71e9483e', 'clickhouse_keeper', '18.0.0-0.ci+git17cf00dbf0a', 'zone', '2026-01-31 18:37:09.507162+00', 'c709eccdd3daa304da66f5f19bb6cbeb94251c0a60a5a1dee98565ff6dabc693', '309216594', '69', NULL, NULL), +('f7c06933-6619-4bda-904d-b75516954eca', 'host', '19.0.0-0.ci+git328ba48fdf8', 'cosmo_host_phase_1', '2026-03-03 05:18:25.051894+00', '989d8b76baf60d5bfecc7f0936c1e856b0b2bd6366e52235dca4d1bc61a81908', '33554432', '105', NULL, NULL), +('f7fe28b6-c269-47f0-ae30-e3ab08260ebf', 'host', '18.0.0-0.ci+git17cf00dbf0a', 'host_phase_2', '2026-01-31 18:37:09.507159+00', 'a5c197ead0f61986102e04291c849ce2f5698b54e1d3e81afdbb7e8228fec22c', '1101008896', '69', NULL, NULL), +('f865d2c7-f078-44e9-bba0-c53d8e7a747d', 'oximeter', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112989+00', 'eebf8c1c900636dfc17baeb09eeb87c439b580b34057319df1171f38ee08e9ae', '65567757', '75', NULL, NULL), +('f872da6f-8211-4ff5-bc70-1b454b39b71e', 'clickhouse', '18.0.0-0.ci+git3b3f937d05f', 'zone', '2026-01-01 00:51:32.078611+00', '2f0217b3480b5ab9d3cd38d76e2a7564150210681c8e7bcd8e10970de73e62a8', '328051445', '55', NULL, NULL), +('f8b9566a-a790-45ac-a9e1-9544785fd957', 'internal-dns', '19.0.0-0.ci+git9dd23096de9', 'zone', '2026-03-06 17:26:46.282154+00', 'd2beecbe8e4b48b7986f1bd27da063233c4a3ccdacb2a1f95dca5e213a13b06a', '42545819', '107', NULL, NULL), +('f8da00cb-1317-493c-803c-12c6676b841f', 'gimlet-f', '1.0.56', 'gimlet_sp', '2026-01-14 23:13:54.091116+00', '9a4a6fde2355421af24424f7be49567f3dddc4056eed2f6343d2969fabfdec0f', '5408866', '59', NULL, 'gimlet-f'), +('f8f418bf-e2ea-4aea-9bcd-407c2d39d2c6', 'ntp', '18.0.0-0.ci+git360801b804e', 'zone', '2026-02-05 12:45:07.112989+00', '887fb52ffb9ee52e448900a5baea93b76c8b26bf3df78002b2b953a983ad4963', '30354612', '75', NULL, NULL), +('f91b7254-bec5-4bb6-8085-297e831c87f7', 'oximeter', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310194+00', 'fa7c3caea68ebc01946f5486506b7e60009bb4730f5f28451ee83c091e861c1a', '70149929', '133', NULL, NULL), +('f91cb23e-1bb4-4078-a30b-2c146ca81057', 'clickhouse', '18.0.0-0.ci+gitf507a3057c7', 'zone', '2026-01-14 23:13:54.09114+00', 'ff21e27d2615305f44bd46a4ed3dff044f705d6a1f6dc878454b55409eb18d63', '328097855', '59', NULL, NULL), +('f9357aae-7757-4ab5-a53c-cead9314c9e1', 'oximeter', '17.0.0-0.ci+git56225535f8e', 'zone', '2025-10-29 18:02:18.899357+00', 'a184ef7b21ce66179b0573716c8cdfe13c0b87e257a21149f2a4134654df8aee', '63680273', '27', NULL, NULL), +('f96dfdf4-d8eb-4009-a5f2-92e3cfc5210a', 'trampoline', '17.0.0-0.ci+git2a1d8548932', 'trampoline_phase_2', '2025-10-22 17:38:18.243788+00', '7bbf00ff9b0b42620df92beea6f1525c68197b2aff5a077b3d822e1e6defbdde', '152280760', '17', NULL, NULL), +('f9b6b9c2-2084-44d1-b489-a0c9879ea2f5', 'cosmo-a', '1.76.0', 'gimlet_sp', '2026-07-07 06:50:20.366473+00', '6e54a62de9e61278cfd79abdef4d3a5c03c8d0f725ba8d225ea39730ab9e511c', '6691707', '167', NULL, 'cosmo-a'), +('f9e5fb51-378c-4015-b7fd-5596ab44b941', 'probe', '18.1.0-0.ci+git550f05cd523', 'zone', '2026-02-19 21:32:58.918402+00', '1de3d682f48cd1fa81794c79adb829b96d8d4a9fae45b9beecc0f5175fc0034b', '3109590', '99', NULL, NULL), +('fa061c7e-e72a-4fd2-9da8-c224cd9b1035', 'cosmo-b', '1.0.63', 'gimlet_sp', '2026-03-06 17:26:46.282129+00', '8878caffc2d35598018e25e0f823e2a626bfb025bfaf9d45f5c71b12ce0bd9fc', '6614777', '107', NULL, 'cosmo-b'), +('fa424872-b713-4ba1-ae7f-51b458f1b8f8', 'trampoline', '18.0.0-0.ci+git687f721a7c9', 'gimlet_trampoline_phase_1', '2026-02-09 21:51:46.539549+00', 'f63088cf19fec367836897e36f7e0e7051a82339d2f6de8de37cac35f53ad91d', '33554432', '79', NULL, NULL), +('fa9ab854-5a10-4fdb-b584-f20d327e7543', 'host', '19.0.0-0.ci+git19d83513171', 'host_phase_2', '2026-04-05 04:30:51.921048+00', '017a3985902f7f31f7015a99958be8d0d7b792827d0aa4445e68e51f9a3fec33', '1101008896', '121', NULL, NULL), +('faa01ff2-6828-4e1a-aad5-815b1bd48b03', 'external-dns', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356078+00', '20c4b2be4b250dc6a085bdf4d98ee9a3204f6ce593064b6bd4c57ae943eb33ac', '53094055', '135', NULL, NULL), +('faa26596-4f06-422d-bbaa-dd5e2660397c', 'external-dns', '17.0.0-0.ci+gitf83a43dbb42', 'zone', '2025-11-05 22:59:56.995241+00', '43188eb02d0b6aa12e7f5228800cff001eb278fc76da9641043bc7dd330ecab2', '52269521', '39', NULL, NULL), +('faa37b85-bd75-4835-bb4f-8b8db76d8276', 'host', '17.0.0-0.ci+gitaf3b89ffce6', 'cosmo_host_phase_1', '2025-10-23 06:08:33.419117+00', '616e6e7dd1766691bf2eb0a69344515cbee6ec1bdda798643752819f1c8e1108', '33554432', '21', NULL, NULL), +('fb113a93-c0e7-43d7-985e-c4dc3ee070b0', 'nexus', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471614+00', 'b1a276f7566459887593028e22b83481022ca44b901a702564da64b1835c09cb', '286275614', '159', NULL, NULL), +('fb209ca1-9d48-421e-b10e-9a11f65143aa', 'host', '18.0.0-0.ci+gitc643ed39da8', 'gimlet_host_phase_1', '2026-02-10 13:49:39.684113+00', '78ac403d00934244b74df09ad544b8984b87f9ba3204b351ea080f0d3e442c89', '33554432', '83', NULL, NULL), +('fba1d575-ff73-4329-b57e-bfa7acd04f31', 'clickhouse_server', '17.0.0-0.ci+git178c3c1ae84', 'zone', '2025-10-08 19:59:10.483195+00', '441075a6fe1516053ec2ca1614a33bd1b7e0ed3cae4c8979b00b815210d8a8ae', '323763259', '2', NULL, NULL), +('fbab7e90-3ce8-4742-98f8-e591551bd09e', 'trampoline', '17.0.0-0.ci+gite980820e5b5', 'cosmo_trampoline_phase_1', '2025-11-04 21:18:21.063848+00', 'b76581b81b18956a67fcb8cdcf147be00ef5735a4bcdfdf21d8d1de8e890c783', '33554432', '35', NULL, NULL), +('fbaf72f0-1660-4bcf-bfe5-cde0aeed7c3f', 'psc-c', '1.0.48', 'psc_sp', '2025-10-08 19:59:10.483203+00', '49d19bfc62e0bd3984391fddb82899d61587310eeaf7c361e65e090a4d3ceb67', '4061160', '2', NULL, 'psc-c'), +('fbd7c366-8e2a-4844-a3a6-e1580d7c1ef7', 'internal-dns', '20.0.0-0.ci+gitc5c595dba5d', 'zone', '2026-06-03 19:03:58.040702+00', '03f42d532f43fa8fb90969d6d52c6d80f775d06b6677dc5624e5581ba4fd6e49', '51408500', '145', NULL, NULL), +('fc12bc76-632b-4349-93e0-ddc09d1650fe', 'gimlet-f', '1.0.49', 'gimlet_sp', '2025-10-31 23:54:18.71271+00', 'f079b6758e23f7270d2e1fe059aa7c024b7c6db64d3e594dbdbaa26659bb0b7a', '5352716', '33', NULL, 'gimlet-f'), +('fc240b78-0adc-4c4d-94ef-9d638f87d0a1', 'trampoline', '19.2.0-0.ci+gite4b75dde134', 'trampoline_phase_2', '2026-04-21 23:08:35.310189+00', '5afe4f2e236777d8dc48913f3a2e497fba97f21b22bd79b6e8a9f74489d4ea55', '146291826', '133', NULL, NULL), +('fc24b7cc-8cec-4d5c-9da7-45351f1a5313', 'host', '19.0.0-0.ci+git6409f6a4bd2', 'host_phase_2', '2026-03-12 18:43:41.837884+00', '41dfe73b15686710f20238a2277966ae18413b00b90aae2b3886c39b7afdda40', '1101008896', '111', NULL, NULL), +('fc707449-d716-4653-a882-138e4a9831e3', 'crucible-pantry-zone', '21.0.0-0.ci+git2e789004327', 'zone', '2026-07-07 06:50:20.366496+00', '39dfcc66a50c1c8b6def2ec512fa35db01e159a719d87d1026cba1f91b93b290', '40048238', '167', NULL, NULL), +('fc87365e-9d80-4e81-99b9-4befb402220c', 'external-dns', '20.0.0-0.ci+git863b79d5cd0', 'zone', '2026-06-11 05:31:34.941525+00', '855ac7df1450d57f7534976ab7b0f635b4bbcbd07a562fb8a2a638982019ff49', '52496364', '153', NULL, NULL), +('fcc1a940-77d0-4357-bb1b-3a017a1c4b0e', 'installinator_document', '17.0.0-0.ci+git56225535f8e', 'installinator_document', '2025-10-29 18:02:18.899375+00', 'e40eac6150012f4e824832d46337919ed929481577db60238b044a5af24d60c3', '383', '27', NULL, NULL), +('fd5500c3-a4ef-4d9a-9a00-b06c29714e84', 'host', '19.0.0-0.ci+gitefa6443bdeb', 'host_phase_2', '2026-04-07 22:15:07.062166+00', 'a3afd6a2f4ac65b6cb9c77f9c497f661a96c26d56e663e0442306630e6a514f7', '1101008896', '123', NULL, NULL), +('fd873243-0507-496c-85b8-bbd6456fd388', 'trampoline', '18.0.0-0.ci+git1c0f2b3c24c', 'trampoline_phase_2', '2026-01-28 21:07:59.478027+00', 'fc467f305ec19a62593b7852cf4e4e0b48cc1c1ec08e061d55eddb8f463197e5', '144621583', '67', NULL, NULL), +('fd8b2a33-c568-4b44-af1e-90c0baaad1bf', 'ntp', '19.2.0-0.ci+gite4b75dde134', 'zone', '2026-04-21 23:08:35.310193+00', '2d75812ea1caa6db2d94e8c2e8818b300d56d8bd0e85b5c1cd31afa58f459fb8', '33890374', '133', NULL, NULL), +('fdbcdb61-38c4-445e-b671-6899fd4bb602', 'host', '20.1.0-0.ci+gitf6ef6642eaa', 'cosmo_host_phase_1', '2026-06-23 04:22:03.471607+00', 'c05f298fd074de5a572d068772be7eb4f233963896a58218baf6eceaee35c751', '33554432', '159', NULL, NULL), +('fdc282ed-7322-4d56-a33d-2a948aac5fa1', 'clickhouse_server', '19.0.0-0.ci+gitd41bfa5af31', 'zone', '2026-04-03 04:47:46.332948+00', '8231fd8d0d145b21c272e6003e2ea373fbc2c25bf7ef80071a6f1c62002b0e7e', '316986442', '119', NULL, NULL), +('fdc5b9c7-bf13-41e3-a36f-5735799286e4', 'external-dns', '19.1.0-0.ci+gitbc696216ef5', 'zone', '2026-04-13 23:23:31.608568+00', '2d022bb1f5d688ee03cdaca60ab9ed301473b0fd87c0981634656ea333ec91ac', '53095691', '129', NULL, NULL), +('fdd86b3a-0513-45f2-86b9-285006427464', 'ntp', '17.0.0-0.ci+git529ba64ee28', 'zone', '2025-10-10 21:18:53.484041+00', 'd54f3a11fde0f44bf1ec12fb1025b4fd11c1afae85514b9e431c8d4791aa9bd1', '34034899', '7', NULL, NULL), +('fddf6ade-ff61-44fd-b4bc-9eb35b483dfc', 'crucible-zone', '19.1.0-0.ci+gitc7312331b08', 'zone', '2026-04-14 19:37:47.604854+00', 'a75db69f13b4c1916cc614282940d551b5e0d72a3a1c4a86fdc411c87d0df1dc', '60176565', '131', NULL, NULL), +('fde5f60d-bca7-4eb5-ac28-04c9a4e9cd6b', 'trampoline', '18.0.0-0.ci+git52e04b3b26e', 'trampoline_phase_2', '2026-02-03 11:37:20.329505+00', '5f5267c4973ad115a49ea6ee30cdb75b5a0aed9882aea8fbe93f3c0c6b080891', '144224458', '73', NULL, NULL), +('fdf7571a-c019-4b1c-829c-b2d92f4d5c56', 'installinator_document', '20.0.0-0.ci+git3dc79fe53b1', 'installinator_document', '2026-05-27 02:26:01.196623+00', 'e928a5a64f51eeac96df37ebe74651f235aeebb7829e4efb55cf50a151c6984c', '924', '141', NULL, NULL), +('fdfc23a3-fed2-4089-b431-90956cfa3b3e', 'ntp', '19.0.0-0.ci+gitefa6443bdeb', 'zone', '2026-04-07 22:15:07.062172+00', '7f391b05441554f49001184412b308596f0dd2d05a9ed6982084e84564ef93ad', '33891819', '123', NULL, NULL), +('fe12b065-a2bb-45c0-87d7-8c0011b4c26a', 'internal-dns', '20.1.0-0.ci+git846f6a0ad0a', 'zone', '2026-06-18 21:11:25.441925+00', '9fcafce9035d85c3f4885b47626a9df4055c216c130e17f51de1dfbd96bcd6bf', '52495964', '155', NULL, NULL), +('fe1c79c8-7625-4a50-83b9-f83a90771ec1', 'internal-dns', '19.3.0-0.ci+gitd4a126e8cc3', 'zone', '2026-05-05 23:41:07.356079+00', '10d99da33736a14a1d572ae7ed463798a72343c9f568fcb74799584ee23a9a2d', '53093652', '135', NULL, NULL), +('fe2f92cf-2b6d-4834-90ca-abb0a03d26d9', 'trampoline', '17.0.0-0.ci+gite980820e5b5', 'trampoline_phase_2', '2025-11-04 21:18:21.063849+00', '04144cdb2cf44c3d4472d0393b3a4e8a0dadd4378f6e13adee3cd963b87dda09', '152235727', '35', NULL, NULL), +('fe757691-88a7-49d6-a49a-565c420322ce', 'trampoline', '17.0.0-0.ci+git7bc5275729c', 'trampoline_phase_2', '2025-10-24 17:56:14.14075+00', '48bde03259aa68ce1da1486785cef3ce3adde40cd6ab9d650d0fdb83ce73e235', '152300322', '23', NULL, NULL), +('fe9412f6-e923-4678-85f8-fc724427bb4a', 'clickhouse_keeper', '20.1.0-0.ci+gitf6ef6642eaa', 'zone', '2026-06-23 04:22:03.471611+00', '55fea617fb1181ad1ee2cfe657aed4f6337cb98a1f329f1ddaa13d76a7ce5bd6', '314295713', '159', NULL, NULL), +('fe997b3c-8f5b-4d1d-bb67-ce0a8db1cde1', 'host', '17.0.0-0.ci+git3a90a985264', 'gimlet_host_phase_1', '2025-10-22 23:31:13.205387+00', 'f63ccee7222e25db33bef1dfdc1e70fe3b770ec83845c81bad49acb673443f40', '33554432', '19', NULL, NULL), +('fea6f99e-026c-4732-9bdd-534e7f873685', 'host', '20.0.0-0.ci+git3dc79fe53b1', 'cosmo_host_phase_1', '2026-05-27 02:26:01.196602+00', 'e1463b1a6ae201cf89539e335d1de5cbcede5aa079ca7a9359b0d6caddd34f9d', '33554432', '141', NULL, NULL), +('febc92c0-37d8-4ca7-bcce-d7dd1a993acf', 'trampoline', '20.1.0-0.ci+gitf6ef6642eaa', 'gimlet_trampoline_phase_1', '2026-06-23 04:22:03.471609+00', 'e7b40135868f1b510e7ebba71c8a00369a1c2d52d76e72e146e915baf5e10946', '33554432', '159', NULL, NULL), +('feed9b4e-ecfa-4c1d-93fa-53ff93e8100d', 'staging-corim-all-sp-v1.0.57', '1.0.57', 'measurement_corpus', '2026-01-22 00:31:09.684318+00', 'e09f77be30261578665768ff0327e7f8b242903e2baa06a86427d7dc69b3d190', '829', '63', NULL, NULL), +('fef5c347-b0af-421b-9019-950ae96b16b6', 'probe', '17.0.0-0.ci+gitaf3b89ffce6', 'zone', '2025-10-23 06:08:33.419125+00', '411ceab66d5fd4c448b78e5867af53a7110cfe42466525038e378b93ba7af9dd', '3109590', '21', NULL, NULL), +('ff0ba2f2-08c8-4a46-92e9-76a47b09c97c', 'nexus', '18.0.0-0.ci+git92e0ae0c98d', 'zone', '2026-01-27 04:57:02.494832+00', '31a3743ae73dd3c938ed0fc53cba5967dc3956825af5453f380ef31e75379cde', '212075346', '65', NULL, NULL), +('ff2545d1-1dce-457f-a773-ad1ef45ad6d2', 'trampoline', '18.1.0-0.ci+git1003e128ad7', 'gimlet_trampoline_phase_1', '2026-02-19 02:24:10.120339+00', 'a03fa7548796703fc95a0278049868d4703fa1f5201e725f2fb6247a9e6f8b5e', '33554432', '95', NULL, NULL), +('ff37a32e-00e1-49f7-925e-c4efa9450990', 'host', '20.0.0-0.ci+git2e319eb3b9b', 'gimlet_host_phase_1', '2026-05-28 01:22:57.659112+00', '494b4287d51e14bfac9d10e404976c4425fba0ab891299b0272a9a3fa8d73a34', '33554432', '143', NULL, NULL), +('ff4b8e07-2f62-424e-8e81-5bd8887dfbf9', 'installinator_document', '18.0.0-0.ci+git360801b804e', 'installinator_document', '2026-02-05 12:45:07.113014+00', '32eb03a7b2a28bebb0286b86bd50ca444bf8d2c806d17da56cfb803ce4adaf7a', '924', '75', NULL, NULL), +('ff4e33c2-054d-4781-bc91-d31c3c8ddf9a', 'gimlet-f', '1.0.58', 'gimlet_sp', '2026-01-28 21:07:59.478013+00', '0e3b73b53cbde05ab1287f75932f713e8fbc8f7b283b1f3b0f640f33271eb8e2', '5465974', '67', NULL, 'gimlet-f'), +('ffa0026f-0801-4ac5-8978-ff8109dafcab', 'host', '19.1.0-0.ci+gitbc696216ef5', 'host_phase_2', '2026-04-13 23:23:31.608563+00', 'd1467ade06dbb036d03b6140c1cde692338f53c5564d7c79939651eedc5e6033', '1101008896', '129', NULL, NULL), +('ffb9a6a7-e9c7-42c1-8e91-533d94ccf936', 'probe', '20.1.0-0.ci+gitde1271a3c77', 'zone', '2026-06-26 16:41:54.981018+00', '109afc1f38171ed82b3eb38167b3ffd7f077347d09514c837345705402dce618', '3109592', '161', NULL, NULL), +('ffbda314-e50f-4fa7-8964-15ce9ac07665', 'host', '19.1.0-0.ci+git073b1306678', 'cosmo_host_phase_1', '2026-04-11 03:24:26.751854+00', '1b83272ce647bec87f1feb698e81164e0488f40a99c0557577438576374dc51d', '33554432', '127', NULL, NULL) diff --git a/nexus/tests/integration_tests/target_release.rs b/nexus/tests/integration_tests/target_release.rs index 1d83fb7e789..48647a150b2 100644 --- a/nexus/tests/integration_tests/target_release.rs +++ b/nexus/tests/integration_tests/target_release.rs @@ -30,20 +30,23 @@ use omicron_uuid_kinds::{BlueprintUuid, GenericUuid}; use semver::Version; use std::sync::Arc; use std::time::Duration; -use tufaceous_artifact::ArtifactKind; -use tufaceous_artifact::{ArtifactVersion, KnownArtifactKind}; -use tufaceous_lib::assemble::ManifestTweak; +use tufaceous_artifact_v2::Artifact; +use tufaceous_artifact_v2::ArtifactSet; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::KnownArtifactTags; +use tufaceous_artifact_v2::OsPhase2Tags; +use tufaceous_artifact_v2::OsVariant; +use tufaceous_v2::edit::RepositoryEditor; use crate::integration_tests::updates::TestTrustRoot; -#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +#[tokio::test] async fn get_set_target_release() -> Result<()> { let ctx = nexus_test_utils::ControlPlaneBuilder::new("get_set_target_release") .start::() .await; let client = &ctx.external_client; - let logctx = &ctx.logctx; // Interacting with the target release fails until an inventory collection // is loaded, so wait for that before running the test. @@ -76,7 +79,7 @@ async fn get_set_target_release() -> Result<()> { let before = Utc::now(); let system_version = Version::new(1, 0, 0); let response: update::TufRepoUpload = trust_root - .assemble_repo(&logctx.log, &[]) + .assemble_repo(RepositoryEditor::fake(system_version.clone())?) .await? .into_upload_request(client, StatusCode::OK) .execute() @@ -105,19 +108,11 @@ async fn get_set_target_release() -> Result<()> { // Fake completing an update to 1.0.0. install_target_blueprint_with_update_complete(&ctx, &version_1_0_0).await?; - // Adding a repo with non-semver artifact versions should be ok, too. { let before = Utc::now(); let system_version = Version::new(2, 0, 0); - let tweaks = &[ - ManifestTweak::SystemVersion(system_version.clone()), - ManifestTweak::ArtifactVersion { - kind: KnownArtifactKind::SwitchRotBootloader, - version: ArtifactVersion::new("non-semver-2").unwrap(), - }, - ]; let response: update::TufRepoUpload = trust_root - .assemble_repo(&logctx.log, tweaks) + .assemble_repo(RepositoryEditor::fake(system_version.clone())?) .await? .into_upload_request(client, StatusCode::OK) .execute() @@ -204,32 +199,27 @@ pub async fn install_target_blueprint_with_update_complete( .with_context(|| { format!("getting TUF repo with version {system_version}") })?; - let tuf_repo_artifacts = - datastore.tuf_list_repo_artifacts(&opctx, tuf_repo.id()).await?; + let tuf_repo_artifacts = datastore + .tuf_list_repo_artifacts(&opctx, tuf_repo.id()) + .await? + .into_iter() + .map(Artifact::from) + .collect::(); // Get the hashes of host phase 2 and some zone. (We don't have to match up // particular zone kinds; we can use one zone artifact for all zones. This // seems a little fishy, but we rely on the planner to do the right thing.) let host_phase_2_artifact_hash = tuf_repo_artifacts - .iter() - .find_map(|a| { - if a.kind == ArtifactKind::HOST_PHASE_2.as_str() { - Some(a.sha256) - } else { - None - } - }) - .context("no host phase 2 artifact in TUF repo")?; + .get_only(&KnownArtifactTags::OsPhase2(OsPhase2Tags { + os_variant: OsVariant::Host, + })) + .context("no host phase 2 artifact in TUF repo")? + .hash; let zone_artifact_hash = tuf_repo_artifacts - .iter() - .find_map(|a| { - if a.kind == KnownArtifactKind::Zone.to_string() { - Some(a.sha256) - } else { - None - } - }) - .context("no zone artifact in TUF repo")?; + .filter_tags(|tags| matches!(tags, KnownArtifactTags::Zone(_))) + .next() + .context("no zone artifact in TUF repo")? + .hash; // Get the current blueprint. let target_id = @@ -258,13 +248,13 @@ pub async fn install_target_blueprint_with_update_complete( sled.host_phase_2.slot_a = BlueprintHostPhase2DesiredContents::Artifact { version: bp_artifact_version.clone(), - hash: *host_phase_2_artifact_hash, + hash: host_phase_2_artifact_hash, }; for mut zone in sled.zones.iter_mut() { zone.image_source = BlueprintZoneImageSource::Artifact { version: bp_artifact_version.clone(), - hash: *zone_artifact_hash, + hash: zone_artifact_hash, }; } } diff --git a/nexus/tests/integration_tests/unauthorized.rs b/nexus/tests/integration_tests/unauthorized.rs index 980f3e6e184..cedd58706e0 100644 --- a/nexus/tests/integration_tests/unauthorized.rs +++ b/nexus/tests/integration_tests/unauthorized.rs @@ -27,8 +27,10 @@ use nexus_types::external_api::snapshot; use omicron_common::disk::DatasetKind; use omicron_uuid_kinds::DatasetUuid; use omicron_uuid_kinds::ZpoolUuid; +use semver::Version; use sled_agent_types::inventory::ZpoolHealth; use std::sync::LazyLock; +use tufaceous_v2::edit::RepositoryEditor; type DiskTest<'a> = nexus_test_utils::resource_helpers::DiskTest<'a, omicron_nexus::Server>; @@ -60,10 +62,7 @@ type DiskTest<'a> = // endpoint with a non-existent resource to ensure that we get the same result // (so that we don't leak information about existence based on, say, 401 vs. // 403). -// -// Uploading a TUF repository requires a multithreaded runtime with 2 worker -// threads. -#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +#[tokio::test] async fn test_unauthorized() { let cptestctx = nexus_test_utils::ControlPlaneBuilder::new("test_unauthorized") @@ -187,8 +186,9 @@ async fn test_unauthorized() { .execute() .await .unwrap(); + let editor = RepositoryEditor::fake(Version::new(1, 0, 0)).unwrap(); trust_root - .assemble_repo(&log, &[]) + .assemble_repo(editor) .await .unwrap() .into_upload_request(client, StatusCode::OK) diff --git a/nexus/tests/integration_tests/updates.rs b/nexus/tests/integration_tests/updates.rs index dc49a199c92..8168e36bfbd 100644 --- a/nexus/tests/integration_tests/updates.rs +++ b/nexus/tests/integration_tests/updates.rs @@ -3,9 +3,8 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. use anyhow::{Context, Result, ensure}; -use camino::Utf8Path; use camino_tempfile::{Builder, Utf8TempPath}; -use chrono::{DateTime, Duration, Timelike, Utc}; +use chrono::{DateTime, Duration, SubsecRound, Utc}; use dropshot::ResultsPage; use dropshot::test_util::ClientTestContext; use http::{Method, StatusCode}; @@ -24,19 +23,13 @@ use nexus_test_utils_macros::nexus_test; use nexus_types::external_api::update; use nexus_types::external_api::update::TufRepoUpload; use nexus_types::external_api::update::TufRepoUploadStatus; -use omicron_common::api::external::TufArtifactMeta; use pretty_assertions::assert_eq; use semver::Version; use serde::Deserialize; use std::collections::HashSet; use std::fmt::Debug; -use tough::editor::signed::SignedRole; -use tough::schema::Root; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::KnownArtifactKind; -use tufaceous_lib::Key; -use tufaceous_lib::assemble::{ArtifactManifest, OmicronRepoAssembler}; -use tufaceous_lib::assemble::{DeserializedManifest, ManifestTweak}; +use tufaceous_artifact_v2::{Artifact, ArtifactSet, KnownArtifactTags, SpTags}; +use tufaceous_v2::edit::{Ed25519Key, RepositoryEditor, Root}; use crate::integration_tests::target_release::set_target_release_for_mupdate_recovery; @@ -49,7 +42,7 @@ type ControlPlaneTestContext = async fn get_repo_artifacts( cptestctx: &ControlPlaneTestContext, version: &str, -) -> Vec { +) -> ArtifactSet { let datastore = cptestctx.server.server_context().nexus.datastore(); let opctx = OpContext::for_tests(cptestctx.logctx.log.new(o!()), datastore.clone()); @@ -67,31 +60,21 @@ async fn get_repo_artifacts( .await .expect("should get artifacts"); - let mut result: Vec = artifacts - .into_iter() - .map(|artifact| artifact.into_external()) - .collect(); - - // Sort artifacts by their ID for consistent comparison - result.sort_by(|a, b| a.id.cmp(&b.id)); - result + artifacts.into_iter().map(Artifact::from).collect() } pub struct TestTrustRoot { - pub key: Key, + pub key: Ed25519Key, pub expiry: DateTime, - pub root_role: SignedRole, + pub root_role: Root, } impl TestTrustRoot { pub async fn generate() -> Result { - let key = Key::generate_ed25519()?; - let expiry = Utc::now() - .with_nanosecond(0) - .expect("0 is less than 2,000,000,000") - + Duration::weeks(1); + let key = Ed25519Key::generate()?; + let expiry = Utc::now().trunc_subsecs(0) + Duration::weeks(1); let root_role = - tufaceous_lib::root::new_root(vec![key.clone()], expiry).await?; + Root::generate(&[Box::new(key.clone())], expiry).await?; Ok(TestTrustRoot { key, expiry, root_role }) } @@ -102,37 +85,32 @@ impl TestTrustRoot { ) -> NexusRequest<'a> { let request = RequestBuilder::new(client, Method::POST, TRUST_ROOTS_URL) - .body(Some(self.root_role.signed())) + .raw_body(Some(self.root_role.to_string())) .expect_status(Some(expected_status)); NexusRequest::new(request).authn_as(AuthnMode::PrivilegedUser) } pub async fn assemble_repo( &self, - log: &slog::Logger, - tweaks: &[ManifestTweak], + editor: RepositoryEditor<'_>, ) -> Result { - let archive_path = Builder::new() + let (file, archive_path) = Builder::new() .prefix("archive") .suffix(".zip") .tempfile() .context("error creating temp file for archive")? - .into_temp_path(); - - let manifest = ArtifactManifest::from_deserialized( - Utf8Path::new(""), - DeserializedManifest::tweaked_fake(tweaks), - )?; - let mut assembler = OmicronRepoAssembler::new( - log, - manifest, - vec![self.key.clone()], - self.expiry, - true, - archive_path.to_path_buf(), - ); - assembler.set_root_role(self.root_role.clone()); - assembler.build().await?; + .into_parts(); + let signed = editor + .finish() + .await? + .root(self.root_role.as_str()) + .key(self.key.clone()) + .snapshot_expires(self.expiry) + .targets_expires(self.expiry) + .timestamp_expires(self.expiry) + .sign() + .await?; + signed.write_zip(file, chrono::Utc::now()).await?; Ok(TestRepo(archive_path)) } } @@ -173,7 +151,7 @@ impl TestRepo { } } -#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +#[tokio::test] async fn test_repo_upload_unconfigured() -> Result<()> { let cptestctx = nexus_test_utils::ControlPlaneBuilder::new( "test_repo_upload_unconfigured", @@ -181,14 +159,13 @@ async fn test_repo_upload_unconfigured() -> Result<()> { .start::() .await; let client = &cptestctx.external_client; - let logctx = &cptestctx.logctx; // Generate a trust root, but _don't_ upload it to Nexus. let trust_root = TestTrustRoot::generate().await?; // Build a fake TUF repo and attempt to upload it to Nexus. This should fail // with a 400 error because we did not upload a trusted root role. trust_root - .assemble_repo(&logctx.log, &[]) + .assemble_repo(RepositoryEditor::fake(Version::new(1, 0, 0))?) .await? .into_upload_request(client, StatusCode::BAD_REQUEST) .execute() @@ -216,7 +193,7 @@ async fn test_repo_upload_unconfigured() -> Result<()> { Ok(()) } -#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +#[tokio::test] async fn test_repo_upload() -> Result<()> { let cptestctx = nexus_test_utils::ControlPlaneBuilder::new("test_repo_upload") @@ -238,7 +215,15 @@ async fn test_repo_upload() -> Result<()> { trust_root.to_upload_request(client, StatusCode::CREATED).execute().await?; // Build a fake TUF repo - let repo = trust_root.assemble_repo(&logctx.log, &[]).await?; + let repo = trust_root + .assemble_repo(RepositoryEditor::fake(Version::new(1, 0, 0))?) + .await?; + // To ensure the next repo we generate with the same arguments has a + // different hash, start a 1s timer now which we will await later. (The + // intervening steps almost certainly take longer than a second, but just in + // case we make things faster...) + let different_hash_timer = + tokio::time::sleep(std::time::Duration::from_secs(1)); // Generate a repository and upload it to Nexus. let initial_repo = { @@ -261,24 +246,6 @@ async fn test_repo_upload() -> Result<()> { .map(|artifact| artifact.hash) .collect::>() .len(); - // The repository description should have `Zone` artifacts instead of the - // composite `ControlPlane` artifact. - let zone_names: HashSet<&str> = initial_artifacts - .iter() - .filter_map(|artifact| { - if artifact.id.kind == KnownArtifactKind::Zone.into() { - Some(artifact.id.name.as_str()) - } else { - None - } - }) - .collect(); - let expected_zones: HashSet<&str> = - ["zone-1", "zone-2"].into_iter().collect(); - assert_eq!(zone_names, expected_zones); - assert!(!initial_artifacts.iter().any(|artifact| { - artifact.id.kind == KnownArtifactKind::ControlPlane.into() - })); // The generation number should now be 2. assert_eq!( datastore.tuf_get_generation(&opctx).await.unwrap(), @@ -367,79 +334,60 @@ async fn test_repo_upload() -> Result<()> { "system version matches" ); - // Upload a new repository with the same system version but a different - // version for one of the components. This will produce a different hash, - // which should return an error. + // Upload a newly-generated repository with the same system version. The ZIP + // archive timestamps will differ and produce a different hash, which should + // return an error. { - let tweaks = &[ManifestTweak::ArtifactVersion { - kind: KnownArtifactKind::GimletSp, - version: "2.0.0".parse().unwrap(), - }]; + different_hash_timer.await; let response = trust_root - .assemble_repo(&logctx.log, tweaks) + .assemble_repo(RepositoryEditor::fake(Version::new(1, 0, 0))?) .await? .into_upload_request(client, StatusCode::CONFLICT) .execute() .await - .context( - "error uploading repository with different artifact version \ - but same system version", - )?; + .context("error uploading repository for hash mismatch")?; assert_error_message_contains( &response.body, "Uploaded repository with system version 1.0.0 has SHA256 hash", )?; } - // Upload a new repository with a different system version and different - // contents (but same version) for an artifact. + // Upload a new repository with the same system version but with an extra + // artifact. This should return an error. { - let tweaks = &[ - ManifestTweak::SystemVersion("2.0.0".parse().unwrap()), - ManifestTweak::ArtifactSize { - kind: KnownArtifactKind::ControlPlane, - size_delta: 1024, - }, - ]; + let editor = RepositoryEditor::fake(Version::new(1, 0, 0))? + .add_fake_sp_archive(SpTags { sp_board: "another-one".into() })?; let response = trust_root - .assemble_repo(&logctx.log, tweaks) + .assemble_repo(editor) .await? .into_upload_request(client, StatusCode::CONFLICT) .execute() .await .context( - "error uploading repository with artifact \ - containing different hash for same version", + "error uploading repository with different artifact version \ + but same system version", )?; assert_error_message_contains( &response.body, - "Uploaded artifacts don't match existing artifacts with same IDs:", - )?; - assert_error_message_contains( - &response.body, - "For artifact (name: zone-1, version: 1.0.0, kind: zone), uploaded \ - SHA256 hash", + "Uploaded repository with system version 1.0.0 does not have the \ + same artifacts as existing repository with same system version", )?; } - // Upload a new repository with the same *hash* but a different artifact - // version. + // Upload a new repository with a different system version, but with + // artifacts with the same contents as already-uploaded artifacts and + // different versions. This must fail, because two artifacts with the same + // contents must have the same version. This is done by setting the version + // field to 2.0.0 while creating the fake artifacts with an interior version + // of 1.0.0. { - let tweaks = &[ - ManifestTweak::SystemVersion("2.0.0".parse().unwrap()), - ManifestTweak::ArtifactVersion { - kind: KnownArtifactKind::GimletSp, - version: "2.0.0".parse().unwrap(), - }, - ManifestTweak::ArtifactDataVersion { - kind: KnownArtifactKind::GimletSp, - // 1.0.0 is the original version in the fake manifest. - data_version: Some("1.0.0".parse().unwrap()), - }, - ]; - + let editor = RepositoryEditor::inconsistent_fake( + Version::new(2, 0, 0), + &"2.0.0".parse().unwrap(), + &"1.0.0".parse().unwrap(), + )?; let response = trust_root - .assemble_repo(&logctx.log, tweaks) + .assemble_repo(editor) .await? .into_upload_request(client, StatusCode::CONFLICT) .execute() @@ -450,25 +398,21 @@ async fn test_repo_upload() -> Result<()> { )?; assert_error_message_contains( &response.body, - "Uploaded artifacts don't match existing artifacts with same IDs:", - )?; - assert_error_message_contains( - &response.body, - "For artifact (kind: gimlet_sp, hash: ", - )?; - assert_error_message_contains( - &response.body, - "uploaded name fake-gimlet-sp and version 2.0.0, but \ - existing artifact has name fake-gimlet-sp and version 1.0.0.", + "Uploaded artifacts don't match existing artifacts:", )?; } // Upload a new repository with a different system version but no other - // changes. This should be accepted. + // changes compared to the already-uploaded repository. This should be + // accepted. let initial_installinator_doc_hash = { - let tweaks = &[ManifestTweak::SystemVersion("2.0.0".parse().unwrap())]; + let editor = RepositoryEditor::inconsistent_fake( + Version::new(2, 0, 0), + &"1.0.0".parse().unwrap(), + &"1.0.0".parse().unwrap(), + )?; let response = trust_root - .assemble_repo(&logctx.log, tweaks) + .assemble_repo(editor) .await? .into_upload_request(client, StatusCode::OK) .execute() @@ -492,8 +436,8 @@ async fn test_repo_upload() -> Result<()> { let filtered_artifacts_1 = initial_artifacts .iter() .filter(|artifact| { - if artifact.id.kind - == KnownArtifactKind::InstallinatorDocument.into() + if artifact.known_tags() + == Some(KnownArtifactTags::InstallinatorDocument) { installinator_doc_1 = Some(*artifact); false @@ -506,8 +450,8 @@ async fn test_repo_upload() -> Result<()> { let filtered_artifacts_2 = artifacts_2_0_0 .iter() .filter(|artifact| { - if artifact.id.kind - == KnownArtifactKind::InstallinatorDocument.into() + if artifact.known_tags() + == Some(KnownArtifactTags::InstallinatorDocument) { installinator_doc_2 = Some(*artifact); false @@ -519,10 +463,10 @@ async fn test_repo_upload() -> Result<()> { let installinator_doc_1 = installinator_doc_1 .expect("should have found installinator document in 1.0.0"); - assert_eq!(installinator_doc_1.id.version, "1.0.0".parse().unwrap()); + assert_eq!(installinator_doc_1.version, "1.0.0".parse().unwrap()); let installinator_doc_2 = installinator_doc_2 .expect("should have found installinator document in 2.0.0"); - assert_eq!(installinator_doc_2.id.version, "2.0.0".parse().unwrap()); + assert_eq!(installinator_doc_2.version, "2.0.0".parse().unwrap()); assert_eq!( filtered_artifacts_1, filtered_artifacts_2, @@ -712,14 +656,13 @@ async fn test_trust_root_operations(cptestctx: &ControlPlaneTestContext) { assert!(response.items.is_empty()); } -#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +#[tokio::test] async fn test_update_status() -> Result<()> { let cptestctx = nexus_test_utils::ControlPlaneBuilder::new("test_update_status") .start::() .await; let client = &cptestctx.external_client; - let logctx = &cptestctx.logctx; // During high contention the inventory might not be ready yet, which will // cause the call to /v1/system/update/status to 500. Ensure the inventory @@ -750,13 +693,13 @@ async fn test_update_status() -> Result<()> { // Upload a fake TUF repo and set it as the target release let trust_root = TestTrustRoot::generate().await?; trust_root.to_upload_request(client, StatusCode::CREATED).execute().await?; + let v1 = Version::new(1, 0, 0); trust_root - .assemble_repo(&logctx.log, &[]) + .assemble_repo(RepositoryEditor::fake(v1.clone())?) .await? .to_upload_request(client, StatusCode::OK) .execute() .await?; - let v1 = Version::new(1, 0, 0); set_target_release_for_mupdate_recovery(client, &v1).await?; let status: update::UpdateStatus = @@ -773,17 +716,8 @@ async fn test_update_status() -> Result<()> { // do it again so there are two, so both versions are associated with tuf repos let v2 = Version::new(2, 0, 0); - let tweaks = &[ - ManifestTweak::SystemVersion(v2.clone()), - ManifestTweak::ArtifactVersion { - kind: KnownArtifactKind::SwitchRotBootloader, - version: ArtifactVersion::new("non-semver-2").unwrap(), - }, - ]; - let trust_root = TestTrustRoot::generate().await?; - trust_root.to_upload_request(client, StatusCode::CREATED).execute().await?; trust_root - .assemble_repo(&logctx.log, tweaks) + .assemble_repo(RepositoryEditor::fake(v2.clone())?) .await? .to_upload_request(client, StatusCode::OK) .execute() @@ -886,7 +820,7 @@ async fn test_repo_prune(cptestctx: &ControlPlaneTestContext) { assert!(repos.iter().any(|r| r.id() == repo4id)); } -#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +#[tokio::test] async fn test_repo_list() -> Result<()> { let cptestctx = nexus_test_utils::ControlPlaneBuilder::new("test_repo_list") @@ -908,7 +842,9 @@ async fn test_repo_list() -> Result<()> { trust_root.to_upload_request(client, StatusCode::CREATED).execute().await?; // Upload first repository (system version 1.0.0) - let repo1 = trust_root.assemble_repo(&logctx.log, &[]).await?; + let repo1 = trust_root + .assemble_repo(RepositoryEditor::fake(Version::new(1, 0, 0))?) + .await?; let upload_response1 = repo1 .into_upload_request(client, StatusCode::OK) .execute() @@ -920,8 +856,9 @@ async fn test_repo_list() -> Result<()> { assert_eq!(response1.status, TufRepoUploadStatus::Inserted); // Upload second repository (system version 2.0.0) - let tweaks = &[ManifestTweak::SystemVersion("2.0.0".parse().unwrap())]; - let repo2 = trust_root.assemble_repo(&logctx.log, tweaks).await?; + let repo2 = trust_root + .assemble_repo(RepositoryEditor::fake(Version::new(2, 0, 0))?) + .await?; let upload_response2 = repo2 .into_upload_request(client, StatusCode::OK) .execute() @@ -933,8 +870,9 @@ async fn test_repo_list() -> Result<()> { assert_eq!(response2.status, TufRepoUploadStatus::Inserted); // Upload third repository (system version 3.0.0) - let tweaks = &[ManifestTweak::SystemVersion("3.0.0".parse().unwrap())]; - let repo3 = trust_root.assemble_repo(&logctx.log, tweaks).await?; + let repo3 = trust_root + .assemble_repo(RepositoryEditor::fake(Version::new(3, 0, 0))?) + .await?; let upload_response3 = repo3 .into_upload_request(client, StatusCode::OK) .execute() diff --git a/nexus/types/Cargo.toml b/nexus/types/Cargo.toml index 331e64835c8..cf5dae1b575 100644 --- a/nexus/types/Cargo.toml +++ b/nexus/types/Cargo.toml @@ -58,7 +58,7 @@ thiserror.workspace = true tokio.workspace = true trust-quorum-protocol.workspace = true trust-quorum-types.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true newtype-uuid.workspace = true nexus-types-versions.workspace = true diff --git a/nexus/types/src/deployment.rs b/nexus/types/src/deployment.rs index 478e5123220..3ff94395a4e 100644 --- a/nexus/types/src/deployment.rs +++ b/nexus/types/src/deployment.rs @@ -35,7 +35,6 @@ use omicron_common::address::SLED_RESERVED_ADDRESSES; use omicron_common::address::get_sled_address; use omicron_common::api::external::ByteCount; use omicron_common::api::external::Generation; -use omicron_common::api::external::TufArtifactMeta; use omicron_common::api::internal::shared::DatasetKind; use omicron_common::disk::CompressionAlgorithm; use omicron_common::disk::DatasetConfig; @@ -75,9 +74,10 @@ use std::net::Ipv6Addr; use std::net::SocketAddrV6; use std::sync::Arc; use strum::EnumIter; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactVersion; -use tufaceous_artifact::ArtifactVersionError; +use tufaceous_artifact_v2::Artifact; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactVersion; +use tufaceous_artifact_v2::ArtifactVersionError; mod blueprint_diff; mod blueprint_display; @@ -1994,14 +1994,21 @@ pub enum BlueprintZoneImageSource { /// This originates from TUF repos uploaded to Nexus which are then /// replicated out to all sleds. #[serde(rename_all = "snake_case")] - Artifact { version: BlueprintArtifactVersion, hash: ArtifactHash }, + Artifact { + version: BlueprintArtifactVersion, + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using + // the old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] + hash: ArtifactHash, + }, } impl BlueprintZoneImageSource { - pub fn from_available_artifact(artifact: &TufArtifactMeta) -> Self { + pub fn from_available_artifact(artifact: &Artifact) -> Self { BlueprintZoneImageSource::Artifact { version: BlueprintArtifactVersion::Available { - version: artifact.id.version.clone(), + version: artifact.version.clone(), }, hash: artifact.hash, } @@ -2088,6 +2095,10 @@ impl fmt::Display for BlueprintArtifactVersion { )] pub struct BlueprintSingleMeasurement { pub version: BlueprintArtifactVersion, + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub hash: ArtifactHash, } @@ -2363,7 +2374,14 @@ pub enum BlueprintHostPhase2DesiredContents { /// Set the phase 2 slot to the given artifact. /// /// The artifact will come from an unpacked and distributed TUF repo. - Artifact { version: BlueprintArtifactVersion, hash: ArtifactHash }, + Artifact { + version: BlueprintArtifactVersion, + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using + // the old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] + hash: ArtifactHash, + }, } impl From for HostPhase2DesiredContents { @@ -2533,6 +2551,10 @@ pub struct PendingMgsUpdate { pub details: PendingMgsUpdateDetails, /// which artifact to apply to this device + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub artifact_hash: ArtifactHash, pub artifact_version: ArtifactVersion, } @@ -2834,12 +2856,17 @@ pub struct PendingMgsUpdateHostPhase1Details { pub expected_active_phase_1_slot: M2Slot, /// Which slot the host OS most recently booted from. pub expected_boot_disk: M2Slot, + + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. /// The hash of the phase 1 slot specified by /// `expected_active_phase_1_hash`. /// /// We should always be able to fetch this. Even if the phase 1 contents /// themselves have been corrupted (very scary for the active slot!), the SP /// can still hash those contents. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub expected_active_phase_1_hash: ArtifactHash, /// The hash of the currently-active phase 2 artifact. /// @@ -2847,6 +2874,7 @@ pub struct PendingMgsUpdateHostPhase1Details { /// would indicate that we don't know the version currently running. The /// planner wouldn't stage an update without knowing the current version, so /// if something has gone wrong in the meantime we won't proceede either. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub expected_active_phase_2_hash: ArtifactHash, /// The hash of the phase 1 slot specified by toggling /// `expected_active_phase_1_slot` to the other slot. @@ -2854,6 +2882,7 @@ pub struct PendingMgsUpdateHostPhase1Details { /// We should always be able to fetch this. Even if the phase 1 contents /// of the inactive slot are entirely bogus, the SP can still hash those /// contents. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub expected_inactive_phase_1_hash: ArtifactHash, /// The hash of the currently-inactive phase 2 artifact. /// @@ -2862,7 +2891,9 @@ pub struct PendingMgsUpdateHostPhase1Details { /// a phase 1 update is that `sled-agent` on the target sled has already /// written the paired phase 2 artifact to the inactive slot; therefore, we /// don't need to be able to represent an invalid inactive slot. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub expected_inactive_phase_2_hash: ArtifactHash, + /// Address for contacting sled-agent to check phase 2 contents. #[cfg_attr(test, strategy(socket_addr_v6_without_flowinfo()))] pub sled_agent_address: SocketAddrV6, diff --git a/nexus/types/src/deployment/planning_input.rs b/nexus/types/src/deployment/planning_input.rs index 9f85d70f5f8..74aa41fd49c 100644 --- a/nexus/types/src/deployment/planning_input.rs +++ b/nexus/types/src/deployment/planning_input.rs @@ -24,6 +24,7 @@ use crate::external_api::physical_disk::PhysicalDiskState; use crate::external_api::sled::SledPolicy; use crate::external_api::sled::SledProvisionPolicy; use crate::external_api::sled::SledState; +use crate::tuf_repo::TufRepoDescription; use chrono::DateTime; use chrono::TimeDelta; use chrono::Utc; @@ -36,10 +37,8 @@ use omicron_common::address::Ipv6Range; use omicron_common::address::Ipv6Subnet; use omicron_common::address::SLED_PREFIX_LENGTH; use omicron_common::api::external::Generation; -use omicron_common::api::external::TufRepoDescription; use omicron_common::disk::DiskIdentity; use omicron_common::policy::SINGLE_NODE_CLICKHOUSE_REDUNDANCY; -use omicron_common::update::ArtifactId; use omicron_uuid_kinds::OmicronZoneUuid; use omicron_uuid_kinds::PhysicalDiskUuid; use omicron_uuid_kinds::SledUuid; @@ -59,6 +58,7 @@ use std::net::IpAddr; use std::sync::Arc; use strum::Display; use strum::IntoEnumIterator; +use tufaceous_artifact_v2::ZoneTags; /// Amount of time we're willing to let an MGS-managed update sit in an /// "impossible preconditions" state waiting for it to settle. @@ -1628,23 +1628,13 @@ impl TargetReleaseDescription { match self { Self::Initial => Ok(BlueprintZoneImageSource::InstallDataset), Self::TufRepo(tuf_repo) => { - // We should have exactly one artifact for a given zone kind in - // every TUF repo; return an error if we have 0 or more than 1. - let mut matching_artifacts = - tuf_repo.artifacts.iter().filter(|artifact| { - zone_kind.is_control_plane_zone_artifact(&artifact.id) - }); - let artifact = matching_artifacts - .next() - .ok_or(TufRepoContentsError::MissingZoneKind(zone_kind))?; - if let Some(extra_artifact) = matching_artifacts.next() { - return Err( - TufRepoContentsError::MultipleArtifactsSameZoneKind { - artifact1: artifact.id.clone(), - artifact2: extra_artifact.id.clone(), - }, - ); - } + let tags = ZoneTags { + zone_name: zone_kind.artifact_id_name().to_owned(), + }; + let artifact = + tuf_repo.artifacts.get_only(&tags.into()).map_err( + |source| TufRepoContentsError { zone_kind, source }, + )?; Ok(BlueprintZoneImageSource::from_available_artifact(artifact)) } } @@ -1652,17 +1642,12 @@ impl TargetReleaseDescription { } #[derive(Debug, thiserror::Error)] -pub enum TufRepoContentsError { - #[error("TUF repo is missing an artifact for zone kind {0:?}")] - MissingZoneKind(ZoneKind), - #[error( - "TUF repo contains 2 or more artifacts for the same zone kind: \ - {artifact1:?}, {artifact2:?}" - )] - MultipleArtifactsSameZoneKind { - artifact1: ArtifactId, - artifact2: ArtifactId, - }, +#[error( + "TUF repo does not contain exactly 1 artifact for zone kind {zone_kind:?}" +)] +pub struct TufRepoContentsError { + zone_kind: ZoneKind, + source: tufaceous_artifact_v2::artifact_set::GetError, } /// Where oximeter should read from diff --git a/nexus/types/src/deployment/planning_report.rs b/nexus/types/src/deployment/planning_report.rs index 2a224d94ca3..a0874c7bd31 100644 --- a/nexus/types/src/deployment/planning_report.rs +++ b/nexus/types/src/deployment/planning_report.rs @@ -496,6 +496,7 @@ pub enum PlanningNoopImageSourceSkipZoneReason { error: String, }, ArtifactNotInRepo { + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] artifact_hash: ArtifactHash, zone_kind: String, file_name: String, @@ -595,8 +596,12 @@ pub enum FailedRotBootloaderUpdateReason { #[error("version from caboose {caboose:?} could not be parsed: {err}")] FailedVersionParse { caboose: CabooseWhich, err: String }, /// No artifact with the required conditions for the component was found - #[error("no matching artifact was found")] - NoMatchingArtifactFound, + #[error("no artifact matching {0} was found")] + NoMatchingArtifactFound(String), + /// Too many artifacts with the required conditions for the component were + /// found + #[error("too many artifacts matching {0} were found")] + TooManyMatchingArtifacts(String), /// The component's corresponding SP was not found in the inventory #[error("corresponding SP is not in inventory")] SpNotInInventory, @@ -630,8 +635,12 @@ pub enum FailedRotUpdateReason { #[error("version from caboose {caboose:?} could not be parsed: {err}")] FailedVersionParse { caboose: CabooseWhich, err: String }, /// No artifact with the required conditions for the component was found - #[error("no matching artifact was found")] - NoMatchingArtifactFound, + #[error("no artifact matching {0} was found")] + NoMatchingArtifactFound(String), + /// Too many artifacts with the required conditions for the component were + /// found + #[error("too many artifacts matching {0} were found")] + TooManyMatchingArtifacts(String), /// RoT state was not found in inventory #[error("rot state is not in inventory")] RotStateNotInInventory, @@ -665,8 +674,12 @@ pub enum FailedSpUpdateReason { #[error("version from caboose {caboose:?} could not be parsed: {err}")] FailedVersionParse { caboose: CabooseWhich, err: String }, /// No artifact with the required conditions for the component was found - #[error("no matching artifact was found")] - NoMatchingArtifactFound, + #[error("no artifact matching {0} was found")] + NoMatchingArtifactFound(String), + /// Too many artifacts with the required conditions for the component were + /// found + #[error("too many artifacts matching {0} were found")] + TooManyMatchingArtifacts(String), /// The component's corresponding SP was not found in the inventory #[error("corresponding SP is not in inventory")] SpNotInInventory, diff --git a/nexus/types/src/internal_api/background.rs b/nexus/types/src/internal_api/background.rs index 2a352a7923a..bcad21be968 100644 --- a/nexus/types/src/internal_api/background.rs +++ b/nexus/types/src/internal_api/background.rs @@ -32,7 +32,7 @@ use std::net::Ipv6Addr; use std::sync::Arc; use swrite::SWrite; use swrite::swriteln; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use uuid::Uuid; /// The status of a `region_replacement` background task activation diff --git a/nexus/types/src/internal_api/views.rs b/nexus/types/src/internal_api/views.rs index 3ac998134eb..059734910a9 100644 --- a/nexus/types/src/internal_api/views.rs +++ b/nexus/types/src/internal_api/views.rs @@ -20,7 +20,6 @@ use iddqd::IdOrdMap; use iddqd::id_upcast; use omicron_common::api::external::MacAddr; use omicron_common::api::external::ObjectStream; -use omicron_common::api::external::TufArtifactMeta; use omicron_common::api::external::Vni; use omicron_common::disk::M2Slot; use omicron_common::snake_case_result; @@ -48,9 +47,14 @@ use std::time::Duration; use std::time::Instant; use steno::SagaResultErr; use steno::UndoActionError; -use tufaceous_artifact::ArtifactHash; -use tufaceous_artifact::ArtifactKind; -use tufaceous_artifact::KnownArtifactKind; +use tufaceous_artifact_v2::Artifact; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactSet; +use tufaceous_artifact_v2::KnownArtifactTags; +use tufaceous_artifact_v2::RotBootloaderTags; +use tufaceous_artifact_v2::RotKeyTableHash; +use tufaceous_artifact_v2::RotTags; +use tufaceous_artifact_v2::SpTags; use uuid::Uuid; pub async fn to_list(object_stream: ObjectStream) -> Vec @@ -552,20 +556,16 @@ impl TufRepoVersion { new: &TargetReleaseDescription, artifact_hash: ArtifactHash, ) -> TufRepoVersion { - let matching_artifact = |a: &TufArtifactMeta| a.hash == artifact_hash; + let matching_artifact = |a: &Artifact| a.hash == artifact_hash; if let Some(new) = new.tuf_repo() { if new.artifacts.iter().any(matching_artifact) { - return TufRepoVersion::Version( - new.repo.system_version.clone(), - ); + return TufRepoVersion::Version(new.system_version.clone()); } } if let Some(old) = old.tuf_repo() { if old.artifacts.iter().any(matching_artifact) { - return TufRepoVersion::Version( - old.repo.system_version.clone(), - ); + return TufRepoVersion::Version(old.system_version.clone()); } } @@ -908,50 +908,43 @@ impl MgsDrivenUpdateStatusBuilder<'_> { return TufRepoVersion::Unknown; }; - // TODO-cleanup This is really fragile! The RoT and bootloader kinds - // here aren't `KnownArtifactKind`s, so if we add more - // `ArtifactKind` constants we have to remember to update these - // lists. Maybe we fix this as a part of - // https://github.com/oxidecomputer/tufaceous/issues/37? - let matching_kinds = match which { - CabooseWhich::SpSlot0 | CabooseWhich::SpSlot1 => [ - ArtifactKind::from_known(KnownArtifactKind::GimletSp), - ArtifactKind::from_known(KnownArtifactKind::PscSp), - ArtifactKind::from_known(KnownArtifactKind::SwitchSp), - ], - CabooseWhich::RotSlotA => [ - ArtifactKind::GIMLET_ROT_IMAGE_A, - ArtifactKind::PSC_ROT_IMAGE_A, - ArtifactKind::SWITCH_ROT_IMAGE_A, - ], - CabooseWhich::RotSlotB => [ - ArtifactKind::GIMLET_ROT_IMAGE_B, - ArtifactKind::PSC_ROT_IMAGE_B, - ArtifactKind::SWITCH_ROT_IMAGE_B, - ], - CabooseWhich::Stage0 | CabooseWhich::Stage0Next => [ - ArtifactKind::GIMLET_ROT_STAGE0, - ArtifactKind::PSC_ROT_STAGE0, - ArtifactKind::SWITCH_ROT_STAGE0, - ], + let matching_kind: KnownArtifactTags = match which { + CabooseWhich::SpSlot0 | CabooseWhich::SpSlot1 => { + SpTags { sp_board: caboose.board.clone() }.into() + } + CabooseWhich::RotSlotA => RotTags { + rot_board: caboose.board.clone(), + rot_rkth: caboose.sign.clone().map(RotKeyTableHash), + rot_slot: tufaceous_artifact_v2::RotSlot::A, + } + .into(), + CabooseWhich::RotSlotB => RotTags { + rot_board: caboose.board.clone(), + rot_rkth: caboose.sign.clone().map(RotKeyTableHash), + rot_slot: tufaceous_artifact_v2::RotSlot::B, + } + .into(), + CabooseWhich::Stage0 | CabooseWhich::Stage0Next => { + RotBootloaderTags { + rot_board: caboose.board.clone(), + rot_rkth: caboose.sign.clone().map(RotKeyTableHash), + } + .into() + } }; - let matching_caboose = |a: &TufArtifactMeta| { - Some(&caboose.board) == a.board.as_ref() - && caboose.version == a.id.version.to_string() - && matching_kinds.contains(&a.id.kind) + let has_matching_caboose = |artifacts: &ArtifactSet| { + artifacts + .get_only(&matching_kind) + .is_ok_and(|a| caboose.version == a.version.as_str()) }; if let Some(new) = self.new.tuf_repo() { - if new.artifacts.iter().any(matching_caboose) { - return TufRepoVersion::Version( - new.repo.system_version.clone(), - ); + if has_matching_caboose(&new.artifacts) { + return TufRepoVersion::Version(new.system_version.clone()); } } if let Some(old) = self.old.tuf_repo() { - if old.artifacts.iter().any(matching_caboose) { - return TufRepoVersion::Version( - old.repo.system_version.clone(), - ); + if has_matching_caboose(&old.artifacts) { + return TufRepoVersion::Version(old.system_version.clone()); } } @@ -1089,17 +1082,13 @@ impl UpdateStatus { if let Some(new) = new.tuf_repo() { if new.artifacts.iter().any(|meta| meta.hash == hash) { - return TufRepoVersion::Version( - new.repo.system_version.clone(), - ); + return TufRepoVersion::Version(new.system_version.clone()); } } if let Some(old) = old.tuf_repo() { if old.artifacts.iter().any(|meta| meta.hash == hash) { - return TufRepoVersion::Version( - old.repo.system_version.clone(), - ); + return TufRepoVersion::Version(old.system_version.clone()); } } @@ -1281,7 +1270,7 @@ mod test { use std::collections::VecDeque; use std::sync::Arc; use std::time::Instant; - use tufaceous_artifact::ArtifactHash; + use tufaceous_artifact_v2::ArtifactHash; #[test] fn test_can_serialize_mgs_updates() { diff --git a/nexus/types/src/inventory.rs b/nexus/types/src/inventory.rs index 312306d4e3c..e4bda762449 100644 --- a/nexus/types/src/inventory.rs +++ b/nexus/types/src/inventory.rs @@ -54,7 +54,7 @@ use std::collections::BTreeSet; use std::net::SocketAddrV6; use std::sync::Arc; use strum::EnumIter; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; mod display; diff --git a/nexus/types/src/inventory/display.rs b/nexus/types/src/inventory/display.rs index a3848992852..aaab9d53a0a 100644 --- a/nexus/types/src/inventory/display.rs +++ b/nexus/types/src/inventory/display.rs @@ -34,7 +34,7 @@ use sled_agent_types_versions::latest::inventory::{ use std::collections::HashMap; use strum::IntoEnumIterator; use tabled::Tabled; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use uuid::Uuid; use crate::inventory::{ diff --git a/nexus/types/src/lib.rs b/nexus/types/src/lib.rs index 9a5eeb77c06..0f730cd4be0 100644 --- a/nexus/types/src/lib.rs +++ b/nexus/types/src/lib.rs @@ -45,3 +45,4 @@ pub mod saga; pub mod silo; pub mod support_bundle; pub mod trust_quorum; +pub mod tuf_repo; diff --git a/nexus/types/src/tuf_repo.rs b/nexus/types/src/tuf_repo.rs new file mode 100644 index 00000000000..195772c0a2a --- /dev/null +++ b/nexus/types/src/tuf_repo.rs @@ -0,0 +1,37 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +use std::collections::BTreeMap; + +use semver::Version; +use serde::Deserialize; +use serde::Serialize; +use tufaceous_artifact_v2::ArtifactHash; +use tufaceous_artifact_v2::ArtifactSet; + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct TufRepoDescription { + /// The artifacts described in the repository. + pub artifacts: ArtifactSet, + + /// The metadata of the repository. + pub metadata: BTreeMap, + + /// The system version in `artifacts-v2.json`. + pub system_version: Version, + + /// The hash of the repository. + /// + /// This is a slight abuse of `ArtifactHash`, since that's the hash of + /// individual artifacts within the repository. However, we use it here for + /// convenience. + pub hash: ArtifactHash, + + /// The file name of the repository. + /// + /// This is purely used for debugging and may not always be correct (e.g. + /// with wicket, we read the file contents from stdin so we don't know the + /// correct file name). + pub file_name: String, +} diff --git a/nexus/types/versions/Cargo.toml b/nexus/types/versions/Cargo.toml index 2b326d78bfa..67be2abd025 100644 --- a/nexus/types/versions/Cargo.toml +++ b/nexus/types/versions/Cargo.toml @@ -37,6 +37,6 @@ slog-error-chain.workspace = true strum.workspace = true thiserror.workspace = true tough.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true url.workspace = true uuid.workspace = true diff --git a/nexus/types/versions/src/initial/update.rs b/nexus/types/versions/src/initial/update.rs index 450380c99f1..7ffe4a35e87 100644 --- a/nexus/types/versions/src/initial/update.rs +++ b/nexus/types/versions/src/initial/update.rs @@ -11,7 +11,7 @@ use semver::Version; use serde::{Deserialize, Deserializer, Serialize, de::Error as _}; use slog_error_chain::InlineErrorChain; use std::collections::BTreeMap; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use uuid::Uuid; /// Wrapper type for TUF root roles to prevent misuse. @@ -121,6 +121,11 @@ pub struct TufRepo { // This is a slight abuse of `ArtifactHash`, since that's the hash of // individual artifacts within the repository. However, we use it here for // convenience. + // + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub hash: ArtifactHash, /// The system version for this repository diff --git a/openapi/nexus-lockstep.json b/openapi/nexus-lockstep.json index 35fb17a3b6d..7dd4ebbbcd1 100644 --- a/openapi/nexus-lockstep.json +++ b/openapi/nexus-lockstep.json @@ -4746,10 +4746,33 @@ "enum": [ "no_matching_artifact_found" ] + }, + "value": { + "type": "string" } }, "required": [ - "type" + "type", + "value" + ] + }, + { + "description": "Too many artifacts with the required conditions for the component were found", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "too_many_matching_artifacts" + ] + }, + "value": { + "type": "string" + } + }, + "required": [ + "type", + "value" ] }, { @@ -4850,10 +4873,33 @@ "enum": [ "no_matching_artifact_found" ] + }, + "value": { + "type": "string" } }, "required": [ - "type" + "type", + "value" + ] + }, + { + "description": "Too many artifacts with the required conditions for the component were found", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "too_many_matching_artifacts" + ] + }, + "value": { + "type": "string" + } + }, + "required": [ + "type", + "value" ] }, { @@ -4950,10 +4996,33 @@ "enum": [ "no_matching_artifact_found" ] + }, + "value": { + "type": "string" } }, "required": [ - "type" + "type", + "value" + ] + }, + { + "description": "Too many artifacts with the required conditions for the component were found", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "too_many_matching_artifacts" + ] + }, + "value": { + "type": "string" + } + }, + "required": [ + "type", + "value" ] }, { diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index 5f2d08165ae..f2be1a1280f 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -3081,15 +3081,6 @@ CREATE TABLE IF NOT EXISTS omicron.public.tuf_repo ( -- implementation detail of our ZIP archives. sha256 STRING(64) NOT NULL, - -- The version of the targets.json role that was used to generate the repo. - targets_role_version INT NOT NULL, - - -- The valid_until time for the repo. - -- TODO: Figure out timestamp validity policy for uploaded repos vs those - -- fetched over HTTP; my (iliana's) current presumption is that we will make - -- this NULL for uploaded ZIP archives of repos. - valid_until TIMESTAMPTZ NOT NULL, - -- The system version described in the TUF repo. -- -- This is the "true" primary key, but is not treated as such in the @@ -3115,18 +3106,23 @@ CREATE UNIQUE INDEX IF NOT EXISTS tuf_repo_not_pruned ON omicron.public.tuf_repo (id) WHERE time_pruned IS NULL; +-- Describes the contents of the `metadata` member of `artifacts-v2.json` in a +-- TUF repo. +CREATE TABLE IF NOT EXISTS omicron.public.tuf_repo_metadata ( + tuf_repo_id UUID NOT NULL, + key TEXT NOT NULL, + value TEXT NOT NULL, + + PRIMARY KEY (tuf_repo_id, key) +); + -- Describes an individual artifact from an uploaded TUF repo. -- --- In the future, this may also be used to describe artifacts that are fetched --- from a remote TUF repo, but that requires some additional design work. +-- A row in this table represents a set of tags for a given artifact hash. (This +-- is ideally a unique set of tags, which Nexus attempts to ensure, but this +-- cannot be guaranteed by the schema.) CREATE TABLE IF NOT EXISTS omicron.public.tuf_artifact ( id UUID PRIMARY KEY, - name STRING(63) NOT NULL, - version STRING(64) NOT NULL, - -- This used to be an enum but is now a string, because it can represent - -- artifact kinds currently unknown to a particular version of Nexus as - -- well. - kind STRING(63) NOT NULL, -- The time this artifact was first recorded. time_created TIMESTAMPTZ NOT NULL, @@ -3134,29 +3130,34 @@ CREATE TABLE IF NOT EXISTS omicron.public.tuf_artifact ( -- The SHA256 hash of the artifact, typically obtained from the TUF -- targets.json (and validated at extract time). sha256 STRING(64) NOT NULL, - -- The length of the artifact, in bytes. - artifact_size INT8 NOT NULL, -- The generation number this artifact was added for. - generation_added INT8 NOT NULL, - - -- Sign (root key hash table) hash of a signed RoT or RoT bootloader image. - sign BYTES, -- nullable + generation_added INT8 NOT NULL +); - -- Board (caboose BORD) for artifacts that are Hubris archives. - board TEXT, -- nullable (null for non-Hubris artifacts) +CREATE UNIQUE INDEX IF NOT EXISTS tuf_artifact_sha256 + ON omicron.public.tuf_artifact (sha256, id); - CONSTRAINT unique_name_version_kind UNIQUE (name, version, kind) +-- Describes the version and length for a given artifact SHA256 hash. +-- +-- This is a separate table to enforce the one-to-one mapping between SHA256 +-- hash and version/length. Per RFD 554, artifacts must be stamped with their +-- version (or a similar identifier) to ensure that they change when the version +-- changes. +CREATE TABLE IF NOT EXISTS omicron.public.tuf_artifact_file ( + sha256 STRING(64) PRIMARY KEY, + version STRING(64) NOT NULL, + artifact_size INT8 NOT NULL ); -CREATE UNIQUE INDEX IF NOT EXISTS tuf_artifact_added - ON omicron.public.tuf_artifact (generation_added, id) - STORING (name, version, kind, time_created, sha256, artifact_size); +-- Describes a single tag in the set of tags that describe an artifact. +CREATE TABLE IF NOT EXISTS omicron.public.tuf_artifact_tag ( + tuf_artifact_id UUID NOT NULL, + key TEXT NOT NULL, + value TEXT NOT NULL, --- RFD 554: (kind, hash) is unique for artifacts. This index is used while --- looking up artifacts. -CREATE UNIQUE INDEX IF NOT EXISTS tuf_artifact_kind_sha256 - ON omicron.public.tuf_artifact (kind, sha256); + PRIMARY KEY (tuf_artifact_id, key) +); -- Reflects that a particular artifact was provided by a particular TUF repo. -- This is a many-many mapping. @@ -9079,7 +9080,7 @@ INSERT INTO omicron.public.db_metadata ( version, target_version ) VALUES - (TRUE, NOW(), NOW(), '280.0.0', NULL) + (TRUE, NOW(), NOW(), '281.0.0', NULL) ON CONFLICT DO NOTHING; COMMIT; diff --git a/schema/crdb/tufaceous-v2/up01.sql b/schema/crdb/tufaceous-v2/up01.sql new file mode 100644 index 00000000000..562aac336b6 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up01.sql @@ -0,0 +1,5 @@ +CREATE TABLE IF NOT EXISTS omicron.public.tuf_artifact_file ( + sha256 STRING(64) PRIMARY KEY, + version STRING(64) NOT NULL, + artifact_size INT8 NOT NULL +); diff --git a/schema/crdb/tufaceous-v2/up02.sql b/schema/crdb/tufaceous-v2/up02.sql new file mode 100644 index 00000000000..1b046a41a9c --- /dev/null +++ b/schema/crdb/tufaceous-v2/up02.sql @@ -0,0 +1,2 @@ +CREATE UNIQUE INDEX IF NOT EXISTS tuf_artifact_sha256 + ON omicron.public.tuf_artifact (sha256, id); diff --git a/schema/crdb/tufaceous-v2/up02.verify.sql b/schema/crdb/tufaceous-v2/up02.verify.sql new file mode 100644 index 00000000000..c44481a5244 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up02.verify.sql @@ -0,0 +1,2 @@ +-- DO NOT EDIT. Generated by test_migration_verification_files. +SELECT CAST(IF((SELECT true WHERE EXISTS (SELECT index_name FROM omicron.crdb_internal.table_indexes WHERE descriptor_name = 'tuf_artifact' AND index_name = 'tuf_artifact_sha256')),'true','Schema change verification failed: index tuf_artifact_sha256 on table tuf_artifact does not exist') AS BOOL); diff --git a/schema/crdb/tufaceous-v2/up03.sql b/schema/crdb/tufaceous-v2/up03.sql new file mode 100644 index 00000000000..deed3a3336a --- /dev/null +++ b/schema/crdb/tufaceous-v2/up03.sql @@ -0,0 +1,6 @@ +SET LOCAL disallow_full_table_scans = 'off'; +INSERT INTO omicron.public.tuf_artifact_file + SELECT DISTINCT ON (sha256) sha256, version, artifact_size + FROM omicron.public.tuf_artifact + ORDER BY sha256 ASC, version ASC, artifact_size ASC +ON CONFLICT DO NOTHING; diff --git a/schema/crdb/tufaceous-v2/up04.sql b/schema/crdb/tufaceous-v2/up04.sql new file mode 100644 index 00000000000..b94d4760de0 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up04.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS tuf_artifact_added; diff --git a/schema/crdb/tufaceous-v2/up05.sql b/schema/crdb/tufaceous-v2/up05.sql new file mode 100644 index 00000000000..a898b45f78e --- /dev/null +++ b/schema/crdb/tufaceous-v2/up05.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS tuf_artifact@unique_name_version_kind CASCADE; diff --git a/schema/crdb/tufaceous-v2/up06.sql b/schema/crdb/tufaceous-v2/up06.sql new file mode 100644 index 00000000000..02e3bc5e2e5 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up06.sql @@ -0,0 +1,2 @@ +ALTER TABLE omicron.public.tuf_artifact + DROP COLUMN IF EXISTS version; diff --git a/schema/crdb/tufaceous-v2/up07.sql b/schema/crdb/tufaceous-v2/up07.sql new file mode 100644 index 00000000000..c9446a071c1 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up07.sql @@ -0,0 +1,2 @@ +ALTER TABLE omicron.public.tuf_artifact + DROP COLUMN IF EXISTS artifact_size; diff --git a/schema/crdb/tufaceous-v2/up08.sql b/schema/crdb/tufaceous-v2/up08.sql new file mode 100644 index 00000000000..2a632656a71 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up08.sql @@ -0,0 +1,2 @@ +ALTER TABLE omicron.public.tuf_repo + DROP COLUMN IF EXISTS targets_role_version; diff --git a/schema/crdb/tufaceous-v2/up09.sql b/schema/crdb/tufaceous-v2/up09.sql new file mode 100644 index 00000000000..097bfaff2c4 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up09.sql @@ -0,0 +1,2 @@ +ALTER TABLE omicron.public.tuf_repo + DROP COLUMN IF EXISTS valid_until; diff --git a/schema/crdb/tufaceous-v2/up10.sql b/schema/crdb/tufaceous-v2/up10.sql new file mode 100644 index 00000000000..d0df558441d --- /dev/null +++ b/schema/crdb/tufaceous-v2/up10.sql @@ -0,0 +1,7 @@ +CREATE TABLE IF NOT EXISTS omicron.public.tuf_repo_metadata ( + tuf_repo_id UUID NOT NULL, + key TEXT NOT NULL, + value TEXT NOT NULL, + + PRIMARY KEY (tuf_repo_id, key) +); diff --git a/schema/crdb/tufaceous-v2/up11.sql b/schema/crdb/tufaceous-v2/up11.sql new file mode 100644 index 00000000000..d660b2e2b92 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up11.sql @@ -0,0 +1,7 @@ +CREATE TABLE IF NOT EXISTS omicron.public.tuf_artifact_tag ( + tuf_artifact_id UUID NOT NULL, + key TEXT NOT NULL, + value TEXT NOT NULL, + + PRIMARY KEY (tuf_artifact_id, key) +); diff --git a/schema/crdb/tufaceous-v2/up12.sql b/schema/crdb/tufaceous-v2/up12.sql new file mode 100644 index 00000000000..cc2d405d246 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up12.sql @@ -0,0 +1,168 @@ +SET LOCAL disallow_full_table_scans = 'off'; + +-- The sign column is BYTES but the bytes it is storing is an ASCII-encoded hex +-- string. We want the ASCII as-is, not re-hexed. +SET LOCAL bytea_output = 'escape'; + +-- 'kind' tag, used by all artifacts +INSERT INTO omicron.public.tuf_artifact_tag (tuf_artifact_id, key, value) + SELECT id, 'kind', (CASE kind + WHEN 'installinator_document' THEN 'installinator_document' + WHEN 'measurement_corpus' THEN 'measurement_corpus' + WHEN 'cosmo_host_phase_1' THEN 'os_phase1' + WHEN 'cosmo_trampoline_phase_1' THEN 'os_phase1' + WHEN 'gimlet_host_phase_1' THEN 'os_phase1' + WHEN 'gimlet_trampoline_phase_1' THEN 'os_phase1' + WHEN 'host_phase_2' THEN 'os_phase2' + WHEN 'trampoline_phase_2' THEN 'os_phase2' + WHEN 'gimlet_rot_image_a' THEN 'rot' + WHEN 'gimlet_rot_image_b' THEN 'rot' + WHEN 'psc_rot_image_a' THEN 'rot' + WHEN 'psc_rot_image_b' THEN 'rot' + WHEN 'switch_rot_image_a' THEN 'rot' + WHEN 'switch_rot_image_b' THEN 'rot' + WHEN 'gimlet_rot_bootloader' THEN 'rot_bootloader' + WHEN 'psc_rot_bootloader' THEN 'rot_bootloader' + WHEN 'switch_rot_bootloader' THEN 'rot_bootloader' + WHEN 'gimlet_sp' THEN 'sp' + WHEN 'psc_sp' THEN 'sp' + WHEN 'switch_sp' THEN 'sp' + WHEN 'zone' THEN 'zone' + ELSE NULL + END) + FROM omicron.public.tuf_artifact + WHERE kind IN ( + 'installinator_document', + 'measurement_corpus', + 'cosmo_host_phase_1', + 'cosmo_trampoline_phase_1', + 'gimlet_host_phase_1', + 'gimlet_trampoline_phase_1', + 'host_phase_2', + 'trampoline_phase_2', + 'gimlet_rot_image_a', + 'gimlet_rot_image_b', + 'psc_rot_image_a', + 'psc_rot_image_b', + 'switch_rot_image_a', + 'switch_rot_image_b', + 'gimlet_rot_bootloader', + 'psc_rot_bootloader', + 'switch_rot_bootloader', + 'gimlet_sp', + 'psc_sp', + 'switch_sp', + 'zone' + ) +ON CONFLICT DO NOTHING; + +-- 'os_board' tag, used by os_phase1 artifacts +INSERT INTO omicron.public.tuf_artifact_tag (tuf_artifact_id, key, value) + SELECT id, 'os_board', (CASE kind + WHEN 'cosmo_host_phase_1' THEN 'cosmo' + WHEN 'cosmo_trampoline_phase_1' THEN 'cosmo' + WHEN 'gimlet_host_phase_1' THEN 'gimlet' + WHEN 'gimlet_trampoline_phase_1' THEN 'gimlet' + END) + FROM omicron.public.tuf_artifact + WHERE kind IN ( + 'cosmo_host_phase_1', + 'cosmo_trampoline_phase_1', + 'gimlet_host_phase_1', + 'gimlet_trampoline_phase_1' + ) +ON CONFLICT DO NOTHING; + +-- 'os_variant' tag, used by os_phase1 and os_phase2 artifacts +INSERT INTO omicron.public.tuf_artifact_tag (tuf_artifact_id, key, value) + SELECT id, 'os_variant', (CASE kind + WHEN 'cosmo_host_phase_1' THEN 'host' + WHEN 'cosmo_trampoline_phase_1' THEN 'recovery' + WHEN 'gimlet_host_phase_1' THEN 'host' + WHEN 'gimlet_trampoline_phase_1' THEN 'recovery' + WHEN 'host_phase_2' THEN 'host' + WHEN 'trampoline_phase_2' THEN 'recovery' + END) + FROM omicron.public.tuf_artifact + WHERE kind IN ( + 'cosmo_host_phase_1', + 'cosmo_trampoline_phase_1', + 'gimlet_host_phase_1', + 'gimlet_trampoline_phase_1', + 'host_phase_2', + 'trampoline_phase_2' + ) +ON CONFLICT DO NOTHING; + +-- 'rot_board' tag, used by rot and rot_bootloader artifacts +INSERT INTO omicron.public.tuf_artifact_tag (tuf_artifact_id, key, value) + SELECT id, 'rot_board', board + FROM omicron.public.tuf_artifact + WHERE board IS NOT NULL AND kind IN ( + 'gimlet_rot_image_a', + 'gimlet_rot_image_b', + 'psc_rot_image_a', + 'psc_rot_image_b', + 'switch_rot_image_a', + 'switch_rot_image_b', + 'gimlet_rot_bootloader', + 'psc_rot_bootloader', + 'switch_rot_bootloader' + ) +ON CONFLICT DO NOTHING; + +-- 'rot_rkth' tag, used by rot and rot_bootloader artifacts +INSERT INTO omicron.public.tuf_artifact_tag (tuf_artifact_id, key, value) + SELECT id, 'rot_rkth', sign + FROM omicron.public.tuf_artifact + WHERE sign IS NOT NULL AND kind IN ( + 'gimlet_rot_image_a', + 'gimlet_rot_image_b', + 'psc_rot_image_a', + 'psc_rot_image_b', + 'switch_rot_image_a', + 'switch_rot_image_b', + 'gimlet_rot_bootloader', + 'psc_rot_bootloader', + 'switch_rot_bootloader' + ) +ON CONFLICT DO NOTHING; + +-- 'rot_slot' tag, used by rot artifacts +INSERT INTO omicron.public.tuf_artifact_tag (tuf_artifact_id, key, value) + SELECT id, 'rot_slot', (CASE kind + WHEN 'gimlet_rot_image_a' THEN 'a' + WHEN 'gimlet_rot_image_b' THEN 'b' + WHEN 'psc_rot_image_a' THEN 'a' + WHEN 'psc_rot_image_b' THEN 'b' + WHEN 'switch_rot_image_a' THEN 'a' + WHEN 'switch_rot_image_b' THEN 'b' + END) + FROM omicron.public.tuf_artifact + WHERE kind IN ( + 'gimlet_rot_image_a', + 'gimlet_rot_image_b', + 'psc_rot_image_a', + 'psc_rot_image_b', + 'switch_rot_image_a', + 'switch_rot_image_b' + ) +ON CONFLICT DO NOTHING; + +-- 'sp_board' tag, used by sp artifacts +INSERT INTO omicron.public.tuf_artifact_tag (tuf_artifact_id, key, value) + SELECT id, 'sp_board', board + FROM omicron.public.tuf_artifact + WHERE board IS NOT NULL AND kind IN ( + 'gimlet_sp', + 'psc_sp', + 'switch_sp' + ) +ON CONFLICT DO NOTHING; + +-- 'zone_name' tag, used by zone artifacts +INSERT INTO omicron.public.tuf_artifact_tag (tuf_artifact_id, key, value) + SELECT id, 'zone_name', name + FROM omicron.public.tuf_artifact + WHERE kind = 'zone' +ON CONFLICT DO NOTHING; diff --git a/schema/crdb/tufaceous-v2/up13.sql b/schema/crdb/tufaceous-v2/up13.sql new file mode 100644 index 00000000000..28ecf8632c2 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up13.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS tuf_artifact_kind_sha256; diff --git a/schema/crdb/tufaceous-v2/up14.sql b/schema/crdb/tufaceous-v2/up14.sql new file mode 100644 index 00000000000..f910d7a6150 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up14.sql @@ -0,0 +1,2 @@ +ALTER TABLE omicron.public.tuf_artifact + DROP COLUMN IF EXISTS name; diff --git a/schema/crdb/tufaceous-v2/up15.sql b/schema/crdb/tufaceous-v2/up15.sql new file mode 100644 index 00000000000..1f17d48d403 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up15.sql @@ -0,0 +1,2 @@ +ALTER TABLE omicron.public.tuf_artifact + DROP COLUMN IF EXISTS kind; diff --git a/schema/crdb/tufaceous-v2/up16.sql b/schema/crdb/tufaceous-v2/up16.sql new file mode 100644 index 00000000000..547d226ec23 --- /dev/null +++ b/schema/crdb/tufaceous-v2/up16.sql @@ -0,0 +1,2 @@ +ALTER TABLE omicron.public.tuf_artifact + DROP COLUMN IF EXISTS sign; diff --git a/schema/crdb/tufaceous-v2/up17.sql b/schema/crdb/tufaceous-v2/up17.sql new file mode 100644 index 00000000000..3b372c64e7a --- /dev/null +++ b/schema/crdb/tufaceous-v2/up17.sql @@ -0,0 +1,2 @@ +ALTER TABLE omicron.public.tuf_artifact + DROP COLUMN IF EXISTS board; diff --git a/sled-agent/Cargo.toml b/sled-agent/Cargo.toml index 68bfd63ea2a..430b70ffebb 100644 --- a/sled-agent/Cargo.toml +++ b/sled-agent/Cargo.toml @@ -120,8 +120,8 @@ trust-quorum.workspace = true trust-quorum-protocol.workspace = true transient-dns-server.workspace = true trust-quorum-types.workspace = true -tufaceous-artifact.workspace = true -tufaceous-brand-metadata.workspace = true +tufaceous-artifact-v2.workspace = true +tufaceous-brand-metadata-v2.workspace = true usdt.workspace = true uuid.workspace = true walkdir.workspace = true diff --git a/sled-agent/api/Cargo.toml b/sled-agent/api/Cargo.toml index 8768180f6e9..8efa42ead18 100644 --- a/sled-agent/api/Cargo.toml +++ b/sled-agent/api/Cargo.toml @@ -26,7 +26,6 @@ sled-diagnostics.workspace = true sled-hardware-types.workspace = true slog-error-chain.workspace = true static_assertions.workspace = true -tufaceous-artifact.workspace = true trust-quorum-types.workspace = true uuid.workspace = true x509-cert.workspace = true diff --git a/sled-agent/config-reconciler/Cargo.toml b/sled-agent/config-reconciler/Cargo.toml index 9314464d659..f16e67ee2b4 100644 --- a/sled-agent/config-reconciler/Cargo.toml +++ b/sled-agent/config-reconciler/Cargo.toml @@ -46,7 +46,7 @@ strum.workspace = true thiserror.workspace = true tokio.workspace = true trust-quorum-types.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true zone.workspace = true omicron-workspace-hack.workspace = true diff --git a/sled-agent/config-reconciler/src/host_phase_2.rs b/sled-agent/config-reconciler/src/host_phase_2.rs index 6911963c78c..f4ce50a9059 100644 --- a/sled-agent/config-reconciler/src/host_phase_2.rs +++ b/sled-agent/config-reconciler/src/host_phase_2.rs @@ -29,7 +29,7 @@ use std::io::BufReader; use std::io::Read as _; use std::sync::Arc; use tokio::io::AsyncWrite; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; #[derive(Debug, thiserror::Error)] #[error("boot disk not found")] diff --git a/sled-agent/config-reconciler/src/ledger.rs b/sled-agent/config-reconciler/src/ledger.rs index 7304a6f7f2e..9bba8563cec 100644 --- a/sled-agent/config-reconciler/src/ledger.rs +++ b/sled-agent/config-reconciler/src/ledger.rs @@ -25,7 +25,7 @@ use tokio::sync::mpsc; use tokio::sync::mpsc::error::TrySendError; use tokio::sync::oneshot; use tokio::sync::watch; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use crate::InternalDisksReceiver; use crate::SledAgentArtifactStore; diff --git a/sled-agent/config-reconciler/src/mupdate_override.rs b/sled-agent/config-reconciler/src/mupdate_override.rs index 2f180390a8b..6d1e0322ce1 100644 --- a/sled-agent/config-reconciler/src/mupdate_override.rs +++ b/sled-agent/config-reconciler/src/mupdate_override.rs @@ -22,7 +22,7 @@ use slog::error; use slog::info; use slog::warn; use slog_error_chain::InlineErrorChain; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// An extension trait for `ResolverStatus`. /// diff --git a/sled-agent/config-reconciler/src/reconciler_task/zones.rs b/sled-agent/config-reconciler/src/reconciler_task/zones.rs index 70011911237..631e26e165d 100644 --- a/sled-agent/config-reconciler/src/reconciler_task/zones.rs +++ b/sled-agent/config-reconciler/src/reconciler_task/zones.rs @@ -1330,7 +1330,7 @@ mod tests { use std::collections::VecDeque; use std::net::Ipv6Addr; use std::sync::Mutex; - use tufaceous_artifact::ArtifactHash; + use tufaceous_artifact_v2::ArtifactHash; // Helper to construct a `RunningZone` even on non-illumos systems. struct FakeZoneBuilder { diff --git a/sled-agent/config-reconciler/src/sled_agent_facilities.rs b/sled-agent/config-reconciler/src/sled_agent_facilities.rs index 11929e8b6c4..1970bce4f50 100644 --- a/sled-agent/config-reconciler/src/sled_agent_facilities.rs +++ b/sled-agent/config-reconciler/src/sled_agent_facilities.rs @@ -15,7 +15,7 @@ use sled_agent_types::resolvable_files::PreparedOmicronZone; use sled_agent_types::resolvable_files::RemoveMupdateOverrideResult; use sled_agent_types::resolvable_files::ResolverStatus; use std::future::Future; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use crate::InternalDisks; diff --git a/sled-agent/repo-depot-api/Cargo.toml b/sled-agent/repo-depot-api/Cargo.toml index 637bee11670..f2792249748 100644 --- a/sled-agent/repo-depot-api/Cargo.toml +++ b/sled-agent/repo-depot-api/Cargo.toml @@ -13,4 +13,4 @@ dropshot-api-manager-types.workspace = true omicron-workspace-hack.workspace = true schemars.workspace = true serde.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true diff --git a/sled-agent/repo-depot-api/src/lib.rs b/sled-agent/repo-depot-api/src/lib.rs index 1741f843e6e..66c156d2515 100644 --- a/sled-agent/repo-depot-api/src/lib.rs +++ b/sled-agent/repo-depot-api/src/lib.rs @@ -6,7 +6,7 @@ use dropshot::{FreeformBody, HttpError, HttpResponseOk, Path, RequestContext}; use dropshot_api_manager_types::api_versions; use schemars::JsonSchema; use serde::Deserialize; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; api_versions!([ // Do not create new versions of this client-side versioned API. @@ -31,5 +31,9 @@ pub trait RepoDepotApi { #[derive(Clone, Debug, Deserialize, JsonSchema)] pub struct ArtifactPathParams { + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub sha256: ArtifactHash, } diff --git a/sled-agent/resolvable-files-examples/Cargo.toml b/sled-agent/resolvable-files-examples/Cargo.toml index 11b6045d359..8f546be35b9 100644 --- a/sled-agent/resolvable-files-examples/Cargo.toml +++ b/sled-agent/resolvable-files-examples/Cargo.toml @@ -18,4 +18,4 @@ serde_json.workspace = true sha2.workspace = true sled-agent-types.workspace = true sled-storage.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true diff --git a/sled-agent/resolvable-files-examples/src/lib.rs b/sled-agent/resolvable-files-examples/src/lib.rs index 54b8deb9d75..d26fe5b1b96 100644 --- a/sled-agent/resolvable-files-examples/src/lib.rs +++ b/sled-agent/resolvable-files-examples/src/lib.rs @@ -27,7 +27,7 @@ use sled_agent_types::resolvable_files::{ InstallMetadataReadError, ManifestHashError, OmicronManifestArtifactResult, OmicronManifestArtifactsResult, }; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; pub struct OverridePaths { pub install_dataset: Utf8PathBuf, @@ -204,13 +204,14 @@ impl WriteInstallDatasetContext { .zones .iter() .filter_map(|zone| { - zone.include_in_json.then(|| OmicronInstallMetadata { - file_name: zone - .zone_kind - .artifact_in_install_dataset() - .to_owned(), - file_size: zone.json_size, - hash: zone.json_hash, + zone.include_in_json.then(|| { + OmicronInstallMetadata::new_v2( + zone.zone_kind + .artifact_in_install_dataset() + .to_owned(), + zone.json_size, + zone.json_hash, + ) }) }) .collect(), diff --git a/sled-agent/resolvable-files/Cargo.toml b/sled-agent/resolvable-files/Cargo.toml index da3c15bebb6..184764c1ba4 100644 --- a/sled-agent/resolvable-files/Cargo.toml +++ b/sled-agent/resolvable-files/Cargo.toml @@ -24,7 +24,7 @@ sled-storage.workspace = true slog.workspace = true slog-error-chain.workspace = true thiserror.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true [dev-dependencies] camino-tempfile-ext.workspace = true diff --git a/sled-agent/resolvable-files/src/manifest.rs b/sled-agent/resolvable-files/src/manifest.rs index 4c966678845..73d534d617c 100644 --- a/sled-agent/resolvable-files/src/manifest.rs +++ b/sled-agent/resolvable-files/src/manifest.rs @@ -25,7 +25,7 @@ use std::{ fs::File, io::{self, Read}, }; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use crate::{ AllInstallMetadataFiles, InstallMetadata, InstallMetadataNonBootInfo, @@ -367,7 +367,7 @@ fn make_artifacts_result( file_name: zone.file_name.clone(), path: artifact_path, expected_size: zone.file_size, - expected_hash: zone.hash, + expected_hash: zone.hash_v2(), status, } }) @@ -433,11 +433,11 @@ fn synthesize_measurement_manifest( match compute_size_and_hash(&mut f) { Ok((size, hash)) => { - files.insert_overwrite(OmicronInstallMetadata { - file_name: entry.file_name().to_string(), - file_size: size, + files.insert_overwrite(OmicronInstallMetadata::new_v2( + entry.file_name().to_string(), + size, hash, - }); + )); } Err(error) => { return Err(InstallMetadataReadError::ReadFile { @@ -509,11 +509,11 @@ fn synthesize_manifest( match compute_size_and_hash(&mut f) { Ok((size, hash)) => { - files.insert_overwrite(OmicronInstallMetadata { - file_name: entry.file_name().to_string(), - file_size: size, + files.insert_overwrite(OmicronInstallMetadata::new_v2( + entry.file_name().to_string(), + size, hash, - }); + )); } Err(error) => { return Err(InstallMetadataReadError::ReadFile { @@ -543,7 +543,7 @@ fn validate_one( match compute_size_and_hash(&mut f) { Ok((actual_size, actual_hash)) => { - if zone.file_size == actual_size && zone.hash == actual_hash { + if zone.file_size == actual_size && zone.hash_v2() == actual_hash { ArtifactReadResult::Valid } else { ArtifactReadResult::Mismatch { actual_size, actual_hash } diff --git a/sled-agent/resolvable-files/src/source_resolver.rs b/sled-agent/resolvable-files/src/source_resolver.rs index f4e36d4db67..262c4275dcf 100644 --- a/sled-agent/resolvable-files/src/source_resolver.rs +++ b/sled-agent/resolvable-files/src/source_resolver.rs @@ -156,7 +156,7 @@ mod tests { OmicronResolvableFileLocation, OmicronResolvableFileSource, RAMDISK_IMAGE_PATH, ZoneImageLocationError, }; - use tufaceous_artifact::ArtifactHash; + use tufaceous_artifact_v2::ArtifactHash; /// Test source resolver behavior when the zone manifest is missing. #[test] @@ -256,7 +256,7 @@ mod tests { ZoneKind::CockroachDb.artifact_in_install_dataset() ) .unwrap() - .hash) + .hash_v2()) }, file_source: ResolvableFileSource { file_name: ZoneKind::CockroachDb @@ -358,7 +358,7 @@ mod tests { ZoneKind::CockroachDb.artifact_in_install_dataset() ) .unwrap() - .hash), + .hash_v2()), }, file_source: ResolvableFileSource { file_name: ZoneKind::CockroachDb @@ -482,7 +482,7 @@ mod tests { ZoneKind::CockroachDb.artifact_in_install_dataset() ) .unwrap() - .hash), + .hash_v2()), }, file_source: ResolvableFileSource { file_name: ZoneKind::CockroachDb diff --git a/sled-agent/src/artifact_store.rs b/sled-agent/src/artifact_store.rs index 5d71221099e..c249ec5be40 100644 --- a/sled-agent/src/artifact_store.rs +++ b/sled-agent/src/artifact_store.rs @@ -47,7 +47,7 @@ use slog_error_chain::{InlineErrorChain, SlogInlineError}; use tokio::fs::File; use tokio::sync::{OwnedSemaphorePermit, mpsc, oneshot, watch}; use tokio::task::JoinSet; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; // These paths are defined under the artifact storage dataset. They // cannot conflict with any artifact paths because all artifact paths are @@ -910,7 +910,7 @@ mod test { use tokio::io::AsyncReadExt; use tokio::sync::oneshot; use tokio::sync::watch; - use tufaceous_artifact::ArtifactHash; + use tufaceous_artifact_v2::ArtifactHash; use super::{ArtifactStore, DatasetsManager, Error}; diff --git a/sled-agent/src/services.rs b/sled-agent/src/services.rs index e8150b17d7e..f2249bcdf5e 100644 --- a/sled-agent/src/services.rs +++ b/sled-agent/src/services.rs @@ -117,7 +117,7 @@ use tokio::sync::Mutex; use tokio::sync::oneshot; use tokio::sync::watch; use tokio::task::JoinHandle; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use uuid::Uuid; use illumos_utils::zone::Zones; diff --git a/sled-agent/src/sim/sled_agent.rs b/sled-agent/src/sim/sled_agent.rs index b0ffb2fcd70..b12b5118e25 100644 --- a/sled-agent/src/sim/sled_agent.rs +++ b/sled-agent/src/sim/sled_agent.rs @@ -73,7 +73,7 @@ use std::sync::Arc; use std::sync::Mutex; use std::sync::atomic::{AtomicU32, Ordering}; use std::time::Duration; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use uuid::Uuid; /// Simulates management of the control plane on a sled diff --git a/sled-agent/src/support_bundle/storage.rs b/sled-agent/src/support_bundle/storage.rs index 29ad62aeb42..9f107ed04f0 100644 --- a/sled-agent/src/support_bundle/storage.rs +++ b/sled-agent/src/support_bundle/storage.rs @@ -49,7 +49,7 @@ use tokio::io::AsyncReadExt; use tokio::io::AsyncSeekExt; use tokio::io::AsyncWriteExt; use tokio_util::io::ReaderStream; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use zip::result::ZipError; #[derive(thiserror::Error, Debug)] diff --git a/sled-agent/types/Cargo.toml b/sled-agent/types/Cargo.toml index 755c89eed67..a4a7d695201 100644 --- a/sled-agent/types/Cargo.toml +++ b/sled-agent/types/Cargo.toml @@ -31,7 +31,7 @@ slog-error-chain.workspace = true swrite.workspace = true test-strategy = { workspace = true, optional = true } thiserror.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true uuid.workspace = true [dev-dependencies] diff --git a/sled-agent/types/src/resolvable_files.rs b/sled-agent/types/src/resolvable_files.rs index 51455e980f1..f7aa7d12ed1 100644 --- a/sled-agent/types/src/resolvable_files.rs +++ b/sled-agent/types/src/resolvable_files.rs @@ -40,7 +40,7 @@ use slog::{error, info, o, warn}; use slog_error_chain::InlineErrorChain; use swrite::{SWrite, swriteln}; use thiserror::Error; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// The location to look for images shipped with the RAM disk. pub const RAMDISK_IMAGE_PATH: &str = "/opt/oxide"; diff --git a/sled-agent/types/versions/Cargo.toml b/sled-agent/types/versions/Cargo.toml index aa3c50ed6d7..4443d7af51e 100644 --- a/sled-agent/types/versions/Cargo.toml +++ b/sled-agent/types/versions/Cargo.toml @@ -40,7 +40,7 @@ strum.workspace = true test-strategy = { workspace = true, optional = true } thiserror.workspace = true trust-quorum-types-versions.workspace = true -tufaceous-artifact.workspace = true +tufaceous-artifact-v2.workspace = true uuid.workspace = true [dev-dependencies] diff --git a/sled-agent/types/versions/src/impls/inventory.rs b/sled-agent/types/versions/src/impls/inventory.rs index b1ca6d9fe3e..6ac1c1fcbe8 100644 --- a/sled-agent/types/versions/src/impls/inventory.rs +++ b/sled-agent/types/versions/src/impls/inventory.rs @@ -15,9 +15,9 @@ use omicron_common::address::Ip; use omicron_common::address::NUM_SOURCE_NAT_PORTS; use omicron_common::api::external::Generation; use omicron_common::disk::{DatasetKind, DatasetName, M2Slot}; -use omicron_common::update::{ArtifactId, OmicronInstallManifestSource}; +use omicron_common::update::OmicronInstallManifestSource; use omicron_uuid_kinds::MupdateUuid; -use tufaceous_artifact::{ArtifactHash, KnownArtifactKind}; +use tufaceous_artifact_v2::ArtifactHash; use crate::latest::inventory::{ BootImageHeader, BootPartitionContents, BootPartitionDetails, @@ -162,20 +162,6 @@ impl ZoneKind { } } - /// Return true if an artifact represents a control plane zone image - /// of this kind. - pub fn is_control_plane_zone_artifact( - self, - artifact_id: &ArtifactId, - ) -> bool { - artifact_id - .kind - .to_known() - .map(|kind| matches!(kind, KnownArtifactKind::Zone)) - .unwrap_or(false) - && artifact_id.name == self.artifact_id_name() - } - /// Map an artifact ID name to the corresponding file name in the install /// dataset. /// diff --git a/sled-agent/types/versions/src/initial/artifact.rs b/sled-agent/types/versions/src/initial/artifact.rs index 4a7f618b4cb..1f81dd5e2f8 100644 --- a/sled-agent/types/versions/src/initial/artifact.rs +++ b/sled-agent/types/versions/src/initial/artifact.rs @@ -8,13 +8,20 @@ use std::collections::{BTreeMap, BTreeSet}; use omicron_common::api::external::Generation; use omicron_ledger::Ledgerable; -use schemars::JsonSchema; +use schemars::{ + JsonSchema, SchemaGenerator, + schema::{ArrayValidation, InstanceType, Schema, SchemaObject}, +}; use serde::{Deserialize, Serialize}; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// Path parameters for Artifact requests. #[derive(Deserialize, JsonSchema)] pub struct ArtifactPathParam { + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub sha256: ArtifactHash, } @@ -59,9 +66,26 @@ pub struct ArtifactPutResponse { #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, JsonSchema)] pub struct ArtifactConfig { pub generation: Generation, + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "artifact_hash_set_schema")] pub artifacts: BTreeSet, } +fn artifact_hash_set_schema(generator: &mut SchemaGenerator) -> Schema { + SchemaObject { + instance_type: Some(InstanceType::Array.into()), + array: Some(Box::new(ArrayValidation { + unique_items: Some(true), + items: Some(ArtifactHash::v1_json_schema(generator).into()), + ..Default::default() + })), + ..Default::default() + } + .into() +} + impl Ledgerable for ArtifactConfig { fn is_newer_than(&self, other: &ArtifactConfig) -> bool { self.generation > other.generation diff --git a/sled-agent/types/versions/src/initial/inventory.rs b/sled-agent/types/versions/src/initial/inventory.rs index 20ed552094a..5e6feee1590 100644 --- a/sled-agent/types/versions/src/initial/inventory.rs +++ b/sled-agent/types/versions/src/initial/inventory.rs @@ -39,7 +39,7 @@ use serde::{Deserialize, Serialize}; // depend on sled-hardware-types. pub use sled_hardware_types::SledCpuFamily; use strum::EnumIter; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; use uuid::Uuid; use crate::impls::inventory::SourceNatConfigError; @@ -174,7 +174,13 @@ pub enum HostPhase2DesiredContents { /// Set the phase 2 slot to the given artifact. /// /// The artifact will come from an unpacked and distributed TUF repo. - Artifact { hash: ArtifactHash }, + Artifact { + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using + // the old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] + hash: ArtifactHash, + }, } /// Describes the desired contents for both host phase 2 slots. @@ -223,6 +229,10 @@ pub struct BootPartitionContents { #[derive(Clone, Debug, PartialEq, Eq, Deserialize, JsonSchema, Serialize)] pub struct BootPartitionDetails { pub header: BootImageHeader, + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub artifact_hash: ArtifactHash, pub artifact_size: usize, } @@ -377,6 +387,10 @@ pub struct ZoneArtifactInventory { pub expected_size: u64, /// The expected digest of the file's contents. + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub expected_hash: ArtifactHash, /// The status of the artifact. @@ -540,7 +554,13 @@ pub enum OmicronZoneImageSource { /// /// This originates from TUF repos uploaded to Nexus which are then /// replicated out to all sleds. - Artifact { hash: ArtifactHash }, + Artifact { + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using + // the old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] + hash: ArtifactHash, + }, } impl OmicronZoneImageSource { diff --git a/sled-agent/types/versions/src/initial/support_bundle.rs b/sled-agent/types/versions/src/initial/support_bundle.rs index a9da65e3eaf..f14fd8dbf43 100644 --- a/sled-agent/types/versions/src/initial/support_bundle.rs +++ b/sled-agent/types/versions/src/initial/support_bundle.rs @@ -7,7 +7,7 @@ use omicron_uuid_kinds::{DatasetUuid, SupportBundleUuid, ZpoolUuid}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// Path parameters for Support Bundle list requests. #[derive(Deserialize, JsonSchema)] @@ -51,6 +51,10 @@ pub struct SupportBundleTransferQueryParams { /// Query parameters for support bundle finalization. #[derive(Deserialize, Serialize, JsonSchema)] pub struct SupportBundleFinalizeQueryParams { + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub hash: ArtifactHash, } diff --git a/sled-agent/types/versions/src/measurements/inventory.rs b/sled-agent/types/versions/src/measurements/inventory.rs index 6dbdf216a6a..33a576f46f0 100644 --- a/sled-agent/types/versions/src/measurements/inventory.rs +++ b/sled-agent/types/versions/src/measurements/inventory.rs @@ -38,7 +38,7 @@ use camino::Utf8PathBuf; use schemars::SchemaGenerator; use schemars::schema::{Schema, SchemaObject}; use std::fmt; -use tufaceous_artifact::ArtifactHash; +use tufaceous_artifact_v2::ArtifactHash; /// Identity and basic status information about this sled agent #[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] @@ -313,6 +313,10 @@ pub struct OmicronSingleMeasurement { /// Measurements may also come from outside the TUF repo depot /// via the install dataset from MUPdate but are not explicitly /// tracked here + // Tufaceous v2 introduces a new JSON schema for `ArtifactHash` that is + // wire-compatible but perceived as different by drift. Continue using the + // old schema in this API version. + #[schemars(schema_with = "ArtifactHash::v1_json_schema")] pub hash: ArtifactHash, } diff --git a/support-bundle-collection/Cargo.toml b/support-bundle-collection/Cargo.toml index 6b892921db7..f26f5f6e295 100644 --- a/support-bundle-collection/Cargo.toml +++ b/support-bundle-collection/Cargo.toml @@ -40,7 +40,6 @@ slog.workspace = true slog-error-chain.workspace = true tokio.workspace = true tokio-util.workspace = true -tufaceous-artifact.workspace = true uuid.workspace = true zip.workspace = true diff --git a/update-common/Cargo.toml b/update-common/Cargo.toml index 89e08d816fa..dee9fb8c4f5 100644 --- a/update-common/Cargo.toml +++ b/update-common/Cargo.toml @@ -20,6 +20,8 @@ futures.workspace = true hex.workspace = true hubtools.workspace = true omicron-common.workspace = true +schemars.workspace = true +serde.workspace = true sha2.workspace = true slog.workspace = true thiserror.workspace = true diff --git a/update-common/src/artifacts/artifacts_with_plan.rs b/update-common/src/artifacts/artifacts_with_plan.rs index 4a26304d278..5b2e635a859 100644 --- a/update-common/src/artifacts/artifacts_with_plan.rs +++ b/update-common/src/artifacts/artifacts_with_plan.rs @@ -7,6 +7,8 @@ use super::UpdatePlan; use super::UpdatePlanBuildOutput; use super::UpdatePlanBuilder; use crate::errors::RepositoryError; +use crate::tuf_repo::TufRepoDescription; +use crate::tuf_repo::TufRepoMeta; use anyhow::anyhow; use bytes::Bytes; use camino_tempfile::Utf8TempDir; @@ -14,8 +16,6 @@ use debug_ignore::DebugIgnore; use dropshot::HttpError; use futures::Stream; use futures::TryStreamExt; -use omicron_common::api::external::TufRepoDescription; -use omicron_common::api::external::TufRepoMeta; use omicron_common::update::ArtifactId; use sha2::{Digest, Sha256}; use slog::Logger; diff --git a/update-common/src/artifacts/update_plan.rs b/update-common/src/artifacts/update_plan.rs index 8ab1cc343b0..24fb310a329 100644 --- a/update-common/src/artifacts/update_plan.rs +++ b/update-common/src/artifacts/update_plan.rs @@ -16,12 +16,12 @@ use super::ExtractedArtifactDataHandle; use super::ExtractedArtifacts; use super::HashingNamedUtf8TempFile; use crate::errors::RepositoryError; +use crate::tuf_repo::TufArtifactMeta; use bytes::Bytes; use futures::Stream; use futures::StreamExt; use futures::TryStreamExt; use hubtools::RawHubrisArchive; -use omicron_common::api::external::TufArtifactMeta; use omicron_common::update::ArtifactId; use semver::Version; use slog::Logger; diff --git a/update-common/src/lib.rs b/update-common/src/lib.rs index b1f0d884840..0eb689d7696 100644 --- a/update-common/src/lib.rs +++ b/update-common/src/lib.rs @@ -3,6 +3,13 @@ // file, You can obtain one at https://mozilla.org/MPL/2.0/. //! Common update types and code shared between wicketd and Nexus. +//! +//! NOTE: This crate is soft-frozen. It represents the path that Wicket and +//! Nexus used to take to load Tufaceous v1 repositories, and remains in use in +//! `cargo xtask releng` to verify generated repositories can still be read by +//! this code. When we stop generating v1 repositories, this crate should be +//! deleted. (Tracked in #10076) pub mod artifacts; pub mod errors; +mod tuf_repo; diff --git a/update-common/src/tuf_repo.rs b/update-common/src/tuf_repo.rs new file mode 100644 index 00000000000..2448971cfe2 --- /dev/null +++ b/update-common/src/tuf_repo.rs @@ -0,0 +1,86 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +use chrono::DateTime; +use chrono::Utc; +use omicron_common::update::ArtifactId; +use schemars::JsonSchema; +use semver::Version; +use serde::Deserialize; +use serde::Serialize; +use tufaceous_artifact::ArtifactHash; + +/// A description of an uploaded TUF repository. +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize, JsonSchema)] +pub struct TufRepoDescription { + /// Information about the repository. + pub repo: TufRepoMeta, + + /// Information about the artifacts present in the repository. + pub artifacts: Vec, +} + +impl TufRepoDescription { + /// Sorts the artifacts so that descriptions can be compared. + pub fn sort_artifacts(&mut self) { + self.artifacts.sort_by(|a, b| a.id.cmp(&b.id)); + } +} + +/// Metadata about a TUF repository. +/// +/// Found within a `TufRepoDescription`. +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize, JsonSchema)] +pub struct TufRepoMeta { + /// The hash of the repository. + /// + /// This is a slight abuse of `ArtifactHash`, since that's the hash of + /// individual artifacts within the repository. However, we use it here for + /// convenience. + pub hash: ArtifactHash, + + /// The version of the targets role. + pub targets_role_version: u64, + + /// The time until which the repo is valid. + pub valid_until: DateTime, + + /// The system version in artifacts.json. + pub system_version: Version, + + /// The file name of the repository. + /// + /// This is purely used for debugging and may not always be correct (e.g. + /// with wicket, we read the file contents from stdin so we don't know the + /// correct file name). + pub file_name: String, +} + +/// Metadata about an individual TUF artifact. +/// +/// Found within a `TufRepoDescription`. +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize, JsonSchema)] +pub struct TufArtifactMeta { + /// The artifact ID. + pub id: ArtifactId, + + /// The hash of the artifact. + pub hash: ArtifactHash, + + /// The size of the artifact in bytes. + pub size: u64, + + /// Contents of the `BORD` field of a Hubris archive caboose. Only + /// applicable to artifacts that are Hubris archives. + /// + /// This field should always be `Some(_)` if `sign` is `Some(_)`, but the + /// opposite is not true (SP images will have a `board` but not a `sign`). + pub board: Option, + + /// Contents of the `SIGN` field of a Hubris archive caboose, i.e., + /// an identifier for the set of valid signing keys. Currently only + /// applicable to RoT image and bootloader artifacts, where it will + /// be an LPC55 Root Key Table Hash (RKTH). + pub sign: Option>, +} diff --git a/workspace-hack/Cargo.toml b/workspace-hack/Cargo.toml index 19f7c4cde25..e1d1c916f24 100644 --- a/workspace-hack/Cargo.toml +++ b/workspace-hack/Cargo.toml @@ -26,7 +26,6 @@ aws-lc-rs = { version = "1.16.3", features = ["prebuilt-nasm"] } aws-lc-sys = { version = "0.40.0", default-features = false, features = ["prebuilt-nasm"] } base16ct = { version = "0.2.0", default-features = false, features = ["alloc"] } base64 = { version = "0.22.1" } -base64ct = { version = "1.8.3", default-features = false, features = ["std"] } bitflags-dff4ba8e3ae991db = { package = "bitflags", version = "1.3.2" } bitflags-f595c2ba2a3f28df = { package = "bitflags", version = "2.11.0", default-features = false, features = ["serde", "std"] } bstr = { version = "1.12.1" } @@ -83,6 +82,7 @@ indexmap = { version = "2.14.0", features = ["serde"] } ipnet = { version = "2.11.0", features = ["serde"] } ipnetwork = { version = "0.21.1", features = ["schemars", "serde"] } itertools = { version = "0.13.0" } +jiff = { version = "0.2.34", features = ["serde"] } lalrpop-util = { version = "0.19.12" } lazy_static = { version = "1.5.0", default-features = false, features = ["spin_no_std"] } libc = { version = "0.2.185", features = ["extra_traits"] } @@ -98,7 +98,6 @@ num-traits = { version = "0.2.19", features = ["i128", "libm"] } once_cell = { version = "1.21.3", features = ["critical-section"] } openapiv3 = { version = "2.2.0", default-features = false, features = ["skip_serializing_defaults"] } peg-runtime = { version = "0.8.5", default-features = false, features = ["std"] } -pem-rfc7468 = { version = "0.7.0", default-features = false, features = ["std"] } percent-encoding = { version = "2.3.2" } petgraph-3b31131e45eafb45 = { package = "petgraph", version = "0.6.5", features = ["serde-1"] } petgraph-c38e5c1d305a1b54 = { package = "petgraph", version = "0.8.3", features = ["serde-1"] } @@ -107,7 +106,6 @@ postgres-types = { version = "0.2.12", default-features = false, features = ["wi ppv-lite86 = { version = "0.2.21", default-features = false, features = ["simd", "std"] } predicates = { version = "3.1.4" } proc-macro2 = { version = "1.0.106" } -proptest = { version = "1.10.0" } quote = { version = "1.0.45" } rand-274715c4dabd11b0 = { package = "rand", version = "0.9.2" } rand-c38e5c1d305a1b54 = { package = "rand", version = "0.8.6" } @@ -153,6 +151,7 @@ toml_edit-3c51e837cfc5589a = { package = "toml_edit", version = "0.22.27", featu toml_parser = { version = "1.1.2" } tough = { version = "0.22.0", default-features = false, features = ["http"] } tracing = { version = "0.1.44", features = ["log"] } +tufaceous-artifact = { git = "https://github.com/oxidecomputer/tufaceous", branch = "main", default-features = false, features = ["hubtools", "proptest", "schemars"] } typenum = { version = "1.20.1", default-features = false, features = ["const-generics"] } url = { version = "2.5.8", features = ["serde"] } usdt = { version = "0.6.0" } @@ -174,7 +173,6 @@ aws-lc-rs = { version = "1.16.3", features = ["prebuilt-nasm"] } aws-lc-sys = { version = "0.40.0", default-features = false, features = ["prebuilt-nasm"] } base16ct = { version = "0.2.0", default-features = false, features = ["alloc"] } base64 = { version = "0.22.1" } -base64ct = { version = "1.8.3", default-features = false, features = ["std"] } bitflags-dff4ba8e3ae991db = { package = "bitflags", version = "1.3.2" } bitflags-f595c2ba2a3f28df = { package = "bitflags", version = "2.11.0", default-features = false, features = ["serde", "std"] } bstr = { version = "1.12.1" } @@ -233,6 +231,7 @@ indexmap = { version = "2.14.0", features = ["serde"] } ipnet = { version = "2.11.0", features = ["serde"] } ipnetwork = { version = "0.21.1", features = ["schemars", "serde"] } itertools = { version = "0.13.0" } +jiff = { version = "0.2.34", features = ["serde"] } lalrpop-util = { version = "0.19.12" } lazy_static = { version = "1.5.0", default-features = false, features = ["spin_no_std"] } libc = { version = "0.2.185", features = ["extra_traits"] } @@ -248,7 +247,6 @@ num-traits = { version = "0.2.19", features = ["i128", "libm"] } once_cell = { version = "1.21.3", features = ["critical-section"] } openapiv3 = { version = "2.2.0", default-features = false, features = ["skip_serializing_defaults"] } peg-runtime = { version = "0.8.5", default-features = false, features = ["std"] } -pem-rfc7468 = { version = "0.7.0", default-features = false, features = ["std"] } percent-encoding = { version = "2.3.2" } petgraph-3b31131e45eafb45 = { package = "petgraph", version = "0.6.5", features = ["serde-1"] } petgraph-c38e5c1d305a1b54 = { package = "petgraph", version = "0.8.3", features = ["serde-1"] } @@ -257,7 +255,6 @@ postgres-types = { version = "0.2.12", default-features = false, features = ["wi ppv-lite86 = { version = "0.2.21", default-features = false, features = ["simd", "std"] } predicates = { version = "3.1.4" } proc-macro2 = { version = "1.0.106" } -proptest = { version = "1.10.0" } quote = { version = "1.0.45" } rand-274715c4dabd11b0 = { package = "rand", version = "0.9.2" } rand-c38e5c1d305a1b54 = { package = "rand", version = "0.8.6" } @@ -306,6 +303,7 @@ toml_edit-3c51e837cfc5589a = { package = "toml_edit", version = "0.22.27", featu toml_parser = { version = "1.1.2" } tough = { version = "0.22.0", default-features = false, features = ["http"] } tracing = { version = "0.1.44", features = ["log"] } +tufaceous-artifact = { git = "https://github.com/oxidecomputer/tufaceous", branch = "main", default-features = false, features = ["hubtools", "proptest", "schemars"] } typenum = { version = "1.20.1", default-features = false, features = ["const-generics"] } url = { version = "2.5.8", features = ["serde"] } usdt = { version = "0.6.0" }