Vagrant

Install Open Baton using Docker

This tutorial will guide towards the installation of a minimal Open Baton environment on a single Docker container, comprising the following components:

  • The NFVO implemented in java using the spring.io framework. For more details about the NFVO architecture, you can refer to the next sections
  • RabbitMQ as messaging system
  • Test VIM Driver for being able to execute the hello world tutorial without needing an OpenStack instance
  • OpenStack VIM Driver for deploying VNFs on OpenStack
  • Generic VNFM for the instantiation of VNFs part of the Open Baton ecosystem

In case you would like to run each component in an individual docker container, you can make use of the docker compose files available on the bootstrap repository

Requirements

You need to have Docker installed, please refer to the official docker documentation to setup it on your environment.

User guide

To have a running standalone Open Baton Docker container type the following commands:

docker pull openbaton/standalone
docker run --name openbaton -d -p 8080:8080 -p 5672:5672 -p 15672:15672 -p 8443:8443 -e RABBITMQ_BROKERIP=<RabbitMQ IP> -e RABBITMQ_ADMIN_PSWD=<RabbitMQ admin password> openbaton/standalone

VERY IMPORTANT NOTE - You should put as input for the RABBITMQ_BROKERIP the RabbitMQ IP making sure that this IP can be reached by external components (VMs, or host where will run other VNFMs) otherwise you will have runtime issues. In particular, you should select the external IP of your host on top of which the docker container is running

NOTE - the RABBITMQ_ADMIN_PSWD is the password which will be assigned to the "admin" RabbitMQ user. In case you do not set the RABBITMQ_ADMIN_PSWD variable while running the container, the "openbaton" default value will be used as password.

NOTE - With the command above you will run the latest Open Baton version. You can see all the standalone Open Baton Docker images available from this list (the RABBITMQ_ADMIN_PSWD environment variable is supported only from version 5.0.0).

After running the container you should see as output an alphanumeric string (which represents the full ID of the Open Baton container running) similar to the following:

cfc4a7fb23d02c47e25b447d30f6fe7c0464355a16ee1b02d84657f6fba88e07

After few minutes the Open Baton NFVO should be started, then you can open a browser and go on localhost:8080. To log in, the default credentials for the administrator user are:

user: admin
password: openbaton

Troubleshooting

To verify that the container is running you can type the following command:

docker ps

which output should be similar to the following:

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                   PORTS                                                                                              NAMES
cfc4a7fb23d0        openbaton/standalone:latest  "/usr/bin/supervisord"   49 seconds ago      Up 49 seconds            0.0.0.0:5672->5672/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:8443->8443/tcp, 0.0.0.0:15672->15672/tcp   openbaton

The standalone container uses the standard debian packages for installing the open baton components, thus logs are available under /var/log/openbaton. To connect to the running container containing Open Baton you can type the following command:

docker exec -ti openbaton bash

To stop and delete the running Open Baton container you can type respectively the following commands:

docker stop openbaton
docker rm openbaton