Open srj31 opened 1 year ago
How are you building the topology initially? is it via the labby build topology
command?
If is like that, there is an option via the labby_project.yml
file that lets you use external jinja2 templates.
For example:
The labby_project.yml
there is a template
attribute under main
section in the YAML:
---
main:
name: topology-02
description: Network Lab for Observability demos
contributors: ["David Flores <@davidban77>"]
version: "0.0.7"
labels: ["telemetry", "observability"]
template: "./templates/main.j2"
mgmt_network:
network: 192.168.2.0/24
gateway: 192.168.2.1/24
# Optional to further specify the management IP range
ip_range: [192.168.2.16, 192.168.2.63]
For bootstrap configuration you can specify the bootstrap.j2
and use conditionals in that file to point to the correct net_os like Ubuntu. This is a bit of that bootstrap.j2
:
{% if platform == "ios" %}
hostname {{ name }}
! Archiving section
archive
log config
...
{% elif platform == "eos" %}
configure terminal
hostname {{ name }}
...
The logic in the labby build
command should use these templates to render your configuration.
Also, for the devices you DON'T want to have labby to manage it, you can specify config_managed
to False
. For example in the labby_project.yml
nodes_spec:
- template: "Cisco IOS CSR1kv 17.3.1a"
nodes: ["lab-r1"]
net_os: "cisco_ios"
mgmt_port: "Gi1"
labels: ["edge", "dub"]
- template: "Ethernet switch"
nodes: ["lab-mgmt-switch-01", "lab-mgmt-switch-02"]
net_os: "builtin"
config_managed: false
labels: ["mgmt"]
Description
I am attempting to create a network topology similar to the screenshot but includes more hosts and routers. The main issue I am currently facing is the bootstrap phase where the error includes a missing config template for ubuntu_desktop net_os and the switch having None for net_os.
Will including a proper jinja2 config file for other operating systems allow for configuring the interfaces via labby rather than manually configuring individual hosts?
Screenshots
The simpler network topology built via labby
labby get project detail