Skip to content

Commit 3dfa1a3

Browse files
authored
Add measurement corpus for installation via wicket (#8852)
1 parent f725890 commit 3dfa1a3

File tree

43 files changed

+1130
-262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1130
-262
lines changed

Cargo.lock

Lines changed: 36 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,7 @@ rand_distr = "0.5.1"
663663
rand_seeder = "0.4.0"
664664
range-requests = { path = "range-requests" }
665665
ratatui = "0.29.0"
666+
rats-corim = { git = "https://github.com/oxidecomputer/rats-corim.git", rev = "f0d5d5168d3d31487a56df32c676b0c6240bcc6b" }
666667
raw-cpuid = { git = "https://github.com/oxidecomputer/rust-cpuid.git", rev = "a4cf01df76f35430ff5d39dc2fe470bcb953503b" }
667668
rayon = "1.10"
668669
rcgen = "0.12.1"
Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,31 @@ use schemars::JsonSchema;
1010
use serde::{Deserialize, Serialize};
1111
use tufaceous_artifact::ArtifactHash;
1212

13-
/// Describes the set of Omicron zones written out into an install dataset.
13+
/// Describes a set of files written out into an install dataset.
14+
/// This is currently used for zones and reference measurements
1415
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize, JsonSchema)]
15-
pub struct OmicronZoneManifest {
16+
pub struct OmicronInstallManifest {
1617
/// The source of the manifest.
17-
pub source: OmicronZoneManifestSource,
18+
pub source: OmicronInstallManifestSource,
1819

19-
/// Omicron zone file names and hashes.
20-
pub zones: IdOrdMap<OmicronZoneFileMetadata>,
20+
/// Omicron install file names and hashes.
21+
pub files: IdOrdMap<OmicronInstallMetadata>,
2122
}
2223

23-
impl OmicronZoneManifest {
24-
/// The name of the file.
25-
pub const FILE_NAME: &str = "zones.json";
24+
impl OmicronInstallManifest {
25+
/// The name of the zones file.
26+
pub const ZONES_FILE_NAME: &str = "zones.json";
27+
28+
/// The name of the measurment file
29+
pub const MEASUREMENT_FILE_NAME: &str = "measurements.json";
2630
}
2731

2832
/// The source of truth for an Omicron zone manifest.
2933
#[derive(
3034
Clone, Copy, Debug, Eq, PartialEq, Deserialize, Serialize, JsonSchema,
3135
)]
3236
#[serde(tag = "source", rename_all = "snake_case")]
33-
pub enum OmicronZoneManifestSource {
37+
pub enum OmicronInstallManifestSource {
3438
/// The manifest was written out by installinator and the mupdate process.
3539
Installinator {
3640
/// The UUID of the mupdate.
@@ -43,13 +47,13 @@ pub enum OmicronZoneManifestSource {
4347
SledAgent,
4448
}
4549

46-
impl fmt::Display for OmicronZoneManifestSource {
50+
impl fmt::Display for OmicronInstallManifestSource {
4751
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
4852
match self {
49-
OmicronZoneManifestSource::Installinator { mupdate_id } => {
53+
OmicronInstallManifestSource::Installinator { mupdate_id } => {
5054
write!(f, "installinator (mupdate ID: {})", mupdate_id)
5155
}
52-
OmicronZoneManifestSource::SledAgent => {
56+
OmicronInstallManifestSource::SledAgent => {
5357
write!(f, "sled-agent")
5458
}
5559
}
@@ -58,7 +62,7 @@ impl fmt::Display for OmicronZoneManifestSource {
5862

5963
/// Information about an Omicron zone file written out to the install dataset.
6064
///
61-
/// Part of [`OmicronZoneManifest`].
65+
/// Part of [`OmicronInstallManifest`].
6266
#[derive(
6367
Clone,
6468
Debug,
@@ -70,7 +74,7 @@ impl fmt::Display for OmicronZoneManifestSource {
7074
Serialize,
7175
JsonSchema,
7276
)]
73-
pub struct OmicronZoneFileMetadata {
77+
pub struct OmicronInstallMetadata {
7478
/// The file name.
7579
pub file_name: String,
7680

@@ -81,7 +85,7 @@ pub struct OmicronZoneFileMetadata {
8185
pub hash: ArtifactHash,
8286
}
8387

84-
impl IdOrdItem for OmicronZoneFileMetadata {
88+
impl IdOrdItem for OmicronInstallMetadata {
8589
type Key<'a> = &'a str;
8690

8791
#[inline]

common/src/update/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
44

55
mod artifact_id;
6+
mod install_manifest;
67
mod mupdate_override;
7-
mod zone_manifest;
88

99
pub use artifact_id::*;
10+
pub use install_manifest::*;
1011
pub use mupdate_override::*;
11-
pub use zone_manifest::*;

dev-tools/reconfigurator-cli/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ use omicron_common::api::external::Generation;
5757
use omicron_common::api::external::Name;
5858
use omicron_common::disk::M2Slot;
5959
use omicron_common::policy::NEXUS_REDUNDANCY;
60-
use omicron_common::update::OmicronZoneManifestSource;
60+
use omicron_common::update::OmicronInstallManifestSource;
6161
use omicron_repl_utils::run_repl_from_file;
6262
use omicron_repl_utils::run_repl_on_stdin;
6363
use omicron_uuid_kinds::GenericUuid;
@@ -3317,9 +3317,9 @@ fn mupdate_source_to_description(
33173317
) -> anyhow::Result<SimTufRepoDescription> {
33183318
let manifest_source = match source.mupdate_id {
33193319
Some(mupdate_id) => {
3320-
OmicronZoneManifestSource::Installinator { mupdate_id }
3320+
OmicronInstallManifestSource::Installinator { mupdate_id }
33213321
}
3322-
None => OmicronZoneManifestSource::SledAgent,
3322+
None => OmicronInstallManifestSource::SledAgent,
33233323
};
33243324
if let Some(repo_path) = &source.valid.from_repo {
33253325
let description = extract_tuf_repo_description(&sim.log, repo_path)?;

dev-tools/reconfigurator-cli/tests/output/cmds-add-zones-with-mupdate-override-stdout

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1
4040
INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681
4141
INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682
4242
INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682
43+
INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576
4344
INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721
4445
INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775
4546
INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775
@@ -48,7 +49,7 @@ INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash
4849
INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774
4950
INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774
5051
INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804
51-
INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: a6a636b5d57813578766b3f1c2559abf9af5d8c86187538167937c476beeefa3, length: 367
52+
INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526
5253
set target release based on repo-1.0.0.zip
5354

5455

dev-tools/reconfigurator-cli/tests/output/cmds-missing-sled-blocks-zone-updates-stdout

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ INFO added artifact, name: internal-dns, kind: zone, version: 0.0.1, hash: c29c2
4242
INFO added artifact, name: ntp, kind: zone, version: 0.0.1, hash: b661b5d1370f5ac593b4c15b5fcd22c904991cf33b6db32f886374bc022a3531, length: 1682
4343
INFO added artifact, name: nexus, kind: zone, version: 0.0.1, hash: 5f0b97b090966bb754485c3d397d0918d54bf4ffdc6fa691b77f61686f2ac8cc, length: 1683
4444
INFO added artifact, name: oximeter, kind: zone, version: 0.0.1, hash: 7ea25be50cd4e98e2ba20916cb98fe8ea457372f5973eb6ac691b5bc90dbddc0, length: 1683
45+
INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576
4546
INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 0.0.1, hash: 3a63db2465b433f7b2f2816f833dcce90e0aa7e7472b1735c63faf93a48bb2ab, length: 726
4647
INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 0.0.1, hash: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406, length: 770
4748
INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 0.0.1, hash: 9bdc198ad072c74cfc1e145355eef307028067776b19f9e2a7830934176fe406, length: 770
@@ -50,7 +51,7 @@ INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 0.0.1, hash
5051
INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 0.0.1, hash: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c, length: 776
5152
INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 0.0.1, hash: 7776db817d1f1b1a2f578050742e33bd4e805a4c76f36bce84dcb509b900249c, length: 776
5253
INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 0.0.1, hash: 0686443d50db2247077dc70b6543cea9a90a9792de00e06c06cff4c91fa5a4a8, length: 792
53-
INFO added artifact, name: installinator_document, kind: installinator_document, version: 0.0.1, hash: 657aaebc9c2f451446af0411a67a4bd057f39fa1b8a7fdc429ca4a2facd9344c, length: 367
54+
INFO added artifact, name: installinator_document, kind: installinator_document, version: 0.0.1, hash: 6f0eebe1001e3d00b02b2dcac5b3d883cb88222fde16a028f5431e87a5feee72, length: 526
5455
set target release based on repo-0.0.1.zip
5556

5657

@@ -335,6 +336,7 @@ INFO added artifact, name: internal-dns, kind: zone, version: 1.0.0, hash: ffbf1
335336
INFO added artifact, name: ntp, kind: zone, version: 1.0.0, hash: 67593d686ed04a1709f93972b71f4ebc148a9362120f65d239943e814a9a7439, length: 1681
336337
INFO added artifact, name: nexus, kind: zone, version: 1.0.0, hash: 0e32b4a3e5d3668bb1d6a16fb06b74dc60b973fa479dcee0aae3adbb52bf1388, length: 1682
337338
INFO added artifact, name: oximeter, kind: zone, version: 1.0.0, hash: 048d8fe8cdef5b175aad714d0f148aa80ce36c9114ac15ce9d02ed3d37877a77, length: 1682
339+
INFO added artifact, name: fake-corpus, kind: measurement_corpus, version: 1.0.0, hash: 8a0e23157bae655fceec7376926c9758efee6511c7b7ff8355bbb49545a2257f, length: 1048576
338340
INFO added artifact, name: fake-psc-sp, kind: psc_sp, version: 1.0.0, hash: 89245fe2ac7e6a2ac8dfa4e7d6891a6e6df95e4141395c07c64026778f6d76d7, length: 721
339341
INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_a, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775
340342
INFO added artifact, name: fake-psc-rot, kind: psc_rot_image_b, version: 1.0.0, hash: 5d8ea834dd6d42d386f1eb8a2c5f6e99b697c9958bb4ab8edf63e56003e25d8d, length: 775
@@ -343,7 +345,7 @@ INFO added artifact, name: fake-switch-sp, kind: switch_sp, version: 1.0.0, hash
343345
INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_a, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774
344346
INFO added artifact, name: fake-switch-rot, kind: switch_rot_image_b, version: 1.0.0, hash: 32307d6d75c9707e8499ba4a4d379f99c0358237b6e190ff6a8024b470f62342, length: 774
345347
INFO added artifact, name: fake-switch-rot-bootloader, kind: switch_rot_bootloader, version: 1.0.0, hash: 70836d170abd5621f95bb4225987b27b3d3dd6168e73cd60e44309bdfeb94e98, length: 804
346-
INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: a6a636b5d57813578766b3f1c2559abf9af5d8c86187538167937c476beeefa3, length: 367
348+
INFO added artifact, name: installinator_document, kind: installinator_document, version: 1.0.0, hash: 16717c0caa420c7811666e720936c7ca913cd59a4d376331cc79a90544e5e2e8, length: 526
347349
set target release based on repo-1.0.0.zip
348350

349351

0 commit comments

Comments
 (0)