Folks,
I use a central booting manager, with multiple application
servers for load balancing and redundancy.
I previously posted patches to ltsp3 to handle this, here are
patches for ltsp4.1 to do the same thing.
These patches hopefully are backwards-compatible, meaning that
there should be no ill effects on implementation.
lts.conf can now contain multiple space-separated values for
XDM_SERVER and XFS_SERVER
Cheers, Andy!
--- /opt/ltsp4.1/i386/etc/screen.d/startx 2004-07-19 05:50:02.000000000 +0200
+++ startx 2004-09-23 07:41:59.000000000 +0200
@@ -14,7 +14,17 @@
eval `/bin/getltscfg -a`
DEFAULT_SERVER=${SERVER:-"192.168.0.254"}
+
XDM_SERVER=${XDM_SERVER:-${DEFAULT_SERVER}}
+for i in $XDM_SERVER
+do
+ if ping -c 1 $i
+ then
+ XDM_SERVER=$i
+ break
+ fi
+done
+
reg_info XDM_SERVER
TTY=`/usr/bin/basename \`/usr/bin/tty\``
@@ -129,7 +139,7 @@
fi
if [ "${XF_ARGS}" = "" ]; then
- XF_ARGS="-query ${XDM_SERVER}"
+ XF_ARGS="-indirect ${XDM_SERVER}"
fi
if [ -w /proc/progress ]; then
--- /opt/ltsp4.1/i386/etc/build_x3_cfg 2004-07-12 21:07:54.000000000 +0200
+++ /home/andyr/mycvs/kickstart/school/build_x3_cfg 2004-09-22 13:43:30.000000000
+0200
@@ -1,4 +1,4 @@
-:
+#! /bin/bash
#
# build_x3_cfg
#
@@ -42,12 +42,17 @@
if [ "${USE_XFS}" = "Y" ]; then
XFS_SERVER=${XFS_SERVER:-${DEFAULT_SERVER}}
- cat <<-EOF
- Section "Files"
- RgbPath "/usr/X11R6/lib/X11/rgb"
- FontPath "tcp/${XFS_SERVER}:7100"
- EndSection
-EOF
+ echo Section \"Files\"
+ echo -e \\tRgbPath \"/usr/X11R6/lib/X11/rgb\"
+ echo -n -e \\tFontPath \"
+ let flag=0
+ for f in $XFS_SERVER
+ do
+ if [ $flag -eq 1 ] ; then echo -n , ; else let flag=1 ; fi
+ echo -n tcp/${f}:7100
+ done
+ echo \"
+ echo EndSection
else
cat <<-EOF
Section "Files"
--- /opt/ltsp4.1/i386/etc/build_x4_cfg 2004-07-18 07:52:12.000000000 +0200
+++ /home/andyr/mycvs/kickstart/school/build_x4_cfg 2004-09-22 13:35:29.000000000
+0200
@@ -1,3 +1,5 @@
+#! /bin/bash
+#
# build_x4_cfg
#
# This script will generate the XF86Config-4 file for a diskless workstation, as
@@ -64,11 +66,16 @@
if [ "${USE_XFS}" = "Y" ]; then
XFS_SERVER=${XFS_SERVER:-${DEFAULT_SERVER}}
- cat <<-EOF
-Section "Files"
- FontPath "tcp/${XFS_SERVER}:7100"
-EndSection
-EOF
+ echo Section \"Files\"
+ echo -n -e \\tFontPath \"
+ let flag=0
+ for f in $XFS_SERVER
+ do
+ if [ $flag -eq 1 ] ; then echo -n , ; else let flag=1 ; fi
+ echo -n tcp/${f}:7100
+ done
+ echo \"
+ echo EndSection
else
cat <<-EOF
Section "Files"