Repository: incubator-singa Updated Branches: refs/heads/master a32102e64 -> 767bad29e
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/0f3a8ff4/tool/graph.py ---------------------------------------------------------------------- diff --git a/tool/graph.py b/tool/graph.py new file mode 100644 index 0000000..17aaea7 --- /dev/null +++ b/tool/graph.py @@ -0,0 +1,22 @@ +import sys +import pygraphviz +import networkx as nx +from networkx.readwrite import json_graph +import json + + +if __name__=='__main__': + print sys.argv + if len(sys.argv)<3: + print 'usage: draw the network graph\npython graph.py JSON_DAT FIG_FILE' + sys.exit() + + with open(sys.argv[1]) as fd: + nodelink=json.load(fd) + G=json_graph.node_link_graph(nodelink) + A = nx.to_agraph(G) + A.layout('dot', args='-Nfontsize=10 -Nwidth=".2" -Nheight=".2" -Nmargin=0 \ + -Gfontsize=8') + A.draw(sys.argv[2]) + + http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/0f3a8ff4/tool/node.sh ---------------------------------------------------------------------- diff --git a/tool/node.sh b/tool/node.sh new file mode 100755 index 0000000..74e0d8a --- /dev/null +++ b/tool/node.sh @@ -0,0 +1,71 @@ +#!/bin/bash +if [[ $# < 2 || ! -f $2 ]] +then + echo "Usage: process/folder management" + echo "[cat, create, delete, kill, ls, ps, reset, scp, ssh] hostfile [args]" + echo " cat hostfile file--- cat the file on every node in hostfile" + echo " create hostfile folder--- create the folder on every node in hostfile" + echo " delete hostfile folder--- delete the folder on every node in hostfile" + echo " kill hostfile job_name--- kill the job on every node in hostfile" + echo " ls hostfile folder--- list the folder on every node in hostfile" + echo " ps hostfile job_name--- ps aux|grep job_name on every node in hostfile" + echo " reset hostfile folder--- delete and create the folder on every node in hostfile" + echo " scp hostfile local_dir [remote_dir]--- copy the local_dir to remote_dir on every node in hostfile, if remote_dir is omitted, remote_dir=local_dir" + echo " ssh hostfile--- test whether the nodes in hostfile are alive" + echo "each line in hostfile is a node name followed by a space and other fields" + exit +fi + +ssh_options="-oStrictHostKeyChecking=no \ +-oUserKnownHostsFile=/dev/null \ +-oLogLevel=quiet" + +hosts=(`cat $2 |cut -d ' ' -f 1`) + +for i in ${hosts[@]} +do + if [ $1 == "cat" ] + then + cmd="cat $3" + elif [ $1 == "create" -o $1 == "reset" ] + then + cmd="mkdir -p $3" + elif [ $1 == "delete" -o $1 == "reset" ] + then + cmd="rm -rf $3" + elif [ $1 == "kill" ] + then + cmd="ps ax|pgrep $3 |xargs kill" + elif [ $1 == "ls" ] + then + cmd="ls -l $3" + elif [ $1 == "scp" ] + then + local_dir=$3 + remote_dir=$3 + if [ $# -eq 4 ] + then + remote_dir=$4 + fi + r='' + if [[ -d $3 ]] + then + r='-r' + fi + echo "scp $r $local_dir $i:$remote_dir" + scp $r $local_dir $i:$remote_dir + elif [ $1 == "ssh" ] + then + cmd="exit" + elif [ $1 == "ps" ] + then + cmd="ps ax|pgrep $3" + else + echo "Incorrect commands:" $1 + fi + if [ $1 != "scp" ] + then + echo $cmd + ssh $i $cmd + fi +done
