Skip to content

Deleting a link shouldn't fail if the transceiver isn't present #375

Description

@bnaecker

Dendrite's link reconciler attempts to match the configured and "plumbed" settings for each link. One of the first things it does is try to fetch transceiver's MPN here:

dendrite/dpd/src/link.rs

Lines 1785 to 1799 in 2475028

if let Some(qsfp) = &qsfp {
match qsfp_xcvr_mpn(qsfp) {
Ok(mpn) => Some(mpn),
Err(e) => {
warn!(log, "failed to get MPN for qsfp";
"port" => %port_id,
"error" => %e,
);
return;
}
}
} else {
None
}
};

That fails with Err(DpdError::Missing) if the transceiver isn't present. That's reasonable when trying to create a link, but it blocks deleting a link if the transceiver has been unplugged. We should continue attempting to delete the link in this case.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions