Archive:GSOC 2008 Easy-LTSP

Jump to: navigation, search

LTSP managing GUI

As the LTSP technology is becoming more and more widespread many LTSP administrators are in need of an easier-to-manage solution. They need a graphical front-end to manage trivial tasks like setting and configuring the most commonly tweaked settings. Inspite of the existence of LTSP-manager on Ubuntu, there is currently no GUI which would work on any other Linux distribution.

This project aims at developing a generic GUI which could be used in any other platform and at the same time make the task of setting up a basic LTSP environment and configuring the same with a few clicks, though it would be first tested for openSUSE. Using this front-end, a person with minimum knowledge about Linux server administration would be able to set-up LTSP within no time.

LTSP GUI for openSUSE would be made using GTK+ (The GIMP toolkit) as the library for front-end, which is present in most of the flavors of Linux(GUI based) by default. Additionally, few cool features like monitoring logs of clients from within the GUI and monitoring client activities using italc would be introduced.

Part of Google Summer of Code 2008Project Blog Project whiteboard

Get LTSP on openSUSE

See the KIWI-LTSP Portal for all the details.


Motivation

The old LTSP-manager front-end for LTSP4 from Ubuntu is our motivation for developing a similar and more effective front-end for managing the new LTSP5 configuration distribution independent and extensible to all. As there is a lack of such a tool especially on openSUSE, this project will fill that void by using openSUSE as first development plattform.

Completion of this project is very important to me as I am from a country which is in need of a cost-effective solution for educational purposes. I believe that this solution would be implemented (using LTSP5) on a large scale only when it is made simple, in other words, when the solution consists of a few mouse clicks.

Deliverables

  1. Take Ubuntu's LTSP-manager as a starting point of our development
  2. A fully functional Graphical Interface which helps in setting up a functional LTSP environment right from building required images
  3. LTSP GUI for configuration and management of LTSP and required services' configuration files
  4. Monitor and control Thin client activities
  5. Make LTSP-Manager GUI available via 1-click installation for openSUSE and packages for all the other distributions via openSUSE Build Service

Some screenshots

easy-ltsp-1.png

easy-ltsp.png

More screenshots

http://www.luckylemon.de/ltspgui/

Enhancement requests

This chapter is for enhancement requests (a wishlist) from the communtiy. Feel free to add your needs and wishes for the Easy-LTSP tool here. Please explain as much as you can and leave your openSUSE-Username or something so we can reach you if we've any questions. Please use devzilla bug trackerto post bugs and enhancement requests.

Ability to create Sub-Admins

Currently, only root is able to change the settings of lts.conf - which is the configuration file for all ThinClients. But in larger schools with more than one computer lab and more than one administrator, it would be great if each admin can configure his own room. So I suggest enhancing the GUI with the ability to share the configuration of the thin clients with other "sub-admins".

If the GUI stores the configuration for "classroom" <-> "sub-admin" in a xml file, this could look like the example below.


Store all data in XML

To be more portable, it would be great if the tool allows to store or export all needed configuration data in a xml file. This could look like this example:

...
<global>
<admin>bigboss</admin>
<netmask>255.255.255.0</netmask>
<bootimage type="pxe">default</boot-image>
</global>
...
<classroom name="PC-Room1">
 <admin>smallboss</admin>
 <description>This is our biggest computer room in the second floor</description>
 <client mac="00:50:56:C0:00:01">
  <name>PC-Room1-PC01</name>
  <remoteip>192.168.0.1</remoteip>
  <netmask>255.255.255.128</netmask>
  <bootimage type="etherboot">default</boot-image>
  <keyboard>en</keyboard>
 </client>
</classroom>
...

With this information, the GUI will allow the admin with UID bigboss to control the settings of every client. The admin with UID smallboss is jus allowed to edit the settings of the classroom with name PC-Room1 (if you like, it could perhaps be possible to define one admin for each PC).

All settings in the global section are default settings which can be overwritten by settings in the subsections. Have a look at the netmask or bootimage parameters. These parameters are defined in the global section - but overwritten for the PC-Room1-PC01. But even a classroom could have his own, special parameters.

So all possible lts.conf settings, the settings needed for dhcp (boot-type, mac- and ip-address), nfs and other ones are available and "browsable" in one file. This file can be submitted via network, so it could be possible to run the GUI on one client and transfer the data to the LTSP-Server afterwards.

...or setup a backup server.

...or use other tools to change something

...

DHCP Helper

When ltsp has to be installed in an environment where another DHCP server is already running, the DHCP server configured as part of the ltsp installation should have provision for acting as a DHCP helper program that does stuff other than IP address allocation. In fact, the 2X ThinClientServer has this facility and is very useful. They call it a DHCP helper. I am not sure such a generic program exists.

Yast2 Module

All the configuration tools in openSuSE should revolve around Yast. It shouldn't be too difficult to port the gtk wizard over to yast2 once the core features are completed.

Package Management

LTSP-KIWI allows users to drop packages into the build system which then get compiled into the image that gets pushed out to clients. If there was a gui for to mark packages to be added into the image, that would be awesome.