Skip to content

Implement Peering Translation in apinetlet and metalnetlet #251

@afritzler

Description

@afritzler

Overview

This issue aims to introduce peering translation logic within the apinetlet component to ensure seamless interoperability between the networking.ironcore.dev and core.apinet.ironcore.dev groups. The objective is to enable the apinet Network to automatically recognize and reflect peering relationships defined in the networking.ironcore.dev Network objects. Additionally, we will outline a conceptual approach for mapping these relationships to the underlying metalnet project via metalnetlet.

Problem Statement

Currently, the apinet Network lacks the capability to automatically recognize or establish peering relationships defined in networking.ironcore.dev Network objects. This gap hinders seamless network interconnectivity and management across different layers of our networking stack.

Scope

  1. apinetlet Peering Translation: Implement logic to translate peering information from networking.ironcore.dev Network objects to core.apinet.ironcore.dev Network objects, ensuring that peering details are accurately reflected and maintained.
  2. Concept for metalnet Mapping: Develop a high-level concept for mapping these peering relationships further down to the metalnet project through metalnetlet, ensuring end-to-end network connectivity and peering integrity.

Requirements

apinetlet Implementation

  • Peering Information Translation: Automatically translate and synchronize peering information from networking.ironcore.dev Network objects to core.apinet.ironcore.dev Network objects.
    • This includes reflecting peer network names, namespaces, and unique identifiers.
  • Status Updates: Ensure that the status of core.apinet.ironcore.dev Network objects is updated to reflect the state of peering relationships accurately.
  • Event Handling: Implement event listeners to handle updates or modifications to peering information in networking.ironcore.dev Network objects and propagate changes accordingly.

Concept for metalnet Mapping

  • Develop a conceptual approach for translating and applying peering information from apinetlet to metalnetlet, ensuring compatibility and integrity in network configuration and peering at the metalnet level.
  • Outline the necessary transformations or mappings required to align networking.ironcore.dev and core.apinet.ironcore.dev peering configurations with metalnet project expectations.

Acceptance Criteria

  • Peering Translation Logic: apinetlet correctly translates and synchronizes peering information from networking.ironcore.dev Network objects to core.apinet.ironcore.dev Network objects without manual intervention.
  • Status Accuracy: The status of core.apinet.ironcore.dev Network objects accurately reflects the peering relationships and is dynamically updated in response to changes.
  • Event Handling: apinetlet effectively responds to events related to peering information changes, ensuring timely and accurate propagation of updates.
  • Conceptual Mapping to metalnet: A clear and actionable concept for mapping peering information to the metalnet project through metalnetlet is developed and documented.

Next Steps

  1. Design Phase: Detail the design of the peering translation logic and the conceptual mapping to metalnet, including data flow diagrams and API specifications.
  2. Implementation Phase: Based on the approved designs, proceed with the implementation of the peering translation logic in apinetlet and the conceptual approach for metalnet mapping.
  3. Testing & Validation: Conduct thorough testing to ensure that the peering translation and status updates function as expected across networking.ironcore.dev and core.apinet.ironcore.dev Network objects. Validate the conceptual mapping with a prototype or simulation, if feasible.

Please provide feedback on the proposed approach or any additional considerations that should be taken into account.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/networkingNetworking-related tasks and improvements.enhancementNew feature or request

    Type

    No type

    Projects

    Status

    ✅ Done

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions