Important note: this project is still WIP, so expect bugs and problems.
Spawns docker images for OpenIO nodes, and configures a namespace on them. Configurable via config.yml
On the host machine, install docker, docker-compose, make, git
apt install -y docker docker-compose make git
Clone the repo
git clone https://github.com/vdombrovski/oio-provision.git
cd oio-provision
Build the base images (will take a while)
make buildall
Bootstrap a 3 node cluster
make boot
Test: login onto a node and push an object
docker exec -ti oioprovision_node1_1 /bin/bash
openio object create test /etc/magic --oio-ns OPENIO --oio-account TESTACC
openio object list test --oio-ns OPENIO --oio-account TESTACC
In config.yml, update openio to the number of nodes you want (WARNING: more nodes require more resources on the host machine)
Example:
cat config.yml
# OpenIO provisioner config file
openio: 5
openio_directory_m0: 3
openio_directory_m1: 3
openio_conscience: 1
openio_zk_cluster: 3
openio_redis_cluster: 3
Update the cluster
make update
Login onto a node and verify that more services have been added
docker exec -ti oioprovision_node1_1 openio cluster list --oio-ns OPENIO
On the host machine
make stop
Contributions and issues are welcome!
- volume configuration
- swift integration