ipspace / netlab

Making virtual networking labs suck less
https://netlab.tools
Other
456 stars 69 forks source link

[BUG] Vagrant batch and unmanaged devices conflict #1554

Open sdargoeuves opened 1 day ago

sdargoeuves commented 1 day ago

Describe the bug

I can't start the lab when having unmanaged devices, AND also doing bach startup with libvirt

To Reproduce

If you use the topology below, you should see the error, but when removing the batch_size and batch_interval, it works fine.

Lab topology

---
defaults.providers.libvirt.batch_size: 3
defaults.providers.libvirt.batch_interval: 10 # between 1 and 1000 seconds
defaults.devices.eos.clab.image: "ceos:4.32.2F.1"

groups:
  distfw:
    device: vsrx
    module: [ ospf ]
    members: [ fw01, fw02 ]

nodes:
  fw01:
  fw02:
  sw1:
    unmanaged: true
    device: linux
  sw2:
    unmanaged: true
    device: linux

links:
  - fw01:
      ipv4: 101.0.0.1/30
    sw1:
      ipv4: 101.0.0.2/30
    libvirt:
      public: true
      uplink: enp195s0
    ospf: false
  - fw02:
      ipv4: 101.0.0.5/30
    sw2:
      ipv4: 101.0.0.6/30
    libvirt:
      public: true
      uplink: enp195s0
    ospf: false
  - fw01-fw02

Output

netlab create works fine, but netlab up fails due to Vagrant:

┌──────────────────────────────────────────────────────────────────────────────────┐
│ STARTING libvirt nodes                                                           │
└──────────────────────────────────────────────────────────────────────────────────┘
[CREATED] creating libvirt management network nl_mgmt_3
provider libvirt: executing vagrant up --provider libvirt fw01 fw02 sw1
The machine with the name 'sw1' was not found configured for
this Vagrant environment.
Error executing vagrant up --provider libvirt fw01 fw02 sw1:
  Command '['vagrant', 'up', '--provider', 'libvirt', 'fw01', 'fw02', 'sw1']' returned non-zero exit status 1.
[FATAL]   netlab up: vagrant up --provider libvirt fw01 fw02 sw1 failed, aborting...

Version

ipspace commented 9 hours ago

Thank you, will fix. Just give me a few days.