Server Appliance Console

Rationale: Before the RNA can be used, the system administrator needs to set up the network. A prototype for the '99 Comdex convention was designed to work over an LCD panel. This system was given a bad review in a major publication. And should be updated.

Introduction

The following specification outlines the top-level design of Phase 2 of the Server Appliance Console. The first phase was engineered work with both the standard Linux console (with monitor and keyboard) and through the serial port to an LCD panel. As such, the console part (used much more frequently) was severely limited. (See the original Installation Instructions and note the menu given to the user.)

Updating the "Console" application should be straight-forward and simple by taking advantage of programs that already exist on a standard Linux distribution.

Requirements

Phase 2 has the following engineering requirements. These are based on customer and marketing feedback as well as engineering wish-lists.

Design Features

The following are the various design features of the console application.

Initial Console Screen

The initial console will look differently based on whether the user has done an initial setup. This can be figured out based on whether the hostname has been set to something other than localhost.localdomain.

When the user sees the console on a system that has not been configured, it will look like the following screen-shot. Note: This is the view before the user logs in.


			   IMMUNIX SYSTEM 7
		   Build Release: 1.0 (11 Nov 2000)

  Your system has not be configured correctly. In order to configure  
  your server appliance, log in by entering root (at the Username
  prompt) and the root password below.

  Once you have configured your network settings you will be able to  
  finish configuring your system by using a web browser and the RNA
  (Remote Network Administrator).

  Username:
  Password:

Once the system has been configured, looking at the console will display the following screen-shot containing information that should help the user to the next level...


			   IMMUNIX SYSTEM 7
		   Build Release: 1.0 (11 Nov 2000)
		        Hostname: blinky.int.wirex.com
		      IP Address: 10.0.0.240

  * To modify system settings, log in using the root account
    (using the prompts below).

  * To remotely configure the system, use this URL into a web browser:  
	http://10.0.0.240:6080

  * To see system log messages (/var/log/messages), press Alt-F2

  * To see currently running system processes (top), press Alt-F3

  Username:
  Password:

Console Application

When the user logs in, they will see the following menu of choices. These menu entries will run some command and return back to this menu. We will want this to be the default login for the "root" account on the console.


  +---- Appliance Console Commands ----+
  |                                    |
  |    Select one of the following     |  
  |    commands in order to setup      |  
  |    the server appliance system.    |  
  |                                    |  
  |     D  Installation Documentation  |  
  |     I  Settings and Statistics     |  
  |     N  Alter Network Settings      |  
  |     P  Change Root Password        |  
  |     H  Halt (Shutdown) System      |  
  |     R  Restart System              |  
  |     S  Linux Shell                 |  
  |     L  Logout                      |  
  |                                    |
  |------------------------------------|
  |          <OK>   <Cancel>           |
  +------------------------------------+

Each menu selection will run one of the following commands:

Installation Documentation
Run the lynx (or links) to display the WireX System Installation Instructions
Settings and Statistics
This would run our SystemStats program (see below).
Alter Network Settings
Will run RedHat's netconfig program.
Change Root Password
Will simply run the passwd command.
Halt (Shutdown) System
Will call the shutdown command. It might be nice (but no need to) call dialog --inputbox in order get a broadcast message.
Restart System
Will call the restart command.
Linux Shell
Will call a "bash" or other shell. Exiting the shell should return back to this program.
Logout
Will simple exit the program.

SystemStats Program

The SystemStats program will display the following menu and allow the user to get information and current statistics about the system.


  +---- System Info and Statistics ----+
  |                                    |
  |    Select one of the following     |  
  |    items to get information on     |  
  |    the server appliance system.    |  
  |                                    |  
  |     L  System Log File             |  
  |     P  Process Listing             |  
  |     N  Network Statistics          |  
  |     D  Module Driver Listing       |  
  |     L  Logout                      |  
  |                                    |
  |------------------------------------|
  |          <OK>   <Cancel>           |
  +------------------------------------+

Each menu selection will run one of the following commands:

System Log File
Run the tail -f /var/log/messages We should probably mention to hit Control-C to get out and return to the menu.
Process Listing
Run the top command.
Network Statistics
Run the netstat -r command (and maybe ifconfig without the lo interface). Should this be expanded into a menu of various networking statistics programs? traceroute or ping with parameters?
Module Driver Listing
Run the lsmod command (piped to more).

The user can simply select the Cancel button to return back to the original menu.

Issues

This section describes the issues and concerns in developing this project.

netconf or netconfig

RedHat developed a program to help setup the network settings during installation time, called netconfig. It is simple and straight-forward and is somewhat wizard-based. It's problem is it doesn't work with multiple NIC interfaces.

The Linuxconf group came up with a netconf program. This program, while it handles multiple NIC interfaces, is very difficult and confusing to use for a user who does not have 2 NICs.

We can make a configurable switch made at installation time (determined by the OEM/VAR) as to which to use. Or we could probe for multiple NICs and run the appropriate program. The final option would be to write our own using a text-based menuing program (called dialog).

LCD Panel Support

Some systems will not have consoles (heads) but will send all console data out one of the serial ports. This interface can be accessed using a modem program on another workstation or laptop.

However, there will be some vendors that may want to use our LCD panel prototype which also goes out the serial port.

We should modify the LCD panel program to only work out a serial port (not both the serial port and the console), and then we can choose whether this program should work or not.

Note: If the LCD program is not running on a system, the console applications should work on both the console as well as the first serial port. This will maximize our ability to use this interface.