summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Richter <Felix.Richter@syntax-fehler.de>2011-05-29 12:08:13 +0200
committerFelix Richter <Felix.Richter@syntax-fehler.de>2011-05-29 12:08:13 +0200
commitfd7da3898006ab8119d4b13b383cfa16c9403b18 (patch)
treef1e8d0fbcc7a121ccb2104200fae58f7e2afc3a0
parent5392511e88b7ca77b88b3d16f5991bde70823144 (diff)
docu for cloudinstall,update graphgen
doc/install_dotcloud : updated docu, now specified which file to patch doc/install_no.de : added docu for no.de cloud parse.py : nodes which are down will not be written auoupdate_cron.sh : contains what to do when the nodes should auto-update
-rw-r--r--modules/retiolum/doc/install_dotcloud70
-rw-r--r--modules/retiolum/doc/install_no.de4
-rwxr-xr-xmodules/retiolum/scripts/adv_graphgen/parse.py11
-rwxr-xr-xmodules/retiolum/scripts/adv_graphgen/sanitize.sh2
-rw-r--r--modules/retiolum/scripts/tinc_setup/autoupdate_cron.sh7
5 files changed, 56 insertions, 38 deletions
diff --git a/modules/retiolum/doc/install_dotcloud b/modules/retiolum/doc/install_dotcloud
index 29a13604..ab7206b1 100644
--- a/modules/retiolum/doc/install_dotcloud
+++ b/modules/retiolum/doc/install_dotcloud
@@ -26,23 +26,23 @@ You will gain a user shell with
we will need to build some stuff in order to get a working copy of tinc.
Everything needs to be done in userspace.
<code>
-mkdir build
-cd build
-curl http://www.openssl.org/source/openssl-1.0.0d.tar.gz | tar xz
-cd openssl-1.0.0d
-./config --prefix=$HOME/usr -fPIC
-make install
-cp lib* $HOME/usr/lib
-cd ..
+ mkdir build
+ cd build
+ curl http://www.openssl.org/source/openssl-1.0.0d.tar.gz | tar xz
+ cd openssl-1.0.0d
+ ./config --prefix=$HOME/usr -fPIC
+ make install
+ cp lib* $HOME/usr/lib
+ cd ..
-curl http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz | tar xz
-cd lzo-2.04
-./configure --prefix=$HOME/usr
+ curl http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz | tar xz
+ cd lzo-2.04
+ ./configure --prefix=$HOME/usr
-curl http://zlib.net/zlib-1.2.5.tar.gz | tar xz
-cd zlib-1.2.5/
-./configure --prefix=$HOME/usr
-make install
+ curl http://zlib.net/zlib-1.2.5.tar.gz | tar xz
+ cd zlib-1.2.5/
+ ./configure --prefix=$HOME/usr
+ make install
</code>
before building we need to patch the tinc daemon to run without the need
for a tun device.
@@ -51,35 +51,35 @@ tutorial is here:
https://hackerspace.be/TincVPN
<code>
-curl http://www.tinc-vpn.org/packages/tinc-1.0.14.tar.gz | tar xz
-cd tinc-1.0.14
-#apply patch here
-./configure --prefix=$HOME/usr --sysconfdir=$HOME/etc \
---localstatedir=$HOME/var --with-openssl=`pwd`/../openssl-1.0.0d/ \
---with-openssl-lib=`pwd`/../openssl-1.0.0d/ \
---with-zlib-include=$HOME/usr/include --with-zlib-lib=$HOME/usr/lib
-make
-make install
-mkdir ~/etc
-mkdir ~/var
-cd ~/painload/modules/retiolum/scripts/tinc_setup
-./install cloudkrebs 10.7.7.221
+ curl http://www.tinc-vpn.org/packages/tinc-1.0.14.tar.gz | tar xz
+ cd tinc-1.0.14
+ #replace the device.c with the patched (empty) one from the webpage
+ ./configure --prefix=$HOME/usr --sysconfdir=$HOME/etc \
+ --localstatedir=$HOME/var --with-openssl=`pwd`/../openssl-1.0.0d/ \
+ --with-openssl-lib=`pwd`/../openssl-1.0.0d/ \
+ --with-zlib-include=$HOME/usr/include --with-zlib-lib=$HOME/usr/lib
+ make
+ make install
+ mkdir ~/etc
+ mkdir -p ~/var/run
+ cd ~/painload/modules/retiolum/scripts/tinc_setup
+ ./install cloudkrebs 10.7.7.221
</code>
be sure to fix the portnumber in the generated host file and add your own
address in hosts/cloudkrebs:
<code>
-Address = my.public.address
-Port = 1655
+ Address = my.public.address
+ Port = 1655
-PUBKEY
+ PUBKEY
</code>
also write the right in tinc.conf:
<code>
-Name = cloudkrebs
+ Name = cloudkrebs
-Mode = switch
-#device = ...
-# no device :)
+ Mode = switch
+ #device = ...
+ # no device :)
</code>
diff --git a/modules/retiolum/doc/install_no.de b/modules/retiolum/doc/install_no.de
new file mode 100644
index 00000000..a8b72a78
--- /dev/null
+++ b/modules/retiolum/doc/install_no.de
@@ -0,0 +1,4 @@
+ok, i tried to just do the same step i did in the other cloud service, but
+it failed when trying to include tunnel headers.this is what to do:
+
+# add PATH_MAX to conf.c
diff --git a/modules/retiolum/scripts/adv_graphgen/parse.py b/modules/retiolum/scripts/adv_graphgen/parse.py
index 04b42c33..16d3043b 100755
--- a/modules/retiolum/scripts/adv_graphgen/parse.py
+++ b/modules/retiolum/scripts/adv_graphgen/parse.py
@@ -12,6 +12,7 @@ def write_digraph(nodes):
print ('digraph retiolum {')
print (' node[shape=box,style=filled,fillcolor=grey]')
generate_stats(nodes)
+ nodes = delete_unused_nodes(nodes)
merge_edges(nodes)
for k,v in nodes.iteritems():
write_node(k,v)
@@ -21,7 +22,12 @@ def generate_stats(nodes):
"""
for k,v in nodes.iteritems():
v['num_conns'] = len(v.get('to',[]))
-
+def delete_unused_nodes(nodes):
+ new_nodes = {}
+ for k,v in nodes.iteritems():
+ if v.get('to',[]):
+ new_nodes[k] = v
+ return new_nodes
def merge_edges(nodes):
""" merge back and forth edges into one
DESTRUCTS the current structure by deleting "connections" in the nodes
@@ -50,7 +56,8 @@ def write_node(k,v):
if v['external-ip'] == "MYSELF":
node += ",fillcolor=steelblue1"
node += "]"
- print (node)
+ print node
+
for con in v.get('to',[]):
edge = " "+k+ " -> " +con['name'] + "[weight="+str(float(con['weight']))
if con.get('bidirectional',False):
diff --git a/modules/retiolum/scripts/adv_graphgen/sanitize.sh b/modules/retiolum/scripts/adv_graphgen/sanitize.sh
index 88591b67..0e12d207 100755
--- a/modules/retiolum/scripts/adv_graphgen/sanitize.sh
+++ b/modules/retiolum/scripts/adv_graphgen/sanitize.sh
@@ -10,4 +10,4 @@ sudo sed -n '/tinc.retiolum/{s/.*tinc.retiolum\[[0-9]*\]: //gp}' $LOG_FILE |\
$GRAPH_SETTER1 -Tpng -o $1retiolum_1.png retiolum.dot
$GRAPH_SETTER2 -Tpng -o $1retiolum_2.png retiolum.dot
$OPENER retiolum_1.png &>/dev/null
-rm retiolum.dot
+#rm retiolum.dot
diff --git a/modules/retiolum/scripts/tinc_setup/autoupdate_cron.sh b/modules/retiolum/scripts/tinc_setup/autoupdate_cron.sh
new file mode 100644
index 00000000..d5d41aaf
--- /dev/null
+++ b/modules/retiolum/scripts/tinc_setup/autoupdate_cron.sh
@@ -0,0 +1,7 @@
+cat <<EOF
+# Add these lines to your crontab:
+
+12 23 * * * /home/node/usr/sbin/tincd -n retiolum &>/dev/null
+12 23 * * * cd /home/node/etc/tinc/retiolum/hosts/ && /opt/local/bin/git pull && pkill -HUP tincd
+EOF
+