You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iota.apache.org by Tony Faustini <to...@litbit.com> on 2017/02/21 03:59:29 UTC

Re: Apache iota - idea

Hi Jan, yes this is something we are very interested in and such a contribution would be welcome. I see you have registered ICLA (Individual Contributor License Agreement) contributor - that’s great. Apache iota is a SMACK stack based IoT platform. Using Spark, Mesos, Akka, Cassandra and Kafka. So your contribution looks like it can fit well into this framework. But what exactly is the iota framework? At the cluster level Apache iota uses Mesos to scale horizontally. At the edge level it can run on a micro-server like a RaspberryPI where it can connect to sensors using many different protocols (I2C, Modbus, Bacnet, IP, SNMP, ….). At the edge connecting to Apache MyNewt is also something we would very much like to see happen. There can also be an intermediate layer which can be a simple Server or even another Mesos cluster. Sometimes these are referred to as the Mist, Fog and Cloud layers. In a vertical stack the edge devices would be what issues the control commands so we would have to send the “control” messages to the edges from Kafka via a “transport” from cloud to edge (possibly through a fog layer). Also what if the decisions on control happened autonomously at each edge device. Think of the edge device making decisions on it’s own based on local data to trigger control. Just a few thoughts.

I like the idea of your contribution. As Barbara stated this functionality could be implemented using a performer (that could autoscale).

-Tony


> On Feb 20, 2017, at 9:31 AM, Jan Rock <ro...@0x612.org> wrote:
> 
> Hi guys,
>  
> I have got quick question about Apache iota project. I went through your project and correct me if I’m wrong there is nothing done yet about control of the IOT devices. I have built this feature based on Kafka/Scala and it allowed me to control 128 devices in my demo cluster, it is basically broadcasting commands across all/groups/individual IOT devices (registered to the Kafka master server).
>  
> Please, let me know if you are interested in to add this feature, which I can to modify and contribute to the project.
>  
> Kind Regards
> Jan
> (registered ICLA)
>  
>  
> Example: broadcasting commands in parallel (hostname, who, could be whatever) to nodes and receiving answers with ID. Simple for deploying, account management, etc. Inspired by DDoS IRC botnet. ;)
> <image001.png>
> <image001.png>


Re: Apache iota - idea

Posted by Jan Rock <ro...@0x612.org>.
Hi Amir,

I’m trying to create working deployment in Azure to better understand the current version and capabilities.

Change #1 done.
Change #2 is related to Ubuntu 16.10 which is slightly different than Raspbian distro version… I will keep the script separated, and named for Azure environment only. (it’s in my fork: janrock-git), because I don’t have access to add anything into your git. ;)
Change #3 it’s crashing in Ubuntu 16.10 – without the “function” it’s running smoothly.
Change #4 done.
Change #5 done.

There are several issues in Azure … when I’m compiling the code. Need to resolve it first. I’m logging all the changes.

Kind Regards.
Jan

