Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions dev-tools/omdb/src/bin/omdb/db/blueprints.rs
Original file line number Diff line number Diff line change
Expand Up @@ -232,5 +232,13 @@ async fn cmd_db_blueprint_planner_report_show(
println!("planner report for blueprint {blueprint_id}:");
println!("{report}");

let operator_notes = report.operator_notes().into_notes();
if !operator_notes.is_empty() {
println!("\nnotes for customer operator:");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tiniest of nits; you think we could just say "notes for operator", here and below? "customer operator" feels like an unnecessary qualifier

for note in operator_notes {
println!(" * {note}");
}
}

Ok(())
}
8 changes: 8 additions & 0 deletions dev-tools/omdb/src/bin/omdb/nexus.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1309,6 +1309,14 @@ fn print_task_blueprint_planner(details: &serde_json::Value) {
but could not make it the target: {error}"
);
println!("{report}");

let operator_notes = report.operator_notes().into_notes();
if !operator_notes.is_empty() {
println!("\nnotes for customer operator:");
for note in operator_notes {
println!(" * {note}");
}
}
}
BlueprintPlannerStatus::Targeted { blueprint_id, report, .. } => {
println!(
Expand Down
27 changes: 26 additions & 1 deletion dev-tools/reconfigurator-cli/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2106,9 +2106,34 @@ fn cmd_blueprint_plan(
.context("creating planner")?;

let blueprint = planner.plan().context("generating blueprint")?;
let operator_notes = match &blueprint.source {
BlueprintSource::Planner(report) => {
let mut notes = report
.operator_notes()
.into_notes()
.into_iter()
.map(|note| format!("\n * {note}"))
.peekable();
if notes.peek().is_some() {
format!(
"\n\nnotes for customer operator:{}",
notes.collect::<String>()
)
} else {
String::new()
}
}
BlueprintSource::Rss
| BlueprintSource::PlannerLoadedFromDatabase
| BlueprintSource::ReconfiguratorCliEdit
| BlueprintSource::Test => unreachable!(
"unexpected blueprint source {} (just ran planner!)",
blueprint.source
),
};
let rv = format!(
"generated blueprint {} based on parent blueprint {}\n\
blueprint source: {}",
blueprint source: {}{operator_notes}",
blueprint.id, parent_blueprint.id, blueprint.source,
);
system.add_blueprint(blueprint)?;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ planning report:



notes for customer operator:
* 1 sled with no available disks to host NTP service

> blueprint-show 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1
blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1
parent: dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo
generated blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1 based on parent blueprint dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21
blueprint source: planner with report:
planning report:
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- current target release generation (2) is lower than minimum required by blueprint (3)
- sleds have remove mupdate override set in blueprint: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
Expand All @@ -109,6 +109,9 @@ planning report:



notes for customer operator:
* service updates are waiting for system to recover from support-driven update (mupdate)


> # Diff the blueprints. This diff should show "will remove mupdate override"
> # and the target release minimum generation being set.
Expand Down Expand Up @@ -220,7 +223,7 @@ INFO BootPartitionDetails inventory hash not found in TUF repo, ignoring for noo
generated blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4 based on parent blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1
blueprint source: planner with report:
planning report:
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- current target release generation (2) is lower than minimum required by blueprint (3)
- sleds have remove mupdate override set in blueprint: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
Expand All @@ -234,6 +237,9 @@ planning report:



notes for customer operator:
* service updates are waiting for system to recover from support-driven update (mupdate)

> blueprint-diff latest
from: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1
to: blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4
Expand Down Expand Up @@ -301,6 +307,9 @@ planner config:



notes for customer operator:
* support override configured: internal services can be placed even if some versions are unknown due to sled recovery operations

> blueprint-diff latest
from: blueprint 58d5e830-0884-47d8-a7cd-b2b3751adeb4
to: blueprint af934083-59b5-4bf6-8966-6fb5292c29e1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -868,6 +868,9 @@ planner config:



notes for customer operator:
* support override configured: internal services can be placed even if some versions are unknown due to sled recovery operations

> blueprint-diff 366b0b68-d80e-4bc1-abd3-dc69837847e0 9c998c1d-1a7b-440a-ae0c-40f781dea6e2
from: blueprint 366b0b68-d80e-4bc1-abd3-dc69837847e0
to: blueprint 9c998c1d-1a7b-440a-ae0c-40f781dea6e2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-e
generated blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736 based on parent blueprint d60afc57-f15d-476c-bd0f-b1071e2bb976
blueprint source: planner with report:
planning report:
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- current target release generation (2) is lower than minimum required by blueprint (3)
- sleds have remove mupdate override set in blueprint: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, d81c6a84-79b8-4958-ae41-ea46c9b19763
Expand All @@ -520,6 +520,9 @@ planning report:



notes for customer operator:
* service updates are waiting for system to recover from support-driven update (mupdate)


> # Diff the blueprints. This diff should show:
> #
Expand Down Expand Up @@ -787,7 +790,7 @@ INFO skipped noop image source check on sled, sled_id: d81c6a84-79b8-4958-ae41-e
generated blueprint 626487fa-7139-45ec-8416-902271fc730b based on parent blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736
blueprint source: planner with report:
planning report:
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- sleds have remove mupdate override set in blueprint: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6, d81c6a84-79b8-4958-ae41-ea46c9b19763
- sleds have mupdate override errors: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c
Expand All @@ -801,6 +804,9 @@ planning report:



notes for customer operator:
* service updates are waiting for system to recover from support-driven update (mupdate)

> blueprint-diff latest
from: blueprint a5a8f242-ffa5-473c-8efd-2acf2dc0b736
to: blueprint 626487fa-7139-45ec-8416-902271fc730b
Expand Down Expand Up @@ -920,7 +926,7 @@ generated blueprint c1a0d242-9160-40f4-96ae-61f8f40a0b1b based on parent bluepri
blueprint source: planner with report:
planning report:
* noop converting 6/6 install-dataset zones to artifact store on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- current target release generation (3) is lower than minimum required by blueprint (4)
- sleds have remove mupdate override set in blueprint: d81c6a84-79b8-4958-ae41-ea46c9b19763
Expand All @@ -934,6 +940,10 @@ planning report:



notes for customer operator:
* across 1 sled, converted 6/6 service zones to known versions
* service updates are waiting for system to recover from support-driven update (mupdate)


> # Diff the blueprints. This diff should show:
> # * on sled 0:
Expand Down Expand Up @@ -1110,7 +1120,7 @@ generated blueprint afb09faf-a586-4483-9289-04d4f1d8ba23 based on parent bluepri
blueprint source: planner with report:
planning report:
* skipping noop zone image source check on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: all 6 zones are already from artifacts
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- current target release generation (3) is lower than minimum required by blueprint (4)
- sleds have mupdate override errors: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c
Expand All @@ -1123,6 +1133,9 @@ planning report:



notes for customer operator:
* service updates are waiting for system to recover from support-driven update (mupdate)

> blueprint-show latest
blueprint afb09faf-a586-4483-9289-04d4f1d8ba23
parent: c1a0d242-9160-40f4-96ae-61f8f40a0b1b
Expand Down Expand Up @@ -1292,7 +1305,7 @@ parent: c1a0d242-9160-40f4-96ae-61f8f40a0b1b
blueprint source: planner with report:
planning report:
* skipping noop zone image source check on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: all 6 zones are already from artifacts
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- current target release generation (3) is lower than minimum required by blueprint (4)
- sleds have mupdate override errors: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c
Expand Down Expand Up @@ -1440,7 +1453,7 @@ blueprint source: planner with report:
planning report:
* skipping noop zone image source check on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: all 6 zones are already from artifacts
* noop converting 6/6 install-dataset zones to artifact store on sled d81c6a84-79b8-4958-ae41-ea46c9b19763
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- sleds have mupdate override errors: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c
- sleds have deployment units with image sources not set to Artifact:
Expand All @@ -1451,6 +1464,10 @@ planning report:



notes for customer operator:
* across 1 sled, converted 6/6 service zones to known versions
* service updates are waiting for system to recover from support-driven update (mupdate)

> blueprint-show latest
blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700
parent: afb09faf-a586-4483-9289-04d4f1d8ba23
Expand Down Expand Up @@ -1621,7 +1638,7 @@ blueprint source: planner with report:
planning report:
* skipping noop zone image source check on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: all 6 zones are already from artifacts
* noop converting 6/6 install-dataset zones to artifact store on sled d81c6a84-79b8-4958-ae41-ea46c9b19763
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- sleds have mupdate override errors: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c
- sleds have deployment units with image sources not set to Artifact:
Expand Down Expand Up @@ -1740,7 +1757,7 @@ blueprint source: planner with report:
planning report:
* skipping noop zone image source check on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: all 6 zones are already from artifacts
* skipping noop zone image source check on sled d81c6a84-79b8-4958-ae41-ea46c9b19763: all 6 zones are already from artifacts
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- sleds have deployment units with image sources not set to Artifact:
- sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c: 7 zones
Expand All @@ -1750,6 +1767,9 @@ planning report:



notes for customer operator:
* service updates are waiting for system to recover from support-driven update (mupdate)

> blueprint-diff latest
from: blueprint ce365dff-2cdb-4f35-a186-b15e20e1e700
to: blueprint 8f2d1f39-7c88-4701-aa43-56bf281b28c1
Expand Down Expand Up @@ -1818,6 +1838,10 @@ planning report:



notes for customer operator:
* across 1 sled, converted 7/7 service zones to known versions
* out of eligible sleds: only placed 0 services out of 1 desired

> blueprint-show latest
blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300
parent: 8f2d1f39-7c88-4701-aa43-56bf281b28c1
Expand Down Expand Up @@ -2191,6 +2215,10 @@ planning report:



notes for customer operator:
* across 3 sleds, converted 3 OS images to known versions
* out of eligible sleds: only placed 0 services out of 1 desired

> blueprint-diff latest
from: blueprint 12d602a6-5ab4-487a-b94e-eb30cdf30300
to: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839
Expand Down Expand Up @@ -2423,7 +2451,7 @@ planning report:
* skipping noop zone image source check on sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c: all 7 zones are already from artifacts
* skipping noop zone image source check on sled c3bc4c6d-fdde-4fc4-8493-89d2a1e5ee6b: all 0 zones are already from artifacts
* skipping noop zone image source check on sled d81c6a84-79b8-4958-ae41-ea46c9b19763: all 6 zones are already from artifacts
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- current target release generation (4) is lower than minimum required by blueprint (5)
- sleds have remove mupdate override set in blueprint: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
Expand All @@ -2435,6 +2463,9 @@ planning report:



notes for customer operator:
* service updates are waiting for system to recover from support-driven update (mupdate)

> blueprint-diff latest
from: blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839
to: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c
Expand Down Expand Up @@ -2573,6 +2604,10 @@ planner config:



notes for customer operator:
* support override configured: internal services can be placed even if some versions are unknown due to sled recovery operations
* out of eligible sleds: only placed 0 services out of 1 desired

> blueprint-diff latest
from: blueprint 27e755bc-dc10-4647-853c-f89bb3a15a2c
to: blueprint 9f89efdf-a23e-4137-b7cc-79f4a91cbe1f
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ blueprint source: planner with report:
planning report:
* noop converting 6/6 install-dataset zones to artifact store on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
* noop converting 5/6 install-dataset zones to artifact store on sled aff6c093-197d-42c5-ad80-9f10ba051a34
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- sleds have remove mupdate override set in blueprint: d81c6a84-79b8-4958-ae41-ea46c9b19763
- sleds have deployment units with image sources not set to Artifact:
Expand All @@ -200,6 +200,10 @@ planning report:



notes for customer operator:
* across 2 sleds, converted 11/12 service zones to known versions
* service updates are waiting for system to recover from support-driven update (mupdate)


> # This diff should show expected changes to the blueprint.
> blueprint-diff latest
Expand Down Expand Up @@ -433,7 +437,7 @@ blueprint source: planner with report:
planning report:
* skipping noop zone image source check on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6: all 6 zones are already from artifacts
* noop converting 2/2 install-dataset zones to artifact store on sled e96e226f-4ed9-4c01-91b9-69a9cd076c9e
* zone adds waiting on blockers
* zone adds waiting on mupdate blockers
* zone adds and updates are blocked:
- sleds have remove mupdate override set in blueprint: d81c6a84-79b8-4958-ae41-ea46c9b19763
- sleds have deployment units with image sources not set to Artifact:
Expand All @@ -447,6 +451,10 @@ planning report:



notes for customer operator:
* across 1 sled, converted 2/2 service zones to known versions
* service updates are waiting for system to recover from support-driven update (mupdate)


> # This diff should show changes to the sled that's back in inventory.
> blueprint-diff latest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,9 @@ planning report:



notes for customer operator:
* across 3 sleds, converted 25/25 service zones to known versions

> blueprint-diff latest
from: blueprint dbcbd3d6-41ff-48ae-ac0b-1becc9b2fd21
to: blueprint 8da82a8e-bf97-4fbd-8ddd-9f6462732cf1
Expand Down
8 changes: 6 additions & 2 deletions nexus/reconfigurator/planning/src/planner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ impl<'a> Planner<'a> {
{
self.do_plan_add(&mgs_updates)?
} else {
PlanningAddStepReport::waiting_on(ZoneAddWaitingOn::Blockers)
PlanningAddStepReport::waiting_on(ZoneAddWaitingOn::MupdateBlockers)
};
add.add_update_blocked_reasons = add_update_blocked_reasons;
add.add_zones_with_mupdate_override = add_zones_with_mupdate_override;
Expand Down Expand Up @@ -536,7 +536,11 @@ impl<'a> Planner<'a> {
// have been added and then expunged since our
// parent blueprint was created). We don't want to
// fail in this case, but will report it.
report.orphan_disks.insert(sled_id, disk.disk_id);
report
.orphan_disks
.entry(sled_id)
.or_default()
.push(disk.disk_id);
}
Err(err) => return Err(err),
}
Expand Down
1 change: 1 addition & 0 deletions nexus/types/src/deployment.rs
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ pub use planning_report::PlanningNoopImageSourceSkipSledHostPhase2Reason;
pub use planning_report::PlanningNoopImageSourceSkipSledZonesReason;
pub use planning_report::PlanningNoopImageSourceSkipZoneReason;
pub use planning_report::PlanningNoopImageSourceStepReport;
pub use planning_report::PlanningOperatorNotes;
pub use planning_report::PlanningReport;
pub use planning_report::PlanningZoneUpdatesStepReport;
pub use planning_report::ZoneAddWaitingOn;
Expand Down
Loading
Loading