LEdoian
0f6bca1c15
Add hint on using cssh to README
4 months ago
LEdoian
4d60495551
The diagram is not SIS friendly
1 year ago
LEdoian
31bea73092
Update readme, so this is shippable.
1 year ago
LEdoian
2d6f6301c5
Use area 1 in the swarm
...
Makes it more contained and more demonstrative (if that is a word…)
1 year ago
LEdoian
91003202ba
Do not care for fails
...
This allows shutting down the swarm even when some routers are already
down.
1 year ago
LEdoian
ea113dd7c9
postinst: Add iproute and set up DNS
...
Without these the VMs are almost unusable.
1 year ago
LEdoian
0396099bcd
Add support for IPv6
...
The 40 bits in the ULA global prefix fdce:73a4:0b00::/48 were generated
by Python's `random.randint(0,2**40-1)` call
1 year ago
LEdoian
5a446aa6ef
./manage_all.sh: add force-stop
2 years ago
LEdoian
8ec4b45032
Add note about connecting the herd
2 years ago
LEdoian
4ca757463c
Add an SSH key
...
Using my own keys is unpractical when changing machines.
2 years ago
LEdoian
b02a04ccbf
Enable forwarding in all the routers
3 years ago
LEdoian
efb04bdf6c
Run virt-viewers in parallel
3 years ago
LEdoian
a43d766b89
Chmod!
3 years ago
LEdoian
32c4e15e3d
Add a simple script to manage all the machines
3 years ago
LEdoian
098d24b61d
Do not set root pw, do not hack mdev
...
Neither is required, root can have no password and the nameif hack does
not work anyway.
3 years ago
LEdoian
ca51082938
Name interfaces using mactab
3 years ago
LEdoian
afa4ed311b
Add re-createable disk images to .gitignore
3 years ago
LEdoian
0a5c5e9d54
Fix partition table mismatch
...
gen_disks expects swap to be present, yet we disabled it in
alpine_install.
3 years ago
LEdoian
53ae47b2c7
Install bird
3 years ago
LEdoian
00f6cdba39
Add initial version of postinst script
3 years ago
LEdoian
f6c0896a6a
Improve installation instructions in alpine_install
3 years ago
LEdoian
07532289df
Mention gen_dummy in README
3 years ago
LEdoian
a8e0e0a805
Add initial version of disk generation scripts
3 years ago
LEdoian
ccc82015c8
Add KVM and more RAM to the VM
...
Else it does not run
3 years ago
LEdoian
11c5674b20
Fix bridge templates
...
The context variable `bridges` is a dictionary, not a list.
3 years ago
LEdoian
48a6ece522
Remove debug prints
3 years ago
LEdoian
b90663e316
Fix gen_bridge_files relying on global state
3 years ago
LEdoian
4d13f121ff
Fix indentation
...
Copy-paste error :-)
3 years ago
LEdoian
82ab835dfe
Mention output/gen_bridges.sh in README
3 years ago
LEdoian
c0f270e9e8
Refactor bridge files into templates
...
This allows better extensibility, as well as provides more uniform way
of config file generation.
3 years ago
LEdoian
3262f37229
Add a simple README with instructions
3 years ago
LEdoian
66eda014c3
Rename baz.py to a sensible name
3 years ago
LEdoian
28bb470019
Fix ownership of generated disk images
3 years ago
LEdoian
ac5850d95e
Add gen_disks.sh script to modify virtual drives
...
We expect the repo root to contain pre-installed Alpine 3.15.4 in raw
drive file 'dummydisk.img'. This then gets copied to
output/<machine>/disk.img and the generated files are put into it in
order to be used.
Beware, this uses hardcoded paths and expects specific disk layout.
This relies on how the installation formatted the disk. While the
installation procedure is not documented anywhere, it is in essence
default setup of Alpine Linux, with minimal tweaks that should not
affect behaviour of routing (but still impede reproducibility). The only
major difference from default settings is BIRD being pre-installed.
Unfortunately, using loop devices and mounting requires root privileges
(as far as I know). It should be possible to use some other way, but
this is the simplest I know at the moment.
3 years ago
LEdoian
a1a73c8cd5
Generate bridge.conf instead of just list of bridges
...
QEMU's bridge.conf is now directly usable, yet really easy to both
generate and parse, should that be needed in the future.
This partially breaks layers of abstraction, but the point of the script
is to make setup easy, not to be an example of clean code :-)
3 years ago
LEdoian
26f1299b59
Generate also hosts and hostname files
3 years ago
LEdoian
2fe2640e9e
Fix alignment of templated files
...
Jinja directives keep indentation. Therefore, if tokens like
`{% for … %}` are indented, the indentation accumulates and this creates
confusing indentation in output.
3 years ago
LEdoian
f05472259f
Fix Jinja stripping newlines at EOF
3 years ago
LEdoian
1247948259
Make qemu.sh executable
3 years ago
LEdoian
dc95ade8a0
Fix MAC in qemu script
3 years ago
LEdoian
75bbce24c5
Diag: Mark gateway as machine X
3 years ago
LEdoian
c0f9174ab6
Add initial version of template files
3 years ago
LEdoian
82905c2b20
Few fixes of the main script
3 years ago
LEdoian
37d55b8e3b
Add note about router ids
3 years ago
LEdoian
314170744e
Tweak the generator
3 years ago
LEdoian
c926f36c8b
Add gitignore
3 years ago
LEdoian
c098d3ceb3
Init
3 years ago