[Ultrapossum-cvs 339] demo/uml ...

Back to archive index

Masato Taruishi taru****@sourc*****
2004年 7月 22日 (木) 21:37:01 JST


===================================================================
RCS file: demo/uml/20uml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- demo/uml/20uml	2004/07/02 10:39:09	1.3
+++ demo/uml/20uml	2004/07/22 12:37:01	1.4
@@ -25,14 +25,16 @@
   UMLDIR=$(ultrapossum_getconf UMLDIR "$localstatedir/lib/$PACKAGE/uml")
   UML_ROOTSTRAP_CONF_IN=$(ultrapossum_getconf UML_ROOTSTRAP_CONF_IN "$TEMPLATEDIR/rootstrap.conf.in")
   UML_NAMESERVER=$(ultrapossum_getconf UML_NAMESERVER "`grep nameserver /etc/resolv.conf | awk -F' ' '{print $2;}' | head -1`")
-  UML_HOSTS=$(ultrapossum_getconf UML_HOSTS "$MASTER $SLAVES")
+  UML_HOSTS=$(ultrapossum_getconf UML_HOSTS "$MASTER $SLAVES $ULTAMONKEYNODES")
   UML_USER=$(ultrapossum_getconf UML_USER "daemon")
   UML_DIST=$(ultrapossum_getconf UML_DIST "woody")
   UML_MIRROR=$(ultrapossum_getconf UML_MIRROR "http://http.us.debian.org/debian")
   UML_PROXY=$(ultrapossum_getconf UML_PROXY "")
-  UML_ULTRAPOSSUM_APT=$(ultrapossum_getconf UML_APT_SOURCE "http://ultrapossum.org/debian/ ./")
+  UML_ULTRAPOSSUM_APT=$(ultrapossum_getconf UML_ULTRAPOSSUM_APT "http://ultrapossum.org/debian/ ./")
+  UML_ULTRAMONKEY_APT=$(ultrapossum_getconf UML_ULTRAMONKEY_APT "http://www.ultramonkey.org/download/2.0.1/ sid main")
   UML_MEM=$(ultrapossum_getconf UML_MEM "64M")
   UML_ULTRAPOSSUM_EXTRA_PACKAGES=$(ultrapossum_getconf UML_ULTRAPOSSUM_EXTRA_PACKAGES "")
+  UML_MULTICASTADDR=$(ultrapossum_getconf UML_MULTICASTADDR "")
 fi
 
 # Parsing configuration file
===================================================================
RCS file: demo/uml/boot,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- demo/uml/boot	2004/07/03 10:17:12	1.9
+++ demo/uml/boot	2004/07/22 12:37:01	1.10
@@ -27,11 +27,11 @@
   fi
 fi
 
-if include $1 "`screen -list | grep ultrapossum | cut -d- -f2 | awk -F' ' '{print $1;}'`"
+if include $1 "`screen -list | grep ultrapossum | cut -d- -f2- | awk -F' ' '{print $1;}'`"
 then
   echo "$1 already booted" 1>&2
   exit 0
 fi
 
-screen -d -m -S ultrapossum-$1 $MODULEDIR/uml/uml-run $1 su -c "linux ubd0=$root con0=fd:0,fd:1 con=pts mem=$UML_MEM eth0=tuntap,$host_if,,$host" $UML_USER
+screen -d -m -S ultrapossum-$1 $MODULEDIR/uml/uml-run $1 su -c "linux ubd0=$root con0=fd:0,fd:1 con=pts mem=$UML_MEM eth0=tuntap,$host_if,,$host eth1=mcast,,$UML_MULTICASTADDR" $UML_USER
 
