Setup Guide
This guide explains the necessary steps to setup a new FlockLab testbed.
A FlockLab testbed consists of a server part and an observer part. The observers interact with the devices under test (targets) and locally store the test data. The server provides a user interface and is responsible for starting and stopping tests as well as fetching the test data from the observers.
Server
The FlockLab server must provide the following three components:
- test management
- database
- webpage
These components can either be on the same machine or distributed on separate servers.
Test management
- Copy the files to your test management server.
- Adjust the config file and copy it to the server.
- Adjust the path to the config file in flocklab.py.
- Install crontab to periodically call the scheduling and cleanup scripts.
- Install all required python packages.
- Make sure the user that runs the test management scripts has SSH access to all your FlockLab observers via public key authentication.
Database
- Create a MySQL-compatible database
flocklab
on your DB server. - Use the provided template to create all necessary tables.
- Create the user
flocklab_testmng
and grant it access to the databaseflocklab
. - Start to populate the database tables:
tbl_serv_observer
,tbl_serv_architectures
,tbl_serv_platforms
,tbl_serv_tg_adapt_types
andtbl_serv_tg_adapt_list
. - Make sure the database access credentials in
flocklab_config.ini
on the test management server are correct.
Webpage
- Copy the webpage files to your webserver.
- Adjust the path to the
flocklab_config.ini
file ininclude/config.php
. - Adjust the XML validation template
xml/flocklab.xsd
. - Adjust the floor plan (
pics/flocklab_floormap.png
) and node positions (scripts/flocklab-observer-positions.js
).
Note: you can use the update server script to copy the files to your test management and webserver (don't forget to adjust the HOST
variable).
Observer
Hardware setup and calibration
A guide on how to prepare the observer hardware in available on request.
BeagleBone Green setup
- Download the latest Debian flasher image (console version is sufficient) from eLinux (monthly builds) or beagleboard.org (releases). Use e.g. Balena Etcher to write the image to a microSD card.
- Insert the microSD card and press and hold the user button while powering up the BeagleBone until all 4 LEDs are on. The Debian image will then be flashed onto the eMMC (takes ~10 minutes). After completion, the BeagleBone will shut down (all LEDs off).
- Replace the flasher SD card with an empty one (formatted to ext4).
- Make sure the network connectivity to the BeagleBone works.
- Clone the repository to your computer and run the basic setup script:
cd observer/debian && ./setup_system.sh [beaglebone_address]
- Adjust the parameters in the following scripts:
-
HOSTNAME
in the ping watchdog script -
HOSTPREFIX
andOBSIDS
in the observer update script
-
- Run the main setup script to install all required packages, tools and scripts on the BeagleBone:
./setup_observer.sh [beaglebone_address]
- Pair the BeagleBone with a FlockLab 2 cape and install the correct calibration files.