edit

How to install the SoftFIRE middleware

The SoftFIRE Middleware already provides a set of bash functions that will help you in case you want to install your private SoftFIRE Middleware. There are two options:

  • codeinstall: install the code of all the managers and the python package of the SDK. This procedure is meant to be for development purposes
  • install: install the code of all the managers and the python package of the SDK. This procedure is meant to be for production purposes

Note

The SoftFIRE Middleware is OS independent, however the bootstrap procedure assumes that the underlying OS is Debian based.

In case you want just to play around with the Experiment Manger, you can use the docker installation

Prerequisites

Both procedures needs to have git installed

$-> sudo apt install git

and to run:

$-> git clone https://github.com/softfire-eu/bootstrap.git

for instance in your home directory. After the clone, you should have a folder called bootstrap containing:

bootstrap
├── LICENSE
├── README.md
├── bootstrap.sh
└── generate_cork_files.py

Then cd into the directory and run the bootstrap commands:

$-> cd bootstrap
$-> ./bootstrap.sh

./bootstrap.sh <action>

actions:    [install|update|clean|start|stop|codestart|codeupdate|codeinstall|purge]

install:      install the SoftFIRE Middleware python packages
update:       update the SoftFIRE Middleware python packages
clean:        clean the SoftFIRE Middleware
start:        start the SoftFIRE Middleware via python packages
stop:         stop the SoftFIRE Middleware
codeinstall:  install the SoftFIRE Middleware source code
codeupdate:   update the SoftFIRE Middleware source code
codestart:    start the SoftFIRE Middleware via source code
purge:        completely remove the SoftFIRE Middleware

Install the source code

For installing the source code just run:

$-> ./bootstrap.sh codeinstall

Install the python packages

For installing the python packages just run:

$-> ./bootstrap.sh install

What's happening?

After running these commands the script will:

  1. install the debian packages required
  2. creating the configuration folders
  3. downloading the source code or installing python packages of all the managers (depending on what installation procedure you chose)
  4. downloading configuration files

Configuration

Each manager has its own configuration. Some are very simple some are more complex. You can find each manager configuration under the etc folder. You can tune them as you like. Most of the configuration files can be updated without stopping the middleware. First of all, change the etc/openstack-credentials.json file.

vim etc/openstack-credentials.json
modify the file in order to match your openstack endpoint.

Note

At the moment only v3 is supported

{
  "fokus": {
    "username": "admin",
    "password": "password",
    "auth_url": "http://openstack:5000/v3",
    "ext_net_name": "whatever",
    "admin_tenant_name": "admin",
    "allocate-fip": 0,
    "api_version": 3,
    "admin_project_id": "ea45bf4462864832a75ece4c4cc33c11",
    "user_domain_name": "default"
  }
}

Note

please let key as fokus since it is needed to be one of the SoftFIRE testbed names.

Start the Middleware

If everything went well, you are able to start the SoftFIRE Middleware by running

$-> ./bootstrap.sh codestart

in case you installed via source code, or

$-> ./bootstrap.sh start

in case you installed via python packages.

In both cases, a tmux session will run in background and you can check the output by attaching to it:

tmux a