On 22/02/2017, 14:35, "Amirhossein Jabbari" <am...@litbit.com> wrote:

    Hi Jan,
    
    Thanks for putting some time on the issues. Very much appreciated.
    
    Change #1:  
    	Absolutely fine please go for it.
    
    Change #2:  
    	Not sure why -ne doesn’t work for you. I have tested it on Raspbian which is based on ubuntu and is working fine. In any case if you would like to change the if statement to something more general in terms of the script language compatibility I don’t mind. Just make sure that  if the UID should be changed to  EUID to check for effective user not the original and it should be equal to 0 that means the user is root.
    
    Change #3:
    	having the function identifier is just a personal choice and taking it away doesn’t have any advantage or disadvantage so I would suggest not to change them unless there is a good reason.
    
    Change #4:
    	Good call. Please make the change to apache 1.6.2. instead.
    
    Change #5:
    	Sure. Please make the change.
    
    Thanks,
    -Amirhossein
    
    > On 21 Feb 2017, at 23:15, rock@0x612.org wrote:
    > 
    > Hi all,
    > 
    > could I add this script to the deployments/standalone folder (or suggest better)? It's updated deployment script for Ubuntu 16.10. in Azure for test/development.
    > There are 5 changes related to the original standalone deployment script:
    > 
    > Change #1:
    > 
    > replaced row 159:
    > wget -P $R https://download.libsodium.org/libsodium/releases/libsodium-1.0.3.tar.gz
    >    cd $R
    >    tar xzf libsodium-1.0.3.tar.gz
    >    rm $R/libsodium-1.0.3.tar.gz
    >    cd $R/libsodium-1.0.3/
    >    ./configure
    >    make
    >    make install
    >    cd
    >    rm -r $R/libsodium-1.0.3/
    > 
    > to:
    >    wget -P $R https://download.libsodium.org/libsodium/releases/libsodium-1.0.4.tar.gz
    >    cd $R
    >    tar xzf libsodium-1.0.4.tar.gz
    >    rm $R/libsodium-1.0.4.tar.gz
    >    cd $R/libsodium-1.0.4/
    >    ./configure
    >    make
    >    make install
    >    cd
    >    rm -r $R/libsodium-1.0.4/
    > 
    > reason: version 1.0.3 was already removed from download list (the latest version 1.0.11 was compiled with errors)
    > 
    > Change #2:
    > 
    > replaced row 34 (parameter -ne is unknown; in Ubuntu, not sure other distro) - change:
    > if [ ${UID} -ne 0 ]; then
    >    printRed "Please start the script as root."
    >    exit 1
    > fi
    > 
    > to:
    > if [ "${UID}" = "0" ]
    >    then
    >    printRed "Please start the script as root."
    >    exit 1
    > fi
    > 
    > Change #3:
    > 
    > removed "function" identification of each function in the script (Ubuntu)
    > 
    > Change #4:
    > replace row 197:
    > wget -P $R http://apache.mirror.anlx.net/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz
    > 
    > to:
    > wget -P $R http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz
    > 
    > reason: repository apache.mirror.anlx.net is not available
    > 
    > Change #5:
    > replace row 201:
    > cat <<EOF >> $R/etc/bash.bashrc
    > 
    > to:
    > cat <<EOF >> /etc/bash.bashrc
    > 
    > reason:
    > to hit the correct file
    > 
    > Kind regards
    > Jan Rock<deploy_standalone_ubuntu1610_azure.sh>
    
    



Re: Apache iota - idea

Posted by Amirhossein Jabbari <am...@litbit.com>.
Hi Jan,

Thanks for putting some time on the issues. Very much appreciated.

Change #1:  
	Absolutely fine please go for it.

Change #2:  
	Not sure why -ne doesn’t work for you. I have tested it on Raspbian which is based on ubuntu and is working fine. In any case if you would like to change the if statement to something more general in terms of the script language compatibility I don’t mind. Just make sure that  if the UID should be changed to  EUID to check for effective user not the original and it should be equal to 0 that means the user is root.

Change #3:
	having the function identifier is just a personal choice and taking it away doesn’t have any advantage or disadvantage so I would suggest not to change them unless there is a good reason.

Change #4:
	Good call. Please make the change to apache 1.6.2. instead.

Change #5:
	Sure. Please make the change.

Thanks,
-Amirhossein

