The Gluster development helper ant

gluster, docker, utility, development, testing
pip install gant==0.1.2


GAnt - the Gluster development helper ant

GAnt, is a tool for creating standardized development and testing environments for GlusterFS development. GAnt makes use of Docker to build the development environment.

gant is still under heavy development and may not work as expected.

Installation instructions

  1. Install docker

  2. Get the GlusterFS source

  3. Install gant

Install docker

Install the latest version of docker using the preferred method of installation for your system

Get the GlusterFS source

Clone the GlusterFS source from Gluster gerrit or from GlusterForge or from Github. The GlusterFS source is needed to build the docker images. This source will also contain some helper scripts and files needed by gant.

The helper scripts and files are not yet available in the GlusterFS source repo. The patch with these files is under review at The files are also available on the branch 'gant-files' in my GlusterFS clone on GlusterForge.

Install gant

Install gant using pip,

$ pip install gant

Using gant

gant needs to be run in the 'extras/gant-files' directory. This will be changed in the future when conf file support is implemented.

  1. gant build-base - build the base image

  2. gant build-main - build main image with GlusterFS installed from source

  3. gant launch - launch the containers

  4. gant ssh - run ssh commands in the containers

  5. gant ip - print IP address of container

  6. gant gluster - run gluster cli command in container

gant build-base [force]

The build-base command builds the base Docker image. This base image will be used to build the main image and to build packages (when support for building packages is implemented). The base image is named 'glusterbase:latest' by default, which can be changed using the --basetag option. The base image is build using the 'Dockerfile' present in 'gant-files'.

gant build-main <srcdir> [force]

The build-main image builds the main Docker image with GlusterFS installed, which will be used to launch the containers. The main image will be named 'gluster:latest' by default, which can be changed using the --maintag option. The '' script in 'gant-files' is used to build and install GlusterFS from source present in <srcdir>.

gant launch <number>

The launch command launches the given <number> of containers. The containers are name 'gluster-*' by default, which can be changed using the --prefix option. The containers are launched with sshd running.

gant ssh <name> [--] [<ssh-command>...]

The ssh command will ssh into the <name>+d container. It will run any +<ssh-command> given or launch a shell otherwise.

gant ip <name>

The ip command prints the IP address of the +<name>+d conatiner.

gant gluster <name> [--] <gluster-command>...

The gluster command will run the given <gluster-command> in the +<name>+d container.