diff --git a/.gitignore b/.gitignore index b2e67ad..5cfd2d2 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,6 @@ build AUTHORS Authors ChangeLog -*.md .eggs dist STUFF/ diff --git a/README.rst b/README.rst index 51691b0..62908bd 100644 --- a/README.rst +++ b/README.rst @@ -15,6 +15,11 @@ board-side probe. Installation guides ------------------- -* `Raspberry Pi 3 `_. +* `Raspberry Pi 2/3 `_. -* `Ubuntu 16.04 `_. +* `Ubuntu 16.04 `_. + +* Docker: + + * `Raspberry Pi `_. + * `Debian/Ubuntu `_. \ No newline at end of file diff --git a/doc/installation/docker/rpi_docker.md b/doc/installation/docker/rpi_docker.md new file mode 100644 index 0000000..f604f82 --- /dev/null +++ b/doc/installation/docker/rpi_docker.md @@ -0,0 +1,36 @@ +## Installation on arm architecture + +GitHub repo: +- https://github.com/openstack/iotronic-lightning-rod + +# Configure Lightning-rod environment + +* Create the folder in your system to store Lightning-rod settings (e.g. "/etc/iotronic/"): +``` +sudo mkdir +``` + +* Get Lightning-rod configuration template files: +``` +cd +sudo wget https://raw.githubusercontent.com/openstack/iotronic-lightning-rod/master/templates/settings.example.json -O settings.json +sudo wget https://raw.githubusercontent.com/openstack/iotronic-lightning-rod/master/etc/iotronic/iotronic.conf +``` + +* Configure Lightning-rod identity: +``` +cd +wget https://raw.githubusercontent.com/openstack/iotronic-lightning-rod/master/scripts/lr_configure +chmod +x lr_configure +./lr_configure -c +``` + +# Create container: +``` +docker run -d --privileged \ +-v lr_var:/var/lib/iotronic -v lr_le:/etc/letsencrypt/ \ +-v /settings.json:/etc/iotronic/settings.json \ +-v /iotronic.conf:/etc/iotronic/iotronic.conf \ +--net=host --restart unless-stopped \ +--name=lightning-rod mdslab/rpi-openstack-iotronic-lightning-rod +``` diff --git a/doc/installation/docker/x86_64_docker.md b/doc/installation/docker/x86_64_docker.md new file mode 100644 index 0000000..864c6d0 --- /dev/null +++ b/doc/installation/docker/x86_64_docker.md @@ -0,0 +1,36 @@ +# Installation on Ubuntu/Debian x86_64 + +GitHub repo: +- https://github.com/openstack/iotronic-lightning-rod + +# Configure Lightning-rod environment + +* Create the folder in your system to store Lightning-rod settings (e.g. "/etc/iotronic/"): +``` +sudo mkdir +``` + +* Get Lightning-rod configuration template files: +``` +cd +sudo wget https://raw.githubusercontent.com/openstack/iotronic-lightning-rod/master/templates/settings.example.json -O settings.json +sudo wget https://raw.githubusercontent.com/openstack/iotronic-lightning-rod/master/etc/iotronic/iotronic.conf +``` + +* Configure Lightning-rod identity: +``` +cd +wget https://raw.githubusercontent.com/openstack/iotronic-lightning-rod/master/scripts/lr_configure +chmod +x lr_configure +./lr_configure -c +``` + +# Create container: +``` +docker run -d --privileged \ +-v lr_var:/var/lib/iotronic -v lr_le:/etc/letsencrypt/ \ +-v /settings.json:/etc/iotronic/settings.json \ +-v /iotronic.conf:/etc/iotronic/iotronic.conf \ +--net=host --restart unless-stopped \ +--name=lightning-rod mdslab/openstack-iotronic-lightning-rod +``` diff --git a/doc/installation/raspberry_pi_3.rst b/doc/installation/raspberry_pi_3.rst index 16e9e97..90f34c8 100644 --- a/doc/installation/raspberry_pi_3.rst +++ b/doc/installation/raspberry_pi_3.rst @@ -1,42 +1,42 @@ -IoTronic Lightning-rod installation guide for Raspberry Pi 3 +IoTronic Lightning-rod installation guide for Raspberry Pi 2/3 ============================================================ -We tested this procedure on a Raspberry Pi 3 board (Raspbian). +We tested this procedure on a Raspberry Pi 2/3 board (Raspbian). Install Lightning-rod ~~~~~~~~~~~~~~~~~~~~~ - :: pip3 install iotronic-lightningrod -Deployment -'''''''''' - +Iotronic deployment +''''''''''''''''''' :: + lr_install Iotronic setup '''''''''''''' - :: + lr_configure Arguments required: - : token released by IoTronic registration procedure - : IoTronic Crossbar server URL + * , token released by IoTronic registration procedure + * , IoTronic Crossbar server WAMP URL: + ws(s)://:/ e.g. :: - lr_configure 000001 ws(s)://:/ + + lr_configure Execution: ~~~~~~~~~~ - :: systemctl start lightning-rod.service - tail -f /var/log/iotronic/lightning-rod.log \ No newline at end of file + tail -f /var/log/iotronic/lightning-rod.log diff --git a/doc/installation/ubuntu1604.rst b/doc/installation/ubuntu1604.rst index d2cfe2e..56e61b5 100644 --- a/doc/installation/ubuntu1604.rst +++ b/doc/installation/ubuntu1604.rst @@ -6,37 +6,37 @@ container). Everything needs to be run as root. Install Lightning-rod ~~~~~~~~~~~~~~~~~~~~~ - :: pip3 install iotronic-lightningrod -Deployment -'''''''''' - +Iotronic deployment +''''''''''''''''''' :: + lr_install Iotronic setup '''''''''''''' - :: + lr_configure Arguments required: - : token released by IoTronic registration procedure - : IoTronic Crossbar server URL + * , token released by IoTronic registration procedure + * , IoTronic Crossbar server WAMP URL: + ws(s)://:/ e.g. :: - lr_configure 000001 ws(s)://:/ + + lr_configure Execution: ~~~~~~~~~~ - :: systemctl start lightning-rod.service - tail -f /var/log/iotronic/lightning-rod.log \ No newline at end of file + tail -f /var/log/iotronic/lightning-rod.log diff --git a/doc/source/installation.rst b/doc/source/installation.rst index d156e38..4abeb2d 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -4,9 +4,10 @@ Installation At the command line:: - $ pip install iotronic_lightningrod + $ pip3 install iotronic_lightningrod + $ lr_install Or, if you have virtualenvwrapper installed:: $ mkvirtualenv iotronic_lightningrod - $ pip install iotronic_lightningrod \ No newline at end of file + $ pip3 install iotronic_lightningrod \ No newline at end of file diff --git a/iotronic_lightningrod/common/utils.py b/iotronic_lightningrod/common/utils.py index 1230ebb..cb59579 100644 --- a/iotronic_lightningrod/common/utils.py +++ b/iotronic_lightningrod/common/utils.py @@ -77,6 +77,7 @@ def destroyWampSocket(): except Exception as e: LOG.warning("RPC-ALIVE - destroyWampSocket error: " + str(e)) + LR_restart() def get_version(package): diff --git a/requirements.txt b/requirements.txt index 59c113f..3f44675 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,4 @@ psutil>=5.4.7 # BSD oslo.config>=5.1.0 # Apache-2.0 oslo.log>=3.36.0 # Apache-2.0 pyinotify>=0.9.6;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT +pyOpenSSL>=16.2.0 # Apache-2.0 diff --git a/setup.cfg b/setup.cfg index 054c02a..da348c2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,7 +3,7 @@ name = iotronic_lightningrod summary = Implementation of the Lightning-rod, the Stack4Things board-side probe description-file = README.rst -author = Nicola Peditto, Fabio Verboso +author = Nicola Peditto author-email = n.peditto@gmail.com home-page = http://stack4things.unime.it/ classifier = diff --git a/utils/docker/arm/Dockerfile b/utils/docker/arm/Dockerfile old mode 100644 new mode 100755 diff --git a/utils/docker/arm/data/lr_install b/utils/docker/arm/data/lr_install old mode 100644 new mode 100755 diff --git a/utils/docker/arm/data/startLR b/utils/docker/arm/data/startLR old mode 100644 new mode 100755