Stable update proposal: ltsp 0.99debian12+0.0.edu.etch.8
Ref item 9 on <URL:http://wiki.debian.org/DebianEdu/Meeting/20070813>,
here is a update proposal for the stable release.
I propose to update the version of ltsp in the stable repository from
0.99debian12+0.0.edu.etch.7 to 0.99debian12+0.0.edu.etch.8. It add
support for load balancing and hopefully make it easier to get the
live DVD images working for thin client servers, as well as trying to
work around a minor bug in the installer.
Here is the diff -r output between the two versions:
diff -ru ltsp-0.99debian12+0.0.edu.etch.7/debian/changelog ltsp-0.99debian12+0.0.edu.etch.8/debian/changelog
--- ltsp-0.99debian12+0.0.edu.etch.7/debian/changelog 2007-07-05 10:35:39.000000000 +0200
+++ ltsp-0.99debian12+0.0.edu.etch.8/debian/changelog 2007-10-21 05:13:36.000000000 +0200
@@ -1,3 +1,26 @@
+ltsp (0.99debian12+0.0.edu.etch.8) terra; urgency=low
+
+ [ Petter Reinholdtsen ]
+ * Backport feature from ldm2, add support for listing several LDM
+ servers in $LDM_SERVER as the primary source, running
+ /usr/lib/ltsp/get_hosts on the client to select servers if it
+ exist, and finally fall back to $SERVER. Pick a random entry from
+ LDM_SERVER_LIST for load balancing instead of picking the first
+ like ldm2.
+
+ * Change ltsp-server dependency to list nfs-user-server as an
+ alternative to nfs-kernel-server, making it easier to get LTSP
+ working on live CDs using unionfs.
+
+ [ Vagrant Cascadian ]
+ * drop Debian-Edu ldm theme, it is now handled in debian-edu-artwork
+
+ [ Ronny Aasen ]
+ * ltsp-client-builder: work around bug in cdebconf by logging output between
+ db_progress calls
+
+ -- Vagrant Cascadian <vagrant@freegeek.org> Sat, 20 Oct 2007 20:09:07 -0700
+
ltsp (0.99debian12+0.0.edu.etch.7) terra; urgency=low
* patch for unencrypted LDM sessions
diff -ru ltsp-0.99debian12+0.0.edu.etch.7/client/ldm ltsp-0.99debian12+0.0.edu.etch.8/client/ldm
--- ltsp-0.99debian12+0.0.edu.etch.7/client/ldm 2007-07-05 10:35:39.000000000 +0200
+++ ltsp-0.99debian12+0.0.edu.etch.8/client/ldm 2007-10-21 05:13:35.000000000 +0200
@@ -10,6 +10,7 @@
import struct
import fcntl
import tempfile
+import random
def get_config(name):
return os.environ.get(name)
@@ -33,11 +34,47 @@
struct.pack('256s', ifname[:15])
)[20:24])
+# Parse config variable, split on space and return random element from
+# the list
+def get_config_array_rand(name):
+ s = get_config(name)
+ if s:
+ return random.choice(s.split(" "))
+ return
+
+def exec_get_output(cmd):
+ output = []
+ retlist = []
+ child_stdin, child_stdout, child_stderr = os.popen3(cmd)
+ output = child_stdout.readlines()
+ if not output:
+ return
+ for line in output:
+ line = line.rstrip()
+ retlist.append( line )
+ return retlist
+
+# Return the server to use. Run '/usr/lib/ltsp/get_hosts' to get the
+# list of servers if it exist and pick the first, unless LDM_SERVER
+# exist, use that instead and pick a random, and if that is empty, use
+# SERVER. This make ldm more compatible with ldm2.
+def get_config_server():
+ server = get_config_array_rand('LDM_SERVER')
+ if server:
+ return server
+ try:
+ dynlist = exec_get_output('/usr/lib/ltsp/get_hosts')
+ if dynlist and dynlist[0]:
+ print 'Selecting output from get_hosts'
+ return dynlist[0]
+ except IOError: # Hm, is this the right exception?
+ print 'Did not find /usr/lib/ltsp/get_hosts'
+ return get_config('SERVER')
+
class LDM:
def __init__(self, vt, display):
self.vt = vt
self.display = display
- self.server = get_config('SERVER')
self.use_xfs = get_config_bool('USE_XFS')
self.use_sound = get_config_bool('SOUND')
self.use_localdev = get_config_bool('LOCALDEV')
@@ -49,11 +86,6 @@
self.ip = get_ip('eth0')
self.sound_daemon = get_config('SOUND_DAEMON') or 'esd'
- if self.use_xfs:
- xfs_server = get_config('XFS_SERVER') or self.server
- self.fontpath = "tcp/%s:7100" % xfs_server
-
-
# Save xauth info some writable tmpfs file.
self.authfile = tempfile.mktemp()
@@ -66,9 +98,18 @@
os.dup2(logfile.fileno(), sys.stderr.fileno())
while True:
+ # Get the server info every time the X server start, it
+ # might change between calls. Fetching it here and not on
+ # every login, to make sure the xfs font server is the
+ # same as the login server.
+ self.server = get_config_server()
+ print "Selected '%s' as the LDM server" % self.server
+
server_opts = ['-br', '-ac', '-noreset']
if self.use_xfs:
+ xfs_server = get_config('XFS_SERVER') or self.server
+ self.fontpath = "tcp/%s:7100" % xfs_server
server_opts += ['-fp', self.fontpath]
server_command = ['X', '-auth', self.authfile] + server_opts + [self.vt, self.display]
Only in ltsp-0.99debian12+0.0.edu.etch.7/client/themes: Debian-Edu
diff -ru ltsp-0.99debian12+0.0.edu.etch.7/debian/control ltsp-0.99debian12+0.0.edu.etch.8/debian/control
--- ltsp-0.99debian12+0.0.edu.etch.7/debian/control 2007-07-05 10:35:39.000000000 +0200
+++ ltsp-0.99debian12+0.0.edu.etch.8/debian/control 2007-10-21 05:13:36.000000000 +0200
@@ -7,7 +7,7 @@
Standards-Version: 3.7.2
Package: ltsp-server
-Depends: ${misc:Depends}, debootstrap, nfs-kernel-server, lsb-release, tftpd-hpa | atftpd, openssh-client | ssh, iproute, debconf-utils, esound-clients | nas-bin, python (>= 2.4), openbsd-inetd | inet-superserver, update-inetd, tcpd, gettext-base
+Depends: ${misc:Depends}, debootstrap, nfs-kernel-server | nfs-user-server, lsb-release, tftpd-hpa | atftpd, openssh-client | ssh, iproute, debconf-utils, esound-clients | nas-bin, python (>= 2.4), openbsd-inetd | inet-superserver, update-inetd, tcpd, gettext-base
Recommends: openssh-server | ssh, nbd-server
Suggests: dhcp3-server, sdm, audiooss
Conflicts: ltsp-utils
diff -ru ltsp-0.99debian12+0.0.edu.etch.7/debian/ldm.postinst ltsp-0.99debian12+0.0.edu.etch.8/debian/ldm.postinst
--- ltsp-0.99debian12+0.0.edu.etch.7/debian/ldm.postinst 2007-07-05 10:35:39.000000000 +0200
+++ ltsp-0.99debian12+0.0.edu.etch.8/debian/ldm.postinst 2007-10-21 05:13:37.000000000 +0200
@@ -22,9 +22,6 @@
update-alternatives \
--install /usr/share/ldm/themes/default \
ldm-theme /usr/share/ldm/themes/Edubuntu 35
- update-alternatives \
- --install /usr/share/ldm/themes/default \
- ldm-theme /usr/share/ldm/themes/Debian-Edu 50
;;
abort-upgrade|abort-remove|abort-deconfigure)
diff -ru ltsp-0.99debian12+0.0.edu.etch.7/debian/ltsp-client-builder.postinst ltsp-0.99debian12+0.0.edu.etch.8/debian/ltsp-client-builder.postinst
--- ltsp-0.99debian12+0.0.edu.etch.7/debian/ltsp-client-builder.postinst 2007-07-05 10:35:39.000000000 +0200
+++ ltsp-0.99debian12+0.0.edu.etch.8/debian/ltsp-client-builder.postinst 2007-10-21 05:13:37.000000000 +0200
@@ -55,7 +55,7 @@
in-target /usr/sbin/ltsp-build-client $BUILD_CLIENT_OPTS
db_progress STEP 1
-
+log "Finished"
db_progress STOP
exit 0
Reply to: