Libreswan's Online Documentation
View the Project on GitHub libreswan/libreswan.github.io
SupportRun:
./kvm clean
To start afresh (clean build, new results, new keys).
./kvm keys
The generated X.509 keys have a limited lifetime so occasionally they need to be refreshed. (there’ll be an error when this needs to happen).
./kvm upgrade
To refresh the packages.
Since test output is sensitive to package versions, an occasional refresh of the packages is needed to keep things in sync.
The upgrade process may also hold back packages, and install custom packages.
To make maintenance easier, and reduce network requirements, the build VMs are constructed from a sequence of intermediate domains (here, linux is used, same applies to other platforms).
the base domain: linux-base
The base VMs have one disk and one network interface.
It will contain a minimal install using only files from the ISO; but with the following tweaks:
/pool and /bench addedIt should not be upgraded. That’s the next step. If something goes wrong during the upgrade, things are wound back to this domain.
(yea, debian seems to upgrade some packages; ulgh!)
the upgrade domain: linux-upgrade
This is a shallow clone of linux-base with the packages needed to build and install libreswan added:
Incremental upgrades are not supported.
However, if you were to log into this domain,
make a mess, shut it down, and then run
./kvm transmogrify, you might end up with the desired result…
the build domain: linux
This is a transmogrified shallow clone of linux-upgrade.
Transmogrification consists of:
It is used to incrementally build libreswan (i.e., no make clean) using /var/tmp, and installed into /usr/local.
It is then cloned to create test domains.
To force a scratch build, first run either ./kvm uninstall or ./kvm clean.
It will delete and then rebuild the VM from linux-upgrade, so truly from scratch!.
the test domains: linuxeast
(old) the test domains are defined as transient clone of the build domain
(new) the transient domains are created on the fly using linuxeast et.al. as the xml
There’s no need to delete a domain before rebuilding it. For instance ./kvm upgrade does not first require ./kvm downgrade.
There are two variants of each command. The first creates all the domains, the second only creates the specified domain.
| common name | domain name | create destroy |
mounts | networks |
|---|---|---|---|---|
| ISO | ||||
| base domain | linux-base alpine-base ... |
./kvm base [linux] ./kvm destroy [linux] |
/pool /bench |
gateway |
| upgrade domain | linux-upgrade alpine-upgrade ... |
./kvm upgrade [linux] ./kvm downgrade [linux] |
/pool /bench |
gateway |
| build domain | linux alpine ... |
./kvm transmogrify [linux] ./kvm install [linux] ./kvm uninstall [linux] ./kvm clean |
/pool /bench /source /testing |
gateway |
| test domain | east west ... |
./kvm install | /source /testing /pool |
test networks |