> On 21 Feb 2017, at 23:15, rock@0x612.org wrote:
> 
> Hi all,
> 
> could I add this script to the deployments/standalone folder (or suggest better)? It's updated deployment script for Ubuntu 16.10. in Azure for test/development.
> There are 5 changes related to the original standalone deployment script:
> 
> Change #1:
> 
> replaced row 159:
> wget -P $R https://download.libsodium.org/libsodium/releases/libsodium-1.0.3.tar.gz
>    cd $R
>    tar xzf libsodium-1.0.3.tar.gz
>    rm $R/libsodium-1.0.3.tar.gz
>    cd $R/libsodium-1.0.3/
>    ./configure
>    make
>    make install
>    cd
>    rm -r $R/libsodium-1.0.3/
> 
> to:
>    wget -P $R https://download.libsodium.org/libsodium/releases/libsodium-1.0.4.tar.gz
>    cd $R
>    tar xzf libsodium-1.0.4.tar.gz
>    rm $R/libsodium-1.0.4.tar.gz
>    cd $R/libsodium-1.0.4/
>    ./configure
>    make
>    make install
>    cd
>    rm -r $R/libsodium-1.0.4/
> 
> reason: version 1.0.3 was already removed from download list (the latest version 1.0.11 was compiled with errors)
> 
> Change #2:
> 
> replaced row 34 (parameter -ne is unknown; in Ubuntu, not sure other distro) - change:
> if [ ${UID} -ne 0 ]; then
>    printRed "Please start the script as root."
>    exit 1
> fi
> 
> to:
> if [ "${UID}" = "0" ]
>    then
>    printRed "Please start the script as root."
>    exit 1
> fi
> 
> Change #3:
> 
> removed "function" identification of each function in the script (Ubuntu)
> 
> Change #4:
> replace row 197:
> wget -P $R http://apache.mirror.anlx.net/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz
> 
> to:
> wget -P $R http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz
> 
> reason: repository apache.mirror.anlx.net is not available
> 
> Change #5:
> replace row 201:
> cat <<EOF >> $R/etc/bash.bashrc
> 
> to:
> cat <<EOF >> /etc/bash.bashrc
> 
> reason:
> to hit the correct file
> 
> Kind regards
> Jan Rock<deploy_standalone_ubuntu1610_azure.sh>


Re: Apache iota - idea

Posted by ro...@0x612.org.
Hi all,

could I add this script to the deployments/standalone folder (or suggest 
better)? It's updated deployment script for Ubuntu 16.10. in Azure for 
test/development.
There are 5 changes related to the original standalone deployment 
script:

Change #1:

replaced row 159:
wget -P $R 
https://download.libsodium.org/libsodium/releases/libsodium-1.0.3.tar.gz
     cd $R
     tar xzf libsodium-1.0.3.tar.gz
     rm $R/libsodium-1.0.3.tar.gz
     cd $R/libsodium-1.0.3/
     ./configure
     make
     make install
     cd
     rm -r $R/libsodium-1.0.3/

to:
     wget -P $R 
https://download.libsodium.org/libsodium/releases/libsodium-1.0.4.tar.gz
     cd $R
     tar xzf libsodium-1.0.4.tar.gz
     rm $R/libsodium-1.0.4.tar.gz
     cd $R/libsodium-1.0.4/
     ./configure
     make
     make install
     cd
     rm -r $R/libsodium-1.0.4/

reason: version 1.0.3 was already removed from download list (the latest 
version 1.0.11 was compiled with errors)

Change #2:

replaced row 34 (parameter -ne is unknown; in Ubuntu, not sure other 
distro) - change:
if [ ${UID} -ne 0 ]; then
     printRed "Please start the script as root."
     exit 1
fi

to:
if [ "${UID}" = "0" ]
     then
     printRed "Please start the script as root."
     exit 1
fi

Change #3:

removed "function" identification of each function in the script 
(Ubuntu)

Change #4:
replace row 197:
wget -P $R 
http://apache.mirror.anlx.net/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz

to:
wget -P $R 
http://d3kbcqa49mib13.cloudfront.net/spark-1.6.1-bin-hadoop2.6.tgz

reason: repository apache.mirror.anlx.net is not available

Change #5:
replace row 201:
cat <<EOF >> $R/etc/bash.bashrc

to:
cat <<EOF >> /etc/bash.bashrc

reason:
to hit the correct file

Kind regards
Jan Rock