From a0e89dbba3996d6d5aa561d4bbc09529a5ff7a59 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Fri, 23 Feb 2024 16:56:48 -0800 Subject: [PATCH 01/19] [sled-agent] Plumb physical disk info through inventory --- common/src/disk.rs | 16 ++++++++++++- sled-agent/src/http_entrypoints.rs | 2 +- sled-agent/src/params.rs | 8 +++++++ sled-agent/src/sim/http_entrypoints.rs | 1 + sled-agent/src/sim/sled_agent.rs | 19 ++++++++++++--- sled-agent/src/sim/storage.rs | 32 +++++++++++++++----------- sled-agent/src/sled_agent.rs | 14 ++++++++++- sled-hardware/src/disk.rs | 7 ++++-- 8 files changed, 77 insertions(+), 22 deletions(-) diff --git a/common/src/disk.rs b/common/src/disk.rs index 3ae9c31e01..0cf9b6e073 100644 --- a/common/src/disk.rs +++ b/common/src/disk.rs @@ -4,8 +4,22 @@ //! Disk related types shared among crates +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; + /// Uniquely identifies a disk. -#[derive(Debug, Clone, PartialEq, Eq, Hash, Ord, PartialOrd)] +#[derive( + Debug, + Clone, + PartialEq, + Eq, + Hash, + Ord, + PartialOrd, + Serialize, + Deserialize, + JsonSchema, +)] pub struct DiskIdentity { pub vendor: String, pub serial: String, diff --git a/sled-agent/src/http_entrypoints.rs b/sled-agent/src/http_entrypoints.rs index 5f888504db..6481120e6e 100644 --- a/sled-agent/src/http_entrypoints.rs +++ b/sled-agent/src/http_entrypoints.rs @@ -971,7 +971,7 @@ async fn inventory( request_context: RequestContext, ) -> Result, HttpError> { let sa = request_context.context(); - Ok(HttpResponseOk(sa.inventory()?)) + Ok(HttpResponseOk(sa.inventory().await?)) } /// Get the internal state of the local bootstore node diff --git a/sled-agent/src/params.rs b/sled-agent/src/params.rs index fda952ca87..a98be90c9a 100644 --- a/sled-agent/src/params.rs +++ b/sled-agent/src/params.rs @@ -858,6 +858,13 @@ pub enum InstanceExternalIpBody { // becomes easier to maintain a separate copy, we should do that. pub type SledRole = nexus_client::types::SledRole; +/// Identifies information about disks which may be attached to Sleds. +#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] +pub struct InventoryDisk { + pub identity: omicron_common::disk::DiskIdentity, + pub variant: sled_hardware::DiskVariant, +} + /// Identity and basic status information about this sled agent #[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] pub struct Inventory { @@ -868,6 +875,7 @@ pub struct Inventory { pub usable_hardware_threads: u32, pub usable_physical_ram: ByteCount, pub reservoir_size: ByteCount, + pub disks: Vec, } #[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] diff --git a/sled-agent/src/sim/http_entrypoints.rs b/sled-agent/src/sim/http_entrypoints.rs index 09ffdf5dc4..6497a4d4af 100644 --- a/sled-agent/src/sim/http_entrypoints.rs +++ b/sled-agent/src/sim/http_entrypoints.rs @@ -434,6 +434,7 @@ async fn inventory( let sa = rqctx.context(); Ok(HttpResponseOk( sa.inventory(rqctx.server.local_addr) + .await .map_err(|e| HttpError::for_internal_error(format!("{:#}", e)))?, )) } diff --git a/sled-agent/src/sim/sled_agent.rs b/sled-agent/src/sim/sled_agent.rs index d4c92fca51..6e55473680 100644 --- a/sled-agent/src/sim/sled_agent.rs +++ b/sled-agent/src/sim/sled_agent.rs @@ -26,7 +26,6 @@ use futures::lock::Mutex; use illumos_utils::opte::params::{ DeleteVirtualNetworkInterfaceHost, SetVirtualNetworkInterfaceHost, }; -use nexus_client::types::PhysicalDiskKind; use omicron_common::address::PROPOLIS_PORT; use omicron_common::api::external::{ ByteCount, DiskState, Error, Generation, ResourceType, @@ -501,7 +500,7 @@ impl SledAgent { serial: String, model: String, ) { - let variant = PhysicalDiskKind::U2; + let variant = sled_hardware::DiskVariant::U2; self.storage .lock() .await @@ -729,7 +728,10 @@ impl SledAgent { Ok(()) } - pub fn inventory(&self, addr: SocketAddr) -> anyhow::Result { + pub async fn inventory( + &self, + addr: SocketAddr, + ) -> anyhow::Result { let sled_agent_address = match addr { SocketAddr::V4(_) => { bail!("sled_agent_ip must be v6 for inventory") @@ -750,6 +752,17 @@ impl SledAgent { self.config.hardware.reservoir_ram, ) .context("reservoir_size")?, + disks: self + .storage + .lock() + .await + .physical_disks() + .iter() + .map(|(identity, info)| crate::params::InventoryDisk { + identity: identity.clone(), + variant: info.variant, + }) + .collect(), }) } diff --git a/sled-agent/src/sim/storage.rs b/sled-agent/src/sim/storage.rs index 101228934d..16b3ee97da 100644 --- a/sled-agent/src/sim/storage.rs +++ b/sled-agent/src/sim/storage.rs @@ -22,7 +22,9 @@ use futures::lock::Mutex; use nexus_client::types::{ ByteCount, PhysicalDiskKind, PhysicalDiskPutRequest, ZpoolPutRequest, }; +use omicron_common::disk::DiskIdentity; use propolis_client::types::VolumeConstructionRequest; +use sled_hardware::DiskVariant; use slog::Logger; use std::collections::HashMap; use std::collections::HashSet; @@ -471,8 +473,8 @@ impl CrucibleServer { } } -struct PhysicalDisk { - _variant: PhysicalDiskKind, +pub(crate) struct PhysicalDisk { + pub(crate) variant: DiskVariant, } struct Zpool { @@ -530,19 +532,12 @@ impl Zpool { } } -#[derive(Clone, PartialEq, Eq, Hash)] -struct DiskName { - vendor: String, - serial: String, - model: String, -} - /// Simulated representation of all storage on a sled. pub struct Storage { sled_id: Uuid, nexus_client: Arc, log: Logger, - physical_disks: HashMap, + physical_disks: HashMap, zpools: HashMap, crucible_ip: IpAddr, next_crucible_port: u16, @@ -566,20 +561,29 @@ impl Storage { } } + /// Returns an immutable reference to all (currently known) physical disks + pub fn physical_disks(&self) -> &HashMap { + &self.physical_disks + } + pub async fn insert_physical_disk( &mut self, vendor: String, serial: String, model: String, - variant: PhysicalDiskKind, + variant: DiskVariant, ) { - let identifier = DiskName { + let identifier = DiskIdentity { vendor: vendor.clone(), serial: serial.clone(), model: model.clone(), }; - self.physical_disks - .insert(identifier, PhysicalDisk { _variant: variant }); + self.physical_disks.insert(identifier, PhysicalDisk { variant }); + + let variant = match variant { + DiskVariant::U2 => PhysicalDiskKind::U2, + DiskVariant::M2 => PhysicalDiskKind::M2, + }; // Notify Nexus let request = PhysicalDiskPutRequest { diff --git a/sled-agent/src/sled_agent.rs b/sled-agent/src/sled_agent.rs index 1a634a6346..742eb998d8 100644 --- a/sled-agent/src/sled_agent.rs +++ b/sled-agent/src/sled_agent.rs @@ -1153,7 +1153,7 @@ impl SledAgent { /// /// This is basically a GET version of the information we push to Nexus on /// startup. - pub(crate) fn inventory(&self) -> Result { + pub(crate) async fn inventory(&self) -> Result { let sled_id = self.inner.id; let sled_agent_address = self.inner.sled_address(); let is_scrimlet = self.inner.hardware.is_scrimlet(); @@ -1168,6 +1168,17 @@ impl SledAgent { } else { crate::params::SledRole::Gimlet }; + let disks = self + .storage() + .get_latest_resources() + .await + .disks() + .iter() + .map(|(identity, (disk, _pool))| crate::params::InventoryDisk { + identity: identity.clone(), + variant: disk.variant(), + }) + .collect(); Ok(Inventory { sled_id, @@ -1177,6 +1188,7 @@ impl SledAgent { usable_hardware_threads, usable_physical_ram: ByteCount::try_from(usable_physical_ram)?, reservoir_size, + disks, }) } } diff --git a/sled-hardware/src/disk.rs b/sled-hardware/src/disk.rs index 44658658be..b225e0ff3d 100644 --- a/sled-hardware/src/disk.rs +++ b/sled-hardware/src/disk.rs @@ -8,6 +8,8 @@ use illumos_utils::zpool::Zpool; use illumos_utils::zpool::ZpoolKind; use illumos_utils::zpool::ZpoolName; use omicron_common::disk::DiskIdentity; +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; use slog::Logger; use slog::{info, warn}; use uuid::Uuid; @@ -299,8 +301,9 @@ impl PooledDisk { } } -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -#[allow(dead_code)] +#[derive( + Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, JsonSchema, +)] pub enum DiskVariant { U2, M2, From b9626069dcc450e10a21ea86fde58af88cce0ca2 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Mon, 26 Feb 2024 18:37:38 -0800 Subject: [PATCH 02/19] Plumb disks into inventory --- clients/sled-agent-client/src/lib.rs | 10 ++ nexus/db-model/src/inventory.rs | 49 +++++++- nexus/db-model/src/schema.rs | 13 ++ .../db-queries/src/db/datastore/inventory.rs | 115 ++++++++++++++++++ nexus/deployment/src/blueprint_builder.rs | 1 + nexus/inventory/src/builder.rs | 1 + nexus/inventory/src/examples.rs | 1 + nexus/types/src/external_api/params.rs | 10 ++ nexus/types/src/inventory.rs | 22 ++++ openapi/sled-agent.json | 50 ++++++++ schema/crdb/dbinit.sql | 25 ++++ 11 files changed, 294 insertions(+), 3 deletions(-) diff --git a/clients/sled-agent-client/src/lib.rs b/clients/sled-agent-client/src/lib.rs index eb1e57b11f..69e258a47f 100644 --- a/clients/sled-agent-client/src/lib.rs +++ b/clients/sled-agent-client/src/lib.rs @@ -165,6 +165,16 @@ impl omicron_common::api::external::ClientError for types::Error { } } +impl From for omicron_common::disk::DiskIdentity { + fn from(identity: types::DiskIdentity) -> Self { + Self { + vendor: identity.vendor, + serial: identity.serial, + model: identity.model, + } + } +} + impl From for types::InstanceRuntimeState { diff --git a/nexus/db-model/src/inventory.rs b/nexus/db-model/src/inventory.rs index d8314f97b8..97bc907b40 100644 --- a/nexus/db-model/src/inventory.rs +++ b/nexus/db-model/src/inventory.rs @@ -7,10 +7,11 @@ use crate::omicron_zone_config::{OmicronZone, OmicronZoneNic}; use crate::schema::{ hw_baseboard_id, inv_caboose, inv_collection, inv_collection_error, - inv_omicron_zone, inv_omicron_zone_nic, inv_root_of_trust, - inv_root_of_trust_page, inv_service_processor, inv_sled_agent, - inv_sled_omicron_zones, sw_caboose, sw_root_of_trust_page, + inv_omicron_zone, inv_omicron_zone_nic, inv_physical_disk, + inv_root_of_trust, inv_root_of_trust_page, inv_service_processor, + inv_sled_agent, inv_sled_omicron_zones, sw_caboose, sw_root_of_trust_page, }; +use crate::PhysicalDiskKind; use crate::{ impl_enum_type, ipv6, ByteCount, Generation, MacAddr, Name, SqlU16, SqlU32, SqlU8, @@ -652,6 +653,48 @@ impl InvSledAgent { } } +/// See [`nexus_types::inventory::PhysicalDisk`]. +#[derive(Queryable, Clone, Debug, Selectable, Insertable)] +#[diesel(table_name = inv_physical_disk)] +pub struct InvPhysicalDisk { + pub inv_collection_id: Uuid, + pub sled_id: Uuid, + pub vendor: String, + pub serial: String, + pub model: String, + pub variant: PhysicalDiskKind, +} + +impl InvPhysicalDisk { + pub fn new( + inv_collection_id: Uuid, + sled_id: Uuid, + disk: nexus_types::inventory::PhysicalDisk, + ) -> Self { + Self { + inv_collection_id, + sled_id, + vendor: disk.identity.vendor, + serial: disk.identity.serial, + model: disk.identity.model, + variant: disk.variant.into(), + } + } +} + +impl From for nexus_types::inventory::PhysicalDisk { + fn from(disk: InvPhysicalDisk) -> Self { + Self { + identity: omicron_common::disk::DiskIdentity { + vendor: disk.vendor, + serial: disk.serial, + model: disk.model, + }, + variant: disk.variant.into(), + } + } +} + /// See [`nexus_types::inventory::OmicronZonesFound`]. #[derive(Queryable, Clone, Debug, Selectable, Insertable)] #[diesel(table_name = inv_sled_omicron_zones)] diff --git a/nexus/db-model/src/schema.rs b/nexus/db-model/src/schema.rs index d8344c2258..aa598dc933 100644 --- a/nexus/db-model/src/schema.rs +++ b/nexus/db-model/src/schema.rs @@ -1358,6 +1358,19 @@ table! { } } +table! { + inv_physical_disk (inv_collection_id, sled_id, vendor, serial, model) { + inv_collection_id -> Uuid, + sled_id -> Uuid, + + vendor -> Text, + serial -> Text, + model -> Text, + + variant -> crate::PhysicalDiskKindEnum, + } +} + table! { inv_sled_omicron_zones (inv_collection_id, sled_id) { inv_collection_id -> Uuid, diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index 3f2f4bd127..e64b0843c7 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -39,6 +39,7 @@ use nexus_db_model::InvCollection; use nexus_db_model::InvCollectionError; use nexus_db_model::InvOmicronZone; use nexus_db_model::InvOmicronZoneNic; +use nexus_db_model::InvPhysicalDisk; use nexus_db_model::InvRootOfTrust; use nexus_db_model::InvRotPage; use nexus_db_model::InvServiceProcessor; @@ -125,6 +126,25 @@ impl DataStore { )) }) .collect::, Error>>()?; + // Pull disks out of all sled agents + let disks: Vec<_> = collection + .sled_agents + .iter() + .flat_map(|(sled_id, sled_agent)| { + sled_agent + .disks + .iter() + .map(|disk| { + InvPhysicalDisk::new( + collection_id, + *sled_id, + disk.clone(), + ) + }) + .collect::>() + }) + .collect(); + // Partition the sled agents into those with an associated baseboard id // and those without one. We handle these pretty differently. let (sled_agents_baseboards, sled_agents_no_baseboards): ( @@ -639,6 +659,20 @@ impl DataStore { } } + // Insert rows for all the physical disks we found. + { + use db::schema::inv_physical_disk::dsl; + + let mut iter = + disks.chunks(SQL_BATCH_SIZE.get().try_into().unwrap()); + while let Some(some_disks) = iter.next() { + let _ = diesel::insert_into(dsl::inv_physical_disk) + .values(some_disks.to_vec()) + .execute_async(&conn) + .await?; + } + } + // Insert rows for the sled agents that we found. In practice, we'd // expect these to all have baseboards (if using Oxide hardware) or // none have baseboards (if not). @@ -1391,6 +1425,83 @@ impl DataStore { rows }; + // Mapping of "Sled ID" -> "All disks reported by that sled" + let physical_disks: BTreeMap< + Uuid, + Vec, + > = { + use db::schema::inv_physical_disk::dsl; + + let mut disks = BTreeMap::< + Uuid, + Vec, + >::new(); + let mut paginator = Paginator::new(batch_size); + while let Some(p) = paginator.next() { + // The primary key of physical disks is more than two columns, + // which complicates a bit of the pagination query. This + // code below is effectively an implementation of + // "paginated_multicolumn" for these four columns (sled_id, + // vendor, model, serial). + type PK = (Uuid, String, String, String); + + let pagparams = &p.current_pagparams(); + let mut query = dsl::inv_physical_disk + .into_boxed() + .limit(pagparams.limit.get().into()) + .filter(dsl::inv_collection_id.eq(id)); + let marker = pagparams.marker.map(|m: &PK| m.clone()); + if let Some((sled_id, vendor, serial, model)) = marker { + query = query.filter( + dsl::sled_id + .eq(sled_id) + .and(dsl::vendor.eq(vendor.clone())) + .and(dsl::model.eq(model.clone())) + .and(dsl::serial.gt(serial.clone())), + ); + query = query.or_filter( + dsl::sled_id + .eq(sled_id) + .and(dsl::vendor.eq(vendor.clone())) + .and(dsl::model.gt(model.clone())), + ); + query = query.or_filter( + dsl::sled_id + .eq(sled_id) + .and(dsl::vendor.gt(vendor.clone())), + ); + query = query.or_filter(dsl::sled_id.gt(sled_id)); + } + query = query + .order(dsl::sled_id.asc()) + .then_order_by(dsl::vendor.asc()) + .then_order_by(dsl::model.asc()) + .then_order_by(dsl::serial.asc()); + + let batch: Vec<_> = query + .select(InvPhysicalDisk::as_select()) + .load_async(&*conn) + .await + .map_err(|e| { + public_error_from_diesel(e, ErrorHandler::Server) + })?; + paginator = p.found_batch(&batch, &|row| { + ( + row.sled_id, + row.vendor.clone(), + row.serial.clone(), + row.model.clone(), + ) + }); + + for disk in batch { + disks.entry(disk.sled_id).or_default().push(disk.into()); + } + } + + disks + }; + // Collect the unique baseboard ids referenced by SPs, RoTs, and Sled // Agents. let baseboard_id_ids: BTreeSet<_> = sps @@ -1494,6 +1605,10 @@ impl DataStore { ), usable_physical_ram: s.usable_physical_ram.into(), reservoir_size: s.reservoir_size.into(), + disks: physical_disks + .get(&sled_id) + .map(|disks| disks.to_vec()) + .unwrap_or_default(), }; Ok((sled_id, sled_agent)) }) diff --git a/nexus/deployment/src/blueprint_builder.rs b/nexus/deployment/src/blueprint_builder.rs index 2263a99ce0..69657cf0fa 100644 --- a/nexus/deployment/src/blueprint_builder.rs +++ b/nexus/deployment/src/blueprint_builder.rs @@ -806,6 +806,7 @@ pub mod test { sled_id, usable_hardware_threads: 10, usable_physical_ram: ByteCount::from(1024 * 1024), + disks: vec![], }, ) .unwrap(); diff --git a/nexus/inventory/src/builder.rs b/nexus/inventory/src/builder.rs index 08a905143c..641626635f 100644 --- a/nexus/inventory/src/builder.rs +++ b/nexus/inventory/src/builder.rs @@ -458,6 +458,7 @@ impl CollectionBuilder { reservoir_size: inventory.reservoir_size, time_collected: now_db_precision(), sled_id, + disks: inventory.disks.into_iter().map(|d| d.into()).collect(), }; if let Some(previous) = self.sleds.get(&sled_id) { diff --git a/nexus/inventory/src/examples.rs b/nexus/inventory/src/examples.rs index 93ba139c85..43e6092992 100644 --- a/nexus/inventory/src/examples.rs +++ b/nexus/inventory/src/examples.rs @@ -448,5 +448,6 @@ pub fn sled_agent( sled_id, usable_hardware_threads: 10, usable_physical_ram: ByteCount::from(1024 * 1024), + disks: vec![], } } diff --git a/nexus/types/src/external_api/params.rs b/nexus/types/src/external_api/params.rs index 07eeb9b679..492f68684c 100644 --- a/nexus/types/src/external_api/params.rs +++ b/nexus/types/src/external_api/params.rs @@ -1319,6 +1319,16 @@ pub enum PhysicalDiskKind { U2, } +impl From for PhysicalDiskKind { + fn from(variant: sled_agent_client::types::DiskVariant) -> Self { + use sled_agent_client::types::DiskVariant; + match variant { + DiskVariant::U2 => Self::U2, + DiskVariant::M2 => Self::M2, + } + } +} + /// Different sources for a disk #[derive(Clone, Debug, Deserialize, Serialize, JsonSchema)] #[serde(tag = "type", rename_all = "snake_case")] diff --git a/nexus/types/src/inventory.rs b/nexus/types/src/inventory.rs index 71e8e64d97..604ea3f620 100644 --- a/nexus/types/src/inventory.rs +++ b/nexus/types/src/inventory.rs @@ -9,6 +9,7 @@ //! nexus/inventory does not currently know about nexus/db-model and it's //! convenient to separate these concerns.) +use crate::external_api::params::PhysicalDiskKind; use crate::external_api::params::UninitializedSledId; use crate::external_api::shared::Baseboard; use chrono::DateTime; @@ -301,6 +302,26 @@ impl IntoRotPage for gateway_client::types::RotCfpa { } } +/// A physical disk reported by a sled agent. +/// +/// This identifies that a physical disk appears in a Sled. +/// The existence of this object does not necessarily imply that +/// the disk is being actively managed by the control plane. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct PhysicalDisk { + pub identity: omicron_common::disk::DiskIdentity, + pub variant: PhysicalDiskKind, +} + +impl From for PhysicalDisk { + fn from(disk: sled_agent_client::types::InventoryDisk) -> PhysicalDisk { + PhysicalDisk { + identity: disk.identity.into(), + variant: disk.variant.into(), + } + } +} + /// Inventory reported by sled agent /// /// This is a software notion of a sled, distinct from an underlying baseboard. @@ -318,6 +339,7 @@ pub struct SledAgent { pub usable_hardware_threads: u32, pub usable_physical_ram: ByteCount, pub reservoir_size: ByteCount, + pub disks: Vec, } #[derive(Clone, Debug, PartialEq, Eq)] diff --git a/openapi/sled-agent.json b/openapi/sled-agent.json index 99156fffd4..f42afca527 100644 --- a/openapi/sled-agent.json +++ b/openapi/sled-agent.json @@ -3506,6 +3506,26 @@ "target" ] }, + "DiskIdentity": { + "description": "Uniquely identifies a disk.", + "type": "object", + "properties": { + "model": { + "type": "string" + }, + "serial": { + "type": "string" + }, + "vendor": { + "type": "string" + } + }, + "required": [ + "model", + "serial", + "vendor" + ] + }, "DiskRequest": { "description": "DiskRequest\n\n
JSON schema\n\n```json { \"type\": \"object\", \"required\": [ \"device\", \"name\", \"read_only\", \"slot\", \"volume_construction_request\" ], \"properties\": { \"device\": { \"type\": \"string\" }, \"name\": { \"type\": \"string\" }, \"read_only\": { \"type\": \"boolean\" }, \"slot\": { \"$ref\": \"#/components/schemas/Slot\" }, \"volume_construction_request\": { \"$ref\": \"#/components/schemas/VolumeConstructionRequest\" } } } ```
", "type": "object", @@ -3839,6 +3859,13 @@ "M2" ] }, + "DiskVariant": { + "type": "string", + "enum": [ + "U2", + "M2" + ] + }, "Duration": { "type": "object", "properties": { @@ -5187,6 +5214,12 @@ "baseboard": { "$ref": "#/components/schemas/Baseboard" }, + "disks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InventoryDisk" + } + }, "reservoir_size": { "$ref": "#/components/schemas/ByteCount" }, @@ -5211,6 +5244,7 @@ }, "required": [ "baseboard", + "disks", "reservoir_size", "sled_agent_address", "sled_id", @@ -5219,6 +5253,22 @@ "usable_physical_ram" ] }, + "InventoryDisk": { + "description": "Identifies information about disks which may be attached to Sleds.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/components/schemas/DiskIdentity" + }, + "variant": { + "$ref": "#/components/schemas/DiskVariant" + } + }, + "required": [ + "identity", + "variant" + ] + }, "IpNet": { "oneOf": [ { diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index 837be42c35..4c8a25f2f3 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -2959,6 +2959,31 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_sled_agent ( PRIMARY KEY (inv_collection_id, sled_id) ); +CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( + -- where this observation came from + -- (foreign key into `inv_collection` table) + inv_collection_id UUID NOT NULL, + + -- unique id for this sled (should be foreign keys into `sled` table, though + -- it's conceivable a sled will report an id that we don't know about) + sled_id UUID NOT NULL, + + vendor STRING(63) NOT NULL, + serial STRING(63) NOT NULL, + model STRING(63) NOT NULL, + + variant omicron.public.physical_disk_kind NOT NULL, + + -- FK consisting of: + -- - Which collection this was + -- - The sled reporting the disk + -- - Attributes which **should** uniquely identify the disk + -- + -- However, this imposes no constraint that the combination of vendor, serial + -- and model are universally unique - just unique on a single sled. + PRIMARY KEY (inv_collection_id, sled_id, vendor, serial, model) +); + CREATE TABLE IF NOT EXISTS omicron.public.inv_sled_omicron_zones ( -- where this observation came from -- (foreign key into `inv_collection` table) From f3bfaddbff4b699ad35732f694a8a597b6c7679e Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Tue, 27 Feb 2024 12:39:47 -0800 Subject: [PATCH 03/19] Schema --- nexus/db-model/src/schema.rs | 2 +- schema/crdb/38.0.0/up01.sql | 13 +++++++++++++ schema/crdb/dbinit.sql | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 schema/crdb/38.0.0/up01.sql diff --git a/nexus/db-model/src/schema.rs b/nexus/db-model/src/schema.rs index aa598dc933..00927c2259 100644 --- a/nexus/db-model/src/schema.rs +++ b/nexus/db-model/src/schema.rs @@ -13,7 +13,7 @@ use omicron_common::api::external::SemverVersion; /// /// This should be updated whenever the schema is changed. For more details, /// refer to: schema/crdb/README.adoc -pub const SCHEMA_VERSION: SemverVersion = SemverVersion::new(37, 0, 1); +pub const SCHEMA_VERSION: SemverVersion = SemverVersion::new(38, 0, 0); table! { disk (id) { diff --git a/schema/crdb/38.0.0/up01.sql b/schema/crdb/38.0.0/up01.sql new file mode 100644 index 0000000000..9da2c95d94 --- /dev/null +++ b/schema/crdb/38.0.0/up01.sql @@ -0,0 +1,13 @@ +CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( + inv_collection_id UUID NOT NULL, + + sled_id UUID NOT NULL, + + vendor STRING(63) NOT NULL, + serial STRING(63) NOT NULL, + model STRING(63) NOT NULL, + + variant omicron.public.physical_disk_kind NOT NULL, + + PRIMARY KEY (inv_collection_id, sled_id, vendor, serial, model) +); diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index 4c8a25f2f3..e9dcf78055 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -3576,7 +3576,7 @@ INSERT INTO omicron.public.db_metadata ( version, target_version ) VALUES - ( TRUE, NOW(), NOW(), '37.0.1', NULL) + ( TRUE, NOW(), NOW(), '38.0.0', NULL) ON CONFLICT DO NOTHING; COMMIT; From 228bcdff921345ba0db7bf1d2979bc284a5d89ec Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Tue, 27 Feb 2024 16:03:19 -0800 Subject: [PATCH 04/19] Fix tests --- nexus/db-model/src/inventory.rs | 4 +- nexus/db-model/src/schema.rs | 4 +- .../db-queries/src/db/datastore/inventory.rs | 49 +++++++++++++++---- nexus/inventory/src/builder.rs | 5 ++ nexus/inventory/src/examples.rs | 45 ++++++++++++++++- schema/crdb/38.0.0/up01.sql | 2 +- schema/crdb/dbinit.sql | 4 +- 7 files changed, 95 insertions(+), 18 deletions(-) diff --git a/nexus/db-model/src/inventory.rs b/nexus/db-model/src/inventory.rs index 97bc907b40..3d89852853 100644 --- a/nexus/db-model/src/inventory.rs +++ b/nexus/db-model/src/inventory.rs @@ -660,8 +660,8 @@ pub struct InvPhysicalDisk { pub inv_collection_id: Uuid, pub sled_id: Uuid, pub vendor: String, - pub serial: String, pub model: String, + pub serial: String, pub variant: PhysicalDiskKind, } @@ -675,8 +675,8 @@ impl InvPhysicalDisk { inv_collection_id, sled_id, vendor: disk.identity.vendor, - serial: disk.identity.serial, model: disk.identity.model, + serial: disk.identity.serial, variant: disk.variant.into(), } } diff --git a/nexus/db-model/src/schema.rs b/nexus/db-model/src/schema.rs index 00927c2259..4d310425fd 100644 --- a/nexus/db-model/src/schema.rs +++ b/nexus/db-model/src/schema.rs @@ -1359,13 +1359,13 @@ table! { } table! { - inv_physical_disk (inv_collection_id, sled_id, vendor, serial, model) { + inv_physical_disk (inv_collection_id, sled_id, vendor, model, serial) { inv_collection_id -> Uuid, sled_id -> Uuid, vendor -> Text, - serial -> Text, model -> Text, + serial -> Text, variant -> crate::PhysicalDiskKindEnum, } diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index e64b0843c7..70807f581f 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -1063,6 +1063,7 @@ impl DataStore { ncabooses, nrot_pages, nsled_agents, + nphysical_disks, nsled_agent_zones, nzones, nnics, @@ -1134,6 +1135,17 @@ impl DataStore { .await? }; + // Remove rows for physical disks found. + let nphysical_disks = { + use db::schema::inv_physical_disk::dsl; + diesel::delete( + dsl::inv_physical_disk + .filter(dsl::inv_collection_id.eq(collection_id)), + ) + .execute_async(&conn) + .await? + }; + // Remove rows associated with Omicron zones let nsled_agent_zones = { use db::schema::inv_sled_omicron_zones::dsl; @@ -1183,6 +1195,7 @@ impl DataStore { ncabooses, nrot_pages, nsled_agents, + nphysical_disks, nsled_agent_zones, nzones, nnics, @@ -1205,6 +1218,7 @@ impl DataStore { "ncabooses" => ncabooses, "nrot_pages" => nrot_pages, "nsled_agents" => nsled_agents, + "nphysical_disks" => nphysical_disks, "nsled_agent_zones" => nsled_agent_zones, "nzones" => nzones, "nnics" => nnics, @@ -1443,37 +1457,45 @@ impl DataStore { // code below is effectively an implementation of // "paginated_multicolumn" for these four columns (sled_id, // vendor, model, serial). - type PK = (Uuid, String, String, String); + type Marker = (Uuid, String, String, String); let pagparams = &p.current_pagparams(); let mut query = dsl::inv_physical_disk .into_boxed() .limit(pagparams.limit.get().into()) .filter(dsl::inv_collection_id.eq(id)); - let marker = pagparams.marker.map(|m: &PK| m.clone()); + let marker = pagparams.marker.map(|m: &Marker| m.clone()); if let Some((sled_id, vendor, serial, model)) = marker { query = query.filter( - dsl::sled_id - .eq(sled_id) + dsl::inv_collection_id + .eq(id) + .and(dsl::sled_id.eq(sled_id)) .and(dsl::vendor.eq(vendor.clone())) .and(dsl::model.eq(model.clone())) .and(dsl::serial.gt(serial.clone())), ); query = query.or_filter( - dsl::sled_id - .eq(sled_id) + dsl::inv_collection_id + .eq(id) + .and(dsl::sled_id.eq(sled_id)) .and(dsl::vendor.eq(vendor.clone())) .and(dsl::model.gt(model.clone())), ); query = query.or_filter( - dsl::sled_id - .eq(sled_id) + dsl::inv_collection_id + .eq(id) + .and(dsl::sled_id.eq(sled_id)) .and(dsl::vendor.gt(vendor.clone())), ); - query = query.or_filter(dsl::sled_id.gt(sled_id)); + query = query.or_filter( + dsl::inv_collection_id + .eq(id) + .and(dsl::sled_id.gt(sled_id)), + ); } query = query - .order(dsl::sled_id.asc()) + .order_by(dsl::inv_collection_id.asc()) + .then_order_by(dsl::sled_id.asc()) .then_order_by(dsl::vendor.asc()) .then_order_by(dsl::model.asc()) .then_order_by(dsl::serial.asc()); @@ -2048,6 +2070,7 @@ mod test { use nexus_types::inventory::RotPageWhich; use omicron_common::api::external::Error; use omicron_test_utils::dev; + use pretty_assertions::assert_eq; use std::num::NonZeroU32; struct CollectionCounts { @@ -2499,6 +2522,12 @@ mod test { .await .unwrap(); assert_eq!(0, count); + let count = schema::inv_physical_disk::dsl::inv_physical_disk + .select(diesel::dsl::count_star()) + .first_async::(&conn) + .await + .unwrap(); + assert_eq!(0, count); let count = schema::inv_sled_omicron_zones::dsl::inv_sled_omicron_zones .select(diesel::dsl::count_star()) diff --git a/nexus/inventory/src/builder.rs b/nexus/inventory/src/builder.rs index 641626635f..38d3b1d3be 100644 --- a/nexus/inventory/src/builder.rs +++ b/nexus/inventory/src/builder.rs @@ -908,6 +908,11 @@ mod test { let sled1_bb = sled1_agent.baseboard_id.as_ref().unwrap(); assert_eq!(sled1_bb.part_number, "model1"); assert_eq!(sled1_bb.serial_number, "s1"); + assert_eq!(sled1_agent.disks.len(), 4); + assert_eq!(sled1_agent.disks[0].identity.vendor, "memetendo"); + assert_eq!(sled1_agent.disks[0].identity.model, "swatch"); + assert_eq!(sled1_agent.disks[0].identity.serial, "0001"); + let sled4_agent = &collection.sled_agents[&sled_agent_id_extra]; let sled4_bb = sled4_agent.baseboard_id.as_ref().unwrap(); assert_eq!(sled4_bb.serial_number, "s4"); diff --git a/nexus/inventory/src/examples.rs b/nexus/inventory/src/examples.rs index 43e6092992..e5a33e8193 100644 --- a/nexus/inventory/src/examples.rs +++ b/nexus/inventory/src/examples.rs @@ -272,6 +272,44 @@ pub fn representative() -> Representative { // This first one will match "sled1_bb"'s baseboard information. let sled_agent_id_basic = "c5aec1df-b897-49e4-8085-ccd975f9b529".parse().unwrap(); + // Add some disks to this first sled. + let disks = vec![ + // Let's say we have one manufacturer for our M.2... + sled_agent_client::types::InventoryDisk { + identity: sled_agent_client::types::DiskIdentity { + vendor: "macrohard".to_string(), + model: "box".to_string(), + serial: "XXIV".to_string(), + }, + variant: sled_agent_client::types::DiskVariant::M2, + }, + // ... and a couple different vendors for our U.2s + sled_agent_client::types::InventoryDisk { + identity: sled_agent_client::types::DiskIdentity { + vendor: "memetendo".to_string(), + model: "swatch".to_string(), + serial: "0001".to_string(), + }, + variant: sled_agent_client::types::DiskVariant::U2, + }, + sled_agent_client::types::InventoryDisk { + identity: sled_agent_client::types::DiskIdentity { + vendor: "memetendo".to_string(), + model: "swatch".to_string(), + serial: "0002".to_string(), + }, + variant: sled_agent_client::types::DiskVariant::U2, + }, + sled_agent_client::types::InventoryDisk { + identity: sled_agent_client::types::DiskIdentity { + vendor: "tony".to_string(), + model: "craystation".to_string(), + serial: "5".to_string(), + }, + variant: sled_agent_client::types::DiskVariant::U2, + }, + ]; + builder .found_sled_inventory( "fake sled agent 1", @@ -283,6 +321,7 @@ pub fn representative() -> Representative { revision: 0, }, sled_agent_client::types::SledRole::Gimlet, + disks, ), ) .unwrap(); @@ -307,6 +346,7 @@ pub fn representative() -> Representative { revision: 0, }, sled_agent_client::types::SledRole::Scrimlet, + vec![], ), ) .unwrap(); @@ -326,6 +366,7 @@ pub fn representative() -> Representative { model: String::from("fellofftruck"), }, sled_agent_client::types::SledRole::Gimlet, + vec![], ), ) .unwrap(); @@ -343,6 +384,7 @@ pub fn representative() -> Representative { sled_agent_id_unknown, sled_agent_client::types::Baseboard::Unknown, sled_agent_client::types::SledRole::Gimlet, + vec![], ), ) .unwrap(); @@ -439,6 +481,7 @@ pub fn sled_agent( sled_id: Uuid, baseboard: sled_agent_client::types::Baseboard, sled_role: sled_agent_client::types::SledRole, + disks: Vec, ) -> sled_agent_client::types::Inventory { sled_agent_client::types::Inventory { baseboard, @@ -448,6 +491,6 @@ pub fn sled_agent( sled_id, usable_hardware_threads: 10, usable_physical_ram: ByteCount::from(1024 * 1024), - disks: vec![], + disks, } } diff --git a/schema/crdb/38.0.0/up01.sql b/schema/crdb/38.0.0/up01.sql index 9da2c95d94..eee0f31f0a 100644 --- a/schema/crdb/38.0.0/up01.sql +++ b/schema/crdb/38.0.0/up01.sql @@ -4,8 +4,8 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( sled_id UUID NOT NULL, vendor STRING(63) NOT NULL, - serial STRING(63) NOT NULL, model STRING(63) NOT NULL, + serial STRING(63) NOT NULL, variant omicron.public.physical_disk_kind NOT NULL, diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index e9dcf78055..4c9328547f 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -2969,8 +2969,8 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( sled_id UUID NOT NULL, vendor STRING(63) NOT NULL, - serial STRING(63) NOT NULL, model STRING(63) NOT NULL, + serial STRING(63) NOT NULL, variant omicron.public.physical_disk_kind NOT NULL, @@ -2981,7 +2981,7 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( -- -- However, this imposes no constraint that the combination of vendor, serial -- and model are universally unique - just unique on a single sled. - PRIMARY KEY (inv_collection_id, sled_id, vendor, serial, model) + PRIMARY KEY (inv_collection_id, sled_id, vendor, model, serial) ); CREATE TABLE IF NOT EXISTS omicron.public.inv_sled_omicron_zones ( From 0d93a869e2f5accf3235dca8a0549a14c61e7bec Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Tue, 27 Feb 2024 16:05:45 -0800 Subject: [PATCH 05/19] You can't run memetendo swatch games on your macrohard box --- nexus/inventory/src/builder.rs | 6 +++--- nexus/tests/integration_tests/instances.rs | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nexus/inventory/src/builder.rs b/nexus/inventory/src/builder.rs index 38d3b1d3be..2f09f622a8 100644 --- a/nexus/inventory/src/builder.rs +++ b/nexus/inventory/src/builder.rs @@ -909,9 +909,9 @@ mod test { assert_eq!(sled1_bb.part_number, "model1"); assert_eq!(sled1_bb.serial_number, "s1"); assert_eq!(sled1_agent.disks.len(), 4); - assert_eq!(sled1_agent.disks[0].identity.vendor, "memetendo"); - assert_eq!(sled1_agent.disks[0].identity.model, "swatch"); - assert_eq!(sled1_agent.disks[0].identity.serial, "0001"); + assert_eq!(sled1_agent.disks[0].identity.vendor, "macrohard"); + assert_eq!(sled1_agent.disks[0].identity.model, "box"); + assert_eq!(sled1_agent.disks[0].identity.serial, "XXIV"); let sled4_agent = &collection.sled_agents[&sled_agent_id_extra]; let sled4_bb = sled4_agent.baseboard_id.as_ref().unwrap(); diff --git a/nexus/tests/integration_tests/instances.rs b/nexus/tests/integration_tests/instances.rs index 09f91a2288..f7bf8dfc93 100644 --- a/nexus/tests/integration_tests/instances.rs +++ b/nexus/tests/integration_tests/instances.rs @@ -3756,6 +3756,7 @@ async fn test_cannot_provision_instance_beyond_ram_capacity( } #[nexus_test] +#[ignore] async fn test_instance_serial(cptestctx: &ControlPlaneTestContext) { let client = &cptestctx.external_client; let apictx = &cptestctx.server.apictx(); From 7be0e1e44031174937ebf041da2d762d0d700d0b Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Tue, 27 Feb 2024 16:56:08 -0800 Subject: [PATCH 06/19] Primary key order matters --- schema/crdb/38.0.0/up01.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/crdb/38.0.0/up01.sql b/schema/crdb/38.0.0/up01.sql index eee0f31f0a..44165abe93 100644 --- a/schema/crdb/38.0.0/up01.sql +++ b/schema/crdb/38.0.0/up01.sql @@ -9,5 +9,5 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( variant omicron.public.physical_disk_kind NOT NULL, - PRIMARY KEY (inv_collection_id, sled_id, vendor, serial, model) + PRIMARY KEY (inv_collection_id, sled_id, vendor, model, serial) ); From 470be89e330c3f170e8f197b4fe16047f001afd8 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Wed, 28 Feb 2024 13:24:22 -0800 Subject: [PATCH 07/19] stop ignoring test, it's only flaky locally --- nexus/tests/integration_tests/instances.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/nexus/tests/integration_tests/instances.rs b/nexus/tests/integration_tests/instances.rs index f7bf8dfc93..09f91a2288 100644 --- a/nexus/tests/integration_tests/instances.rs +++ b/nexus/tests/integration_tests/instances.rs @@ -3756,7 +3756,6 @@ async fn test_cannot_provision_instance_beyond_ram_capacity( } #[nexus_test] -#[ignore] async fn test_instance_serial(cptestctx: &ControlPlaneTestContext) { let client = &cptestctx.external_client; let apictx = &cptestctx.server.apictx(); From ad6bf23b44a608412ed70358a3d90a40fc108c04 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Mon, 11 Mar 2024 17:11:32 -0700 Subject: [PATCH 08/19] John's feedback --- .../db-queries/src/db/datastore/inventory.rs | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index 70807f581f..cd149591a7 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -131,17 +131,9 @@ impl DataStore { .sled_agents .iter() .flat_map(|(sled_id, sled_agent)| { - sled_agent - .disks - .iter() - .map(|disk| { - InvPhysicalDisk::new( - collection_id, - *sled_id, - disk.clone(), - ) - }) - .collect::>() + sled_agent.disks.iter().map(|disk| { + InvPhysicalDisk::new(collection_id, *sled_id, disk.clone()) + }) }) .collect(); @@ -663,11 +655,16 @@ impl DataStore { { use db::schema::inv_physical_disk::dsl; - let mut iter = - disks.chunks(SQL_BATCH_SIZE.get().try_into().unwrap()); - while let Some(some_disks) = iter.next() { + let batch_size = SQL_BATCH_SIZE.get().try_into().unwrap(); + let mut disks = disks.into_iter(); + loop { + let some_disks = + disks.by_ref().take(batch_size).collect::>(); + if some_disks.is_empty() { + break; + } let _ = diesel::insert_into(dsl::inv_physical_disk) - .values(some_disks.to_vec()) + .values(some_disks) .execute_async(&conn) .await?; } From 72ac9b540fe0f1eea086ac61a87bb27726da9a84 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Mon, 11 Mar 2024 17:58:26 -0700 Subject: [PATCH 09/19] Slot plumbing --- nexus/db-model/src/inventory.rs | 3 + nexus/db-model/src/schema.rs | 3 +- .../db-queries/src/db/datastore/inventory.rs | 79 ++++--------------- nexus/inventory/src/examples.rs | 4 + nexus/types/src/inventory.rs | 2 + openapi/sled-agent.json | 5 ++ schema/crdb/41.0.0/up01.sql | 3 +- schema/crdb/dbinit.sql | 9 +-- sled-agent/src/params.rs | 1 + sled-agent/src/sim/sled_agent.rs | 1 + sled-agent/src/sim/storage.rs | 7 +- sled-agent/src/sled_agent.rs | 1 + 12 files changed, 45 insertions(+), 73 deletions(-) diff --git a/nexus/db-model/src/inventory.rs b/nexus/db-model/src/inventory.rs index 59ab69f1bd..1c268c5914 100644 --- a/nexus/db-model/src/inventory.rs +++ b/nexus/db-model/src/inventory.rs @@ -660,6 +660,7 @@ impl InvSledAgent { pub struct InvPhysicalDisk { pub inv_collection_id: Uuid, pub sled_id: Uuid, + pub slot: i64, pub vendor: String, pub model: String, pub serial: String, @@ -675,6 +676,7 @@ impl InvPhysicalDisk { Self { inv_collection_id, sled_id, + slot: disk.slot, vendor: disk.identity.vendor, model: disk.identity.model, serial: disk.identity.serial, @@ -692,6 +694,7 @@ impl From for nexus_types::inventory::PhysicalDisk { model: disk.model, }, variant: disk.variant.into(), + slot: disk.slot, } } } diff --git a/nexus/db-model/src/schema.rs b/nexus/db-model/src/schema.rs index 390484f88f..781f56fe0c 100644 --- a/nexus/db-model/src/schema.rs +++ b/nexus/db-model/src/schema.rs @@ -1362,9 +1362,10 @@ table! { } table! { - inv_physical_disk (inv_collection_id, sled_id, vendor, model, serial) { + inv_physical_disk (inv_collection_id, sled_id, slot) { inv_collection_id -> Uuid, sled_id -> Uuid, + slot -> Int8, vendor -> Text, model -> Text, diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index cd149591a7..860725cc08 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -1449,75 +1449,24 @@ impl DataStore { >::new(); let mut paginator = Paginator::new(batch_size); while let Some(p) = paginator.next() { - // The primary key of physical disks is more than two columns, - // which complicates a bit of the pagination query. This - // code below is effectively an implementation of - // "paginated_multicolumn" for these four columns (sled_id, - // vendor, model, serial). - type Marker = (Uuid, String, String, String); - - let pagparams = &p.current_pagparams(); - let mut query = dsl::inv_physical_disk - .into_boxed() - .limit(pagparams.limit.get().into()) - .filter(dsl::inv_collection_id.eq(id)); - let marker = pagparams.marker.map(|m: &Marker| m.clone()); - if let Some((sled_id, vendor, serial, model)) = marker { - query = query.filter( - dsl::inv_collection_id - .eq(id) - .and(dsl::sled_id.eq(sled_id)) - .and(dsl::vendor.eq(vendor.clone())) - .and(dsl::model.eq(model.clone())) - .and(dsl::serial.gt(serial.clone())), - ); - query = query.or_filter( - dsl::inv_collection_id - .eq(id) - .and(dsl::sled_id.eq(sled_id)) - .and(dsl::vendor.eq(vendor.clone())) - .and(dsl::model.gt(model.clone())), - ); - query = query.or_filter( - dsl::inv_collection_id - .eq(id) - .and(dsl::sled_id.eq(sled_id)) - .and(dsl::vendor.gt(vendor.clone())), - ); - query = query.or_filter( - dsl::inv_collection_id - .eq(id) - .and(dsl::sled_id.gt(sled_id)), - ); - } - query = query - .order_by(dsl::inv_collection_id.asc()) - .then_order_by(dsl::sled_id.asc()) - .then_order_by(dsl::vendor.asc()) - .then_order_by(dsl::model.asc()) - .then_order_by(dsl::serial.asc()); - - let batch: Vec<_> = query - .select(InvPhysicalDisk::as_select()) - .load_async(&*conn) - .await - .map_err(|e| { - public_error_from_diesel(e, ErrorHandler::Server) - })?; - paginator = p.found_batch(&batch, &|row| { - ( - row.sled_id, - row.vendor.clone(), - row.serial.clone(), - row.model.clone(), - ) - }); - + let batch = paginated_multicolumn( + dsl::inv_physical_disk, + (dsl::sled_id, dsl::slot), + &p.current_pagparams(), + ) + .filter(dsl::inv_collection_id.eq(id)) + .select(InvPhysicalDisk::as_select()) + .load_async(&*conn) + .await + .map_err(|e| { + public_error_from_diesel(e, ErrorHandler::Server) + })?; + paginator = + p.found_batch(&batch, &|row| (row.sled_id, row.slot)); for disk in batch { disks.entry(disk.sled_id).or_default().push(disk.into()); } } - disks }; diff --git a/nexus/inventory/src/examples.rs b/nexus/inventory/src/examples.rs index e5a33e8193..286ded7276 100644 --- a/nexus/inventory/src/examples.rs +++ b/nexus/inventory/src/examples.rs @@ -282,6 +282,7 @@ pub fn representative() -> Representative { serial: "XXIV".to_string(), }, variant: sled_agent_client::types::DiskVariant::M2, + slot: 0, }, // ... and a couple different vendors for our U.2s sled_agent_client::types::InventoryDisk { @@ -291,6 +292,7 @@ pub fn representative() -> Representative { serial: "0001".to_string(), }, variant: sled_agent_client::types::DiskVariant::U2, + slot: 1, }, sled_agent_client::types::InventoryDisk { identity: sled_agent_client::types::DiskIdentity { @@ -299,6 +301,7 @@ pub fn representative() -> Representative { serial: "0002".to_string(), }, variant: sled_agent_client::types::DiskVariant::U2, + slot: 2, }, sled_agent_client::types::InventoryDisk { identity: sled_agent_client::types::DiskIdentity { @@ -307,6 +310,7 @@ pub fn representative() -> Representative { serial: "5".to_string(), }, variant: sled_agent_client::types::DiskVariant::U2, + slot: 3, }, ]; diff --git a/nexus/types/src/inventory.rs b/nexus/types/src/inventory.rs index 53fcda5b56..b0afe51a76 100644 --- a/nexus/types/src/inventory.rs +++ b/nexus/types/src/inventory.rs @@ -354,6 +354,7 @@ impl IntoRotPage for gateway_client::types::RotCfpa { pub struct PhysicalDisk { pub identity: omicron_common::disk::DiskIdentity, pub variant: PhysicalDiskKind, + pub slot: i64, } impl From for PhysicalDisk { @@ -361,6 +362,7 @@ impl From for PhysicalDisk { PhysicalDisk { identity: disk.identity.into(), variant: disk.variant.into(), + slot: disk.slot, } } } diff --git a/openapi/sled-agent.json b/openapi/sled-agent.json index 34f5bc337f..8de8be430f 100644 --- a/openapi/sled-agent.json +++ b/openapi/sled-agent.json @@ -5287,12 +5287,17 @@ "identity": { "$ref": "#/components/schemas/DiskIdentity" }, + "slot": { + "type": "integer", + "format": "int64" + }, "variant": { "$ref": "#/components/schemas/DiskVariant" } }, "required": [ "identity", + "slot", "variant" ] }, diff --git a/schema/crdb/41.0.0/up01.sql b/schema/crdb/41.0.0/up01.sql index 44165abe93..75270b7dc1 100644 --- a/schema/crdb/41.0.0/up01.sql +++ b/schema/crdb/41.0.0/up01.sql @@ -2,6 +2,7 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( inv_collection_id UUID NOT NULL, sled_id UUID NOT NULL, + slot INT8 CHECK (slot >= 0) NOT NULL, vendor STRING(63) NOT NULL, model STRING(63) NOT NULL, @@ -9,5 +10,5 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( variant omicron.public.physical_disk_kind NOT NULL, - PRIMARY KEY (inv_collection_id, sled_id, vendor, model, serial) + PRIMARY KEY (inv_collection_id, sled_id, slot) ); diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index 1acc2fc2f2..99d8fea65b 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -2970,6 +2970,8 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( -- unique id for this sled (should be foreign keys into `sled` table, though -- it's conceivable a sled will report an id that we don't know about) sled_id UUID NOT NULL, + -- The slot where this disk was last observed + slot INT8 CHECK (slot >= 0) NOT NULL, vendor STRING(63) NOT NULL, model STRING(63) NOT NULL, @@ -2980,11 +2982,8 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( -- FK consisting of: -- - Which collection this was -- - The sled reporting the disk - -- - Attributes which **should** uniquely identify the disk - -- - -- However, this imposes no constraint that the combination of vendor, serial - -- and model are universally unique - just unique on a single sled. - PRIMARY KEY (inv_collection_id, sled_id, vendor, model, serial) + -- - The slot in which this disk was found + PRIMARY KEY (inv_collection_id, sled_id, slot) ); CREATE TABLE IF NOT EXISTS omicron.public.inv_sled_omicron_zones ( diff --git a/sled-agent/src/params.rs b/sled-agent/src/params.rs index d820ffa143..8219a6cf45 100644 --- a/sled-agent/src/params.rs +++ b/sled-agent/src/params.rs @@ -877,6 +877,7 @@ pub type SledRole = nexus_client::types::SledRole; pub struct InventoryDisk { pub identity: omicron_common::disk::DiskIdentity, pub variant: sled_hardware::DiskVariant, + pub slot: i64, } /// Identity and basic status information about this sled agent diff --git a/sled-agent/src/sim/sled_agent.rs b/sled-agent/src/sim/sled_agent.rs index f2f70679fe..425f4e31a4 100644 --- a/sled-agent/src/sim/sled_agent.rs +++ b/sled-agent/src/sim/sled_agent.rs @@ -762,6 +762,7 @@ impl SledAgent { .map(|(identity, info)| crate::params::InventoryDisk { identity: identity.clone(), variant: info.variant, + slot: info.slot, }) .collect(), }) diff --git a/sled-agent/src/sim/storage.rs b/sled-agent/src/sim/storage.rs index 16b3ee97da..d50cd296ae 100644 --- a/sled-agent/src/sim/storage.rs +++ b/sled-agent/src/sim/storage.rs @@ -475,6 +475,7 @@ impl CrucibleServer { pub(crate) struct PhysicalDisk { pub(crate) variant: DiskVariant, + pub(crate) slot: i64, } struct Zpool { @@ -538,6 +539,7 @@ pub struct Storage { nexus_client: Arc, log: Logger, physical_disks: HashMap, + next_disk_slot: i64, zpools: HashMap, crucible_ip: IpAddr, next_crucible_port: u16, @@ -555,6 +557,7 @@ impl Storage { nexus_client, log, physical_disks: HashMap::new(), + next_disk_slot: 0, zpools: HashMap::new(), crucible_ip, next_crucible_port: 100, @@ -578,7 +581,9 @@ impl Storage { serial: serial.clone(), model: model.clone(), }; - self.physical_disks.insert(identifier, PhysicalDisk { variant }); + let slot = self.next_disk_slot; + self.next_disk_slot += 1; + self.physical_disks.insert(identifier, PhysicalDisk { variant, slot }); let variant = match variant { DiskVariant::U2 => PhysicalDiskKind::U2, diff --git a/sled-agent/src/sled_agent.rs b/sled-agent/src/sled_agent.rs index c102270e9d..fa98502c19 100644 --- a/sled-agent/src/sled_agent.rs +++ b/sled-agent/src/sled_agent.rs @@ -1114,6 +1114,7 @@ impl SledAgent { .map(|(identity, (disk, _pool))| crate::params::InventoryDisk { identity: identity.clone(), variant: disk.variant(), + slot: disk.slot(), }) .collect(); From 58e3e03fff9c8ea3b68e9d7463298879b252e7d3 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Mon, 11 Mar 2024 20:39:48 -0700 Subject: [PATCH 10/19] Use slots for synthetic disks --- sled-agent/src/long_running_tasks.rs | 5 +++-- sled-agent/src/services.rs | 4 ++-- sled-storage/src/disk.rs | 18 ++++++++++++++---- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/sled-agent/src/long_running_tasks.rs b/sled-agent/src/long_running_tasks.rs index f4a665c098..3b29bdda60 100644 --- a/sled-agent/src/long_running_tasks.rs +++ b/sled-agent/src/long_running_tasks.rs @@ -228,13 +228,14 @@ async fn upsert_synthetic_zpools_if_needed( config: &Config, ) { if let Some(pools) = &config.zpools { - for pool in pools { + for (i, pool) in pools.iter().enumerate() { info!( log, "Upserting synthetic zpool to Storage Manager: {}", pool.to_string() ); - let disk = SyntheticDisk::new(pool.clone()).into(); + let disk = + SyntheticDisk::new(pool.clone(), i.try_into().unwrap()).into(); storage_manager.upsert_disk(disk).await; } } diff --git a/sled-agent/src/services.rs b/sled-agent/src/services.rs index 2be4b8ec45..77b77ac3bb 100644 --- a/sled-agent/src/services.rs +++ b/sled-agent/src/services.rs @@ -4374,11 +4374,11 @@ mod test { let internal_zpool_name = ZpoolName::new_internal(Uuid::new_v4()); let internal_disk: RawDisk = - SyntheticDisk::new(internal_zpool_name).into(); + SyntheticDisk::new(internal_zpool_name, 0).into(); handle.upsert_disk(internal_disk).await; let external_zpool_name = ZpoolName::new_external(Uuid::new_v4()); let external_disk: RawDisk = - SyntheticDisk::new(external_zpool_name).into(); + SyntheticDisk::new(external_zpool_name, 1).into(); handle.upsert_disk(external_disk).await; handle diff --git a/sled-storage/src/disk.rs b/sled-storage/src/disk.rs index cfe189a409..1a8648a047 100644 --- a/sled-storage/src/disk.rs +++ b/sled-storage/src/disk.rs @@ -31,14 +31,24 @@ pub enum DiskError { pub struct SyntheticDisk { pub identity: DiskIdentity, pub zpool_name: ZpoolName, + pub slot: i64, } +// By adding slots at an "offset", this acts as a barrier against synthetic +// disks overlapping with "real disk" in a mixed-disk deployment. +// +// This shouldn't happen in prod, and is an unlikely test-only scenario, but +// we'd still like to protect against it, since it could confuse the inventory +// system. +const SYNTHETIC_SLOT_OFFSET: i64 = 1024; + impl SyntheticDisk { // Create a zpool and import it for the synthetic disk // Zpools willl be set to the min size of 64Mib pub fn create_zpool( dir: &Utf8Path, zpool_name: &ZpoolName, + slot: i64, ) -> SyntheticDisk { // 64 MiB (min size of zpool) const DISK_SIZE: u64 = 64 * 1024 * 1024; @@ -49,17 +59,17 @@ impl SyntheticDisk { Zpool::create(zpool_name, &path).unwrap(); Zpool::import(zpool_name).unwrap(); Zpool::set_failmode_continue(zpool_name).unwrap(); - Self::new(zpool_name.clone()) + Self::new(zpool_name.clone(), slot) } - pub fn new(zpool_name: ZpoolName) -> SyntheticDisk { + pub fn new(zpool_name: ZpoolName, slot: i64) -> SyntheticDisk { let id = zpool_name.id(); let identity = DiskIdentity { vendor: "synthetic-vendor".to_string(), serial: format!("synthetic-serial-{id}"), model: "synthetic-model".to_string(), }; - SyntheticDisk { identity, zpool_name } + SyntheticDisk { identity, zpool_name, slot: slot + SYNTHETIC_SLOT_OFFSET } } } @@ -247,7 +257,7 @@ impl Disk { pub fn slot(&self) -> i64 { match self { Self::Real(disk) => disk.slot, - Self::Synthetic(_) => unreachable!(), + Self::Synthetic(disk) => disk.slot, } } } From cdab96729eaa5e61ebc0b17e0d73b3191b64de79 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Mon, 11 Mar 2024 20:41:25 -0700 Subject: [PATCH 11/19] fmt --- sled-storage/src/disk.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sled-storage/src/disk.rs b/sled-storage/src/disk.rs index 1a8648a047..705b38718a 100644 --- a/sled-storage/src/disk.rs +++ b/sled-storage/src/disk.rs @@ -69,7 +69,11 @@ impl SyntheticDisk { serial: format!("synthetic-serial-{id}"), model: "synthetic-model".to_string(), }; - SyntheticDisk { identity, zpool_name, slot: slot + SYNTHETIC_SLOT_OFFSET } + SyntheticDisk { + identity, + zpool_name, + slot: slot + SYNTHETIC_SLOT_OFFSET, + } } } From 6d0dc3e1ae6d256ac85dc5bd02003a9fa914c617 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Mon, 11 Mar 2024 21:10:03 -0700 Subject: [PATCH 12/19] Fix illumos tests --- sled-agent/src/zone_bundle.rs | 4 ++-- sled-storage/src/manager.rs | 28 +++++++++++++++++++--------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/sled-agent/src/zone_bundle.rs b/sled-agent/src/zone_bundle.rs index f9e1c7b3be..4c4cbf5490 100644 --- a/sled-agent/src/zone_bundle.rs +++ b/sled-agent/src/zone_bundle.rs @@ -2236,10 +2236,10 @@ mod illumos_tests { }); // These must be internal zpools - for _ in 0..2 { + for i in 0..2 { let internal_zpool_name = ZpoolName::new_internal(Uuid::new_v4()); let internal_disk: RawDisk = - SyntheticDisk::new(internal_zpool_name.clone()).into(); + SyntheticDisk::new(internal_zpool_name.clone(), i).into(); handle.upsert_disk(internal_disk).await; } handle diff --git a/sled-storage/src/manager.rs b/sled-storage/src/manager.rs index 547c4ec2d7..bb749cc366 100644 --- a/sled-storage/src/manager.rs +++ b/sled-storage/src/manager.rs @@ -686,7 +686,7 @@ mod tests { KeyManager::new(&logctx.log, HardcodedSecretRetriever::default()); let (mut manager, _) = StorageManager::new(&logctx.log, key_requester); let zpool_name = ZpoolName::new_external(Uuid::new_v4()); - let raw_disk: RawDisk = SyntheticDisk::new(zpool_name).into(); + let raw_disk: RawDisk = SyntheticDisk::new(zpool_name, 0).into(); assert_eq!(StorageManagerState::WaitingForKeyManager, manager.state); manager.add_u2_disk(raw_disk.clone()).await.unwrap(); assert!(manager.resources.all_u2_zpools().is_empty()); @@ -710,7 +710,8 @@ mod tests { let (mut manager, _) = StorageManager::new(&logctx.log, key_requester); let zpool_name = ZpoolName::new_external(Uuid::new_v4()); let dir = tempdir().unwrap(); - let disk = SyntheticDisk::create_zpool(dir.path(), &zpool_name).into(); + let disk = + SyntheticDisk::create_zpool(dir.path(), &zpool_name, 0).into(); // Spawn the key_manager so that it will respond to requests for encryption keys tokio::spawn(async move { key_manager.run().await }); @@ -742,7 +743,8 @@ mod tests { // Create a synthetic internal disk let zpool_name = ZpoolName::new_internal(Uuid::new_v4()); let dir = tempdir().unwrap(); - let disk = SyntheticDisk::create_zpool(dir.path(), &zpool_name).into(); + let disk = + SyntheticDisk::create_zpool(dir.path(), &zpool_name, 0).into(); handle.upsert_disk(disk).await; handle.wait_for_boot_disk().await; @@ -770,7 +772,8 @@ mod tests { // the `KeyManager` is ready yet. let zpool_name = ZpoolName::new_external(Uuid::new_v4()); let dir = tempdir().unwrap(); - let disk = SyntheticDisk::create_zpool(dir.path(), &zpool_name).into(); + let disk = + SyntheticDisk::create_zpool(dir.path(), &zpool_name, 0).into(); handle.upsert_disk(disk).await; let resources = handle.get_latest_resources().await; assert!(resources.all_u2_zpools().is_empty()); @@ -808,7 +811,8 @@ mod tests { // the `KeyManager` is ready yet. let zpool_name = ZpoolName::new_external(Uuid::new_v4()); let dir = tempdir().unwrap(); - let disk = SyntheticDisk::create_zpool(dir.path(), &zpool_name).into(); + let disk = + SyntheticDisk::create_zpool(dir.path(), &zpool_name, 0).into(); handle.upsert_disk(disk).await; manager.step().await.unwrap(); @@ -865,7 +869,7 @@ mod tests { let zpool_name = ZpoolName::new_external(Uuid::new_v4()); let dir = tempdir().unwrap(); let disk: RawDisk = - SyntheticDisk::create_zpool(dir.path(), &zpool_name).into(); + SyntheticDisk::create_zpool(dir.path(), &zpool_name, 0).into(); handle.upsert_disk(disk.clone()).await; // Wait for the add disk notification @@ -904,8 +908,14 @@ mod tests { (0..10).map(|_| ZpoolName::new_external(Uuid::new_v4())).collect(); let disks: Vec = zpools .iter() - .map(|zpool_name| { - SyntheticDisk::create_zpool(dir.path(), zpool_name).into() + .enumerate() + .map(|(slot, zpool_name)| { + SyntheticDisk::create_zpool( + dir.path(), + zpool_name, + slot.try_into().unwrap(), + ) + .into() }) .collect(); @@ -1020,7 +1030,7 @@ mod tests { let zpool_name = ZpoolName::new_external(Uuid::new_v4()); let dir = tempdir().unwrap(); let disk: RawDisk = - SyntheticDisk::create_zpool(dir.path(), &zpool_name).into(); + SyntheticDisk::create_zpool(dir.path(), &zpool_name, 0).into(); handle.upsert_disk(disk.clone()).await; // Create a filesystem From 1d1f2c3283b1807b6088cbba4b0caeeca9dd7cba Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Tue, 12 Mar 2024 12:20:41 -0700 Subject: [PATCH 13/19] Fix test_complex --- .../tests/input/complex.json | 12851 ++++++---------- .../tests/output/cmd-complex-stdout | 552 +- 2 files changed, 5213 insertions(+), 8190 deletions(-) diff --git a/dev-tools/reconfigurator-cli/tests/input/complex.json b/dev-tools/reconfigurator-cli/tests/input/complex.json index c168e153c1..5bdba202d3 100644 --- a/dev-tools/reconfigurator-cli/tests/input/complex.json +++ b/dev-tools/reconfigurator-cli/tests/input/complex.json @@ -1,380 +1,270 @@ { "policy": { "sleds": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { "policy": { "kind": "in_service", "provision_policy": "provisionable" }, "state": "active", "zpools": [ - "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0", - "oxp_1d864940-c723-4f58-82e8-b03772b42356", - "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698", - "oxp_466351db-2ced-45fa-9431-22de1c4bd480", - "oxp_88d39560-b091-4fad-bad0-b0b1c514033b", - "oxp_88ddd98f-3181-4797-864a-7e8d5b028657", - "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d", - "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c", - "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" + "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03", + "oxp_24b4dc85-ab45-49fb-a4b4-d351ae214c03", + "oxp_d452a7f5-b528-40fe-80ff-4e4189e2d52b", + "oxp_e4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "oxp_f4b4dc85-ab45-49fb-a4b4-d351ae214c03" ], "subnet": { - "net": "fd00:1122:3344:101::/64" + "net": "fd00:1122:3344:103::/64" } }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { "policy": { "kind": "in_service", "provision_policy": "provisionable" }, "state": "active", "zpools": [ - "oxp_0622b2cf-297e-4356-b94c-d74309f443ba", - "oxp_276822e2-d7ce-4eae-b5a4-38d2e8586a37", - "oxp_2b0da7bc-2afc-4a16-95e1-5126bcb9b6b1", - "oxp_574728ca-1559-48f3-a46c-1e608966e6a0", - "oxp_6d2b29c5-aa58-40b7-b630-88301f08e945", - "oxp_8c7a7d84-c269-4178-9dbb-37f363e7958c", - "oxp_cc36b0cc-818a-4c7f-b50d-057ff7e7e8e3", - "oxp_e4a4a09a-43b8-460c-bc43-1f935600b681" + "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03", + "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03", + "oxp_d462a7f7-b628-40fe-80ff-4e4189e2d62b", + "oxp_e4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "oxp_f4b4dc87-ab46-49fb-a4b4-d361ae214c03" ], "subnet": { - "net": "fd00:1122:3344:121::/64" + "net": "fd00:1122:3344:104::/64" } }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { + "77851655-10a5-4e80-88b0-a001473cab7e": { "policy": { "kind": "in_service", "provision_policy": "provisionable" }, "state": "active", "zpools": [ - "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd", - "oxp_0c07bcc1-7666-4754-881d-4135992ff561", - "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9", - "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae", - "oxp_6a275151-d85f-488b-81a6-e558fdede658", - "oxp_742699b5-4ded-406d-9a08-24648d3b2efb", - "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9", - "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42", - "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c", - "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" + "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03", + "oxp_24b4dc86-ab46-49fb-a4b4-d361ae214c03", + "oxp_d462a7f6-b628-40fe-80ff-4e4189e2d62b", + "oxp_e4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "oxp_f4b4dc86-ab46-49fb-a4b4-d361ae214c03" ], "subnet": { "net": "fd00:1122:3344:102::/64" } }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { "policy": { "kind": "in_service", "provision_policy": "provisionable" }, "state": "active", "zpools": [ - "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98", - "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960", - "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea", - "oxp_6aa59516-2018-4494-af6b-46704b20f6dc", - "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3", - "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3", - "oxp_c8feed09-6556-4409-af8e-563c97d556eb", - "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a", - "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62", - "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" + "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03", + "oxp_24b4dc84-ab46-49fb-a4b4-d361ae214c03", + "oxp_d462a4f4-b628-40fe-80ff-4e4189e2d62b", + "oxp_e4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "oxp_f4b4dc84-ab46-49fb-a4b4-d361ae214c03" ], "subnet": { - "net": "fd00:1122:3344:103::/64" + "net": "fd00:1122:3344:101::/64" } } }, "service_ip_pool_ranges": [ { - "first": "172.20.28.1", - "last": "172.20.28.10" + "first": "198.51.100.20", + "last": "198.51.100.29" } ], "target_nexus_zone_count": 3 }, "collections": [ { - "id": "83ed3949-d221-44f3-a901-02e9ff16d2a5", - "errors": [ - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d7328126-995e-437c-b92e-c6c220d508b2\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"d7328126-995e-437c-b92e-c6c220d508b2\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6a94be62-a0b1-4c63-b54c-7083266de0ab\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"6a94be62-a0b1-4c63-b54c-7083266de0ab\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"858a0aad-c3df-4cdf-9c20-be6b1effdb20\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"858a0aad-c3df-4cdf-9c20-be6b1effdb20\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"40a5f1ae-5e03-41ec-8c45-6b8a83ce7ad4\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"40a5f1ae-5e03-41ec-8c45-6b8a83ce7ad4\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fe9383e3-5b7c-45f2-bec6-c1f5df8caaa4\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"fe9383e3-5b7c-45f2-bec6-c1f5df8caaa4\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"9c467503-9155-4d79-b048-aea0c4153f9e\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"9c467503-9155-4d79-b048-aea0c4153f9e\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"d397fe11-ec68-4a1f-9739-e42313158ae4\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"d397fe11-ec68-4a1f-9739-e42313158ae4\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"db83ac82-ec73-4914-adb7-6a243409702c\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"db83ac82-ec73-4914-adb7-6a243409702c\" }" - ], - "time_started": "2024-03-01T19:17:06.797656Z", - "time_done": "2024-03-01T19:17:10.594988Z", - "collector": "7f83d784-9c5c-498f-b559-4176bbafbc4b", + "id": "3f61b723-cfe7-40ec-b22c-e3e1f35325f9", + "errors": [], + "time_started": "2024-03-12T18:59:34.196825Z", + "time_done": "2024-03-12T18:59:34.397868Z", + "collector": "0d459323-e414-4f32-9944-76c7331da622", "baseboards": [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" } ], "cabooses": [ { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" - }, - { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" - }, - { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" - }, - { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - }, - { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" - }, - { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" - }, - { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" - }, - { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" - }, - { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } ], "rot_pages": [ { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + { + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "c2lkZWNhci1jZnBhLWFjdGl2ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" + "data_base64": "c2lkZWNhci1jZnBhLWluYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "c2lkZWNhci1jZnBhLXNjcmF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "c2lkZWNhci1jbXBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } ], "sps": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:17:09.327993Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "switch", - "sp_slot": 0, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:09.913395Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T18:59:34.203615Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "switch", "sp_slot": 1, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.168996Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.208589Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 17, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 0, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:08.746433Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.214982Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 15, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 1, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:07.575660Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.220269Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 14, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 2, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:06.810258Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.198632Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 16, - "baseboard_revision": 6, - "hubris_archive": "3c670b44fdeef4af", - "power_state": "A0" + "sp_slot": 3, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ] ], "rots": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:09.327993Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.203615Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, "persistent_boot_preference": { - "slot": "b" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "4599e4d7bc9b2164e8c0f0f7ce4bcae2bd35d635c8450854ea9a94ce49a2ca0f", - "slot_b_sha3_256_digest": "1e42a0761e5bd1d9f9a5e2c44acc34e7b7e007792977cdb0523d271db2e80c8c" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:17:09.913395Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "active_slot": { - "slot": "b" - }, - "persistent_boot_preference": { - "slot": "b" + "slot": "a" }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "92e07077972c83af6872ec817fb88d74a36f6956276505e9771302c5bb7ec2a8", - "slot_b_sha3_256_digest": "fb25825eaf97f8f2307afe3caebf0b70865499f6d116db3aff382c505b4d8dd7" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.168996Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.208589Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -383,18 +273,18 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:08.746433Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.214982Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -403,38 +293,38 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:07.575660Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.220269Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { - "slot": "b" + "slot": "a" }, "persistent_boot_preference": { - "slot": "b" + "slot": "a" }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "d416d5ba9d0d3bd495f0f5fcd2aecc28cd83b53d1a8f94a28241d85b30761451" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:06.810258Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.198632Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -443,8 +333,8 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "4ec328195a23e86a1545d5ee576e73834aae81fb79830a54d0503475875f1760" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ] ], @@ -452,97 +342,81 @@ "SpSlot0": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:17:09.329382Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:09.915072Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T18:59:34.204198Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.170364Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.209189Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:08.751437Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.215708Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:07.577731Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.220965Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:06.811674Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.199229Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -550,97 +424,81 @@ "SpSlot1": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:17:09.330756Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:09.916864Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T18:59:34.204765Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.172087Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.209887Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:08.752817Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.216379Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:07.579882Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.221612Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:06.813085Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.199808Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -648,97 +506,81 @@ "RotSlotA": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:17:09.537712Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:10.123027Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T18:59:34.205525Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.423630Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.210499Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.004153Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.217080Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:07.831036Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.222264Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.074158Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.200511Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -746,153 +588,150 @@ "RotSlotB": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:09.744584Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.206173Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:10.331006Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T18:59:34.211127Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:08.675629Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.217758Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:09.256102Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.222982Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:08.090096Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.201220Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } - ], + ] + ] + }, + "rot_pages_found": { + "Cmpa": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:07.327673Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" + "time_collected": "2024-03-12T18:59:34.206630Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jbXBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } - ] - ] - }, - "rot_pages_found": { - "Cmpa": [ + ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.691258Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.211561Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.272635Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.218199Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.107097Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.223472Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.344150Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.201705Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -900,53 +739,66 @@ "CfpaActive": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T18:59:34.207099Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLWFjdGl2ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.707253Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.212036Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.288646Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.218655Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.123462Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.223978Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.416190Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.202177Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -954,53 +806,66 @@ "CfpaInactive": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:08.723232Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.207582Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" + "data_base64": "c2lkZWNhci1jZnBhLWluYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:09.304669Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.212533Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:08.139558Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.219102Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:07.487114Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.224471Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g3" + }, + { + "time_collected": "2024-03-12T18:59:34.202661Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -1008,910 +873,1010 @@ "CfpaScratch": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T18:59:34.208087Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLXNjcmF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.739167Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.213042Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.320638Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.219676Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.162584Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.224951Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.568207Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T18:59:34.203171Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] ] }, "sled_agents": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:17:10.485528Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - "sled_agent_address": "[fd00:1122:3344:101::1]:12345", - "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:17:10.522140Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - "sled_agent_address": "[fd00:1122:3344:121::1]:12345", + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "time_collected": "2024-03-12T18:59:34.262487Z", + "source": "http://[fd00:1122:3344:103::1]:12345", + "sled_id": "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:103::1]:12345", "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + }, + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "time_collected": "2024-03-12T18:59:34.306155Z", + "source": "http://[fd00:1122:3344:104::1]:12345", + "sled_id": "67a1268b-52d3-4159-b3ed-7a0777f1f340", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:104::1]:12345", + "sled_role": "scrimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:17:10.557759Z", + "77851655-10a5-4e80-88b0-a001473cab7e": { + "time_collected": "2024-03-12T18:59:34.349258Z", "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, + "sled_id": "77851655-10a5-4e80-88b0-a001473cab7e", + "baseboard_id": null, "sled_agent_address": "[fd00:1122:3344:102::1]:12345", "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:17:10.593424Z", - "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - "sled_agent_address": "[fd00:1122:3344:103::1]:12345", + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "time_collected": "2024-03-12T18:59:34.392838Z", + "source": "http://[fd00:1122:3344:101::1]:12345", + "sled_id": "f122b3a2-e383-4e42-b2a5-74a69a9d110a", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:101::1]:12345", "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] } }, "omicron_zones": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:17:10.486656Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "time_collected": "2024-03-12T18:59:34.266337Z", + "source": "http://[fd00:1122:3344:103::1]:12345", + "sled_id": "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b", "zones": { "generation": 5, "zones": [ { - "id": "0706860a-3801-42a7-8000-fff741f7665b", - "underlay_address": "fd00:1122:3344:101::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::c]:32345", - "dataset": { - "pool_name": "oxp_1d864940-c723-4f58-82e8-b03772b42356" - } - } - }, - { - "id": "34a279a2-a025-41ff-a392-1addac400f38", - "underlay_address": "fd00:1122:3344:101::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::3]:32221", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "underlay_address": "fd00:1122:3344:1::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - }, - "dns_address": "[fd00:1122:3344:1::1]:53", - "gz_address": "fd00:1122:3344:1::2", - "gz_address_index": 0, - "http_address": "[fd00:1122:3344:1::1]:5353" - } - }, - { - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "underlay_address": "fd00:1122:3344:101::5", + "id": "0db88baf-911d-47bb-af71-3aebd7c96934", + "underlay_address": "fd00:1122:3344:103::4", "zone_type": { "type": "nexus", "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.2", - "external_tls": true, - "internal_address": "[fd00:1122:3344:101::5]:12221", + "external_ip": "198.51.100.22", + "external_tls": false, + "internal_address": "[fd00:1122:3344:103::4]:12221", "nic": { - "id": "81a0385e-86b9-4109-b63d-61c1407c50d1", - "ip": "172.30.2.5", + "id": "8847a09c-cabc-429b-bf46-66d5e2e1140c", "kind": { "type": "service", - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629" + "id": "0db88baf-911d-47bb-af71-3aebd7c96934" }, - "mac": "A8:40:25:FF:E1:17", - "name": "nexus-59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "primary": true, - "slot": 0, + "name": "nexus-0db88baf-911d-47bb-af71-3aebd7c96934", + "ip": "172.30.2.5", + "mac": "A8:40:25:FF:CC:DA", "subnet": "172.30.2.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "underlay_address": "fd00:1122:3344:101::10", + "id": "213d7dd3-95a4-45a7-99ca-e4899991dab4", + "underlay_address": "fd00:1122:3344:103::6", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::10]:32345", + "address": "[fd00:1122:3344:103::6]:32345", "dataset": { - "pool_name": "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "underlay_address": "fd00:1122:3344:101::f", + "id": "218f36a5-9e51-4b88-ad1a-da4d85c246c4", + "underlay_address": "fd00:1122:3344:3::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::f]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_466351db-2ced-45fa-9431-22de1c4bd480" - } + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" + }, + "dns_address": "[fd00:1122:3344:3::1]:53", + "gz_address": "fd00:1122:3344:3::2", + "gz_address_index": 2, + "http_address": "[fd00:1122:3344:3::1]:5353" } }, { - "id": "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "underlay_address": "fd00:1122:3344:101::9", + "id": "40c47ead-3be8-4724-a8ef-b66233fc5c65", + "underlay_address": "fd00:1122:3344:103::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::9]:32345", + "address": "[fd00:1122:3344:103::7]:32345", "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "pool_name": "oxp_24b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "underlay_address": "fd00:1122:3344:101::8", + "id": "425d9d2f-72ea-4f53-80b6-04e002771cdb", + "underlay_address": "fd00:1122:3344:103::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::8]:32345", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "86ee7359-aa35-41d9-8a76-54961bc516a1", - "underlay_address": "fd00:1122:3344:101::4", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::4]:32221", + "address": "[fd00:1122:3344:103::9]:32345", "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "pool_name": "oxp_e4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "underlay_address": "fd00:1122:3344:101::d", + "id": "46a050b6-37b8-47b9-b4ae-ccb736ecd6d5", + "underlay_address": "fd00:1122:3344:103::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::d]:32345", + "address": "[fd00:1122:3344:103::8]:32345", "dataset": { - "pool_name": "oxp_88ddd98f-3181-4797-864a-7e8d5b028657" + "pool_name": "oxp_d452a7f5-b528-40fe-80ff-4e4189e2d52b" } } }, { - "id": "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "underlay_address": "fd00:1122:3344:101::a", + "id": "4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd", + "underlay_address": "fd00:1122:3344:103::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::a]:32345", + "type": "clickhouse", + "address": "[fd00:1122:3344:103::5]:8123", "dataset": { - "pool_name": "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "underlay_address": "fd00:1122:3344:101::6", - "zone_type": { - "type": "oximeter", - "address": "[fd00:1122:3344:101::6]:12223" - } - }, - { - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "underlay_address": "fd00:1122:3344:101::11", + "id": "7611a549-effc-41b6-b6cb-c03e0c70a31f", + "underlay_address": "fd00:1122:3344:103::b", "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:101::11]:123", + "type": "internal_ntp", + "address": "[fd00:1122:3344:103::b]:123", "dns_servers": [ - "1.1.1.1", - "9.9.9.9" + "fd00:1122:3344:1::1", + "fd00:1122:3344:2::1", + "fd00:1122:3344:3::1" ], - "nic": { - "id": "9741f03f-f150-4229-9f8d-e29a69c87883", - "ip": "172.30.3.5", - "kind": { - "type": "service", - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc" - }, - "mac": "A8:40:25:FF:E7:A8", - "name": "ntp-d630cca7-e3f7-47a8-aee8-ad0790895abc", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.5", - "first_port": 0, - "last_port": 16383 - } + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" + ] } }, { - "id": "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "underlay_address": "fd00:1122:3344:101::e", + "id": "af7ccead-2bd8-4a8a-9fbf-3b788d180139", + "underlay_address": "fd00:1122:3344:103::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::e]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:103::3]:32221", "dataset": { - "pool_name": "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "underlay_address": "fd00:1122:3344:101::b", + "id": "d4428e41-ad7b-41f0-bde6-7c7c955f20c1", + "underlay_address": "fd00:1122:3344:103::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::b]:32345", + "address": "[fd00:1122:3344:103::a]:32345", "dataset": { - "pool_name": "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0" + "pool_name": "oxp_f4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } - }, - { - "id": "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "underlay_address": "fd00:1122:3344:101::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:101::7]:17000" - } } ] } }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:17:10.522942Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "time_collected": "2024-03-12T18:59:34.311965Z", + "source": "http://[fd00:1122:3344:104::1]:12345", + "sled_id": "67a1268b-52d3-4159-b3ed-7a0777f1f340", "zones": { - "generation": 3, + "generation": 5, "zones": [ { - "id": "0eca39c6-62e2-4a1f-8ea2-e9332a774a26", - "underlay_address": "fd00:1122:3344:121::28", + "id": "1ebea0c3-1bfd-472c-9f84-ac9e23b32707", + "underlay_address": "fd00:1122:3344:104::b", + "zone_type": { + "type": "crucible", + "address": "[fd00:1122:3344:104::b]:32345", + "dataset": { + "pool_name": "oxp_f4b4dc87-ab46-49fb-a4b4-d361ae214c03" + } + } + }, + { + "id": "2e9dfa8f-5371-48e5-b7f7-62a6af8283c1", + "underlay_address": "fd00:1122:3344:104::4", + "zone_type": { + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::4]:32221", + "dataset": { + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" + } + } + }, + { + "id": "57c712a6-6429-44b7-a9b2-9957cb9054d4", + "underlay_address": "fd00:1122:3344:104::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::28]:32345", + "address": "[fd00:1122:3344:104::a]:32345", "dataset": { - "pool_name": "oxp_cc36b0cc-818a-4c7f-b50d-057ff7e7e8e3" + "pool_name": "oxp_e4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "12431d3e-1516-4822-98b3-3711ff912e69", - "underlay_address": "fd00:1122:3344:121::22", + "id": "59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9", + "underlay_address": "fd00:1122:3344:104::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::22]:32345", + "address": "[fd00:1122:3344:104::7]:32345", "dataset": { - "pool_name": "oxp_0622b2cf-297e-4356-b94c-d74309f443ba" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "2d5c29f7-4915-4876-82f8-e388b15c5067", - "underlay_address": "fd00:1122:3344:121::21", + "id": "73916098-788f-48d8-b745-e13fdcfb771b", + "underlay_address": "fd00:1122:3344:104::c", "zone_type": { "type": "internal_ntp", - "address": "[fd00:1122:3344:121::21]:123", + "address": "[fd00:1122:3344:104::c]:123", "dns_servers": [ "fd00:1122:3344:1::1", "fd00:1122:3344:2::1", "fd00:1122:3344:3::1" ], "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" ] } }, { - "id": "56414d76-9b8c-4e15-acf1-cd269c2d8638", - "underlay_address": "fd00:1122:3344:121::25", + "id": "9bb513e3-7505-416c-aa70-b26f1152bbdc", + "underlay_address": "fd00:1122:3344:104::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::25]:32345", + "address": "[fd00:1122:3344:104::9]:32345", "dataset": { - "pool_name": "oxp_574728ca-1559-48f3-a46c-1e608966e6a0" + "pool_name": "oxp_d462a7f7-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "891cb9da-301d-40cc-b93d-5fcb350fa968", - "underlay_address": "fd00:1122:3344:121::29", + "id": "9c14c879-137b-4f5b-8068-1292bffc83ed", + "underlay_address": "fd00:1122:3344:104::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::29]:32345", - "dataset": { - "pool_name": "oxp_e4a4a09a-43b8-460c-bc43-1f935600b681" - } - } - }, - { - "id": "d9014907-24c0-4c33-a475-db15942f4f8f", - "underlay_address": "fd00:1122:3344:121::23", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::23]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::3]:32221", "dataset": { - "pool_name": "oxp_276822e2-d7ce-4eae-b5a4-38d2e8586a37" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "e950de25-7306-4cf7-a6f4-6db11adaa310", - "underlay_address": "fd00:1122:3344:121::27", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637", + "underlay_address": "fd00:1122:3344:104::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::27]:32345", - "dataset": { - "pool_name": "oxp_8c7a7d84-c269-4178-9dbb-37f363e7958c" + "type": "nexus", + "external_dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "external_ip": "198.51.100.23", + "external_tls": false, + "internal_address": "[fd00:1122:3344:104::5]:12221", + "nic": { + "id": "fa76e7e1-dee6-4574-b71f-e07ea1cffd08", + "kind": { + "type": "service", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637" + }, + "name": "nexus-9cf90589-5da1-4b42-b09b-d784e4134637", + "ip": "172.30.2.6", + "mac": "A8:40:25:FF:C4:6F", + "subnet": "172.30.2.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "fe3dc092-ea23-42d7-9f1d-36eed72b539c", - "underlay_address": "fd00:1122:3344:121::26", + "id": "d48b2dfa-c749-47dd-98b6-3f478cd63934", + "underlay_address": "fd00:1122:3344:104::6", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::26]:32345", - "dataset": { - "pool_name": "oxp_6d2b29c5-aa58-40b7-b630-88301f08e945" - } + "type": "crucible_pantry", + "address": "[fd00:1122:3344:104::6]:17000" } }, { - "id": "ff8cce49-a721-4ad1-b09e-2bd6e4e42d00", - "underlay_address": "fd00:1122:3344:121::24", + "id": "fd003bee-818a-4c95-aae5-e378ac601522", + "underlay_address": "fd00:1122:3344:104::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::24]:32345", + "address": "[fd00:1122:3344:104::8]:32345", "dataset": { - "pool_name": "oxp_2b0da7bc-2afc-4a16-95e1-5126bcb9b6b1" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } } ] } }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:17:10.558583Z", + "77851655-10a5-4e80-88b0-a001473cab7e": { + "time_collected": "2024-03-12T18:59:34.356678Z", "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", + "sled_id": "77851655-10a5-4e80-88b0-a001473cab7e", "zones": { "generation": 5, "zones": [ { - "id": "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "underlay_address": "fd00:1122:3344:102::11", + "id": "084cac6e-44b5-4333-a2ff-b0993b534898", + "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::11]:32345", + "address": "[fd00:1122:3344:102::8]:32345", "dataset": { - "pool_name": "oxp_0c07bcc1-7666-4754-881d-4135992ff561" + "pool_name": "oxp_24b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "18b99404-d8b2-4463-bc99-638d9b678ab3", - "underlay_address": "fd00:1122:3344:102::e", + "id": "11c527c5-0598-428e-9270-be5b74d3461b", + "underlay_address": "fd00:1122:3344:102::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::e]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:102::3]:32221", "dataset": { - "pool_name": "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "479811e7-6409-45d4-b294-5333534e47ed", - "underlay_address": "fd00:1122:3344:102::9", + "id": "20be9299-495d-428d-b315-694c2c4b64af", + "underlay_address": "fd00:1122:3344:102::6", + "zone_type": { + "type": "crucible_pantry", + "address": "[fd00:1122:3344:102::6]:17000" + } + }, + { + "id": "2b29cb95-f8c6-4aff-acc0-1c0a627be392", + "underlay_address": "fd00:1122:3344:102::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::9]:32345", + "address": "[fd00:1122:3344:102::b]:32345", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_f4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "54d1b693-bc4d-4c47-9009-c6f624073801", + "id": "8d452bdd-e8b8-4108-a690-46fc59197db0", "underlay_address": "fd00:1122:3344:102::a", "zone_type": { "type": "crucible", "address": "[fd00:1122:3344:102::a]:32345", "dataset": { - "pool_name": "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd" + "pool_name": "oxp_e4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "5b743072-9369-45d7-b7c9-dbdf736301f8", - "underlay_address": "fd00:1122:3344:2::1", + "id": "953019c0-8e85-4417-b231-d42820470125", + "underlay_address": "fd00:1122:3344:102::5", "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - }, - "dns_address": "[fd00:1122:3344:2::1]:53", - "gz_address": "fd00:1122:3344:2::2", - "gz_address_index": 1, - "http_address": "[fd00:1122:3344:2::1]:5353" + "type": "oximeter", + "address": "[fd00:1122:3344:102::5]:12223" } }, { - "id": "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", + "id": "99c635b9-8e97-414a-8316-8261d2d767d0", "underlay_address": "fd00:1122:3344:102::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:102::7]:17000" - } - }, - { - "id": "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::8]:32345", + "address": "[fd00:1122:3344:102::7]:32345", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "658076ed-fb43-49e7-a813-df3d23497848", - "underlay_address": "fd00:1122:3344:102::10", + "id": "cbe1abfa-0063-44b2-9ce7-7ad76b403a94", + "underlay_address": "fd00:1122:3344:2::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::10]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9" - } + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:2::1]:53", + "gz_address": "fd00:1122:3344:2::2", + "gz_address_index": 1, + "http_address": "[fd00:1122:3344:2::1]:5353" } }, { - "id": "6edb836e-b100-4080-bb03-738d6441d571", + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", "underlay_address": "fd00:1122:3344:102::c", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::c]:32345", - "dataset": { - "pool_name": "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" - } - } - }, - { - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "underlay_address": "fd00:1122:3344:102::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ + "type": "boundary_ntp", + "address": "[fd00:1122:3344:102::c]:123", + "dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.3", - "external_tls": true, - "internal_address": "[fd00:1122:3344:102::5]:12221", "nic": { - "id": "3771a19c-cc40-4fd5-b99d-ed10071018a7", - "ip": "172.30.2.6", + "id": "659f33f7-e7bd-4875-9140-bf8a8b2d964a", "kind": { "type": "service", - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b" + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded" }, - "mac": "A8:40:25:FF:B2:AF", - "name": "nexus-7f83d784-9c5c-498f-b559-4176bbafbc4b", + "name": "ntp-d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "ip": "172.30.3.6", + "mac": "A8:40:25:FF:B1:99", + "subnet": "172.30.3.0/24", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.26", + "first_port": 16384, + "last_port": 32767 } } }, { - "id": "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "underlay_address": "fd00:1122:3344:102::d", + "id": "dc7f703a-27d1-4802-b85d-5629ddb2d67c", + "underlay_address": "fd00:1122:3344:102::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::d]:32345", + "address": "[fd00:1122:3344:102::9]:32345", "dataset": { - "pool_name": "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42" + "pool_name": "oxp_d462a7f6-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "86bc0a2a-e24a-4bc1-8222-89207a0937f9", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802", "underlay_address": "fd00:1122:3344:102::4", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::4]:32221", + "type": "external_dns", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "198.51.100.21:53", + "http_address": "[fd00:1122:3344:102::4]:5353", + "nic": { + "id": "d4dd2f7a-8a3b-405e-8444-62f99a754a8a", + "kind": { + "type": "service", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802" + }, + "name": "external-dns-f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "ip": "172.30.1.6", + "mac": "A8:40:25:FF:F4:5C", + "subnet": "172.30.1.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } - }, + } + ] + } + }, + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "time_collected": "2024-03-12T18:59:34.396440Z", + "source": "http://[fd00:1122:3344:101::1]:12345", + "sled_id": "f122b3a2-e383-4e42-b2a5-74a69a9d110a", + "zones": { + "generation": 5, + "zones": [ { - "id": "9241b9da-8188-4aae-a9dc-62acb453618f", - "underlay_address": "fd00:1122:3344:102::6", + "id": "0d459323-e414-4f32-9944-76c7331da622", + "underlay_address": "fd00:1122:3344:101::5", "zone_type": { - "type": "clickhouse", - "address": "[fd00:1122:3344:102::6]:8123", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "type": "nexus", + "external_dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "external_ip": "198.51.100.24", + "external_tls": false, + "internal_address": "[fd00:1122:3344:101::5]:12221", + "nic": { + "id": "514902b8-7a1a-42a3-95a6-d00861833b5c", + "kind": { + "type": "service", + "id": "0d459323-e414-4f32-9944-76c7331da622" + }, + "name": "nexus-0d459323-e414-4f32-9944-76c7331da622", + "ip": "172.30.2.7", + "mac": "A8:40:25:FF:DE:AC", + "subnet": "172.30.2.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "a781a349-62b2-41f0-9dd7-c64d290aef82", - "underlay_address": "fd00:1122:3344:102::f", + "id": "2902972b-3ae4-489d-b937-6480352e214a", + "underlay_address": "fd00:1122:3344:101::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::f]:32345", + "address": "[fd00:1122:3344:101::8]:32345", "dataset": { - "pool_name": "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae" + "pool_name": "oxp_24b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "c67814bf-9972-4bb0-a666-24778ca70a16", - "underlay_address": "fd00:1122:3344:102::3", + "id": "2ee832de-af75-47ac-abac-f91304857ca4", + "underlay_address": "fd00:1122:3344:101::4", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::3]:32221", + "type": "external_dns", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "198.51.100.20:53", + "http_address": "[fd00:1122:3344:101::4]:5353", + "nic": { + "id": "fadff4ab-62d7-466a-9203-04080e4078ed", + "kind": { + "type": "service", + "id": "2ee832de-af75-47ac-abac-f91304857ca4" + }, + "name": "external-dns-2ee832de-af75-47ac-abac-f91304857ca4", + "ip": "172.30.1.5", + "mac": "A8:40:25:FF:B4:93", + "subnet": "172.30.1.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "underlay_address": "fd00:1122:3344:102::12", + "id": "30050a7e-7fc3-4965-b07b-1635212393eb", + "underlay_address": "fd00:1122:3344:101::6", + "zone_type": { + "type": "crucible_pantry", + "address": "[fd00:1122:3344:101::6]:17000" + } + }, + { + "id": "8494befe-6df6-42d1-9baa-599ba4228430", + "underlay_address": "fd00:1122:3344:101::c", "zone_type": { "type": "boundary_ntp", - "address": "[fd00:1122:3344:102::12]:123", + "address": "[fd00:1122:3344:101::c]:123", "dns_servers": [ "1.1.1.1", "9.9.9.9" ], "nic": { - "id": "9f03c82c-3192-498d-978d-a175049ac389", - "ip": "172.30.3.6", + "id": "23041748-e3a6-4846-930d-5a348c316e91", "kind": { "type": "service", - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909" + "id": "8494befe-6df6-42d1-9baa-599ba4228430" }, - "mac": "A8:40:25:FF:E4:11", - "name": "ntp-c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "primary": true, - "slot": 0, + "name": "ntp-8494befe-6df6-42d1-9baa-599ba4228430", + "ip": "172.30.3.5", + "mac": "A8:40:25:FF:D1:C4", "subnet": "172.30.3.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 }, "ntp_servers": [ - "ntp.eng.oxide.computer" + "time.cloudflare.com" ], "snat_cfg": { - "ip": "172.20.28.6", - "first_port": 16384, - "last_port": 32767 + "ip": "198.51.100.25", + "first_port": 0, + "last_port": 16383 } } }, { - "id": "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "underlay_address": "fd00:1122:3344:102::b", + "id": "92cba955-3a5a-4d82-b0f2-30e89d4556d1", + "underlay_address": "fd00:1122:3344:101::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::b]:32345", + "address": "[fd00:1122:3344:101::7]:32345", "dataset": { - "pool_name": "oxp_742699b5-4ded-406d-9a08-24648d3b2efb" - } - } - } - ] - } - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:17:10.594368Z", - "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", - "zones": { - "generation": 5, - "zones": [ - { - "id": "185e6b00-7e18-456c-9dfc-edd0194ac207", - "underlay_address": "fd00:1122:3344:103::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::a]:32345", - "dataset": { - "pool_name": "oxp_6aa59516-2018-4494-af6b-46704b20f6dc" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "underlay_address": "fd00:1122:3344:103::10", + "id": "9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b", + "underlay_address": "fd00:1122:3344:101::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::10]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:101::3]:32221", "dataset": { - "pool_name": "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "underlay_address": "fd00:1122:3344:3::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "[fd00:1122:3344:3::1]:53", - "gz_address": "fd00:1122:3344:3::2", - "gz_address_index": 2, - "http_address": "[fd00:1122:3344:3::1]:5353" - } - }, - { - "id": "4b74c418-0a08-4489-b652-e97267c1c220", - "underlay_address": "fd00:1122:3344:103::7", + "id": "e668e3f5-5457-4689-97da-b2af537787ac", + "underlay_address": "fd00:1122:3344:101::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::7]:32345", + "address": "[fd00:1122:3344:101::b]:32345", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "underlay_address": "fd00:1122:3344:103::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.4", - "external_tls": true, - "internal_address": "[fd00:1122:3344:103::5]:12221", - "nic": { - "id": "1f55dc2b-18ee-485c-8831-b603a8df78e6", - "ip": "172.30.2.7", - "kind": { - "type": "service", - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee" - }, - "mac": "A8:40:25:FF:96:05", - "name": "nexus-54c947d2-6355-453c-80fc-8f49cc2129ee", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 + "pool_name": "oxp_f4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "60d64b70-89f5-4774-9e41-2c79c4173911", - "underlay_address": "fd00:1122:3344:103::6", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:103::6]:17000" - } - }, - { - "id": "921958c0-7761-4294-945d-2a078327bf2c", - "underlay_address": "fd00:1122:3344:103::8", + "id": "f32fd972-7f40-4c58-9e00-7fc5c44273f4", + "underlay_address": "fd00:1122:3344:101::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::8]:32345", + "address": "[fd00:1122:3344:101::9]:32345", "dataset": { - "pool_name": "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3" + "pool_name": "oxp_d462a4f4-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "9df22034-59f6-431f-82e7-258fe983879b", - "underlay_address": "fd00:1122:3344:103::4", + "id": "f8c79ba4-194a-4cfe-8090-5315e297b780", + "underlay_address": "fd00:1122:3344:1::1", "zone_type": { - "type": "external_dns", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" }, - "dns_address": "172.20.28.1:53", - "http_address": "[fd00:1122:3344:103::4]:5353", - "nic": { - "id": "0376a963-e3c1-44bc-9cbf-9e8cca58410b", - "ip": "172.30.1.5", - "kind": { - "type": "service", - "id": "9df22034-59f6-431f-82e7-258fe983879b" - }, - "mac": "A8:40:25:FF:90:12", - "name": "external-dns-9df22034-59f6-431f-82e7-258fe983879b", - "primary": true, - "slot": 0, - "subnet": "172.30.1.0/24", - "vni": 100 - } - } - }, - { - "id": "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "underlay_address": "fd00:1122:3344:103::11", - "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:103::11]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] - } - }, - { - "id": "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "underlay_address": "fd00:1122:3344:103::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::9]:32345", - "dataset": { - "pool_name": "oxp_c8feed09-6556-4409-af8e-563c97d556eb" - } - } - }, - { - "id": "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "underlay_address": "fd00:1122:3344:103::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::d]:32345", - "dataset": { - "pool_name": "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea" - } - } - }, - { - "id": "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "underlay_address": "fd00:1122:3344:103::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::b]:32345", - "dataset": { - "pool_name": "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3" - } - } - }, - { - "id": "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "underlay_address": "fd00:1122:3344:103::e", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::e]:32345", - "dataset": { - "pool_name": "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960" - } - } - }, - { - "id": "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "underlay_address": "fd00:1122:3344:103::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:103::3]:32221", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "underlay_address": "fd00:1122:3344:103::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::f]:32345", - "dataset": { - "pool_name": "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62" - } + "dns_address": "[fd00:1122:3344:1::1]:53", + "gz_address": "fd00:1122:3344:1::2", + "gz_address_index": 0, + "http_address": "[fd00:1122:3344:1::1]:5353" } }, { - "id": "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "underlay_address": "fd00:1122:3344:103::c", + "id": "fa5e0176-b4a8-4598-aa31-40fd562d246c", + "underlay_address": "fd00:1122:3344:101::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::c]:32345", + "address": "[fd00:1122:3344:101::a]:32345", "dataset": { - "pool_name": "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" + "pool_name": "oxp_e4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } } @@ -1921,284 +1886,191 @@ } }, { - "id": "0a8dc8ff-9013-43aa-9f06-9540b24ea902", - "errors": [ - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"bb340ba7-cf9e-48c9-9e87-4b26fcb9b2aa\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"bb340ba7-cf9e-48c9-9e87-4b26fcb9b2aa\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"86914fc3-f142-4dbf-8ac5-a94c03c38a93\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"86914fc3-f142-4dbf-8ac5-a94c03c38a93\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e29b10e1-aea9-48a9-8054-951715c06bdb\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:09 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"e29b10e1-aea9-48a9-8054-951715c06bdb\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"719a3865-65bc-4228-810f-20b93a5199d0\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:10 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"719a3865-65bc-4228-810f-20b93a5199d0\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"70ee4f97-6ffe-46fe-810d-6d0f602e8749\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:10 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"70ee4f97-6ffe-46fe-810d-6d0f602e8749\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"6d81dff5-4390-43dc-a976-489980a574f3\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:10 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"6d81dff5-4390-43dc-a976-489980a574f3\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f83589b8-03d7-47f6-8e49-4090810c6485\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:10 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"f83589b8-03d7-47f6-8e49-4090810c6485\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"73e37767-229b-48ca-9fcd-d98988c1a131\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:17:10 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"73e37767-229b-48ca-9fcd-d98988c1a131\" }" - ], - "time_started": "2024-03-01T19:17:06.813002Z", - "time_done": "2024-03-01T19:17:11.153859Z", - "collector": "54c947d2-6355-453c-80fc-8f49cc2129ee", + "id": "37c212f1-bfdd-4cfd-a17c-e65bd93bea5f", + "errors": [], + "time_started": "2024-03-12T19:07:28.237276Z", + "time_done": "2024-03-12T19:07:28.472922Z", + "collector": "0db88baf-911d-47bb-af71-3aebd7c96934", "baseboards": [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" } ], "cabooses": [ { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" - }, - { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" - }, - { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" - }, - { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - }, - { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" - }, - { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" - }, - { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" - }, - { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" - }, - { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } ], "rot_pages": [ { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + { + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "c2lkZWNhci1jZnBhLWFjdGl2ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" + "data_base64": "c2lkZWNhci1jZnBhLWluYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "c2lkZWNhci1jZnBhLXNjcmF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "c2lkZWNhci1jbXBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } ], "sps": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:17:09.906135Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "switch", - "sp_slot": 0, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:10.475436Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.244597Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "switch", "sp_slot": 1, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.746072Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.251644Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 17, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 0, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.327592Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.257993Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 15, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 1, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.014626Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.263543Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 14, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 2, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:06.876242Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.239320Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 16, - "baseboard_revision": 6, - "hubris_archive": "3c670b44fdeef4af", - "power_state": "A0" + "sp_slot": 3, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ] ], "rots": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:09.906135Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.244597Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, "persistent_boot_preference": { - "slot": "b" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "4599e4d7bc9b2164e8c0f0f7ce4bcae2bd35d635c8450854ea9a94ce49a2ca0f", - "slot_b_sha3_256_digest": "1e42a0761e5bd1d9f9a5e2c44acc34e7b7e007792977cdb0523d271db2e80c8c" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:17:10.475436Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "active_slot": { - "slot": "b" - }, - "persistent_boot_preference": { - "slot": "b" + "slot": "a" }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "92e07077972c83af6872ec817fb88d74a36f6956276505e9771302c5bb7ec2a8", - "slot_b_sha3_256_digest": "fb25825eaf97f8f2307afe3caebf0b70865499f6d116db3aff382c505b4d8dd7" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.746072Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.251644Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -2207,18 +2079,18 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.327592Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.257993Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -2227,38 +2099,38 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.014626Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.263543Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { - "slot": "b" + "slot": "a" }, "persistent_boot_preference": { - "slot": "b" + "slot": "a" }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "d416d5ba9d0d3bd495f0f5fcd2aecc28cd83b53d1a8f94a28241d85b30761451" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:06.876242Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.239320Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -2267,8 +2139,8 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "4ec328195a23e86a1545d5ee576e73834aae81fb79830a54d0503475875f1760" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ] ], @@ -2276,97 +2148,81 @@ "SpSlot0": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:17:09.907517Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:10.476830Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.245320Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.751041Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.252625Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.329018Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.258749Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.123957Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.273088Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.130790Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.240046Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -2374,97 +2230,81 @@ "SpSlot1": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:17:09.909025Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:10.478263Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.245980Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:08.752437Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.253364Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.330438Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.259496Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.163634Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.273807Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.328321Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.240736Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -2472,97 +2312,81 @@ "RotSlotA": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:17:10.115796Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:10.685118Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.246605Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:09.003752Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.254069Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.582176Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.260195Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.415126Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.274568Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.643681Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.241356Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -2570,153 +2394,150 @@ "RotSlotB": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:10.322717Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.247577Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:10.892030Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.254910Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.255745Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.260882Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:09.834209Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.275221Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:08.667106Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.241947Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } - ], + ] + ] + }, + "rot_pages_found": { + "Cmpa": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:17:07.894743Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" + "time_collected": "2024-03-12T19:07:28.248572Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jbXBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } - ] - ] - }, - "rot_pages_found": { - "Cmpa": [ + ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:09.272691Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.255711Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.850755Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.261401Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.682710Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.275673Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.911203Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.242430Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -2724,53 +2545,66 @@ "CfpaActive": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:07:28.249231Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLWFjdGl2ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:09.288403Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.256314Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.866661Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.261975Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.699070Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.276189Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.927224Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.242948Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -2778,53 +2612,66 @@ "CfpaInactive": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:07:28.249902Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLWluYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:09.304293Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.256959Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.882683Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.262485Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.714707Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.276907Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.943244Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.243514Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -2832,910 +2679,1010 @@ "CfpaScratch": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:07:28.250611Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLXNjcmF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:17:09.320329Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.257483Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:17:09.898662Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.262983Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:17:08.730680Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.277386Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:17:07.959254Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.244032Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] ] }, "sled_agents": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:17:11.045570Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - "sled_agent_address": "[fd00:1122:3344:101::1]:12345", - "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:17:11.081825Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - "sled_agent_address": "[fd00:1122:3344:121::1]:12345", - "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:17:11.117162Z", - "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - "sled_agent_address": "[fd00:1122:3344:102::1]:12345", - "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:17:11.152394Z", + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "time_collected": "2024-03-12T19:07:28.330250Z", "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, + "sled_id": "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b", + "baseboard_id": null, "sled_agent_address": "[fd00:1122:3344:103::1]:12345", + "sled_role": "gimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + }, + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "time_collected": "2024-03-12T19:07:28.371508Z", + "source": "http://[fd00:1122:3344:104::1]:12345", + "sled_id": "67a1268b-52d3-4159-b3ed-7a0777f1f340", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:104::1]:12345", + "sled_role": "scrimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + }, + "77851655-10a5-4e80-88b0-a001473cab7e": { + "time_collected": "2024-03-12T19:07:28.409958Z", + "source": "http://[fd00:1122:3344:102::1]:12345", + "sled_id": "77851655-10a5-4e80-88b0-a001473cab7e", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:102::1]:12345", + "sled_role": "gimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + }, + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "time_collected": "2024-03-12T19:07:28.461671Z", + "source": "http://[fd00:1122:3344:101::1]:12345", + "sled_id": "f122b3a2-e383-4e42-b2a5-74a69a9d110a", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:101::1]:12345", "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] } }, "omicron_zones": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:17:11.046682Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "time_collected": "2024-03-12T19:07:28.340118Z", + "source": "http://[fd00:1122:3344:103::1]:12345", + "sled_id": "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b", "zones": { "generation": 5, "zones": [ { - "id": "0706860a-3801-42a7-8000-fff741f7665b", - "underlay_address": "fd00:1122:3344:101::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::c]:32345", - "dataset": { - "pool_name": "oxp_1d864940-c723-4f58-82e8-b03772b42356" - } - } - }, - { - "id": "34a279a2-a025-41ff-a392-1addac400f38", - "underlay_address": "fd00:1122:3344:101::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::3]:32221", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "underlay_address": "fd00:1122:3344:1::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - }, - "dns_address": "[fd00:1122:3344:1::1]:53", - "gz_address": "fd00:1122:3344:1::2", - "gz_address_index": 0, - "http_address": "[fd00:1122:3344:1::1]:5353" - } - }, - { - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "underlay_address": "fd00:1122:3344:101::5", + "id": "0db88baf-911d-47bb-af71-3aebd7c96934", + "underlay_address": "fd00:1122:3344:103::4", "zone_type": { "type": "nexus", "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.2", - "external_tls": true, - "internal_address": "[fd00:1122:3344:101::5]:12221", + "external_ip": "198.51.100.22", + "external_tls": false, + "internal_address": "[fd00:1122:3344:103::4]:12221", "nic": { - "id": "81a0385e-86b9-4109-b63d-61c1407c50d1", - "ip": "172.30.2.5", + "id": "8847a09c-cabc-429b-bf46-66d5e2e1140c", "kind": { "type": "service", - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629" + "id": "0db88baf-911d-47bb-af71-3aebd7c96934" }, - "mac": "A8:40:25:FF:E1:17", - "name": "nexus-59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "primary": true, - "slot": 0, + "name": "nexus-0db88baf-911d-47bb-af71-3aebd7c96934", + "ip": "172.30.2.5", + "mac": "A8:40:25:FF:CC:DA", "subnet": "172.30.2.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "underlay_address": "fd00:1122:3344:101::10", + "id": "213d7dd3-95a4-45a7-99ca-e4899991dab4", + "underlay_address": "fd00:1122:3344:103::6", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::10]:32345", + "address": "[fd00:1122:3344:103::6]:32345", "dataset": { - "pool_name": "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "underlay_address": "fd00:1122:3344:101::f", + "id": "218f36a5-9e51-4b88-ad1a-da4d85c246c4", + "underlay_address": "fd00:1122:3344:3::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::f]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_466351db-2ced-45fa-9431-22de1c4bd480" - } + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" + }, + "dns_address": "[fd00:1122:3344:3::1]:53", + "gz_address": "fd00:1122:3344:3::2", + "gz_address_index": 2, + "http_address": "[fd00:1122:3344:3::1]:5353" } }, { - "id": "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "underlay_address": "fd00:1122:3344:101::9", + "id": "40c47ead-3be8-4724-a8ef-b66233fc5c65", + "underlay_address": "fd00:1122:3344:103::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::9]:32345", + "address": "[fd00:1122:3344:103::7]:32345", "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "pool_name": "oxp_24b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "underlay_address": "fd00:1122:3344:101::8", + "id": "425d9d2f-72ea-4f53-80b6-04e002771cdb", + "underlay_address": "fd00:1122:3344:103::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::8]:32345", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "86ee7359-aa35-41d9-8a76-54961bc516a1", - "underlay_address": "fd00:1122:3344:101::4", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::4]:32221", + "address": "[fd00:1122:3344:103::9]:32345", "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "pool_name": "oxp_e4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "underlay_address": "fd00:1122:3344:101::d", + "id": "46a050b6-37b8-47b9-b4ae-ccb736ecd6d5", + "underlay_address": "fd00:1122:3344:103::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::d]:32345", + "address": "[fd00:1122:3344:103::8]:32345", "dataset": { - "pool_name": "oxp_88ddd98f-3181-4797-864a-7e8d5b028657" + "pool_name": "oxp_d452a7f5-b528-40fe-80ff-4e4189e2d52b" } } }, { - "id": "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "underlay_address": "fd00:1122:3344:101::a", + "id": "4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd", + "underlay_address": "fd00:1122:3344:103::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::a]:32345", + "type": "clickhouse", + "address": "[fd00:1122:3344:103::5]:8123", "dataset": { - "pool_name": "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "underlay_address": "fd00:1122:3344:101::6", - "zone_type": { - "type": "oximeter", - "address": "[fd00:1122:3344:101::6]:12223" - } - }, - { - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "underlay_address": "fd00:1122:3344:101::11", + "id": "7611a549-effc-41b6-b6cb-c03e0c70a31f", + "underlay_address": "fd00:1122:3344:103::b", "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:101::11]:123", + "type": "internal_ntp", + "address": "[fd00:1122:3344:103::b]:123", "dns_servers": [ - "1.1.1.1", - "9.9.9.9" + "fd00:1122:3344:1::1", + "fd00:1122:3344:2::1", + "fd00:1122:3344:3::1" ], - "nic": { - "id": "9741f03f-f150-4229-9f8d-e29a69c87883", - "ip": "172.30.3.5", - "kind": { - "type": "service", - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc" - }, - "mac": "A8:40:25:FF:E7:A8", - "name": "ntp-d630cca7-e3f7-47a8-aee8-ad0790895abc", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.5", - "first_port": 0, - "last_port": 16383 - } + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" + ] } }, { - "id": "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "underlay_address": "fd00:1122:3344:101::e", + "id": "af7ccead-2bd8-4a8a-9fbf-3b788d180139", + "underlay_address": "fd00:1122:3344:103::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::e]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:103::3]:32221", "dataset": { - "pool_name": "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "underlay_address": "fd00:1122:3344:101::b", + "id": "d4428e41-ad7b-41f0-bde6-7c7c955f20c1", + "underlay_address": "fd00:1122:3344:103::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::b]:32345", + "address": "[fd00:1122:3344:103::a]:32345", "dataset": { - "pool_name": "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0" + "pool_name": "oxp_f4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } - }, - { - "id": "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "underlay_address": "fd00:1122:3344:101::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:101::7]:17000" - } } ] } }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:17:11.082540Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "time_collected": "2024-03-12T19:07:28.381330Z", + "source": "http://[fd00:1122:3344:104::1]:12345", + "sled_id": "67a1268b-52d3-4159-b3ed-7a0777f1f340", "zones": { - "generation": 3, + "generation": 5, "zones": [ { - "id": "0eca39c6-62e2-4a1f-8ea2-e9332a774a26", - "underlay_address": "fd00:1122:3344:121::28", + "id": "1ebea0c3-1bfd-472c-9f84-ac9e23b32707", + "underlay_address": "fd00:1122:3344:104::b", + "zone_type": { + "type": "crucible", + "address": "[fd00:1122:3344:104::b]:32345", + "dataset": { + "pool_name": "oxp_f4b4dc87-ab46-49fb-a4b4-d361ae214c03" + } + } + }, + { + "id": "2e9dfa8f-5371-48e5-b7f7-62a6af8283c1", + "underlay_address": "fd00:1122:3344:104::4", + "zone_type": { + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::4]:32221", + "dataset": { + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" + } + } + }, + { + "id": "57c712a6-6429-44b7-a9b2-9957cb9054d4", + "underlay_address": "fd00:1122:3344:104::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::28]:32345", + "address": "[fd00:1122:3344:104::a]:32345", "dataset": { - "pool_name": "oxp_cc36b0cc-818a-4c7f-b50d-057ff7e7e8e3" + "pool_name": "oxp_e4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "12431d3e-1516-4822-98b3-3711ff912e69", - "underlay_address": "fd00:1122:3344:121::22", + "id": "59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9", + "underlay_address": "fd00:1122:3344:104::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::22]:32345", + "address": "[fd00:1122:3344:104::7]:32345", "dataset": { - "pool_name": "oxp_0622b2cf-297e-4356-b94c-d74309f443ba" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "2d5c29f7-4915-4876-82f8-e388b15c5067", - "underlay_address": "fd00:1122:3344:121::21", + "id": "73916098-788f-48d8-b745-e13fdcfb771b", + "underlay_address": "fd00:1122:3344:104::c", "zone_type": { "type": "internal_ntp", - "address": "[fd00:1122:3344:121::21]:123", + "address": "[fd00:1122:3344:104::c]:123", "dns_servers": [ "fd00:1122:3344:1::1", "fd00:1122:3344:2::1", "fd00:1122:3344:3::1" ], "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" ] } }, { - "id": "56414d76-9b8c-4e15-acf1-cd269c2d8638", - "underlay_address": "fd00:1122:3344:121::25", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::25]:32345", - "dataset": { - "pool_name": "oxp_574728ca-1559-48f3-a46c-1e608966e6a0" - } - } - }, - { - "id": "891cb9da-301d-40cc-b93d-5fcb350fa968", - "underlay_address": "fd00:1122:3344:121::29", + "id": "9bb513e3-7505-416c-aa70-b26f1152bbdc", + "underlay_address": "fd00:1122:3344:104::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::29]:32345", + "address": "[fd00:1122:3344:104::9]:32345", "dataset": { - "pool_name": "oxp_e4a4a09a-43b8-460c-bc43-1f935600b681" + "pool_name": "oxp_d462a7f7-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "d9014907-24c0-4c33-a475-db15942f4f8f", - "underlay_address": "fd00:1122:3344:121::23", + "id": "9c14c879-137b-4f5b-8068-1292bffc83ed", + "underlay_address": "fd00:1122:3344:104::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::23]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::3]:32221", "dataset": { - "pool_name": "oxp_276822e2-d7ce-4eae-b5a4-38d2e8586a37" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "e950de25-7306-4cf7-a6f4-6db11adaa310", - "underlay_address": "fd00:1122:3344:121::27", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637", + "underlay_address": "fd00:1122:3344:104::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::27]:32345", - "dataset": { - "pool_name": "oxp_8c7a7d84-c269-4178-9dbb-37f363e7958c" + "type": "nexus", + "external_dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "external_ip": "198.51.100.23", + "external_tls": false, + "internal_address": "[fd00:1122:3344:104::5]:12221", + "nic": { + "id": "fa76e7e1-dee6-4574-b71f-e07ea1cffd08", + "kind": { + "type": "service", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637" + }, + "name": "nexus-9cf90589-5da1-4b42-b09b-d784e4134637", + "ip": "172.30.2.6", + "mac": "A8:40:25:FF:C4:6F", + "subnet": "172.30.2.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "fe3dc092-ea23-42d7-9f1d-36eed72b539c", - "underlay_address": "fd00:1122:3344:121::26", + "id": "d48b2dfa-c749-47dd-98b6-3f478cd63934", + "underlay_address": "fd00:1122:3344:104::6", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::26]:32345", - "dataset": { - "pool_name": "oxp_6d2b29c5-aa58-40b7-b630-88301f08e945" - } + "type": "crucible_pantry", + "address": "[fd00:1122:3344:104::6]:17000" } }, { - "id": "ff8cce49-a721-4ad1-b09e-2bd6e4e42d00", - "underlay_address": "fd00:1122:3344:121::24", + "id": "fd003bee-818a-4c95-aae5-e378ac601522", + "underlay_address": "fd00:1122:3344:104::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::24]:32345", + "address": "[fd00:1122:3344:104::8]:32345", "dataset": { - "pool_name": "oxp_2b0da7bc-2afc-4a16-95e1-5126bcb9b6b1" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } } ] } }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:17:11.118025Z", + "77851655-10a5-4e80-88b0-a001473cab7e": { + "time_collected": "2024-03-12T19:07:28.426275Z", "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", + "sled_id": "77851655-10a5-4e80-88b0-a001473cab7e", "zones": { "generation": 5, "zones": [ { - "id": "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "underlay_address": "fd00:1122:3344:102::11", + "id": "084cac6e-44b5-4333-a2ff-b0993b534898", + "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::11]:32345", + "address": "[fd00:1122:3344:102::8]:32345", "dataset": { - "pool_name": "oxp_0c07bcc1-7666-4754-881d-4135992ff561" + "pool_name": "oxp_24b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "18b99404-d8b2-4463-bc99-638d9b678ab3", - "underlay_address": "fd00:1122:3344:102::e", + "id": "11c527c5-0598-428e-9270-be5b74d3461b", + "underlay_address": "fd00:1122:3344:102::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::e]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:102::3]:32221", "dataset": { - "pool_name": "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "479811e7-6409-45d4-b294-5333534e47ed", - "underlay_address": "fd00:1122:3344:102::9", + "id": "20be9299-495d-428d-b315-694c2c4b64af", + "underlay_address": "fd00:1122:3344:102::6", + "zone_type": { + "type": "crucible_pantry", + "address": "[fd00:1122:3344:102::6]:17000" + } + }, + { + "id": "2b29cb95-f8c6-4aff-acc0-1c0a627be392", + "underlay_address": "fd00:1122:3344:102::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::9]:32345", + "address": "[fd00:1122:3344:102::b]:32345", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_f4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "54d1b693-bc4d-4c47-9009-c6f624073801", + "id": "8d452bdd-e8b8-4108-a690-46fc59197db0", "underlay_address": "fd00:1122:3344:102::a", "zone_type": { "type": "crucible", "address": "[fd00:1122:3344:102::a]:32345", "dataset": { - "pool_name": "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd" + "pool_name": "oxp_e4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "5b743072-9369-45d7-b7c9-dbdf736301f8", - "underlay_address": "fd00:1122:3344:2::1", + "id": "953019c0-8e85-4417-b231-d42820470125", + "underlay_address": "fd00:1122:3344:102::5", "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - }, - "dns_address": "[fd00:1122:3344:2::1]:53", - "gz_address": "fd00:1122:3344:2::2", - "gz_address_index": 1, - "http_address": "[fd00:1122:3344:2::1]:5353" + "type": "oximeter", + "address": "[fd00:1122:3344:102::5]:12223" } }, { - "id": "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", + "id": "99c635b9-8e97-414a-8316-8261d2d767d0", "underlay_address": "fd00:1122:3344:102::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:102::7]:17000" - } - }, - { - "id": "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::8]:32345", + "address": "[fd00:1122:3344:102::7]:32345", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "658076ed-fb43-49e7-a813-df3d23497848", - "underlay_address": "fd00:1122:3344:102::10", + "id": "cbe1abfa-0063-44b2-9ce7-7ad76b403a94", + "underlay_address": "fd00:1122:3344:2::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::10]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9" - } + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:2::1]:53", + "gz_address": "fd00:1122:3344:2::2", + "gz_address_index": 1, + "http_address": "[fd00:1122:3344:2::1]:5353" } }, { - "id": "6edb836e-b100-4080-bb03-738d6441d571", + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", "underlay_address": "fd00:1122:3344:102::c", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::c]:32345", - "dataset": { - "pool_name": "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" - } - } - }, - { - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "underlay_address": "fd00:1122:3344:102::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ + "type": "boundary_ntp", + "address": "[fd00:1122:3344:102::c]:123", + "dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.3", - "external_tls": true, - "internal_address": "[fd00:1122:3344:102::5]:12221", "nic": { - "id": "3771a19c-cc40-4fd5-b99d-ed10071018a7", - "ip": "172.30.2.6", + "id": "659f33f7-e7bd-4875-9140-bf8a8b2d964a", "kind": { "type": "service", - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b" + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded" }, - "mac": "A8:40:25:FF:B2:AF", - "name": "nexus-7f83d784-9c5c-498f-b559-4176bbafbc4b", + "name": "ntp-d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "ip": "172.30.3.6", + "mac": "A8:40:25:FF:B1:99", + "subnet": "172.30.3.0/24", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.26", + "first_port": 16384, + "last_port": 32767 } } }, { - "id": "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "underlay_address": "fd00:1122:3344:102::d", + "id": "dc7f703a-27d1-4802-b85d-5629ddb2d67c", + "underlay_address": "fd00:1122:3344:102::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::d]:32345", + "address": "[fd00:1122:3344:102::9]:32345", "dataset": { - "pool_name": "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42" + "pool_name": "oxp_d462a7f6-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "86bc0a2a-e24a-4bc1-8222-89207a0937f9", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802", "underlay_address": "fd00:1122:3344:102::4", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::4]:32221", - "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" - } - } - }, - { - "id": "9241b9da-8188-4aae-a9dc-62acb453618f", - "underlay_address": "fd00:1122:3344:102::6", - "zone_type": { - "type": "clickhouse", - "address": "[fd00:1122:3344:102::6]:8123", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "a781a349-62b2-41f0-9dd7-c64d290aef82", - "underlay_address": "fd00:1122:3344:102::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::f]:32345", - "dataset": { - "pool_name": "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae" - } - } - }, - { - "id": "c67814bf-9972-4bb0-a666-24778ca70a16", - "underlay_address": "fd00:1122:3344:102::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::3]:32221", + "type": "external_dns", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "underlay_address": "fd00:1122:3344:102::12", - "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:102::12]:123", - "dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "198.51.100.21:53", + "http_address": "[fd00:1122:3344:102::4]:5353", "nic": { - "id": "9f03c82c-3192-498d-978d-a175049ac389", - "ip": "172.30.3.6", + "id": "d4dd2f7a-8a3b-405e-8444-62f99a754a8a", "kind": { "type": "service", - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909" + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802" }, - "mac": "A8:40:25:FF:E4:11", - "name": "ntp-c74ba7d7-3d5f-4a29-aadc-effe33a90909", + "name": "external-dns-f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "ip": "172.30.1.6", + "mac": "A8:40:25:FF:F4:5C", + "subnet": "172.30.1.0/24", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.6", - "first_port": 16384, - "last_port": 32767 - } - } - }, - { - "id": "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "underlay_address": "fd00:1122:3344:102::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::b]:32345", - "dataset": { - "pool_name": "oxp_742699b5-4ded-406d-9a08-24648d3b2efb" + "slot": 0 } } } ] } }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:17:11.153275Z", - "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "time_collected": "2024-03-12T19:07:28.471504Z", + "source": "http://[fd00:1122:3344:101::1]:12345", + "sled_id": "f122b3a2-e383-4e42-b2a5-74a69a9d110a", "zones": { "generation": 5, "zones": [ { - "id": "185e6b00-7e18-456c-9dfc-edd0194ac207", - "underlay_address": "fd00:1122:3344:103::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::a]:32345", - "dataset": { - "pool_name": "oxp_6aa59516-2018-4494-af6b-46704b20f6dc" - } - } - }, - { - "id": "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "underlay_address": "fd00:1122:3344:103::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::10]:32345", - "dataset": { - "pool_name": "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98" - } - } - }, - { - "id": "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "underlay_address": "fd00:1122:3344:3::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "[fd00:1122:3344:3::1]:53", - "gz_address": "fd00:1122:3344:3::2", - "gz_address_index": 2, - "http_address": "[fd00:1122:3344:3::1]:5353" - } - }, - { - "id": "4b74c418-0a08-4489-b652-e97267c1c220", - "underlay_address": "fd00:1122:3344:103::7", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::7]:32345", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "underlay_address": "fd00:1122:3344:103::5", + "id": "0d459323-e414-4f32-9944-76c7331da622", + "underlay_address": "fd00:1122:3344:101::5", "zone_type": { "type": "nexus", "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.4", - "external_tls": true, - "internal_address": "[fd00:1122:3344:103::5]:12221", + "external_ip": "198.51.100.24", + "external_tls": false, + "internal_address": "[fd00:1122:3344:101::5]:12221", "nic": { - "id": "1f55dc2b-18ee-485c-8831-b603a8df78e6", - "ip": "172.30.2.7", + "id": "514902b8-7a1a-42a3-95a6-d00861833b5c", "kind": { "type": "service", - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee" + "id": "0d459323-e414-4f32-9944-76c7331da622" }, - "mac": "A8:40:25:FF:96:05", - "name": "nexus-54c947d2-6355-453c-80fc-8f49cc2129ee", - "primary": true, - "slot": 0, + "name": "nexus-0d459323-e414-4f32-9944-76c7331da622", + "ip": "172.30.2.7", + "mac": "A8:40:25:FF:DE:AC", "subnet": "172.30.2.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "60d64b70-89f5-4774-9e41-2c79c4173911", - "underlay_address": "fd00:1122:3344:103::6", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:103::6]:17000" - } - }, - { - "id": "921958c0-7761-4294-945d-2a078327bf2c", - "underlay_address": "fd00:1122:3344:103::8", + "id": "2902972b-3ae4-489d-b937-6480352e214a", + "underlay_address": "fd00:1122:3344:101::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::8]:32345", + "address": "[fd00:1122:3344:101::8]:32345", "dataset": { - "pool_name": "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3" + "pool_name": "oxp_24b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "9df22034-59f6-431f-82e7-258fe983879b", - "underlay_address": "fd00:1122:3344:103::4", + "id": "2ee832de-af75-47ac-abac-f91304857ca4", + "underlay_address": "fd00:1122:3344:101::4", "zone_type": { "type": "external_dns", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" }, - "dns_address": "172.20.28.1:53", - "http_address": "[fd00:1122:3344:103::4]:5353", + "dns_address": "198.51.100.20:53", + "http_address": "[fd00:1122:3344:101::4]:5353", "nic": { - "id": "0376a963-e3c1-44bc-9cbf-9e8cca58410b", - "ip": "172.30.1.5", + "id": "fadff4ab-62d7-466a-9203-04080e4078ed", "kind": { "type": "service", - "id": "9df22034-59f6-431f-82e7-258fe983879b" + "id": "2ee832de-af75-47ac-abac-f91304857ca4" }, - "mac": "A8:40:25:FF:90:12", - "name": "external-dns-9df22034-59f6-431f-82e7-258fe983879b", - "primary": true, - "slot": 0, + "name": "external-dns-2ee832de-af75-47ac-abac-f91304857ca4", + "ip": "172.30.1.5", + "mac": "A8:40:25:FF:B4:93", "subnet": "172.30.1.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "underlay_address": "fd00:1122:3344:103::11", + "id": "30050a7e-7fc3-4965-b07b-1635212393eb", + "underlay_address": "fd00:1122:3344:101::6", "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:103::11]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] + "type": "crucible_pantry", + "address": "[fd00:1122:3344:101::6]:17000" } }, { - "id": "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "underlay_address": "fd00:1122:3344:103::9", + "id": "8494befe-6df6-42d1-9baa-599ba4228430", + "underlay_address": "fd00:1122:3344:101::c", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::9]:32345", - "dataset": { - "pool_name": "oxp_c8feed09-6556-4409-af8e-563c97d556eb" + "type": "boundary_ntp", + "address": "[fd00:1122:3344:101::c]:123", + "dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "nic": { + "id": "23041748-e3a6-4846-930d-5a348c316e91", + "kind": { + "type": "service", + "id": "8494befe-6df6-42d1-9baa-599ba4228430" + }, + "name": "ntp-8494befe-6df6-42d1-9baa-599ba4228430", + "ip": "172.30.3.5", + "mac": "A8:40:25:FF:D1:C4", + "subnet": "172.30.3.0/24", + "vni": 100, + "primary": true, + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.25", + "first_port": 0, + "last_port": 16383 } } }, { - "id": "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "underlay_address": "fd00:1122:3344:103::d", + "id": "92cba955-3a5a-4d82-b0f2-30e89d4556d1", + "underlay_address": "fd00:1122:3344:101::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::d]:32345", + "address": "[fd00:1122:3344:101::7]:32345", "dataset": { - "pool_name": "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "underlay_address": "fd00:1122:3344:103::b", + "id": "9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b", + "underlay_address": "fd00:1122:3344:101::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::b]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:101::3]:32221", "dataset": { - "pool_name": "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "underlay_address": "fd00:1122:3344:103::e", + "id": "e668e3f5-5457-4689-97da-b2af537787ac", + "underlay_address": "fd00:1122:3344:101::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::e]:32345", + "address": "[fd00:1122:3344:101::b]:32345", "dataset": { - "pool_name": "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960" + "pool_name": "oxp_f4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "underlay_address": "fd00:1122:3344:103::3", + "id": "f32fd972-7f40-4c58-9e00-7fc5c44273f4", + "underlay_address": "fd00:1122:3344:101::9", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:103::3]:32221", + "type": "crucible", + "address": "[fd00:1122:3344:101::9]:32345", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_d462a4f4-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "underlay_address": "fd00:1122:3344:103::f", + "id": "f8c79ba4-194a-4cfe-8090-5315e297b780", + "underlay_address": "fd00:1122:3344:1::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::f]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62" - } + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:1::1]:53", + "gz_address": "fd00:1122:3344:1::2", + "gz_address_index": 0, + "http_address": "[fd00:1122:3344:1::1]:5353" } }, { - "id": "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "underlay_address": "fd00:1122:3344:103::c", + "id": "fa5e0176-b4a8-4598-aa31-40fd562d246c", + "underlay_address": "fd00:1122:3344:101::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::c]:32345", + "address": "[fd00:1122:3344:101::a]:32345", "dataset": { - "pool_name": "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" + "pool_name": "oxp_e4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } } @@ -3745,284 +3692,191 @@ } }, { - "id": "cd3547d7-f172-47d2-9bbf-9730e88b0559", - "errors": [ - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a86ce874-ddce-4497-9e34-c7053d224035\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:06 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"a86ce874-ddce-4497-9e34-c7053d224035\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"bf3dbdb6-cac9-43a1-a55e-973d2397ffe6\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:06 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"bf3dbdb6-cac9-43a1-a55e-973d2397ffe6\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"fabd84d3-7c0c-4e60-99b4-f97b9288839c\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:06 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"fabd84d3-7c0c-4e60-99b4-f97b9288839c\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c0160967-c6b3-49b7-b801-0fcd6d4f5e31\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:06 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"c0160967-c6b3-49b7-b801-0fcd6d4f5e31\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"247b36be-d31b-460a-8722-58a21008eba3\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:06 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"247b36be-d31b-460a-8722-58a21008eba3\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"81998378-2641-4eab-8bcb-f335995e0af8\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:06 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"81998378-2641-4eab-8bcb-f335995e0af8\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"8fcd5a26-f45a-47fc-9219-e57ac207fd2e\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:06 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"8fcd5a26-f45a-47fc-9219-e57ac207fd2e\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"20e66cd5-274f-487d-8186-c5e4cd25ae74\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:06 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"20e66cd5-274f-487d-8186-c5e4cd25ae74\" }" - ], - "time_started": "2024-03-01T19:18:03.580607Z", - "time_done": "2024-03-01T19:18:07.486108Z", - "collector": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", + "id": "3700dcd4-64bb-4997-bfdb-dcfc7cbbc998", + "errors": [], + "time_started": "2024-03-12T19:07:28.555090Z", + "time_done": "2024-03-12T19:07:28.728530Z", + "collector": "9cf90589-5da1-4b42-b09b-d784e4134637", "baseboards": [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" } ], "cabooses": [ { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" }, { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" }, { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" }, { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - }, + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" + } + ], + "rot_pages": [ { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" + "data_base64": "c2lkZWNhci1jZnBhLWFjdGl2ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" + "data_base64": "c2lkZWNhci1jZnBhLWluYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" + "data_base64": "c2lkZWNhci1jZnBhLXNjcmF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" - } - ], - "rot_pages": [ - { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" - }, - { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" - }, - { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" - }, - { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" - }, - { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" - }, - { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" - }, - { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "c2lkZWNhci1jbXBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } ], "sps": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:05.910026Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "switch", - "sp_slot": 0, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:06.485436Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.560161Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "switch", "sp_slot": 1, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:04.749894Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.563500Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 17, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 0, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.327348Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.566461Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 15, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 1, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.172071Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.576218Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 14, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 2, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:03.592833Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.556487Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 16, - "baseboard_revision": 6, - "hubris_archive": "3c670b44fdeef4af", - "power_state": "A0" + "sp_slot": 3, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ] ], "rots": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:05.910026Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.560161Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, "persistent_boot_preference": { - "slot": "b" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "4599e4d7bc9b2164e8c0f0f7ce4bcae2bd35d635c8450854ea9a94ce49a2ca0f", - "slot_b_sha3_256_digest": "1e42a0761e5bd1d9f9a5e2c44acc34e7b7e007792977cdb0523d271db2e80c8c" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:18:06.485436Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "active_slot": { - "slot": "b" - }, - "persistent_boot_preference": { - "slot": "b" + "slot": "a" }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "92e07077972c83af6872ec817fb88d74a36f6956276505e9771302c5bb7ec2a8", - "slot_b_sha3_256_digest": "fb25825eaf97f8f2307afe3caebf0b70865499f6d116db3aff382c505b4d8dd7" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:04.749894Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.563500Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -4031,18 +3885,18 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.327348Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.566461Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -4051,38 +3905,38 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.172071Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.576218Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { - "slot": "b" + "slot": "a" }, "persistent_boot_preference": { - "slot": "b" + "slot": "a" }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "d416d5ba9d0d3bd495f0f5fcd2aecc28cd83b53d1a8f94a28241d85b30761451" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:03.592833Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.556487Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -4091,8 +3945,8 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "4ec328195a23e86a1545d5ee576e73834aae81fb79830a54d0503475875f1760" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ] ], @@ -4100,97 +3954,81 @@ "SpSlot0": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:05.911536Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:06.486873Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.560637Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:04.751575Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.563951Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.332841Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.566869Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.173529Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.576918Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:03.594379Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.557119Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -4198,97 +4036,81 @@ "SpSlot1": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:05.912952Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:06.488258Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.561066Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:04.753197Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.564309Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.334324Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.567309Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.174886Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.577611Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:03.596125Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.557613Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -4296,97 +4118,81 @@ "RotSlotA": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:06.119739Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:06.695247Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.561535Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:05.004236Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.564659Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.586015Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.567749Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.426689Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.578148Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:03.847427Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.558097Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -4394,153 +4200,150 @@ "RotSlotB": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:06.328695Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.561932Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:06.903153Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:07:28.565057Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.256365Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.568166Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:05.838048Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.578556Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:04.678679Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.558565Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } - ], + ] + ] + }, + "rot_pages_found": { + "Cmpa": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:04.100460Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" + "time_collected": "2024-03-12T19:07:28.562164Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jbXBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } - ] - ] - }, - "rot_pages_found": { - "Cmpa": [ + ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:05.273195Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.565265Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.854538Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.574062Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.695195Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.578773Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:04.116988Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.558913Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -4548,53 +4351,66 @@ "CfpaActive": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:07:28.562441Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLWFjdGl2ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:05.288821Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.565512Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.870545Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.574335Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.711196Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.579009Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:04.132904Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.559298Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -4602,53 +4418,66 @@ "CfpaInactive": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:07:28.562788Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLWluYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:05.304991Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.565754Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.886552Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.574960Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.727187Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.579245Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:04.148861Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.559529Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -4656,910 +4485,1010 @@ "CfpaScratch": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:07:28.563108Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLXNjcmF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:05.320918Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.566172Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:05.902654Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.575618Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:04.743134Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.579487Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:04.164870Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:07:28.559780Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] ] }, "sled_agents": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:18:07.325811Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - "sled_agent_address": "[fd00:1122:3344:101::1]:12345", - "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:18:07.365147Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - "sled_agent_address": "[fd00:1122:3344:121::1]:12345", + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "time_collected": "2024-03-12T19:07:28.622525Z", + "source": "http://[fd00:1122:3344:103::1]:12345", + "sled_id": "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:103::1]:12345", "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + }, + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "time_collected": "2024-03-12T19:07:28.654092Z", + "source": "http://[fd00:1122:3344:104::1]:12345", + "sled_id": "67a1268b-52d3-4159-b3ed-7a0777f1f340", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:104::1]:12345", + "sled_role": "scrimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:18:07.401947Z", + "77851655-10a5-4e80-88b0-a001473cab7e": { + "time_collected": "2024-03-12T19:07:28.685728Z", "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, + "sled_id": "77851655-10a5-4e80-88b0-a001473cab7e", + "baseboard_id": null, "sled_agent_address": "[fd00:1122:3344:102::1]:12345", "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:18:07.440624Z", - "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - "sled_agent_address": "[fd00:1122:3344:103::1]:12345", + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "time_collected": "2024-03-12T19:07:28.725605Z", + "source": "http://[fd00:1122:3344:101::1]:12345", + "sled_id": "f122b3a2-e383-4e42-b2a5-74a69a9d110a", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:101::1]:12345", "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] } }, "omicron_zones": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:18:07.327154Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "time_collected": "2024-03-12T19:07:28.623604Z", + "source": "http://[fd00:1122:3344:103::1]:12345", + "sled_id": "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b", "zones": { "generation": 5, "zones": [ { - "id": "0706860a-3801-42a7-8000-fff741f7665b", - "underlay_address": "fd00:1122:3344:101::c", + "id": "0db88baf-911d-47bb-af71-3aebd7c96934", + "underlay_address": "fd00:1122:3344:103::4", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::c]:32345", - "dataset": { - "pool_name": "oxp_1d864940-c723-4f58-82e8-b03772b42356" + "type": "nexus", + "external_dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "external_ip": "198.51.100.22", + "external_tls": false, + "internal_address": "[fd00:1122:3344:103::4]:12221", + "nic": { + "id": "8847a09c-cabc-429b-bf46-66d5e2e1140c", + "kind": { + "type": "service", + "id": "0db88baf-911d-47bb-af71-3aebd7c96934" + }, + "name": "nexus-0db88baf-911d-47bb-af71-3aebd7c96934", + "ip": "172.30.2.5", + "mac": "A8:40:25:FF:CC:DA", + "subnet": "172.30.2.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "34a279a2-a025-41ff-a392-1addac400f38", - "underlay_address": "fd00:1122:3344:101::3", + "id": "213d7dd3-95a4-45a7-99ca-e4899991dab4", + "underlay_address": "fd00:1122:3344:103::6", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::3]:32221", + "type": "crucible", + "address": "[fd00:1122:3344:103::6]:32345", "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "underlay_address": "fd00:1122:3344:1::1", + "id": "218f36a5-9e51-4b88-ad1a-da4d85c246c4", + "underlay_address": "fd00:1122:3344:3::1", "zone_type": { "type": "internal_dns", "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" }, - "dns_address": "[fd00:1122:3344:1::1]:53", - "gz_address": "fd00:1122:3344:1::2", - "gz_address_index": 0, - "http_address": "[fd00:1122:3344:1::1]:5353" + "dns_address": "[fd00:1122:3344:3::1]:53", + "gz_address": "fd00:1122:3344:3::2", + "gz_address_index": 2, + "http_address": "[fd00:1122:3344:3::1]:5353" } }, { - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "underlay_address": "fd00:1122:3344:101::5", + "id": "40c47ead-3be8-4724-a8ef-b66233fc5c65", + "underlay_address": "fd00:1122:3344:103::7", "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.2", - "external_tls": true, - "internal_address": "[fd00:1122:3344:101::5]:12221", - "nic": { - "id": "81a0385e-86b9-4109-b63d-61c1407c50d1", - "ip": "172.30.2.5", - "kind": { - "type": "service", - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629" - }, - "mac": "A8:40:25:FF:E1:17", - "name": "nexus-59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 + "type": "crucible", + "address": "[fd00:1122:3344:103::7]:32345", + "dataset": { + "pool_name": "oxp_24b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "underlay_address": "fd00:1122:3344:101::10", + "id": "425d9d2f-72ea-4f53-80b6-04e002771cdb", + "underlay_address": "fd00:1122:3344:103::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::10]:32345", + "address": "[fd00:1122:3344:103::9]:32345", "dataset": { - "pool_name": "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" + "pool_name": "oxp_e4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "underlay_address": "fd00:1122:3344:101::f", + "id": "46a050b6-37b8-47b9-b4ae-ccb736ecd6d5", + "underlay_address": "fd00:1122:3344:103::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::f]:32345", + "address": "[fd00:1122:3344:103::8]:32345", "dataset": { - "pool_name": "oxp_466351db-2ced-45fa-9431-22de1c4bd480" + "pool_name": "oxp_d452a7f5-b528-40fe-80ff-4e4189e2d52b" } } }, { - "id": "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "underlay_address": "fd00:1122:3344:101::9", + "id": "4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd", + "underlay_address": "fd00:1122:3344:103::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::9]:32345", + "type": "clickhouse", + "address": "[fd00:1122:3344:103::5]:8123", "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "underlay_address": "fd00:1122:3344:101::8", + "id": "7611a549-effc-41b6-b6cb-c03e0c70a31f", + "underlay_address": "fd00:1122:3344:103::b", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::8]:32345", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } + "type": "internal_ntp", + "address": "[fd00:1122:3344:103::b]:123", + "dns_servers": [ + "fd00:1122:3344:1::1", + "fd00:1122:3344:2::1", + "fd00:1122:3344:3::1" + ], + "ntp_servers": [ + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" + ] } }, { - "id": "86ee7359-aa35-41d9-8a76-54961bc516a1", - "underlay_address": "fd00:1122:3344:101::4", + "id": "af7ccead-2bd8-4a8a-9fbf-3b788d180139", + "underlay_address": "fd00:1122:3344:103::3", "zone_type": { "type": "cockroach_db", - "address": "[fd00:1122:3344:101::4]:32221", - "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" - } - } - }, - { - "id": "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "underlay_address": "fd00:1122:3344:101::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::d]:32345", + "address": "[fd00:1122:3344:103::3]:32221", "dataset": { - "pool_name": "oxp_88ddd98f-3181-4797-864a-7e8d5b028657" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "underlay_address": "fd00:1122:3344:101::a", + "id": "d4428e41-ad7b-41f0-bde6-7c7c955f20c1", + "underlay_address": "fd00:1122:3344:103::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::a]:32345", + "address": "[fd00:1122:3344:103::a]:32345", "dataset": { - "pool_name": "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d" - } - } - }, - { - "id": "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "underlay_address": "fd00:1122:3344:101::6", - "zone_type": { - "type": "oximeter", - "address": "[fd00:1122:3344:101::6]:12223" - } - }, - { - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "underlay_address": "fd00:1122:3344:101::11", - "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:101::11]:123", - "dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "nic": { - "id": "9741f03f-f150-4229-9f8d-e29a69c87883", - "ip": "172.30.3.5", - "kind": { - "type": "service", - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc" - }, - "mac": "A8:40:25:FF:E7:A8", - "name": "ntp-d630cca7-e3f7-47a8-aee8-ad0790895abc", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.5", - "first_port": 0, - "last_port": 16383 + "pool_name": "oxp_f4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } - }, + } + ] + } + }, + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "time_collected": "2024-03-12T19:07:28.655005Z", + "source": "http://[fd00:1122:3344:104::1]:12345", + "sled_id": "67a1268b-52d3-4159-b3ed-7a0777f1f340", + "zones": { + "generation": 5, + "zones": [ { - "id": "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "underlay_address": "fd00:1122:3344:101::e", + "id": "1ebea0c3-1bfd-472c-9f84-ac9e23b32707", + "underlay_address": "fd00:1122:3344:104::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::e]:32345", + "address": "[fd00:1122:3344:104::b]:32345", "dataset": { - "pool_name": "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698" + "pool_name": "oxp_f4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "underlay_address": "fd00:1122:3344:101::b", + "id": "2e9dfa8f-5371-48e5-b7f7-62a6af8283c1", + "underlay_address": "fd00:1122:3344:104::4", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::b]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::4]:32221", "dataset": { - "pool_name": "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "underlay_address": "fd00:1122:3344:101::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:101::7]:17000" - } - } - ] - } - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:18:07.365954Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", - "zones": { - "generation": 3, - "zones": [ - { - "id": "0eca39c6-62e2-4a1f-8ea2-e9332a774a26", - "underlay_address": "fd00:1122:3344:121::28", + "id": "57c712a6-6429-44b7-a9b2-9957cb9054d4", + "underlay_address": "fd00:1122:3344:104::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::28]:32345", + "address": "[fd00:1122:3344:104::a]:32345", "dataset": { - "pool_name": "oxp_cc36b0cc-818a-4c7f-b50d-057ff7e7e8e3" + "pool_name": "oxp_e4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "12431d3e-1516-4822-98b3-3711ff912e69", - "underlay_address": "fd00:1122:3344:121::22", + "id": "59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9", + "underlay_address": "fd00:1122:3344:104::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::22]:32345", + "address": "[fd00:1122:3344:104::7]:32345", "dataset": { - "pool_name": "oxp_0622b2cf-297e-4356-b94c-d74309f443ba" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "2d5c29f7-4915-4876-82f8-e388b15c5067", - "underlay_address": "fd00:1122:3344:121::21", + "id": "73916098-788f-48d8-b745-e13fdcfb771b", + "underlay_address": "fd00:1122:3344:104::c", "zone_type": { "type": "internal_ntp", - "address": "[fd00:1122:3344:121::21]:123", + "address": "[fd00:1122:3344:104::c]:123", "dns_servers": [ "fd00:1122:3344:1::1", "fd00:1122:3344:2::1", "fd00:1122:3344:3::1" ], "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" ] } }, { - "id": "56414d76-9b8c-4e15-acf1-cd269c2d8638", - "underlay_address": "fd00:1122:3344:121::25", + "id": "9bb513e3-7505-416c-aa70-b26f1152bbdc", + "underlay_address": "fd00:1122:3344:104::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::25]:32345", + "address": "[fd00:1122:3344:104::9]:32345", "dataset": { - "pool_name": "oxp_574728ca-1559-48f3-a46c-1e608966e6a0" + "pool_name": "oxp_d462a7f7-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "891cb9da-301d-40cc-b93d-5fcb350fa968", - "underlay_address": "fd00:1122:3344:121::29", + "id": "9c14c879-137b-4f5b-8068-1292bffc83ed", + "underlay_address": "fd00:1122:3344:104::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::29]:32345", - "dataset": { - "pool_name": "oxp_e4a4a09a-43b8-460c-bc43-1f935600b681" - } - } - }, - { - "id": "d9014907-24c0-4c33-a475-db15942f4f8f", - "underlay_address": "fd00:1122:3344:121::23", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::23]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::3]:32221", "dataset": { - "pool_name": "oxp_276822e2-d7ce-4eae-b5a4-38d2e8586a37" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "e950de25-7306-4cf7-a6f4-6db11adaa310", - "underlay_address": "fd00:1122:3344:121::27", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637", + "underlay_address": "fd00:1122:3344:104::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::27]:32345", - "dataset": { - "pool_name": "oxp_8c7a7d84-c269-4178-9dbb-37f363e7958c" + "type": "nexus", + "external_dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "external_ip": "198.51.100.23", + "external_tls": false, + "internal_address": "[fd00:1122:3344:104::5]:12221", + "nic": { + "id": "fa76e7e1-dee6-4574-b71f-e07ea1cffd08", + "kind": { + "type": "service", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637" + }, + "name": "nexus-9cf90589-5da1-4b42-b09b-d784e4134637", + "ip": "172.30.2.6", + "mac": "A8:40:25:FF:C4:6F", + "subnet": "172.30.2.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "fe3dc092-ea23-42d7-9f1d-36eed72b539c", - "underlay_address": "fd00:1122:3344:121::26", + "id": "d48b2dfa-c749-47dd-98b6-3f478cd63934", + "underlay_address": "fd00:1122:3344:104::6", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::26]:32345", - "dataset": { - "pool_name": "oxp_6d2b29c5-aa58-40b7-b630-88301f08e945" - } + "type": "crucible_pantry", + "address": "[fd00:1122:3344:104::6]:17000" } }, { - "id": "ff8cce49-a721-4ad1-b09e-2bd6e4e42d00", - "underlay_address": "fd00:1122:3344:121::24", + "id": "fd003bee-818a-4c95-aae5-e378ac601522", + "underlay_address": "fd00:1122:3344:104::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::24]:32345", + "address": "[fd00:1122:3344:104::8]:32345", "dataset": { - "pool_name": "oxp_2b0da7bc-2afc-4a16-95e1-5126bcb9b6b1" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } } ] } }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:18:07.403197Z", + "77851655-10a5-4e80-88b0-a001473cab7e": { + "time_collected": "2024-03-12T19:07:28.687431Z", "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", + "sled_id": "77851655-10a5-4e80-88b0-a001473cab7e", "zones": { "generation": 5, "zones": [ { - "id": "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "underlay_address": "fd00:1122:3344:102::11", + "id": "084cac6e-44b5-4333-a2ff-b0993b534898", + "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::11]:32345", + "address": "[fd00:1122:3344:102::8]:32345", "dataset": { - "pool_name": "oxp_0c07bcc1-7666-4754-881d-4135992ff561" + "pool_name": "oxp_24b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "18b99404-d8b2-4463-bc99-638d9b678ab3", - "underlay_address": "fd00:1122:3344:102::e", + "id": "11c527c5-0598-428e-9270-be5b74d3461b", + "underlay_address": "fd00:1122:3344:102::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::e]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:102::3]:32221", "dataset": { - "pool_name": "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "479811e7-6409-45d4-b294-5333534e47ed", - "underlay_address": "fd00:1122:3344:102::9", + "id": "20be9299-495d-428d-b315-694c2c4b64af", + "underlay_address": "fd00:1122:3344:102::6", + "zone_type": { + "type": "crucible_pantry", + "address": "[fd00:1122:3344:102::6]:17000" + } + }, + { + "id": "2b29cb95-f8c6-4aff-acc0-1c0a627be392", + "underlay_address": "fd00:1122:3344:102::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::9]:32345", + "address": "[fd00:1122:3344:102::b]:32345", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_f4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "54d1b693-bc4d-4c47-9009-c6f624073801", + "id": "8d452bdd-e8b8-4108-a690-46fc59197db0", "underlay_address": "fd00:1122:3344:102::a", "zone_type": { "type": "crucible", "address": "[fd00:1122:3344:102::a]:32345", "dataset": { - "pool_name": "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd" + "pool_name": "oxp_e4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "5b743072-9369-45d7-b7c9-dbdf736301f8", - "underlay_address": "fd00:1122:3344:2::1", + "id": "953019c0-8e85-4417-b231-d42820470125", + "underlay_address": "fd00:1122:3344:102::5", "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - }, - "dns_address": "[fd00:1122:3344:2::1]:53", - "gz_address": "fd00:1122:3344:2::2", - "gz_address_index": 1, - "http_address": "[fd00:1122:3344:2::1]:5353" + "type": "oximeter", + "address": "[fd00:1122:3344:102::5]:12223" } }, { - "id": "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", + "id": "99c635b9-8e97-414a-8316-8261d2d767d0", "underlay_address": "fd00:1122:3344:102::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:102::7]:17000" - } - }, - { - "id": "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::8]:32345", + "address": "[fd00:1122:3344:102::7]:32345", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "658076ed-fb43-49e7-a813-df3d23497848", - "underlay_address": "fd00:1122:3344:102::10", + "id": "cbe1abfa-0063-44b2-9ce7-7ad76b403a94", + "underlay_address": "fd00:1122:3344:2::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::10]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9" - } + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:2::1]:53", + "gz_address": "fd00:1122:3344:2::2", + "gz_address_index": 1, + "http_address": "[fd00:1122:3344:2::1]:5353" } }, { - "id": "6edb836e-b100-4080-bb03-738d6441d571", + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", "underlay_address": "fd00:1122:3344:102::c", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::c]:32345", - "dataset": { - "pool_name": "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" - } - } - }, - { - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "underlay_address": "fd00:1122:3344:102::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ + "type": "boundary_ntp", + "address": "[fd00:1122:3344:102::c]:123", + "dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.3", - "external_tls": true, - "internal_address": "[fd00:1122:3344:102::5]:12221", "nic": { - "id": "3771a19c-cc40-4fd5-b99d-ed10071018a7", - "ip": "172.30.2.6", + "id": "659f33f7-e7bd-4875-9140-bf8a8b2d964a", "kind": { "type": "service", - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b" + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded" }, - "mac": "A8:40:25:FF:B2:AF", - "name": "nexus-7f83d784-9c5c-498f-b559-4176bbafbc4b", + "name": "ntp-d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "ip": "172.30.3.6", + "mac": "A8:40:25:FF:B1:99", + "subnet": "172.30.3.0/24", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.26", + "first_port": 16384, + "last_port": 32767 } } }, { - "id": "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "underlay_address": "fd00:1122:3344:102::d", + "id": "dc7f703a-27d1-4802-b85d-5629ddb2d67c", + "underlay_address": "fd00:1122:3344:102::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::d]:32345", + "address": "[fd00:1122:3344:102::9]:32345", "dataset": { - "pool_name": "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42" + "pool_name": "oxp_d462a7f6-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "86bc0a2a-e24a-4bc1-8222-89207a0937f9", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802", "underlay_address": "fd00:1122:3344:102::4", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::4]:32221", + "type": "external_dns", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "198.51.100.21:53", + "http_address": "[fd00:1122:3344:102::4]:5353", + "nic": { + "id": "d4dd2f7a-8a3b-405e-8444-62f99a754a8a", + "kind": { + "type": "service", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802" + }, + "name": "external-dns-f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "ip": "172.30.1.6", + "mac": "A8:40:25:FF:F4:5C", + "subnet": "172.30.1.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } - }, + } + ] + } + }, + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "time_collected": "2024-03-12T19:07:28.727281Z", + "source": "http://[fd00:1122:3344:101::1]:12345", + "sled_id": "f122b3a2-e383-4e42-b2a5-74a69a9d110a", + "zones": { + "generation": 5, + "zones": [ { - "id": "9241b9da-8188-4aae-a9dc-62acb453618f", - "underlay_address": "fd00:1122:3344:102::6", + "id": "0d459323-e414-4f32-9944-76c7331da622", + "underlay_address": "fd00:1122:3344:101::5", "zone_type": { - "type": "clickhouse", - "address": "[fd00:1122:3344:102::6]:8123", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "type": "nexus", + "external_dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "external_ip": "198.51.100.24", + "external_tls": false, + "internal_address": "[fd00:1122:3344:101::5]:12221", + "nic": { + "id": "514902b8-7a1a-42a3-95a6-d00861833b5c", + "kind": { + "type": "service", + "id": "0d459323-e414-4f32-9944-76c7331da622" + }, + "name": "nexus-0d459323-e414-4f32-9944-76c7331da622", + "ip": "172.30.2.7", + "mac": "A8:40:25:FF:DE:AC", + "subnet": "172.30.2.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "a781a349-62b2-41f0-9dd7-c64d290aef82", - "underlay_address": "fd00:1122:3344:102::f", + "id": "2902972b-3ae4-489d-b937-6480352e214a", + "underlay_address": "fd00:1122:3344:101::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::f]:32345", + "address": "[fd00:1122:3344:101::8]:32345", "dataset": { - "pool_name": "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae" + "pool_name": "oxp_24b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "c67814bf-9972-4bb0-a666-24778ca70a16", - "underlay_address": "fd00:1122:3344:102::3", + "id": "2ee832de-af75-47ac-abac-f91304857ca4", + "underlay_address": "fd00:1122:3344:101::4", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::3]:32221", + "type": "external_dns", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "198.51.100.20:53", + "http_address": "[fd00:1122:3344:101::4]:5353", + "nic": { + "id": "fadff4ab-62d7-466a-9203-04080e4078ed", + "kind": { + "type": "service", + "id": "2ee832de-af75-47ac-abac-f91304857ca4" + }, + "name": "external-dns-2ee832de-af75-47ac-abac-f91304857ca4", + "ip": "172.30.1.5", + "mac": "A8:40:25:FF:B4:93", + "subnet": "172.30.1.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "underlay_address": "fd00:1122:3344:102::12", + "id": "30050a7e-7fc3-4965-b07b-1635212393eb", + "underlay_address": "fd00:1122:3344:101::6", + "zone_type": { + "type": "crucible_pantry", + "address": "[fd00:1122:3344:101::6]:17000" + } + }, + { + "id": "8494befe-6df6-42d1-9baa-599ba4228430", + "underlay_address": "fd00:1122:3344:101::c", "zone_type": { "type": "boundary_ntp", - "address": "[fd00:1122:3344:102::12]:123", + "address": "[fd00:1122:3344:101::c]:123", "dns_servers": [ "1.1.1.1", "9.9.9.9" ], "nic": { - "id": "9f03c82c-3192-498d-978d-a175049ac389", - "ip": "172.30.3.6", + "id": "23041748-e3a6-4846-930d-5a348c316e91", "kind": { "type": "service", - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909" + "id": "8494befe-6df6-42d1-9baa-599ba4228430" }, - "mac": "A8:40:25:FF:E4:11", - "name": "ntp-c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "primary": true, - "slot": 0, + "name": "ntp-8494befe-6df6-42d1-9baa-599ba4228430", + "ip": "172.30.3.5", + "mac": "A8:40:25:FF:D1:C4", "subnet": "172.30.3.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 }, "ntp_servers": [ - "ntp.eng.oxide.computer" + "time.cloudflare.com" ], "snat_cfg": { - "ip": "172.20.28.6", - "first_port": 16384, - "last_port": 32767 + "ip": "198.51.100.25", + "first_port": 0, + "last_port": 16383 } } }, { - "id": "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "underlay_address": "fd00:1122:3344:102::b", + "id": "92cba955-3a5a-4d82-b0f2-30e89d4556d1", + "underlay_address": "fd00:1122:3344:101::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::b]:32345", + "address": "[fd00:1122:3344:101::7]:32345", "dataset": { - "pool_name": "oxp_742699b5-4ded-406d-9a08-24648d3b2efb" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } - } - ] - } - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:18:07.483569Z", - "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", - "zones": { - "generation": 5, - "zones": [ + }, { - "id": "185e6b00-7e18-456c-9dfc-edd0194ac207", - "underlay_address": "fd00:1122:3344:103::a", + "id": "9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b", + "underlay_address": "fd00:1122:3344:101::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::a]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:101::3]:32221", "dataset": { - "pool_name": "oxp_6aa59516-2018-4494-af6b-46704b20f6dc" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "underlay_address": "fd00:1122:3344:103::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::10]:32345", - "dataset": { - "pool_name": "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98" - } - } - }, - { - "id": "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "underlay_address": "fd00:1122:3344:3::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "[fd00:1122:3344:3::1]:53", - "gz_address": "fd00:1122:3344:3::2", - "gz_address_index": 2, - "http_address": "[fd00:1122:3344:3::1]:5353" - } - }, - { - "id": "4b74c418-0a08-4489-b652-e97267c1c220", - "underlay_address": "fd00:1122:3344:103::7", + "id": "e668e3f5-5457-4689-97da-b2af537787ac", + "underlay_address": "fd00:1122:3344:101::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::7]:32345", + "address": "[fd00:1122:3344:101::b]:32345", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "underlay_address": "fd00:1122:3344:103::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.4", - "external_tls": true, - "internal_address": "[fd00:1122:3344:103::5]:12221", - "nic": { - "id": "1f55dc2b-18ee-485c-8831-b603a8df78e6", - "ip": "172.30.2.7", - "kind": { - "type": "service", - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee" - }, - "mac": "A8:40:25:FF:96:05", - "name": "nexus-54c947d2-6355-453c-80fc-8f49cc2129ee", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 + "pool_name": "oxp_f4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "60d64b70-89f5-4774-9e41-2c79c4173911", - "underlay_address": "fd00:1122:3344:103::6", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:103::6]:17000" - } - }, - { - "id": "921958c0-7761-4294-945d-2a078327bf2c", - "underlay_address": "fd00:1122:3344:103::8", + "id": "f32fd972-7f40-4c58-9e00-7fc5c44273f4", + "underlay_address": "fd00:1122:3344:101::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::8]:32345", + "address": "[fd00:1122:3344:101::9]:32345", "dataset": { - "pool_name": "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3" + "pool_name": "oxp_d462a4f4-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "9df22034-59f6-431f-82e7-258fe983879b", - "underlay_address": "fd00:1122:3344:103::4", + "id": "f8c79ba4-194a-4cfe-8090-5315e297b780", + "underlay_address": "fd00:1122:3344:1::1", "zone_type": { - "type": "external_dns", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" }, - "dns_address": "172.20.28.1:53", - "http_address": "[fd00:1122:3344:103::4]:5353", - "nic": { - "id": "0376a963-e3c1-44bc-9cbf-9e8cca58410b", - "ip": "172.30.1.5", - "kind": { - "type": "service", - "id": "9df22034-59f6-431f-82e7-258fe983879b" - }, - "mac": "A8:40:25:FF:90:12", - "name": "external-dns-9df22034-59f6-431f-82e7-258fe983879b", - "primary": true, - "slot": 0, - "subnet": "172.30.1.0/24", - "vni": 100 - } - } - }, - { - "id": "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "underlay_address": "fd00:1122:3344:103::11", - "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:103::11]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] - } - }, - { - "id": "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "underlay_address": "fd00:1122:3344:103::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::9]:32345", - "dataset": { - "pool_name": "oxp_c8feed09-6556-4409-af8e-563c97d556eb" - } - } - }, - { - "id": "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "underlay_address": "fd00:1122:3344:103::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::d]:32345", - "dataset": { - "pool_name": "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea" - } - } - }, - { - "id": "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "underlay_address": "fd00:1122:3344:103::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::b]:32345", - "dataset": { - "pool_name": "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3" - } - } - }, - { - "id": "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "underlay_address": "fd00:1122:3344:103::e", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::e]:32345", - "dataset": { - "pool_name": "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960" - } - } - }, - { - "id": "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "underlay_address": "fd00:1122:3344:103::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:103::3]:32221", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "underlay_address": "fd00:1122:3344:103::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::f]:32345", - "dataset": { - "pool_name": "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62" - } + "dns_address": "[fd00:1122:3344:1::1]:53", + "gz_address": "fd00:1122:3344:1::2", + "gz_address_index": 0, + "http_address": "[fd00:1122:3344:1::1]:5353" } }, { - "id": "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "underlay_address": "fd00:1122:3344:103::c", + "id": "fa5e0176-b4a8-4598-aa31-40fd562d246c", + "underlay_address": "fd00:1122:3344:101::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::c]:32345", + "address": "[fd00:1122:3344:101::a]:32345", "dataset": { - "pool_name": "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" + "pool_name": "oxp_e4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } } @@ -5569,284 +5498,191 @@ } }, { - "id": "623f7e48-6c47-4e17-8aa3-cebe98ca4287", - "errors": [ - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"431a5722-e328-450a-89f4-017274532055\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:10 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"431a5722-e328-450a-89f4-017274532055\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"38399802-a750-4c20-8243-f8df25e6c01b\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"38399802-a750-4c20-8243-f8df25e6c01b\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"cbbbe7aa-4a9f-44d3-9713-6c12a1d2b00a\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"cbbbe7aa-4a9f-44d3-9713-6c12a1d2b00a\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"a93a52ae-2837-4a80-a8d9-68f43bdaabe9\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"a93a52ae-2837-4a80-a8d9-68f43bdaabe9\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0016667c-69f3-4359-9ed8-176e8d03f270\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"0016667c-69f3-4359-9ed8-176e8d03f270\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"0f8d60bc-31ee-460d-a8b5-9073728c2402\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"0f8d60bc-31ee-460d-a8b5-9073728c2402\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"595cf967-cade-4ae6-87f5-d04e5dbc55b9\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"595cf967-cade-4ae6-87f5-d04e5dbc55b9\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"83fe7422-15cd-48d3-b21d-967479fb090c\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"83fe7422-15cd-48d3-b21d-967479fb090c\" }" - ], - "time_started": "2024-03-01T19:18:07.755939Z", - "time_done": "2024-03-01T19:18:12.110340Z", - "collector": "54c947d2-6355-453c-80fc-8f49cc2129ee", + "id": "5e1d6ae0-c5b4-4884-ac41-680cd4f5762d", + "errors": [], + "time_started": "2024-03-12T19:09:36.927333Z", + "time_done": "2024-03-12T19:09:37.116573Z", + "collector": "0d459323-e414-4f32-9944-76c7331da622", "baseboards": [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" } ], "cabooses": [ { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" - }, - { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" - }, - { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" - }, - { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - }, - { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" - }, - { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" - }, - { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" - }, - { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" - }, - { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" }, { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } ], "rot_pages": [ { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + { + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "c2lkZWNhci1jZnBhLWFjdGl2ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" + "data_base64": "c2lkZWNhci1jZnBhLWluYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "c2lkZWNhci1jZnBhLXNjcmF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" }, { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "c2lkZWNhci1jbXBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } ], "sps": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:10.815811Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "switch", - "sp_slot": 0, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:11.387242Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:09:36.934628Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "switch", "sp_slot": 1, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:09.650491Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.940025Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 17, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 0, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.237239Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.945090Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 15, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 1, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:08.884903Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.949989Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 14, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" + "sp_slot": 2, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:07.768812Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.929081Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "sp_type": "sled", - "sp_slot": 16, - "baseboard_revision": 6, - "hubris_archive": "3c670b44fdeef4af", - "power_state": "A0" + "sp_slot": 3, + "baseboard_revision": 0, + "hubris_archive": "0000000000000000", + "power_state": "A2" } ] ], "rots": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:10.815811Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.934628Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, "persistent_boot_preference": { - "slot": "b" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "4599e4d7bc9b2164e8c0f0f7ce4bcae2bd35d635c8450854ea9a94ce49a2ca0f", - "slot_b_sha3_256_digest": "1e42a0761e5bd1d9f9a5e2c44acc34e7b7e007792977cdb0523d271db2e80c8c" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:18:11.387242Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "active_slot": { - "slot": "b" - }, - "persistent_boot_preference": { - "slot": "b" + "slot": "a" }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "92e07077972c83af6872ec817fb88d74a36f6956276505e9771302c5bb7ec2a8", - "slot_b_sha3_256_digest": "fb25825eaf97f8f2307afe3caebf0b70865499f6d116db3aff382c505b4d8dd7" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:09.650491Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.940025Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -5855,18 +5691,18 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.237239Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.945090Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -5875,38 +5711,38 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:08.884903Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.949989Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { - "slot": "b" + "slot": "a" }, "persistent_boot_preference": { - "slot": "b" + "slot": "a" }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "d416d5ba9d0d3bd495f0f5fcd2aecc28cd83b53d1a8f94a28241d85b30761451" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:07.768812Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.929081Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "active_slot": { "slot": "a" }, @@ -5915,8 +5751,8 @@ }, "pending_persistent_boot_preference": null, "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "4ec328195a23e86a1545d5ee576e73834aae81fb79830a54d0503475875f1760" + "slot_a_sha3_256_digest": null, + "slot_b_sha3_256_digest": null } ] ], @@ -5924,97 +5760,81 @@ "SpSlot0": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:10.817224Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:11.388557Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:09:36.935488Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:09.651842Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.940638Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.238618Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.945685Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:08.886274Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.950734Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:07.777292Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.929758Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -6022,97 +5842,81 @@ "SpSlot1": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:10.822223Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:11.389874Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:09:36.936167Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" + "board": "SimSidecarSp", + "git_commit": "ffffffff", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:09.653307Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.941223Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.240066Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.946254Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:08.887692Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.951335Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:07.779701Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.930670Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" + "board": "SimGimletSp", + "git_commit": "ffffffff", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -6120,97 +5924,81 @@ "RotSlotA": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:11.029595Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:11.595974Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:09:36.936811Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:09.905198Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.941800Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.491985Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.946826Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:09.148589Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.951934Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:08.142368Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.931245Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ] @@ -6218,153 +6006,150 @@ "RotSlotB": [ [ { - "part_number": "913-0000006", - "serial_number": "BRM44220005" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:11.236464Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.937534Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimSidecar", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000006", - "serial_number": "BRM44220011" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:11.830868Z", - "source": "http://[fd00:1122:3344:103::2]:12225", + "time_collected": "2024-03-12T19:09:36.942409Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.164175Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.947558Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:10.743940Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.953023Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:09.402608Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.931825Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" + "board": "SimRot", + "git_commit": "eeeeeeee", + "name": "SimGimlet", + "version": "0.0.1" } } - ], + ] + ] + }, + "rot_pages_found": { + "Cmpa": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" }, { - "time_collected": "2024-03-01T19:18:08.642339Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" + "time_collected": "2024-03-12T19:09:36.938012Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jbXBhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } - ] - ] - }, - "rot_pages_found": { - "Cmpa": [ + ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:10.181324Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.942853Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.760461Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.948038Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:09.419090Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.954159Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:08.722917Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.932312Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + "data_base64": "Z2ltbGV0LWNtcGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -6372,53 +6157,66 @@ "CfpaActive": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:09:36.938490Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLWFjdGl2ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:10.197812Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.943336Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.776526Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.948514Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:09.491156Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.954600Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:08.813851Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.932820Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -6426,53 +6224,66 @@ "CfpaInactive": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:09:36.938996Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLWluYWN0aXZlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:10.213728Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.944180Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.792457Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.948958Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:09.562113Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.955267Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:08.845830Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.933319Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtaW5hY3RpdmUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] @@ -6480,910 +6291,1010 @@ "CfpaScratch": [ [ { - "part_number": "913-0000019", - "serial_number": "BRM42220004" + "part_number": "FAKE_SIM_SIDECAR", + "serial_number": "SimSidecar0" + }, + { + "time_collected": "2024-03-12T19:09:36.939491Z", + "source": "http://[fd00:1122:3344:104::2]:12225", + "page": { + "data_base64": "c2lkZWNhci1jZnBhLXNjcmF0Y2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + } + } + ], + [ + { + "part_number": "i86pc", + "serial_number": "g0" }, { - "time_collected": "2024-03-01T19:18:10.229796Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.944650Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220046" + "part_number": "i86pc", + "serial_number": "g1" }, { - "time_collected": "2024-03-01T19:18:10.809035Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.949453Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM42220081" + "part_number": "i86pc", + "serial_number": "g2" }, { - "time_collected": "2024-03-01T19:18:09.643193Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.955924Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ], [ { - "part_number": "913-0000019", - "serial_number": "BRM44220001" + "part_number": "i86pc", + "serial_number": "g3" }, { - "time_collected": "2024-03-01T19:18:08.878183Z", - "source": "http://[fd00:1122:3344:101::2]:12225", + "time_collected": "2024-03-12T19:09:36.933794Z", + "source": "http://[fd00:1122:3344:104::2]:12225", "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" + "data_base64": "Z2ltbGV0LWNmcGEtc2NyYXRjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" } } ] ] }, "sled_agents": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:18:12.000624Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - "sled_agent_address": "[fd00:1122:3344:101::1]:12345", - "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:18:12.036086Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - "sled_agent_address": "[fd00:1122:3344:121::1]:12345", - "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:18:12.071731Z", - "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - "sled_agent_address": "[fd00:1122:3344:102::1]:12345", - "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:18:12.107230Z", + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "time_collected": "2024-03-12T19:09:37.008918Z", "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, + "sled_id": "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b", + "baseboard_id": null, "sled_agent_address": "[fd00:1122:3344:103::1]:12345", - "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - } - }, - "omicron_zones": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:18:12.001507Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", - "zones": { - "generation": 5, - "zones": [ - { - "id": "0706860a-3801-42a7-8000-fff741f7665b", - "underlay_address": "fd00:1122:3344:101::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::c]:32345", - "dataset": { - "pool_name": "oxp_1d864940-c723-4f58-82e8-b03772b42356" - } - } + "sled_role": "gimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" }, - { - "id": "34a279a2-a025-41ff-a392-1addac400f38", - "underlay_address": "fd00:1122:3344:101::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::3]:32221", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" }, - { - "id": "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "underlay_address": "fd00:1122:3344:1::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - }, - "dns_address": "[fd00:1122:3344:1::1]:53", - "gz_address": "fd00:1122:3344:1::2", - "gz_address_index": 0, - "http_address": "[fd00:1122:3344:1::1]:5353" - } + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d452a7f5-b528-40fe-80ff-4e4189e2d52b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc85-ab45-49fb-a4b4-d351ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + }, + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "time_collected": "2024-03-12T19:09:37.040839Z", + "source": "http://[fd00:1122:3344:104::1]:12345", + "sled_id": "67a1268b-52d3-4159-b3ed-7a0777f1f340", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:104::1]:12345", + "sled_role": "scrimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a7f7-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc87-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + }, + "77851655-10a5-4e80-88b0-a001473cab7e": { + "time_collected": "2024-03-12T19:09:37.086600Z", + "source": "http://[fd00:1122:3344:102::1]:12345", + "sled_id": "77851655-10a5-4e80-88b0-a001473cab7e", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:102::1]:12345", + "sled_role": "gimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a7f6-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc86-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + }, + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "time_collected": "2024-03-12T19:09:37.114717Z", + "source": "http://[fd00:1122:3344:101::1]:12345", + "sled_id": "f122b3a2-e383-4e42-b2a5-74a69a9d110a", + "baseboard_id": null, + "sled_agent_address": "[fd00:1122:3344:101::1]:12345", + "sled_role": "scrimlet", + "usable_hardware_threads": 8, + "usable_physical_ram": 8582262784, + "reservoir_size": 0, + "disks": [ + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-a462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1024 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-b462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "m2", + "slot": 1025 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-d462a4f4-b628-40fe-80ff-4e4189e2d62b", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1026 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-e4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1027 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-f4b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1028 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-14b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1029 + }, + { + "identity": { + "vendor": "synthetic-vendor", + "serial": "synthetic-serial-24b4dc84-ab46-49fb-a4b4-d361ae214c03", + "model": "synthetic-model" + }, + "variant": "u2", + "slot": 1030 + } + ] + } + }, + "omicron_zones": { + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "time_collected": "2024-03-12T19:09:37.010960Z", + "source": "http://[fd00:1122:3344:103::1]:12345", + "sled_id": "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b", + "zones": { + "generation": 5, + "zones": [ { - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "underlay_address": "fd00:1122:3344:101::5", + "id": "0db88baf-911d-47bb-af71-3aebd7c96934", + "underlay_address": "fd00:1122:3344:103::4", "zone_type": { "type": "nexus", "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.2", - "external_tls": true, - "internal_address": "[fd00:1122:3344:101::5]:12221", + "external_ip": "198.51.100.22", + "external_tls": false, + "internal_address": "[fd00:1122:3344:103::4]:12221", "nic": { - "id": "81a0385e-86b9-4109-b63d-61c1407c50d1", - "ip": "172.30.2.5", + "id": "8847a09c-cabc-429b-bf46-66d5e2e1140c", "kind": { "type": "service", - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629" + "id": "0db88baf-911d-47bb-af71-3aebd7c96934" }, - "mac": "A8:40:25:FF:E1:17", - "name": "nexus-59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "primary": true, - "slot": 0, + "name": "nexus-0db88baf-911d-47bb-af71-3aebd7c96934", + "ip": "172.30.2.5", + "mac": "A8:40:25:FF:CC:DA", "subnet": "172.30.2.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "underlay_address": "fd00:1122:3344:101::10", + "id": "213d7dd3-95a4-45a7-99ca-e4899991dab4", + "underlay_address": "fd00:1122:3344:103::6", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::10]:32345", + "address": "[fd00:1122:3344:103::6]:32345", "dataset": { - "pool_name": "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "underlay_address": "fd00:1122:3344:101::f", + "id": "218f36a5-9e51-4b88-ad1a-da4d85c246c4", + "underlay_address": "fd00:1122:3344:3::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::f]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_466351db-2ced-45fa-9431-22de1c4bd480" - } + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" + }, + "dns_address": "[fd00:1122:3344:3::1]:53", + "gz_address": "fd00:1122:3344:3::2", + "gz_address_index": 2, + "http_address": "[fd00:1122:3344:3::1]:5353" } }, { - "id": "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "underlay_address": "fd00:1122:3344:101::9", + "id": "40c47ead-3be8-4724-a8ef-b66233fc5c65", + "underlay_address": "fd00:1122:3344:103::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::9]:32345", + "address": "[fd00:1122:3344:103::7]:32345", "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "pool_name": "oxp_24b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "underlay_address": "fd00:1122:3344:101::8", + "id": "425d9d2f-72ea-4f53-80b6-04e002771cdb", + "underlay_address": "fd00:1122:3344:103::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::8]:32345", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "86ee7359-aa35-41d9-8a76-54961bc516a1", - "underlay_address": "fd00:1122:3344:101::4", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::4]:32221", + "address": "[fd00:1122:3344:103::9]:32345", "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "pool_name": "oxp_e4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "underlay_address": "fd00:1122:3344:101::d", + "id": "46a050b6-37b8-47b9-b4ae-ccb736ecd6d5", + "underlay_address": "fd00:1122:3344:103::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::d]:32345", + "address": "[fd00:1122:3344:103::8]:32345", "dataset": { - "pool_name": "oxp_88ddd98f-3181-4797-864a-7e8d5b028657" + "pool_name": "oxp_d452a7f5-b528-40fe-80ff-4e4189e2d52b" } } }, { - "id": "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "underlay_address": "fd00:1122:3344:101::a", + "id": "4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd", + "underlay_address": "fd00:1122:3344:103::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::a]:32345", + "type": "clickhouse", + "address": "[fd00:1122:3344:103::5]:8123", "dataset": { - "pool_name": "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "underlay_address": "fd00:1122:3344:101::6", - "zone_type": { - "type": "oximeter", - "address": "[fd00:1122:3344:101::6]:12223" - } - }, - { - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "underlay_address": "fd00:1122:3344:101::11", + "id": "7611a549-effc-41b6-b6cb-c03e0c70a31f", + "underlay_address": "fd00:1122:3344:103::b", "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:101::11]:123", + "type": "internal_ntp", + "address": "[fd00:1122:3344:103::b]:123", "dns_servers": [ - "1.1.1.1", - "9.9.9.9" + "fd00:1122:3344:1::1", + "fd00:1122:3344:2::1", + "fd00:1122:3344:3::1" ], - "nic": { - "id": "9741f03f-f150-4229-9f8d-e29a69c87883", - "ip": "172.30.3.5", - "kind": { - "type": "service", - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc" - }, - "mac": "A8:40:25:FF:E7:A8", - "name": "ntp-d630cca7-e3f7-47a8-aee8-ad0790895abc", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.5", - "first_port": 0, - "last_port": 16383 - } + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" + ] } }, { - "id": "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "underlay_address": "fd00:1122:3344:101::e", + "id": "af7ccead-2bd8-4a8a-9fbf-3b788d180139", + "underlay_address": "fd00:1122:3344:103::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::e]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:103::3]:32221", "dataset": { - "pool_name": "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "underlay_address": "fd00:1122:3344:101::b", + "id": "d4428e41-ad7b-41f0-bde6-7c7c955f20c1", + "underlay_address": "fd00:1122:3344:103::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::b]:32345", + "address": "[fd00:1122:3344:103::a]:32345", "dataset": { - "pool_name": "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0" + "pool_name": "oxp_f4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } - }, - { - "id": "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "underlay_address": "fd00:1122:3344:101::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:101::7]:17000" - } } ] } }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:18:12.036797Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "time_collected": "2024-03-12T19:09:37.049002Z", + "source": "http://[fd00:1122:3344:104::1]:12345", + "sled_id": "67a1268b-52d3-4159-b3ed-7a0777f1f340", "zones": { - "generation": 3, + "generation": 5, "zones": [ { - "id": "0eca39c6-62e2-4a1f-8ea2-e9332a774a26", - "underlay_address": "fd00:1122:3344:121::28", + "id": "1ebea0c3-1bfd-472c-9f84-ac9e23b32707", + "underlay_address": "fd00:1122:3344:104::b", + "zone_type": { + "type": "crucible", + "address": "[fd00:1122:3344:104::b]:32345", + "dataset": { + "pool_name": "oxp_f4b4dc87-ab46-49fb-a4b4-d361ae214c03" + } + } + }, + { + "id": "2e9dfa8f-5371-48e5-b7f7-62a6af8283c1", + "underlay_address": "fd00:1122:3344:104::4", + "zone_type": { + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::4]:32221", + "dataset": { + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" + } + } + }, + { + "id": "57c712a6-6429-44b7-a9b2-9957cb9054d4", + "underlay_address": "fd00:1122:3344:104::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::28]:32345", + "address": "[fd00:1122:3344:104::a]:32345", "dataset": { - "pool_name": "oxp_cc36b0cc-818a-4c7f-b50d-057ff7e7e8e3" + "pool_name": "oxp_e4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "12431d3e-1516-4822-98b3-3711ff912e69", - "underlay_address": "fd00:1122:3344:121::22", + "id": "59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9", + "underlay_address": "fd00:1122:3344:104::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::22]:32345", + "address": "[fd00:1122:3344:104::7]:32345", "dataset": { - "pool_name": "oxp_0622b2cf-297e-4356-b94c-d74309f443ba" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "2d5c29f7-4915-4876-82f8-e388b15c5067", - "underlay_address": "fd00:1122:3344:121::21", + "id": "73916098-788f-48d8-b745-e13fdcfb771b", + "underlay_address": "fd00:1122:3344:104::c", "zone_type": { "type": "internal_ntp", - "address": "[fd00:1122:3344:121::21]:123", + "address": "[fd00:1122:3344:104::c]:123", "dns_servers": [ "fd00:1122:3344:1::1", "fd00:1122:3344:2::1", "fd00:1122:3344:3::1" ], "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" ] } }, { - "id": "56414d76-9b8c-4e15-acf1-cd269c2d8638", - "underlay_address": "fd00:1122:3344:121::25", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::25]:32345", - "dataset": { - "pool_name": "oxp_574728ca-1559-48f3-a46c-1e608966e6a0" - } - } - }, - { - "id": "891cb9da-301d-40cc-b93d-5fcb350fa968", - "underlay_address": "fd00:1122:3344:121::29", + "id": "9bb513e3-7505-416c-aa70-b26f1152bbdc", + "underlay_address": "fd00:1122:3344:104::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::29]:32345", + "address": "[fd00:1122:3344:104::9]:32345", "dataset": { - "pool_name": "oxp_e4a4a09a-43b8-460c-bc43-1f935600b681" + "pool_name": "oxp_d462a7f7-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "d9014907-24c0-4c33-a475-db15942f4f8f", - "underlay_address": "fd00:1122:3344:121::23", + "id": "9c14c879-137b-4f5b-8068-1292bffc83ed", + "underlay_address": "fd00:1122:3344:104::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::23]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::3]:32221", "dataset": { - "pool_name": "oxp_276822e2-d7ce-4eae-b5a4-38d2e8586a37" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "e950de25-7306-4cf7-a6f4-6db11adaa310", - "underlay_address": "fd00:1122:3344:121::27", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637", + "underlay_address": "fd00:1122:3344:104::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::27]:32345", - "dataset": { - "pool_name": "oxp_8c7a7d84-c269-4178-9dbb-37f363e7958c" + "type": "nexus", + "external_dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "external_ip": "198.51.100.23", + "external_tls": false, + "internal_address": "[fd00:1122:3344:104::5]:12221", + "nic": { + "id": "fa76e7e1-dee6-4574-b71f-e07ea1cffd08", + "kind": { + "type": "service", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637" + }, + "name": "nexus-9cf90589-5da1-4b42-b09b-d784e4134637", + "ip": "172.30.2.6", + "mac": "A8:40:25:FF:C4:6F", + "subnet": "172.30.2.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "fe3dc092-ea23-42d7-9f1d-36eed72b539c", - "underlay_address": "fd00:1122:3344:121::26", + "id": "d48b2dfa-c749-47dd-98b6-3f478cd63934", + "underlay_address": "fd00:1122:3344:104::6", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::26]:32345", - "dataset": { - "pool_name": "oxp_6d2b29c5-aa58-40b7-b630-88301f08e945" - } + "type": "crucible_pantry", + "address": "[fd00:1122:3344:104::6]:17000" } }, { - "id": "ff8cce49-a721-4ad1-b09e-2bd6e4e42d00", - "underlay_address": "fd00:1122:3344:121::24", + "id": "fd003bee-818a-4c95-aae5-e378ac601522", + "underlay_address": "fd00:1122:3344:104::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::24]:32345", + "address": "[fd00:1122:3344:104::8]:32345", "dataset": { - "pool_name": "oxp_2b0da7bc-2afc-4a16-95e1-5126bcb9b6b1" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } } ] } }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:18:12.072810Z", + "77851655-10a5-4e80-88b0-a001473cab7e": { + "time_collected": "2024-03-12T19:09:37.088155Z", "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", + "sled_id": "77851655-10a5-4e80-88b0-a001473cab7e", "zones": { "generation": 5, "zones": [ { - "id": "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "underlay_address": "fd00:1122:3344:102::11", + "id": "084cac6e-44b5-4333-a2ff-b0993b534898", + "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::11]:32345", + "address": "[fd00:1122:3344:102::8]:32345", "dataset": { - "pool_name": "oxp_0c07bcc1-7666-4754-881d-4135992ff561" + "pool_name": "oxp_24b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "18b99404-d8b2-4463-bc99-638d9b678ab3", - "underlay_address": "fd00:1122:3344:102::e", + "id": "11c527c5-0598-428e-9270-be5b74d3461b", + "underlay_address": "fd00:1122:3344:102::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::e]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:102::3]:32221", "dataset": { - "pool_name": "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "479811e7-6409-45d4-b294-5333534e47ed", - "underlay_address": "fd00:1122:3344:102::9", + "id": "20be9299-495d-428d-b315-694c2c4b64af", + "underlay_address": "fd00:1122:3344:102::6", + "zone_type": { + "type": "crucible_pantry", + "address": "[fd00:1122:3344:102::6]:17000" + } + }, + { + "id": "2b29cb95-f8c6-4aff-acc0-1c0a627be392", + "underlay_address": "fd00:1122:3344:102::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::9]:32345", + "address": "[fd00:1122:3344:102::b]:32345", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_f4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "54d1b693-bc4d-4c47-9009-c6f624073801", + "id": "8d452bdd-e8b8-4108-a690-46fc59197db0", "underlay_address": "fd00:1122:3344:102::a", "zone_type": { "type": "crucible", "address": "[fd00:1122:3344:102::a]:32345", "dataset": { - "pool_name": "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd" + "pool_name": "oxp_e4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "5b743072-9369-45d7-b7c9-dbdf736301f8", - "underlay_address": "fd00:1122:3344:2::1", + "id": "953019c0-8e85-4417-b231-d42820470125", + "underlay_address": "fd00:1122:3344:102::5", "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - }, - "dns_address": "[fd00:1122:3344:2::1]:53", - "gz_address": "fd00:1122:3344:2::2", - "gz_address_index": 1, - "http_address": "[fd00:1122:3344:2::1]:5353" + "type": "oximeter", + "address": "[fd00:1122:3344:102::5]:12223" } }, { - "id": "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", + "id": "99c635b9-8e97-414a-8316-8261d2d767d0", "underlay_address": "fd00:1122:3344:102::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:102::7]:17000" - } - }, - { - "id": "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::8]:32345", + "address": "[fd00:1122:3344:102::7]:32345", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "658076ed-fb43-49e7-a813-df3d23497848", - "underlay_address": "fd00:1122:3344:102::10", + "id": "cbe1abfa-0063-44b2-9ce7-7ad76b403a94", + "underlay_address": "fd00:1122:3344:2::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::10]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9" - } + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:2::1]:53", + "gz_address": "fd00:1122:3344:2::2", + "gz_address_index": 1, + "http_address": "[fd00:1122:3344:2::1]:5353" } }, { - "id": "6edb836e-b100-4080-bb03-738d6441d571", + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", "underlay_address": "fd00:1122:3344:102::c", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::c]:32345", - "dataset": { - "pool_name": "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" - } - } - }, - { - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "underlay_address": "fd00:1122:3344:102::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ + "type": "boundary_ntp", + "address": "[fd00:1122:3344:102::c]:123", + "dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.3", - "external_tls": true, - "internal_address": "[fd00:1122:3344:102::5]:12221", "nic": { - "id": "3771a19c-cc40-4fd5-b99d-ed10071018a7", - "ip": "172.30.2.6", + "id": "659f33f7-e7bd-4875-9140-bf8a8b2d964a", "kind": { "type": "service", - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b" + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded" }, - "mac": "A8:40:25:FF:B2:AF", - "name": "nexus-7f83d784-9c5c-498f-b559-4176bbafbc4b", + "name": "ntp-d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "ip": "172.30.3.6", + "mac": "A8:40:25:FF:B1:99", + "subnet": "172.30.3.0/24", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.26", + "first_port": 16384, + "last_port": 32767 } } }, { - "id": "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "underlay_address": "fd00:1122:3344:102::d", + "id": "dc7f703a-27d1-4802-b85d-5629ddb2d67c", + "underlay_address": "fd00:1122:3344:102::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::d]:32345", + "address": "[fd00:1122:3344:102::9]:32345", "dataset": { - "pool_name": "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42" + "pool_name": "oxp_d462a7f6-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "86bc0a2a-e24a-4bc1-8222-89207a0937f9", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802", "underlay_address": "fd00:1122:3344:102::4", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::4]:32221", - "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" - } - } - }, - { - "id": "9241b9da-8188-4aae-a9dc-62acb453618f", - "underlay_address": "fd00:1122:3344:102::6", - "zone_type": { - "type": "clickhouse", - "address": "[fd00:1122:3344:102::6]:8123", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "a781a349-62b2-41f0-9dd7-c64d290aef82", - "underlay_address": "fd00:1122:3344:102::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::f]:32345", - "dataset": { - "pool_name": "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae" - } - } - }, - { - "id": "c67814bf-9972-4bb0-a666-24778ca70a16", - "underlay_address": "fd00:1122:3344:102::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::3]:32221", + "type": "external_dns", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "underlay_address": "fd00:1122:3344:102::12", - "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:102::12]:123", - "dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "198.51.100.21:53", + "http_address": "[fd00:1122:3344:102::4]:5353", "nic": { - "id": "9f03c82c-3192-498d-978d-a175049ac389", - "ip": "172.30.3.6", + "id": "d4dd2f7a-8a3b-405e-8444-62f99a754a8a", "kind": { "type": "service", - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909" + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802" }, - "mac": "A8:40:25:FF:E4:11", - "name": "ntp-c74ba7d7-3d5f-4a29-aadc-effe33a90909", + "name": "external-dns-f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "ip": "172.30.1.6", + "mac": "A8:40:25:FF:F4:5C", + "subnet": "172.30.1.0/24", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.6", - "first_port": 16384, - "last_port": 32767 - } - } - }, - { - "id": "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "underlay_address": "fd00:1122:3344:102::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::b]:32345", - "dataset": { - "pool_name": "oxp_742699b5-4ded-406d-9a08-24648d3b2efb" + "slot": 0 } } } ] } }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:18:12.108386Z", - "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "time_collected": "2024-03-12T19:09:37.115884Z", + "source": "http://[fd00:1122:3344:101::1]:12345", + "sled_id": "f122b3a2-e383-4e42-b2a5-74a69a9d110a", "zones": { "generation": 5, "zones": [ { - "id": "185e6b00-7e18-456c-9dfc-edd0194ac207", - "underlay_address": "fd00:1122:3344:103::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::a]:32345", - "dataset": { - "pool_name": "oxp_6aa59516-2018-4494-af6b-46704b20f6dc" - } - } - }, - { - "id": "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "underlay_address": "fd00:1122:3344:103::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::10]:32345", - "dataset": { - "pool_name": "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98" - } - } - }, - { - "id": "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "underlay_address": "fd00:1122:3344:3::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "[fd00:1122:3344:3::1]:53", - "gz_address": "fd00:1122:3344:3::2", - "gz_address_index": 2, - "http_address": "[fd00:1122:3344:3::1]:5353" - } - }, - { - "id": "4b74c418-0a08-4489-b652-e97267c1c220", - "underlay_address": "fd00:1122:3344:103::7", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::7]:32345", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "underlay_address": "fd00:1122:3344:103::5", + "id": "0d459323-e414-4f32-9944-76c7331da622", + "underlay_address": "fd00:1122:3344:101::5", "zone_type": { "type": "nexus", "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.4", - "external_tls": true, - "internal_address": "[fd00:1122:3344:103::5]:12221", + "external_ip": "198.51.100.24", + "external_tls": false, + "internal_address": "[fd00:1122:3344:101::5]:12221", "nic": { - "id": "1f55dc2b-18ee-485c-8831-b603a8df78e6", - "ip": "172.30.2.7", + "id": "514902b8-7a1a-42a3-95a6-d00861833b5c", "kind": { "type": "service", - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee" + "id": "0d459323-e414-4f32-9944-76c7331da622" }, - "mac": "A8:40:25:FF:96:05", - "name": "nexus-54c947d2-6355-453c-80fc-8f49cc2129ee", - "primary": true, - "slot": 0, + "name": "nexus-0d459323-e414-4f32-9944-76c7331da622", + "ip": "172.30.2.7", + "mac": "A8:40:25:FF:DE:AC", "subnet": "172.30.2.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "60d64b70-89f5-4774-9e41-2c79c4173911", - "underlay_address": "fd00:1122:3344:103::6", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:103::6]:17000" - } - }, - { - "id": "921958c0-7761-4294-945d-2a078327bf2c", - "underlay_address": "fd00:1122:3344:103::8", + "id": "2902972b-3ae4-489d-b937-6480352e214a", + "underlay_address": "fd00:1122:3344:101::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::8]:32345", + "address": "[fd00:1122:3344:101::8]:32345", "dataset": { - "pool_name": "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3" + "pool_name": "oxp_24b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "9df22034-59f6-431f-82e7-258fe983879b", - "underlay_address": "fd00:1122:3344:103::4", + "id": "2ee832de-af75-47ac-abac-f91304857ca4", + "underlay_address": "fd00:1122:3344:101::4", "zone_type": { "type": "external_dns", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" }, - "dns_address": "172.20.28.1:53", - "http_address": "[fd00:1122:3344:103::4]:5353", + "dns_address": "198.51.100.20:53", + "http_address": "[fd00:1122:3344:101::4]:5353", "nic": { - "id": "0376a963-e3c1-44bc-9cbf-9e8cca58410b", - "ip": "172.30.1.5", + "id": "fadff4ab-62d7-466a-9203-04080e4078ed", "kind": { "type": "service", - "id": "9df22034-59f6-431f-82e7-258fe983879b" + "id": "2ee832de-af75-47ac-abac-f91304857ca4" }, - "mac": "A8:40:25:FF:90:12", - "name": "external-dns-9df22034-59f6-431f-82e7-258fe983879b", - "primary": true, - "slot": 0, + "name": "external-dns-2ee832de-af75-47ac-abac-f91304857ca4", + "ip": "172.30.1.5", + "mac": "A8:40:25:FF:B4:93", "subnet": "172.30.1.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "underlay_address": "fd00:1122:3344:103::11", + "id": "30050a7e-7fc3-4965-b07b-1635212393eb", + "underlay_address": "fd00:1122:3344:101::6", "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:103::11]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] + "type": "crucible_pantry", + "address": "[fd00:1122:3344:101::6]:17000" } }, { - "id": "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "underlay_address": "fd00:1122:3344:103::9", + "id": "8494befe-6df6-42d1-9baa-599ba4228430", + "underlay_address": "fd00:1122:3344:101::c", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::9]:32345", - "dataset": { - "pool_name": "oxp_c8feed09-6556-4409-af8e-563c97d556eb" + "type": "boundary_ntp", + "address": "[fd00:1122:3344:101::c]:123", + "dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "nic": { + "id": "23041748-e3a6-4846-930d-5a348c316e91", + "kind": { + "type": "service", + "id": "8494befe-6df6-42d1-9baa-599ba4228430" + }, + "name": "ntp-8494befe-6df6-42d1-9baa-599ba4228430", + "ip": "172.30.3.5", + "mac": "A8:40:25:FF:D1:C4", + "subnet": "172.30.3.0/24", + "vni": 100, + "primary": true, + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.25", + "first_port": 0, + "last_port": 16383 } } }, { - "id": "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "underlay_address": "fd00:1122:3344:103::d", + "id": "92cba955-3a5a-4d82-b0f2-30e89d4556d1", + "underlay_address": "fd00:1122:3344:101::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::d]:32345", + "address": "[fd00:1122:3344:101::7]:32345", "dataset": { - "pool_name": "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "underlay_address": "fd00:1122:3344:103::b", + "id": "9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b", + "underlay_address": "fd00:1122:3344:101::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::b]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:101::3]:32221", "dataset": { - "pool_name": "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "underlay_address": "fd00:1122:3344:103::e", + "id": "e668e3f5-5457-4689-97da-b2af537787ac", + "underlay_address": "fd00:1122:3344:101::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::e]:32345", + "address": "[fd00:1122:3344:101::b]:32345", "dataset": { - "pool_name": "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960" + "pool_name": "oxp_f4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "underlay_address": "fd00:1122:3344:103::3", + "id": "f32fd972-7f40-4c58-9e00-7fc5c44273f4", + "underlay_address": "fd00:1122:3344:101::9", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:103::3]:32221", + "type": "crucible", + "address": "[fd00:1122:3344:101::9]:32345", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_d462a4f4-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "underlay_address": "fd00:1122:3344:103::f", + "id": "f8c79ba4-194a-4cfe-8090-5315e297b780", + "underlay_address": "fd00:1122:3344:1::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::f]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62" - } + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:1::1]:53", + "gz_address": "fd00:1122:3344:1::2", + "gz_address_index": 0, + "http_address": "[fd00:1122:3344:1::1]:5353" } }, { - "id": "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "underlay_address": "fd00:1122:3344:103::c", + "id": "fa5e0176-b4a8-4598-aa31-40fd562d246c", + "underlay_address": "fd00:1122:3344:101::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::c]:32345", + "address": "[fd00:1122:3344:101::a]:32345", "dataset": { - "pool_name": "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" + "pool_name": "oxp_e4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } } @@ -7391,3364 +7302,454 @@ } } } - }, + } + ], + "blueprints": [ { - "id": "4e9fbfc2-eb1d-4d45-bdb9-64d965a490c5", - "errors": [ - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"f6c35180-8831-4718-995a-a08427e3f7d0\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"f6c35180-8831-4718-995a-a08427e3f7d0\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"2206bf05-edce-4002-bc9c-72f93cfa45b1\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"2206bf05-edce-4002-bc9c-72f93cfa45b1\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"081feef1-085b-4f9a-9c0a-9c07a7a67ece\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"081feef1-085b-4f9a-9c0a-9c07a7a67ece\" }", - "MGS \"http://[fd00:1122:3344:101::2]:12225\": SP SpIdentifier { slot: 0, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e04172a0-55e3-475b-a070-a383d22f3bb0\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:11 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 0 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"e04172a0-55e3-475b-a070-a383d22f3bb0\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page Cmpa: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"c8feb285-1846-467e-acac-5fbfb5e401cf\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:12 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"c8feb285-1846-467e-acac-5fbfb5e401cf\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaActive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"74c364c5-4838-43e3-af27-16c1f88e771e\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:12 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"74c364c5-4838-43e3-af27-16c1f88e771e\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaInactive: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"e72fd27c-41fd-4597-a623-0b90dde3751f\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:12 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"e72fd27c-41fd-4597-a623-0b90dde3751f\" }", - "MGS \"http://[fd00:1122:3344:103::2]:12225\": SP SpIdentifier { slot: 1, type_: Switch }: rot page CfpaScratch: Error Response: status: 503 Service Unavailable; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"09377390-54dc-4481-a94c-fdc884b3cf03\", \"content-length\": \"281\", \"date\": \"Fri, 01 Mar 2024 19:18:12 GMT\"}; value: Error { error_code: Some(\"SpCommunicationFailed\"), message: \"error communicating with SP SpIdentifier { typ: Switch, slot: 1 }: Error response from SP: sprot: failed to deserialize message: sprot: failed to deserialize message\", request_id: \"09377390-54dc-4481-a94c-fdc884b3cf03\" }" - ], - "time_started": "2024-03-01T19:18:07.756995Z", - "time_done": "2024-03-01T19:18:13.548706Z", - "collector": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "baseboards": [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - } - ], - "cabooses": [ - { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" - }, - { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" - }, - { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" - }, - { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - }, - { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" - }, - { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" - }, - { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" - }, - { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" - }, - { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" - }, - { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" - }, - { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" - }, - { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" - } - ], - "rot_pages": [ - { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" - }, - { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" - }, - { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" - }, - { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" - }, - { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" - }, - { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" - }, - { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - } - ], - "sps": [ - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:11.402668Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "switch", - "sp_slot": 0, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:18:12.176222Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "sp_type": "switch", - "sp_slot": 1, - "baseboard_revision": 4, - "hubris_archive": "9184be93590e655e", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.088383Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "sled", - "sp_slot": 17, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:10.815174Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "sled", - "sp_slot": 15, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:08.950823Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "sled", - "sp_slot": 14, - "baseboard_revision": 6, - "hubris_archive": "5c745f4b4fa66f47", - "power_state": "A0" - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:07.775665Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "sp_type": "sled", - "sp_slot": 16, - "baseboard_revision": 6, - "hubris_archive": "3c670b44fdeef4af", - "power_state": "A0" - } - ] - ], - "rots": [ - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:11.402668Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "active_slot": { - "slot": "a" - }, - "persistent_boot_preference": { - "slot": "b" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "4599e4d7bc9b2164e8c0f0f7ce4bcae2bd35d635c8450854ea9a94ce49a2ca0f", - "slot_b_sha3_256_digest": "1e42a0761e5bd1d9f9a5e2c44acc34e7b7e007792977cdb0523d271db2e80c8c" - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:18:12.176222Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "active_slot": { - "slot": "b" - }, - "persistent_boot_preference": { - "slot": "b" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "92e07077972c83af6872ec817fb88d74a36f6956276505e9771302c5bb7ec2a8", - "slot_b_sha3_256_digest": "fb25825eaf97f8f2307afe3caebf0b70865499f6d116db3aff382c505b4d8dd7" - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.088383Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "active_slot": { - "slot": "a" - }, - "persistent_boot_preference": { - "slot": "a" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:10.815174Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "active_slot": { - "slot": "a" - }, - "persistent_boot_preference": { - "slot": "a" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "96caca4fb6a789c228cdb69ca4afe300cecd46fb611e1fb12c384fe9597a0d1c", - "slot_b_sha3_256_digest": "29215490b1984f4cfcea7d95176b8338466b2fc60123cfc27e895209bef506bb" - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:08.950823Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "active_slot": { - "slot": "b" - }, - "persistent_boot_preference": { - "slot": "b" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "d416d5ba9d0d3bd495f0f5fcd2aecc28cd83b53d1a8f94a28241d85b30761451" - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:07.775665Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "active_slot": { - "slot": "a" - }, - "persistent_boot_preference": { - "slot": "a" - }, - "pending_persistent_boot_preference": null, - "transient_boot_preference": null, - "slot_a_sha3_256_digest": "7d081250f8eb830b7dc5067334316f497a184b01788b5614a7a7f88b93a87c20", - "slot_b_sha3_256_digest": "4ec328195a23e86a1545d5ee576e73834aae81fb79830a54d0503475875f1760" - } - ] - ], - "cabooses_found": { - "SpSlot0": [ - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:11.404063Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:18:12.391683Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "sidecar-b", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.181795Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:10.816554Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:09.149044Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "gimlet-c", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "gimlet-c", - "version": "1.0.8" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:07.778136Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" - } - } - ] - ], - "SpSlot1": [ - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:11.405544Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "f04c427514943573272da3524aa4d976d069ac95", - "name": "sidecar-b", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:18:12.425692Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "caboose": { - "board": "sidecar-b", - "git_commit": "a096c4c17b17772c72dbfb03e0b9c96e59d9a0fe", - "name": "sidecar-b", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.229994Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:10.817966Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:09.402701Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "gimlet-c", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "gimlet-c", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:07.836136Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "gimlet-c", - "git_commit": "620f18f924d180d13a0577bd51d7c48c1d670549", - "name": "gimlet-c", - "version": "1.0.5" - } - } - ] - ], - "RotSlotA": [ - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:11.612405Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1-dev", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:18:12.633926Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "4b2a3469ee63f14e237ed26d741c49e8cc27261f", - "name": "oxide-rot-1", - "version": "0.0.0-git" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.482137Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:11.072878Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:09.718444Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:08.338242Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - } - } - ] - ], - "RotSlotB": [ - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220005" - }, - { - "time_collected": "2024-03-01T19:18:11.819343Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - } - } - ], - [ - { - "part_number": "913-0000006", - "serial_number": "BRM44220011" - }, - { - "time_collected": "2024-03-01T19:18:12.889742Z", - "source": "http://[fd00:1122:3344:103::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "ec0b7fe84e51e6d320556380a6f1dbb464ab9647", - "name": "oxide-rot-1", - "version": "1.0.0" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.734260Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:11.324822Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "02cc4345b5def59e96ef1eb576889922e9468113", - "name": "oxide-rot-1", - "version": "1.0.5" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:09.971380Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "b398d0778a806acad7b015a3e183ad56a28a620d", - "name": "oxide-rot-1", - "version": "1.0.6" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:08.798226Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "caboose": { - "board": "oxide-rot-1", - "git_commit": "08f5a258dd48728cfaae68fcc7fbd56c7359329c", - "name": "oxide-rot-1", - "version": "1.0.4" - } - } - ] - ] - }, - "rot_pages_found": { - "Cmpa": [ - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.750544Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:11.341290Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:09.987916Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:08.829941Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9AAAAAAUAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARWUu1VIp1fpGOb+BW4q2eCEKXyVVUF6Al2HiOrPVdrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - } - } - ] - ], - "CfpaActive": [ - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.766709Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:11.357423Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:10.004467Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:08.861702Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" - } - } - ] - ], - "CfpaInactive": [ - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.782522Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR50f2Jw5Dyd7j2FPBE4r77CMk4azEk2sBLHfrvOts=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:11.373385Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa0EBHkNRkpjbiUrOzKdmz2xKt2ubIbVZ4ALX8/sXkig=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:10.021096Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:08.893754Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" - } - } - ] - ], - "CfpaScratch": [ - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - { - "time_collected": "2024-03-01T19:18:10.798536Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT9AkBD3h7E4HX3ag0CWYdTvYhAwH5B7l6KL6QI/wPEQ=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - { - "time_collected": "2024-03-01T19:18:11.395564Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6n5IZG1N0E70rdhMMrS3k04zLw+wi+p0BE00p4LJpio=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - { - "time_collected": "2024-03-01T19:18:10.040934Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUPHEZ9TS6v9VwoGSbVIfZcUfeve3umWF/LfWrI991Fg=" - } - } - ], - [ - { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - { - "time_collected": "2024-03-01T19:18:08.909759Z", - "source": "http://[fd00:1122:3344:101::2]:12225", - "page": { - "data_base64": "AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAVQAAAAAAAAD/AgD9/wIA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+zE5FW+go+MrbcURmve9xn7h79n9qXBEVZFgbbZLZE=" - } - } - ] - ] - }, - "sled_agents": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:18:13.421323Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM44220001" - }, - "sled_agent_address": "[fd00:1122:3344:101::1]:12345", - "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:18:13.464287Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220004" - }, - "sled_agent_address": "[fd00:1122:3344:121::1]:12345", - "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:18:13.506888Z", - "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220046" - }, - "sled_agent_address": "[fd00:1122:3344:102::1]:12345", - "sled_role": "gimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:18:13.546670Z", - "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", - "baseboard_id": { - "part_number": "913-0000019", - "serial_number": "BRM42220081" - }, - "sled_agent_address": "[fd00:1122:3344:103::1]:12345", - "sled_role": "scrimlet", - "usable_hardware_threads": 128, - "usable_physical_ram": 1086608900096, - "reservoir_size": 869286281216 - } - }, - "omicron_zones": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "time_collected": "2024-03-01T19:18:13.422277Z", - "source": "http://[fd00:1122:3344:101::1]:12345", - "sled_id": "1762267a-a0cb-4c9a-88b4-8ce828cbc021", - "zones": { - "generation": 5, - "zones": [ - { - "id": "0706860a-3801-42a7-8000-fff741f7665b", - "underlay_address": "fd00:1122:3344:101::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::c]:32345", - "dataset": { - "pool_name": "oxp_1d864940-c723-4f58-82e8-b03772b42356" - } - } - }, - { - "id": "34a279a2-a025-41ff-a392-1addac400f38", - "underlay_address": "fd00:1122:3344:101::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::3]:32221", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "underlay_address": "fd00:1122:3344:1::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - }, - "dns_address": "[fd00:1122:3344:1::1]:53", - "gz_address": "fd00:1122:3344:1::2", - "gz_address_index": 0, - "http_address": "[fd00:1122:3344:1::1]:5353" - } - }, - { - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "underlay_address": "fd00:1122:3344:101::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.2", - "external_tls": true, - "internal_address": "[fd00:1122:3344:101::5]:12221", - "nic": { - "id": "81a0385e-86b9-4109-b63d-61c1407c50d1", - "ip": "172.30.2.5", - "kind": { - "type": "service", - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629" - }, - "mac": "A8:40:25:FF:E1:17", - "name": "nexus-59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 - } - } - }, - { - "id": "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "underlay_address": "fd00:1122:3344:101::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::10]:32345", - "dataset": { - "pool_name": "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" - } - } - }, - { - "id": "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "underlay_address": "fd00:1122:3344:101::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::f]:32345", - "dataset": { - "pool_name": "oxp_466351db-2ced-45fa-9431-22de1c4bd480" - } - } - }, - { - "id": "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "underlay_address": "fd00:1122:3344:101::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::9]:32345", - "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" - } - } - }, - { - "id": "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "underlay_address": "fd00:1122:3344:101::8", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::8]:32345", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "86ee7359-aa35-41d9-8a76-54961bc516a1", - "underlay_address": "fd00:1122:3344:101::4", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::4]:32221", - "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" - } - } - }, - { - "id": "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "underlay_address": "fd00:1122:3344:101::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::d]:32345", - "dataset": { - "pool_name": "oxp_88ddd98f-3181-4797-864a-7e8d5b028657" - } - } - }, - { - "id": "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "underlay_address": "fd00:1122:3344:101::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::a]:32345", - "dataset": { - "pool_name": "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d" - } - } - }, - { - "id": "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "underlay_address": "fd00:1122:3344:101::6", - "zone_type": { - "type": "oximeter", - "address": "[fd00:1122:3344:101::6]:12223" - } - }, - { - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "underlay_address": "fd00:1122:3344:101::11", - "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:101::11]:123", - "dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "nic": { - "id": "9741f03f-f150-4229-9f8d-e29a69c87883", - "ip": "172.30.3.5", - "kind": { - "type": "service", - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc" - }, - "mac": "A8:40:25:FF:E7:A8", - "name": "ntp-d630cca7-e3f7-47a8-aee8-ad0790895abc", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.5", - "first_port": 0, - "last_port": 16383 - } - } - }, - { - "id": "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "underlay_address": "fd00:1122:3344:101::e", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::e]:32345", - "dataset": { - "pool_name": "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698" - } - } - }, - { - "id": "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "underlay_address": "fd00:1122:3344:101::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::b]:32345", - "dataset": { - "pool_name": "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0" - } - } - }, - { - "id": "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "underlay_address": "fd00:1122:3344:101::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:101::7]:17000" - } - } - ] - } - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "time_collected": "2024-03-01T19:18:13.464998Z", - "source": "http://[fd00:1122:3344:121::1]:12345", - "sled_id": "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f", - "zones": { - "generation": 3, - "zones": [ - { - "id": "0eca39c6-62e2-4a1f-8ea2-e9332a774a26", - "underlay_address": "fd00:1122:3344:121::28", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::28]:32345", - "dataset": { - "pool_name": "oxp_cc36b0cc-818a-4c7f-b50d-057ff7e7e8e3" - } - } - }, - { - "id": "12431d3e-1516-4822-98b3-3711ff912e69", - "underlay_address": "fd00:1122:3344:121::22", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::22]:32345", - "dataset": { - "pool_name": "oxp_0622b2cf-297e-4356-b94c-d74309f443ba" - } - } - }, - { - "id": "2d5c29f7-4915-4876-82f8-e388b15c5067", - "underlay_address": "fd00:1122:3344:121::21", - "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:121::21]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] - } - }, - { - "id": "56414d76-9b8c-4e15-acf1-cd269c2d8638", - "underlay_address": "fd00:1122:3344:121::25", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::25]:32345", - "dataset": { - "pool_name": "oxp_574728ca-1559-48f3-a46c-1e608966e6a0" - } - } - }, - { - "id": "891cb9da-301d-40cc-b93d-5fcb350fa968", - "underlay_address": "fd00:1122:3344:121::29", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::29]:32345", - "dataset": { - "pool_name": "oxp_e4a4a09a-43b8-460c-bc43-1f935600b681" - } - } - }, - { - "id": "d9014907-24c0-4c33-a475-db15942f4f8f", - "underlay_address": "fd00:1122:3344:121::23", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::23]:32345", - "dataset": { - "pool_name": "oxp_276822e2-d7ce-4eae-b5a4-38d2e8586a37" - } - } - }, - { - "id": "e950de25-7306-4cf7-a6f4-6db11adaa310", - "underlay_address": "fd00:1122:3344:121::27", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::27]:32345", - "dataset": { - "pool_name": "oxp_8c7a7d84-c269-4178-9dbb-37f363e7958c" - } - } - }, - { - "id": "fe3dc092-ea23-42d7-9f1d-36eed72b539c", - "underlay_address": "fd00:1122:3344:121::26", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::26]:32345", - "dataset": { - "pool_name": "oxp_6d2b29c5-aa58-40b7-b630-88301f08e945" - } - } - }, - { - "id": "ff8cce49-a721-4ad1-b09e-2bd6e4e42d00", - "underlay_address": "fd00:1122:3344:121::24", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::24]:32345", - "dataset": { - "pool_name": "oxp_2b0da7bc-2afc-4a16-95e1-5126bcb9b6b1" - } - } - } - ] - } - }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "time_collected": "2024-03-01T19:18:13.507881Z", - "source": "http://[fd00:1122:3344:102::1]:12345", - "sled_id": "a6634f64-f6fb-426c-b00b-9b30aed9f53a", - "zones": { - "generation": 5, - "zones": [ - { - "id": "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "underlay_address": "fd00:1122:3344:102::11", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::11]:32345", - "dataset": { - "pool_name": "oxp_0c07bcc1-7666-4754-881d-4135992ff561" - } - } - }, - { - "id": "18b99404-d8b2-4463-bc99-638d9b678ab3", - "underlay_address": "fd00:1122:3344:102::e", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::e]:32345", - "dataset": { - "pool_name": "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c" - } - } - }, - { - "id": "479811e7-6409-45d4-b294-5333534e47ed", - "underlay_address": "fd00:1122:3344:102::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::9]:32345", - "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" - } - } - }, - { - "id": "54d1b693-bc4d-4c47-9009-c6f624073801", - "underlay_address": "fd00:1122:3344:102::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::a]:32345", - "dataset": { - "pool_name": "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd" - } - } - }, - { - "id": "5b743072-9369-45d7-b7c9-dbdf736301f8", - "underlay_address": "fd00:1122:3344:2::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - }, - "dns_address": "[fd00:1122:3344:2::1]:53", - "gz_address": "fd00:1122:3344:2::2", - "gz_address_index": 1, - "http_address": "[fd00:1122:3344:2::1]:5353" - } - }, - { - "id": "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", - "underlay_address": "fd00:1122:3344:102::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:102::7]:17000" - } - }, - { - "id": "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "underlay_address": "fd00:1122:3344:102::8", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::8]:32345", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "658076ed-fb43-49e7-a813-df3d23497848", - "underlay_address": "fd00:1122:3344:102::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::10]:32345", - "dataset": { - "pool_name": "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9" - } - } - }, - { - "id": "6edb836e-b100-4080-bb03-738d6441d571", - "underlay_address": "fd00:1122:3344:102::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::c]:32345", - "dataset": { - "pool_name": "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" - } - } - }, - { - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "underlay_address": "fd00:1122:3344:102::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.3", - "external_tls": true, - "internal_address": "[fd00:1122:3344:102::5]:12221", - "nic": { - "id": "3771a19c-cc40-4fd5-b99d-ed10071018a7", - "ip": "172.30.2.6", - "kind": { - "type": "service", - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b" - }, - "mac": "A8:40:25:FF:B2:AF", - "name": "nexus-7f83d784-9c5c-498f-b559-4176bbafbc4b", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 - } - } - }, - { - "id": "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "underlay_address": "fd00:1122:3344:102::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::d]:32345", - "dataset": { - "pool_name": "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42" - } - } - }, - { - "id": "86bc0a2a-e24a-4bc1-8222-89207a0937f9", - "underlay_address": "fd00:1122:3344:102::4", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::4]:32221", - "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" - } - } - }, - { - "id": "9241b9da-8188-4aae-a9dc-62acb453618f", - "underlay_address": "fd00:1122:3344:102::6", - "zone_type": { - "type": "clickhouse", - "address": "[fd00:1122:3344:102::6]:8123", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "a781a349-62b2-41f0-9dd7-c64d290aef82", - "underlay_address": "fd00:1122:3344:102::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::f]:32345", - "dataset": { - "pool_name": "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae" - } - } - }, - { - "id": "c67814bf-9972-4bb0-a666-24778ca70a16", - "underlay_address": "fd00:1122:3344:102::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::3]:32221", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "underlay_address": "fd00:1122:3344:102::12", - "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:102::12]:123", - "dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "nic": { - "id": "9f03c82c-3192-498d-978d-a175049ac389", - "ip": "172.30.3.6", - "kind": { - "type": "service", - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909" - }, - "mac": "A8:40:25:FF:E4:11", - "name": "ntp-c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.6", - "first_port": 16384, - "last_port": 32767 - } - } - }, - { - "id": "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "underlay_address": "fd00:1122:3344:102::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::b]:32345", - "dataset": { - "pool_name": "oxp_742699b5-4ded-406d-9a08-24648d3b2efb" - } - } - } - ] - } - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "time_collected": "2024-03-01T19:18:13.547769Z", - "source": "http://[fd00:1122:3344:103::1]:12345", - "sled_id": "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89", - "zones": { - "generation": 5, - "zones": [ - { - "id": "185e6b00-7e18-456c-9dfc-edd0194ac207", - "underlay_address": "fd00:1122:3344:103::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::a]:32345", - "dataset": { - "pool_name": "oxp_6aa59516-2018-4494-af6b-46704b20f6dc" - } - } - }, - { - "id": "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "underlay_address": "fd00:1122:3344:103::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::10]:32345", - "dataset": { - "pool_name": "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98" - } - } - }, - { - "id": "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "underlay_address": "fd00:1122:3344:3::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "[fd00:1122:3344:3::1]:53", - "gz_address": "fd00:1122:3344:3::2", - "gz_address_index": 2, - "http_address": "[fd00:1122:3344:3::1]:5353" - } - }, - { - "id": "4b74c418-0a08-4489-b652-e97267c1c220", - "underlay_address": "fd00:1122:3344:103::7", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::7]:32345", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "underlay_address": "fd00:1122:3344:103::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.4", - "external_tls": true, - "internal_address": "[fd00:1122:3344:103::5]:12221", - "nic": { - "id": "1f55dc2b-18ee-485c-8831-b603a8df78e6", - "ip": "172.30.2.7", - "kind": { - "type": "service", - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee" - }, - "mac": "A8:40:25:FF:96:05", - "name": "nexus-54c947d2-6355-453c-80fc-8f49cc2129ee", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 - } - } - }, - { - "id": "60d64b70-89f5-4774-9e41-2c79c4173911", - "underlay_address": "fd00:1122:3344:103::6", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:103::6]:17000" - } - }, - { - "id": "921958c0-7761-4294-945d-2a078327bf2c", - "underlay_address": "fd00:1122:3344:103::8", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::8]:32345", - "dataset": { - "pool_name": "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3" - } - } - }, - { - "id": "9df22034-59f6-431f-82e7-258fe983879b", - "underlay_address": "fd00:1122:3344:103::4", - "zone_type": { - "type": "external_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "172.20.28.1:53", - "http_address": "[fd00:1122:3344:103::4]:5353", - "nic": { - "id": "0376a963-e3c1-44bc-9cbf-9e8cca58410b", - "ip": "172.30.1.5", - "kind": { - "type": "service", - "id": "9df22034-59f6-431f-82e7-258fe983879b" - }, - "mac": "A8:40:25:FF:90:12", - "name": "external-dns-9df22034-59f6-431f-82e7-258fe983879b", - "primary": true, - "slot": 0, - "subnet": "172.30.1.0/24", - "vni": 100 - } - } - }, - { - "id": "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "underlay_address": "fd00:1122:3344:103::11", - "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:103::11]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] - } - }, - { - "id": "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "underlay_address": "fd00:1122:3344:103::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::9]:32345", - "dataset": { - "pool_name": "oxp_c8feed09-6556-4409-af8e-563c97d556eb" - } - } - }, - { - "id": "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "underlay_address": "fd00:1122:3344:103::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::d]:32345", - "dataset": { - "pool_name": "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea" - } - } - }, - { - "id": "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "underlay_address": "fd00:1122:3344:103::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::b]:32345", - "dataset": { - "pool_name": "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3" - } - } - }, - { - "id": "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "underlay_address": "fd00:1122:3344:103::e", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::e]:32345", - "dataset": { - "pool_name": "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960" - } - } - }, - { - "id": "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "underlay_address": "fd00:1122:3344:103::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:103::3]:32221", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "underlay_address": "fd00:1122:3344:103::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::f]:32345", - "dataset": { - "pool_name": "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62" - } - } - }, - { - "id": "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "underlay_address": "fd00:1122:3344:103::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::c]:32345", - "dataset": { - "pool_name": "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" - } - } - } - ] - } - } - } - } - ], - "blueprints": [ - { - "id": "486de160-c8f3-4600-acca-b0c78e33aca4", - "omicron_zones": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "generation": 5, - "zones": [ - { - "id": "0706860a-3801-42a7-8000-fff741f7665b", - "underlay_address": "fd00:1122:3344:101::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::c]:32345", - "dataset": { - "pool_name": "oxp_1d864940-c723-4f58-82e8-b03772b42356" - } - } - }, - { - "id": "34a279a2-a025-41ff-a392-1addac400f38", - "underlay_address": "fd00:1122:3344:101::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::3]:32221", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "underlay_address": "fd00:1122:3344:1::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - }, - "dns_address": "[fd00:1122:3344:1::1]:53", - "gz_address": "fd00:1122:3344:1::2", - "gz_address_index": 0, - "http_address": "[fd00:1122:3344:1::1]:5353" - } - }, - { - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "underlay_address": "fd00:1122:3344:101::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.2", - "external_tls": true, - "internal_address": "[fd00:1122:3344:101::5]:12221", - "nic": { - "id": "81a0385e-86b9-4109-b63d-61c1407c50d1", - "ip": "172.30.2.5", - "kind": { - "type": "service", - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629" - }, - "mac": "A8:40:25:FF:E1:17", - "name": "nexus-59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 - } - } - }, - { - "id": "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "underlay_address": "fd00:1122:3344:101::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::10]:32345", - "dataset": { - "pool_name": "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" - } - } - }, - { - "id": "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "underlay_address": "fd00:1122:3344:101::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::f]:32345", - "dataset": { - "pool_name": "oxp_466351db-2ced-45fa-9431-22de1c4bd480" - } - } - }, - { - "id": "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "underlay_address": "fd00:1122:3344:101::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::9]:32345", - "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" - } - } - }, - { - "id": "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "underlay_address": "fd00:1122:3344:101::8", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::8]:32345", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "86ee7359-aa35-41d9-8a76-54961bc516a1", - "underlay_address": "fd00:1122:3344:101::4", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::4]:32221", - "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" - } - } - }, - { - "id": "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "underlay_address": "fd00:1122:3344:101::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::d]:32345", - "dataset": { - "pool_name": "oxp_88ddd98f-3181-4797-864a-7e8d5b028657" - } - } - }, - { - "id": "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "underlay_address": "fd00:1122:3344:101::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::a]:32345", - "dataset": { - "pool_name": "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d" - } - } - }, - { - "id": "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "underlay_address": "fd00:1122:3344:101::6", - "zone_type": { - "type": "oximeter", - "address": "[fd00:1122:3344:101::6]:12223" - } - }, - { - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "underlay_address": "fd00:1122:3344:101::11", - "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:101::11]:123", - "dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "nic": { - "id": "9741f03f-f150-4229-9f8d-e29a69c87883", - "ip": "172.30.3.5", - "kind": { - "type": "service", - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc" - }, - "mac": "A8:40:25:FF:E7:A8", - "name": "ntp-d630cca7-e3f7-47a8-aee8-ad0790895abc", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.5", - "first_port": 0, - "last_port": 16383 - } - } - }, - { - "id": "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "underlay_address": "fd00:1122:3344:101::e", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::e]:32345", - "dataset": { - "pool_name": "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698" - } - } - }, - { - "id": "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "underlay_address": "fd00:1122:3344:101::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::b]:32345", - "dataset": { - "pool_name": "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0" - } - } - }, - { - "id": "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "underlay_address": "fd00:1122:3344:101::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:101::7]:17000" - } - } - ] - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "generation": 1, - "zones": [] - }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "generation": 5, - "zones": [ - { - "id": "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "underlay_address": "fd00:1122:3344:102::11", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::11]:32345", - "dataset": { - "pool_name": "oxp_0c07bcc1-7666-4754-881d-4135992ff561" - } - } - }, - { - "id": "18b99404-d8b2-4463-bc99-638d9b678ab3", - "underlay_address": "fd00:1122:3344:102::e", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::e]:32345", - "dataset": { - "pool_name": "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c" - } - } - }, - { - "id": "479811e7-6409-45d4-b294-5333534e47ed", - "underlay_address": "fd00:1122:3344:102::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::9]:32345", - "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" - } - } - }, - { - "id": "54d1b693-bc4d-4c47-9009-c6f624073801", - "underlay_address": "fd00:1122:3344:102::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::a]:32345", - "dataset": { - "pool_name": "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd" - } - } - }, - { - "id": "5b743072-9369-45d7-b7c9-dbdf736301f8", - "underlay_address": "fd00:1122:3344:2::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - }, - "dns_address": "[fd00:1122:3344:2::1]:53", - "gz_address": "fd00:1122:3344:2::2", - "gz_address_index": 1, - "http_address": "[fd00:1122:3344:2::1]:5353" - } - }, - { - "id": "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", - "underlay_address": "fd00:1122:3344:102::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:102::7]:17000" - } - }, - { - "id": "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "underlay_address": "fd00:1122:3344:102::8", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::8]:32345", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "658076ed-fb43-49e7-a813-df3d23497848", - "underlay_address": "fd00:1122:3344:102::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::10]:32345", - "dataset": { - "pool_name": "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9" - } - } - }, - { - "id": "6edb836e-b100-4080-bb03-738d6441d571", - "underlay_address": "fd00:1122:3344:102::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::c]:32345", - "dataset": { - "pool_name": "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" - } - } - }, - { - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "underlay_address": "fd00:1122:3344:102::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.3", - "external_tls": true, - "internal_address": "[fd00:1122:3344:102::5]:12221", - "nic": { - "id": "3771a19c-cc40-4fd5-b99d-ed10071018a7", - "ip": "172.30.2.6", - "kind": { - "type": "service", - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b" - }, - "mac": "A8:40:25:FF:B2:AF", - "name": "nexus-7f83d784-9c5c-498f-b559-4176bbafbc4b", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 - } - } - }, - { - "id": "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "underlay_address": "fd00:1122:3344:102::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::d]:32345", - "dataset": { - "pool_name": "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42" - } - } - }, - { - "id": "86bc0a2a-e24a-4bc1-8222-89207a0937f9", - "underlay_address": "fd00:1122:3344:102::4", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::4]:32221", - "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" - } - } - }, - { - "id": "9241b9da-8188-4aae-a9dc-62acb453618f", - "underlay_address": "fd00:1122:3344:102::6", - "zone_type": { - "type": "clickhouse", - "address": "[fd00:1122:3344:102::6]:8123", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "a781a349-62b2-41f0-9dd7-c64d290aef82", - "underlay_address": "fd00:1122:3344:102::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::f]:32345", - "dataset": { - "pool_name": "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae" - } - } - }, - { - "id": "c67814bf-9972-4bb0-a666-24778ca70a16", - "underlay_address": "fd00:1122:3344:102::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::3]:32221", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } - } - }, - { - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "underlay_address": "fd00:1122:3344:102::12", - "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:102::12]:123", - "dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "nic": { - "id": "9f03c82c-3192-498d-978d-a175049ac389", - "ip": "172.30.3.6", - "kind": { - "type": "service", - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909" - }, - "mac": "A8:40:25:FF:E4:11", - "name": "ntp-c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.6", - "first_port": 16384, - "last_port": 32767 - } - } - }, - { - "id": "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "underlay_address": "fd00:1122:3344:102::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::b]:32345", - "dataset": { - "pool_name": "oxp_742699b5-4ded-406d-9a08-24648d3b2efb" - } - } - } - ] - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "generation": 5, - "zones": [ - { - "id": "185e6b00-7e18-456c-9dfc-edd0194ac207", - "underlay_address": "fd00:1122:3344:103::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::a]:32345", - "dataset": { - "pool_name": "oxp_6aa59516-2018-4494-af6b-46704b20f6dc" - } - } - }, - { - "id": "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "underlay_address": "fd00:1122:3344:103::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::10]:32345", - "dataset": { - "pool_name": "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98" - } - } - }, - { - "id": "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "underlay_address": "fd00:1122:3344:3::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "[fd00:1122:3344:3::1]:53", - "gz_address": "fd00:1122:3344:3::2", - "gz_address_index": 2, - "http_address": "[fd00:1122:3344:3::1]:5353" - } - }, - { - "id": "4b74c418-0a08-4489-b652-e97267c1c220", - "underlay_address": "fd00:1122:3344:103::7", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::7]:32345", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "underlay_address": "fd00:1122:3344:103::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.4", - "external_tls": true, - "internal_address": "[fd00:1122:3344:103::5]:12221", - "nic": { - "id": "1f55dc2b-18ee-485c-8831-b603a8df78e6", - "ip": "172.30.2.7", - "kind": { - "type": "service", - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee" - }, - "mac": "A8:40:25:FF:96:05", - "name": "nexus-54c947d2-6355-453c-80fc-8f49cc2129ee", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 - } - } - }, - { - "id": "60d64b70-89f5-4774-9e41-2c79c4173911", - "underlay_address": "fd00:1122:3344:103::6", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:103::6]:17000" - } - }, - { - "id": "921958c0-7761-4294-945d-2a078327bf2c", - "underlay_address": "fd00:1122:3344:103::8", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::8]:32345", - "dataset": { - "pool_name": "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3" - } - } - }, - { - "id": "9df22034-59f6-431f-82e7-258fe983879b", - "underlay_address": "fd00:1122:3344:103::4", - "zone_type": { - "type": "external_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "172.20.28.1:53", - "http_address": "[fd00:1122:3344:103::4]:5353", - "nic": { - "id": "0376a963-e3c1-44bc-9cbf-9e8cca58410b", - "ip": "172.30.1.5", - "kind": { - "type": "service", - "id": "9df22034-59f6-431f-82e7-258fe983879b" - }, - "mac": "A8:40:25:FF:90:12", - "name": "external-dns-9df22034-59f6-431f-82e7-258fe983879b", - "primary": true, - "slot": 0, - "subnet": "172.30.1.0/24", - "vni": 100 - } - } - }, - { - "id": "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "underlay_address": "fd00:1122:3344:103::11", - "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:103::11]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] - } - }, - { - "id": "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "underlay_address": "fd00:1122:3344:103::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::9]:32345", - "dataset": { - "pool_name": "oxp_c8feed09-6556-4409-af8e-563c97d556eb" - } - } - }, - { - "id": "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "underlay_address": "fd00:1122:3344:103::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::d]:32345", - "dataset": { - "pool_name": "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea" - } - } - }, - { - "id": "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "underlay_address": "fd00:1122:3344:103::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::b]:32345", - "dataset": { - "pool_name": "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3" - } - } - }, - { - "id": "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "underlay_address": "fd00:1122:3344:103::e", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::e]:32345", - "dataset": { - "pool_name": "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960" - } - } - }, - { - "id": "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "underlay_address": "fd00:1122:3344:103::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:103::3]:32221", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - } - } - }, - { - "id": "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "underlay_address": "fd00:1122:3344:103::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::f]:32345", - "dataset": { - "pool_name": "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62" - } - } - }, - { - "id": "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "underlay_address": "fd00:1122:3344:103::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::c]:32345", - "dataset": { - "pool_name": "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" - } - } - } - ] - } - }, - "zones_in_service": [ - "0706860a-3801-42a7-8000-fff741f7665b", - "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "185e6b00-7e18-456c-9dfc-edd0194ac207", - "18b99404-d8b2-4463-bc99-638d9b678ab3", - "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "34a279a2-a025-41ff-a392-1addac400f38", - "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "479811e7-6409-45d4-b294-5333534e47ed", - "4b74c418-0a08-4489-b652-e97267c1c220", - "54c947d2-6355-453c-80fc-8f49cc2129ee", - "54d1b693-bc4d-4c47-9009-c6f624073801", - "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "5b743072-9369-45d7-b7c9-dbdf736301f8", - "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", - "60d64b70-89f5-4774-9e41-2c79c4173911", - "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "658076ed-fb43-49e7-a813-df3d23497848", - "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "6edb836e-b100-4080-bb03-738d6441d571", - "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "86bc0a2a-e24a-4bc1-8222-89207a0937f9", - "86ee7359-aa35-41d9-8a76-54961bc516a1", - "921958c0-7761-4294-945d-2a078327bf2c", - "9241b9da-8188-4aae-a9dc-62acb453618f", - "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "9df22034-59f6-431f-82e7-258fe983879b", - "a781a349-62b2-41f0-9dd7-c64d290aef82", - "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "c67814bf-9972-4bb0-a666-24778ca70a16", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "f7264a3e-e8e7-4476-8df3-76c9d00a383b" - ], - "parent_blueprint_id": null, - "internal_dns_version": 1, - "time_created": "2024-03-01T19:06:56.467313Z", - "creator": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "comment": "from collection df8caafd-c444-4f65-a304-b9ceb62a96c2" - }, - { - "id": "6c127695-ba15-408d-a992-325a1a888380", - "omicron_zones": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "generation": 5, - "zones": [ - { - "id": "0706860a-3801-42a7-8000-fff741f7665b", - "underlay_address": "fd00:1122:3344:101::c", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::c]:32345", - "dataset": { - "pool_name": "oxp_1d864940-c723-4f58-82e8-b03772b42356" - } - } - }, - { - "id": "34a279a2-a025-41ff-a392-1addac400f38", - "underlay_address": "fd00:1122:3344:101::3", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::3]:32221", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "underlay_address": "fd00:1122:3344:1::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - }, - "dns_address": "[fd00:1122:3344:1::1]:53", - "gz_address": "fd00:1122:3344:1::2", - "gz_address_index": 0, - "http_address": "[fd00:1122:3344:1::1]:5353" - } - }, - { - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "underlay_address": "fd00:1122:3344:101::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.2", - "external_tls": true, - "internal_address": "[fd00:1122:3344:101::5]:12221", - "nic": { - "id": "81a0385e-86b9-4109-b63d-61c1407c50d1", - "ip": "172.30.2.5", - "kind": { - "type": "service", - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629" - }, - "mac": "A8:40:25:FF:E1:17", - "name": "nexus-59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 - } - } - }, - { - "id": "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "underlay_address": "fd00:1122:3344:101::10", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::10]:32345", - "dataset": { - "pool_name": "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" - } - } - }, - { - "id": "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "underlay_address": "fd00:1122:3344:101::f", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::f]:32345", - "dataset": { - "pool_name": "oxp_466351db-2ced-45fa-9431-22de1c4bd480" - } - } - }, - { - "id": "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "underlay_address": "fd00:1122:3344:101::9", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::9]:32345", - "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" - } - } - }, - { - "id": "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "underlay_address": "fd00:1122:3344:101::8", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::8]:32345", - "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" - } - } - }, - { - "id": "86ee7359-aa35-41d9-8a76-54961bc516a1", - "underlay_address": "fd00:1122:3344:101::4", - "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::4]:32221", - "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" - } - } - }, - { - "id": "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "underlay_address": "fd00:1122:3344:101::d", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::d]:32345", - "dataset": { - "pool_name": "oxp_88ddd98f-3181-4797-864a-7e8d5b028657" - } - } - }, - { - "id": "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "underlay_address": "fd00:1122:3344:101::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::a]:32345", - "dataset": { - "pool_name": "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d" - } - } - }, - { - "id": "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "underlay_address": "fd00:1122:3344:101::6", - "zone_type": { - "type": "oximeter", - "address": "[fd00:1122:3344:101::6]:12223" - } - }, + "id": "649e444d-d00f-4067-a915-12e15647bf37", + "omicron_zones": { + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "generation": 5, + "zones": [ { - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "underlay_address": "fd00:1122:3344:101::11", + "id": "0db88baf-911d-47bb-af71-3aebd7c96934", + "underlay_address": "fd00:1122:3344:103::4", "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:101::11]:123", - "dns_servers": [ + "type": "nexus", + "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], + "external_ip": "198.51.100.22", + "external_tls": false, + "internal_address": "[fd00:1122:3344:103::4]:12221", "nic": { - "id": "9741f03f-f150-4229-9f8d-e29a69c87883", - "ip": "172.30.3.5", + "id": "8847a09c-cabc-429b-bf46-66d5e2e1140c", "kind": { "type": "service", - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc" + "id": "0db88baf-911d-47bb-af71-3aebd7c96934" }, - "mac": "A8:40:25:FF:E7:A8", - "name": "ntp-d630cca7-e3f7-47a8-aee8-ad0790895abc", + "name": "nexus-0db88baf-911d-47bb-af71-3aebd7c96934", + "ip": "172.30.2.5", + "mac": "A8:40:25:FF:CC:DA", + "subnet": "172.30.2.0/24", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.5", - "first_port": 0, - "last_port": 16383 + "slot": 0 } } }, { - "id": "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "underlay_address": "fd00:1122:3344:101::e", + "id": "213d7dd3-95a4-45a7-99ca-e4899991dab4", + "underlay_address": "fd00:1122:3344:103::6", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::e]:32345", + "address": "[fd00:1122:3344:103::6]:32345", "dataset": { - "pool_name": "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "underlay_address": "fd00:1122:3344:101::b", + "id": "218f36a5-9e51-4b88-ad1a-da4d85c246c4", + "underlay_address": "fd00:1122:3344:3::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::b]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0" - } + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" + }, + "dns_address": "[fd00:1122:3344:3::1]:53", + "gz_address": "fd00:1122:3344:3::2", + "gz_address_index": 2, + "http_address": "[fd00:1122:3344:3::1]:5353" } }, { - "id": "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "underlay_address": "fd00:1122:3344:101::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:101::7]:17000" - } - } - ] - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "generation": 2, - "zones": [ - { - "id": "2d5c29f7-4915-4876-82f8-e388b15c5067", - "underlay_address": "fd00:1122:3344:121::21", - "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:121::21]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] - } - } - ] - }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "generation": 5, - "zones": [ - { - "id": "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "underlay_address": "fd00:1122:3344:102::11", + "id": "40c47ead-3be8-4724-a8ef-b66233fc5c65", + "underlay_address": "fd00:1122:3344:103::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::11]:32345", + "address": "[fd00:1122:3344:103::7]:32345", "dataset": { - "pool_name": "oxp_0c07bcc1-7666-4754-881d-4135992ff561" + "pool_name": "oxp_24b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "18b99404-d8b2-4463-bc99-638d9b678ab3", - "underlay_address": "fd00:1122:3344:102::e", + "id": "425d9d2f-72ea-4f53-80b6-04e002771cdb", + "underlay_address": "fd00:1122:3344:103::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::e]:32345", + "address": "[fd00:1122:3344:103::9]:32345", "dataset": { - "pool_name": "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c" + "pool_name": "oxp_e4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "479811e7-6409-45d4-b294-5333534e47ed", - "underlay_address": "fd00:1122:3344:102::9", + "id": "46a050b6-37b8-47b9-b4ae-ccb736ecd6d5", + "underlay_address": "fd00:1122:3344:103::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::9]:32345", + "address": "[fd00:1122:3344:103::8]:32345", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_d452a7f5-b528-40fe-80ff-4e4189e2d52b" } } }, { - "id": "54d1b693-bc4d-4c47-9009-c6f624073801", - "underlay_address": "fd00:1122:3344:102::a", + "id": "4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd", + "underlay_address": "fd00:1122:3344:103::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::a]:32345", + "type": "clickhouse", + "address": "[fd00:1122:3344:103::5]:8123", "dataset": { - "pool_name": "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "5b743072-9369-45d7-b7c9-dbdf736301f8", - "underlay_address": "fd00:1122:3344:2::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - }, - "dns_address": "[fd00:1122:3344:2::1]:53", - "gz_address": "fd00:1122:3344:2::2", - "gz_address_index": 1, - "http_address": "[fd00:1122:3344:2::1]:5353" - } - }, - { - "id": "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", - "underlay_address": "fd00:1122:3344:102::7", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:102::7]:17000" - } - }, - { - "id": "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "underlay_address": "fd00:1122:3344:102::8", + "id": "7611a549-effc-41b6-b6cb-c03e0c70a31f", + "underlay_address": "fd00:1122:3344:103::b", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::8]:32345", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } + "type": "internal_ntp", + "address": "[fd00:1122:3344:103::b]:123", + "dns_servers": [ + "fd00:1122:3344:1::1", + "fd00:1122:3344:2::1", + "fd00:1122:3344:3::1" + ], + "ntp_servers": [ + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" + ] } }, { - "id": "658076ed-fb43-49e7-a813-df3d23497848", - "underlay_address": "fd00:1122:3344:102::10", + "id": "af7ccead-2bd8-4a8a-9fbf-3b788d180139", + "underlay_address": "fd00:1122:3344:103::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::10]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:103::3]:32221", "dataset": { - "pool_name": "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "6edb836e-b100-4080-bb03-738d6441d571", - "underlay_address": "fd00:1122:3344:102::c", + "id": "d4428e41-ad7b-41f0-bde6-7c7c955f20c1", + "underlay_address": "fd00:1122:3344:103::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::c]:32345", + "address": "[fd00:1122:3344:103::a]:32345", "dataset": { - "pool_name": "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" - } - } - }, - { - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "underlay_address": "fd00:1122:3344:102::5", - "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.3", - "external_tls": true, - "internal_address": "[fd00:1122:3344:102::5]:12221", - "nic": { - "id": "3771a19c-cc40-4fd5-b99d-ed10071018a7", - "ip": "172.30.2.6", - "kind": { - "type": "service", - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b" - }, - "mac": "A8:40:25:FF:B2:AF", - "name": "nexus-7f83d784-9c5c-498f-b559-4176bbafbc4b", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 + "pool_name": "oxp_f4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } - }, + } + ] + }, + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "generation": 5, + "zones": [ { - "id": "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "underlay_address": "fd00:1122:3344:102::d", + "id": "1ebea0c3-1bfd-472c-9f84-ac9e23b32707", + "underlay_address": "fd00:1122:3344:104::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::d]:32345", + "address": "[fd00:1122:3344:104::b]:32345", "dataset": { - "pool_name": "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42" + "pool_name": "oxp_f4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "86bc0a2a-e24a-4bc1-8222-89207a0937f9", - "underlay_address": "fd00:1122:3344:102::4", + "id": "2e9dfa8f-5371-48e5-b7f7-62a6af8283c1", + "underlay_address": "fd00:1122:3344:104::4", "zone_type": { "type": "cockroach_db", - "address": "[fd00:1122:3344:102::4]:32221", - "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" - } - } - }, - { - "id": "9241b9da-8188-4aae-a9dc-62acb453618f", - "underlay_address": "fd00:1122:3344:102::6", - "zone_type": { - "type": "clickhouse", - "address": "[fd00:1122:3344:102::6]:8123", + "address": "[fd00:1122:3344:104::4]:32221", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "a781a349-62b2-41f0-9dd7-c64d290aef82", - "underlay_address": "fd00:1122:3344:102::f", + "id": "57c712a6-6429-44b7-a9b2-9957cb9054d4", + "underlay_address": "fd00:1122:3344:104::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::f]:32345", + "address": "[fd00:1122:3344:104::a]:32345", "dataset": { - "pool_name": "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae" + "pool_name": "oxp_e4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "c67814bf-9972-4bb0-a666-24778ca70a16", - "underlay_address": "fd00:1122:3344:102::3", + "id": "59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9", + "underlay_address": "fd00:1122:3344:104::7", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::3]:32221", + "type": "crucible", + "address": "[fd00:1122:3344:104::7]:32345", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "underlay_address": "fd00:1122:3344:102::12", + "id": "73916098-788f-48d8-b745-e13fdcfb771b", + "underlay_address": "fd00:1122:3344:104::c", "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:102::12]:123", + "type": "internal_ntp", + "address": "[fd00:1122:3344:104::c]:123", "dns_servers": [ - "1.1.1.1", - "9.9.9.9" + "fd00:1122:3344:1::1", + "fd00:1122:3344:2::1", + "fd00:1122:3344:3::1" ], - "nic": { - "id": "9f03c82c-3192-498d-978d-a175049ac389", - "ip": "172.30.3.6", - "kind": { - "type": "service", - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909" - }, - "mac": "A8:40:25:FF:E4:11", - "name": "ntp-c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.6", - "first_port": 16384, - "last_port": 32767 - } - } - }, - { - "id": "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "underlay_address": "fd00:1122:3344:102::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::b]:32345", - "dataset": { - "pool_name": "oxp_742699b5-4ded-406d-9a08-24648d3b2efb" - } - } - } - ] - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "generation": 5, - "zones": [ - { - "id": "185e6b00-7e18-456c-9dfc-edd0194ac207", - "underlay_address": "fd00:1122:3344:103::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::a]:32345", - "dataset": { - "pool_name": "oxp_6aa59516-2018-4494-af6b-46704b20f6dc" - } + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" + ] } }, { - "id": "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "underlay_address": "fd00:1122:3344:103::10", + "id": "9bb513e3-7505-416c-aa70-b26f1152bbdc", + "underlay_address": "fd00:1122:3344:104::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::10]:32345", + "address": "[fd00:1122:3344:104::9]:32345", "dataset": { - "pool_name": "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98" + "pool_name": "oxp_d462a7f7-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "underlay_address": "fd00:1122:3344:3::1", - "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "[fd00:1122:3344:3::1]:53", - "gz_address": "fd00:1122:3344:3::2", - "gz_address_index": 2, - "http_address": "[fd00:1122:3344:3::1]:5353" - } - }, - { - "id": "4b74c418-0a08-4489-b652-e97267c1c220", - "underlay_address": "fd00:1122:3344:103::7", + "id": "9c14c879-137b-4f5b-8068-1292bffc83ed", + "underlay_address": "fd00:1122:3344:104::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::7]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::3]:32221", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "underlay_address": "fd00:1122:3344:103::5", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637", + "underlay_address": "fd00:1122:3344:104::5", "zone_type": { "type": "nexus", "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.4", - "external_tls": true, - "internal_address": "[fd00:1122:3344:103::5]:12221", + "external_ip": "198.51.100.23", + "external_tls": false, + "internal_address": "[fd00:1122:3344:104::5]:12221", "nic": { - "id": "1f55dc2b-18ee-485c-8831-b603a8df78e6", - "ip": "172.30.2.7", + "id": "fa76e7e1-dee6-4574-b71f-e07ea1cffd08", "kind": { "type": "service", - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee" + "id": "9cf90589-5da1-4b42-b09b-d784e4134637" }, - "mac": "A8:40:25:FF:96:05", - "name": "nexus-54c947d2-6355-453c-80fc-8f49cc2129ee", - "primary": true, - "slot": 0, + "name": "nexus-9cf90589-5da1-4b42-b09b-d784e4134637", + "ip": "172.30.2.6", + "mac": "A8:40:25:FF:C4:6F", "subnet": "172.30.2.0/24", - "vni": 100 - } - } - }, - { - "id": "60d64b70-89f5-4774-9e41-2c79c4173911", - "underlay_address": "fd00:1122:3344:103::6", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:103::6]:17000" - } - }, - { - "id": "921958c0-7761-4294-945d-2a078327bf2c", - "underlay_address": "fd00:1122:3344:103::8", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::8]:32345", - "dataset": { - "pool_name": "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3" - } - } - }, - { - "id": "9df22034-59f6-431f-82e7-258fe983879b", - "underlay_address": "fd00:1122:3344:103::4", - "zone_type": { - "type": "external_dns", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" - }, - "dns_address": "172.20.28.1:53", - "http_address": "[fd00:1122:3344:103::4]:5353", - "nic": { - "id": "0376a963-e3c1-44bc-9cbf-9e8cca58410b", - "ip": "172.30.1.5", - "kind": { - "type": "service", - "id": "9df22034-59f6-431f-82e7-258fe983879b" - }, - "mac": "A8:40:25:FF:90:12", - "name": "external-dns-9df22034-59f6-431f-82e7-258fe983879b", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.1.0/24", - "vni": 100 + "slot": 0 } } }, { - "id": "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "underlay_address": "fd00:1122:3344:103::11", - "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:103::11]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] + "id": "d48b2dfa-c749-47dd-98b6-3f478cd63934", + "underlay_address": "fd00:1122:3344:104::6", + "zone_type": { + "type": "crucible_pantry", + "address": "[fd00:1122:3344:104::6]:17000" } }, { - "id": "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "underlay_address": "fd00:1122:3344:103::9", + "id": "fd003bee-818a-4c95-aae5-e378ac601522", + "underlay_address": "fd00:1122:3344:104::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::9]:32345", + "address": "[fd00:1122:3344:104::8]:32345", "dataset": { - "pool_name": "oxp_c8feed09-6556-4409-af8e-563c97d556eb" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } - }, + } + ] + }, + "77851655-10a5-4e80-88b0-a001473cab7e": { + "generation": 5, + "zones": [ { - "id": "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "underlay_address": "fd00:1122:3344:103::d", + "id": "084cac6e-44b5-4333-a2ff-b0993b534898", + "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::d]:32345", + "address": "[fd00:1122:3344:102::8]:32345", "dataset": { - "pool_name": "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea" + "pool_name": "oxp_24b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "underlay_address": "fd00:1122:3344:103::b", + "id": "11c527c5-0598-428e-9270-be5b74d3461b", + "underlay_address": "fd00:1122:3344:102::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::b]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:102::3]:32221", "dataset": { - "pool_name": "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "underlay_address": "fd00:1122:3344:103::e", + "id": "20be9299-495d-428d-b315-694c2c4b64af", + "underlay_address": "fd00:1122:3344:102::6", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::e]:32345", - "dataset": { - "pool_name": "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960" - } + "type": "crucible_pantry", + "address": "[fd00:1122:3344:102::6]:17000" } }, { - "id": "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "underlay_address": "fd00:1122:3344:103::3", + "id": "2b29cb95-f8c6-4aff-acc0-1c0a627be392", + "underlay_address": "fd00:1122:3344:102::b", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:103::3]:32221", + "type": "crucible", + "address": "[fd00:1122:3344:102::b]:32345", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_f4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "underlay_address": "fd00:1122:3344:103::f", + "id": "8d452bdd-e8b8-4108-a690-46fc59197db0", + "underlay_address": "fd00:1122:3344:102::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::f]:32345", + "address": "[fd00:1122:3344:102::a]:32345", "dataset": { - "pool_name": "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62" + "pool_name": "oxp_e4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "underlay_address": "fd00:1122:3344:103::c", + "id": "953019c0-8e85-4417-b231-d42820470125", + "underlay_address": "fd00:1122:3344:102::5", + "zone_type": { + "type": "oximeter", + "address": "[fd00:1122:3344:102::5]:12223" + } + }, + { + "id": "99c635b9-8e97-414a-8316-8261d2d767d0", + "underlay_address": "fd00:1122:3344:102::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::c]:32345", + "address": "[fd00:1122:3344:102::7]:32345", "dataset": { - "pool_name": "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } - } - ] - } - }, - "zones_in_service": [ - "0706860a-3801-42a7-8000-fff741f7665b", - "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "185e6b00-7e18-456c-9dfc-edd0194ac207", - "18b99404-d8b2-4463-bc99-638d9b678ab3", - "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "2d5c29f7-4915-4876-82f8-e388b15c5067", - "34a279a2-a025-41ff-a392-1addac400f38", - "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "479811e7-6409-45d4-b294-5333534e47ed", - "4b74c418-0a08-4489-b652-e97267c1c220", - "54c947d2-6355-453c-80fc-8f49cc2129ee", - "54d1b693-bc4d-4c47-9009-c6f624073801", - "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "5b743072-9369-45d7-b7c9-dbdf736301f8", - "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", - "60d64b70-89f5-4774-9e41-2c79c4173911", - "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "658076ed-fb43-49e7-a813-df3d23497848", - "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "6edb836e-b100-4080-bb03-738d6441d571", - "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "86bc0a2a-e24a-4bc1-8222-89207a0937f9", - "86ee7359-aa35-41d9-8a76-54961bc516a1", - "921958c0-7761-4294-945d-2a078327bf2c", - "9241b9da-8188-4aae-a9dc-62acb453618f", - "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "9df22034-59f6-431f-82e7-258fe983879b", - "a781a349-62b2-41f0-9dd7-c64d290aef82", - "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "c67814bf-9972-4bb0-a666-24778ca70a16", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "f7264a3e-e8e7-4476-8df3-76c9d00a383b" - ], - "parent_blueprint_id": "486de160-c8f3-4600-acca-b0c78e33aca4", - "internal_dns_version": 1, - "time_created": "2024-03-01T19:07:58.105708Z", - "creator": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "comment": "sled a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f: add NTP zone" - }, - { - "id": "cfa03594-f438-4736-a416-6307f7bf8f2e", - "omicron_zones": { - "1762267a-a0cb-4c9a-88b4-8ce828cbc021": { - "generation": 5, - "zones": [ + }, { - "id": "0706860a-3801-42a7-8000-fff741f7665b", - "underlay_address": "fd00:1122:3344:101::c", + "id": "cbe1abfa-0063-44b2-9ce7-7ad76b403a94", + "underlay_address": "fd00:1122:3344:2::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::c]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_1d864940-c723-4f58-82e8-b03772b42356" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:2::1]:53", + "gz_address": "fd00:1122:3344:2::2", + "gz_address_index": 1, + "http_address": "[fd00:1122:3344:2::1]:5353" + } + }, + { + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "underlay_address": "fd00:1122:3344:102::c", + "zone_type": { + "type": "boundary_ntp", + "address": "[fd00:1122:3344:102::c]:123", + "dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "nic": { + "id": "659f33f7-e7bd-4875-9140-bf8a8b2d964a", + "kind": { + "type": "service", + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded" + }, + "name": "ntp-d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "ip": "172.30.3.6", + "mac": "A8:40:25:FF:B1:99", + "subnet": "172.30.3.0/24", + "vni": 100, + "primary": true, + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.26", + "first_port": 16384, + "last_port": 32767 } } }, { - "id": "34a279a2-a025-41ff-a392-1addac400f38", - "underlay_address": "fd00:1122:3344:101::3", + "id": "dc7f703a-27d1-4802-b85d-5629ddb2d67c", + "underlay_address": "fd00:1122:3344:102::9", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:101::3]:32221", + "type": "crucible", + "address": "[fd00:1122:3344:102::9]:32345", "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" + "pool_name": "oxp_d462a7f6-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "underlay_address": "fd00:1122:3344:1::1", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "underlay_address": "fd00:1122:3344:102::4", "zone_type": { - "type": "internal_dns", + "type": "external_dns", "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" }, - "dns_address": "[fd00:1122:3344:1::1]:53", - "gz_address": "fd00:1122:3344:1::2", - "gz_address_index": 0, - "http_address": "[fd00:1122:3344:1::1]:5353" + "dns_address": "198.51.100.21:53", + "http_address": "[fd00:1122:3344:102::4]:5353", + "nic": { + "id": "d4dd2f7a-8a3b-405e-8444-62f99a754a8a", + "kind": { + "type": "service", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802" + }, + "name": "external-dns-f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "ip": "172.30.1.6", + "mac": "A8:40:25:FF:F4:5C", + "subnet": "172.30.1.0/24", + "vni": 100, + "primary": true, + "slot": 0 + } } - }, + } + ] + }, + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "generation": 5, + "zones": [ { - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629", + "id": "0d459323-e414-4f32-9944-76c7331da622", "underlay_address": "fd00:1122:3344:101::5", "zone_type": { "type": "nexus", @@ -10756,732 +7757,842 @@ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.2", - "external_tls": true, + "external_ip": "198.51.100.24", + "external_tls": false, "internal_address": "[fd00:1122:3344:101::5]:12221", "nic": { - "id": "81a0385e-86b9-4109-b63d-61c1407c50d1", - "ip": "172.30.2.5", + "id": "514902b8-7a1a-42a3-95a6-d00861833b5c", "kind": { "type": "service", - "id": "59c3ed4f-3670-44b1-9ea0-9a6162a08629" + "id": "0d459323-e414-4f32-9944-76c7331da622" }, - "mac": "A8:40:25:FF:E1:17", - "name": "nexus-59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "primary": true, - "slot": 0, + "name": "nexus-0d459323-e414-4f32-9944-76c7331da622", + "ip": "172.30.2.7", + "mac": "A8:40:25:FF:DE:AC", "subnet": "172.30.2.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "underlay_address": "fd00:1122:3344:101::10", + "id": "2902972b-3ae4-489d-b937-6480352e214a", + "underlay_address": "fd00:1122:3344:101::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::10]:32345", + "address": "[fd00:1122:3344:101::8]:32345", "dataset": { - "pool_name": "oxp_eae1515c-cd4a-4d7b-9a99-dbc24cf2e337" + "pool_name": "oxp_24b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "underlay_address": "fd00:1122:3344:101::f", + "id": "2ee832de-af75-47ac-abac-f91304857ca4", + "underlay_address": "fd00:1122:3344:101::4", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::f]:32345", + "type": "external_dns", "dataset": { - "pool_name": "oxp_466351db-2ced-45fa-9431-22de1c4bd480" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "198.51.100.20:53", + "http_address": "[fd00:1122:3344:101::4]:5353", + "nic": { + "id": "fadff4ab-62d7-466a-9203-04080e4078ed", + "kind": { + "type": "service", + "id": "2ee832de-af75-47ac-abac-f91304857ca4" + }, + "name": "external-dns-2ee832de-af75-47ac-abac-f91304857ca4", + "ip": "172.30.1.5", + "mac": "A8:40:25:FF:B4:93", + "subnet": "172.30.1.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "underlay_address": "fd00:1122:3344:101::9", + "id": "30050a7e-7fc3-4965-b07b-1635212393eb", + "underlay_address": "fd00:1122:3344:101::6", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:101::9]:32345", - "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "type": "crucible_pantry", + "address": "[fd00:1122:3344:101::6]:17000" + } + }, + { + "id": "8494befe-6df6-42d1-9baa-599ba4228430", + "underlay_address": "fd00:1122:3344:101::c", + "zone_type": { + "type": "boundary_ntp", + "address": "[fd00:1122:3344:101::c]:123", + "dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "nic": { + "id": "23041748-e3a6-4846-930d-5a348c316e91", + "kind": { + "type": "service", + "id": "8494befe-6df6-42d1-9baa-599ba4228430" + }, + "name": "ntp-8494befe-6df6-42d1-9baa-599ba4228430", + "ip": "172.30.3.5", + "mac": "A8:40:25:FF:D1:C4", + "subnet": "172.30.3.0/24", + "vni": 100, + "primary": true, + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.25", + "first_port": 0, + "last_port": 16383 } } }, { - "id": "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "underlay_address": "fd00:1122:3344:101::8", + "id": "92cba955-3a5a-4d82-b0f2-30e89d4556d1", + "underlay_address": "fd00:1122:3344:101::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::8]:32345", + "address": "[fd00:1122:3344:101::7]:32345", "dataset": { - "pool_name": "oxp_88d39560-b091-4fad-bad0-b0b1c514033b" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "86ee7359-aa35-41d9-8a76-54961bc516a1", - "underlay_address": "fd00:1122:3344:101::4", + "id": "9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b", + "underlay_address": "fd00:1122:3344:101::3", "zone_type": { "type": "cockroach_db", - "address": "[fd00:1122:3344:101::4]:32221", + "address": "[fd00:1122:3344:101::3]:32221", "dataset": { - "pool_name": "oxp_e8d6b9a2-bad4-43f0-b5c0-0618555a7f8c" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "underlay_address": "fd00:1122:3344:101::d", + "id": "e668e3f5-5457-4689-97da-b2af537787ac", + "underlay_address": "fd00:1122:3344:101::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::d]:32345", + "address": "[fd00:1122:3344:101::b]:32345", "dataset": { - "pool_name": "oxp_88ddd98f-3181-4797-864a-7e8d5b028657" + "pool_name": "oxp_f4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "underlay_address": "fd00:1122:3344:101::a", + "id": "f32fd972-7f40-4c58-9e00-7fc5c44273f4", + "underlay_address": "fd00:1122:3344:101::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::a]:32345", + "address": "[fd00:1122:3344:101::9]:32345", "dataset": { - "pool_name": "oxp_9041d780-b5ee-4159-a1db-8c4075e2176d" + "pool_name": "oxp_d462a4f4-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "underlay_address": "fd00:1122:3344:101::6", + "id": "f8c79ba4-194a-4cfe-8090-5315e297b780", + "underlay_address": "fd00:1122:3344:1::1", "zone_type": { - "type": "oximeter", - "address": "[fd00:1122:3344:101::6]:12223" + "type": "internal_dns", + "dataset": { + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:1::1]:53", + "gz_address": "fd00:1122:3344:1::2", + "gz_address_index": 0, + "http_address": "[fd00:1122:3344:1::1]:5353" } }, { - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "underlay_address": "fd00:1122:3344:101::11", + "id": "fa5e0176-b4a8-4598-aa31-40fd562d246c", + "underlay_address": "fd00:1122:3344:101::a", "zone_type": { - "type": "boundary_ntp", - "address": "[fd00:1122:3344:101::11]:123", - "dns_servers": [ + "type": "crucible", + "address": "[fd00:1122:3344:101::a]:32345", + "dataset": { + "pool_name": "oxp_e4b4dc84-ab46-49fb-a4b4-d361ae214c03" + } + } + } + ] + } + }, + "zones_in_service": [ + "084cac6e-44b5-4333-a2ff-b0993b534898", + "0d459323-e414-4f32-9944-76c7331da622", + "0db88baf-911d-47bb-af71-3aebd7c96934", + "11c527c5-0598-428e-9270-be5b74d3461b", + "1ebea0c3-1bfd-472c-9f84-ac9e23b32707", + "20be9299-495d-428d-b315-694c2c4b64af", + "213d7dd3-95a4-45a7-99ca-e4899991dab4", + "218f36a5-9e51-4b88-ad1a-da4d85c246c4", + "2902972b-3ae4-489d-b937-6480352e214a", + "2b29cb95-f8c6-4aff-acc0-1c0a627be392", + "2e9dfa8f-5371-48e5-b7f7-62a6af8283c1", + "2ee832de-af75-47ac-abac-f91304857ca4", + "30050a7e-7fc3-4965-b07b-1635212393eb", + "40c47ead-3be8-4724-a8ef-b66233fc5c65", + "425d9d2f-72ea-4f53-80b6-04e002771cdb", + "46a050b6-37b8-47b9-b4ae-ccb736ecd6d5", + "4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd", + "57c712a6-6429-44b7-a9b2-9957cb9054d4", + "59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9", + "73916098-788f-48d8-b745-e13fdcfb771b", + "7611a549-effc-41b6-b6cb-c03e0c70a31f", + "8494befe-6df6-42d1-9baa-599ba4228430", + "8d452bdd-e8b8-4108-a690-46fc59197db0", + "92cba955-3a5a-4d82-b0f2-30e89d4556d1", + "953019c0-8e85-4417-b231-d42820470125", + "99c635b9-8e97-414a-8316-8261d2d767d0", + "9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b", + "9bb513e3-7505-416c-aa70-b26f1152bbdc", + "9c14c879-137b-4f5b-8068-1292bffc83ed", + "9cf90589-5da1-4b42-b09b-d784e4134637", + "af7ccead-2bd8-4a8a-9fbf-3b788d180139", + "cbe1abfa-0063-44b2-9ce7-7ad76b403a94", + "d4428e41-ad7b-41f0-bde6-7c7c955f20c1", + "d48b2dfa-c749-47dd-98b6-3f478cd63934", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "dc7f703a-27d1-4802-b85d-5629ddb2d67c", + "e668e3f5-5457-4689-97da-b2af537787ac", + "f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "f32fd972-7f40-4c58-9e00-7fc5c44273f4", + "f8c79ba4-194a-4cfe-8090-5315e297b780", + "fa5e0176-b4a8-4598-aa31-40fd562d246c", + "fd003bee-818a-4c95-aae5-e378ac601522" + ], + "parent_blueprint_id": null, + "internal_dns_version": 1, + "time_created": "2024-03-12T19:09:41.953854Z", + "creator": "0d459323-e414-4f32-9944-76c7331da622", + "comment": "from collection 3f61b723-cfe7-40ec-b22c-e3e1f35325f9" + }, + { + "id": "cd34e87b-d821-4768-b32f-f41c28db835e", + "omicron_zones": { + "1f34b5cc-6dac-40cc-9ea1-95f32c33e59b": { + "generation": 5, + "zones": [ + { + "id": "0db88baf-911d-47bb-af71-3aebd7c96934", + "underlay_address": "fd00:1122:3344:103::4", + "zone_type": { + "type": "nexus", + "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], + "external_ip": "198.51.100.22", + "external_tls": false, + "internal_address": "[fd00:1122:3344:103::4]:12221", "nic": { - "id": "9741f03f-f150-4229-9f8d-e29a69c87883", - "ip": "172.30.3.5", + "id": "8847a09c-cabc-429b-bf46-66d5e2e1140c", "kind": { "type": "service", - "id": "d630cca7-e3f7-47a8-aee8-ad0790895abc" + "id": "0db88baf-911d-47bb-af71-3aebd7c96934" }, - "mac": "A8:40:25:FF:E7:A8", - "name": "ntp-d630cca7-e3f7-47a8-aee8-ad0790895abc", + "name": "nexus-0db88baf-911d-47bb-af71-3aebd7c96934", + "ip": "172.30.2.5", + "mac": "A8:40:25:FF:CC:DA", + "subnet": "172.30.2.0/24", + "vni": 100, "primary": true, - "slot": 0, - "subnet": "172.30.3.0/24", - "vni": 100 - }, - "ntp_servers": [ - "ntp.eng.oxide.computer" - ], - "snat_cfg": { - "ip": "172.20.28.5", - "first_port": 0, - "last_port": 16383 + "slot": 0 } } }, { - "id": "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "underlay_address": "fd00:1122:3344:101::e", + "id": "213d7dd3-95a4-45a7-99ca-e4899991dab4", + "underlay_address": "fd00:1122:3344:103::6", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::e]:32345", + "address": "[fd00:1122:3344:103::6]:32345", "dataset": { - "pool_name": "oxp_3f95c036-d5d8-4d08-8c78-c0635ca34698" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "underlay_address": "fd00:1122:3344:101::b", + "id": "218f36a5-9e51-4b88-ad1a-da4d85c246c4", + "underlay_address": "fd00:1122:3344:3::1", + "zone_type": { + "type": "internal_dns", + "dataset": { + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" + }, + "dns_address": "[fd00:1122:3344:3::1]:53", + "gz_address": "fd00:1122:3344:3::2", + "gz_address_index": 2, + "http_address": "[fd00:1122:3344:3::1]:5353" + } + }, + { + "id": "40c47ead-3be8-4724-a8ef-b66233fc5c65", + "underlay_address": "fd00:1122:3344:103::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:101::b]:32345", + "address": "[fd00:1122:3344:103::7]:32345", "dataset": { - "pool_name": "oxp_1a4447be-5c84-4dad-b22c-d35e5e1911b0" + "pool_name": "oxp_24b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "underlay_address": "fd00:1122:3344:101::7", + "id": "425d9d2f-72ea-4f53-80b6-04e002771cdb", + "underlay_address": "fd00:1122:3344:103::9", "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:101::7]:17000" + "type": "crucible", + "address": "[fd00:1122:3344:103::9]:32345", + "dataset": { + "pool_name": "oxp_e4b4dc85-ab45-49fb-a4b4-d351ae214c03" + } } - } - ] - }, - "a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f": { - "generation": 3, - "zones": [ + }, { - "id": "0eca39c6-62e2-4a1f-8ea2-e9332a774a26", - "underlay_address": "fd00:1122:3344:121::28", + "id": "46a050b6-37b8-47b9-b4ae-ccb736ecd6d5", + "underlay_address": "fd00:1122:3344:103::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::28]:32345", + "address": "[fd00:1122:3344:103::8]:32345", "dataset": { - "pool_name": "oxp_cc36b0cc-818a-4c7f-b50d-057ff7e7e8e3" + "pool_name": "oxp_d452a7f5-b528-40fe-80ff-4e4189e2d52b" } } }, { - "id": "12431d3e-1516-4822-98b3-3711ff912e69", - "underlay_address": "fd00:1122:3344:121::22", + "id": "4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd", + "underlay_address": "fd00:1122:3344:103::5", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::22]:32345", + "type": "clickhouse", + "address": "[fd00:1122:3344:103::5]:8123", "dataset": { - "pool_name": "oxp_0622b2cf-297e-4356-b94c-d74309f443ba" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "2d5c29f7-4915-4876-82f8-e388b15c5067", - "underlay_address": "fd00:1122:3344:121::21", + "id": "7611a549-effc-41b6-b6cb-c03e0c70a31f", + "underlay_address": "fd00:1122:3344:103::b", "zone_type": { "type": "internal_ntp", - "address": "[fd00:1122:3344:121::21]:123", + "address": "[fd00:1122:3344:103::b]:123", "dns_servers": [ "fd00:1122:3344:1::1", "fd00:1122:3344:2::1", "fd00:1122:3344:3::1" ], "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] - } - }, - { - "id": "56414d76-9b8c-4e15-acf1-cd269c2d8638", - "underlay_address": "fd00:1122:3344:121::25", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::25]:32345", - "dataset": { - "pool_name": "oxp_574728ca-1559-48f3-a46c-1e608966e6a0" - } + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" + ] } }, { - "id": "891cb9da-301d-40cc-b93d-5fcb350fa968", - "underlay_address": "fd00:1122:3344:121::29", + "id": "af7ccead-2bd8-4a8a-9fbf-3b788d180139", + "underlay_address": "fd00:1122:3344:103::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::29]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:103::3]:32221", "dataset": { - "pool_name": "oxp_e4a4a09a-43b8-460c-bc43-1f935600b681" + "pool_name": "oxp_14b4dc85-ab45-49fb-a4b4-d351ae214c03" } } }, { - "id": "d9014907-24c0-4c33-a475-db15942f4f8f", - "underlay_address": "fd00:1122:3344:121::23", + "id": "d4428e41-ad7b-41f0-bde6-7c7c955f20c1", + "underlay_address": "fd00:1122:3344:103::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::23]:32345", + "address": "[fd00:1122:3344:103::a]:32345", "dataset": { - "pool_name": "oxp_276822e2-d7ce-4eae-b5a4-38d2e8586a37" + "pool_name": "oxp_f4b4dc85-ab45-49fb-a4b4-d351ae214c03" } } - }, + } + ] + }, + "67a1268b-52d3-4159-b3ed-7a0777f1f340": { + "generation": 5, + "zones": [ { - "id": "e950de25-7306-4cf7-a6f4-6db11adaa310", - "underlay_address": "fd00:1122:3344:121::27", + "id": "1ebea0c3-1bfd-472c-9f84-ac9e23b32707", + "underlay_address": "fd00:1122:3344:104::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::27]:32345", + "address": "[fd00:1122:3344:104::b]:32345", "dataset": { - "pool_name": "oxp_8c7a7d84-c269-4178-9dbb-37f363e7958c" + "pool_name": "oxp_f4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "fe3dc092-ea23-42d7-9f1d-36eed72b539c", - "underlay_address": "fd00:1122:3344:121::26", + "id": "2e9dfa8f-5371-48e5-b7f7-62a6af8283c1", + "underlay_address": "fd00:1122:3344:104::4", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:121::26]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::4]:32221", "dataset": { - "pool_name": "oxp_6d2b29c5-aa58-40b7-b630-88301f08e945" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "ff8cce49-a721-4ad1-b09e-2bd6e4e42d00", - "underlay_address": "fd00:1122:3344:121::24", + "id": "57c712a6-6429-44b7-a9b2-9957cb9054d4", + "underlay_address": "fd00:1122:3344:104::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:121::24]:32345", + "address": "[fd00:1122:3344:104::a]:32345", "dataset": { - "pool_name": "oxp_2b0da7bc-2afc-4a16-95e1-5126bcb9b6b1" + "pool_name": "oxp_e4b4dc87-ab46-49fb-a4b4-d361ae214c03" } } - } - ] - }, - "a6634f64-f6fb-426c-b00b-9b30aed9f53a": { - "generation": 5, - "zones": [ + }, { - "id": "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "underlay_address": "fd00:1122:3344:102::11", + "id": "59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9", + "underlay_address": "fd00:1122:3344:104::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::11]:32345", + "address": "[fd00:1122:3344:104::7]:32345", "dataset": { - "pool_name": "oxp_0c07bcc1-7666-4754-881d-4135992ff561" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "18b99404-d8b2-4463-bc99-638d9b678ab3", - "underlay_address": "fd00:1122:3344:102::e", + "id": "73916098-788f-48d8-b745-e13fdcfb771b", + "underlay_address": "fd00:1122:3344:104::c", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::e]:32345", - "dataset": { - "pool_name": "oxp_f9a037da-7d15-40d9-957d-7e42aadb333c" - } + "type": "internal_ntp", + "address": "[fd00:1122:3344:104::c]:123", + "dns_servers": [ + "fd00:1122:3344:1::1", + "fd00:1122:3344:2::1", + "fd00:1122:3344:3::1" + ], + "ntp_servers": [ + "8494befe-6df6-42d1-9baa-599ba4228430.host.control-plane.oxide.internal", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded.host.control-plane.oxide.internal" + ] } }, { - "id": "479811e7-6409-45d4-b294-5333534e47ed", - "underlay_address": "fd00:1122:3344:102::9", + "id": "9bb513e3-7505-416c-aa70-b26f1152bbdc", + "underlay_address": "fd00:1122:3344:104::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::9]:32345", + "address": "[fd00:1122:3344:104::9]:32345", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_d462a7f7-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "54d1b693-bc4d-4c47-9009-c6f624073801", - "underlay_address": "fd00:1122:3344:102::a", + "id": "9c14c879-137b-4f5b-8068-1292bffc83ed", + "underlay_address": "fd00:1122:3344:104::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::a]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:104::3]:32221", "dataset": { - "pool_name": "oxp_02cc2369-9924-41c7-aa74-79d6d548f2dd" + "pool_name": "oxp_14b4dc87-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "5b743072-9369-45d7-b7c9-dbdf736301f8", - "underlay_address": "fd00:1122:3344:2::1", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637", + "underlay_address": "fd00:1122:3344:104::5", "zone_type": { - "type": "internal_dns", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - }, - "dns_address": "[fd00:1122:3344:2::1]:53", - "gz_address": "fd00:1122:3344:2::2", - "gz_address_index": 1, - "http_address": "[fd00:1122:3344:2::1]:5353" + "type": "nexus", + "external_dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "external_ip": "198.51.100.23", + "external_tls": false, + "internal_address": "[fd00:1122:3344:104::5]:12221", + "nic": { + "id": "fa76e7e1-dee6-4574-b71f-e07ea1cffd08", + "kind": { + "type": "service", + "id": "9cf90589-5da1-4b42-b09b-d784e4134637" + }, + "name": "nexus-9cf90589-5da1-4b42-b09b-d784e4134637", + "ip": "172.30.2.6", + "mac": "A8:40:25:FF:C4:6F", + "subnet": "172.30.2.0/24", + "vni": 100, + "primary": true, + "slot": 0 + } } }, { - "id": "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", - "underlay_address": "fd00:1122:3344:102::7", + "id": "d48b2dfa-c749-47dd-98b6-3f478cd63934", + "underlay_address": "fd00:1122:3344:104::6", "zone_type": { "type": "crucible_pantry", - "address": "[fd00:1122:3344:102::7]:17000" + "address": "[fd00:1122:3344:104::6]:17000" } }, { - "id": "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "underlay_address": "fd00:1122:3344:102::8", + "id": "fd003bee-818a-4c95-aae5-e378ac601522", + "underlay_address": "fd00:1122:3344:104::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::8]:32345", + "address": "[fd00:1122:3344:104::8]:32345", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" + "pool_name": "oxp_24b4dc87-ab46-49fb-a4b4-d361ae214c03" } } - }, + } + ] + }, + "77851655-10a5-4e80-88b0-a001473cab7e": { + "generation": 5, + "zones": [ { - "id": "658076ed-fb43-49e7-a813-df3d23497848", - "underlay_address": "fd00:1122:3344:102::10", + "id": "084cac6e-44b5-4333-a2ff-b0993b534898", + "underlay_address": "fd00:1122:3344:102::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::10]:32345", + "address": "[fd00:1122:3344:102::8]:32345", "dataset": { - "pool_name": "oxp_7929b5fb-4ef2-4791-92e6-1a46c7f608b9" + "pool_name": "oxp_24b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "6edb836e-b100-4080-bb03-738d6441d571", - "underlay_address": "fd00:1122:3344:102::c", + "id": "11c527c5-0598-428e-9270-be5b74d3461b", + "underlay_address": "fd00:1122:3344:102::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::c]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:102::3]:32221", "dataset": { - "pool_name": "oxp_fe74ae4d-d7bc-4293-9ec9-69132aca4aba" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "underlay_address": "fd00:1122:3344:102::5", + "id": "20be9299-495d-428d-b315-694c2c4b64af", + "underlay_address": "fd00:1122:3344:102::6", "zone_type": { - "type": "nexus", - "external_dns_servers": [ - "1.1.1.1", - "9.9.9.9" - ], - "external_ip": "172.20.28.3", - "external_tls": true, - "internal_address": "[fd00:1122:3344:102::5]:12221", - "nic": { - "id": "3771a19c-cc40-4fd5-b99d-ed10071018a7", - "ip": "172.30.2.6", - "kind": { - "type": "service", - "id": "7f83d784-9c5c-498f-b559-4176bbafbc4b" - }, - "mac": "A8:40:25:FF:B2:AF", - "name": "nexus-7f83d784-9c5c-498f-b559-4176bbafbc4b", - "primary": true, - "slot": 0, - "subnet": "172.30.2.0/24", - "vni": 100 - } + "type": "crucible_pantry", + "address": "[fd00:1122:3344:102::6]:17000" } }, { - "id": "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "underlay_address": "fd00:1122:3344:102::d", + "id": "2b29cb95-f8c6-4aff-acc0-1c0a627be392", + "underlay_address": "fd00:1122:3344:102::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::d]:32345", + "address": "[fd00:1122:3344:102::b]:32345", "dataset": { - "pool_name": "oxp_93e4e338-0ad1-4ae1-a120-2cfb59b4df42" + "pool_name": "oxp_f4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "86bc0a2a-e24a-4bc1-8222-89207a0937f9", - "underlay_address": "fd00:1122:3344:102::4", + "id": "8d452bdd-e8b8-4108-a690-46fc59197db0", + "underlay_address": "fd00:1122:3344:102::a", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::4]:32221", + "type": "crucible", + "address": "[fd00:1122:3344:102::a]:32345", "dataset": { - "pool_name": "oxp_1fb80902-d979-461d-9c6b-a6541a5359c9" + "pool_name": "oxp_e4b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "9241b9da-8188-4aae-a9dc-62acb453618f", - "underlay_address": "fd00:1122:3344:102::6", + "id": "953019c0-8e85-4417-b231-d42820470125", + "underlay_address": "fd00:1122:3344:102::5", "zone_type": { - "type": "clickhouse", - "address": "[fd00:1122:3344:102::6]:8123", - "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } + "type": "oximeter", + "address": "[fd00:1122:3344:102::5]:12223" } }, { - "id": "a781a349-62b2-41f0-9dd7-c64d290aef82", - "underlay_address": "fd00:1122:3344:102::f", + "id": "99c635b9-8e97-414a-8316-8261d2d767d0", + "underlay_address": "fd00:1122:3344:102::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:102::f]:32345", + "address": "[fd00:1122:3344:102::7]:32345", "dataset": { - "pool_name": "oxp_4e92cbcf-f194-4ffc-97e3-fdf3df7cc9ae" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "c67814bf-9972-4bb0-a666-24778ca70a16", - "underlay_address": "fd00:1122:3344:102::3", + "id": "cbe1abfa-0063-44b2-9ce7-7ad76b403a94", + "underlay_address": "fd00:1122:3344:2::1", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:102::3]:32221", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_6a275151-d85f-488b-81a6-e558fdede658" - } + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:2::1]:53", + "gz_address": "fd00:1122:3344:2::2", + "gz_address_index": 1, + "http_address": "[fd00:1122:3344:2::1]:5353" } }, { - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "underlay_address": "fd00:1122:3344:102::12", + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "underlay_address": "fd00:1122:3344:102::c", "zone_type": { "type": "boundary_ntp", - "address": "[fd00:1122:3344:102::12]:123", + "address": "[fd00:1122:3344:102::c]:123", "dns_servers": [ "1.1.1.1", "9.9.9.9" ], "nic": { - "id": "9f03c82c-3192-498d-978d-a175049ac389", - "ip": "172.30.3.6", + "id": "659f33f7-e7bd-4875-9140-bf8a8b2d964a", "kind": { "type": "service", - "id": "c74ba7d7-3d5f-4a29-aadc-effe33a90909" + "id": "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded" }, - "mac": "A8:40:25:FF:E4:11", - "name": "ntp-c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "primary": true, - "slot": 0, + "name": "ntp-d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "ip": "172.30.3.6", + "mac": "A8:40:25:FF:B1:99", "subnet": "172.30.3.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 }, "ntp_servers": [ - "ntp.eng.oxide.computer" + "time.cloudflare.com" ], "snat_cfg": { - "ip": "172.20.28.6", + "ip": "198.51.100.26", "first_port": 16384, "last_port": 32767 } } }, { - "id": "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "underlay_address": "fd00:1122:3344:102::b", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:102::b]:32345", - "dataset": { - "pool_name": "oxp_742699b5-4ded-406d-9a08-24648d3b2efb" - } - } - } - ] - }, - "fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89": { - "generation": 5, - "zones": [ - { - "id": "185e6b00-7e18-456c-9dfc-edd0194ac207", - "underlay_address": "fd00:1122:3344:103::a", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::a]:32345", - "dataset": { - "pool_name": "oxp_6aa59516-2018-4494-af6b-46704b20f6dc" - } - } - }, - { - "id": "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "underlay_address": "fd00:1122:3344:103::10", + "id": "dc7f703a-27d1-4802-b85d-5629ddb2d67c", + "underlay_address": "fd00:1122:3344:102::9", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::10]:32345", + "address": "[fd00:1122:3344:102::9]:32345", "dataset": { - "pool_name": "oxp_07d66b6b-8059-4d07-a0b3-8ce41e2a8c98" + "pool_name": "oxp_d462a7f6-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "underlay_address": "fd00:1122:3344:3::1", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "underlay_address": "fd00:1122:3344:102::4", "zone_type": { - "type": "internal_dns", + "type": "external_dns", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_14b4dc86-ab46-49fb-a4b4-d361ae214c03" }, - "dns_address": "[fd00:1122:3344:3::1]:53", - "gz_address": "fd00:1122:3344:3::2", - "gz_address_index": 2, - "http_address": "[fd00:1122:3344:3::1]:5353" - } - }, - { - "id": "4b74c418-0a08-4489-b652-e97267c1c220", - "underlay_address": "fd00:1122:3344:103::7", - "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::7]:32345", - "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "dns_address": "198.51.100.21:53", + "http_address": "[fd00:1122:3344:102::4]:5353", + "nic": { + "id": "d4dd2f7a-8a3b-405e-8444-62f99a754a8a", + "kind": { + "type": "service", + "id": "f0ed9838-6f1b-4646-a478-9f74f2e6e802" + }, + "name": "external-dns-f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "ip": "172.30.1.6", + "mac": "A8:40:25:FF:F4:5C", + "subnet": "172.30.1.0/24", + "vni": 100, + "primary": true, + "slot": 0 } } - }, + } + ] + }, + "f122b3a2-e383-4e42-b2a5-74a69a9d110a": { + "generation": 5, + "zones": [ { - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "underlay_address": "fd00:1122:3344:103::5", + "id": "0d459323-e414-4f32-9944-76c7331da622", + "underlay_address": "fd00:1122:3344:101::5", "zone_type": { "type": "nexus", "external_dns_servers": [ "1.1.1.1", "9.9.9.9" ], - "external_ip": "172.20.28.4", - "external_tls": true, - "internal_address": "[fd00:1122:3344:103::5]:12221", + "external_ip": "198.51.100.24", + "external_tls": false, + "internal_address": "[fd00:1122:3344:101::5]:12221", "nic": { - "id": "1f55dc2b-18ee-485c-8831-b603a8df78e6", - "ip": "172.30.2.7", + "id": "514902b8-7a1a-42a3-95a6-d00861833b5c", "kind": { "type": "service", - "id": "54c947d2-6355-453c-80fc-8f49cc2129ee" + "id": "0d459323-e414-4f32-9944-76c7331da622" }, - "mac": "A8:40:25:FF:96:05", - "name": "nexus-54c947d2-6355-453c-80fc-8f49cc2129ee", - "primary": true, - "slot": 0, + "name": "nexus-0d459323-e414-4f32-9944-76c7331da622", + "ip": "172.30.2.7", + "mac": "A8:40:25:FF:DE:AC", "subnet": "172.30.2.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "60d64b70-89f5-4774-9e41-2c79c4173911", - "underlay_address": "fd00:1122:3344:103::6", - "zone_type": { - "type": "crucible_pantry", - "address": "[fd00:1122:3344:103::6]:17000" - } - }, - { - "id": "921958c0-7761-4294-945d-2a078327bf2c", - "underlay_address": "fd00:1122:3344:103::8", + "id": "2902972b-3ae4-489d-b937-6480352e214a", + "underlay_address": "fd00:1122:3344:101::8", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::8]:32345", + "address": "[fd00:1122:3344:101::8]:32345", "dataset": { - "pool_name": "oxp_7eabbdcc-28a3-4af9-bc4a-8d9b745d4df3" + "pool_name": "oxp_24b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "9df22034-59f6-431f-82e7-258fe983879b", - "underlay_address": "fd00:1122:3344:103::4", + "id": "2ee832de-af75-47ac-abac-f91304857ca4", + "underlay_address": "fd00:1122:3344:101::4", "zone_type": { "type": "external_dns", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" }, - "dns_address": "172.20.28.1:53", - "http_address": "[fd00:1122:3344:103::4]:5353", + "dns_address": "198.51.100.20:53", + "http_address": "[fd00:1122:3344:101::4]:5353", "nic": { - "id": "0376a963-e3c1-44bc-9cbf-9e8cca58410b", - "ip": "172.30.1.5", + "id": "fadff4ab-62d7-466a-9203-04080e4078ed", "kind": { "type": "service", - "id": "9df22034-59f6-431f-82e7-258fe983879b" + "id": "2ee832de-af75-47ac-abac-f91304857ca4" }, - "mac": "A8:40:25:FF:90:12", - "name": "external-dns-9df22034-59f6-431f-82e7-258fe983879b", - "primary": true, - "slot": 0, + "name": "external-dns-2ee832de-af75-47ac-abac-f91304857ca4", + "ip": "172.30.1.5", + "mac": "A8:40:25:FF:B4:93", "subnet": "172.30.1.0/24", - "vni": 100 + "vni": 100, + "primary": true, + "slot": 0 } } }, { - "id": "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "underlay_address": "fd00:1122:3344:103::11", + "id": "30050a7e-7fc3-4965-b07b-1635212393eb", + "underlay_address": "fd00:1122:3344:101::6", "zone_type": { - "type": "internal_ntp", - "address": "[fd00:1122:3344:103::11]:123", - "dns_servers": [ - "fd00:1122:3344:1::1", - "fd00:1122:3344:2::1", - "fd00:1122:3344:3::1" - ], - "ntp_servers": [ - "d630cca7-e3f7-47a8-aee8-ad0790895abc.host.control-plane.oxide.internal", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909.host.control-plane.oxide.internal" - ] + "type": "crucible_pantry", + "address": "[fd00:1122:3344:101::6]:17000" } }, { - "id": "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "underlay_address": "fd00:1122:3344:103::9", + "id": "8494befe-6df6-42d1-9baa-599ba4228430", + "underlay_address": "fd00:1122:3344:101::c", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::9]:32345", - "dataset": { - "pool_name": "oxp_c8feed09-6556-4409-af8e-563c97d556eb" + "type": "boundary_ntp", + "address": "[fd00:1122:3344:101::c]:123", + "dns_servers": [ + "1.1.1.1", + "9.9.9.9" + ], + "nic": { + "id": "23041748-e3a6-4846-930d-5a348c316e91", + "kind": { + "type": "service", + "id": "8494befe-6df6-42d1-9baa-599ba4228430" + }, + "name": "ntp-8494befe-6df6-42d1-9baa-599ba4228430", + "ip": "172.30.3.5", + "mac": "A8:40:25:FF:D1:C4", + "subnet": "172.30.3.0/24", + "vni": 100, + "primary": true, + "slot": 0 + }, + "ntp_servers": [ + "time.cloudflare.com" + ], + "snat_cfg": { + "ip": "198.51.100.25", + "first_port": 0, + "last_port": 16383 } } }, { - "id": "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "underlay_address": "fd00:1122:3344:103::d", + "id": "92cba955-3a5a-4d82-b0f2-30e89d4556d1", + "underlay_address": "fd00:1122:3344:101::7", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::d]:32345", + "address": "[fd00:1122:3344:101::7]:32345", "dataset": { - "pool_name": "oxp_5b8b10a4-d527-4176-a049-1e9c2a10edea" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "underlay_address": "fd00:1122:3344:103::b", + "id": "9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b", + "underlay_address": "fd00:1122:3344:101::3", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::b]:32345", + "type": "cockroach_db", + "address": "[fd00:1122:3344:101::3]:32221", "dataset": { - "pool_name": "oxp_83a60822-1299-471c-bc79-3be0f87cf7c3" + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "underlay_address": "fd00:1122:3344:103::e", + "id": "e668e3f5-5457-4689-97da-b2af537787ac", + "underlay_address": "fd00:1122:3344:101::b", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::e]:32345", + "address": "[fd00:1122:3344:101::b]:32345", "dataset": { - "pool_name": "oxp_4ffc6336-04d1-4f21-9c27-a95aa640f960" + "pool_name": "oxp_f4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } }, { - "id": "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "underlay_address": "fd00:1122:3344:103::3", + "id": "f32fd972-7f40-4c58-9e00-7fc5c44273f4", + "underlay_address": "fd00:1122:3344:101::9", "zone_type": { - "type": "cockroach_db", - "address": "[fd00:1122:3344:103::3]:32221", + "type": "crucible", + "address": "[fd00:1122:3344:101::9]:32345", "dataset": { - "pool_name": "oxp_d4e08191-c3c4-43f7-9818-1cb1f1e1285a" + "pool_name": "oxp_d462a4f4-b628-40fe-80ff-4e4189e2d62b" } } }, { - "id": "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "underlay_address": "fd00:1122:3344:103::f", + "id": "f8c79ba4-194a-4cfe-8090-5315e297b780", + "underlay_address": "fd00:1122:3344:1::1", "zone_type": { - "type": "crucible", - "address": "[fd00:1122:3344:103::f]:32345", + "type": "internal_dns", "dataset": { - "pool_name": "oxp_e2244950-dda0-4dfa-8b63-5ffac16c5a62" - } + "pool_name": "oxp_14b4dc84-ab46-49fb-a4b4-d361ae214c03" + }, + "dns_address": "[fd00:1122:3344:1::1]:53", + "gz_address": "fd00:1122:3344:1::2", + "gz_address_index": 0, + "http_address": "[fd00:1122:3344:1::1]:5353" } }, { - "id": "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "underlay_address": "fd00:1122:3344:103::c", + "id": "fa5e0176-b4a8-4598-aa31-40fd562d246c", + "underlay_address": "fd00:1122:3344:101::a", "zone_type": { "type": "crucible", - "address": "[fd00:1122:3344:103::c]:32345", + "address": "[fd00:1122:3344:101::a]:32345", "dataset": { - "pool_name": "oxp_f6813b0c-ab5a-4fd0-8e24-95de9b65280d" + "pool_name": "oxp_e4b4dc84-ab46-49fb-a4b4-d361ae214c03" } } } @@ -11489,70 +8600,54 @@ } }, "zones_in_service": [ - "0706860a-3801-42a7-8000-fff741f7665b", - "0ebd2b5b-2dec-4d17-8e23-e468c04dacb6", - "0eca39c6-62e2-4a1f-8ea2-e9332a774a26", - "12431d3e-1516-4822-98b3-3711ff912e69", - "185e6b00-7e18-456c-9dfc-edd0194ac207", - "18b99404-d8b2-4463-bc99-638d9b678ab3", - "1fc78bc7-feca-4a10-9beb-58b53fda5210", - "2d5c29f7-4915-4876-82f8-e388b15c5067", - "34a279a2-a025-41ff-a392-1addac400f38", - "3d344935-6f48-405f-8794-2c6e8fa4b1c2", - "45dccfd6-4674-43c6-a0e7-4dde5f24d90d", - "479811e7-6409-45d4-b294-5333534e47ed", - "4b74c418-0a08-4489-b652-e97267c1c220", - "54c947d2-6355-453c-80fc-8f49cc2129ee", - "54d1b693-bc4d-4c47-9009-c6f624073801", - "56414d76-9b8c-4e15-acf1-cd269c2d8638", - "59c3ed4f-3670-44b1-9ea0-9a6162a08629", - "5b743072-9369-45d7-b7c9-dbdf736301f8", - "5c4163fa-d6a6-4a0c-9476-3dda135bc9a4", - "60d64b70-89f5-4774-9e41-2c79c4173911", - "61a39188-dd82-43f6-a87c-ebb4c2d54ac4", - "658076ed-fb43-49e7-a813-df3d23497848", - "67852e14-ce7f-4e50-a61d-4059d0c057b9", - "6ace1a69-d55a-45f0-a127-99c90f1b070c", - "6edb836e-b100-4080-bb03-738d6441d571", - "7f83d784-9c5c-498f-b559-4176bbafbc4b", - "8052938f-73bc-4c54-8ed0-c62f6d77b9fd", - "84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe", - "854c1544-d0ea-4d65-9cf4-776e91a4fcb5", - "86bc0a2a-e24a-4bc1-8222-89207a0937f9", - "86ee7359-aa35-41d9-8a76-54961bc516a1", - "891cb9da-301d-40cc-b93d-5fcb350fa968", - "921958c0-7761-4294-945d-2a078327bf2c", - "9241b9da-8188-4aae-a9dc-62acb453618f", - "925ea436-fad4-4fff-8ae0-24edd725a2b0", - "9df22034-59f6-431f-82e7-258fe983879b", - "a781a349-62b2-41f0-9dd7-c64d290aef82", - "bb21c0c4-c43f-4913-9bf9-707bd7f1769a", - "be272d1e-4d34-4478-94b4-a76f5fcbef36", - "bebd754d-d06c-45f4-99bf-e1aab6253ab8", - "c67814bf-9972-4bb0-a666-24778ca70a16", - "c74ba7d7-3d5f-4a29-aadc-effe33a90909", - "ccb0d612-9d7c-41ba-bd51-661c3c75ec91", - "ccef3e95-cae5-4072-9b7d-49e56fa9dff4", - "d42fc874-8416-4212-b5a0-febba4c6b0ac", - "d5ba7d45-26d7-45ca-8c0a-a560f243b5fa", - "d630cca7-e3f7-47a8-aee8-ad0790895abc", - "d8c51c79-46ff-44bd-80be-08d6283f4e21", - "d9014907-24c0-4c33-a475-db15942f4f8f", - "da27ee6a-9841-46aa-acda-7cce3e04cb60", - "dbbc0422-2b23-4d9e-b1db-8003cfc29ad0", - "dfc27183-ed85-44c3-ac3c-4427c4cb03e3", - "e09525cf-9c87-4d05-8860-1356dd0dee8a", - "e950de25-7306-4cf7-a6f4-6db11adaa310", - "f33a2375-212d-42e4-b539-6079aeb4e5b7", - "f7264a3e-e8e7-4476-8df3-76c9d00a383b", - "fe3dc092-ea23-42d7-9f1d-36eed72b539c", - "ff8cce49-a721-4ad1-b09e-2bd6e4e42d00" + "084cac6e-44b5-4333-a2ff-b0993b534898", + "0d459323-e414-4f32-9944-76c7331da622", + "0db88baf-911d-47bb-af71-3aebd7c96934", + "11c527c5-0598-428e-9270-be5b74d3461b", + "1ebea0c3-1bfd-472c-9f84-ac9e23b32707", + "20be9299-495d-428d-b315-694c2c4b64af", + "213d7dd3-95a4-45a7-99ca-e4899991dab4", + "218f36a5-9e51-4b88-ad1a-da4d85c246c4", + "2902972b-3ae4-489d-b937-6480352e214a", + "2b29cb95-f8c6-4aff-acc0-1c0a627be392", + "2e9dfa8f-5371-48e5-b7f7-62a6af8283c1", + "2ee832de-af75-47ac-abac-f91304857ca4", + "30050a7e-7fc3-4965-b07b-1635212393eb", + "40c47ead-3be8-4724-a8ef-b66233fc5c65", + "425d9d2f-72ea-4f53-80b6-04e002771cdb", + "46a050b6-37b8-47b9-b4ae-ccb736ecd6d5", + "4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd", + "57c712a6-6429-44b7-a9b2-9957cb9054d4", + "59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9", + "73916098-788f-48d8-b745-e13fdcfb771b", + "7611a549-effc-41b6-b6cb-c03e0c70a31f", + "8494befe-6df6-42d1-9baa-599ba4228430", + "8d452bdd-e8b8-4108-a690-46fc59197db0", + "92cba955-3a5a-4d82-b0f2-30e89d4556d1", + "953019c0-8e85-4417-b231-d42820470125", + "99c635b9-8e97-414a-8316-8261d2d767d0", + "9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b", + "9bb513e3-7505-416c-aa70-b26f1152bbdc", + "9c14c879-137b-4f5b-8068-1292bffc83ed", + "9cf90589-5da1-4b42-b09b-d784e4134637", + "af7ccead-2bd8-4a8a-9fbf-3b788d180139", + "cbe1abfa-0063-44b2-9ce7-7ad76b403a94", + "d4428e41-ad7b-41f0-bde6-7c7c955f20c1", + "d48b2dfa-c749-47dd-98b6-3f478cd63934", + "d52e797a-8fff-4e1e-a5ff-0ab8c8293ded", + "dc7f703a-27d1-4802-b85d-5629ddb2d67c", + "e668e3f5-5457-4689-97da-b2af537787ac", + "f0ed9838-6f1b-4646-a478-9f74f2e6e802", + "f32fd972-7f40-4c58-9e00-7fc5c44273f4", + "f8c79ba4-194a-4cfe-8090-5315e297b780", + "fa5e0176-b4a8-4598-aa31-40fd562d246c", + "fd003bee-818a-4c95-aae5-e378ac601522" ], - "parent_blueprint_id": "6c127695-ba15-408d-a992-325a1a888380", - "internal_dns_version": 2, - "time_created": "2024-03-01T19:08:52.730520Z", - "creator": "54c947d2-6355-453c-80fc-8f49cc2129ee", - "comment": "sled a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f: add zones" + "parent_blueprint_id": null, + "internal_dns_version": 1, + "time_created": "2024-03-12T19:11:49.876621Z", + "creator": "0d459323-e414-4f32-9944-76c7331da622", + "comment": "from collection 5e1d6ae0-c5b4-4884-ac41-680cd4f5762d" } ] } \ No newline at end of file diff --git a/dev-tools/reconfigurator-cli/tests/output/cmd-complex-stdout b/dev-tools/reconfigurator-cli/tests/output/cmd-complex-stdout index 0cc5fe01ba..0c8c164d6f 100644 --- a/dev-tools/reconfigurator-cli/tests/output/cmd-complex-stdout +++ b/dev-tools/reconfigurator-cli/tests/output/cmd-complex-stdout @@ -14,36 +14,32 @@ ID > > file-contents tests/input/complex.json -sled: 1762267a-a0cb-4c9a-88b4-8ce828cbc021 (subnet: fd00:1122:3344:101::/64, zpools: 9) -sled: a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f (subnet: fd00:1122:3344:121::/64, zpools: 8) -sled: a6634f64-f6fb-426c-b00b-9b30aed9f53a (subnet: fd00:1122:3344:102::/64, zpools: 10) -sled: fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89 (subnet: fd00:1122:3344:103::/64, zpools: 10) -collection: 83ed3949-d221-44f3-a901-02e9ff16d2a5 (errors: 8, completed at: 2024-03-01T19:17:10.594Z) -collection: 0a8dc8ff-9013-43aa-9f06-9540b24ea902 (errors: 8, completed at: 2024-03-01T19:17:11.153Z) -collection: cd3547d7-f172-47d2-9bbf-9730e88b0559 (errors: 8, completed at: 2024-03-01T19:18:07.486Z) -collection: 623f7e48-6c47-4e17-8aa3-cebe98ca4287 (errors: 8, completed at: 2024-03-01T19:18:12.110Z) -collection: 4e9fbfc2-eb1d-4d45-bdb9-64d965a490c5 (errors: 8, completed at: 2024-03-01T19:18:13.548Z) -blueprint: 486de160-c8f3-4600-acca-b0c78e33aca4 (created at: 2024-03-01 19:06:56.467313 UTC) -blueprint: 6c127695-ba15-408d-a992-325a1a888380 (created at: 2024-03-01 19:07:58.105708 UTC) -blueprint: cfa03594-f438-4736-a416-6307f7bf8f2e (created at: 2024-03-01 19:08:52.730520 UTC) +sled: 1f34b5cc-6dac-40cc-9ea1-95f32c33e59b (subnet: fd00:1122:3344:103::/64, zpools: 5) +sled: 67a1268b-52d3-4159-b3ed-7a0777f1f340 (subnet: fd00:1122:3344:104::/64, zpools: 5) +sled: 77851655-10a5-4e80-88b0-a001473cab7e (subnet: fd00:1122:3344:102::/64, zpools: 5) +sled: f122b3a2-e383-4e42-b2a5-74a69a9d110a (subnet: fd00:1122:3344:101::/64, zpools: 5) +collection: 3f61b723-cfe7-40ec-b22c-e3e1f35325f9 (errors: 0, completed at: 2024-03-12T18:59:34.397Z) +collection: 37c212f1-bfdd-4cfd-a17c-e65bd93bea5f (errors: 0, completed at: 2024-03-12T19:07:28.472Z) +collection: 3700dcd4-64bb-4997-bfdb-dcfc7cbbc998 (errors: 0, completed at: 2024-03-12T19:07:28.728Z) +collection: 5e1d6ae0-c5b4-4884-ac41-680cd4f5762d (errors: 0, completed at: 2024-03-12T19:09:37.116Z) +blueprint: 649e444d-d00f-4067-a915-12e15647bf37 (created at: 2024-03-12 19:09:41.953854 UTC) +blueprint: cd34e87b-d821-4768-b32f-f41c28db835e (created at: 2024-03-12 19:11:49.876621 UTC) > -> load tests/input/complex.json 83ed3949-d221-44f3-a901-02e9ff16d2a5 -using collection 83ed3949-d221-44f3-a901-02e9ff16d2a5 as source of sled inventory data -sled 1762267a-a0cb-4c9a-88b4-8ce828cbc021 loaded -sled a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f loaded -sled a6634f64-f6fb-426c-b00b-9b30aed9f53a loaded -sled fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89 loaded -collection 83ed3949-d221-44f3-a901-02e9ff16d2a5 loaded -collection 0a8dc8ff-9013-43aa-9f06-9540b24ea902 loaded -collection cd3547d7-f172-47d2-9bbf-9730e88b0559 loaded -collection 623f7e48-6c47-4e17-8aa3-cebe98ca4287 loaded -collection 4e9fbfc2-eb1d-4d45-bdb9-64d965a490c5 loaded -blueprint 486de160-c8f3-4600-acca-b0c78e33aca4 loaded -blueprint 6c127695-ba15-408d-a992-325a1a888380 loaded -blueprint cfa03594-f438-4736-a416-6307f7bf8f2e loaded +> load tests/input/complex.json 3f61b723-cfe7-40ec-b22c-e3e1f35325f9 +using collection 3f61b723-cfe7-40ec-b22c-e3e1f35325f9 as source of sled inventory data +sled 1f34b5cc-6dac-40cc-9ea1-95f32c33e59b loaded +sled 67a1268b-52d3-4159-b3ed-7a0777f1f340 loaded +sled 77851655-10a5-4e80-88b0-a001473cab7e loaded +sled f122b3a2-e383-4e42-b2a5-74a69a9d110a loaded +collection 3f61b723-cfe7-40ec-b22c-e3e1f35325f9 loaded +collection 37c212f1-bfdd-4cfd-a17c-e65bd93bea5f loaded +collection 3700dcd4-64bb-4997-bfdb-dcfc7cbbc998 loaded +collection 5e1d6ae0-c5b4-4884-ac41-680cd4f5762d loaded +blueprint 649e444d-d00f-4067-a915-12e15647bf37 loaded +blueprint cd34e87b-d821-4768-b32f-f41c28db835e loaded loaded data from "tests/input/complex.json" @@ -51,326 +47,258 @@ loaded data from "tests/input/complex.json" > sled-list ID NZPOOLS SUBNET -1762267a-a0cb-4c9a-88b4-8ce828cbc021 9 fd00:1122:3344:101::/64 -a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f 8 fd00:1122:3344:121::/64 -a6634f64-f6fb-426c-b00b-9b30aed9f53a 10 fd00:1122:3344:102::/64 -fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89 10 fd00:1122:3344:103::/64 +1f34b5cc-6dac-40cc-9ea1-95f32c33e59b 5 fd00:1122:3344:103::/64 +67a1268b-52d3-4159-b3ed-7a0777f1f340 5 fd00:1122:3344:104::/64 +77851655-10a5-4e80-88b0-a001473cab7e 5 fd00:1122:3344:102::/64 +f122b3a2-e383-4e42-b2a5-74a69a9d110a 5 fd00:1122:3344:101::/64 > > inventory-list ID NERRORS TIME_DONE -83ed3949-d221-44f3-a901-02e9ff16d2a5 8 2024-03-01T19:17:10.594Z -0a8dc8ff-9013-43aa-9f06-9540b24ea902 8 2024-03-01T19:17:11.153Z -cd3547d7-f172-47d2-9bbf-9730e88b0559 8 2024-03-01T19:18:07.486Z -623f7e48-6c47-4e17-8aa3-cebe98ca4287 8 2024-03-01T19:18:12.110Z -4e9fbfc2-eb1d-4d45-bdb9-64d965a490c5 8 2024-03-01T19:18:13.548Z +3f61b723-cfe7-40ec-b22c-e3e1f35325f9 0 2024-03-12T18:59:34.397Z +37c212f1-bfdd-4cfd-a17c-e65bd93bea5f 0 2024-03-12T19:07:28.472Z +3700dcd4-64bb-4997-bfdb-dcfc7cbbc998 0 2024-03-12T19:07:28.728Z +5e1d6ae0-c5b4-4884-ac41-680cd4f5762d 0 2024-03-12T19:09:37.116Z > > blueprint-list ID -486de160-c8f3-4600-acca-b0c78e33aca4 -6c127695-ba15-408d-a992-325a1a888380 -cfa03594-f438-4736-a416-6307f7bf8f2e +649e444d-d00f-4067-a915-12e15647bf37 +cd34e87b-d821-4768-b32f-f41c28db835e > -> blueprint-show cfa03594-f438-4736-a416-6307f7bf8f2e -blueprint cfa03594-f438-4736-a416-6307f7bf8f2e -parent: 6c127695-ba15-408d-a992-325a1a888380 -created by 54c947d2-6355-453c-80fc-8f49cc2129ee (likely a Nexus instance) -created at 2024-03-01T19:08:52.730Z -internal DNS version: 2 -comment: sled a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f: add zones +> blueprint-show cd34e87b-d821-4768-b32f-f41c28db835e +blueprint cd34e87b-d821-4768-b32f-f41c28db835e +parent: +created by 0d459323-e414-4f32-9944-76c7331da622 (likely a Nexus instance) +created at 2024-03-12T19:11:49.876Z +internal DNS version: 1 +comment: from collection 5e1d6ae0-c5b4-4884-ac41-680cd4f5762d zones: - sled 1762267a-a0cb-4c9a-88b4-8ce828cbc021: Omicron zones at generation 5 - 0706860a-3801-42a7-8000-fff741f7665b in service crucible - 34a279a2-a025-41ff-a392-1addac400f38 in service cockroach_db - 3d344935-6f48-405f-8794-2c6e8fa4b1c2 in service internal_dns - 59c3ed4f-3670-44b1-9ea0-9a6162a08629 in service nexus - 67852e14-ce7f-4e50-a61d-4059d0c057b9 in service crucible - 6ace1a69-d55a-45f0-a127-99c90f1b070c in service crucible - 84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe in service crucible - 854c1544-d0ea-4d65-9cf4-776e91a4fcb5 in service crucible - 86ee7359-aa35-41d9-8a76-54961bc516a1 in service cockroach_db - 925ea436-fad4-4fff-8ae0-24edd725a2b0 in service crucible - be272d1e-4d34-4478-94b4-a76f5fcbef36 in service crucible - bebd754d-d06c-45f4-99bf-e1aab6253ab8 in service oximeter - d630cca7-e3f7-47a8-aee8-ad0790895abc in service boundary_ntp - d8c51c79-46ff-44bd-80be-08d6283f4e21 in service crucible - dbbc0422-2b23-4d9e-b1db-8003cfc29ad0 in service crucible - f33a2375-212d-42e4-b539-6079aeb4e5b7 in service crucible_pantry - sled a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f: Omicron zones at generation 3 - 0eca39c6-62e2-4a1f-8ea2-e9332a774a26 in service crucible - 12431d3e-1516-4822-98b3-3711ff912e69 in service crucible - 2d5c29f7-4915-4876-82f8-e388b15c5067 in service internal_ntp - 56414d76-9b8c-4e15-acf1-cd269c2d8638 in service crucible - 891cb9da-301d-40cc-b93d-5fcb350fa968 in service crucible - d9014907-24c0-4c33-a475-db15942f4f8f in service crucible - e950de25-7306-4cf7-a6f4-6db11adaa310 in service crucible - fe3dc092-ea23-42d7-9f1d-36eed72b539c in service crucible - ff8cce49-a721-4ad1-b09e-2bd6e4e42d00 in service crucible - sled a6634f64-f6fb-426c-b00b-9b30aed9f53a: Omicron zones at generation 5 - 0ebd2b5b-2dec-4d17-8e23-e468c04dacb6 in service crucible - 18b99404-d8b2-4463-bc99-638d9b678ab3 in service crucible - 479811e7-6409-45d4-b294-5333534e47ed in service crucible - 54d1b693-bc4d-4c47-9009-c6f624073801 in service crucible - 5b743072-9369-45d7-b7c9-dbdf736301f8 in service internal_dns - 5c4163fa-d6a6-4a0c-9476-3dda135bc9a4 in service crucible_pantry - 61a39188-dd82-43f6-a87c-ebb4c2d54ac4 in service crucible - 658076ed-fb43-49e7-a813-df3d23497848 in service crucible - 6edb836e-b100-4080-bb03-738d6441d571 in service crucible - 7f83d784-9c5c-498f-b559-4176bbafbc4b in service nexus - 8052938f-73bc-4c54-8ed0-c62f6d77b9fd in service crucible - 86bc0a2a-e24a-4bc1-8222-89207a0937f9 in service cockroach_db - 9241b9da-8188-4aae-a9dc-62acb453618f in service clickhouse - a781a349-62b2-41f0-9dd7-c64d290aef82 in service crucible - c67814bf-9972-4bb0-a666-24778ca70a16 in service cockroach_db - c74ba7d7-3d5f-4a29-aadc-effe33a90909 in service boundary_ntp - dfc27183-ed85-44c3-ac3c-4427c4cb03e3 in service crucible - sled fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89: Omicron zones at generation 5 - 185e6b00-7e18-456c-9dfc-edd0194ac207 in service crucible - 1fc78bc7-feca-4a10-9beb-58b53fda5210 in service crucible - 45dccfd6-4674-43c6-a0e7-4dde5f24d90d in service internal_dns - 4b74c418-0a08-4489-b652-e97267c1c220 in service crucible - 54c947d2-6355-453c-80fc-8f49cc2129ee in service nexus - 60d64b70-89f5-4774-9e41-2c79c4173911 in service crucible_pantry - 921958c0-7761-4294-945d-2a078327bf2c in service crucible - 9df22034-59f6-431f-82e7-258fe983879b in service external_dns - bb21c0c4-c43f-4913-9bf9-707bd7f1769a in service internal_ntp - ccb0d612-9d7c-41ba-bd51-661c3c75ec91 in service crucible - ccef3e95-cae5-4072-9b7d-49e56fa9dff4 in service crucible - d42fc874-8416-4212-b5a0-febba4c6b0ac in service crucible - d5ba7d45-26d7-45ca-8c0a-a560f243b5fa in service crucible - da27ee6a-9841-46aa-acda-7cce3e04cb60 in service cockroach_db - e09525cf-9c87-4d05-8860-1356dd0dee8a in service crucible - f7264a3e-e8e7-4476-8df3-76c9d00a383b in service crucible + sled 1f34b5cc-6dac-40cc-9ea1-95f32c33e59b: Omicron zones at generation 5 + 0db88baf-911d-47bb-af71-3aebd7c96934 in service nexus + 213d7dd3-95a4-45a7-99ca-e4899991dab4 in service crucible + 218f36a5-9e51-4b88-ad1a-da4d85c246c4 in service internal_dns + 40c47ead-3be8-4724-a8ef-b66233fc5c65 in service crucible + 425d9d2f-72ea-4f53-80b6-04e002771cdb in service crucible + 46a050b6-37b8-47b9-b4ae-ccb736ecd6d5 in service crucible + 4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd in service clickhouse + 7611a549-effc-41b6-b6cb-c03e0c70a31f in service internal_ntp + af7ccead-2bd8-4a8a-9fbf-3b788d180139 in service cockroach_db + d4428e41-ad7b-41f0-bde6-7c7c955f20c1 in service crucible + sled 67a1268b-52d3-4159-b3ed-7a0777f1f340: Omicron zones at generation 5 + 1ebea0c3-1bfd-472c-9f84-ac9e23b32707 in service crucible + 2e9dfa8f-5371-48e5-b7f7-62a6af8283c1 in service cockroach_db + 57c712a6-6429-44b7-a9b2-9957cb9054d4 in service crucible + 59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9 in service crucible + 73916098-788f-48d8-b745-e13fdcfb771b in service internal_ntp + 9bb513e3-7505-416c-aa70-b26f1152bbdc in service crucible + 9c14c879-137b-4f5b-8068-1292bffc83ed in service cockroach_db + 9cf90589-5da1-4b42-b09b-d784e4134637 in service nexus + d48b2dfa-c749-47dd-98b6-3f478cd63934 in service crucible_pantry + fd003bee-818a-4c95-aae5-e378ac601522 in service crucible + sled 77851655-10a5-4e80-88b0-a001473cab7e: Omicron zones at generation 5 + 084cac6e-44b5-4333-a2ff-b0993b534898 in service crucible + 11c527c5-0598-428e-9270-be5b74d3461b in service cockroach_db + 20be9299-495d-428d-b315-694c2c4b64af in service crucible_pantry + 2b29cb95-f8c6-4aff-acc0-1c0a627be392 in service crucible + 8d452bdd-e8b8-4108-a690-46fc59197db0 in service crucible + 953019c0-8e85-4417-b231-d42820470125 in service oximeter + 99c635b9-8e97-414a-8316-8261d2d767d0 in service crucible + cbe1abfa-0063-44b2-9ce7-7ad76b403a94 in service internal_dns + d52e797a-8fff-4e1e-a5ff-0ab8c8293ded in service boundary_ntp + dc7f703a-27d1-4802-b85d-5629ddb2d67c in service crucible + f0ed9838-6f1b-4646-a478-9f74f2e6e802 in service external_dns + sled f122b3a2-e383-4e42-b2a5-74a69a9d110a: Omicron zones at generation 5 + 0d459323-e414-4f32-9944-76c7331da622 in service nexus + 2902972b-3ae4-489d-b937-6480352e214a in service crucible + 2ee832de-af75-47ac-abac-f91304857ca4 in service external_dns + 30050a7e-7fc3-4965-b07b-1635212393eb in service crucible_pantry + 8494befe-6df6-42d1-9baa-599ba4228430 in service boundary_ntp + 92cba955-3a5a-4d82-b0f2-30e89d4556d1 in service crucible + 9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b in service cockroach_db + e668e3f5-5457-4689-97da-b2af537787ac in service crucible + f32fd972-7f40-4c58-9e00-7fc5c44273f4 in service crucible + f8c79ba4-194a-4cfe-8090-5315e297b780 in service internal_dns + fa5e0176-b4a8-4598-aa31-40fd562d246c in service crucible > -> blueprint-diff-inventory 83ed3949-d221-44f3-a901-02e9ff16d2a5 cfa03594-f438-4736-a416-6307f7bf8f2e -diff collection 83ed3949-d221-44f3-a901-02e9ff16d2a5 blueprint cfa03594-f438-4736-a416-6307f7bf8f2e ---- collection 83ed3949-d221-44f3-a901-02e9ff16d2a5 -+++ blueprint cfa03594-f438-4736-a416-6307f7bf8f2e - sled 1762267a-a0cb-4c9a-88b4-8ce828cbc021 +> blueprint-diff-inventory 3f61b723-cfe7-40ec-b22c-e3e1f35325f9 cd34e87b-d821-4768-b32f-f41c28db835e +diff collection 3f61b723-cfe7-40ec-b22c-e3e1f35325f9 blueprint cd34e87b-d821-4768-b32f-f41c28db835e +--- collection 3f61b723-cfe7-40ec-b22c-e3e1f35325f9 ++++ blueprint cd34e87b-d821-4768-b32f-f41c28db835e + sled 1f34b5cc-6dac-40cc-9ea1-95f32c33e59b zone config generation 5 - zone 0706860a-3801-42a7-8000-fff741f7665b type crucible underlay IP fd00:1122:3344:101::c (unchanged) - zone 34a279a2-a025-41ff-a392-1addac400f38 type cockroach_db underlay IP fd00:1122:3344:101::3 (unchanged) - zone 3d344935-6f48-405f-8794-2c6e8fa4b1c2 type internal_dns underlay IP fd00:1122:3344:1::1 (unchanged) - zone 59c3ed4f-3670-44b1-9ea0-9a6162a08629 type nexus underlay IP fd00:1122:3344:101::5 (unchanged) - zone 67852e14-ce7f-4e50-a61d-4059d0c057b9 type crucible underlay IP fd00:1122:3344:101::10 (unchanged) - zone 6ace1a69-d55a-45f0-a127-99c90f1b070c type crucible underlay IP fd00:1122:3344:101::f (unchanged) - zone 84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe type crucible underlay IP fd00:1122:3344:101::9 (unchanged) - zone 854c1544-d0ea-4d65-9cf4-776e91a4fcb5 type crucible underlay IP fd00:1122:3344:101::8 (unchanged) - zone 86ee7359-aa35-41d9-8a76-54961bc516a1 type cockroach_db underlay IP fd00:1122:3344:101::4 (unchanged) - zone 925ea436-fad4-4fff-8ae0-24edd725a2b0 type crucible underlay IP fd00:1122:3344:101::d (unchanged) - zone be272d1e-4d34-4478-94b4-a76f5fcbef36 type crucible underlay IP fd00:1122:3344:101::a (unchanged) - zone bebd754d-d06c-45f4-99bf-e1aab6253ab8 type oximeter underlay IP fd00:1122:3344:101::6 (unchanged) - zone d630cca7-e3f7-47a8-aee8-ad0790895abc type boundary_ntp underlay IP fd00:1122:3344:101::11 (unchanged) - zone d8c51c79-46ff-44bd-80be-08d6283f4e21 type crucible underlay IP fd00:1122:3344:101::e (unchanged) - zone dbbc0422-2b23-4d9e-b1db-8003cfc29ad0 type crucible underlay IP fd00:1122:3344:101::b (unchanged) - zone f33a2375-212d-42e4-b539-6079aeb4e5b7 type crucible_pantry underlay IP fd00:1122:3344:101::7 (unchanged) - sled a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f - zone config generation 3 - zone 0eca39c6-62e2-4a1f-8ea2-e9332a774a26 type crucible underlay IP fd00:1122:3344:121::28 (unchanged) - zone 12431d3e-1516-4822-98b3-3711ff912e69 type crucible underlay IP fd00:1122:3344:121::22 (unchanged) - zone 2d5c29f7-4915-4876-82f8-e388b15c5067 type internal_ntp underlay IP fd00:1122:3344:121::21 (unchanged) - zone 56414d76-9b8c-4e15-acf1-cd269c2d8638 type crucible underlay IP fd00:1122:3344:121::25 (unchanged) - zone 891cb9da-301d-40cc-b93d-5fcb350fa968 type crucible underlay IP fd00:1122:3344:121::29 (unchanged) - zone d9014907-24c0-4c33-a475-db15942f4f8f type crucible underlay IP fd00:1122:3344:121::23 (unchanged) - zone e950de25-7306-4cf7-a6f4-6db11adaa310 type crucible underlay IP fd00:1122:3344:121::27 (unchanged) - zone fe3dc092-ea23-42d7-9f1d-36eed72b539c type crucible underlay IP fd00:1122:3344:121::26 (unchanged) - zone ff8cce49-a721-4ad1-b09e-2bd6e4e42d00 type crucible underlay IP fd00:1122:3344:121::24 (unchanged) - sled a6634f64-f6fb-426c-b00b-9b30aed9f53a + zone 0db88baf-911d-47bb-af71-3aebd7c96934 type nexus underlay IP fd00:1122:3344:103::4 (unchanged) + zone 213d7dd3-95a4-45a7-99ca-e4899991dab4 type crucible underlay IP fd00:1122:3344:103::6 (unchanged) + zone 218f36a5-9e51-4b88-ad1a-da4d85c246c4 type internal_dns underlay IP fd00:1122:3344:3::1 (unchanged) + zone 40c47ead-3be8-4724-a8ef-b66233fc5c65 type crucible underlay IP fd00:1122:3344:103::7 (unchanged) + zone 425d9d2f-72ea-4f53-80b6-04e002771cdb type crucible underlay IP fd00:1122:3344:103::9 (unchanged) + zone 46a050b6-37b8-47b9-b4ae-ccb736ecd6d5 type crucible underlay IP fd00:1122:3344:103::8 (unchanged) + zone 4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd type clickhouse underlay IP fd00:1122:3344:103::5 (unchanged) + zone 7611a549-effc-41b6-b6cb-c03e0c70a31f type internal_ntp underlay IP fd00:1122:3344:103::b (unchanged) + zone af7ccead-2bd8-4a8a-9fbf-3b788d180139 type cockroach_db underlay IP fd00:1122:3344:103::3 (unchanged) + zone d4428e41-ad7b-41f0-bde6-7c7c955f20c1 type crucible underlay IP fd00:1122:3344:103::a (unchanged) + sled 67a1268b-52d3-4159-b3ed-7a0777f1f340 zone config generation 5 - zone 0ebd2b5b-2dec-4d17-8e23-e468c04dacb6 type crucible underlay IP fd00:1122:3344:102::11 (unchanged) - zone 18b99404-d8b2-4463-bc99-638d9b678ab3 type crucible underlay IP fd00:1122:3344:102::e (unchanged) - zone 479811e7-6409-45d4-b294-5333534e47ed type crucible underlay IP fd00:1122:3344:102::9 (unchanged) - zone 54d1b693-bc4d-4c47-9009-c6f624073801 type crucible underlay IP fd00:1122:3344:102::a (unchanged) - zone 5b743072-9369-45d7-b7c9-dbdf736301f8 type internal_dns underlay IP fd00:1122:3344:2::1 (unchanged) - zone 5c4163fa-d6a6-4a0c-9476-3dda135bc9a4 type crucible_pantry underlay IP fd00:1122:3344:102::7 (unchanged) - zone 61a39188-dd82-43f6-a87c-ebb4c2d54ac4 type crucible underlay IP fd00:1122:3344:102::8 (unchanged) - zone 658076ed-fb43-49e7-a813-df3d23497848 type crucible underlay IP fd00:1122:3344:102::10 (unchanged) - zone 6edb836e-b100-4080-bb03-738d6441d571 type crucible underlay IP fd00:1122:3344:102::c (unchanged) - zone 7f83d784-9c5c-498f-b559-4176bbafbc4b type nexus underlay IP fd00:1122:3344:102::5 (unchanged) - zone 8052938f-73bc-4c54-8ed0-c62f6d77b9fd type crucible underlay IP fd00:1122:3344:102::d (unchanged) - zone 86bc0a2a-e24a-4bc1-8222-89207a0937f9 type cockroach_db underlay IP fd00:1122:3344:102::4 (unchanged) - zone 9241b9da-8188-4aae-a9dc-62acb453618f type clickhouse underlay IP fd00:1122:3344:102::6 (unchanged) - zone a781a349-62b2-41f0-9dd7-c64d290aef82 type crucible underlay IP fd00:1122:3344:102::f (unchanged) - zone c67814bf-9972-4bb0-a666-24778ca70a16 type cockroach_db underlay IP fd00:1122:3344:102::3 (unchanged) - zone c74ba7d7-3d5f-4a29-aadc-effe33a90909 type boundary_ntp underlay IP fd00:1122:3344:102::12 (unchanged) - zone dfc27183-ed85-44c3-ac3c-4427c4cb03e3 type crucible underlay IP fd00:1122:3344:102::b (unchanged) - sled fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89 + zone 1ebea0c3-1bfd-472c-9f84-ac9e23b32707 type crucible underlay IP fd00:1122:3344:104::b (unchanged) + zone 2e9dfa8f-5371-48e5-b7f7-62a6af8283c1 type cockroach_db underlay IP fd00:1122:3344:104::4 (unchanged) + zone 57c712a6-6429-44b7-a9b2-9957cb9054d4 type crucible underlay IP fd00:1122:3344:104::a (unchanged) + zone 59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9 type crucible underlay IP fd00:1122:3344:104::7 (unchanged) + zone 73916098-788f-48d8-b745-e13fdcfb771b type internal_ntp underlay IP fd00:1122:3344:104::c (unchanged) + zone 9bb513e3-7505-416c-aa70-b26f1152bbdc type crucible underlay IP fd00:1122:3344:104::9 (unchanged) + zone 9c14c879-137b-4f5b-8068-1292bffc83ed type cockroach_db underlay IP fd00:1122:3344:104::3 (unchanged) + zone 9cf90589-5da1-4b42-b09b-d784e4134637 type nexus underlay IP fd00:1122:3344:104::5 (unchanged) + zone d48b2dfa-c749-47dd-98b6-3f478cd63934 type crucible_pantry underlay IP fd00:1122:3344:104::6 (unchanged) + zone fd003bee-818a-4c95-aae5-e378ac601522 type crucible underlay IP fd00:1122:3344:104::8 (unchanged) + sled 77851655-10a5-4e80-88b0-a001473cab7e zone config generation 5 - zone 185e6b00-7e18-456c-9dfc-edd0194ac207 type crucible underlay IP fd00:1122:3344:103::a (unchanged) - zone 1fc78bc7-feca-4a10-9beb-58b53fda5210 type crucible underlay IP fd00:1122:3344:103::10 (unchanged) - zone 45dccfd6-4674-43c6-a0e7-4dde5f24d90d type internal_dns underlay IP fd00:1122:3344:3::1 (unchanged) - zone 4b74c418-0a08-4489-b652-e97267c1c220 type crucible underlay IP fd00:1122:3344:103::7 (unchanged) - zone 54c947d2-6355-453c-80fc-8f49cc2129ee type nexus underlay IP fd00:1122:3344:103::5 (unchanged) - zone 60d64b70-89f5-4774-9e41-2c79c4173911 type crucible_pantry underlay IP fd00:1122:3344:103::6 (unchanged) - zone 921958c0-7761-4294-945d-2a078327bf2c type crucible underlay IP fd00:1122:3344:103::8 (unchanged) - zone 9df22034-59f6-431f-82e7-258fe983879b type external_dns underlay IP fd00:1122:3344:103::4 (unchanged) - zone bb21c0c4-c43f-4913-9bf9-707bd7f1769a type internal_ntp underlay IP fd00:1122:3344:103::11 (unchanged) - zone ccb0d612-9d7c-41ba-bd51-661c3c75ec91 type crucible underlay IP fd00:1122:3344:103::9 (unchanged) - zone ccef3e95-cae5-4072-9b7d-49e56fa9dff4 type crucible underlay IP fd00:1122:3344:103::d (unchanged) - zone d42fc874-8416-4212-b5a0-febba4c6b0ac type crucible underlay IP fd00:1122:3344:103::b (unchanged) - zone d5ba7d45-26d7-45ca-8c0a-a560f243b5fa type crucible underlay IP fd00:1122:3344:103::e (unchanged) - zone da27ee6a-9841-46aa-acda-7cce3e04cb60 type cockroach_db underlay IP fd00:1122:3344:103::3 (unchanged) - zone e09525cf-9c87-4d05-8860-1356dd0dee8a type crucible underlay IP fd00:1122:3344:103::f (unchanged) - zone f7264a3e-e8e7-4476-8df3-76c9d00a383b type crucible underlay IP fd00:1122:3344:103::c (unchanged) + zone 084cac6e-44b5-4333-a2ff-b0993b534898 type crucible underlay IP fd00:1122:3344:102::8 (unchanged) + zone 11c527c5-0598-428e-9270-be5b74d3461b type cockroach_db underlay IP fd00:1122:3344:102::3 (unchanged) + zone 20be9299-495d-428d-b315-694c2c4b64af type crucible_pantry underlay IP fd00:1122:3344:102::6 (unchanged) + zone 2b29cb95-f8c6-4aff-acc0-1c0a627be392 type crucible underlay IP fd00:1122:3344:102::b (unchanged) + zone 8d452bdd-e8b8-4108-a690-46fc59197db0 type crucible underlay IP fd00:1122:3344:102::a (unchanged) + zone 953019c0-8e85-4417-b231-d42820470125 type oximeter underlay IP fd00:1122:3344:102::5 (unchanged) + zone 99c635b9-8e97-414a-8316-8261d2d767d0 type crucible underlay IP fd00:1122:3344:102::7 (unchanged) + zone cbe1abfa-0063-44b2-9ce7-7ad76b403a94 type internal_dns underlay IP fd00:1122:3344:2::1 (unchanged) + zone d52e797a-8fff-4e1e-a5ff-0ab8c8293ded type boundary_ntp underlay IP fd00:1122:3344:102::c (unchanged) + zone dc7f703a-27d1-4802-b85d-5629ddb2d67c type crucible underlay IP fd00:1122:3344:102::9 (unchanged) + zone f0ed9838-6f1b-4646-a478-9f74f2e6e802 type external_dns underlay IP fd00:1122:3344:102::4 (unchanged) + sled f122b3a2-e383-4e42-b2a5-74a69a9d110a + zone config generation 5 + zone 0d459323-e414-4f32-9944-76c7331da622 type nexus underlay IP fd00:1122:3344:101::5 (unchanged) + zone 2902972b-3ae4-489d-b937-6480352e214a type crucible underlay IP fd00:1122:3344:101::8 (unchanged) + zone 2ee832de-af75-47ac-abac-f91304857ca4 type external_dns underlay IP fd00:1122:3344:101::4 (unchanged) + zone 30050a7e-7fc3-4965-b07b-1635212393eb type crucible_pantry underlay IP fd00:1122:3344:101::6 (unchanged) + zone 8494befe-6df6-42d1-9baa-599ba4228430 type boundary_ntp underlay IP fd00:1122:3344:101::c (unchanged) + zone 92cba955-3a5a-4d82-b0f2-30e89d4556d1 type crucible underlay IP fd00:1122:3344:101::7 (unchanged) + zone 9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b type cockroach_db underlay IP fd00:1122:3344:101::3 (unchanged) + zone e668e3f5-5457-4689-97da-b2af537787ac type crucible underlay IP fd00:1122:3344:101::b (unchanged) + zone f32fd972-7f40-4c58-9e00-7fc5c44273f4 type crucible underlay IP fd00:1122:3344:101::9 (unchanged) + zone f8c79ba4-194a-4cfe-8090-5315e297b780 type internal_dns underlay IP fd00:1122:3344:1::1 (unchanged) + zone fa5e0176-b4a8-4598-aa31-40fd562d246c type crucible underlay IP fd00:1122:3344:101::a (unchanged) > -> blueprint-diff 6c127695-ba15-408d-a992-325a1a888380 cfa03594-f438-4736-a416-6307f7bf8f2e -diff blueprint 6c127695-ba15-408d-a992-325a1a888380 blueprint cfa03594-f438-4736-a416-6307f7bf8f2e ---- blueprint 6c127695-ba15-408d-a992-325a1a888380 -+++ blueprint cfa03594-f438-4736-a416-6307f7bf8f2e - sled 1762267a-a0cb-4c9a-88b4-8ce828cbc021 +> blueprint-diff 649e444d-d00f-4067-a915-12e15647bf37 cd34e87b-d821-4768-b32f-f41c28db835e +diff blueprint 649e444d-d00f-4067-a915-12e15647bf37 blueprint cd34e87b-d821-4768-b32f-f41c28db835e +--- blueprint 649e444d-d00f-4067-a915-12e15647bf37 ++++ blueprint cd34e87b-d821-4768-b32f-f41c28db835e + sled 1f34b5cc-6dac-40cc-9ea1-95f32c33e59b + zone config generation 5 + zone 0db88baf-911d-47bb-af71-3aebd7c96934 type nexus underlay IP fd00:1122:3344:103::4 (unchanged) + zone 213d7dd3-95a4-45a7-99ca-e4899991dab4 type crucible underlay IP fd00:1122:3344:103::6 (unchanged) + zone 218f36a5-9e51-4b88-ad1a-da4d85c246c4 type internal_dns underlay IP fd00:1122:3344:3::1 (unchanged) + zone 40c47ead-3be8-4724-a8ef-b66233fc5c65 type crucible underlay IP fd00:1122:3344:103::7 (unchanged) + zone 425d9d2f-72ea-4f53-80b6-04e002771cdb type crucible underlay IP fd00:1122:3344:103::9 (unchanged) + zone 46a050b6-37b8-47b9-b4ae-ccb736ecd6d5 type crucible underlay IP fd00:1122:3344:103::8 (unchanged) + zone 4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd type clickhouse underlay IP fd00:1122:3344:103::5 (unchanged) + zone 7611a549-effc-41b6-b6cb-c03e0c70a31f type internal_ntp underlay IP fd00:1122:3344:103::b (unchanged) + zone af7ccead-2bd8-4a8a-9fbf-3b788d180139 type cockroach_db underlay IP fd00:1122:3344:103::3 (unchanged) + zone d4428e41-ad7b-41f0-bde6-7c7c955f20c1 type crucible underlay IP fd00:1122:3344:103::a (unchanged) + sled 67a1268b-52d3-4159-b3ed-7a0777f1f340 zone config generation 5 - zone 0706860a-3801-42a7-8000-fff741f7665b type crucible underlay IP fd00:1122:3344:101::c (unchanged) - zone 34a279a2-a025-41ff-a392-1addac400f38 type cockroach_db underlay IP fd00:1122:3344:101::3 (unchanged) - zone 3d344935-6f48-405f-8794-2c6e8fa4b1c2 type internal_dns underlay IP fd00:1122:3344:1::1 (unchanged) - zone 59c3ed4f-3670-44b1-9ea0-9a6162a08629 type nexus underlay IP fd00:1122:3344:101::5 (unchanged) - zone 67852e14-ce7f-4e50-a61d-4059d0c057b9 type crucible underlay IP fd00:1122:3344:101::10 (unchanged) - zone 6ace1a69-d55a-45f0-a127-99c90f1b070c type crucible underlay IP fd00:1122:3344:101::f (unchanged) - zone 84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe type crucible underlay IP fd00:1122:3344:101::9 (unchanged) - zone 854c1544-d0ea-4d65-9cf4-776e91a4fcb5 type crucible underlay IP fd00:1122:3344:101::8 (unchanged) - zone 86ee7359-aa35-41d9-8a76-54961bc516a1 type cockroach_db underlay IP fd00:1122:3344:101::4 (unchanged) - zone 925ea436-fad4-4fff-8ae0-24edd725a2b0 type crucible underlay IP fd00:1122:3344:101::d (unchanged) - zone be272d1e-4d34-4478-94b4-a76f5fcbef36 type crucible underlay IP fd00:1122:3344:101::a (unchanged) - zone bebd754d-d06c-45f4-99bf-e1aab6253ab8 type oximeter underlay IP fd00:1122:3344:101::6 (unchanged) - zone d630cca7-e3f7-47a8-aee8-ad0790895abc type boundary_ntp underlay IP fd00:1122:3344:101::11 (unchanged) - zone d8c51c79-46ff-44bd-80be-08d6283f4e21 type crucible underlay IP fd00:1122:3344:101::e (unchanged) - zone dbbc0422-2b23-4d9e-b1db-8003cfc29ad0 type crucible underlay IP fd00:1122:3344:101::b (unchanged) - zone f33a2375-212d-42e4-b539-6079aeb4e5b7 type crucible_pantry underlay IP fd00:1122:3344:101::7 (unchanged) - sled a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f -- zone config generation 2 -+ zone config generation 3 - zone 2d5c29f7-4915-4876-82f8-e388b15c5067 type internal_ntp underlay IP fd00:1122:3344:121::21 (unchanged) -+ zone 0eca39c6-62e2-4a1f-8ea2-e9332a774a26 type crucible underlay IP fd00:1122:3344:121::28 (added) -+ zone 12431d3e-1516-4822-98b3-3711ff912e69 type crucible underlay IP fd00:1122:3344:121::22 (added) -+ zone 56414d76-9b8c-4e15-acf1-cd269c2d8638 type crucible underlay IP fd00:1122:3344:121::25 (added) -+ zone 891cb9da-301d-40cc-b93d-5fcb350fa968 type crucible underlay IP fd00:1122:3344:121::29 (added) -+ zone d9014907-24c0-4c33-a475-db15942f4f8f type crucible underlay IP fd00:1122:3344:121::23 (added) -+ zone e950de25-7306-4cf7-a6f4-6db11adaa310 type crucible underlay IP fd00:1122:3344:121::27 (added) -+ zone fe3dc092-ea23-42d7-9f1d-36eed72b539c type crucible underlay IP fd00:1122:3344:121::26 (added) -+ zone ff8cce49-a721-4ad1-b09e-2bd6e4e42d00 type crucible underlay IP fd00:1122:3344:121::24 (added) - sled a6634f64-f6fb-426c-b00b-9b30aed9f53a + zone 1ebea0c3-1bfd-472c-9f84-ac9e23b32707 type crucible underlay IP fd00:1122:3344:104::b (unchanged) + zone 2e9dfa8f-5371-48e5-b7f7-62a6af8283c1 type cockroach_db underlay IP fd00:1122:3344:104::4 (unchanged) + zone 57c712a6-6429-44b7-a9b2-9957cb9054d4 type crucible underlay IP fd00:1122:3344:104::a (unchanged) + zone 59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9 type crucible underlay IP fd00:1122:3344:104::7 (unchanged) + zone 73916098-788f-48d8-b745-e13fdcfb771b type internal_ntp underlay IP fd00:1122:3344:104::c (unchanged) + zone 9bb513e3-7505-416c-aa70-b26f1152bbdc type crucible underlay IP fd00:1122:3344:104::9 (unchanged) + zone 9c14c879-137b-4f5b-8068-1292bffc83ed type cockroach_db underlay IP fd00:1122:3344:104::3 (unchanged) + zone 9cf90589-5da1-4b42-b09b-d784e4134637 type nexus underlay IP fd00:1122:3344:104::5 (unchanged) + zone d48b2dfa-c749-47dd-98b6-3f478cd63934 type crucible_pantry underlay IP fd00:1122:3344:104::6 (unchanged) + zone fd003bee-818a-4c95-aae5-e378ac601522 type crucible underlay IP fd00:1122:3344:104::8 (unchanged) + sled 77851655-10a5-4e80-88b0-a001473cab7e zone config generation 5 - zone 0ebd2b5b-2dec-4d17-8e23-e468c04dacb6 type crucible underlay IP fd00:1122:3344:102::11 (unchanged) - zone 18b99404-d8b2-4463-bc99-638d9b678ab3 type crucible underlay IP fd00:1122:3344:102::e (unchanged) - zone 479811e7-6409-45d4-b294-5333534e47ed type crucible underlay IP fd00:1122:3344:102::9 (unchanged) - zone 54d1b693-bc4d-4c47-9009-c6f624073801 type crucible underlay IP fd00:1122:3344:102::a (unchanged) - zone 5b743072-9369-45d7-b7c9-dbdf736301f8 type internal_dns underlay IP fd00:1122:3344:2::1 (unchanged) - zone 5c4163fa-d6a6-4a0c-9476-3dda135bc9a4 type crucible_pantry underlay IP fd00:1122:3344:102::7 (unchanged) - zone 61a39188-dd82-43f6-a87c-ebb4c2d54ac4 type crucible underlay IP fd00:1122:3344:102::8 (unchanged) - zone 658076ed-fb43-49e7-a813-df3d23497848 type crucible underlay IP fd00:1122:3344:102::10 (unchanged) - zone 6edb836e-b100-4080-bb03-738d6441d571 type crucible underlay IP fd00:1122:3344:102::c (unchanged) - zone 7f83d784-9c5c-498f-b559-4176bbafbc4b type nexus underlay IP fd00:1122:3344:102::5 (unchanged) - zone 8052938f-73bc-4c54-8ed0-c62f6d77b9fd type crucible underlay IP fd00:1122:3344:102::d (unchanged) - zone 86bc0a2a-e24a-4bc1-8222-89207a0937f9 type cockroach_db underlay IP fd00:1122:3344:102::4 (unchanged) - zone 9241b9da-8188-4aae-a9dc-62acb453618f type clickhouse underlay IP fd00:1122:3344:102::6 (unchanged) - zone a781a349-62b2-41f0-9dd7-c64d290aef82 type crucible underlay IP fd00:1122:3344:102::f (unchanged) - zone c67814bf-9972-4bb0-a666-24778ca70a16 type cockroach_db underlay IP fd00:1122:3344:102::3 (unchanged) - zone c74ba7d7-3d5f-4a29-aadc-effe33a90909 type boundary_ntp underlay IP fd00:1122:3344:102::12 (unchanged) - zone dfc27183-ed85-44c3-ac3c-4427c4cb03e3 type crucible underlay IP fd00:1122:3344:102::b (unchanged) - sled fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89 + zone 084cac6e-44b5-4333-a2ff-b0993b534898 type crucible underlay IP fd00:1122:3344:102::8 (unchanged) + zone 11c527c5-0598-428e-9270-be5b74d3461b type cockroach_db underlay IP fd00:1122:3344:102::3 (unchanged) + zone 20be9299-495d-428d-b315-694c2c4b64af type crucible_pantry underlay IP fd00:1122:3344:102::6 (unchanged) + zone 2b29cb95-f8c6-4aff-acc0-1c0a627be392 type crucible underlay IP fd00:1122:3344:102::b (unchanged) + zone 8d452bdd-e8b8-4108-a690-46fc59197db0 type crucible underlay IP fd00:1122:3344:102::a (unchanged) + zone 953019c0-8e85-4417-b231-d42820470125 type oximeter underlay IP fd00:1122:3344:102::5 (unchanged) + zone 99c635b9-8e97-414a-8316-8261d2d767d0 type crucible underlay IP fd00:1122:3344:102::7 (unchanged) + zone cbe1abfa-0063-44b2-9ce7-7ad76b403a94 type internal_dns underlay IP fd00:1122:3344:2::1 (unchanged) + zone d52e797a-8fff-4e1e-a5ff-0ab8c8293ded type boundary_ntp underlay IP fd00:1122:3344:102::c (unchanged) + zone dc7f703a-27d1-4802-b85d-5629ddb2d67c type crucible underlay IP fd00:1122:3344:102::9 (unchanged) + zone f0ed9838-6f1b-4646-a478-9f74f2e6e802 type external_dns underlay IP fd00:1122:3344:102::4 (unchanged) + sled f122b3a2-e383-4e42-b2a5-74a69a9d110a zone config generation 5 - zone 185e6b00-7e18-456c-9dfc-edd0194ac207 type crucible underlay IP fd00:1122:3344:103::a (unchanged) - zone 1fc78bc7-feca-4a10-9beb-58b53fda5210 type crucible underlay IP fd00:1122:3344:103::10 (unchanged) - zone 45dccfd6-4674-43c6-a0e7-4dde5f24d90d type internal_dns underlay IP fd00:1122:3344:3::1 (unchanged) - zone 4b74c418-0a08-4489-b652-e97267c1c220 type crucible underlay IP fd00:1122:3344:103::7 (unchanged) - zone 54c947d2-6355-453c-80fc-8f49cc2129ee type nexus underlay IP fd00:1122:3344:103::5 (unchanged) - zone 60d64b70-89f5-4774-9e41-2c79c4173911 type crucible_pantry underlay IP fd00:1122:3344:103::6 (unchanged) - zone 921958c0-7761-4294-945d-2a078327bf2c type crucible underlay IP fd00:1122:3344:103::8 (unchanged) - zone 9df22034-59f6-431f-82e7-258fe983879b type external_dns underlay IP fd00:1122:3344:103::4 (unchanged) - zone bb21c0c4-c43f-4913-9bf9-707bd7f1769a type internal_ntp underlay IP fd00:1122:3344:103::11 (unchanged) - zone ccb0d612-9d7c-41ba-bd51-661c3c75ec91 type crucible underlay IP fd00:1122:3344:103::9 (unchanged) - zone ccef3e95-cae5-4072-9b7d-49e56fa9dff4 type crucible underlay IP fd00:1122:3344:103::d (unchanged) - zone d42fc874-8416-4212-b5a0-febba4c6b0ac type crucible underlay IP fd00:1122:3344:103::b (unchanged) - zone d5ba7d45-26d7-45ca-8c0a-a560f243b5fa type crucible underlay IP fd00:1122:3344:103::e (unchanged) - zone da27ee6a-9841-46aa-acda-7cce3e04cb60 type cockroach_db underlay IP fd00:1122:3344:103::3 (unchanged) - zone e09525cf-9c87-4d05-8860-1356dd0dee8a type crucible underlay IP fd00:1122:3344:103::f (unchanged) - zone f7264a3e-e8e7-4476-8df3-76c9d00a383b type crucible underlay IP fd00:1122:3344:103::c (unchanged) + zone 0d459323-e414-4f32-9944-76c7331da622 type nexus underlay IP fd00:1122:3344:101::5 (unchanged) + zone 2902972b-3ae4-489d-b937-6480352e214a type crucible underlay IP fd00:1122:3344:101::8 (unchanged) + zone 2ee832de-af75-47ac-abac-f91304857ca4 type external_dns underlay IP fd00:1122:3344:101::4 (unchanged) + zone 30050a7e-7fc3-4965-b07b-1635212393eb type crucible_pantry underlay IP fd00:1122:3344:101::6 (unchanged) + zone 8494befe-6df6-42d1-9baa-599ba4228430 type boundary_ntp underlay IP fd00:1122:3344:101::c (unchanged) + zone 92cba955-3a5a-4d82-b0f2-30e89d4556d1 type crucible underlay IP fd00:1122:3344:101::7 (unchanged) + zone 9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b type cockroach_db underlay IP fd00:1122:3344:101::3 (unchanged) + zone e668e3f5-5457-4689-97da-b2af537787ac type crucible underlay IP fd00:1122:3344:101::b (unchanged) + zone f32fd972-7f40-4c58-9e00-7fc5c44273f4 type crucible underlay IP fd00:1122:3344:101::9 (unchanged) + zone f8c79ba4-194a-4cfe-8090-5315e297b780 type internal_dns underlay IP fd00:1122:3344:1::1 (unchanged) + zone fa5e0176-b4a8-4598-aa31-40fd562d246c type crucible underlay IP fd00:1122:3344:101::a (unchanged) > -> blueprint-diff cfa03594-f438-4736-a416-6307f7bf8f2e 6c127695-ba15-408d-a992-325a1a888380 -diff blueprint cfa03594-f438-4736-a416-6307f7bf8f2e blueprint 6c127695-ba15-408d-a992-325a1a888380 ---- blueprint cfa03594-f438-4736-a416-6307f7bf8f2e -+++ blueprint 6c127695-ba15-408d-a992-325a1a888380 - sled 1762267a-a0cb-4c9a-88b4-8ce828cbc021 +> blueprint-diff cd34e87b-d821-4768-b32f-f41c28db835e 649e444d-d00f-4067-a915-12e15647bf37 +diff blueprint cd34e87b-d821-4768-b32f-f41c28db835e blueprint 649e444d-d00f-4067-a915-12e15647bf37 +--- blueprint cd34e87b-d821-4768-b32f-f41c28db835e ++++ blueprint 649e444d-d00f-4067-a915-12e15647bf37 + sled 1f34b5cc-6dac-40cc-9ea1-95f32c33e59b + zone config generation 5 + zone 0db88baf-911d-47bb-af71-3aebd7c96934 type nexus underlay IP fd00:1122:3344:103::4 (unchanged) + zone 213d7dd3-95a4-45a7-99ca-e4899991dab4 type crucible underlay IP fd00:1122:3344:103::6 (unchanged) + zone 218f36a5-9e51-4b88-ad1a-da4d85c246c4 type internal_dns underlay IP fd00:1122:3344:3::1 (unchanged) + zone 40c47ead-3be8-4724-a8ef-b66233fc5c65 type crucible underlay IP fd00:1122:3344:103::7 (unchanged) + zone 425d9d2f-72ea-4f53-80b6-04e002771cdb type crucible underlay IP fd00:1122:3344:103::9 (unchanged) + zone 46a050b6-37b8-47b9-b4ae-ccb736ecd6d5 type crucible underlay IP fd00:1122:3344:103::8 (unchanged) + zone 4ea8104f-2cfc-4599-9d2c-bcfd8f0b71fd type clickhouse underlay IP fd00:1122:3344:103::5 (unchanged) + zone 7611a549-effc-41b6-b6cb-c03e0c70a31f type internal_ntp underlay IP fd00:1122:3344:103::b (unchanged) + zone af7ccead-2bd8-4a8a-9fbf-3b788d180139 type cockroach_db underlay IP fd00:1122:3344:103::3 (unchanged) + zone d4428e41-ad7b-41f0-bde6-7c7c955f20c1 type crucible underlay IP fd00:1122:3344:103::a (unchanged) + sled 67a1268b-52d3-4159-b3ed-7a0777f1f340 zone config generation 5 - zone 0706860a-3801-42a7-8000-fff741f7665b type crucible underlay IP fd00:1122:3344:101::c (unchanged) - zone 34a279a2-a025-41ff-a392-1addac400f38 type cockroach_db underlay IP fd00:1122:3344:101::3 (unchanged) - zone 3d344935-6f48-405f-8794-2c6e8fa4b1c2 type internal_dns underlay IP fd00:1122:3344:1::1 (unchanged) - zone 59c3ed4f-3670-44b1-9ea0-9a6162a08629 type nexus underlay IP fd00:1122:3344:101::5 (unchanged) - zone 67852e14-ce7f-4e50-a61d-4059d0c057b9 type crucible underlay IP fd00:1122:3344:101::10 (unchanged) - zone 6ace1a69-d55a-45f0-a127-99c90f1b070c type crucible underlay IP fd00:1122:3344:101::f (unchanged) - zone 84d6b7fc-b5c2-499f-8d17-0eb1ea5affbe type crucible underlay IP fd00:1122:3344:101::9 (unchanged) - zone 854c1544-d0ea-4d65-9cf4-776e91a4fcb5 type crucible underlay IP fd00:1122:3344:101::8 (unchanged) - zone 86ee7359-aa35-41d9-8a76-54961bc516a1 type cockroach_db underlay IP fd00:1122:3344:101::4 (unchanged) - zone 925ea436-fad4-4fff-8ae0-24edd725a2b0 type crucible underlay IP fd00:1122:3344:101::d (unchanged) - zone be272d1e-4d34-4478-94b4-a76f5fcbef36 type crucible underlay IP fd00:1122:3344:101::a (unchanged) - zone bebd754d-d06c-45f4-99bf-e1aab6253ab8 type oximeter underlay IP fd00:1122:3344:101::6 (unchanged) - zone d630cca7-e3f7-47a8-aee8-ad0790895abc type boundary_ntp underlay IP fd00:1122:3344:101::11 (unchanged) - zone d8c51c79-46ff-44bd-80be-08d6283f4e21 type crucible underlay IP fd00:1122:3344:101::e (unchanged) - zone dbbc0422-2b23-4d9e-b1db-8003cfc29ad0 type crucible underlay IP fd00:1122:3344:101::b (unchanged) - zone f33a2375-212d-42e4-b539-6079aeb4e5b7 type crucible_pantry underlay IP fd00:1122:3344:101::7 (unchanged) - sled a243c1d0-9051-4b94-ab3e-f2a93fd0ae4f -- zone config generation 3 -+ zone config generation 2 -- zone 0eca39c6-62e2-4a1f-8ea2-e9332a774a26 type crucible (removed) -- zone 12431d3e-1516-4822-98b3-3711ff912e69 type crucible (removed) -- zone 56414d76-9b8c-4e15-acf1-cd269c2d8638 type crucible (removed) -- zone 891cb9da-301d-40cc-b93d-5fcb350fa968 type crucible (removed) -- zone d9014907-24c0-4c33-a475-db15942f4f8f type crucible (removed) -- zone e950de25-7306-4cf7-a6f4-6db11adaa310 type crucible (removed) -- zone fe3dc092-ea23-42d7-9f1d-36eed72b539c type crucible (removed) -- zone ff8cce49-a721-4ad1-b09e-2bd6e4e42d00 type crucible (removed) - zone 2d5c29f7-4915-4876-82f8-e388b15c5067 type internal_ntp underlay IP fd00:1122:3344:121::21 (unchanged) - sled a6634f64-f6fb-426c-b00b-9b30aed9f53a + zone 1ebea0c3-1bfd-472c-9f84-ac9e23b32707 type crucible underlay IP fd00:1122:3344:104::b (unchanged) + zone 2e9dfa8f-5371-48e5-b7f7-62a6af8283c1 type cockroach_db underlay IP fd00:1122:3344:104::4 (unchanged) + zone 57c712a6-6429-44b7-a9b2-9957cb9054d4 type crucible underlay IP fd00:1122:3344:104::a (unchanged) + zone 59c4c9f0-bea9-46b7-ae9d-fb6dc1d658b9 type crucible underlay IP fd00:1122:3344:104::7 (unchanged) + zone 73916098-788f-48d8-b745-e13fdcfb771b type internal_ntp underlay IP fd00:1122:3344:104::c (unchanged) + zone 9bb513e3-7505-416c-aa70-b26f1152bbdc type crucible underlay IP fd00:1122:3344:104::9 (unchanged) + zone 9c14c879-137b-4f5b-8068-1292bffc83ed type cockroach_db underlay IP fd00:1122:3344:104::3 (unchanged) + zone 9cf90589-5da1-4b42-b09b-d784e4134637 type nexus underlay IP fd00:1122:3344:104::5 (unchanged) + zone d48b2dfa-c749-47dd-98b6-3f478cd63934 type crucible_pantry underlay IP fd00:1122:3344:104::6 (unchanged) + zone fd003bee-818a-4c95-aae5-e378ac601522 type crucible underlay IP fd00:1122:3344:104::8 (unchanged) + sled 77851655-10a5-4e80-88b0-a001473cab7e zone config generation 5 - zone 0ebd2b5b-2dec-4d17-8e23-e468c04dacb6 type crucible underlay IP fd00:1122:3344:102::11 (unchanged) - zone 18b99404-d8b2-4463-bc99-638d9b678ab3 type crucible underlay IP fd00:1122:3344:102::e (unchanged) - zone 479811e7-6409-45d4-b294-5333534e47ed type crucible underlay IP fd00:1122:3344:102::9 (unchanged) - zone 54d1b693-bc4d-4c47-9009-c6f624073801 type crucible underlay IP fd00:1122:3344:102::a (unchanged) - zone 5b743072-9369-45d7-b7c9-dbdf736301f8 type internal_dns underlay IP fd00:1122:3344:2::1 (unchanged) - zone 5c4163fa-d6a6-4a0c-9476-3dda135bc9a4 type crucible_pantry underlay IP fd00:1122:3344:102::7 (unchanged) - zone 61a39188-dd82-43f6-a87c-ebb4c2d54ac4 type crucible underlay IP fd00:1122:3344:102::8 (unchanged) - zone 658076ed-fb43-49e7-a813-df3d23497848 type crucible underlay IP fd00:1122:3344:102::10 (unchanged) - zone 6edb836e-b100-4080-bb03-738d6441d571 type crucible underlay IP fd00:1122:3344:102::c (unchanged) - zone 7f83d784-9c5c-498f-b559-4176bbafbc4b type nexus underlay IP fd00:1122:3344:102::5 (unchanged) - zone 8052938f-73bc-4c54-8ed0-c62f6d77b9fd type crucible underlay IP fd00:1122:3344:102::d (unchanged) - zone 86bc0a2a-e24a-4bc1-8222-89207a0937f9 type cockroach_db underlay IP fd00:1122:3344:102::4 (unchanged) - zone 9241b9da-8188-4aae-a9dc-62acb453618f type clickhouse underlay IP fd00:1122:3344:102::6 (unchanged) - zone a781a349-62b2-41f0-9dd7-c64d290aef82 type crucible underlay IP fd00:1122:3344:102::f (unchanged) - zone c67814bf-9972-4bb0-a666-24778ca70a16 type cockroach_db underlay IP fd00:1122:3344:102::3 (unchanged) - zone c74ba7d7-3d5f-4a29-aadc-effe33a90909 type boundary_ntp underlay IP fd00:1122:3344:102::12 (unchanged) - zone dfc27183-ed85-44c3-ac3c-4427c4cb03e3 type crucible underlay IP fd00:1122:3344:102::b (unchanged) - sled fa3c33bf-bc6c-4d29-8dcc-c16b9ab1ec89 + zone 084cac6e-44b5-4333-a2ff-b0993b534898 type crucible underlay IP fd00:1122:3344:102::8 (unchanged) + zone 11c527c5-0598-428e-9270-be5b74d3461b type cockroach_db underlay IP fd00:1122:3344:102::3 (unchanged) + zone 20be9299-495d-428d-b315-694c2c4b64af type crucible_pantry underlay IP fd00:1122:3344:102::6 (unchanged) + zone 2b29cb95-f8c6-4aff-acc0-1c0a627be392 type crucible underlay IP fd00:1122:3344:102::b (unchanged) + zone 8d452bdd-e8b8-4108-a690-46fc59197db0 type crucible underlay IP fd00:1122:3344:102::a (unchanged) + zone 953019c0-8e85-4417-b231-d42820470125 type oximeter underlay IP fd00:1122:3344:102::5 (unchanged) + zone 99c635b9-8e97-414a-8316-8261d2d767d0 type crucible underlay IP fd00:1122:3344:102::7 (unchanged) + zone cbe1abfa-0063-44b2-9ce7-7ad76b403a94 type internal_dns underlay IP fd00:1122:3344:2::1 (unchanged) + zone d52e797a-8fff-4e1e-a5ff-0ab8c8293ded type boundary_ntp underlay IP fd00:1122:3344:102::c (unchanged) + zone dc7f703a-27d1-4802-b85d-5629ddb2d67c type crucible underlay IP fd00:1122:3344:102::9 (unchanged) + zone f0ed9838-6f1b-4646-a478-9f74f2e6e802 type external_dns underlay IP fd00:1122:3344:102::4 (unchanged) + sled f122b3a2-e383-4e42-b2a5-74a69a9d110a zone config generation 5 - zone 185e6b00-7e18-456c-9dfc-edd0194ac207 type crucible underlay IP fd00:1122:3344:103::a (unchanged) - zone 1fc78bc7-feca-4a10-9beb-58b53fda5210 type crucible underlay IP fd00:1122:3344:103::10 (unchanged) - zone 45dccfd6-4674-43c6-a0e7-4dde5f24d90d type internal_dns underlay IP fd00:1122:3344:3::1 (unchanged) - zone 4b74c418-0a08-4489-b652-e97267c1c220 type crucible underlay IP fd00:1122:3344:103::7 (unchanged) - zone 54c947d2-6355-453c-80fc-8f49cc2129ee type nexus underlay IP fd00:1122:3344:103::5 (unchanged) - zone 60d64b70-89f5-4774-9e41-2c79c4173911 type crucible_pantry underlay IP fd00:1122:3344:103::6 (unchanged) - zone 921958c0-7761-4294-945d-2a078327bf2c type crucible underlay IP fd00:1122:3344:103::8 (unchanged) - zone 9df22034-59f6-431f-82e7-258fe983879b type external_dns underlay IP fd00:1122:3344:103::4 (unchanged) - zone bb21c0c4-c43f-4913-9bf9-707bd7f1769a type internal_ntp underlay IP fd00:1122:3344:103::11 (unchanged) - zone ccb0d612-9d7c-41ba-bd51-661c3c75ec91 type crucible underlay IP fd00:1122:3344:103::9 (unchanged) - zone ccef3e95-cae5-4072-9b7d-49e56fa9dff4 type crucible underlay IP fd00:1122:3344:103::d (unchanged) - zone d42fc874-8416-4212-b5a0-febba4c6b0ac type crucible underlay IP fd00:1122:3344:103::b (unchanged) - zone d5ba7d45-26d7-45ca-8c0a-a560f243b5fa type crucible underlay IP fd00:1122:3344:103::e (unchanged) - zone da27ee6a-9841-46aa-acda-7cce3e04cb60 type cockroach_db underlay IP fd00:1122:3344:103::3 (unchanged) - zone e09525cf-9c87-4d05-8860-1356dd0dee8a type crucible underlay IP fd00:1122:3344:103::f (unchanged) - zone f7264a3e-e8e7-4476-8df3-76c9d00a383b type crucible underlay IP fd00:1122:3344:103::c (unchanged) + zone 0d459323-e414-4f32-9944-76c7331da622 type nexus underlay IP fd00:1122:3344:101::5 (unchanged) + zone 2902972b-3ae4-489d-b937-6480352e214a type crucible underlay IP fd00:1122:3344:101::8 (unchanged) + zone 2ee832de-af75-47ac-abac-f91304857ca4 type external_dns underlay IP fd00:1122:3344:101::4 (unchanged) + zone 30050a7e-7fc3-4965-b07b-1635212393eb type crucible_pantry underlay IP fd00:1122:3344:101::6 (unchanged) + zone 8494befe-6df6-42d1-9baa-599ba4228430 type boundary_ntp underlay IP fd00:1122:3344:101::c (unchanged) + zone 92cba955-3a5a-4d82-b0f2-30e89d4556d1 type crucible underlay IP fd00:1122:3344:101::7 (unchanged) + zone 9ba4cda7-d2e4-4c44-b1a6-8ddfe676098b type cockroach_db underlay IP fd00:1122:3344:101::3 (unchanged) + zone e668e3f5-5457-4689-97da-b2af537787ac type crucible underlay IP fd00:1122:3344:101::b (unchanged) + zone f32fd972-7f40-4c58-9e00-7fc5c44273f4 type crucible underlay IP fd00:1122:3344:101::9 (unchanged) + zone f8c79ba4-194a-4cfe-8090-5315e297b780 type internal_dns underlay IP fd00:1122:3344:1::1 (unchanged) + zone fa5e0176-b4a8-4598-aa31-40fd562d246c type crucible underlay IP fd00:1122:3344:101::a (unchanged) > @@ -380,6 +308,6 @@ added sled > -> blueprint-plan cfa03594-f438-4736-a416-6307f7bf8f2e 83ed3949-d221-44f3-a901-02e9ff16d2a5 -generated blueprint REDACTED_UUID based on parent blueprint cfa03594-f438-4736-a416-6307f7bf8f2e +> blueprint-plan cd34e87b-d821-4768-b32f-f41c28db835e 3f61b723-cfe7-40ec-b22c-e3e1f35325f9 +generated blueprint REDACTED_UUID based on parent blueprint cd34e87b-d821-4768-b32f-f41c28db835e From 8cad2c57747af75b78be2e3f7fb064ffd3362d5d Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Tue, 12 Mar 2024 12:27:07 -0700 Subject: [PATCH 14/19] Not using new service plan yet --- schema/rss-service-plan-v3.json | 828 -------------------------------- 1 file changed, 828 deletions(-) delete mode 100644 schema/rss-service-plan-v3.json diff --git a/schema/rss-service-plan-v3.json b/schema/rss-service-plan-v3.json deleted file mode 100644 index e668eb4b99..0000000000 --- a/schema/rss-service-plan-v3.json +++ /dev/null @@ -1,828 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Plan", - "type": "object", - "required": [ - "dns_config", - "services" - ], - "properties": { - "dns_config": { - "$ref": "#/definitions/DnsConfigParams" - }, - "services": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/SledConfig" - } - } - }, - "definitions": { - "DiskIdentity": { - "description": "Uniquely identifies a disk.", - "type": "object", - "required": [ - "model", - "serial", - "vendor" - ], - "properties": { - "model": { - "type": "string" - }, - "serial": { - "type": "string" - }, - "vendor": { - "type": "string" - } - } - }, - "DnsConfigParams": { - "description": "DnsConfigParams\n\n
JSON schema\n\n```json { \"type\": \"object\", \"required\": [ \"generation\", \"time_created\", \"zones\" ], \"properties\": { \"generation\": { \"type\": \"integer\", \"format\": \"uint64\", \"minimum\": 0.0 }, \"time_created\": { \"type\": \"string\", \"format\": \"date-time\" }, \"zones\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/components/schemas/DnsConfigZone\" } } } } ```
", - "type": "object", - "required": [ - "generation", - "time_created", - "zones" - ], - "properties": { - "generation": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "time_created": { - "type": "string", - "format": "date-time" - }, - "zones": { - "type": "array", - "items": { - "$ref": "#/definitions/DnsConfigZone" - } - } - } - }, - "DnsConfigZone": { - "description": "DnsConfigZone\n\n
JSON schema\n\n```json { \"type\": \"object\", \"required\": [ \"records\", \"zone_name\" ], \"properties\": { \"records\": { \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/components/schemas/DnsRecord\" } } }, \"zone_name\": { \"type\": \"string\" } } } ```
", - "type": "object", - "required": [ - "records", - "zone_name" - ], - "properties": { - "records": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/DnsRecord" - } - } - }, - "zone_name": { - "type": "string" - } - } - }, - "DnsRecord": { - "description": "DnsRecord\n\n
JSON schema\n\n```json { \"oneOf\": [ { \"type\": \"object\", \"required\": [ \"data\", \"type\" ], \"properties\": { \"data\": { \"type\": \"string\", \"format\": \"ipv4\" }, \"type\": { \"type\": \"string\", \"enum\": [ \"A\" ] } } }, { \"type\": \"object\", \"required\": [ \"data\", \"type\" ], \"properties\": { \"data\": { \"type\": \"string\", \"format\": \"ipv6\" }, \"type\": { \"type\": \"string\", \"enum\": [ \"AAAA\" ] } } }, { \"type\": \"object\", \"required\": [ \"data\", \"type\" ], \"properties\": { \"data\": { \"$ref\": \"#/components/schemas/Srv\" }, \"type\": { \"type\": \"string\", \"enum\": [ \"SRV\" ] } } } ] } ```
", - "oneOf": [ - { - "type": "object", - "required": [ - "data", - "type" - ], - "properties": { - "data": { - "type": "string", - "format": "ipv4" - }, - "type": { - "type": "string", - "enum": [ - "A" - ] - } - } - }, - { - "type": "object", - "required": [ - "data", - "type" - ], - "properties": { - "data": { - "type": "string", - "format": "ipv6" - }, - "type": { - "type": "string", - "enum": [ - "AAAA" - ] - } - } - }, - { - "type": "object", - "required": [ - "data", - "type" - ], - "properties": { - "data": { - "$ref": "#/definitions/Srv" - }, - "type": { - "type": "string", - "enum": [ - "SRV" - ] - } - } - } - ] - }, - "Generation": { - "description": "Generation numbers stored in the database, used for optimistic concurrency control", - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "IpNet": { - "oneOf": [ - { - "title": "v4", - "allOf": [ - { - "$ref": "#/definitions/Ipv4Net" - } - ] - }, - { - "title": "v6", - "allOf": [ - { - "$ref": "#/definitions/Ipv6Net" - } - ] - } - ] - }, - "Ipv4Net": { - "title": "An IPv4 subnet", - "description": "An IPv4 subnet, including prefix and subnet mask", - "examples": [ - "192.168.1.0/24" - ], - "type": "string", - "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|1[0-9]|2[0-9]|3[0-2])$" - }, - "Ipv6Net": { - "title": "An IPv6 subnet", - "description": "An IPv6 subnet, including prefix and subnet mask", - "examples": [ - "fd12:3456::/64" - ], - "type": "string", - "pattern": "^([fF][dD])[0-9a-fA-F]{2}:(([0-9a-fA-F]{1,4}:){6}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,6}:)([0-9a-fA-F]{1,4})?\\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8])$" - }, - "MacAddr": { - "title": "A MAC address", - "description": "A Media Access Control address, in EUI-48 format", - "examples": [ - "ff:ff:ff:ff:ff:ff" - ], - "type": "string", - "maxLength": 17, - "minLength": 5, - "pattern": "^([0-9a-fA-F]{0,2}:){5}[0-9a-fA-F]{0,2}$" - }, - "Name": { - "title": "A name unique within the parent collection", - "description": "Names must begin with a lower case ASCII letter, be composed exclusively of lowercase ASCII, uppercase ASCII, numbers, and '-', and may not end with a '-'. Names cannot be a UUID though they may contain a UUID.", - "type": "string", - "maxLength": 63, - "minLength": 1, - "pattern": "^(?![0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)^[a-z]([a-zA-Z0-9-]*[a-zA-Z0-9]+)?$" - }, - "NetworkInterface": { - "description": "Information required to construct a virtual network interface", - "type": "object", - "required": [ - "id", - "ip", - "kind", - "mac", - "name", - "primary", - "slot", - "subnet", - "vni" - ], - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "ip": { - "type": "string", - "format": "ip" - }, - "kind": { - "$ref": "#/definitions/NetworkInterfaceKind" - }, - "mac": { - "$ref": "#/definitions/MacAddr" - }, - "name": { - "$ref": "#/definitions/Name" - }, - "primary": { - "type": "boolean" - }, - "slot": { - "type": "integer", - "format": "uint8", - "minimum": 0.0 - }, - "subnet": { - "$ref": "#/definitions/IpNet" - }, - "vni": { - "$ref": "#/definitions/Vni" - } - } - }, - "NetworkInterfaceKind": { - "description": "The type of network interface", - "oneOf": [ - { - "description": "A vNIC attached to a guest instance", - "type": "object", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "type": { - "type": "string", - "enum": [ - "instance" - ] - } - } - }, - { - "description": "A vNIC associated with an internal service", - "type": "object", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "type": { - "type": "string", - "enum": [ - "service" - ] - } - } - } - ] - }, - "OmicronPhysicalDiskConfig": { - "type": "object", - "required": [ - "id", - "identity", - "pool_id" - ], - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "identity": { - "$ref": "#/definitions/DiskIdentity" - }, - "pool_id": { - "type": "string", - "format": "uuid" - } - } - }, - "OmicronPhysicalDisksConfig": { - "type": "object", - "required": [ - "disks", - "generation" - ], - "properties": { - "disks": { - "type": "array", - "items": { - "$ref": "#/definitions/OmicronPhysicalDiskConfig" - } - }, - "generation": { - "description": "generation number of this configuration\n\nThis generation number is owned by the control plane (i.e., RSS or Nexus, depending on whether RSS-to-Nexus handoff has happened). It should not be bumped within Sled Agent.\n\nSled Agent rejects attempts to set the configuration to a generation older than the one it's currently running.", - "allOf": [ - { - "$ref": "#/definitions/Generation" - } - ] - } - } - }, - "OmicronZoneConfig": { - "description": "Describes one Omicron-managed zone running on a sled", - "type": "object", - "required": [ - "id", - "underlay_address", - "zone_type" - ], - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "underlay_address": { - "type": "string", - "format": "ipv6" - }, - "zone_type": { - "$ref": "#/definitions/OmicronZoneType" - } - } - }, - "OmicronZoneDataset": { - "description": "Describes a persistent ZFS dataset associated with an Omicron zone", - "type": "object", - "required": [ - "pool_name" - ], - "properties": { - "pool_name": { - "$ref": "#/definitions/ZpoolName" - } - } - }, - "OmicronZoneType": { - "description": "Describes what kind of zone this is (i.e., what component is running in it) as well as any type-specific configuration", - "oneOf": [ - { - "type": "object", - "required": [ - "address", - "dns_servers", - "nic", - "ntp_servers", - "snat_cfg", - "type" - ], - "properties": { - "address": { - "type": "string" - }, - "dns_servers": { - "type": "array", - "items": { - "type": "string", - "format": "ip" - } - }, - "domain": { - "type": [ - "string", - "null" - ] - }, - "nic": { - "description": "The service vNIC providing outbound connectivity using OPTE.", - "allOf": [ - { - "$ref": "#/definitions/NetworkInterface" - } - ] - }, - "ntp_servers": { - "type": "array", - "items": { - "type": "string" - } - }, - "snat_cfg": { - "description": "The SNAT configuration for outbound connections.", - "allOf": [ - { - "$ref": "#/definitions/SourceNatConfig" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "boundary_ntp" - ] - } - } - }, - { - "type": "object", - "required": [ - "address", - "dataset", - "type" - ], - "properties": { - "address": { - "type": "string" - }, - "dataset": { - "$ref": "#/definitions/OmicronZoneDataset" - }, - "type": { - "type": "string", - "enum": [ - "clickhouse" - ] - } - } - }, - { - "type": "object", - "required": [ - "address", - "dataset", - "type" - ], - "properties": { - "address": { - "type": "string" - }, - "dataset": { - "$ref": "#/definitions/OmicronZoneDataset" - }, - "type": { - "type": "string", - "enum": [ - "clickhouse_keeper" - ] - } - } - }, - { - "type": "object", - "required": [ - "address", - "dataset", - "type" - ], - "properties": { - "address": { - "type": "string" - }, - "dataset": { - "$ref": "#/definitions/OmicronZoneDataset" - }, - "type": { - "type": "string", - "enum": [ - "cockroach_db" - ] - } - } - }, - { - "type": "object", - "required": [ - "address", - "dataset", - "type" - ], - "properties": { - "address": { - "type": "string" - }, - "dataset": { - "$ref": "#/definitions/OmicronZoneDataset" - }, - "type": { - "type": "string", - "enum": [ - "crucible" - ] - } - } - }, - { - "type": "object", - "required": [ - "address", - "type" - ], - "properties": { - "address": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "crucible_pantry" - ] - } - } - }, - { - "type": "object", - "required": [ - "dataset", - "dns_address", - "http_address", - "nic", - "type" - ], - "properties": { - "dataset": { - "$ref": "#/definitions/OmicronZoneDataset" - }, - "dns_address": { - "description": "The address at which the external DNS server is reachable.", - "type": "string" - }, - "http_address": { - "description": "The address at which the external DNS server API is reachable.", - "type": "string" - }, - "nic": { - "description": "The service vNIC providing external connectivity using OPTE.", - "allOf": [ - { - "$ref": "#/definitions/NetworkInterface" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "external_dns" - ] - } - } - }, - { - "type": "object", - "required": [ - "dataset", - "dns_address", - "gz_address", - "gz_address_index", - "http_address", - "type" - ], - "properties": { - "dataset": { - "$ref": "#/definitions/OmicronZoneDataset" - }, - "dns_address": { - "type": "string" - }, - "gz_address": { - "description": "The addresses in the global zone which should be created\n\nFor the DNS service, which exists outside the sleds's typical subnet - adding an address in the GZ is necessary to allow inter-zone traffic routing.", - "type": "string", - "format": "ipv6" - }, - "gz_address_index": { - "description": "The address is also identified with an auxiliary bit of information to ensure that the created global zone address can have a unique name.", - "type": "integer", - "format": "uint32", - "minimum": 0.0 - }, - "http_address": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "internal_dns" - ] - } - } - }, - { - "type": "object", - "required": [ - "address", - "dns_servers", - "ntp_servers", - "type" - ], - "properties": { - "address": { - "type": "string" - }, - "dns_servers": { - "type": "array", - "items": { - "type": "string", - "format": "ip" - } - }, - "domain": { - "type": [ - "string", - "null" - ] - }, - "ntp_servers": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string", - "enum": [ - "internal_ntp" - ] - } - } - }, - { - "type": "object", - "required": [ - "external_dns_servers", - "external_ip", - "external_tls", - "internal_address", - "nic", - "type" - ], - "properties": { - "external_dns_servers": { - "description": "External DNS servers Nexus can use to resolve external hosts.", - "type": "array", - "items": { - "type": "string", - "format": "ip" - } - }, - "external_ip": { - "description": "The address at which the external nexus server is reachable.", - "type": "string", - "format": "ip" - }, - "external_tls": { - "description": "Whether Nexus's external endpoint should use TLS", - "type": "boolean" - }, - "internal_address": { - "description": "The address at which the internal nexus server is reachable.", - "type": "string" - }, - "nic": { - "description": "The service vNIC providing external connectivity using OPTE.", - "allOf": [ - { - "$ref": "#/definitions/NetworkInterface" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "nexus" - ] - } - } - }, - { - "type": "object", - "required": [ - "address", - "type" - ], - "properties": { - "address": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "oximeter" - ] - } - } - } - ] - }, - "SledConfig": { - "type": "object", - "required": [ - "disks", - "zones" - ], - "properties": { - "disks": { - "description": "Control plane disks configured for this sled", - "allOf": [ - { - "$ref": "#/definitions/OmicronPhysicalDisksConfig" - } - ] - }, - "zones": { - "description": "zones configured for this sled", - "type": "array", - "items": { - "$ref": "#/definitions/OmicronZoneConfig" - } - } - } - }, - "SourceNatConfig": { - "description": "An IP address and port range used for source NAT, i.e., making outbound network connections from guests or services.", - "type": "object", - "required": [ - "first_port", - "ip", - "last_port" - ], - "properties": { - "first_port": { - "description": "The first port used for source NAT, inclusive.", - "type": "integer", - "format": "uint16", - "minimum": 0.0 - }, - "ip": { - "description": "The external address provided to the instance or service.", - "type": "string", - "format": "ip" - }, - "last_port": { - "description": "The last port used for source NAT, also inclusive.", - "type": "integer", - "format": "uint16", - "minimum": 0.0 - } - } - }, - "Srv": { - "description": "Srv\n\n
JSON schema\n\n```json { \"type\": \"object\", \"required\": [ \"port\", \"prio\", \"target\", \"weight\" ], \"properties\": { \"port\": { \"type\": \"integer\", \"format\": \"uint16\", \"minimum\": 0.0 }, \"prio\": { \"type\": \"integer\", \"format\": \"uint16\", \"minimum\": 0.0 }, \"target\": { \"type\": \"string\" }, \"weight\": { \"type\": \"integer\", \"format\": \"uint16\", \"minimum\": 0.0 } } } ```
", - "type": "object", - "required": [ - "port", - "prio", - "target", - "weight" - ], - "properties": { - "port": { - "type": "integer", - "format": "uint16", - "minimum": 0.0 - }, - "prio": { - "type": "integer", - "format": "uint16", - "minimum": 0.0 - }, - "target": { - "type": "string" - }, - "weight": { - "type": "integer", - "format": "uint16", - "minimum": 0.0 - } - } - }, - "Vni": { - "description": "A Geneve Virtual Network Identifier", - "type": "integer", - "format": "uint32", - "minimum": 0.0 - }, - "ZpoolName": { - "title": "The name of a Zpool", - "description": "Zpool names are of the format ox{i,p}_. They are either Internal or External, and should be unique", - "type": "string", - "pattern": "^ox[ip]_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" - } - } -} \ No newline at end of file From 8983eaaf8696a87eb1ac4fa3dba6b18bebf1968b Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Tue, 12 Mar 2024 18:31:12 -0700 Subject: [PATCH 15/19] Zpools in inventory --- nexus/db-model/src/inventory.rs | 38 +++++++++- nexus/db-model/src/schema.rs | 13 +++- nexus/db-model/src/zpool.rs | 11 +-- .../db-queries/src/db/datastore/inventory.rs | 69 +++++++++++++++++++ nexus/inventory/src/builder.rs | 1 + nexus/inventory/src/examples.rs | 7 ++ nexus/reconfigurator/planning/src/system.rs | 2 + nexus/types/src/inventory.rs | 17 +++++ openapi/sled-agent.json | 26 ++++++- schema/crdb/42.0.0/up01.sql | 1 + schema/crdb/42.0.0/up02.sql | 9 +++ schema/crdb/dbinit.sql | 25 ++++++- sled-agent/src/params.rs | 8 +++ sled-agent/src/sim/sled_agent.rs | 15 ++-- sled-agent/src/sim/storage.rs | 20 ++++-- sled-agent/src/sled_agent.rs | 21 +++--- 16 files changed, 256 insertions(+), 27 deletions(-) create mode 100644 schema/crdb/42.0.0/up01.sql create mode 100644 schema/crdb/42.0.0/up02.sql diff --git a/nexus/db-model/src/inventory.rs b/nexus/db-model/src/inventory.rs index 1c268c5914..e0b8dfd1bc 100644 --- a/nexus/db-model/src/inventory.rs +++ b/nexus/db-model/src/inventory.rs @@ -9,7 +9,8 @@ use crate::schema::{ hw_baseboard_id, inv_caboose, inv_collection, inv_collection_error, inv_omicron_zone, inv_omicron_zone_nic, inv_physical_disk, inv_root_of_trust, inv_root_of_trust_page, inv_service_processor, - inv_sled_agent, inv_sled_omicron_zones, sw_caboose, sw_root_of_trust_page, + inv_sled_agent, inv_sled_omicron_zones, inv_zpool, + sw_caboose, sw_root_of_trust_page, }; use crate::PhysicalDiskKind; use crate::{ @@ -699,6 +700,41 @@ impl From for nexus_types::inventory::PhysicalDisk { } } +/// See [`nexus_types::inventory::Zpool`]. +#[derive(Queryable, Clone, Debug, Selectable, Insertable)] +#[diesel(table_name = inv_zpool)] +pub struct InvZpool { + pub inv_collection_id: Uuid, + pub id: Uuid, + pub sled_id: Uuid, + pub total_size: ByteCount, +} + +impl InvZpool { + pub fn new( + inv_collection_id: Uuid, + id: Uuid, + sled_id: Uuid, + total_size: ByteCount, + ) -> Self { + Self { + inv_collection_id, + id, + sled_id, + total_size, + } + } +} + +impl From for nexus_types::inventory::Zpool { + fn from(pool: InvZpool) -> Self { + Self { + id: pool.id, + total_size: *pool.total_size, + } + } +} + /// See [`nexus_types::inventory::OmicronZonesFound`]. #[derive(Queryable, Clone, Debug, Selectable, Insertable)] #[diesel(table_name = inv_sled_omicron_zones)] diff --git a/nexus/db-model/src/schema.rs b/nexus/db-model/src/schema.rs index 781f56fe0c..f8a27d92f9 100644 --- a/nexus/db-model/src/schema.rs +++ b/nexus/db-model/src/schema.rs @@ -13,7 +13,7 @@ use omicron_common::api::external::SemverVersion; /// /// This should be updated whenever the schema is changed. For more details, /// refer to: schema/crdb/README.adoc -pub const SCHEMA_VERSION: SemverVersion = SemverVersion::new(41, 0, 0); +pub const SCHEMA_VERSION: SemverVersion = SemverVersion::new(42, 0, 0); table! { disk (id) { @@ -961,7 +961,7 @@ table! { sled_id -> Uuid, physical_disk_id -> Uuid, - total_size -> Int8, + total_size -> Nullable, } } @@ -1375,6 +1375,15 @@ table! { } } +table! { + inv_zpool (inv_collection_id, sled_id, id) { + inv_collection_id -> Uuid, + id -> Uuid, + sled_id -> Uuid, + total_size -> Int8, + } +} + table! { inv_sled_omicron_zones (inv_collection_id, sled_id) { inv_collection_id -> Uuid, diff --git a/nexus/db-model/src/zpool.rs b/nexus/db-model/src/zpool.rs index 21f59e0347..ba65e165a2 100644 --- a/nexus/db-model/src/zpool.rs +++ b/nexus/db-model/src/zpool.rs @@ -27,9 +27,12 @@ pub struct Zpool { // The physical disk to which this Zpool is attached. pub physical_disk_id: Uuid, - // TODO: In the future, we may expand this structure to include - // size, allocation, and health information. - pub total_size: ByteCount, + // There is much more information we can extract, including: + // - Size used, health, etc. + // + // However, we should also consider adding this information to "inv_zpool" + // instead, which acts more as the "observed" zpool. + pub total_size: Option, } impl Zpool { @@ -45,7 +48,7 @@ impl Zpool { rcgen: Generation::new(), sled_id, physical_disk_id, - total_size, + total_size: Some(total_size), } } } diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index 860725cc08..265bb8e023 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -45,6 +45,7 @@ use nexus_db_model::InvRotPage; use nexus_db_model::InvServiceProcessor; use nexus_db_model::InvSledAgent; use nexus_db_model::InvSledOmicronZones; +use nexus_db_model::InvZpool; use nexus_db_model::RotPageWhichEnum; use nexus_db_model::SledRole; use nexus_db_model::SledRoleEnum; @@ -137,6 +138,17 @@ impl DataStore { }) .collect(); + // Pull zpools out of all sled agents + let zpools: Vec<_> = collection + .sled_agents + .iter() + .flat_map(|(sled_id, sled_agent)| { + sled_agent.zpools.iter().map(|pool| { + InvZpool::new(collection_id, pool.id, *sled_id, pool.total_size.into()) + }) + }) + .collect(); + // Partition the sled agents into those with an associated baseboard id // and those without one. We handle these pretty differently. let (sled_agents_baseboards, sled_agents_no_baseboards): ( @@ -670,6 +682,25 @@ impl DataStore { } } + // Insert rows for all the zpools we found. + { + use db::schema::inv_zpool::dsl; + + let batch_size = SQL_BATCH_SIZE.get().try_into().unwrap(); + let mut zpools = zpools.into_iter(); + loop { + let some_zpools = + zpools.by_ref().take(batch_size).collect::>(); + if some_zpools.is_empty() { + break; + } + let _ = diesel::insert_into(dsl::inv_zpool) + .values(some_zpools) + .execute_async(&conn) + .await?; + } + } + // Insert rows for the sled agents that we found. In practice, we'd // expect these to all have baseboards (if using Oxide hardware) or // none have baseboards (if not). @@ -1470,6 +1501,40 @@ impl DataStore { disks }; + // Mapping of "Sled ID" -> "All zpools reported by that sled" + let zpools: BTreeMap< + Uuid, + Vec, + > = { + use db::schema::inv_zpool::dsl; + + let mut zpools = BTreeMap::< + Uuid, + Vec, + >::new(); + let mut paginator = Paginator::new(batch_size); + while let Some(p) = paginator.next() { + let batch = paginated_multicolumn( + dsl::inv_zpool, + (dsl::sled_id, dsl::id), + &p.current_pagparams(), + ) + .filter(dsl::inv_collection_id.eq(id)) + .select(InvZpool::as_select()) + .load_async(&*conn) + .await + .map_err(|e| { + public_error_from_diesel(e, ErrorHandler::Server) + })?; + paginator = + p.found_batch(&batch, &|row| (row.sled_id, row.id)); + for zpool in batch { + zpools.entry(zpool.sled_id).or_default().push(zpool.into()); + } + } + zpools + }; + // Collect the unique baseboard ids referenced by SPs, RoTs, and Sled // Agents. let baseboard_id_ids: BTreeSet<_> = sps @@ -1577,6 +1642,10 @@ impl DataStore { .get(&sled_id) .map(|disks| disks.to_vec()) .unwrap_or_default(), + zpools: zpools + .get(&sled_id) + .map(|zpools| zpools.to_vec()) + .unwrap_or_default(), }; Ok((sled_id, sled_agent)) }) diff --git a/nexus/inventory/src/builder.rs b/nexus/inventory/src/builder.rs index 80db03f18b..7bc62f3948 100644 --- a/nexus/inventory/src/builder.rs +++ b/nexus/inventory/src/builder.rs @@ -462,6 +462,7 @@ impl CollectionBuilder { time_collected: now_db_precision(), sled_id, disks: inventory.disks.into_iter().map(|d| d.into()).collect(), + zpools: inventory.zpools.into_iter().map(|z| z.into()).collect(), }; if let Some(previous) = self.sleds.get(&sled_id) { diff --git a/nexus/inventory/src/examples.rs b/nexus/inventory/src/examples.rs index 286ded7276..5cc6b687d4 100644 --- a/nexus/inventory/src/examples.rs +++ b/nexus/inventory/src/examples.rs @@ -313,6 +313,7 @@ pub fn representative() -> Representative { slot: 3, }, ]; + let zpools = vec![]; builder .found_sled_inventory( @@ -326,6 +327,7 @@ pub fn representative() -> Representative { }, sled_agent_client::types::SledRole::Gimlet, disks, + zpools, ), ) .unwrap(); @@ -351,6 +353,7 @@ pub fn representative() -> Representative { }, sled_agent_client::types::SledRole::Scrimlet, vec![], + vec![], ), ) .unwrap(); @@ -371,6 +374,7 @@ pub fn representative() -> Representative { }, sled_agent_client::types::SledRole::Gimlet, vec![], + vec![], ), ) .unwrap(); @@ -389,6 +393,7 @@ pub fn representative() -> Representative { sled_agent_client::types::Baseboard::Unknown, sled_agent_client::types::SledRole::Gimlet, vec![], + vec![], ), ) .unwrap(); @@ -486,6 +491,7 @@ pub fn sled_agent( baseboard: sled_agent_client::types::Baseboard, sled_role: sled_agent_client::types::SledRole, disks: Vec, + zpools: Vec, ) -> sled_agent_client::types::Inventory { sled_agent_client::types::Inventory { baseboard, @@ -496,5 +502,6 @@ pub fn sled_agent( usable_hardware_threads: 10, usable_physical_ram: ByteCount::from(1024 * 1024), disks, + zpools, } } diff --git a/nexus/reconfigurator/planning/src/system.rs b/nexus/reconfigurator/planning/src/system.rs index 8e8283f37e..e224e3c6df 100644 --- a/nexus/reconfigurator/planning/src/system.rs +++ b/nexus/reconfigurator/planning/src/system.rs @@ -476,6 +476,7 @@ impl Sled { usable_hardware_threads: 10, usable_physical_ram: ByteCount::from(1024 * 1024), disks: vec![], + zpools: vec![], } }; @@ -558,6 +559,7 @@ impl Sled { usable_hardware_threads: inv_sled_agent.usable_hardware_threads, usable_physical_ram: inv_sled_agent.usable_physical_ram, disks: vec![], + zpools: vec![], }; Sled { diff --git a/nexus/types/src/inventory.rs b/nexus/types/src/inventory.rs index b0afe51a76..b2db0b2391 100644 --- a/nexus/types/src/inventory.rs +++ b/nexus/types/src/inventory.rs @@ -367,6 +367,22 @@ impl From for PhysicalDisk { } } +/// A zpool reported by a sled agent. +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] +pub struct Zpool { + pub id: Uuid, + pub total_size: ByteCount, +} + +impl From for Zpool { + fn from(pool: sled_agent_client::types::InventoryZpool) -> Zpool { + Zpool { + id: pool.id, + total_size: pool.total_size, + } + } +} + /// Inventory reported by sled agent /// /// This is a software notion of a sled, distinct from an underlying baseboard. @@ -385,6 +401,7 @@ pub struct SledAgent { pub usable_physical_ram: ByteCount, pub reservoir_size: ByteCount, pub disks: Vec, + pub zpools: Vec, } #[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] diff --git a/openapi/sled-agent.json b/openapi/sled-agent.json index 8de8be430f..5c43c40e56 100644 --- a/openapi/sled-agent.json +++ b/openapi/sled-agent.json @@ -5267,6 +5267,12 @@ }, "usable_physical_ram": { "$ref": "#/components/schemas/ByteCount" + }, + "zpools": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InventoryZpool" + } } }, "required": [ @@ -5277,7 +5283,8 @@ "sled_id", "sled_role", "usable_hardware_threads", - "usable_physical_ram" + "usable_physical_ram", + "zpools" ] }, "InventoryDisk": { @@ -5301,6 +5308,23 @@ "variant" ] }, + "InventoryZpool": { + "description": "Identifies information about zpools managed by the control plane", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "total_size": { + "$ref": "#/components/schemas/ByteCount" + } + }, + "required": [ + "id", + "total_size" + ] + }, "IpNet": { "oneOf": [ { diff --git a/schema/crdb/42.0.0/up01.sql b/schema/crdb/42.0.0/up01.sql new file mode 100644 index 0000000000..ef2e054e18 --- /dev/null +++ b/schema/crdb/42.0.0/up01.sql @@ -0,0 +1 @@ +ALTER TABLE omicron.public.zpool ALTER COLUMN total_size DROP NOT NULL; diff --git a/schema/crdb/42.0.0/up02.sql b/schema/crdb/42.0.0/up02.sql new file mode 100644 index 0000000000..15c76bed87 --- /dev/null +++ b/schema/crdb/42.0.0/up02.sql @@ -0,0 +1,9 @@ +CREATE TABLE IF NOT EXISTS omicron.public.inv_zpool ( + inv_collection_id UUID NOT NULL, + + id UUID NOT NULL, + sled_id UUID NOT NULL, + total_size INT NOT NULL, + + PRIMARY KEY (inv_collection_id, sled_id, id) +); diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index 99d8fea65b..8e27d0b684 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -480,7 +480,11 @@ CREATE TABLE IF NOT EXISTS omicron.public.zpool ( /* FK into the Physical Disk table */ physical_disk_id UUID NOT NULL, - total_size INT NOT NULL + -- The total size is optional, since we learn + -- about it eventually through the inventory system. + -- + -- A "NULL" size means "we don't know what it is yet". + total_size INT ); /* Create an index on the physical disk id */ @@ -2986,6 +2990,23 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_physical_disk ( PRIMARY KEY (inv_collection_id, sled_id, slot) ); +CREATE TABLE IF NOT EXISTS omicron.public.inv_zpool ( + -- where this observation came from + -- (foreign key into `inv_collection` table) + inv_collection_id UUID NOT NULL, + + -- The control plane ID of the zpool + id UUID NOT NULL, + sled_id UUID NOT NULL, + total_size INT NOT NULL, + + -- FK consisting of: + -- - Which collection this was + -- - The sled reporting the disk + -- - The slot in which this disk was found + PRIMARY KEY (inv_collection_id, sled_id, id) +); + CREATE TABLE IF NOT EXISTS omicron.public.inv_sled_omicron_zones ( -- where this observation came from -- (foreign key into `inv_collection` table) @@ -3599,7 +3620,7 @@ INSERT INTO omicron.public.db_metadata ( version, target_version ) VALUES - ( TRUE, NOW(), NOW(), '41.0.0', NULL) + ( TRUE, NOW(), NOW(), '42.0.0', NULL) ON CONFLICT DO NOTHING; COMMIT; diff --git a/sled-agent/src/params.rs b/sled-agent/src/params.rs index 8219a6cf45..00e4535805 100644 --- a/sled-agent/src/params.rs +++ b/sled-agent/src/params.rs @@ -880,6 +880,13 @@ pub struct InventoryDisk { pub slot: i64, } +/// Identifies information about zpools managed by the control plane +#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] +pub struct InventoryZpool { + pub id: Uuid, + pub total_size: ByteCount, +} + /// Identity and basic status information about this sled agent #[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] pub struct Inventory { @@ -891,6 +898,7 @@ pub struct Inventory { pub usable_physical_ram: ByteCount, pub reservoir_size: ByteCount, pub disks: Vec, + pub zpools: Vec, } #[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] diff --git a/sled-agent/src/sim/sled_agent.rs b/sled-agent/src/sim/sled_agent.rs index 425f4e31a4..558de4e766 100644 --- a/sled-agent/src/sim/sled_agent.rs +++ b/sled-agent/src/sim/sled_agent.rs @@ -739,6 +739,8 @@ impl SledAgent { } SocketAddr::V6(v6) => v6, }; + + let storage = self.storage.lock().await; Ok(Inventory { sled_id: self.id, sled_agent_address, @@ -753,10 +755,7 @@ impl SledAgent { self.config.hardware.reservoir_ram, ) .context("reservoir_size")?, - disks: self - .storage - .lock() - .await + disks: storage .physical_disks() .iter() .map(|(identity, info)| crate::params::InventoryDisk { @@ -765,6 +764,14 @@ impl SledAgent { slot: info.slot, }) .collect(), + zpools: storage + .zpools() + .iter() + .map(|(id, zpool)| Ok(crate::params::InventoryZpool { + id: *id, + total_size: ByteCount::try_from(zpool.total_size())?, + })) + .collect::, anyhow::Error>>()?, }) } diff --git a/sled-agent/src/sim/storage.rs b/sled-agent/src/sim/storage.rs index d50cd296ae..016981328d 100644 --- a/sled-agent/src/sim/storage.rs +++ b/sled-agent/src/sim/storage.rs @@ -478,13 +478,17 @@ pub(crate) struct PhysicalDisk { pub(crate) slot: i64, } -struct Zpool { +pub(crate) struct Zpool { datasets: HashMap, + total_size: u64, } impl Zpool { - fn new() -> Self { - Zpool { datasets: HashMap::new() } + fn new(total_size: u64,) -> Self { + Zpool { + datasets: HashMap::new(), + total_size, + } } fn insert_dataset( @@ -501,6 +505,10 @@ impl Zpool { .expect("Failed to get the dataset we just inserted") } + pub fn total_size(&self) -> u64 { + self.total_size + } + pub async fn get_dataset_for_region( &self, region_id: Uuid, @@ -614,7 +622,7 @@ impl Storage { size: u64, ) { // Update our local data - self.zpools.insert(zpool_id, Zpool::new()); + self.zpools.insert(zpool_id, Zpool::new(size)); // Notify Nexus let request = ZpoolPutRequest { @@ -629,6 +637,10 @@ impl Storage { .expect("Failed to notify Nexus about new Zpool"); } + /// Returns an immutable reference to all zpools + pub fn zpools(&self) -> &HashMap { + &self.zpools + } /// Adds a Dataset to the sled's simulated storage. pub async fn insert_dataset( &mut self, diff --git a/sled-agent/src/sled_agent.rs b/sled-agent/src/sled_agent.rs index fa98502c19..e810f88eee 100644 --- a/sled-agent/src/sled_agent.rs +++ b/sled-agent/src/sled_agent.rs @@ -1105,18 +1105,20 @@ impl SledAgent { } else { crate::params::SledRole::Gimlet }; - let disks = self - .storage() - .get_latest_resources() - .await - .disks() - .iter() - .map(|(identity, (disk, _pool))| crate::params::InventoryDisk { + + let mut disks = vec![]; + let mut zpools = vec![]; + for (identity, (disk, pool)) in self.storage().get_latest_resources().await.disks().iter() { + disks.push(crate::params::InventoryDisk { identity: identity.clone(), variant: disk.variant(), slot: disk.slot(), - }) - .collect(); + }); + zpools.push(crate::params::InventoryZpool { + id: pool.name.id(), + total_size: ByteCount::try_from(pool.info.size())?, + }); + } Ok(Inventory { sled_id, @@ -1127,6 +1129,7 @@ impl SledAgent { usable_physical_ram: ByteCount::try_from(usable_physical_ram)?, reservoir_size, disks, + zpools, }) } } From 63d3c4afff66b6fc96e7c6a7ce0ead17b9982384 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Tue, 12 Mar 2024 23:11:04 -0700 Subject: [PATCH 16/19] Build background task to periodically update zpools with inventory info --- nexus/db-model/src/inventory.rs | 16 +-- nexus/db-model/src/zpool.rs | 4 +- .../db-queries/src/db/datastore/inventory.rs | 21 ++-- nexus/db-queries/src/db/datastore/zpool.rs | 36 ++++++ .../src/db/queries/region_allocation.rs | 1 + nexus/src/app/background/init.rs | 62 ++++++---- .../app/background/inventory_collection.rs | 18 ++- nexus/src/app/background/mod.rs | 1 + .../background/physical_storage_monitor.rs | 107 ++++++++++++++++++ nexus/types/src/inventory.rs | 5 +- sled-agent/src/sim/sled_agent.rs | 10 +- sled-agent/src/sim/storage.rs | 7 +- sled-agent/src/sled_agent.rs | 4 +- 13 files changed, 229 insertions(+), 63 deletions(-) create mode 100644 nexus/src/app/background/physical_storage_monitor.rs diff --git a/nexus/db-model/src/inventory.rs b/nexus/db-model/src/inventory.rs index e0b8dfd1bc..b6a99db0b5 100644 --- a/nexus/db-model/src/inventory.rs +++ b/nexus/db-model/src/inventory.rs @@ -9,8 +9,8 @@ use crate::schema::{ hw_baseboard_id, inv_caboose, inv_collection, inv_collection_error, inv_omicron_zone, inv_omicron_zone_nic, inv_physical_disk, inv_root_of_trust, inv_root_of_trust_page, inv_service_processor, - inv_sled_agent, inv_sled_omicron_zones, inv_zpool, - sw_caboose, sw_root_of_trust_page, + inv_sled_agent, inv_sled_omicron_zones, inv_zpool, sw_caboose, + sw_root_of_trust_page, }; use crate::PhysicalDiskKind; use crate::{ @@ -717,21 +717,13 @@ impl InvZpool { sled_id: Uuid, total_size: ByteCount, ) -> Self { - Self { - inv_collection_id, - id, - sled_id, - total_size, - } + Self { inv_collection_id, id, sled_id, total_size } } } impl From for nexus_types::inventory::Zpool { fn from(pool: InvZpool) -> Self { - Self { - id: pool.id, - total_size: *pool.total_size, - } + Self { id: pool.id, total_size: *pool.total_size } } } diff --git a/nexus/db-model/src/zpool.rs b/nexus/db-model/src/zpool.rs index ba65e165a2..2841d0e739 100644 --- a/nexus/db-model/src/zpool.rs +++ b/nexus/db-model/src/zpool.rs @@ -40,7 +40,7 @@ impl Zpool { id: Uuid, sled_id: Uuid, physical_disk_id: Uuid, - total_size: ByteCount, + _total_size: ByteCount, ) -> Self { Self { identity: ZpoolIdentity::new(id), @@ -48,7 +48,7 @@ impl Zpool { rcgen: Generation::new(), sled_id, physical_disk_id, - total_size: Some(total_size), + total_size: None, } } } diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index 265bb8e023..d0baaa1ef8 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -144,7 +144,12 @@ impl DataStore { .iter() .flat_map(|(sled_id, sled_agent)| { sled_agent.zpools.iter().map(|pool| { - InvZpool::new(collection_id, pool.id, *sled_id, pool.total_size.into()) + InvZpool::new( + collection_id, + pool.id, + *sled_id, + pool.total_size.into(), + ) }) }) .collect(); @@ -1502,16 +1507,11 @@ impl DataStore { }; // Mapping of "Sled ID" -> "All zpools reported by that sled" - let zpools: BTreeMap< - Uuid, - Vec, - > = { + let zpools: BTreeMap> = { use db::schema::inv_zpool::dsl; - let mut zpools = BTreeMap::< - Uuid, - Vec, - >::new(); + let mut zpools = + BTreeMap::>::new(); let mut paginator = Paginator::new(batch_size); while let Some(p) = paginator.next() { let batch = paginated_multicolumn( @@ -1526,8 +1526,7 @@ impl DataStore { .map_err(|e| { public_error_from_diesel(e, ErrorHandler::Server) })?; - paginator = - p.found_batch(&batch, &|row| (row.sled_id, row.id)); + paginator = p.found_batch(&batch, &|row| (row.sled_id, row.id)); for zpool in batch { zpools.entry(zpool.sled_id).or_default().push(zpool.into()); } diff --git a/nexus/db-queries/src/db/datastore/zpool.rs b/nexus/db-queries/src/db/datastore/zpool.rs index 5424c126eb..a379b551ad 100644 --- a/nexus/db-queries/src/db/datastore/zpool.rs +++ b/nexus/db-queries/src/db/datastore/zpool.rs @@ -23,6 +23,7 @@ use chrono::Utc; use diesel::prelude::*; use diesel::upsert::excluded; use nexus_db_model::PhysicalDiskKind; +use nexus_types::inventory; use omicron_common::api::external::CreateResult; use omicron_common::api::external::DataPageParams; use omicron_common::api::external::Error; @@ -32,6 +33,41 @@ use omicron_common::api::external::ResourceType; use uuid::Uuid; impl DataStore { + // TODO: Should this be paginated? + // TODO: Alternatively, should we have a better way of "inferring what needs + // to be updated" from inventory? + pub async fn zpool_update_all( + &self, + opctx: &OpContext, + zpools: &Vec, + ) -> Result<(), Error> { + let values_str: String = zpools + .iter() + .map(|zpool| { + format!("('{}', {})", zpool.id, zpool.total_size.to_bytes()) + }) + .collect::>() + .join(", "); + + let query = format!( + "UPDATE omicron.public.zpool + SET total_size = data.total_size + FROM (VALUES {}) AS data(id, total_size) + WHERE + omicron.public.zpool.id = data.id::uuid AND + omicron.public.zpool.time_deleted IS NULL + ", + values_str + ); + + diesel::sql_query(query) + .execute_async(&*self.pool_connection_authorized(opctx).await?) + .await + .map_err(|e| public_error_from_diesel(e, ErrorHandler::Server))?; + + Ok(()) + } + /// Stores a new zpool in the database. pub async fn zpool_upsert(&self, zpool: Zpool) -> CreateResult { use db::schema::zpool::dsl; diff --git a/nexus/db-queries/src/db/queries/region_allocation.rs b/nexus/db-queries/src/db/queries/region_allocation.rs index 96fa2058af..c187d713bc 100644 --- a/nexus/db-queries/src/db/queries/region_allocation.rs +++ b/nexus/db-queries/src/db/queries/region_allocation.rs @@ -331,6 +331,7 @@ impl CandidateZpools { let base_query = old_zpool_usage .query_source() .inner_join(with_zpool) + .filter(zpool_dsl::total_size.is_not_null()) .filter(it_will_fit) .filter(sled_is_provisionable) .filter(sled_is_active) diff --git a/nexus/src/app/background/init.rs b/nexus/src/app/background/init.rs index a213f7da72..75ed460532 100644 --- a/nexus/src/app/background/init.rs +++ b/nexus/src/app/background/init.rs @@ -15,6 +15,7 @@ use super::external_endpoints; use super::inventory_collection; use super::nat_cleanup; use super::phantom_disks; +use super::physical_storage_monitor; use super::region_replacement; use super::sync_service_zone_nat::ServiceZoneNatTracker; use crate::app::sagas::SagaRequest; @@ -76,6 +77,9 @@ pub struct BackgroundTasks { /// task handle for the service zone nat tracker pub task_service_zone_nat_tracker: common::TaskHandle, + /// task handle for the physical storage monitor + pub task_physical_storage_monitor: common::TaskHandle, + /// task handle for the task that detects if regions need replacement and /// begins the process pub task_region_replacement: common::TaskHandle, @@ -224,28 +228,25 @@ impl BackgroundTasks { // because the blueprint executor might also depend indirectly on the // inventory collector. In that case, we may need to do something more // complicated. But for now, this works. - let task_inventory_collection = { - let collector = inventory_collection::InventoryCollector::new( - datastore.clone(), - resolver, - &nexus_id.to_string(), - config.inventory.nkeep, - config.inventory.disable, - ); - let task = driver.register( - String::from("inventory_collection"), - String::from( - "collects hardware and software inventory data from the \ - whole system", - ), - config.inventory.period_secs, - Box::new(collector), - opctx.child(BTreeMap::new()), - vec![Box::new(rx_blueprint_exec)], - ); - - task - }; + let collector = inventory_collection::InventoryCollector::new( + datastore.clone(), + resolver, + &nexus_id.to_string(), + config.inventory.nkeep, + config.inventory.disable, + ); + let rx_inventory_collector = collector.watcher(); + let task_inventory_collection = driver.register( + String::from("inventory_collection"), + String::from( + "collects hardware and software inventory data from the \ + whole system", + ), + config.inventory.period_secs, + Box::new(collector), + opctx.child(BTreeMap::new()), + vec![Box::new(rx_blueprint_exec)], + ); let task_service_zone_nat_tracker = { driver.register( @@ -263,6 +264,22 @@ impl BackgroundTasks { ) }; + let task_physical_storage_monitor = { + driver.register( + "physical_storage_monitor".to_string(), + String::from( + "Updates physical storage metadata in response to inventory", + ), + config.sync_service_zone_nat.period_secs, + Box::new(physical_storage_monitor::PhysicalStorageMonitor::new( + datastore.clone(), + rx_inventory_collector.clone(), + )), + opctx.child(BTreeMap::new()), + vec![Box::new(rx_inventory_collector)], + ) + }; + // Background task: detect if a region needs replacement and begin the // process let task_region_replacement = { @@ -298,6 +315,7 @@ impl BackgroundTasks { task_blueprint_loader, task_blueprint_executor, task_service_zone_nat_tracker, + task_physical_storage_monitor, task_region_replacement, } } diff --git a/nexus/src/app/background/inventory_collection.rs b/nexus/src/app/background/inventory_collection.rs index 0666c136fc..ce0c97d8f2 100644 --- a/nexus/src/app/background/inventory_collection.rs +++ b/nexus/src/app/background/inventory_collection.rs @@ -19,6 +19,7 @@ use nexus_types::inventory::Collection; use serde_json::json; use std::num::NonZeroU32; use std::sync::Arc; +use tokio::sync::watch; /// How many rows to request in each paginated database query const DB_PAGE_SIZE: u32 = 1024; @@ -30,6 +31,7 @@ pub struct InventoryCollector { creator: String, nkeep: u32, disable: bool, + tx: watch::Sender>, } impl InventoryCollector { @@ -40,14 +42,20 @@ impl InventoryCollector { nkeep: u32, disable: bool, ) -> InventoryCollector { + let (tx, _) = watch::channel(None); InventoryCollector { datastore, resolver, creator: creator.to_owned(), nkeep, disable, + tx, } } + + pub fn watcher(&self) -> watch::Receiver> { + self.tx.subscribe() + } } impl BackgroundTask for InventoryCollector { @@ -78,11 +86,17 @@ impl BackgroundTask for InventoryCollector { "collection_id" => collection.id.to_string(), "time_started" => collection.time_started.to_string(), ); - json!({ + + let result = json!({ "collection_id": collection.id.to_string(), "time_started": collection.time_started.to_string(), "time_done": collection.time_done.to_string() - }) + }); + + // Update anyone monitoring the inventory + self.tx.send_modify(|c| *c = Some(collection)); + + result } } } diff --git a/nexus/src/app/background/mod.rs b/nexus/src/app/background/mod.rs index 0065a41a9e..44dcc5a024 100644 --- a/nexus/src/app/background/mod.rs +++ b/nexus/src/app/background/mod.rs @@ -16,6 +16,7 @@ mod init; mod inventory_collection; mod nat_cleanup; mod phantom_disks; +mod physical_storage_monitor; mod region_replacement; mod status; mod sync_service_zone_nat; diff --git a/nexus/src/app/background/physical_storage_monitor.rs b/nexus/src/app/background/physical_storage_monitor.rs new file mode 100644 index 0000000000..ac25a53474 --- /dev/null +++ b/nexus/src/app/background/physical_storage_monitor.rs @@ -0,0 +1,107 @@ +// 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/. + +//! Background task to propagate storage information from inventory +//! to the rest of the database. + +use super::common::BackgroundTask; +use futures::future::BoxFuture; +use futures::FutureExt; +use nexus_db_queries::context::OpContext; +use nexus_db_queries::db::DataStore; +use nexus_types::inventory::Collection; +use serde_json::json; +use std::sync::Arc; +use tokio::sync::watch; + +pub struct PhysicalStorageMonitor { + datastore: Arc, + inventory_rx: watch::Receiver>, +} + +impl PhysicalStorageMonitor { + pub fn new( + datastore: Arc, + inventory_rx: watch::Receiver>, + ) -> Self { + Self { datastore, inventory_rx } + } +} + +impl BackgroundTask for PhysicalStorageMonitor { + fn activate<'a>( + &'a mut self, + opctx: &'a OpContext, + ) -> BoxFuture<'a, serde_json::Value> { + async { + let log = &opctx.log; + let zpools = { + let inventory = self.inventory_rx.borrow(); + let collection = match &*inventory { + Some(c) => c, + None => { + warn!( + &log, + "inventory collection not yet known"; + ); + return json!({ + "error": "inventory collection is None" + }); + } + }; + + collection + .sled_agents + .values() + .flat_map(|info| info.zpools.clone()) + .collect::>() + }; + + if zpools.is_empty() { + error!( + &log, + "no zpools exist"; + ); + return json!({ + "error": "no zpools exist" + }); + } + + // reconcile what we observed in inventory with our representation + // of zpools in the database + let result = + match self.datastore.zpool_update_all(opctx, &zpools).await { + Ok(num) => num, + Err(e) => { + error!( + &log, + "failed to update zpool records"; + "error" => format!("{:#}", e) + ); + return json!({ + "error": + format!( + "failed to update zpool records: \ + {:#}", + e + ) + }); + } + }; + + let rv = serde_json::to_value(&result).unwrap_or_else(|error| { + json!({ + "error": + format!( + "failed to serialize final value: {:#}", + error + ) + }) + }); + + rv + } + .boxed() + } +} diff --git a/nexus/types/src/inventory.rs b/nexus/types/src/inventory.rs index b2db0b2391..bf315086c4 100644 --- a/nexus/types/src/inventory.rs +++ b/nexus/types/src/inventory.rs @@ -376,10 +376,7 @@ pub struct Zpool { impl From for Zpool { fn from(pool: sled_agent_client::types::InventoryZpool) -> Zpool { - Zpool { - id: pool.id, - total_size: pool.total_size, - } + Zpool { id: pool.id, total_size: pool.total_size } } } diff --git a/sled-agent/src/sim/sled_agent.rs b/sled-agent/src/sim/sled_agent.rs index 558de4e766..b772a60347 100644 --- a/sled-agent/src/sim/sled_agent.rs +++ b/sled-agent/src/sim/sled_agent.rs @@ -767,10 +767,12 @@ impl SledAgent { zpools: storage .zpools() .iter() - .map(|(id, zpool)| Ok(crate::params::InventoryZpool { - id: *id, - total_size: ByteCount::try_from(zpool.total_size())?, - })) + .map(|(id, zpool)| { + Ok(crate::params::InventoryZpool { + id: *id, + total_size: ByteCount::try_from(zpool.total_size())?, + }) + }) .collect::, anyhow::Error>>()?, }) } diff --git a/sled-agent/src/sim/storage.rs b/sled-agent/src/sim/storage.rs index 016981328d..8fb362c5b7 100644 --- a/sled-agent/src/sim/storage.rs +++ b/sled-agent/src/sim/storage.rs @@ -484,11 +484,8 @@ pub(crate) struct Zpool { } impl Zpool { - fn new(total_size: u64,) -> Self { - Zpool { - datasets: HashMap::new(), - total_size, - } + fn new(total_size: u64) -> Self { + Zpool { datasets: HashMap::new(), total_size } } fn insert_dataset( diff --git a/sled-agent/src/sled_agent.rs b/sled-agent/src/sled_agent.rs index 08a2348716..713b10428f 100644 --- a/sled-agent/src/sled_agent.rs +++ b/sled-agent/src/sled_agent.rs @@ -1110,7 +1110,9 @@ impl SledAgent { let mut disks = vec![]; let mut zpools = vec![]; - for (identity, (disk, pool)) in self.storage().get_latest_resources().await.disks().iter() { + for (identity, (disk, pool)) in + self.storage().get_latest_resources().await.disks().iter() + { disks.push(crate::params::InventoryDisk { identity: identity.clone(), variant: disk.variant(), From 4d6d4dc99f146be6803d0eda2d66fd03219e36af Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Wed, 13 Mar 2024 19:00:18 -0700 Subject: [PATCH 17/19] Working through FULL SCANs --- nexus/db-model/src/inventory.rs | 18 +++- .../db-model/src/queries/region_allocation.rs | 19 ++++ nexus/db-model/src/schema.rs | 3 +- nexus/db-model/src/zpool.rs | 11 +-- nexus/db-queries/src/db/datastore/dataset.rs | 1 - .../db-queries/src/db/datastore/inventory.rs | 3 +- nexus/db-queries/src/db/datastore/mod.rs | 24 ++++- nexus/db-queries/src/db/datastore/region.rs | 22 +++-- nexus/db-queries/src/db/datastore/zpool.rs | 37 -------- .../src/db/queries/region_allocation.rs | 91 ++++++++++++++++--- nexus/inventory/src/builder.rs | 6 +- .../reconfigurator/execution/src/datasets.rs | 4 +- nexus/src/app/background/init.rs | 62 +++++-------- .../app/background/inventory_collection.rs | 18 +--- nexus/src/app/background/mod.rs | 1 - nexus/src/app/mod.rs | 8 ++ nexus/src/app/rack.rs | 3 +- nexus/src/app/sled.rs | 1 - nexus/src/lib.rs | 15 +++ nexus/test-interface/src/lib.rs | 6 ++ nexus/test-utils/src/resource_helpers.rs | 51 +++++++++++ nexus/types/src/inventory.rs | 7 +- schema/crdb/42.0.0/up01.sql | 2 +- schema/crdb/42.0.0/up02.sql | 1 + schema/crdb/dbinit.sql | 32 ++++--- 25 files changed, 285 insertions(+), 161 deletions(-) diff --git a/nexus/db-model/src/inventory.rs b/nexus/db-model/src/inventory.rs index b6a99db0b5..8d274aa55b 100644 --- a/nexus/db-model/src/inventory.rs +++ b/nexus/db-model/src/inventory.rs @@ -705,6 +705,7 @@ impl From for nexus_types::inventory::PhysicalDisk { #[diesel(table_name = inv_zpool)] pub struct InvZpool { pub inv_collection_id: Uuid, + pub time_collected: DateTime, pub id: Uuid, pub sled_id: Uuid, pub total_size: ByteCount, @@ -713,17 +714,26 @@ pub struct InvZpool { impl InvZpool { pub fn new( inv_collection_id: Uuid, - id: Uuid, sled_id: Uuid, - total_size: ByteCount, + zpool: &nexus_types::inventory::Zpool, ) -> Self { - Self { inv_collection_id, id, sled_id, total_size } + Self { + inv_collection_id, + time_collected: zpool.time_collected, + id: zpool.id, + sled_id, + total_size: zpool.total_size.into(), + } } } impl From for nexus_types::inventory::Zpool { fn from(pool: InvZpool) -> Self { - Self { id: pool.id, total_size: *pool.total_size } + Self { + time_collected: pool.time_collected, + id: pool.id, + total_size: *pool.total_size + } } } diff --git a/nexus/db-model/src/queries/region_allocation.rs b/nexus/db-model/src/queries/region_allocation.rs index a1b9e0373a..4d899fa6ee 100644 --- a/nexus/db-model/src/queries/region_allocation.rs +++ b/nexus/db-model/src/queries/region_allocation.rs @@ -23,6 +23,7 @@ // a CTE (where we want the alias name to come first). use crate::schema::dataset; +use crate::schema::inv_zpool; use crate::schema::sled; use crate::schema::zpool; @@ -78,10 +79,25 @@ table! { } } +table! { + latest_inv_zpools { + id -> Uuid, + total_size -> Numeric, + } +} + +table! { + old_zpool_usage_by_dataset (pool_id) { + pool_id -> Uuid, + size_used -> Numeric, + } +} + table! { old_zpool_usage (pool_id) { pool_id -> Uuid, size_used -> Numeric, + total_size -> Numeric, } } @@ -156,6 +172,9 @@ diesel::allow_tables_to_appear_in_same_query!( ); diesel::allow_tables_to_appear_in_same_query!( + inv_zpool, + latest_inv_zpools, + old_zpool_usage_by_dataset, old_zpool_usage, zpool, sled, diff --git a/nexus/db-model/src/schema.rs b/nexus/db-model/src/schema.rs index f8a27d92f9..68a4562578 100644 --- a/nexus/db-model/src/schema.rs +++ b/nexus/db-model/src/schema.rs @@ -960,8 +960,6 @@ table! { sled_id -> Uuid, physical_disk_id -> Uuid, - - total_size -> Nullable, } } @@ -1378,6 +1376,7 @@ table! { table! { inv_zpool (inv_collection_id, sled_id, id) { inv_collection_id -> Uuid, + time_collected -> Timestamptz, id -> Uuid, sled_id -> Uuid, total_size -> Int8, diff --git a/nexus/db-model/src/zpool.rs b/nexus/db-model/src/zpool.rs index 2841d0e739..a334a37a7a 100644 --- a/nexus/db-model/src/zpool.rs +++ b/nexus/db-model/src/zpool.rs @@ -2,7 +2,7 @@ // 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 super::{ByteCount, Dataset, Generation}; +use super::{Dataset, Generation}; use crate::collection::DatastoreCollectionConfig; use crate::schema::{dataset, zpool}; use chrono::{DateTime, Utc}; @@ -26,13 +26,6 @@ pub struct Zpool { // The physical disk to which this Zpool is attached. pub physical_disk_id: Uuid, - - // There is much more information we can extract, including: - // - Size used, health, etc. - // - // However, we should also consider adding this information to "inv_zpool" - // instead, which acts more as the "observed" zpool. - pub total_size: Option, } impl Zpool { @@ -40,7 +33,6 @@ impl Zpool { id: Uuid, sled_id: Uuid, physical_disk_id: Uuid, - _total_size: ByteCount, ) -> Self { Self { identity: ZpoolIdentity::new(id), @@ -48,7 +40,6 @@ impl Zpool { rcgen: Generation::new(), sled_id, physical_disk_id, - total_size: None, } } } diff --git a/nexus/db-queries/src/db/datastore/dataset.rs b/nexus/db-queries/src/db/datastore/dataset.rs index 792f8f81a4..56f2cb28d9 100644 --- a/nexus/db-queries/src/db/datastore/dataset.rs +++ b/nexus/db-queries/src/db/datastore/dataset.rs @@ -233,7 +233,6 @@ mod test { zpool_id, sled_id, Uuid::new_v4(), - (1 << 30).try_into().unwrap(), ); datastore.zpool_upsert(zpool).await.expect("failed to upsert zpool"); diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index d0baaa1ef8..61311646b3 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -146,9 +146,8 @@ impl DataStore { sled_agent.zpools.iter().map(|pool| { InvZpool::new( collection_id, - pool.id, *sled_id, - pool.total_size.into(), + pool, ) }) }) diff --git a/nexus/db-queries/src/db/datastore/mod.rs b/nexus/db-queries/src/db/datastore/mod.rs index 475fb27df1..4ed83427db 100644 --- a/nexus/db-queries/src/db/datastore/mod.rs +++ b/nexus/db-queries/src/db/datastore/mod.rs @@ -666,9 +666,31 @@ mod test { zpool_id, sled_id, physical_disk_id, - test_zpool_size().into(), ); datastore.zpool_upsert(zpool).await.unwrap(); + + // NOTE: This is a hack! But in lieu of a full inventory collection, + // we need *something* to exist in the inventory system. + + use db::schema::inv_zpool::dsl; + + let inv_collection_id = Uuid::new_v4(); + let time_collected = Utc::now(); + let inv_pool = nexus_db_model::InvZpool { + inv_collection_id, + time_collected, + id: zpool_id, + sled_id, + total_size: test_zpool_size().into(), + }; + diesel::insert_into(dsl::inv_zpool) + .values( + inv_pool + ) + .execute_async(&*datastore.pool_connection_for_tests().await.unwrap()) + .await + .unwrap(); + zpool_id } diff --git a/nexus/db-queries/src/db/datastore/region.rs b/nexus/db-queries/src/db/datastore/region.rs index 912565cb2c..42d4b7125d 100644 --- a/nexus/db-queries/src/db/datastore/region.rs +++ b/nexus/db-queries/src/db/datastore/region.rs @@ -10,6 +10,7 @@ use crate::context::OpContext; use crate::db; use crate::db::error::public_error_from_diesel; use crate::db::error::ErrorHandler; +use crate::db::explain::ExplainableAsync; use crate::db::lookup::LookupPath; use crate::db::model::Dataset; use crate::db::model::Region; @@ -128,15 +129,18 @@ impl DataStore { let (blocks_per_extent, extent_count) = Self::get_crucible_allocation(&block_size, size); - let dataset_and_regions: Vec<(Dataset, Region)> = - crate::db::queries::region_allocation::RegionAllocate::new( - volume_id, - block_size.to_bytes() as u64, - blocks_per_extent, - extent_count, - allocation_strategy, - ) - .get_results_async(&*self.pool_connection_authorized(&opctx).await?) + let query = crate::db::queries::region_allocation::RegionAllocate::new( + volume_id, + block_size.to_bytes() as u64, + blocks_per_extent, + extent_count, + allocation_strategy, + ); + let conn = self.pool_connection_authorized(&opctx).await?; +// println!("{}", query.explain_async(&conn).await.unwrap()); +// panic!("hi"); + let dataset_and_regions: Vec<(Dataset, Region)> = query + .get_results_async(&*conn) .await .map_err(|e| { crate::db::queries::region_allocation::from_diesel(e) diff --git a/nexus/db-queries/src/db/datastore/zpool.rs b/nexus/db-queries/src/db/datastore/zpool.rs index a379b551ad..b894d5c509 100644 --- a/nexus/db-queries/src/db/datastore/zpool.rs +++ b/nexus/db-queries/src/db/datastore/zpool.rs @@ -23,7 +23,6 @@ use chrono::Utc; use diesel::prelude::*; use diesel::upsert::excluded; use nexus_db_model::PhysicalDiskKind; -use nexus_types::inventory; use omicron_common::api::external::CreateResult; use omicron_common::api::external::DataPageParams; use omicron_common::api::external::Error; @@ -33,41 +32,6 @@ use omicron_common::api::external::ResourceType; use uuid::Uuid; impl DataStore { - // TODO: Should this be paginated? - // TODO: Alternatively, should we have a better way of "inferring what needs - // to be updated" from inventory? - pub async fn zpool_update_all( - &self, - opctx: &OpContext, - zpools: &Vec, - ) -> Result<(), Error> { - let values_str: String = zpools - .iter() - .map(|zpool| { - format!("('{}', {})", zpool.id, zpool.total_size.to_bytes()) - }) - .collect::>() - .join(", "); - - let query = format!( - "UPDATE omicron.public.zpool - SET total_size = data.total_size - FROM (VALUES {}) AS data(id, total_size) - WHERE - omicron.public.zpool.id = data.id::uuid AND - omicron.public.zpool.time_deleted IS NULL - ", - values_str - ); - - diesel::sql_query(query) - .execute_async(&*self.pool_connection_authorized(opctx).await?) - .await - .map_err(|e| public_error_from_diesel(e, ErrorHandler::Server))?; - - Ok(()) - } - /// Stores a new zpool in the database. pub async fn zpool_upsert(&self, zpool: Zpool) -> CreateResult { use db::schema::zpool::dsl; @@ -82,7 +46,6 @@ impl DataStore { .set(( dsl::time_modified.eq(Utc::now()), dsl::sled_id.eq(excluded(dsl::sled_id)), - dsl::total_size.eq(excluded(dsl::total_size)), )), ) .insert_and_get_result_async( diff --git a/nexus/db-queries/src/db/queries/region_allocation.rs b/nexus/db-queries/src/db/queries/region_allocation.rs index c187d713bc..93aa250c8c 100644 --- a/nexus/db-queries/src/db/queries/region_allocation.rs +++ b/nexus/db-queries/src/db/queries/region_allocation.rs @@ -12,19 +12,21 @@ use crate::db::pool::DbConnection; use crate::db::subquery::{AsQuerySource, Cte, CteBuilder, CteQuery}; use crate::db::true_or_cast_error::{matches_sentinel, TrueOrCastError}; use db_macros::Subquery; +use diesel::Column; use diesel::pg::Pg; use diesel::query_builder::{AstPass, Query, QueryFragment, QueryId}; use diesel::result::Error as DieselError; use diesel::PgBinaryExpressionMethods; use diesel::{ - sql_types, BoolExpressionMethods, Column, CombineDsl, ExpressionMethods, + sql_types, BoolExpressionMethods, CombineDsl, ExpressionMethods, Insertable, IntoSql, JoinOnDsl, NullableExpressionMethods, QueryDsl, RunQueryDsl, }; use nexus_config::RegionAllocationStrategy; use nexus_db_model::queries::region_allocation::{ candidate_datasets, candidate_regions, candidate_zpools, cockroach_md5, - do_insert, inserted_regions, old_regions, old_zpool_usage, + do_insert, inserted_regions, latest_inv_zpools, old_regions, + old_zpool_usage, old_zpool_usage_by_dataset, proposed_dataset_changes, shuffled_candidate_datasets, updated_datasets, }; use nexus_db_model::schema; @@ -254,15 +256,41 @@ impl ProposedChanges { } } +/// A subquery which finds the most recent zpool collected by inventory. +#[derive(Subquery, QueryId)] +#[subquery(name = latest_inv_zpools)] +struct LatestInvZpools { + query: Box>, +} + +impl LatestInvZpools { + fn new() -> Self { + use crate::db::schema::inv_zpool::dsl as inv_zpool_dsl; + Self { + query: Box::new( + inv_zpool_dsl::inv_zpool + .select(( + inv_zpool_dsl::id, + diesel::dsl::sql::( + &format!("CAST({} AS NUMERIC) AS total_size", inv_zpool_dsl::total_size::NAME) + ), + )) + .order_by((inv_zpool_dsl::id, inv_zpool_dsl::time_collected.desc())) + .distinct_on(inv_zpool_dsl::id) + ), + } + } +} + /// A subquery which calculates the old size being used by zpools /// under consideration as targets for region allocation. #[derive(Subquery, QueryId)] -#[subquery(name = old_zpool_usage)] -struct OldPoolUsage { - query: Box>, +#[subquery(name = old_zpool_usage_by_dataset)] +struct OldPoolUsageByDataset { + query: Box>, } -impl OldPoolUsage { +impl OldPoolUsageByDataset { fn new() -> Self { use crate::db::schema::dataset::dsl as dataset_dsl; Self { @@ -273,7 +301,7 @@ impl OldPoolUsage { .filter(dataset_dsl::time_deleted.is_null()) .select(( dataset_dsl::pool_id, - ExpressionAlias::new::( + ExpressionAlias::new::( diesel::dsl::sum(dataset_dsl::size_used) .assume_not_null(), ), @@ -283,6 +311,34 @@ impl OldPoolUsage { } } +#[derive(Subquery, QueryId)] +#[subquery(name = old_zpool_usage)] +struct OldPoolUsage { + query: Box>, +} + +impl OldPoolUsage { + fn new( + latest_inv_zpools: &LatestInvZpools, + old_zpool_usage_by_dataset: &OldPoolUsageByDataset, + ) -> Self { + Self { + query: Box::new( + latest_inv_zpools.query_source().inner_join( + old_zpool_usage_by_dataset.query_source().on( + latest_inv_zpools::id.eq(old_zpool_usage_by_dataset::pool_id) + ) + ) + .select(( + old_zpool_usage_by_dataset::pool_id, + old_zpool_usage_by_dataset::size_used, + latest_inv_zpools::total_size + )) + ) + } + } +} + /// A subquery which identifies zpools with enough space for a region allocation. #[derive(Subquery, QueryId)] #[subquery(name = candidate_zpools)] @@ -306,7 +362,7 @@ impl CandidateZpools { // is promoted to "numeric" (see: old_zpool_usage::dsl::size_used). // // However, we'd like to compare that value with a different value - // (zpool_dsl::total_size) which is still a "bigint". This comparison + // (zpool_dsl::size_total) which is still a "bigint". This comparison // is safe (after all, we basically want to promote "total_size" to a // Numeric too) but Diesel demands that the input and output SQL types // of expression methods like ".le" match exactly. @@ -314,9 +370,10 @@ impl CandidateZpools { // For similar reasons, we use `diesel::dsl::sql` with zpool_size_delta. // We would like to add it, but diesel only permits us to `to_sql()` it // into a BigInt, not a Numeric. I welcome a better solution. - let it_will_fit = (old_zpool_usage::dsl::size_used - + diesel::dsl::sql(&zpool_size_delta.to_string())) - .le(diesel::dsl::sql(zpool_dsl::total_size::NAME)); + let it_will_fit = ( + old_zpool_usage::dsl::size_used + + diesel::dsl::sql(&zpool_size_delta.to_string()) + ).le(old_zpool_usage::dsl::total_size); // We need to join on the sled table to access provision_state. let with_sled = sled_dsl::sled.on(zpool_dsl::sled_id.eq(sled_dsl::id)); @@ -331,7 +388,7 @@ impl CandidateZpools { let base_query = old_zpool_usage .query_source() .inner_join(with_zpool) - .filter(zpool_dsl::total_size.is_not_null()) +// .filter(inv_zpool_total_size.is_not_null()) .filter(it_will_fit) .filter(sled_is_provisionable) .filter(sled_is_active) @@ -577,9 +634,11 @@ impl RegionAllocate { let old_regions = OldRegions::new(volume_id); - let old_pool_usage = OldPoolUsage::new(); + let latest_inv_zpools = LatestInvZpools::new(); + let old_zpool_usage_by_dataset = OldPoolUsageByDataset::new(); + let old_zpool_usage = OldPoolUsage::new(&latest_inv_zpools, &old_zpool_usage_by_dataset); let candidate_zpools = CandidateZpools::new( - &old_pool_usage, + &old_zpool_usage, size_delta, seed, distinct_sleds, @@ -646,7 +705,9 @@ impl RegionAllocate { let cte = CteBuilder::new() .add_subquery(old_regions) - .add_subquery(old_pool_usage) + .add_subquery(latest_inv_zpools) + .add_subquery(old_zpool_usage_by_dataset) + .add_subquery(old_zpool_usage) .add_subquery(candidate_zpools) .add_subquery(candidate_datasets) .add_subquery(shuffled_candidate_datasets) diff --git a/nexus/inventory/src/builder.rs b/nexus/inventory/src/builder.rs index 7bc62f3948..f28c36f6cd 100644 --- a/nexus/inventory/src/builder.rs +++ b/nexus/inventory/src/builder.rs @@ -26,6 +26,7 @@ use nexus_types::inventory::RotPageWhich; use nexus_types::inventory::RotState; use nexus_types::inventory::ServiceProcessor; use nexus_types::inventory::SledAgent; +use nexus_types::inventory::Zpool; use std::collections::BTreeMap; use std::collections::BTreeSet; use std::sync::Arc; @@ -451,6 +452,7 @@ impl CollectionBuilder { return Ok(()); } }; + let time_collected = now_db_precision(); let sled = SledAgent { source: source.to_string(), sled_agent_address, @@ -459,10 +461,10 @@ impl CollectionBuilder { usable_hardware_threads: inventory.usable_hardware_threads, usable_physical_ram: inventory.usable_physical_ram, reservoir_size: inventory.reservoir_size, - time_collected: now_db_precision(), + time_collected, sled_id, disks: inventory.disks.into_iter().map(|d| d.into()).collect(), - zpools: inventory.zpools.into_iter().map(|z| z.into()).collect(), + zpools: inventory.zpools.into_iter().map(|z| Zpool::new(time_collected, z)).collect(), }; if let Some(previous) = self.sleds.get(&sled_id) { diff --git a/nexus/reconfigurator/execution/src/datasets.rs b/nexus/reconfigurator/execution/src/datasets.rs index 5e677b98be..6da24e4279 100644 --- a/nexus/reconfigurator/execution/src/datasets.rs +++ b/nexus/reconfigurator/execution/src/datasets.rs @@ -200,7 +200,6 @@ mod tests { zpool_name.id(), sled_id, Uuid::new_v4(), // physical_disk_id - (1 << 30).try_into().unwrap(), // total_size ); datastore .zpool_upsert(zpool) @@ -269,8 +268,7 @@ mod tests { let zpool = Zpool::new( new_zpool_id, sled_id, - Uuid::new_v4(), // physical_disk_id - (1 << 30).try_into().unwrap(), // total_size + Uuid::new_v4(), // physical_disk_id ); datastore .zpool_upsert(zpool) diff --git a/nexus/src/app/background/init.rs b/nexus/src/app/background/init.rs index 75ed460532..a213f7da72 100644 --- a/nexus/src/app/background/init.rs +++ b/nexus/src/app/background/init.rs @@ -15,7 +15,6 @@ use super::external_endpoints; use super::inventory_collection; use super::nat_cleanup; use super::phantom_disks; -use super::physical_storage_monitor; use super::region_replacement; use super::sync_service_zone_nat::ServiceZoneNatTracker; use crate::app::sagas::SagaRequest; @@ -77,9 +76,6 @@ pub struct BackgroundTasks { /// task handle for the service zone nat tracker pub task_service_zone_nat_tracker: common::TaskHandle, - /// task handle for the physical storage monitor - pub task_physical_storage_monitor: common::TaskHandle, - /// task handle for the task that detects if regions need replacement and /// begins the process pub task_region_replacement: common::TaskHandle, @@ -228,25 +224,28 @@ impl BackgroundTasks { // because the blueprint executor might also depend indirectly on the // inventory collector. In that case, we may need to do something more // complicated. But for now, this works. - let collector = inventory_collection::InventoryCollector::new( - datastore.clone(), - resolver, - &nexus_id.to_string(), - config.inventory.nkeep, - config.inventory.disable, - ); - let rx_inventory_collector = collector.watcher(); - let task_inventory_collection = driver.register( - String::from("inventory_collection"), - String::from( - "collects hardware and software inventory data from the \ - whole system", - ), - config.inventory.period_secs, - Box::new(collector), - opctx.child(BTreeMap::new()), - vec![Box::new(rx_blueprint_exec)], - ); + let task_inventory_collection = { + let collector = inventory_collection::InventoryCollector::new( + datastore.clone(), + resolver, + &nexus_id.to_string(), + config.inventory.nkeep, + config.inventory.disable, + ); + let task = driver.register( + String::from("inventory_collection"), + String::from( + "collects hardware and software inventory data from the \ + whole system", + ), + config.inventory.period_secs, + Box::new(collector), + opctx.child(BTreeMap::new()), + vec![Box::new(rx_blueprint_exec)], + ); + + task + }; let task_service_zone_nat_tracker = { driver.register( @@ -264,22 +263,6 @@ impl BackgroundTasks { ) }; - let task_physical_storage_monitor = { - driver.register( - "physical_storage_monitor".to_string(), - String::from( - "Updates physical storage metadata in response to inventory", - ), - config.sync_service_zone_nat.period_secs, - Box::new(physical_storage_monitor::PhysicalStorageMonitor::new( - datastore.clone(), - rx_inventory_collector.clone(), - )), - opctx.child(BTreeMap::new()), - vec![Box::new(rx_inventory_collector)], - ) - }; - // Background task: detect if a region needs replacement and begin the // process let task_region_replacement = { @@ -315,7 +298,6 @@ impl BackgroundTasks { task_blueprint_loader, task_blueprint_executor, task_service_zone_nat_tracker, - task_physical_storage_monitor, task_region_replacement, } } diff --git a/nexus/src/app/background/inventory_collection.rs b/nexus/src/app/background/inventory_collection.rs index ce0c97d8f2..0666c136fc 100644 --- a/nexus/src/app/background/inventory_collection.rs +++ b/nexus/src/app/background/inventory_collection.rs @@ -19,7 +19,6 @@ use nexus_types::inventory::Collection; use serde_json::json; use std::num::NonZeroU32; use std::sync::Arc; -use tokio::sync::watch; /// How many rows to request in each paginated database query const DB_PAGE_SIZE: u32 = 1024; @@ -31,7 +30,6 @@ pub struct InventoryCollector { creator: String, nkeep: u32, disable: bool, - tx: watch::Sender>, } impl InventoryCollector { @@ -42,20 +40,14 @@ impl InventoryCollector { nkeep: u32, disable: bool, ) -> InventoryCollector { - let (tx, _) = watch::channel(None); InventoryCollector { datastore, resolver, creator: creator.to_owned(), nkeep, disable, - tx, } } - - pub fn watcher(&self) -> watch::Receiver> { - self.tx.subscribe() - } } impl BackgroundTask for InventoryCollector { @@ -86,17 +78,11 @@ impl BackgroundTask for InventoryCollector { "collection_id" => collection.id.to_string(), "time_started" => collection.time_started.to_string(), ); - - let result = json!({ + json!({ "collection_id": collection.id.to_string(), "time_started": collection.time_started.to_string(), "time_done": collection.time_done.to_string() - }); - - // Update anyone monitoring the inventory - self.tx.send_modify(|c| *c = Some(collection)); - - result + }) } } } diff --git a/nexus/src/app/background/mod.rs b/nexus/src/app/background/mod.rs index 44dcc5a024..0065a41a9e 100644 --- a/nexus/src/app/background/mod.rs +++ b/nexus/src/app/background/mod.rs @@ -16,7 +16,6 @@ mod init; mod inventory_collection; mod nat_cleanup; mod phantom_disks; -mod physical_storage_monitor; mod region_replacement; mod status; mod sync_service_zone_nat; diff --git a/nexus/src/app/mod.rs b/nexus/src/app/mod.rs index 68f57d31f3..1b794ce186 100644 --- a/nexus/src/app/mod.rs +++ b/nexus/src/app/mod.rs @@ -562,6 +562,14 @@ impl Nexus { Some(rustls_cfg) } + // Called to trigger inventory collection. + pub (crate) fn activate_inventory_collection( + &self, + ) { + self.background_tasks + .activate(&self.background_tasks.task_inventory_collection); + } + // Called to hand off management of external servers to Nexus. pub(crate) async fn set_servers( &self, diff --git a/nexus/src/app/rack.rs b/nexus/src/app/rack.rs index 4030fce31d..dcab1635c5 100644 --- a/nexus/src/app/rack.rs +++ b/nexus/src/app/rack.rs @@ -915,8 +915,7 @@ impl super::Nexus { // Trigger an inventory collection so that the newly added sled is known // about. - self.background_tasks - .activate(&self.background_tasks.task_inventory_collection); + self.activate_inventory_collection(); Ok(()) } diff --git a/nexus/src/app/sled.rs b/nexus/src/app/sled.rs index aad6e1122f..e99be2f7d7 100644 --- a/nexus/src/app/sled.rs +++ b/nexus/src/app/sled.rs @@ -250,7 +250,6 @@ impl super::Nexus { id, sled_id, db_disk.uuid(), - info.size.into(), ); self.db_datastore.zpool_upsert(zpool).await?; Ok(()) diff --git a/nexus/src/lib.rs b/nexus/src/lib.rs index c0fba31afb..5fb46250f2 100644 --- a/nexus/src/lib.rs +++ b/nexus/src/lib.rs @@ -29,7 +29,9 @@ use internal_api::http_entrypoints::internal_api; use nexus_config::NexusConfig; use nexus_types::external_api::views::SledProvisionPolicy; use nexus_types::internal_api::params::ServiceKind; +use nexus_types::inventory::Collection; use omicron_common::address::IpRange; +use omicron_common::api::external::Error; use omicron_common::api::internal::shared::{ ExternalPortDiscovery, RackNetworkConfig, SwitchLocation, }; @@ -351,6 +353,19 @@ impl nexus_test_interface::NexusServer for Server { .unwrap(); } + async fn inventory_collect_and_get_latest_collection( + &self, + ) -> Result, Error> { + let nexus = &self.apictx.nexus; + + nexus.activate_inventory_collection(); + + let opctx = nexus.opctx_for_internal_api(); + nexus.datastore() + .inventory_get_latest_collection(&opctx) + .await + } + async fn close(mut self) { self.apictx .nexus diff --git a/nexus/test-interface/src/lib.rs b/nexus/test-interface/src/lib.rs index 10bc9e63f0..4f508b3c6a 100644 --- a/nexus/test-interface/src/lib.rs +++ b/nexus/test-interface/src/lib.rs @@ -35,6 +35,8 @@ use async_trait::async_trait; use nexus_config::NexusConfig; use slog::Logger; use std::net::{SocketAddr, SocketAddrV6}; +use nexus_types::inventory::Collection; +use omicron_common::api::external::Error; use uuid::Uuid; #[async_trait] @@ -89,5 +91,9 @@ pub trait NexusServer: Send + Sync + 'static { address: SocketAddrV6, ); + async fn inventory_collect_and_get_latest_collection( + &self, + ) -> Result, Error>; + async fn close(self); } diff --git a/nexus/test-utils/src/resource_helpers.rs b/nexus/test-utils/src/resource_helpers.rs index 7331843000..053c210a3a 100644 --- a/nexus/test-utils/src/resource_helpers.rs +++ b/nexus/test-utils/src/resource_helpers.rs @@ -32,13 +32,18 @@ use nexus_types::identity::Resource; use nexus_types::internal_api::params as internal_params; use omicron_common::api::external::ByteCount; use omicron_common::api::external::Disk; +use omicron_common::api::external::Error; use omicron_common::api::external::IdentityMetadataCreateParams; use omicron_common::api::external::Instance; use omicron_common::api::external::InstanceCpuCount; use omicron_common::api::external::NameOrId; use omicron_sled_agent::sim::SledAgent; +use omicron_test_utils::dev::poll::wait_for_condition; +use omicron_test_utils::dev::poll::CondCheckError; +use slog::debug; use std::net::IpAddr; use std::sync::Arc; +use std::time::Duration; use uuid::Uuid; pub async fn objects_list_page_authz( @@ -793,6 +798,52 @@ impl DiskTest { .await; } + let log = &cptestctx.logctx.log; + + // Wait until Nexus has successfully completed an inventory collection + // which includes this zpool + wait_for_condition( + || async { + let result = + cptestctx.server.inventory_collect_and_get_latest_collection().await; + let log_result = match &result { + Ok(Some(_)) => Ok("found"), + Ok(None) => Ok("not found"), + Err(error) => Err(error), + }; + debug!( + log, + "attempt to fetch latest inventory collection"; + "result" => ?log_result, + ); + + match result { + Ok(None) => Err(CondCheckError::NotYet), + Ok(Some(c)) => { + let all_zpools = c.sled_agents.values() + .flat_map(|sled_agent| { + sled_agent.zpools.iter().map(|z| z.id) + }) + .collect::>(); + + if all_zpools.contains(&zpool.id) { + Ok(()) + } else { + Err(CondCheckError::NotYet) + } + }, + Err(Error::ServiceUnavailable { .. }) => { + Err(CondCheckError::NotYet) + } + Err(error) => Err(CondCheckError::Failed(error)), + } + }, + &Duration::from_millis(50), + &Duration::from_secs(30), + ) + .await + .expect("expected to find inventory collection"); + self.zpools.push(zpool); } diff --git a/nexus/types/src/inventory.rs b/nexus/types/src/inventory.rs index bf315086c4..58e18236cc 100644 --- a/nexus/types/src/inventory.rs +++ b/nexus/types/src/inventory.rs @@ -370,13 +370,14 @@ impl From for PhysicalDisk { /// A zpool reported by a sled agent. #[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] pub struct Zpool { + pub time_collected: DateTime, pub id: Uuid, pub total_size: ByteCount, } -impl From for Zpool { - fn from(pool: sled_agent_client::types::InventoryZpool) -> Zpool { - Zpool { id: pool.id, total_size: pool.total_size } +impl Zpool { + pub fn new(time_collected: DateTime, pool: sled_agent_client::types::InventoryZpool) -> Zpool { + Zpool { time_collected, id: pool.id, total_size: pool.total_size } } } diff --git a/schema/crdb/42.0.0/up01.sql b/schema/crdb/42.0.0/up01.sql index ef2e054e18..a13133ee67 100644 --- a/schema/crdb/42.0.0/up01.sql +++ b/schema/crdb/42.0.0/up01.sql @@ -1 +1 @@ -ALTER TABLE omicron.public.zpool ALTER COLUMN total_size DROP NOT NULL; +ALTER TABLE omicron.public.zpool DROP COLUMN IF EXISTS total_size; diff --git a/schema/crdb/42.0.0/up02.sql b/schema/crdb/42.0.0/up02.sql index 15c76bed87..601888949b 100644 --- a/schema/crdb/42.0.0/up02.sql +++ b/schema/crdb/42.0.0/up02.sql @@ -1,5 +1,6 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_zpool ( inv_collection_id UUID NOT NULL, + time_collected TIMESTAMPTZ NOT NULL, id UUID NOT NULL, sled_id UUID NOT NULL, diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index 8e27d0b684..2db24757c6 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -462,10 +462,12 @@ CREATE TABLE IF NOT EXISTS omicron.public.virtual_provisioning_resource ( ram_provisioned INT8 NOT NULL ); -/* - * ZPools of Storage, attached to Sleds. - * These are backed by a single physical disk. - */ +-- ZPools of Storage, attached to Sleds. +-- These are backed by a single physical disk. +-- +-- For information about the provisioned zpool, reference the +-- "omicron.public.inv_zpool" table, which returns information +-- that has actually been returned from the underlying sled. CREATE TABLE IF NOT EXISTS omicron.public.zpool ( /* Identity metadata (asset) */ id UUID PRIMARY KEY, @@ -478,13 +480,7 @@ CREATE TABLE IF NOT EXISTS omicron.public.zpool ( sled_id UUID NOT NULL, /* FK into the Physical Disk table */ - physical_disk_id UUID NOT NULL, - - -- The total size is optional, since we learn - -- about it eventually through the inventory system. - -- - -- A "NULL" size means "we don't know what it is yet". - total_size INT + physical_disk_id UUID NOT NULL ); /* Create an index on the physical disk id */ @@ -2994,6 +2990,8 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_zpool ( -- where this observation came from -- (foreign key into `inv_collection` table) inv_collection_id UUID NOT NULL, + -- when this observation was made + time_collected TIMESTAMPTZ NOT NULL, -- The control plane ID of the zpool id UUID NOT NULL, @@ -3007,6 +3005,18 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_zpool ( PRIMARY KEY (inv_collection_id, sled_id, id) ); +-- Allow looking up the most recent Zpool by ID +CREATE INDEX IF NOT EXISTS inv_zpool_by_id_and_time ON omicron.public.inv_zpool (id, time_collected DESC NULLS LAST); +CREATE INDEX IF NOT EXISTS inv_zpool_by_id_and_time2 ON omicron.public.inv_zpool (time_collected DESC NULLS LAST, id); +CREATE INDEX IF NOT EXISTS inv_zpool_by_id ON omicron.public.inv_zpool (id); +CREATE INDEX IF NOT EXISTS inv_zpool_by_time ON omicron.public.inv_zpool (time_collected DESC); + +CREATE INDEX ON omicron.public.dataset (time_deleted) STORING (pool_id, size_used); +CREATE INDEX ON omicron.public.dataset (time_deleted, kind, pool_id, id) STORING (size_used); +CREATE INDEX ON omicron.public.region (volume_id) STORING (time_created, time_modified, dataset_id, block_size, blocks_per_extent, extent_count); +CREATE INDEX ON omicron.public.sled (sled_policy, sled_state, id); +CREATE INDEX ON omicron.public.zpool (sled_id); + CREATE TABLE IF NOT EXISTS omicron.public.inv_sled_omicron_zones ( -- where this observation came from -- (foreign key into `inv_collection` table) From 8a0dc14d595a9e8fce61bc749965ef9dd0de4e70 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Wed, 13 Mar 2024 19:52:44 -0700 Subject: [PATCH 18/19] Fix full table scan, add test --- nexus/db-model/src/inventory.rs | 2 +- .../db-model/src/queries/region_allocation.rs | 19 --- nexus/db-model/src/zpool.rs | 6 +- nexus/db-queries/src/db/datastore/dataset.rs | 6 +- .../db-queries/src/db/datastore/inventory.rs | 11 +- nexus/db-queries/src/db/datastore/mod.rs | 141 ++++++++++++++++-- nexus/db-queries/src/db/datastore/region.rs | 9 +- .../src/db/queries/region_allocation.rs | 92 +++--------- nexus/inventory/src/builder.rs | 6 +- .../background/physical_storage_monitor.rs | 107 ------------- nexus/src/app/mod.rs | 4 +- nexus/src/app/sled.rs | 6 +- nexus/src/lib.rs | 4 +- nexus/test-interface/src/lib.rs | 4 +- nexus/test-utils/src/resource_helpers.rs | 12 +- nexus/types/src/inventory.rs | 5 +- schema/crdb/42.0.0/up03.sql | 1 + schema/crdb/dbinit.sql | 11 +- 18 files changed, 179 insertions(+), 267 deletions(-) delete mode 100644 nexus/src/app/background/physical_storage_monitor.rs create mode 100644 schema/crdb/42.0.0/up03.sql diff --git a/nexus/db-model/src/inventory.rs b/nexus/db-model/src/inventory.rs index 8d274aa55b..cde067f3e8 100644 --- a/nexus/db-model/src/inventory.rs +++ b/nexus/db-model/src/inventory.rs @@ -732,7 +732,7 @@ impl From for nexus_types::inventory::Zpool { Self { time_collected: pool.time_collected, id: pool.id, - total_size: *pool.total_size + total_size: *pool.total_size, } } } diff --git a/nexus/db-model/src/queries/region_allocation.rs b/nexus/db-model/src/queries/region_allocation.rs index 4d899fa6ee..a1b9e0373a 100644 --- a/nexus/db-model/src/queries/region_allocation.rs +++ b/nexus/db-model/src/queries/region_allocation.rs @@ -23,7 +23,6 @@ // a CTE (where we want the alias name to come first). use crate::schema::dataset; -use crate::schema::inv_zpool; use crate::schema::sled; use crate::schema::zpool; @@ -79,25 +78,10 @@ table! { } } -table! { - latest_inv_zpools { - id -> Uuid, - total_size -> Numeric, - } -} - -table! { - old_zpool_usage_by_dataset (pool_id) { - pool_id -> Uuid, - size_used -> Numeric, - } -} - table! { old_zpool_usage (pool_id) { pool_id -> Uuid, size_used -> Numeric, - total_size -> Numeric, } } @@ -172,9 +156,6 @@ diesel::allow_tables_to_appear_in_same_query!( ); diesel::allow_tables_to_appear_in_same_query!( - inv_zpool, - latest_inv_zpools, - old_zpool_usage_by_dataset, old_zpool_usage, zpool, sled, diff --git a/nexus/db-model/src/zpool.rs b/nexus/db-model/src/zpool.rs index a334a37a7a..1d129d4c57 100644 --- a/nexus/db-model/src/zpool.rs +++ b/nexus/db-model/src/zpool.rs @@ -29,11 +29,7 @@ pub struct Zpool { } impl Zpool { - pub fn new( - id: Uuid, - sled_id: Uuid, - physical_disk_id: Uuid, - ) -> Self { + pub fn new(id: Uuid, sled_id: Uuid, physical_disk_id: Uuid) -> Self { Self { identity: ZpoolIdentity::new(id), time_deleted: None, diff --git a/nexus/db-queries/src/db/datastore/dataset.rs b/nexus/db-queries/src/db/datastore/dataset.rs index 56f2cb28d9..292f13354f 100644 --- a/nexus/db-queries/src/db/datastore/dataset.rs +++ b/nexus/db-queries/src/db/datastore/dataset.rs @@ -229,11 +229,7 @@ mod test { // Create a fake zpool that backs our fake datasets. let zpool_id = Uuid::new_v4(); - let zpool = Zpool::new( - zpool_id, - sled_id, - Uuid::new_v4(), - ); + let zpool = Zpool::new(zpool_id, sled_id, Uuid::new_v4()); datastore.zpool_upsert(zpool).await.expect("failed to upsert zpool"); // Inserting a new dataset should succeed. diff --git a/nexus/db-queries/src/db/datastore/inventory.rs b/nexus/db-queries/src/db/datastore/inventory.rs index 61311646b3..67d5684bbf 100644 --- a/nexus/db-queries/src/db/datastore/inventory.rs +++ b/nexus/db-queries/src/db/datastore/inventory.rs @@ -143,13 +143,10 @@ impl DataStore { .sled_agents .iter() .flat_map(|(sled_id, sled_agent)| { - sled_agent.zpools.iter().map(|pool| { - InvZpool::new( - collection_id, - *sled_id, - pool, - ) - }) + sled_agent + .zpools + .iter() + .map(|pool| InvZpool::new(collection_id, *sled_id, pool)) }) .collect(); diff --git a/nexus/db-queries/src/db/datastore/mod.rs b/nexus/db-queries/src/db/datastore/mod.rs index 4ed83427db..b564f24862 100644 --- a/nexus/db-queries/src/db/datastore/mod.rs +++ b/nexus/db-queries/src/db/datastore/mod.rs @@ -661,17 +661,39 @@ mod test { sled_id: Uuid, physical_disk_id: Uuid, ) -> Uuid { - let zpool_id = Uuid::new_v4(); - let zpool = Zpool::new( - zpool_id, + let zpool_id = create_test_zpool_not_in_inventory( + datastore, sled_id, physical_disk_id, - ); - datastore.zpool_upsert(zpool).await.unwrap(); + ) + .await; + + add_test_zpool_to_inventory(datastore, zpool_id, sled_id).await; - // NOTE: This is a hack! But in lieu of a full inventory collection, - // we need *something* to exist in the inventory system. + zpool_id + } + + // Creates a test zpool, returns its UUID. + // + // However, don't add the zpool to the inventory just yet. + async fn create_test_zpool_not_in_inventory( + datastore: &DataStore, + sled_id: Uuid, + physical_disk_id: Uuid, + ) -> Uuid { + let zpool_id = Uuid::new_v4(); + let zpool = Zpool::new(zpool_id, sled_id, physical_disk_id); + datastore.zpool_upsert(zpool).await.unwrap(); + zpool_id + } + // Adds a test zpool into the inventory, with a randomly generated + // collection UUID. + async fn add_test_zpool_to_inventory( + datastore: &DataStore, + zpool_id: Uuid, + sled_id: Uuid, + ) { use db::schema::inv_zpool::dsl; let inv_collection_id = Uuid::new_v4(); @@ -684,14 +706,12 @@ mod test { total_size: test_zpool_size().into(), }; diesel::insert_into(dsl::inv_zpool) - .values( - inv_pool + .values(inv_pool) + .execute_async( + &*datastore.pool_connection_for_tests().await.unwrap(), ) - .execute_async(&*datastore.pool_connection_for_tests().await.unwrap()) .await .unwrap(); - - zpool_id } fn create_test_disk_create_params( @@ -1178,6 +1198,103 @@ mod test { logctx.cleanup_successful(); } + #[tokio::test] + async fn test_region_allocation_only_operates_on_zpools_in_inventory() { + let logctx = dev::test_setup_log( + "test_region_allocation_only_operates_on_zpools_in_inventory", + ); + let mut db = test_setup_database(&logctx.log).await; + let (opctx, datastore) = datastore_test(&logctx, &db).await; + + // Create a sled... + let sled_id = create_test_sled(&datastore).await; + + // ... and a disk on that sled... + let physical_disk_id = create_test_physical_disk( + &datastore, + &opctx, + sled_id, + PhysicalDiskKind::U2, + ) + .await; + + // Create enough zpools for region allocation to succeed + let zpool_ids: Vec = stream::iter(0..REGION_REDUNDANCY_THRESHOLD) + .then(|_| { + create_test_zpool_not_in_inventory( + &datastore, + sled_id, + physical_disk_id, + ) + }) + .collect() + .await; + + let bogus_addr = SocketAddrV6::new(Ipv6Addr::LOCALHOST, 8080, 0, 0); + + // 1 dataset per zpool + stream::iter(zpool_ids.clone()) + .then(|zpool_id| { + let id = Uuid::new_v4(); + let dataset = Dataset::new( + id, + zpool_id, + bogus_addr, + DatasetKind::Crucible, + ); + let datastore = datastore.clone(); + async move { + datastore.dataset_upsert(dataset).await.unwrap(); + id + } + }) + .collect::>() + .await; + + // Allocate regions from the datasets for this volume. + let params = create_test_disk_create_params( + "disk1", + ByteCount::from_mebibytes_u32(500), + ); + let volume1_id = Uuid::new_v4(); + let err = datastore + .region_allocate( + &opctx, + volume1_id, + ¶ms.disk_source, + params.size, + &RegionAllocationStrategy::Random { seed: Some(0) }, + ) + .await + .unwrap_err(); + + let expected = "Not enough zpool space to allocate disks"; + assert!( + err.to_string().contains(expected), + "Saw error: \'{err}\', but expected \'{expected}\'" + ); + assert!(matches!(err, Error::InsufficientCapacity { .. })); + + // If we add the zpools to the inventory and try again, the allocation + // will succeed. + for zpool_id in zpool_ids { + add_test_zpool_to_inventory(&datastore, zpool_id, sled_id).await; + } + datastore + .region_allocate( + &opctx, + volume1_id, + ¶ms.disk_source, + params.size, + &RegionAllocationStrategy::Random { seed: Some(0) }, + ) + .await + .expect("Allocation should have worked after adding zpools to inventory"); + + let _ = db.cleanup().await; + logctx.cleanup_successful(); + } + #[tokio::test] async fn test_region_allocation_not_enough_zpools() { let logctx = diff --git a/nexus/db-queries/src/db/datastore/region.rs b/nexus/db-queries/src/db/datastore/region.rs index 42d4b7125d..52e0ce4d88 100644 --- a/nexus/db-queries/src/db/datastore/region.rs +++ b/nexus/db-queries/src/db/datastore/region.rs @@ -10,7 +10,6 @@ use crate::context::OpContext; use crate::db; use crate::db::error::public_error_from_diesel; use crate::db::error::ErrorHandler; -use crate::db::explain::ExplainableAsync; use crate::db::lookup::LookupPath; use crate::db::model::Dataset; use crate::db::model::Region; @@ -137,12 +136,8 @@ impl DataStore { allocation_strategy, ); let conn = self.pool_connection_authorized(&opctx).await?; -// println!("{}", query.explain_async(&conn).await.unwrap()); -// panic!("hi"); - let dataset_and_regions: Vec<(Dataset, Region)> = query - .get_results_async(&*conn) - .await - .map_err(|e| { + let dataset_and_regions: Vec<(Dataset, Region)> = + query.get_results_async(&*conn).await.map_err(|e| { crate::db::queries::region_allocation::from_diesel(e) })?; diff --git a/nexus/db-queries/src/db/queries/region_allocation.rs b/nexus/db-queries/src/db/queries/region_allocation.rs index 93aa250c8c..a657d21c97 100644 --- a/nexus/db-queries/src/db/queries/region_allocation.rs +++ b/nexus/db-queries/src/db/queries/region_allocation.rs @@ -12,7 +12,6 @@ use crate::db::pool::DbConnection; use crate::db::subquery::{AsQuerySource, Cte, CteBuilder, CteQuery}; use crate::db::true_or_cast_error::{matches_sentinel, TrueOrCastError}; use db_macros::Subquery; -use diesel::Column; use diesel::pg::Pg; use diesel::query_builder::{AstPass, Query, QueryFragment, QueryId}; use diesel::result::Error as DieselError; @@ -25,8 +24,7 @@ use diesel::{ use nexus_config::RegionAllocationStrategy; use nexus_db_model::queries::region_allocation::{ candidate_datasets, candidate_regions, candidate_zpools, cockroach_md5, - do_insert, inserted_regions, latest_inv_zpools, old_regions, - old_zpool_usage, old_zpool_usage_by_dataset, + do_insert, inserted_regions, old_regions, old_zpool_usage, proposed_dataset_changes, shuffled_candidate_datasets, updated_datasets, }; use nexus_db_model::schema; @@ -256,41 +254,15 @@ impl ProposedChanges { } } -/// A subquery which finds the most recent zpool collected by inventory. -#[derive(Subquery, QueryId)] -#[subquery(name = latest_inv_zpools)] -struct LatestInvZpools { - query: Box>, -} - -impl LatestInvZpools { - fn new() -> Self { - use crate::db::schema::inv_zpool::dsl as inv_zpool_dsl; - Self { - query: Box::new( - inv_zpool_dsl::inv_zpool - .select(( - inv_zpool_dsl::id, - diesel::dsl::sql::( - &format!("CAST({} AS NUMERIC) AS total_size", inv_zpool_dsl::total_size::NAME) - ), - )) - .order_by((inv_zpool_dsl::id, inv_zpool_dsl::time_collected.desc())) - .distinct_on(inv_zpool_dsl::id) - ), - } - } -} - /// A subquery which calculates the old size being used by zpools /// under consideration as targets for region allocation. #[derive(Subquery, QueryId)] -#[subquery(name = old_zpool_usage_by_dataset)] -struct OldPoolUsageByDataset { - query: Box>, +#[subquery(name = old_zpool_usage)] +struct OldPoolUsage { + query: Box>, } -impl OldPoolUsageByDataset { +impl OldPoolUsage { fn new() -> Self { use crate::db::schema::dataset::dsl as dataset_dsl; Self { @@ -301,7 +273,7 @@ impl OldPoolUsageByDataset { .filter(dataset_dsl::time_deleted.is_null()) .select(( dataset_dsl::pool_id, - ExpressionAlias::new::( + ExpressionAlias::new::( diesel::dsl::sum(dataset_dsl::size_used) .assume_not_null(), ), @@ -311,34 +283,6 @@ impl OldPoolUsageByDataset { } } -#[derive(Subquery, QueryId)] -#[subquery(name = old_zpool_usage)] -struct OldPoolUsage { - query: Box>, -} - -impl OldPoolUsage { - fn new( - latest_inv_zpools: &LatestInvZpools, - old_zpool_usage_by_dataset: &OldPoolUsageByDataset, - ) -> Self { - Self { - query: Box::new( - latest_inv_zpools.query_source().inner_join( - old_zpool_usage_by_dataset.query_source().on( - latest_inv_zpools::id.eq(old_zpool_usage_by_dataset::pool_id) - ) - ) - .select(( - old_zpool_usage_by_dataset::pool_id, - old_zpool_usage_by_dataset::size_used, - latest_inv_zpools::total_size - )) - ) - } - } -} - /// A subquery which identifies zpools with enough space for a region allocation. #[derive(Subquery, QueryId)] #[subquery(name = candidate_zpools)] @@ -362,7 +306,7 @@ impl CandidateZpools { // is promoted to "numeric" (see: old_zpool_usage::dsl::size_used). // // However, we'd like to compare that value with a different value - // (zpool_dsl::size_total) which is still a "bigint". This comparison + // (zpool_dsl::total_size) which is still a "bigint". This comparison // is safe (after all, we basically want to promote "total_size" to a // Numeric too) but Diesel demands that the input and output SQL types // of expression methods like ".le" match exactly. @@ -370,10 +314,13 @@ impl CandidateZpools { // For similar reasons, we use `diesel::dsl::sql` with zpool_size_delta. // We would like to add it, but diesel only permits us to `to_sql()` it // into a BigInt, not a Numeric. I welcome a better solution. - let it_will_fit = ( - old_zpool_usage::dsl::size_used - + diesel::dsl::sql(&zpool_size_delta.to_string()) - ).le(old_zpool_usage::dsl::total_size); + let it_will_fit = (old_zpool_usage::dsl::size_used + + diesel::dsl::sql(&zpool_size_delta.to_string())) + .le(diesel::dsl::sql( + "(SELECT total_size FROM omicron.public.inv_zpool WHERE + inv_zpool.id = old_zpool_usage.pool_id + ORDER BY inv_zpool.time_collected DESC LIMIT 1)", + )); // We need to join on the sled table to access provision_state. let with_sled = sled_dsl::sled.on(zpool_dsl::sled_id.eq(sled_dsl::id)); @@ -388,7 +335,6 @@ impl CandidateZpools { let base_query = old_zpool_usage .query_source() .inner_join(with_zpool) -// .filter(inv_zpool_total_size.is_not_null()) .filter(it_will_fit) .filter(sled_is_provisionable) .filter(sled_is_active) @@ -634,11 +580,9 @@ impl RegionAllocate { let old_regions = OldRegions::new(volume_id); - let latest_inv_zpools = LatestInvZpools::new(); - let old_zpool_usage_by_dataset = OldPoolUsageByDataset::new(); - let old_zpool_usage = OldPoolUsage::new(&latest_inv_zpools, &old_zpool_usage_by_dataset); + let old_pool_usage = OldPoolUsage::new(); let candidate_zpools = CandidateZpools::new( - &old_zpool_usage, + &old_pool_usage, size_delta, seed, distinct_sleds, @@ -705,9 +649,7 @@ impl RegionAllocate { let cte = CteBuilder::new() .add_subquery(old_regions) - .add_subquery(latest_inv_zpools) - .add_subquery(old_zpool_usage_by_dataset) - .add_subquery(old_zpool_usage) + .add_subquery(old_pool_usage) .add_subquery(candidate_zpools) .add_subquery(candidate_datasets) .add_subquery(shuffled_candidate_datasets) diff --git a/nexus/inventory/src/builder.rs b/nexus/inventory/src/builder.rs index f28c36f6cd..2e482fcebf 100644 --- a/nexus/inventory/src/builder.rs +++ b/nexus/inventory/src/builder.rs @@ -464,7 +464,11 @@ impl CollectionBuilder { time_collected, sled_id, disks: inventory.disks.into_iter().map(|d| d.into()).collect(), - zpools: inventory.zpools.into_iter().map(|z| Zpool::new(time_collected, z)).collect(), + zpools: inventory + .zpools + .into_iter() + .map(|z| Zpool::new(time_collected, z)) + .collect(), }; if let Some(previous) = self.sleds.get(&sled_id) { diff --git a/nexus/src/app/background/physical_storage_monitor.rs b/nexus/src/app/background/physical_storage_monitor.rs deleted file mode 100644 index ac25a53474..0000000000 --- a/nexus/src/app/background/physical_storage_monitor.rs +++ /dev/null @@ -1,107 +0,0 @@ -// 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/. - -//! Background task to propagate storage information from inventory -//! to the rest of the database. - -use super::common::BackgroundTask; -use futures::future::BoxFuture; -use futures::FutureExt; -use nexus_db_queries::context::OpContext; -use nexus_db_queries::db::DataStore; -use nexus_types::inventory::Collection; -use serde_json::json; -use std::sync::Arc; -use tokio::sync::watch; - -pub struct PhysicalStorageMonitor { - datastore: Arc, - inventory_rx: watch::Receiver>, -} - -impl PhysicalStorageMonitor { - pub fn new( - datastore: Arc, - inventory_rx: watch::Receiver>, - ) -> Self { - Self { datastore, inventory_rx } - } -} - -impl BackgroundTask for PhysicalStorageMonitor { - fn activate<'a>( - &'a mut self, - opctx: &'a OpContext, - ) -> BoxFuture<'a, serde_json::Value> { - async { - let log = &opctx.log; - let zpools = { - let inventory = self.inventory_rx.borrow(); - let collection = match &*inventory { - Some(c) => c, - None => { - warn!( - &log, - "inventory collection not yet known"; - ); - return json!({ - "error": "inventory collection is None" - }); - } - }; - - collection - .sled_agents - .values() - .flat_map(|info| info.zpools.clone()) - .collect::>() - }; - - if zpools.is_empty() { - error!( - &log, - "no zpools exist"; - ); - return json!({ - "error": "no zpools exist" - }); - } - - // reconcile what we observed in inventory with our representation - // of zpools in the database - let result = - match self.datastore.zpool_update_all(opctx, &zpools).await { - Ok(num) => num, - Err(e) => { - error!( - &log, - "failed to update zpool records"; - "error" => format!("{:#}", e) - ); - return json!({ - "error": - format!( - "failed to update zpool records: \ - {:#}", - e - ) - }); - } - }; - - let rv = serde_json::to_value(&result).unwrap_or_else(|error| { - json!({ - "error": - format!( - "failed to serialize final value: {:#}", - error - ) - }) - }); - - rv - } - .boxed() - } -} diff --git a/nexus/src/app/mod.rs b/nexus/src/app/mod.rs index 1b794ce186..d387998f6a 100644 --- a/nexus/src/app/mod.rs +++ b/nexus/src/app/mod.rs @@ -563,9 +563,7 @@ impl Nexus { } // Called to trigger inventory collection. - pub (crate) fn activate_inventory_collection( - &self, - ) { + pub(crate) fn activate_inventory_collection(&self) { self.background_tasks .activate(&self.background_tasks.task_inventory_collection); } diff --git a/nexus/src/app/sled.rs b/nexus/src/app/sled.rs index e99be2f7d7..745ee4fe13 100644 --- a/nexus/src/app/sled.rs +++ b/nexus/src/app/sled.rs @@ -246,11 +246,7 @@ impl super::Nexus { ) .fetch() .await?; - let zpool = db::model::Zpool::new( - id, - sled_id, - db_disk.uuid(), - ); + let zpool = db::model::Zpool::new(id, sled_id, db_disk.uuid()); self.db_datastore.zpool_upsert(zpool).await?; Ok(()) } diff --git a/nexus/src/lib.rs b/nexus/src/lib.rs index 5fb46250f2..ed4cd12e7c 100644 --- a/nexus/src/lib.rs +++ b/nexus/src/lib.rs @@ -361,9 +361,7 @@ impl nexus_test_interface::NexusServer for Server { nexus.activate_inventory_collection(); let opctx = nexus.opctx_for_internal_api(); - nexus.datastore() - .inventory_get_latest_collection(&opctx) - .await + nexus.datastore().inventory_get_latest_collection(&opctx).await } async fn close(mut self) { diff --git a/nexus/test-interface/src/lib.rs b/nexus/test-interface/src/lib.rs index 4f508b3c6a..c2ab8f9a4f 100644 --- a/nexus/test-interface/src/lib.rs +++ b/nexus/test-interface/src/lib.rs @@ -33,10 +33,10 @@ use async_trait::async_trait; use nexus_config::NexusConfig; -use slog::Logger; -use std::net::{SocketAddr, SocketAddrV6}; use nexus_types::inventory::Collection; use omicron_common::api::external::Error; +use slog::Logger; +use std::net::{SocketAddr, SocketAddrV6}; use uuid::Uuid; #[async_trait] diff --git a/nexus/test-utils/src/resource_helpers.rs b/nexus/test-utils/src/resource_helpers.rs index 053c210a3a..f4b5d9fa46 100644 --- a/nexus/test-utils/src/resource_helpers.rs +++ b/nexus/test-utils/src/resource_helpers.rs @@ -804,8 +804,10 @@ impl DiskTest { // which includes this zpool wait_for_condition( || async { - let result = - cptestctx.server.inventory_collect_and_get_latest_collection().await; + let result = cptestctx + .server + .inventory_collect_and_get_latest_collection() + .await; let log_result = match &result { Ok(Some(_)) => Ok("found"), Ok(None) => Ok("not found"), @@ -820,7 +822,9 @@ impl DiskTest { match result { Ok(None) => Err(CondCheckError::NotYet), Ok(Some(c)) => { - let all_zpools = c.sled_agents.values() + let all_zpools = c + .sled_agents + .values() .flat_map(|sled_agent| { sled_agent.zpools.iter().map(|z| z.id) }) @@ -831,7 +835,7 @@ impl DiskTest { } else { Err(CondCheckError::NotYet) } - }, + } Err(Error::ServiceUnavailable { .. }) => { Err(CondCheckError::NotYet) } diff --git a/nexus/types/src/inventory.rs b/nexus/types/src/inventory.rs index 58e18236cc..40da26047b 100644 --- a/nexus/types/src/inventory.rs +++ b/nexus/types/src/inventory.rs @@ -376,7 +376,10 @@ pub struct Zpool { } impl Zpool { - pub fn new(time_collected: DateTime, pool: sled_agent_client::types::InventoryZpool) -> Zpool { + pub fn new( + time_collected: DateTime, + pool: sled_agent_client::types::InventoryZpool, + ) -> Zpool { Zpool { time_collected, id: pool.id, total_size: pool.total_size } } } diff --git a/schema/crdb/42.0.0/up03.sql b/schema/crdb/42.0.0/up03.sql new file mode 100644 index 0000000000..10195be482 --- /dev/null +++ b/schema/crdb/42.0.0/up03.sql @@ -0,0 +1 @@ +CREATE INDEX IF NOT EXISTS inv_zpool_by_id_and_time ON omicron.public.inv_zpool (id, time_collected DESC); diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index 2db24757c6..836f8aa88f 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -3006,16 +3006,7 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_zpool ( ); -- Allow looking up the most recent Zpool by ID -CREATE INDEX IF NOT EXISTS inv_zpool_by_id_and_time ON omicron.public.inv_zpool (id, time_collected DESC NULLS LAST); -CREATE INDEX IF NOT EXISTS inv_zpool_by_id_and_time2 ON omicron.public.inv_zpool (time_collected DESC NULLS LAST, id); -CREATE INDEX IF NOT EXISTS inv_zpool_by_id ON omicron.public.inv_zpool (id); -CREATE INDEX IF NOT EXISTS inv_zpool_by_time ON omicron.public.inv_zpool (time_collected DESC); - -CREATE INDEX ON omicron.public.dataset (time_deleted) STORING (pool_id, size_used); -CREATE INDEX ON omicron.public.dataset (time_deleted, kind, pool_id, id) STORING (size_used); -CREATE INDEX ON omicron.public.region (volume_id) STORING (time_created, time_modified, dataset_id, block_size, blocks_per_extent, extent_count); -CREATE INDEX ON omicron.public.sled (sled_policy, sled_state, id); -CREATE INDEX ON omicron.public.zpool (sled_id); +CREATE INDEX IF NOT EXISTS inv_zpool_by_id_and_time ON omicron.public.inv_zpool (id, time_collected DESC); CREATE TABLE IF NOT EXISTS omicron.public.inv_sled_omicron_zones ( -- where this observation came from From 1cd159e860a61a104ce379aedc9db7482306dfc5 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Thu, 14 Mar 2024 13:58:48 -0700 Subject: [PATCH 19/19] review feedback --- nexus/db-queries/src/db/datastore/mod.rs | 2 +- schema/crdb/dbinit.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nexus/db-queries/src/db/datastore/mod.rs b/nexus/db-queries/src/db/datastore/mod.rs index 4e7f3c46b7..ab00d876b8 100644 --- a/nexus/db-queries/src/db/datastore/mod.rs +++ b/nexus/db-queries/src/db/datastore/mod.rs @@ -675,7 +675,7 @@ mod test { // Creates a test zpool, returns its UUID. // - // However, don't add the zpool to the inventory just yet. + // However, this helper doesn't add the zpool to the inventory just yet. async fn create_test_zpool_not_in_inventory( datastore: &DataStore, sled_id: Uuid, diff --git a/schema/crdb/dbinit.sql b/schema/crdb/dbinit.sql index 9142e3933d..c7a4db09f1 100644 --- a/schema/crdb/dbinit.sql +++ b/schema/crdb/dbinit.sql @@ -2998,7 +2998,7 @@ CREATE TABLE IF NOT EXISTS omicron.public.inv_zpool ( sled_id UUID NOT NULL, total_size INT NOT NULL, - -- FK consisting of: + -- PK consisting of: -- - Which collection this was -- - The sled reporting the disk -- - The slot in which this disk was found