--
HamidMoghaddam - 18 May 2016
The new version of
CloudSuite is developed on Docker files so it needs different installation than last one. The new version needs Ubuntu 14.04 so I cloned one of VM and upgraded it to 14.04.
Creating Swarm Manager
In order to connect dockers which are installed on different nods we need installing Swarm.
- cloned Vm and named it cs-v3-web-swarmmanager-x64 and assigned it 10.0.100.62.
- installed docker by this link
guide.
- opened terminal and wrote: docker pull swarm
- Got error "Cannot connect to the Docker daemon. Is the docker daemon running on this host?" so run sudo usermod -aG docker mike and sudo usermod -aG docker root then logout and login
- docker pull progrium/consul
- add DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 \ --cluster-store consul://10.0.100.62:8500 \ --cluster-advertise eth0:2375" to /etc/default/docker(in this link
they wrote step 6 completly wrong and take one day to figure out what happens.)
- sudo service docker restart
- docker run -d -p 8500:8500 --hostname 10.0.100.62 --name consul-store progrium/consul -server -bootstrap (again in the swarm installation guide by CloudSuite, they made this line mistake and consumed a lot of time to solve it)
- docker run -d --name swarm-agent swarm join --advertise=10.0.100.62 :2375 consul://10.0.100.62:8500 (again CloudSuite team writed this line wrongly. Now I am not surprised why CloudSuite is such a confusing software)
- repeat step 2,3,4,6,7,9 on every VMs but just in step 9 replace --advertise IP address with each VM IP address.
- docker -H tcp://10.0.100.62:22222 network create --driver overlay swarm-network
Frontend
I did following steps on frontend machine(Please check swarm-agent is running: docker start 'swarm-agent')
1. docker pull cloudsuite/web-serving:web_server
2.
docker -H tcp://10.0.100.62:22222 run -dt -e constraint:node==cs-v3-web-frontend-x64 --net=swarm-network
--name=web_server cloudsuite/web-serving:web_server /etc/bootstrap.sh I got subnet conflict in this stage (Thanks again to
CloudSuit team) After one they searching I found out creating overlay network (step 11 of swarm manager creation) should be change to docker -H tcp://10.0.100.62:22222 network create --driver overlay --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 swarm-network
Backend
- docker pull cloudsuite/web-serving:db_server
- docker -H tcp://10.0.100.62:22222 run -dt -e constraint:node==cs-v3-web-backend-x64 --net=swarm-network --name=mysql_server cloudsuite/web-serving:db_server
Memcache
- docker pull cloudsuite/web-serving:memcached_server
- docker -H tcp://10.0.100.62:22222 run -dt -e constraint:node==cs-v3-web-memcached-x64 --net=swarm-network --name=memcache_server cloudsuite/web-serving:memcached_server
Client
- docker pull cloudsuite/web-serving:faban_client
- docker inspect --format '' web_server
- docker run --net=my_net --name=faban_client cloudsuite/web-serving:faban_client [put IP address of step 2 in here]
Running benchmark
Step 3 in client section runs benchmark but I can not change running time of benchmarking so I would like have faban client web page so I do following steps:
- docker -H tcp://10.0.100.62:22222 run -it --entrypoint=/bin/bash -e constraint:node==cs-v3-web-memcached-x64 --net=swarm-network --name=faban_client cloudsuite/web-serving:faban_client
- after login to client docker I run faban faban/master/bin/startup.sh
-
- java -jar Usergen.jar https://web_server:8080
- now I can see faban client web page however increasing steady time in it make "java.lang.Exception: Driver failed to complete benchmark run" error some people said it happened because of Openjdk 7 so I should switch to Oracle Java in client docker
- add-apt-repository ppa:webupd8team/java made "add-apt-repository: command not found" error so I used apt-get install software-properties-common python-software-properties
- sudo apt-get update
- apt-get install oracle-java8-installer
- used /usr/lib/jvm/java-8-oracle in java home field of faban client web page
- The error still remains.(I will work on it tommorrow)