Dsh

From OLPC
Revision as of 16:51, 7 November 2008 by Mchua (talk | contribs) (New page: {{Community testing}} {{Experimental}} == Introduction == ''(from the [http://www.netfort.gr.jp/~dancer/software/dsh.html.en dsh homepage]): dsh is an implementation of a wrapper for exe...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  This page is part of the OLPC Community testing Project. How to test an Activity | Reporting test results | Meetings
XO Checkbox


Stop hand.png WARNING:
These instructions are unofficial. OLPC does not support them.
THESE INSTRUCTIONS ARE EXPERIMENTAL.
FOLLOWING THEM MAY DAMAGE YOUR MACHINE.

By following them, you take responsibility for this risk.
Stop hand.png

Introduction

(from the dsh homepage): dsh is an implementation of a wrapper for executing multiple remote shell (rsh/remsh/ssh) commands. rsh/remsh/ssh are wrappers for executing shell (ksh/bash/zsh/tcsh/sh .. etc... ) on remote hosts.

The community testing group is experimenting with using dsh to:

  • manage large testbeds with many XOs together in 1 room (100 XOs in an office or a school, etc.)
  • create impromptu distributed large testbeds from multiple small XO pools
  • use an XS to monitor the XOs connected to it

How to use for XO testing

Note: The instructions below will use the term supervisor to refer to the computer you are running the commands from (and on which dsh is installed), and the term XO to refer generically to any XOs in the testbed you are remotely managing. Unless otherwise stated, all instructions are intended to be executed by/on the supervisor machine. You must have terminal access to the supervisor machine. These instructions have only been tested with Linux (Debian/Ubuntu).

  1. Follow the instructions on the dsh homepage to install dsh.
  2. Generate an SSH keypair. Instructions on how to do this can be found here (Linux, concise), here (Linux, detailed), and here (Windows). You should end up with these two files in the .ssh folder in your home directory: id_rsa and id_rsa.pub.
  3. For each XO in your testbed (follow these instructions on your XOs):
    1. Connect to the network.
    2. Copy the id_rsa.pub file you just generated into a new line on your supervisor machine into the /home/olpc/.ssh/authorized_keys file of each XO (use a thumbdrive, or upload to the web and use wget). (The /home/olpc/.ssh/authorized_keys file will not exist on most XOs; you may have to create it.)
    3. Run the ifconfig command (or use the Analyze Activity) to get the IP address of your XO.
    4. Add this IP address to a new line in the /etc/dsh/machines.list file on your supervisor machine, with the text olpc@ before it (you may need root on the supervisor machine to edit this file).
  4. You should now have an /etc/dsh/machines.list file on your supervisor machine that looks something like this:

olpc@18.85.49.113
olpc@18.85.49.114
olpc@18.85.49.115

Help wanted

  • It would be great if someone could test/develop/write instructions on how to use dsh with supervisor machines running Mac OS X and/or Windows.