A first lab

A CREATE lab you can read in one place: marker, topology, and one startup config. Create a project makes the empty folder. This page shows what a filled lab looks like.

Words: Glossary. Field rules: YAML.

Folder

IaC/first-lab/
  .eve-iac.yml
  topology.yml
  configs/default/n_1.cfg
  configs/default/n_2.cfg

IaC/ is the container. first-lab/ is the lab.

Marker

version: 1
mode: create
topology: topology.yml
eve:
  lab: /IaC/first-lab.unl

mode: create means EVE IaC owns the managed lab. The path under eve.lab is that lab on the server.

topology.yml

Two routers on one LAN. n_1 and n_2 are the stable keys. R1 and R2 are only display names. Gi0/0 is what a vIOS template reports; another template uses other names. Pick the names the editor offers for your image. Do not copy an interface name from a different template.

version: eve-iac/v1
name: first-lab
description: Two routers on one LAN.

nodes:
  n_1:
    name: R1
    template: vios
    image: vios-adventerprisek9-m
    position: {x: 200, y: 200}
    configset: default
    attributes:
      ethernet: 1
  n_2:
    name: R2
    template: vios
    image: vios-adventerprisek9-m
    position: {x: 520, y: 200}
    configset: default
    attributes:
      ethernet: 1

networks:
  net_1:
    name: LAN
    type: bridge
    position: {x: 360, y: 360}

links:
  - endpoints:
      - {node: n_1, interface: Gi0/0}
      - {network: net_1}
  - endpoints:
      - {node: n_2, interface: Gi0/0}
      - {network: net_1}

configsets:
  default:
    n_1: configs/default/n_1.cfg
    n_2: configs/default/n_2.cfg

configsets.default is the library: which file belongs to which node key. configset: default on the node is the boot selector: which library that node starts from. Listing a file does not select it. Both lines are required.

type: bridge is one network type a server may offer. The editor lists the types on the connected EVE server.

Startup config

configs/default/n_1.cfg is the file named above. The key in the library is n_1, not R1.

hostname R1
interface GigabitEthernet0/0
 ip address 10.0.0.1 255.255.255.0
 no shutdown

configs/default/n_2.cfg is the same shape for R2, with 10.0.0.2.

What you do next

  1. Edit and validate. Validate checks this file against the live template catalog. It does not start nodes.
  2. Plan and deploy. Deploy creates the managed lab the first time. Later edits use reconcile.
  3. A reconcile that still needs a node stop does not stop anything until you confirm that plan. See Plan / reconcile.