Skip to content

Conversation

@haseebsyed12
Copy link
Contributor

@haseebsyed12 haseebsyed12 commented Nov 19, 2025

Implement automated validation and synchronization of Ironic ports and
portgroups to ensure consistent naming conventions and proper representation
in Nautobot.

Problem:

  • Ports and portgroups in Ironic were being created without node name prefixes,
    making it difficult to identify which node they belong to
  • No automatic synchronization of portgroups (LAGs) to Nautobot
  • Inconsistent naming conventions across the infrastructure

Solution:

  1. Automatic Name Validation and Fixing:

    • Enforce $NODENAME:$INTERFACE naming convention (e.g., "server-123:bond0")
    • Automatically prefix port/portgroup names with node name when missing
    • Use colon separator for clear, unambiguous parsing
  2. Nautobot LAG Synchronization:

    • Create LAG interfaces in Nautobot (type="lag") for Ironic portgroups
    • Strip node prefix for clean LAG names in Nautobot
    • Store bonding mode in interface description field
    • Sync MAC addresses and operational status
  3. Event-Driven Architecture:

    • New Argo Events sensor for portgroup events (create/update/delete)
    • Reuse existing port sensor for port events
    • Workflows trigger on Ironic Oslo message bus events

@haseebsyed12 haseebsyed12 force-pushed the ironic-portgroups-events branch from a2ecff9 to 0cac23c Compare November 20, 2025 04:15
@haseebsyed12 haseebsyed12 force-pushed the ironic-portgroups-events branch 5 times, most recently from 751dd59 to 5fb1597 Compare November 20, 2025 16:23
@haseebsyed12 haseebsyed12 force-pushed the ironic-portgroups-events branch from 5fb1597 to cc64582 Compare November 21, 2025 14:22
@haseebsyed12 haseebsyed12 marked this pull request as ready for review November 21, 2025 14:23
@haseebsyed12 haseebsyed12 requested a review from a team November 21, 2025 14:23
Copy link
Contributor

@cardoe cardoe left a comment

Choose a reason for hiding this comment

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

@stevekeay This will work with the rest of the code?

@cardoe cardoe requested a review from stevekeay November 22, 2025 01:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants