@@ -78,7 +56,6 @@ To run the project you need to migrate the project's database, there are backup
```zsh
rake db:create (RAILS_ENV=production )
rake db:migrate (RAILS_ENV=production )
>>>>>>> cmaupeti
```
Then launch the project and check if there is no error message in the correct port:
...
...
@@ -86,36 +63,17 @@ Then launch the project and check if there is no error message in the correct po
rails s
```
<<<<<<< HEAD
## Infrastructure
There is three types of machines in the infrastructure (other than Woody):
- The workers, not connected to Internet. There are just here to do the jobs asked.
- Sid, a worker with an internet connection.
- Cargo, the Docker registry used by workers to do ```docker pull``` commands.
The best way to create the infrastructure is to build your first worker then you can clone your machines to create more workers, Sid and Cargo.
###Installation of Debian and Docker
We're using VM VirtualBox to simulate the workers. Download a .iso of Debian, launch your VM and configure it (we're creating a new user called 'allgo' in this example). Once it boots, you need to configure it to be ready for Docker:
```zsh
sudo
su -c "adduser allgo sudo"
sudo apt-get install curl
curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker allgo
sudo systemctl enable docker
=======
We also need to run sidekiq separately :
```zsh
bundle exec sidekiq (-e production)
bundle exec sidekiq (-e production)
```
##WorkerX
### What
### What
The worker are server that will execute job created by users in Allgo.
we sent the command through ssh from Woody and send a docker pull request to cargo (see below)
the datastore from woody is mount through ssh so Worker can write in.
### Need
the datastore from woody is mount through ssh so Worker can write in.
### Need
Docker 1.6, openssh-server
### How
...
...
@@ -130,7 +88,6 @@ Install the last docker version docker :
As we do not have an HTTPS certification yet, you need to allow insecure registries:
=======
*Allowing insecure registry*
As we do not have an HTTPS certification yet, you need to allow an insecure registry in cargo server (see below) :
>>>>>>> cmaupeti
####Debian < v8
```zsh
sudo nano /etc/default/docker
```
Then modify the line concerning DOCKER_OPTS to have: ```DOCKER_OPTS="--insecure-registry cargo.irisa.fr:5000"```.
<<<<<<< HEAD
####Debian >= v8
=======
(or myregistry:5000 if development or other server)
#####Debian >= v8
>>>>>>> cmaupeti
```zsh
sudo nano /lib/systemd/system/docker.service
```
...
...
@@ -175,12 +124,8 @@ sudo systemctl daemon-reload
sudo /etc/init.d/docker restart
```
<<<<<<< HEAD
###A different IP address for every machine
All the workers should have a different IP address configured. Add in VirtualBox second host-only adapter in the Network tab. This adapter sould be in promiscuous mode allowing VMs witha connected cable.
=======
##Sid - Sandbox
It's the same as worker, but we use it when an user install an application/algorithm.
It's the same as worker, but we use it when an user install an application/algorithm.
We create the docker image and push it to the registry
You can use the Vagrantfile for Virtualbox (no provisioning yet)
Or follow those instructions :
Or follow those instructions :
Create 4 or 5 VM (depends of if you want to use your host as web server)
Add in VirtualBox second host-only adapter in the Network tab, with DHCP.
>>>>>>> cmaupeti
Relaunch your VM and modify the network interfaces:
...
...
@@ -216,11 +160,8 @@ iface eth0 inet dhcp
auto eth1
iface eth1 inet dhcp
<<<<<<< HEAD
```
=======
```
>>>>>>> cmaupeti
Once you've done the modifications, use the command ``sudo /etc/init.d/networking restart`` to restart the network card of your VM.
When duplicating the first worker don't forget to check the option to change the MAC address. Run a ```sudo ifconfig``` on each machine to get the IP address and copy-paste them into ``config/environments/development.rb`` in the corresponding line of rails-allgo.
...
...
@@ -228,7 +169,7 @@ When duplicating the first worker don't forget to check the option to change the
###Installing ssh
You'll use ssh a lot on the workers thus we need to install it on the workers and aloow Woody to do a ssh without having to enter a password. First, install openssh-server:
```zsh
sudo apt-get install openssh-server
sudo apt-get install openssh-server
```
Then on Woody, assuming that you already have a ssh key, do this for the workers and Sid:
...
...
@@ -246,17 +187,3 @@ Change the name and then:
```zsh
sudo /etc/init.d/hostname.sh start
```
<<<<<<< HEAD
##Cargo
You need to install docker-registry on it:
```zsh
docker pull registry
```
When running the registry, you need to mount a datastore: