OSDN Git Service

ip information is added to fulcon list.
authorniwa-hideyuki <niwa.niwa@nifty.ne.jp>
Sat, 19 Mar 2016 00:43:27 +0000 (09:43 +0900)
committerniwa-hideyuki <niwa.niwa@nifty.ne.jp>
Sat, 19 Mar 2016 00:43:27 +0000 (09:43 +0900)
src/lib/lib-list

index 0f08ad5..f732364 100755 (executable)
@@ -2,11 +2,22 @@
 
 # Copyright (C) 2015-2016 NIWA Hideyuki
 
+FULCONDIR=/var/lib/fulcon
+
 usage()
 {
        echo "usage: lib-list "
 }
 
+lsdir() {
+  ls -f --ind=none $1 | sed '/^\.\{1,2\}$/d'
+}
+
+driver-net-info()
+{
+       fulcon-exec $1 ip a show
+}
+
 RUNNING=`fulcon-list-running | awk '{printf "%s ",$1}'`
 PAUSED=`fulcon-list-paused | awk '{printf "%s ",$1}'`
 ALLCONT=`fulcon-list-all | awk '{printf "%s ",$1}'`
@@ -17,15 +28,33 @@ do
                IMAGE=`cat /var/lib/fulcon/container/$i/imagename`
                echo $RUNNING | egrep -w $i >& /dev/null
                if [ $? -eq 0 ]; then
-                       printf "%s\t\tRUNNING\t\t%s\n" $NAME $IMAGE
+                       STATUS="RUNNING"
+
+                       # network information
+                       IPADDR=`driver-net-info $NAME | \
+                         awk '$1=="inet" && $2!="127.0.0.1/8"{printf "%s ", $2}'`
+
+                       printf "%s\t\tRUNNING\t\t%s %s\n" $NAME $IMAGE $IPADDR
                else
+                       # network information
+                       mkdir -p $FULCONDIR/slot/$i/net
+                       IPADDR=""
+                       for k in `lsdir $FULCONDIR/container/$i/net`
+                       do
+                               IP1=`awk '{printf "%s ",$3}' $FULCONDIR/container/$i/net/$k`
+                               IPADDR="$IPADDR $IP1"
+                       done
+
                        echo $PAUSED | egrep -w $i >& /dev/null
                        if [ $? -eq 0 ]; then
-                               printf "%s\t\tPAUSED\t\t%s\n" $NAME $IMAGE
+                               STATUS="PAUSED"
+                               printf "%s\t\tPAUSED\t\t%s %s\n" $NAME $IMAGE $IPADDR
                        else
-                               printf "%s\t\tSTOPPED\t\t%s\n" $NAME $IMAGE
+                               STATUS="STOPPED"
+                               printf "%s\t\tSTOPPED\t\t%s %s\n" $NAME $IMAGE $IPADDR
                        fi
                fi
+
        fi
 done | sort