Skip to content

Conversation

@garrison-stauffer
Copy link
Contributor

What does this PR do?

This PR addresses an issue that can happen when comparing data from Fabric nodes API (/api/mo/topology.json) to the LLDP API (/api/node/class/lldpAdjEp.json).

It appears that these endpoints will return different IPs for nodes. This PR loosens a constraint that requires the IPs to match before tagging the DataDog Device ID. This new behavior is only available when the feature is enabled in config for now.

Motivation

A customer reported this issue.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
  • If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Feb 6, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: c866f57 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@codecov
Copy link

codecov bot commented Feb 6, 2026

Codecov Report

❌ Patch coverage is 97.14286% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.08%. Comparing base (3ffe999) to head (c866f57).

Additional details and impacted files
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.


# Config for submitting device/interface metadata to NDM
self.send_ndm_metadata = self.instance.get('send_ndm_metadata', False)
self.topology_skips_ip_match = self.instance.get('topology_skips_ip_match', False)
Copy link
Contributor

Choose a reason for hiding this comment

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

if we're adding a new flag - here's a pr with other stuff to update with this !
https://github.com/DataDog/integrations-core/pull/18099/files

also, uncertain how clear to the customer how clear this may be 🤔 may need to riff on this one a bit

openstacksdk,PyPI,Apache-2.0,Copyright OpenStack <openstack-discuss@lists.openstack.org>
orjson,PyPI,Apache-2.0,
orjson,PyPI,MIT,
orjson,PyPI,MPL-2.0,
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm mildly surprised that we pick up the change in license here despite not changing the version of orjson.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've got no idea why we caught this, my guess is that it was just unlucky timing

@dplepage-dd
Copy link
Contributor

When do we expect to have different devices with the same Cisco DN (i.e. when would anyone not want this config flag set)?

@garrison-stauffer
Copy link
Contributor Author

garrison-stauffer commented Feb 9, 2026

When do we expect to have different devices with the same Cisco DN (i.e. when would anyone not want this config flag set)?

@dplepage-dd as far as I understand, the Cisco DN should be truly unique; my reason for pushing this as a flag is that I'm largely just concerned about what to do if that assumption is wrong. E.g. customers start upgrading and it's breaking their topology + devices. My plan was to add metrics to this w/ the flag, and we can evaluate on a follow-up release to see if it seems safe to delete the check entirely

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants