Commit a84a8ec1 authored by Federico Sismondi's avatar Federico Sismondi

doc for different type of standalone deployments, w/ special focus in docker deployment

parent 493aa93b
...@@ -27,7 +27,7 @@ if(env.JOB_NAME =~ 'coap_testing_tool/'){ ...@@ -27,7 +27,7 @@ if(env.JOB_NAME =~ 'coap_testing_tool/'){
/* Show deployed code */ /* Show deployed code */
sh "tree ." sh "tree ."
sh "echo $AMQP_URL" sh "echo ${AMQP_URL}"
} }
} }
...@@ -115,16 +115,20 @@ if(env.JOB_NAME =~ 'coap_testing_tool_docker_build/'){ ...@@ -115,16 +115,20 @@ if(env.JOB_NAME =~ 'coap_testing_tool_docker_build/'){
if(env.JOB_NAME =~ 'coap_testing_tool_ansible_playbook/'){ if(env.JOB_NAME =~ 'coap_testing_tool_ansible_playbook/'){
node('sudo'){ node('sudo'){
stage("Install w/ Ansible Playbook"){
sh "sudo apt-get install -y python-pip" stage("Install Ansible"){
sh "sudo apt install ansible" sh '''
sudo apt-get install --fix-missing -y python-pip
sudo apt-get install --fix-missing -y ansible
'''
}
stage("Build w/ Ansible Playbook"){
checkout scm checkout scm
sh "git submodule update --init" sh "git submodule update --init"
sh "git submodule sync --recursive" sh "git submodule sync --recursive"
sh "pwd"
gitlabCommitStatus("ansible-container") { gitlabCommitStatus("ansible-container") {
sh "sudo ansible-playbook -i ansible/hosts.local ansible/main.yml --ask-become-pass" sh "sudo ansible-playbook -i ansible/hosts.local ansible/main.yml --ask-become-pass"
}
} }
} }
} }
......
...@@ -22,50 +22,118 @@ The implemented test description is based on: ...@@ -22,50 +22,118 @@ The implemented test description is based on:
For description of components please visit: [f-interop doc](doc.f-interop.eu) For description of components please visit: [f-interop doc](doc.f-interop.eu)
-----------------------------------------------------------------------------
### Clonning the project ### Clonning the project
``` ```
git clone --recursive https://gitlab.f-interop.eu/fsismondi/coap_testing_tool.git git clone --recursive https://gitlab.f-interop.eu/fsismondi/coap_testing_tool.git
cd coap_testing_tool
``` ```
### Running it as standalone software ### Running CoAP testing tool as standalone mode
for debian based OS & macos: (# TODO talk about the CLI, without it you cannot run a session)
- installation First thing needed is to have the rabbit running. Whaat?
You need a server running RabbitMQ message broker for handling the
messaging between the components taking part in your test session.
- install locally RMQ broker on local machine The options for this are:
- create RMQ vhost, user, pass on local machine
- install locally RabbitMQ message broker on local machine,
note: on a non-standalone deployment the RMQ broker is provided by f-interop create RMQ vhost, user, pass on local machine
- install supervisor (for spawning and monitoring processes) (# TODO add instructions)
- install testing tool requirements: - Request a remote vhost and its user, pass credentials to F-Interop developers.
change in anible/main.yml the variable unix_user from f-interop to your
local unix user, then run ansible script: for this contact federico.sismondi@inria.fr or remy.leone@inria.fr
``` then, export in the machine where the testing tool is running the following vars:
cd coap_testing_tool
ansible-playbook -i ansible/hosts.local ansible/main.yml --ask-become-pass
```
- export credentials, server, and vhost for local RMQ connection:
``` ```
export AMQP_URL='amqp://someUser:somePassword@server/amqp_vhost' export AMQP_URL='amqp://someUser:somePassword@server/amqp_vhost'
export AMQP_EXCHANGE='default' export AMQP_EXCHANGE='default'
``` ```
---
#### Building & running the tool
Now, let's get the testing tool running. Several approaches can be used,
these are:
( tested with debian based OS & macos )
**1.** Build the testing tool using docker (see Dockerfile) &
run the testing tool inside a docker container (recommended)
**2.** Install dependencies with ansible in the local machine &
run the testing tool using supervisor.
(no agent can be run in the same machine after)
**3.** Install dependencies with ansible in remote machine &
run the testing tool using supervisor.
**4.** Install everything manually, why not right?
---
#### Opt 1 - Building & running CoAP testing tool with docker
First, let's install docker. For this just follow this instructions:
https://docs.docker.com/engine/installation/
Don't forget to start it!
Second, **build** the testing tool, from inside coap_testing_tool dir run:
```
docker build -t finterop-coap .
```
Finally, **run** it, from inside coap_testing_tool run:
```
docker run -it --env AMQP_EXCHANGE='default' --env AMQP_URL='amqp://someUser:somePassword@server/amqp_vhost' --privileged finterop-coap supervisord --nodaemon --configuration supervisor.conf
```
Run the CLI & Agent and you are ready to launch CoAP tests from your PC!
#### Opt 2 & 3 - Build CoAP testing tool with ansible
First thing, install ansible:
http://docs.ansible.com/ansible/intro_installation.html
Install supervisor (needed for spawning and monitoring processes):
For this follow this instructions:
http://supervisord.org/installing.html
Now, let's install the testing tool requirements:
**for Opt 2 (local install)**:
- change in ansible/main.yml the variable unix_user from f-interop to your
unix user, then run ansible script:
```
ansible-playbook -i ansible/hosts.local ansible/main.yml --ask-become-pass
```
- run CoAP testing tool and monitor processes - run CoAP testing tool and monitor processes
``` ```
cd coap_testing_tool sudo -E supervisord -c supervisor.conf
sudo -E supervisord -c supervisor.conf sudo supervisorctl -c supervisor.conf
sudo supervisorctl -c supervisor.conf
``` ```
note: use -E when launching supervisor process, it preserves the note: use -E when launching supervisor process, it preserves the
env vars env vars
Run the CLI & Agent and you are ready to launch CoAP tests from your PC!
**for Opt 3 (remote install)**:
TDB
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment