Test Suite - Docker
Jump to navigation
Jump to search
Libreswan testing suite docker adventures.
Everything below runs as root on Fedora 20
#swantest depend on python 3.3 or later yum install python3-setproctitle python3-pexpect # install docker 1.3 yum -y remove docker yum -y install docker-io bridge-utils yum -y update docker-io systemctl start docker systemctl enable docker wget -O /usr/local/bin/pipework https://github.com/jpetazzo/pipework/raw/master/pipework chmod a+x /usr/local/bin/pipework cd /home/build/ # clone an up to date libreswan tree from somewhere to /home/build/ cd /home/build/libreswan/testing/docker/ # check authorized_keys file edit or add your your keys in there docker build -t swanbase . # coffee break. It will download Fedora 20 + about 200 packages # my experience on swantest real 19m31.907s, on parallels vm from Toronto real 7m1.228s # make sure the host has netkey stack loaded ipsec _stackmanager start --netkey ipsec version |grep klips && echo you need netkey cd /home/build/libreswan/ make programs cd /home/build/libreswan/testing/pluto/ikev2-37-docker-rw ../../utils/swantest --docker
# show running docker containers docker ps -a # check if you have a proper docker installation? docker images # stop ALL containers docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) # if your tests it create a bunch of bridge devices too. Not all of them are cleaned up. brctl show
Check if you got correct image
cd /home/build/libreswan/testing/docker docker build -t swanbase . root@jes:/home/build/libreswan/testing/docker# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE swanbase latest e8e73564a0ae 55 minutes ago 2.84 GB fedora 20 7d3f07f8de5f 6 weeks ago 374.1 MB
Prerequisites
The swantest need Python 3.3 or later. It is necessary for subprocess to deal with 100s of threads/processes. Also pexpect is works better in 3.3.
Notes =
currently support install rpms (on both initiator and responder). May be separate options so can have different version on both sides.
Add strongswan package or just install runtime? or keep different image?