Skip to content
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -2186,6 +2186,7 @@ planning report for blueprint 61a93ea3-c872-48e0-aace-e86b0c52b839:
* noop converting host phase 2 slot B to Artifact on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
* noop converting host phase 2 slot B to Artifact on sled d81c6a84-79b8-4958-ae41-ea46c9b19763
* only placed 0/1 desired nexus zones
* zone updates waiting on zone propagation to inventory
* waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3236,6 +3236,7 @@ planning report for blueprint 24b6e243-100c-428d-8ea6-35b504226f55:
* waiting for NTP zones to appear in inventory on sleds: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c
* sleds getting NTP zones and which have other services already, making them eligible for discretionary zones: 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c
* missing NTP zone on sled 2b8f0cb3-0295-4b3c-bc58-4fe88b57112c
* zone updates waiting on zone propagation to inventory
* waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated


Expand Down Expand Up @@ -5326,6 +5327,7 @@ planning report for blueprint e7a01ffc-6b0e-408b-917b-b1efe18b3110:
* waiting for NTP zones to appear in inventory on sleds: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
* sleds getting NTP zones and which have other services already, making them eligible for discretionary zones: 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
* missing NTP zone on sled 98e6b7c2-2efa-41ca-b20a-0a4d61102fe6
* zone updates waiting on zone propagation to inventory
* waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated


Expand Down Expand Up @@ -7091,6 +7093,7 @@ planning report for blueprint e8b088a8-7da0-480b-a2dc-75ffef068ece:
* waiting for NTP zones to appear in inventory on sleds: d81c6a84-79b8-4958-ae41-ea46c9b19763
* sleds getting NTP zones and which have other services already, making them eligible for discretionary zones: d81c6a84-79b8-4958-ae41-ea46c9b19763
* missing NTP zone on sled d81c6a84-79b8-4958-ae41-ea46c9b19763
* zone updates waiting on zone propagation to inventory
* waiting to update top-level nexus_generation: some non-Nexus zone are not yet updated


Expand Down
8 changes: 5 additions & 3 deletions nexus/reconfigurator/planning/src/planner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1546,18 +1546,20 @@ impl<'a> Planner<'a> {
&mut self,
mgs_updates: &PlanningMgsUpdatesStepReport,
) -> Result<PlanningZoneUpdatesStepReport, Error> {
let mut report = PlanningZoneUpdatesStepReport::new();

let zones_currently_updating =
self.get_zones_not_yet_propagated_to_inventory();
if !zones_currently_updating.is_empty() {
info!(
self.log, "some zones not yet up-to-date";
"zones_currently_updating" => ?zones_currently_updating,
);
return Ok(report);
return Ok(PlanningZoneUpdatesStepReport::waiting_on(
ZoneUpdatesWaitingOn::InventoryPropagation,
));
}

let mut report = PlanningZoneUpdatesStepReport::new();

// Find the zones with out-of-date images
let out_of_date_zones = self.get_out_of_date_zones();
for (sled_id, zone, desired_image) in out_of_date_zones.iter() {
Expand Down
4 changes: 4 additions & 0 deletions nexus/types/src/deployment/planning_report.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1021,6 +1021,9 @@ pub enum ZoneUpdatesWaitingOn {
/// Waiting on discretionary zone placement.
DiscretionaryZones,

/// Waiting on zones to propagate to inventory.
InventoryPropagation,

/// Waiting on updates to RoT / SP / Host OS / etc.
PendingMgsUpdates,

Expand All @@ -1032,6 +1035,7 @@ impl ZoneUpdatesWaitingOn {
pub fn as_str(&self) -> &'static str {
match self {
Self::DiscretionaryZones => "discretionary zones",
Self::InventoryPropagation => "zone propagation to inventory",
Self::PendingMgsUpdates => {
"pending MGS updates (RoT / SP / Host OS / etc.)"
}
Expand Down
15 changes: 15 additions & 0 deletions openapi/nexus-internal.json
Original file line number Diff line number Diff line change
Expand Up @@ -9955,6 +9955,21 @@
"type"
]
},
{
"description": "Waiting on zones to propagate to inventory.",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"inventory_propagation"
]
}
},
"required": [
"type"
]
},
{
"description": "Waiting on updates to RoT / SP / Host OS / etc.",
"type": "object",
Expand Down
Loading