Internet of Things resource management service for OpenStack clouds.
Go to file
OpenDev Sysadmins b15465240e OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:50:33 +00:00
doc/source Applied cookiecutter template 2016-03-16 01:26:16 +01:00
etc Fix Dns zone. 2018-12-10 17:22:59 +01:00
iotronic Add section Connectivity in the board details. 2019-03-07 12:37:15 +01:00
utils Database migration 2018-08-07 15:53:36 +02:00
.gitignore Git ignore Updated 2018-06-22 14:56:08 +02:00
.gitreview OpenDev Migration Patch 2019-04-19 19:50:33 +00:00
CONTRIBUTING.rst Applied cookiecutter template 2016-03-16 01:26:16 +01:00
HACKING.rst Applied cookiecutter template 2016-03-16 01:26:16 +01:00
LICENSE Applied cookiecutter template 2016-03-16 01:26:16 +01:00
MANIFEST.in Applied cookiecutter template 2016-03-16 01:26:16 +01:00
README.rst New README 2018-09-20 10:20:01 +02:00
babel.cfg Applied cookiecutter template 2016-03-16 01:26:16 +01:00
requirements.txt New Serializer for autobahn. 2018-12-11 18:35:03 +01:00
setup.cfg Database migration 2018-08-07 15:53:36 +02:00
setup.py Applied cookiecutter template 2016-03-16 01:26:16 +01:00
test-requirements.txt Requirements Update 2018-07-06 14:58:31 +02:00
tox.ini Moved to python3.5 2018-02-06 13:04:16 +01:00

README.rst

IoTronic

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.

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;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON iotronic.* TO iotronic@'%' 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:8812
openstack endpoint create --region RegionOne iot internal http://IP_IOTRONIC:8812
openstack endpoint create --region RegionOne iot admin http://1IP_IOTRONIC:8812

Configuring Iotronic Host

Crossbar

Install crossbar on the Iotronic host following the official guide

Iotronic Installation

Get the source:

git clone https://github.com/openstack/iotronic.git

add the user iotronic:

useradd -m -d /var/lib/iotronic iotronic

and Iotronic:

cd iotronic
pip3 install -r requirements.txt 
python3 setup.py install

create a log dir:

mkdir -p /var/log/iotronic
chown -R iotronic:iotronic /var/log/iotronic/

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

nano /etc/iotronic/iotronic.conf 

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

register_agent = True

populate the database:

iotronic-dbsync

API Service Configuration

Install apache and the other components:

sudo apt-get install apache2 python-setuptools libapache2-mod-wsgi-py3

create log directory:

touch /var/log/iotronic/iotronic-api_error.log
touch /var/log/iotronic/iotronic-api_access.log
chown -R iotronic:iotronic /var/log/iotronic/

copy the config apache2 file:

cp etc/apache2/iotronic.conf /etc/apache2/sites-available/iotronic.conf

enable the configuration:

a2ensite /etc/apache2/sites-available/iotronic.conf

restart apache:

systemctl restart apache2

Starting

Start the service:

systemctl enable iotronic-wamp-agent
systemctl start iotronic-wamp-agent

systemctl enable iotronic-conductor
systemctl start iotronic-conductor

Board Side

Follow the iotronic-lightning-rod README