From fd7da3898006ab8119d4b13b383cfa16c9403b18 Mon Sep 17 00:00:00 2001 From: Felix Richter Date: Sun, 29 May 2011 12:08:13 +0200 Subject: 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 --- modules/retiolum/scripts/adv_graphgen/parse.py | 11 +++++++++-- modules/retiolum/scripts/adv_graphgen/sanitize.sh | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'modules/retiolum/scripts/adv_graphgen') 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 -- cgit v1.2.3 From b7e9b977884f8d4d6149b06e3567f288b920daa6 Mon Sep 17 00:00:00 2001 From: Felix Richter Date: Sun, 29 May 2011 12:25:46 +0200 Subject: updated graphgen script parse.py: parser now stores all internal addresses for nodes which have v4 and v6 addresses --- modules/retiolum/scripts/adv_graphgen/parse.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'modules/retiolum/scripts/adv_graphgen') diff --git a/modules/retiolum/scripts/adv_graphgen/parse.py b/modules/retiolum/scripts/adv_graphgen/parse.py index 16d3043b..639c5316 100755 --- a/modules/retiolum/scripts/adv_graphgen/parse.py +++ b/modules/retiolum/scripts/adv_graphgen/parse.py @@ -51,8 +51,9 @@ def write_node(k,v): node += "external:"+v['external-ip']+":"+v['external-port']+"\\l" if v.has_key('num_conns'): node += "Num Connects:"+str(v['num_conns'])+"\\l" - - node += "internal:"+v.get('internal-ip','¯\\\\(°_o)/¯')+"\\l\"" + for addr in v.get('internal-ip',['¯\\\\(°_o)/¯']): + node += "internal:"+addr+"\\l" + node +="\"" if v['external-ip'] == "MYSELF": node += ",fillcolor=steelblue1" node += "]" @@ -81,7 +82,9 @@ def parse_input(): if line == 'End of subnet list.\n': break l = line.replace('\n','').split() - nodes[l[2]]['internal-ip'] = l[0].split('#')[0] + if not nodes[l[2]].get('internal-ip',False): + nodes[l[2]]['internal-ip'] = [] + nodes[l[2]]['internal-ip'].append(l[0].split('#')[0]) if line == 'Edges:': edges = {} for line in sys.stdin: -- cgit v1.2.3