containerlab icon indicating copy to clipboard operation
containerlab copied to clipboard

Not all VM kinds support startup-config

Open nlgotz opened this issue 2 years ago • 5 comments

From a testing/usability perspective, it would be awesome if all of the VM kinds would support a startup config.

Going through the code briefly, here's where it looks like is currently supported or not supported

Kind startup-config Support
Nokia SROS Yes
Arista vEOS No
Juniper vMX Partial
Juniper vQFX Yes
Cisco XRv No
Cisco XRv9k No
Cisco CSR No
Cisco Nexus No
Cisco Nexus 9000v No
Dell FTOS10v No
Mikrotik RouterOS Yes
Palo Alto PAN No
IPInfusion OcNOS No
Checkpoint Cloudguard No

From looking at the code, it looks like vMX has support in Containerlab (doesn't look like it in hellt/vrnetlab).

Things Needed for Containerlab:

  • [ ] Code for all "No" nodes
  • [ ] Update Documentation

This won't fully allow all nodes to load a startup config as changes will need to be done on the hellt/vrnetlab and/or boxen end to actually do something with the config file

nlgotz avatar Aug 11 '22 18:08 nlgotz

This is something I can take on/be assigned.

I see this as being 1 PR to add the code and then separate PRs to update the documentation once the vrnetlab/boxen portion gets updated.

nlgotz avatar Aug 11 '22 18:08 nlgotz

Hi @nlgotz currently most (like 90%) of non-sros vrnetlab images uses the following technique to deliver the stratup-config functionality:

  1. containrelab refers a file which contains CLI based lines
  2. vrnetlab code opens this file and pushes it line by line when the node applies it default config (like here)

are you planning on using this one?

hellt avatar Aug 11 '22 19:08 hellt

Yep. I was planning on basically copy/pasting how it's done in the vmx/vqfx go files and then in vrnetlab loading it line by line.

I may redo the RouterOS one as well so that it uses the same method and doesn't require tftp or anything like that to load configs. But that'd be lower on my priority list as it's already working

nlgotz avatar Aug 11 '22 19:08 nlgotz

ok, cool on clab side that can be a single PR (with docs) after the relevant parts are merged into vrnetlab you will be able to create a clab binary with those changes without releasing it, so you can test vrnetlab part

hellt avatar Aug 11 '22 19:08 hellt

#977 fixes most of the nodes with the exception of a few:

vrnetlab:

  • Dell FTOS - I'm working on trying to get a workable image. Shouldn't be difficult as the CLI is very Cisco like
  • Palo Alto PAN - I don't have access to an image

I haven't done/am unable to do much with Boxen as the builds fail before any sort of modification, making it impossible to test/validate

nlgotz avatar Aug 12 '22 19:08 nlgotz

Updated #977 to include Dell FTOS as I was able to get it working and tested

nlgotz avatar Aug 15 '22 02:08 nlgotz

these changes has been merged into 0.31.1 thank you

hellt avatar Aug 15 '22 13:08 hellt

Just tested with Cisco CSR and it doesn't seem to work, what am I missing? I do see the config directory created under the node's name and my custom config copied into it as startup-config.cfg however none of the config is applied to the node.

I do see in the debug DEBU[0000] node 'node2-2' generated config: with my custom config, but that's it. I don't see any errors either.

achurak avatar Aug 15 '22 20:08 achurak

@achurak have you re-generated the csr image using the latest hellt/vrnetlab master branch?

hellt avatar Aug 15 '22 20:08 hellt

@achurak have you re-generated the csr image using the latest hellt/vrnetlab master branch?

Nope, but now that you say this it does make sense I need to regenerate the image, might make sense to add a small note in the release notes or the documentation. Thanks!

achurak avatar Aug 15 '22 22:08 achurak

closing as delivered

hellt avatar Aug 21 '22 18:08 hellt