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

Reply via email to