Skip to content
This repository was archived by the owner on Jan 16, 2026. It is now read-only.

Containerlab artifact not valid #239

@BaptisteGi

Description

@BaptisteGi

Containerlab config creates links for interfaces that connect device together. However in the device configurations are mentioned other interfaces. This creates a missmatch between what containerlab provides as "hardware" and the content of the configuration (we are trying to configure interfaces which are not "provisioned"). In some cases it could fail with a interface miss match exception.

To fix this issue we need to add dummy interfaces to the containerlab topology.

name: demo-dc-fabric

topology:
  kinds:
    ceos:
      image: "${CEOS_DOCKER_IMAGE}"
      exec:
        - sleep 10
        - FastCli -p 15 -c 'security pki key generate rsa 4096 eAPI.key'
        - FastCli -p 15 -c 'security pki certificate generate self-signed eAPI.crt key eAPI.key generate rsa 4096 validity 30000 parameters common-name eAPI'
    linux:
      image: "${LINUX_HOST_DOCKER_IMAGE}"
  nodes:
    fra05-pod1-leaf1:
      kind: ceos
      mgmt-ipv4: 10.0.0.3
      startup-config: configs/startup/fra05-pod1-leaf1.cfg
    fra05-pod1-leaf2:
      kind: ceos
      mgmt-ipv4: 10.0.0.4
      startup-config: configs/startup/fra05-pod1-leaf2.cfg
    fra05-pod1-spine1:
      kind: ceos
      mgmt-ipv4: 10.0.0.1
      startup-config: configs/startup/fra05-pod1-spine1.cfg
    fra05-pod1-spine2:
      kind: ceos
      mgmt-ipv4: 10.0.0.2
      startup-config: configs/startup/fra05-pod1-spine2.cfg

  links:
    - endpoints: ["fra05-pod1-leaf1:eth10", "fra05-pod1-spine1:eth1"]
    - endpoints: ["fra05-pod1-leaf1:eth11", "fra05-pod1-spine2:eth1"]
    - endpoints: ["fra05-pod1-leaf1:eth8", "fra05-pod1-leaf2:eth8"]
    - endpoints: ["fra05-pod1-leaf1:eth9", "fra05-pod1-leaf2:eth9"]
    - endpoints: ["fra05-pod1-leaf2:eth10", "fra05-pod1-spine1:eth2"]
    - endpoints: ["fra05-pod1-leaf2:eth11", "fra05-pod1-spine2:eth2"]

    # fra05-pod1-leaf1
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth1
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth2
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth3
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth4
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth5
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth6
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth7
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth12
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth13
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf1
        interface: eth14

    # fra05-pod1-leaf2
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth1
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth2
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth3
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth4
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth5
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth6
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth7
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth12
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth13
    - type: dummy
      endpoint:
        node: fra05-pod1-leaf2
        interface: eth14

    # fra05-pod1-spine1
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth3
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth4
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth5
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth6
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth7
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth8
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth9
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth10
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth11
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth12
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth13
    - type: dummy
      endpoint:
        node: fra05-pod1-spine1
        interface: eth14

    # fra05-pod1-spine2
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth3
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth4
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth5
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth6
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth7
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth8
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth9
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth10
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth11
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth12
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth13
    - type: dummy
      endpoint:
        node: fra05-pod1-spine2
        interface: eth14

mgmt:
  network: mgmt_network
  ipv4-subnet: 10.0.0.0/24
  ipv4-gw: 10.0.0.254

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