Skip to main content

IoTronic is an Internet of Things resource management service for OpenStack clouds.

Project description


IoTronic is an Internet of Things resource management service for OpenStack clouds.

IoTronic allows to manage Internet of Things resources as part of an OpenStack data center.

* Free software: Apache license
* Source:
* Bugs:

.. contents:: Contents:

Basic scenario
For this installation of the Iotronic Service we are considering a scenario with the following hosts and softwares:

- Controller ( **Ubuntu linux**): Mysql, Keystone, Rabbitmq
- Iotronic ( **Ubuntu linux** ): Iotronic-conductor, iotronic-wamp-agent, crossbar
- Board: iotronic-lightining-rod

Controller host setup
According to the `Openstack Documentation <>`_ install the following softwares on the controller host:

- SQL database
- Message queue
- Memcached
- Keystone

Creation of the database
On the dbms create the iotronic db and configure the access for the user iotronic::

MariaDB [(none)]> CREATE DATABASE iotronic;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON iotronic.* TO iotronic@'localhost' IDENTIFIED BY ‘IOTRONIC_DBPASS’;

Add the user and the enpoints on Keystone::

source adminrc
openstack service create iot --name Iotronic
openstack user create --password-prompt iotronic

openstack role add --project service --user iotronic admin
openstack role add admin_iot_project
openstack role add manager_iot_project
openstack role add user_iot

openstack endpoint create --region RegionOne iot public http://IP_IOTRONIC:1288
openstack endpoint create --region RegionOne iot internal http://IP_IOTRONIC:1288
openstack endpoint create --region RegionOne iot admin http://1IP_IOTRONIC:1288

Configuring Iotronic Host

Install crossbar on the Iotronic host following the `official guide <>`_

Iotronic Installation
Get the source::

git clone

install the python-mysqldb::

sudo apt-get install python-mysqldb

and Iotronic::

cd iotronic
sudo pip install -r requirements.txt
sudo pip install twisted
sudo pip install paramiko
sudo python install

create a log dir::

mkdir -p /var/log/iotronic

populate the database::

cd iotronic/utils

API Service Configuration
Install apache and the other components::

sudo apt-get install apache2 python-setuptools libapache2-mod-wsgi libssl-dev

create ``/etc/apache2/conf-enabled/iotronic.conf`` and copy the following content::

Listen 1288
<VirtualHost *:1288>
WSGIDaemonProcess iotronic
#user=root group=root threads=10 display-name=%{GROUP}
WSGIScriptAlias / /var/www/cgi-bin/iotronic/app.wsgi

WSGIProcessGroup iotronic

ErrorLog /var/log/iotronic/iotronic-api_error.log
LogLevel debug
CustomLog /var/log/iotronic/iotronic-api_access.log combined

<Directory /etc/iotronic>
WSGIProcessGroup iotronic
WSGIApplicationGroup %{GLOBAL}
AllowOverride All
Require all granted

edit ``/etc/iotronic/iotronic.conf`` with the correct configuration.

There is just one wamp-agent and it must be set as the registration agent::

register_agent = True

restart apache::

systemctl restart apache2

Start the service (better use screen)::

screen -S conductor

screen -S agent

Board Side

Follow the `iotronic-lightning-rod README <>`_

Project details

Release history Release notifications

This version
History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
iotronic-0.2.0.tar.gz (103.4 kB) Copy SHA256 hash SHA256 Source None May 21, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page