Metadata-Version: 1.1
Name: iotronic
Version: 0.1.2.dev13
Summary: IoTronic is an Internet of Things resource management service for OpenStack clouds.
Home-page: https://github.com/openstack/iotronic
Author: OpenStack
Author-email: openstack-dev@lists.openstack.org
License: UNKNOWN
Description-Content-Type: UNKNOWN
Description: ===============================
        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.
        
        * Free software: Apache license
        * Source: http://git.openstack.org/git/openstack/iotronic
        * Bugs: http://bugs.launchpad.net/iotronic
        
        .. contents:: Contents:
           :local:
        
        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 <https://docs.openstack.org/>`_ 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: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 
        ----------------------
        
        Crossbar
        ^^^^^^^^^^^^^^^^^^^^^
        Install crossbar on the Iotronic host following the `official guide <http://crossbar.io/docs/Installation-on-Ubuntu-and-Debian/>`_
        
        
        Iotronic Installation 
        ^^^^^^^^^^^^^^^^^^^^^
        Get the source::
        
            git clone https://github.com/openstack/iotronic.git
        
        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 setup.py install
        
        create a log dir::
        
            mkdir -p /var/log/iotronic
        
        populate the database::
        
            cd iotronic/utils
            ./loaddb MYSQL_IP_ON_CONTROLLER
        
        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
        
                #SetEnv APACHE_RUN_USER stack
                #SetEnv APACHE_RUN_GROUP stack
                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
                </Directory>
            </VirtualHost>
        
        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
          iotronic-conductor
        
          screen -S agent
          iotronic-wamp-agent
        
        Board Side 
        ----------------------
        
        Follow the `iotronic-lightning-rod README <https://github.com/openstack/iotronic-lightning-rod/blob/master/README.rst>`_
        
        
Platform: UNKNOWN
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
