#12156 NORM Not Tri: Formally support XSs not called "schoolserver"

Zarro Boogs per Child bugtracker at laptop.org
Tue Oct 9 01:04:09 EDT 2012

#12156: Formally support XSs not called "schoolserver"
 Reporter:  greenfeld    |                 Owner:  pbrobinson   
     Type:  enhancement  |                Status:  new          
 Priority:  normal       |             Milestone:  Not Triaged  
Component:  distro       |               Version:  not specified
 Keywords:               |           Next_action:  diagnose     
 Verified:  0            |   Deployment_affected:               
Blockedby:               |              Blocking:               
 Some deployments are using networks which the XS does not fully control,
 or one XS to support multiple schools.

 We should formally support this if possible.

 There seems to be only a few places which have the name 'schoolserver'
 hard-coded on a XO:
  * olpc-netstatus (used for a ping request and to show the "School" line)
  * ds-backup.sh (used if several other ways to find the backup server name
 do not work)
  * olpc-update-query (used if /etc/oats-ignore-xs not set)
  * olpc-library (for the homepage)
  * Sugar's schoolserver.py (used if jabber_server gconf variable not set)

 The last three cases can be easily overridden via olpc-os-builder. The
 second is a non-issue as long as Sugar registers to the XS and sets
 /home/olpc/.sugar/default/identifiers/backup_url to the proper value (as
 it seems to do).

 So if on the XO we:
  1. Touch /etc/oats-ignore-xs as a file ([oats_cfg] ignore_xs=1)
  2. Put the new server name in /etc/oats-server ([oats_cfg]
  3. Set the gconf jabber server name to the XS's new name (not in olpc-os-
 builder yet, but has to be done after sugar/kspost.50.gconf.inc )
  4. Modify the Library home page to point to the alternative DNS name
 (generically available in OOB via [library_homepage]).

 Then pretty much everything seems to work that I tested (although not
 using olpc-os-builder to create the image):
  * olpc-update-query -v shows the new name being used
  * ds-backup.sh will use the new name to do backups
  * Sugar will register to the new XS name and seems to collaborate fine
 (with 12.1.0; 13.1.0 collaboration is currently broken)
  * http://new.dns.example.org/ will work to access Moodle, since Browse
 sets the XS cookie to be specific to the Jabber server's DNS name.

 I started patching everything to use a '/etc/xs-dns-name' file to make
 this easier with the stock OS image; but given most deployments which want
 custom XS DNS names tend to make their own OS images, I did not know how
 far we wanted to go with that.  The Sugar team may also prefer if we just
 used the gconf variable instead.

 Tested with a XS with the 'schoolserver'-style hostname modified in the
 following locations followed by a reboot (which may not be the deployment-
 recommended way of doing this):
  * /etc/sysconfig/network (HOSTNAME=...)
  * /etc/sysconfig/network-scripts/ifcfg-eth1 (DHCP_HOSTNAME=...)
  * /etc/idmgr.conf (BACKUP=... PRESENCE=...)
  * /etc/hosts ( new.dns.example.org)
  * /var/named-xs/*db (multiple files; bulk search/replace)
  * /var/www/moodle/web/config.php ($CFG->wwwroot, commenting out the lines
 to set this variable given the xs_domain_name).

Ticket URL: <http://dev.laptop.org/ticket/12156>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system

More information about the Bugs mailing list