Skip to content

[BUG] deploy links: failed to add containerlab ownership altname #3350

@sdargoeuves

Description

@sdargoeuves

Describe the bug

Since moving to the latest version of containerlab (0.75.0), I am not able to start a lab (on 1 server, not on my other server)
I initially thought it would only affect the mix lab with vagrant boxes AND containers, but I have the same issue with only containers labs.

I also tried to remove the multilab plugin, still the same error happened.

To Reproduce

Any topology file containing containers (as far as I've experienced...)

Lab topology

Simplified topology that works fine on one of my server, but not on the other...

---
plugin: [ multilab ]
defaults:
    multilab.id: 2
    device: eos
    devices.eos.clab.image: ceos:4.34.5M
    links.stub_loopback: false
    provider: clab

module: ospf

nodes:
  r1:
  r2:
  r3:

links:
  - r1-r2
  - r2-r3
  - r3-r1

Output

From the server where it fails

╰─❯ dnetlab up -vvv

┌──────────────────────────────────────────────────────────────────────────────────┐
│ CREATING configuration files                                                     │
└──────────────────────────────────────────────────────────────────────────────────┘
loaded plugin netlab.extra.multilab
Removing unmanaged devices from topology
[INFO]    Rendered normalize template for r1 into r1/normalize
[INFO]    Rendered initial template for r1 into r1/initial
[INFO]    Rendered ospf template for r1 into r1/ospf
[INFO]    Rendered normalize template for r2 into r2/normalize
[INFO]    Rendered initial template for r2 into r2/initial
[INFO]    Rendered ospf template for r2 into r2/ospf
[INFO]    Rendered normalize template for r3 into r3/normalize
[INFO]    Rendered initial template for r3 into r3/initial
[INFO]    Rendered ospf template for r3 into r3/ospf
Removing unmanaged devices from topology
[CREATED] provider configuration file: clab.yml
[CREATED] pickled transformed topology data into netlab.snapshot.pickle
Removing unmanaged devices from topology
[GROUPS]  group_vars for all
[GROUPS]  group_vars for modules
[GROUPS]  group_vars for eos
[HOSTS]   host_vars for r1
[HOSTS]   host_vars for r2
[HOSTS]   host_vars for r3
[CREATED] minimized Ansible inventory hosts.yml
[CREATED] Ansible configuration file: ansible.cfg
Removing unmanaged devices from topology

┌──────────────────────────────────────────────────────────────────────────────────┐
│ CHECKING virtualization provider installation                                    │
└──────────────────────────────────────────────────────────────────────────────────┘
Checking virtualization provider installation
run_command executing: containerlab version
Adding /home/sa/code/quick-netlab-lab/netlab to system PATH
New system path: /home/sa/code/quick-netlab-lab/netlab:/home/sa/code/netsim-main-lab/venv/bin:/home/sa/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
... run result: CompletedProcess(args=['containerlab', 'version'], returncode=0, stdout='\n ⣴⡾⠛⠛⠖ ⢠⣶⠟⠛⢷⣦ ⢸⣿⣧  ⣿ ⠘⠛⢻⡟⠛⠛  ⣾⣿⡀  ⣿⡇ ⣿⣿⡄ ⢸⡇ ⣿⡟⠛⠛⠃⢸⣿⠛⠛⣷⡄ \x1b[38;2;0;201;255m⣿⡇\x1b[0m      \x1b[38;2;0;201;255m⣿⡇\x1b[0m    \n⢸⣿     ⣿⡇   ⣿⡇⢸⣿⠹⣧⡀⣿   ⢸⡇   ⣸⡏⢹⣧  ⣿⡇ ⣿⡏⢿⣄⢸⡇ ⣿⣧⣤⣤ ⢸⣿⣀⣀⣾⠇ \x1b[38;2;0;201;255m⣿⡇⠐⠟⠛⢿⡆\x1b[0m \x1b[38;2;0;201;255m⣿⡷⠛⢿⣆\x1b[0m \n⠘⣿⣄  ⡀ ⢻⣧⡀ ⣠⣿⠃⢸⣿ ⠘⣷⣿   ⢸⡇  ⢠⣿⠷⠶⢿⡆ ⣿⡇ ⣿⡇ ⢻⣾⡇ ⣿⡇   ⢸⣿⠉⢻⣧⡀ \x1b[38;2;0;201;255m⣿⡇⢰⡟⠛⣻⡇\x1b[0m \x1b[38;2;0;201;255m⣿⡇\x1b[0m \x1b[38;2;0;201;255m⣸⡿\x1b[0m \n ⠈⠙⠛⠛⠉  ⠉⠛⠛⠋⠁ ⠘⠛  ⠈⠛   ⠘⠃  ⠚⠃  ⠘⠛ ⠛⠃ ⠛⠃  ⠙⠃ ⠛⠛⠛⠛⠃⠘⠛  ⠙⠓ \x1b[38;2;0;201;255m⠛⠃⠈⠛⠛⠙⠃\x1b[0m \x1b[38;2;0;201;255m⠛⠛⠛⠛⠁\x1b[0m \n\n    version: 0.75.0\n     commit: 6a686b7d7\n       date: 2026-04-27T09:35:56Z\n     source: https://github.com/srl-labs/containerlab\n rel. notes: https://containerlab.dev/rn/0.75/\n', stderr='')
run_command executing: ['bash', '-c', "[[ `containerlab version|awk '/version/ {print $2}'` > '0.74.99' ]] && echo OK"]
... run result: CompletedProcess(args=BoxList(['bash', '-c', "[[ `containerlab version|awk '/version/ {print $2}'` > '0.74.99' ]] && echo OK"]), returncode=0, stdout='OK\n', stderr='')
[SUCCESS] clab installed and working correctly
clab: validating node r1 image ceos:4.34.5M
run_command executing: ['docker', 'image', 'ls', '--format', 'json', 'ceos:4.34.5M']
... run result: CompletedProcess(args=['docker', 'image', 'ls', '--format', 'json', 'ceos:4.34.5M'], returncode=0, stdout='{"Containers":"N/A","CreatedAt":"2026-03-27 21:27:56 +0000 UTC","CreatedSince":"5 weeks ago","Digest":"\\u003cnone\\u003e","ID":"c60da6ae96b7","Repository":"ceos","SharedSize":"N/A","Size":"2.57GB","Tag":"4.34.5M","UniqueSize":"N/A","VirtualSize":"2.572GB"}\n', stderr='')
clab: validating node r2 image ceos:4.34.5M
clab: validating node r3 image ceos:4.34.5M

┌──────────────────────────────────────────────────────────────────────────────────┐
│ STARTING clab nodes                                                              │
└──────────────────────────────────────────────────────────────────────────────────┘
pre-start hook for Containerlab - create any bridges and load kernel modules
provider clab: executing sudo -E containerlab deploy --reconfigure -t clab.yml
run_command executing: sudo -E containerlab deploy --reconfigure -t clab.yml
08:53:12 INFO Containerlab started version=0.75.0
08:53:12 INFO Parsing & checking topology file=clab.yml
08:53:12 INFO Removing directory path=/home/sa/code/quick-netlab-lab/minitest/clab-ml-2
08:53:12 INFO Creating docker network name=nl_mgmt_2 IPv4 subnet=10.194.57.0/24 IPv6 subnet="" MTU=0
08:53:12 INFO Creating lab directory path=/home/sa/code/quick-netlab-lab/minitest/clab-ml-2
08:53:12 INFO Creating container name=r3
08:53:12 INFO Creating container name=r1
08:53:13 INFO Creating container name=r2
08:53:13 ERRO failed deploy links for node "r3": failed to add containerlab ownership altname: operation not supported
08:53:13 ERRO failed deploy links for node "r2": failed to add containerlab ownership altname: operation not supported
08:53:13 ERRO failed deploy links for node "r1": file exists

   ERROR

  Deployment failed for one or more nodes: node "r3" deploy links: failed to add containerlab ownership altname:
  operation not supported node "r2" deploy links: failed to add containerlab ownership altname: operation not
  supported node "r1" deploy links: file exists.

Error executing sudo -E containerlab deploy --reconfigure -t clab.yml:
  Command '['sudo', '-E', 'containerlab', 'deploy', '--reconfigure', '-t', 'clab.yml']' returned non-zero exit status 1.
[FATAL]   netlab up: sudo -E containerlab deploy --reconfigure -t clab.yml failed, aborting...
╭─   ~/code/quick-netlab-lab/minitest

Version

dev branch of netlab (commit 0ed7eb3ef)

but the same happens on the latest production netlab version, (with the same containerlab 0.75.0)

Other information

Server with issue runs on Ubuntu 20.04.6

╰─❯ dnetlab version
netlab version 26.04
  executable location: /home/sa/code/quick-netlab-lab/netlab/netlab
  package location: ['/home/sa/code/quick-netlab-lab/netlab/netsim']
  user defaults: []

Required packages:
  python-box: 7.2.0
  Jinja2: 3.1.4
  PyYAML: 6.0.2
  netaddr: 1.3.0
  requests: 2.32.5
  filelock: 3.18.0
  rich: 13.8.0

Optional packages:
  ruamel.yaml: 0.19.1

Ansible components:
  ansible: 10.3.0
  ansible-core: 2.17.3
  ansible-pylibssh: 1.2.2

Server OK runs on Ubuntu 24.04.4

╰─ dnetlab version
netlab version 26.04
  executable location: /home/seb/code/netlab/netlab/netlab
  package location: ['/home/seb/code/netlab/netlab/netsim']
  user defaults: []

Required packages:
  python-box: 7.2.0
  Jinja2: 3.1.4
  PyYAML: 6.0.2
  netaddr: 1.3.0
  requests: 2.32.3
  filelock: 3.16.1
  rich: 13.8.1

Optional packages:
  ruamel.yaml: not installed

Ansible components:
  ansible: 10.4.0
  ansible-core: 2.17.4
  ansible-pylibssh: 1.2.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions