Commit Graph

22 Commits

Author SHA1 Message Date
4d964af173 Templetize ovs-config.sh and share it between bird and frr 2023-05-31 16:07:25 +00:00
8a64c5594a Follow symlinks when assembling the templates 2023-05-31 15:30:55 +00:00
4c3d92008f Refactor away 'default' and just call the default profile 'bird' 2023-05-31 14:47:19 +00:00
9ead69a5f6 Make SSH keys for root/ipng configurable, add vifino only for lab0 2023-05-06 19:55:16 +00:00
3f737293b9 Complete lab0/lab1/lab2 setup with 2 hosts and 1 TAP device + OVS configs 2023-05-06 17:56:23 +00:00
72245529a2 Add lab-build snippets and executing them in 'create'. Refactor create/destroy/pristine; also, only virsh destroy VMs if they are 'running' 2023-05-06 12:43:05 +00:00
e9d645cba4 Refactor generator - allow for multiple types of node (only 'vpp' for now) -- move the vpp overlays into a new 'type'-root; we will read common/ / and / now 2023-05-06 10:57:05 +00:00
aa0b042298 Set MTU 9000 on the link to labX.lab.ipng.ch 2023-05-06 10:42:54 +00:00
3170fb24dd Rewrite gateway4/gateway6 to routes to satisfy Debian Bookworm 2023-05-04 18:51:47 +00:00
d127651279 Add vifino's keys - add MTU 9000 on the mgmt interface, rebuild lab0 2023-05-04 18:48:48 +00:00
d6ccaf5357 Make the switch ports access (only untagged traffic) 2023-05-03 20:53:14 +00:00
9b9961e40c Bump version to 20221128; Install default into OSPF; Refactor bird file structure 2022-11-27 15:33:25 +00:00
543074b72d Collapse the override interface.vpp files
These interfaces follow a clear pattery of daisychaining and can be
computed using {{node.id}} and {{lab.id}}.

TESTED: Generating a new output has only expected diffs in the comments,
not in any IP or MTU or state values.
2022-10-22 09:59:02 +02:00
b63e54c85a Generate flowprobe configs, but add them as a comment so LAB users can optionally enable them 2022-10-20 15:45:05 +02:00
87a50e13c0 Fix vpp0-3 IPv6 address on Gi10/0/0 2022-10-20 15:20:46 +02:00
4a017c30cc Add interface configs for lab1 and lab2. They're all up! 2022-10-19 19:48:10 +02:00
9e22d00c0f Add a split horizon resolv.conf
- in default namespace, point to 194.1.163.3 and .4
- in dataplane namespace, point to lab.ipng.ch (192.168.1X.4 and 2001:678:d78:2X1::ffff)
- renumber ipv4 transit nets, so that .4/31 is labX.lab.ipng.ch <-> e0.vppX-0
- refactor common args (like nameserver search paths, node count, etc)

Regenerate the whole thing.
2022-10-19 13:36:14 +02:00
1b241fe82a Renumber IPv4 transit nets so that 4/31 is lab?.lab.ipng.ch <-> e0.vpp?-0 2022-10-19 12:48:07 +02:00
65ef59c612 Add OVS configs for bird overlay 2022-10-18 22:53:07 +02:00
04c93b513c Provide per-hostname interface configs 2022-10-18 19:54:17 +02:00
5bc0d2c84c Futher flesh out the generator
- Create a per-host directory called overlays/$(overlay)/hostname/$(host.hostname) to have files that
  ought to be included only for that host. Things like /etc/vpp/config/interface.vpp go there
- Rename the "templates" directory as overlays/$(overlay)/common/
- Render one after the other, so a file can exist in common and hostname, the latter taking precedence
- Remove the config for 'pubkeys' and instead just make these common/root/.ssh/* and common/home/ipng/.ssh/*
- Split out bootstrap.vpp so that a per-host include can be overriden for interfaces.vpp
  - But keep a default common/etc/vpp/config/interface.vpp as a placeholder, so that VPP will still start
    even if the per-hostname override isn't provided.
- Generate a fresh output for 'default' on all machines
2022-10-18 16:30:52 +02:00
27d4ec6194 initial checkin - a start of the generator, and some config files and overlays 2022-10-13 20:41:34 +02:00