GAnt, is a tool for creating standardized development and testing environments for GlusterFS development. GAnt makes use of Docker to build the development environment.
Warning
|
gant is still under heavy development and may not work as expected. |
-
Install docker
-
Get the GlusterFS source
-
Install gant
Install the latest version of docker using the preferred method of installation for your system
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.
Note
|
The helper scripts and files are not yet available in the GlusterFS source repo. The patch with these files is under review at review.gluster.org. The files are also available on the branch 'gant-files' in my GlusterFS clone on GlusterForge. |
gant needs to be run in the 'extras/gant-files' directory. This will be changed in the future when conf file support is implemented.
-
gant build-base - build the base image
-
gant build-main - build main image with GlusterFS installed from source
-
gant launch - launch the containers
-
gant ssh - run ssh commands in the containers
-
gant ip - print IP address of container
-
gant gluster - run gluster cli command in container
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'.
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 'make-install-gluster.sh' script in 'gant-files' is used to build and install GlusterFS from source present in <srcdir>.
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.
The ssh command will ssh into the <name>+d container. It will run any +<ssh-command> given or launch a shell otherwise.