Schoolserver Testing

From OLPC
Revision as of 18:41, 20 December 2007 by Wad (talk | contribs)
Jump to navigation Jump to search

These are the tests performed to validate proper operation of the XS School server software.

Quick Sanity Check

These tests quickly verify that a number of systems are functioning.

Internet Connection

This quickly checks the basic mesh connectivity, domain name system, and mesh to internet IP routing.

These actions should be repeated on all mesh channels.

Setup:

  1. Setup a school server with three Active Antennas.

Actions:

  1. Using an XO laptop, associate with one mesh channel. The mesh channel used by a laptop can be selected by clicking on a mesh channel in the neighborhood view.
  2. Hover over the filled in circle in the Home View. You should see "Connected to a School Mesh Portal".
  3. Launch the Web Browser Activity
  4. Navigate to http://www.laptop.org/

Verify:

  1. Verify that the page loads.

Library Quick Check

Connectivity

The School server provides basic network connectivity to laptops connected to a school mesh.

Basic Mesh Connectivity

This test verifies that laptops on a school mesh are provided with basic connectivity to the schoolserver, over the wireless mesh network. Already partially performed as part of the quick sanity check.

These actions should be repeated on each of the three mesh channels.

Setup:

  1. Setup a school server with three Active Antennas.

Actions:

  1. Using an XO laptop, associate with one mesh channel. The mesh channel used by a laptop can be selected by clicking on a mesh channel in the neighborhood view.

Verify:

  1. Switch to a text terminal
  2. Verify that an IP address has been assigned by typing ifconfig eth0. The address assigned should be in the range 172.18.16.0 to 172.18.63.255.
  3. Verify that the laptop can communicate with the school server using ping:
ping 172.18.0.1

Domain Name System

This test verifies that laptops on a school mesh can properly resolve DNS names. Already performed as part of the quick sanity check.

Setup:

  1. Setup a school server with one to three active antennas. The school server should be connected to the Internet through its WAN connection.

Actions:

  1. Associate a laptop with a mesh channel.

Verify:

  1. Switch to a text terminal
  2. Verify that DNS has been configured properly by checking /etc/resolv.conf to see that a DNS server has been assigned. It should look like (the actual domain listed after search may be different):
; generated by /sbin/dhclient-script
search random.xs.laptop.org
nameserver 172.16.0.1
  1. Check that DNS on the schoolserver is operating properly using ping (additional service names defined in School Service Names should also be tested):
ping schoolserver
ping school
ping www
ping time
ping presence
  1. Finally, check that DNS properly resolves non-local names:
ping wiki.laptop.org

IP Routing

Mesh to Internet

This test verifies that laptops on a school mesh can properly route packets to/from the internet. Already performed as part of the quick sanity check.

Setup:

  1. Setup a school server with one to three active antennas. The school server should be connected to the Internet through its WAN connection.

Actions:

  1. Associate a laptop with a mesh channel.
  2. Launch a web browser. Navigate to wiki.laptop.org.

Verify:

  1. Make sure that the wiki is displayed.

Mesh to Mesh

This test verifies that laptops can communicate with other laptops on the school mesh.

Setup:

  1. Setup a school server with two or three active antennas.
  2. Associate one XO laptop with one mesh channel. Associate another XO laptop with a different mesh channel. The mesh channel used by a laptop can be selected by clicking on a mesh channel in the neighborhood view.

Actions:

  1. Determine the IP addresses of the two laptops by opening a Terminal and using ifconfig eth0. For the following instructions, assume the IP addresses are AA.AA.AA.AA and BB.BB.BB.BB.
  2. From the laptop with IP address AA.AA.AA.AA, use ping BB.BB.BB.BB to test connectivity.
  3. From the laptop with IP address BB.BB.BB.BB, use ping AA.AA.AA.AA to test connectivity.

Verify:

  1. Both pings should succeed, with no more than one or two packets lost.

Large File Transfer

This test verifies that large file transfers are working properly.

Setup:

  1. Setup a school server with one or more active antennas. The school server should be connected to the Internet through its WAN connection.

Actions:

  1. Associate a laptop with the school mesh.
  2. Fetch a large file from a remote server, using wget:
wget -N http://xs-dev.laptop.org/xs/OLPC_XS_LATEST.iso

Verify:

  1. The transfer should succeed.

Surprisingly, this test failed with most early versions of the WLAN firmware and driver!

Web Caching

This test verifies that the transparent HTTP proxy and cache is working properly.

Setup:

  1. Setup a school server with one or more active antennas. The school server should be connected to the Internet through its WAN connection.

Actions:

  1. Associate two laptops with the school mesh.
  2. Fetch a large file from a remote server, using wget:
wget -N http://xs-dev.laptop.org/wad/test1MB_1.bin
  1. Fetch the same file again using the same laptop.
  2. Fetch the same file using the second laptop.

Verify:

  1. The time required to fetch the file should be drastically reduced the second time it was fetched on the same laptop.
  2. The time required to fetch the file on the second laptop should be comparable to the second time it was fetched on the first laptop.

This is a rather simplistic test of the HTTP caching function, and should be updated.

Services

Laptop Upgrade

From Sugar

From Open Firmware

Laptop Activation

Laptop Registration

Laptop Backup and Restore

Library

Collaboration

Schoolserver Software

These test relate to the installation, upgrade, and backup of the schoolserver itself, not the laptops connected to a school wireless mesh.

Schoolserver Installation

This test verifies that a school server software release installs properly. As the hardware platforms supported by the school server software vary, this test is really intended for an already certified platform (right now we define "certified" as a platform on which Fedora 7 installs...)

Setup:

  1. Prepare a USB key or CD installer using these instructions.

Be aware that this test completely overwrites the disk on the machine used for testing !!

Actions:

  1. Install the school server software, using these instructions
  2. Reboot the server

Verify:

  1. No errors which halt the installation process should occur.
  2. If the school server has one or more Active Antenna, after installation it should pass the tests defined in the previous sections.

Please note that to properly test the server software, multiple platform configuration should be tested. For example, servers which contain one and two wired network interface (with and without a wired LAN interface) should be tested.

Schoolserver Upgrade

This test verifies that a school server properly upgrades itself.

Setup:

  1. Setup a school server using an earlier release of the school server software (such as build 128). This school server must have an Internet connection.

Actions:

  1. Log into the school server as root
  2. Type:
yum upgrade

Verify:

  1. No errors which halt the upgrade process should occur.
  2. If the school server has one or more Active Antenna, after upgrade it should pass the tests defined in the previous sections.

Schoolserver Backup and Restore

This is not supported by current build of the school server software