Openbaton is an alternative VIM that can be linked with Openstack. After some developement, we had to change from Tacker to this, so here we are.
Installations
On "bare" OS
There are two ways to install Openbaton from a bare OS: you can install it interactively or settings all the options in a config file, and then let the installation procedure run alone in the darkness of your shell.
Interactive installation
Openbaton installation is pretty straight-forward. Open a terminal and execute the wizard made by the Openbaton team:
Then follow the instruction in the screen and enjoy your Openstack installation!
Installation with config. file
The configuration file is simply a place where you set all the variables in one place, so that the installer won't ask for additional information during the installation. This, combined with screen, allows to run faster installations.
conf
# This is a configuration file for the Open Baton bootstrap. # It allows you to specify the parameters needed during the bootstrap for the configuration of the Open Baton projects.## Usage: sh <(curl -s http://get.openbaton.org/bootstrap) [help | clean | enable-persistence | configure-remote-rabbitmq] | [[upgrade] [--openbaton-components=<all | openbaton-xxx,openbaton-yyy,...>]] | [[release | develop] [--openbaton-bootstrap-version=X.Y.Z (with X.Y.Z >= 3.2.0)] [--config-file=<absolute path to configuration file>]]## IMPORTANT NOTE: Avoid spaces before and after the '=': i.e. a parameter needs to be specified as 'parameter=value'##################### General #####################openbaton_bootstrap_version=latest# Deafult is 'latest' therefore if left empty ('openbaton_bootstrap_version=') or commented the bootstrap used will be the latest. Use format X.Y.Z for a specific version: the oldest VERSION installable is 3.2.0openbaton_installation_mode=noninteractive# Deafult is 'interactive' therefore if left empty ('openbaton_installation_mode=') or commented the installation will be interactive. Use 'noninteractive' or 'Noninteractive' for a not interactive installationopenbaton_component_autostart=true# Deafult is 'true' therefore if left empty ('openbaton_component_autostart=') or commented the debian component will start automatically at the end of the installation################## NFVO ##################rabbitmq_broker_ip=<setyoutip># Default is 'localhost' therefore if left empty ('rabbitmq_broker_ip=') or commented the 'localhost' value will be usedrabbitmq_management_port=15672# Default is '15672' therefore if left empty ('rabbitmq_management_port=') or commented the '15672' value will be usedopenbaton_nfvo_ip=localhost# Default is 'localhost' therefore if left empty ('openbaton_nfvo_ip=') or commented the 'localhost' value will be usedopenbaton_admin_password=Password1# Default is 'openbaton' therefore if left empty ('openbaton_admin_password=') or commented the 'openbaton' value will be usedhttps=yes# Default is 'NO' therefore if left empty ('https=') or commented the HTTPS will NOT be enabledmysql=yes# Default is 'YES' therefore if left empty ('mysql=') or commented the MYSQL DB will be installed and the Open Baton persistence will be enabledmysql_root_password=Password1# Default is 'root' therefore if left empty ('mysql_root_password=') or commented the 'root' value will be used (NOTE: you should insert here the actual mysql root password if mysql is already installed in the system)openbaton_nfvo_mysql_user=admin# Default is 'admin' therefore if left empty ('openbaton_nfvo_mysql_user=') or commented the 'admin' value will be usedopenbaton_nfvo_mysql_user_password=Password1# Default is 'changeme' therefore if left empty ('openbaton_nfvo_mysql_user_password=') or commented the 'changeme' value will be used############################################## Open Baton additional components ##############################################openbaton_plugin_vimdriver_test=yes# Default is 'YES' therefore if left empty ('openbaton_plugin_vimdriver_test=') or commented the 'openbaton_plugin_vimdriver_test' driver will be installed (this option is valid only for develop installation)openbaton_plugin_vimdriver_openstack=yes# Default is 'YES' therefore if left empty ('openbaton_plugin_vimdriver_openstack=') or commented the 'openbaton_plugin_vimdriver_openstack' debian package will be installedopenbaton_plugin_monitoring_zabbix=yes# Default is 'NO' therefore if left empty ('openbaton_plugin_monitoring_zabbix=') or commented the 'openbaton_plugin_monitoring_zabbix' debian package will be installedopenbaton_vnfm_generic=yes# Default is 'YES' therefore if left empty ('openbaton_vnfm_generic=') or commented the 'openbaton_vnfm_generic' debian package will be installedopenbaton_fms=yes# Default is 'NO' therefore if left empty ('openbaton_fms=') or commented the 'openbaton_fms' debian package will NOT be installedopenbaton_ase=yes# Default is 'NO' therefore if left empty ('openbaton_ase=') or commented the 'openbaton_ase' debian package will NOT be installedopenbaton_nse=yes# Default is 'NO' therefore if left empty ('openbaton_nse=') or commented the 'openbaton_nse' debian package will NOT be installed# NOTE: The VERSION is to be interptreted as "debian package version" or "source TAG" respectively for RELEASE / DEVELOP installation# Possible values are: 'latest' (only for RELEASE), 'develop' (only for DEVELOP), 'X.Y.Z' (for both types of installation)openbaton_nfvo_version=5.2.1# Default is 'latest' / 'develop' therefore if left empty ('openbaton_nfvo_version=') or commented the 'latest' debian version / the 'develop' TAG will be installed. NOTE: Check the list of available tags at: https://github.com/openbaton/generic-vnfm/tags - The oldest VERSION installable is 3.2.0openbaton_plugin_vimdriver_test_version=5.2.1# Default is 'latest' / 'develop' therefore if left empty ('openbaton_plugin_vimdriver_test_version=') or commented the 'latest' debian version / the 'develop' TAG will be installed. NOTE: Check the list of available tags at: https://github.com/openbaton/openstack4j-plugin/tags - The oldest VERSION installable is 3.2.0openbaton_plugin_vimdriver_openstack_version=5.2.1# Default is 'latest' / 'develop' therefore if left empty ('openbaton_plugin_vimdriver_openstack_version=') or commented the 'latest' debian version / the 'develop' TAG will be installed. NOTE: Check the list of available tags at: https://github.com/openbaton/openstack4j-plugin/tags - The oldest VERSION installable is 3.2.0openbaton_plugin_monitoring_zabbix_version=5.2.0# Default is 'latest' / 'develop' therefore if left empty ('openbaton_plugin_monitoring_zabbix_version=') or commented the 'latest' debian version / the 'develop' TAG will be installed. NOTE: Check the list of available tags at: https://github.com/openbaton/zabbix-plugin/tags - The oldest VERSION installable is 3.2.0openbaton_vnfm_generic_version=5.2.1# Default is 'latest' / 'develop' therefore if left empty ('openbaton_vnfm_generic_version=') or commented the 'latest' debian version / the 'develop' TAG will be deployed. NOTE: Check the list of available tags at: https://github.com/openbaton/generic-vnfm/tags - The oldest VERSION installable is 3.2.0openbaton_fms_version=1.4.2# Default is 'latest' / 'develop' therefore if left empty ('openbaton_fms_version=') or commented the 'latest' debian version / the 'develop' TAG will be deployed. NOTE: Check the list of available tags at: https://github.com/openbaton/fm-system/tags - The oldest VERSION installable is 1.2.1openbaton_ase_version=latest# Default is 'latest' / 'develop' therefore if left empty ('openbaton_ase_version=') or commented the 'latest' debian version / the 'develop' TAG will be deployed. NOTE: Check the list of available tags at: https://github.com/openbaton/autoscaling-engine/tags - The oldest VERSION installable is 1.2.2openbaton_nse_version=1.1.2# Default is 'latest' / 'develop' therefore if left empty ('openbaton_nse_version=') or commented the 'latest' debian version / the 'develop' TAG will be deployed. NOTE: Check the list of available tags at: https://github.com/openbaton/network-slicing-engine/tags - The oldest VERSION installable is 1.1.2################# FMS #################openbaton_fms_mysql_user=fmsuser# Default is 'fmsuser' therefore if left empty ('mysql_user=') or commented the 'admin' value will be usedopenbaton_fms_mysql_user_password=Password1# Default is 'changeme' therefore if left empty ('mysql_user_password=') or commented the 'changeme' value will be used########################################################## Zabbix Plugin (required by FMS, ASE and NSE) ########################################################### NOTE: Currently the ZABBIX configuration parameters are supported only for the RELEASE installation zabbix_plugin_ip=# Default is 'localhost' therefore if left empty ('zabbix_plugin_ip=') or commented the 'admin' value will be usedzabbix_server_ip=# Default is 'localhost' therefore if left empty ('zabbix_server_ip=') or commented the 'admin' value will be usedzabbix_user=# Default is 'Admin' therefore if left empty ('zabbix_user=') or commented the 'Admin' value will be usedzabbix_user_password=Password1# Default is 'zabbix' therefore if left empty ('zabbix_user_password=') or commented the 'zabbix' value will be used
At this point, to run the installation procedure type in a terminal:
Sometimes installing Openbaton directly on the OS is not viable, specially if your messing with the it. Every time you break it you have to install everything from scratch, and this is a waste of time. Fortunately, docker come to rescue! From the Openbaton team we've stolen a (for us) non-working docker-compose, and we've fixed it making it a great tool to deploy Openbaton in seconds. From here you can stole our version:
Please note that the startup phase could require some time. On top of that, to have decent performance we recommend you to use a machine with at least 16GB of RAM.
Link Openbaton to Openstack
In Openbaton the space where VNFs are deployed is called POP (point of presence). There can be multiple POPs, and you have to link them. Through the user interface, go to Manage PoPs -> PoPs instances add one. You can add a PoP filling the forms or uploading a JSON. If you choose the later one, you can copy-paste the following:
{ "name":"openstackvnf","authUrl":"http://<openstack ip>/identity/v3/","tenant":"<project id>","username":"admin","password":"Password1","keyPair":"openbaton","securityGroups":[ "default" ],"type":"openstack","location":{ "name":"Heart of Gold","latitude":"XX.XXXXX","longitude":"XX.XXXXX" }}
Where in authUrl you have to insert your openstack keystone API IP (if you followed our openstack installation, you only need to change your IP, otherwise you have to set up a proper path to your API), and in the tenant field you have to provide a valid project id (if you're using API version 3) where the VNFs will be deployed. The location and the securityGroups fields are not mandatory.
Additional documentation (since we haven't invented the wheel) can be found at the following links: