Run multinode test inside Docker containers¶
Note
This procedure was tested with Docker 1.12
Pre-requisites¶
Note
All pre-requisites below can be handled automatically by using a Cloud-Computing infrastructure. We provide Openstack support in pre-alpha version, please contact us for additional information.
A user account on a handful of Linux machines, for example: account myuser on a workstation named myhost.domain.org, and on cluster nodes named qserv00.domain.org to qserv03.domain.org
ssh access from myhost.domain.org to all qservXX.domain.org for myuser account, with no password prompt, for example using ssh keys authentication mechanism.
A parallel ssh client installed on myhost.domain.org, for example shmux (http://web.taranis.org/shmux/)
Internet access available for all qservXX.domain.org
Docker running on all qservXX.domain.org
myuser belonging to docker group on all qservXX.domain.org
sudo usermod -a -G docker myuser
Note
It is possible to run a development version of Qserv by generating Qserv master and a worker images from a given github branch/tag, see Build Qserv image from a Github branch
Run multinode test¶
On the workstation myhost.domain.org, clone Qserv code and go to directory containing example for deployment scripts.
git clone git@github.com:lsst/qserv.git
cd ${SRC_DIR}/qserv/admin/tools/docker/deployment/parallel
create and adapt next example scripts to prepare multinode test execution:
In env.sh
, prepare your host list and set the name of your images:
Then, install Qserv and launch multinodes integration tests.
# download latest docker image on each node:
./pull.sh
# Start Qserv and run multinode test:
./run-multinode-tests.sh
# Check Qserv status
./status.sh
# Stop Qserv
./stop.sh