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
19 changes: 18 additions & 1 deletion nexus/src/app/instance_network.rs
Original file line number Diff line number Diff line change
Expand Up @@ -652,14 +652,31 @@ pub(crate) async fn instance_delete_dpd_config(
instance_id,
)
.await;
notify_dendrite_nat_state(

// Just like in `instance_ensure_dpd_config`, we should not bail out if
// there is an error while notifying dendrite. If there is an error
// communicating with one dendrite instance but the other is operational and
// we bail here, it will prevent Nexus from tearing down the VMM's network
// config, leaving the instance stuck and preventing it from being restarted
// or deleted. Dendrite should still catch back up via a RPW if we fail to
// notify it here.
if let Err(error) = notify_dendrite_nat_state(
datastore,
log,
resolver,
opctx_alloc,
Some(instance_id),
)
.await
{
warn!(
log,
"error encountered while notifying dendrite of deleted instance";
"error" => InlineErrorChain::new(&error),
);
}

Ok(())
}

async fn instance_send_attached_subnets_to_dendrite(
Expand Down
Loading
Loading