===================================================================
RCS file: demo/uml/map,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- demo/uml/map	2004/06/29 12:15:26	1.1
+++ demo/uml/map	2004/07/22 12:37:01	1.2
@@ -13,7 +13,7 @@
 trap "eval `ultrapossum-config term`" 0
 
 num() {
-  i=0
+  i=1
   for h in $UML_HOSTS
   do
     if test "x$h" = "x$arg"; then
@@ -28,9 +28,18 @@
 
 id=`num`
 
-pkgs="ultrapossum"
-if test "x$BACKUP" != "x" && include "$arg" "$MASTER $BACKUP"; then
-  pkgs="$pkgs ultrapossum-failover"
+if include "$arg" "$ULTRAMONKEYNODES"; then
+  pkgs="ultrapossum-ultramonkey"
+else
+  pkgs="ultrapossum"
+  if test "x$BACKUP" != "x" && include "$arg" "$MASTER $BACKUP"; then
+    pkgs="$pkgs ultrapossum-failover"
+  fi
+  if include "$arg" "$SLAVES" && test "x$ULTRAMONKEYNODES" != "x"; then
+    eval "`$0 $(echo $ULTRAMONKEYNODES | head -1)`"
+    local_gateway="$local_net"
+    local_host="$host"
+  fi
 fi
 
 echo "net=192.168.$id.0/24"
@@ -38,3 +47,7 @@
 echo "uml=192.168.$id.2"
 echo "host_if=tap$id"
 echo "ultrapossum_packages='$pkgs'"
+echo "local_gateway=$local_gateway"
+echo "local_net=192.168.0.$id"
+echo "local_host=$local_host"
+
===================================================================
RCS file: demo/uml/rootstrap.conf.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- demo/uml/rootstrap.conf.in	2004/07/02 10:39:09	1.3
+++ demo/uml/rootstrap.conf.in	2004/07/22 12:37:01	1.4
@@ -115,5 +115,10 @@
 
 [ultrapossum]
 ultrapossum_apt=#UML_ULTRAPOSSUM_APT#
+ultramonkey_apt=#UML_ULTRAMONKEY_APT#
 ultrapossum_packages=#ULTRAPOSSUM_PACKAGES#
 ultrapossum_hosts=#ULTRAPOSSUM_HOSTS#
+ultrapossum_local_net=#ULTRAPOSSUM_LOCALNET#
+ultrapossum_local_gateway=#ULTRAPOSSUM_LOCALGATEWAY#
+ultrapossum_local_host=#ULTRAPOSSUM_LOCALHOST#
+
===================================================================
RCS file: demo/uml/rootstrap.sh,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- demo/uml/rootstrap.sh	2004/07/02 10:39:09	1.3
+++ demo/uml/rootstrap.sh	2004/07/22 12:37:01	1.4
@@ -18,7 +18,11 @@
 	-e "s!#UML_MIRROR#!$UML_MIRROR!" -e "s!#UML_PROXY#!$UML_PROXY!" \
 	-e "s/#UML_NAMESERVER#/$UML_NAMESERVER/" \
 	-e "s!#UML_ULTRAPOSSUM_APT#!$UML_ULTRAPOSSUM_APT!" \
+	-e "s!#UML_ULTRAMONKEY_APT#!$UML_ULTRAMONKEY_APT!" \
 	-e "s/#ULTRAPOSSUM_PACKAGES#/$UML_ULTRAPOSSUM_EXTRA_PACKAGES $ultrapossum_packages/" \
 	-e "s!#ULTRAPOSSUM_HOSTS#!$UMLDIR/hosts!" \
+	-e "s/#ULTRAPOSSUM_LOCALGATEWAY#/$local_gateway/" \
+	-e "s/#ULTRAPOSSUM_LOCALNET#/$local_net/" \
+	-e "s/#ULTRAPOSSUM_LOCALHOST#/$local_host/" \
 		< $UML_ROOTSTRAP_CONF_IN
 
===================================================================
RCS file: demo/uml/ultrapossum,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- demo/uml/ultrapossum	2004/07/02 10:39:09	1.4
+++ demo/uml/ultrapossum	2004/07/22 12:37:01	1.5
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -x
 
 export DEBIAN_FRONTEND=noninteractive
 export UCF_FORCE_CONFFOLD=1
@@ -9,6 +9,36 @@
   cp //tmp/host/var/lib/ultrapossum/uml/ssh_known_hosts $TARGET/etc/ssh/ssh_known_hosts
 fi
 echo "deb $ultrapossum_apt" >> $TARGET/etc/apt/sources.list
+echo "deb http://ultrapossum.org/experimental/debian/ ./" >> $TARGET/etc/apt/sources.list
+echo "deb $ultramonkey_apt" >> $TARGET/etc/apt/sources.list
 chroot $TARGET mount -t proc proc /proc
 cat /tmp/host/$ultrapossum_hosts >> $TARGET/etc/hosts
+cat >> $TARGET/etc/network/interfaces <<EOF
+auto eth1
+iface eth1 inet static
+	address $ultrapossum_local_net
+	netmask 255.255.255.0
+EOF
+if test "x$ultrapossum_local_gateway" != "x"; then
+  cat >> $TARGET/etc/network/interfaces <<EOF
+	up /sbin/route add $ultrapossum_local_host gw $ultrapossum_local_gateway
+	down /sbin/route del $ultrapossum_local_host gw $ultrapossum_local_gateway
+EOF
+else
+  cat >> $TARGET/etc/network/interfaces <<EOF
+	up /sbin/iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE
+	up echo 1 > /proc/sys/net/ipv4/ip_forward
+	down /sbin/iptables -D POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE
+EOF
+  cat >> $TARGET/etc/modules <<EOF
+ip_vs_rr
+ipt_MASQUERADE
+ipt_multiport
+iptable_nat
+iptable_filter
+ip_conntrack
+EOF
+  eval `grep ^SLURPDSLAVE $TARGET/etc/ultrapossum/module.d/server.cf`
+  echo "SLAVES=\"$SLURPDSLAVES\"" >> $TARGET/etc/ultrapossum/ultrapossum.cf
+fi
 chroot $TARGET /bin/sh -c "apt-get update && apt-get -y -o DPkg::Options::="--force-confold" -f install $ultrapossum_packages && run-parts --arg=stop /etc/init.d/"
===================================================================
RCS file: demo/uml/update-uml,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- demo/uml/update-uml	2004/07/08 09:06:51	1.11
+++ demo/uml/update-uml	2004/07/22 12:37:01	1.12
@@ -29,16 +29,20 @@
   progress "Configuring User-Mode-Linux... "
   install -d $UMLDIR
   /bin/cp /dev/null $UMLDIR/hosts
+  add_startmark "##" "$id" > $tmp
   for h in $UML_HOSTS
   do
     eval "`$MODULEDIR/uml/map $h`"
     install -d $UMLDIR/$h
     $MODULEDIR/uml/rootstrap.sh $h > $UMLDIR/$h/rootstrap.conf
-    echo "$uml $h" >> $UMLDIR/hosts
+    if test "x$local_net" != "x"; then
+      echo "$local_net $h" >> $UMLDIR/hosts
+    else
+      echo "$uml $h" >> $UMLDIR/hosts
+    fi
+    echo "$uml $h" >> $tmp
   done
 
-  add_startmark "##" "$id" > $tmp
-  cat $UMLDIR/hosts >> $tmp
   add_endmark "##" "$id" >> $tmp
   add_end_vaconf "/etc/hosts" "$tmp" "$id"
 



Ultrapossum-cvs メーリングリストの案内
Back to archive index