C H A P T E R  1

SunVTS 7.0 Software Overview

This chapter provides an overview of the SunVTS 7.0 software. Topics include:


SunVTS Introduction

Sun Validation Test Suite (SunVTS) is a Sun hardware validation test based on the Solaris operating system. The suite’s multiple hardware diagnostic tests verify the functionality of most hardware controllers and devices for SPARC and x86 architecture based systems. SunVTS also provides an infrastructure for developers to develop their own tests and integrate into SunVTS.

SunVTS supports execution on a full range of Sun systems, starting from small desktops to high-end servers. The tests and the infrastructure of the tool scales with the type and size of the system configuration. SunVTS automatically detects the type and configuration of the system it is running on and tailors test execution accordingly. The tool can be used for system or component validation during development, production, receiving inspection, troubleshooting, periodic maintenance, and general system exercising.


Terminology


Functional Architecture

SunVTS 7.0 software follows a conventional 3-tier architecture model. It consists of three distinct layers, client, server and agent. FIGURE 1-1 shows the main functional blocks of the tool and how they interact with each other.

FIGURE 1-1 SunVTS 7.0 Architecture


Figure showing the SunVTS 7.0 architecture.

You run the components in the agent layer on the system under test. The TTY and CLI user interfaces also have to be local on the machine under test. The middle server and BUI can reside on the same machine under test or any other machine on the same subnet. For using the TTY or CLI, you first need to log onto the system under test and then use the interface.


Testing With SunVTS 7.0 Software

The SunVTS 7.0 software is an application level tool that is used for hardware testing and validation during development, production, receiving inspection, troubleshooting, periodic maintenance, and general system exercising. Testing capabilities are provided for all the major hardware in the system. You can use any of the four user interfaces (see User Interfaces).

Test coverage is provided for most of the key components in the system. The SunVTS software provides a simple and user-friendly set of tests and test options, which can be catered towards different testing needs. The tests that you can use to test your system include the following (see Chapter 7, SunVTS 7.0 Tests for test descriptions).

Test Modes

The SunVTS tests can be tailored for different testing needs through a set of modes and test options. These modes and test options determine how the tests are run on the system. You have the option of running the tests in three different modes:

Each of the modes support two levels of testing, low and high. These two levels of testing determine the degree of intensity of the test in terms of the resource usage and level of stress.

The amount of memory in a system is an important factor in setting the low or high test levels. If the system has a small memory configuration, the default stress level is set to low in each of the modes. A larger memory configuration results in a default stress level that is set to high.

SunVTS considers a system to be a small memory configuration if it has less than or equal to 2 GB of memory for an x86 system and less than or equal to 4 GB of memory for a SPARC system. If the unit under test has less than 2 GB of memory for x86 systems, and less than 4 GB of memory for SPARC systems, you should select the low level.



Note - If you select high on any smaller memory configurations, the tests may exit or run ineffectively due to resource constraints.


Online Mode

Use this mode for testing if you want to run other applications in addition to SunVTS simultaneously on the system. The goal of this mode is to validate hardware without having significant impact on the running of any other applications running on the system. In this mode the tests would not stress on the system and to provide coverage they might have to run for longer periods of time. If there are any latent faults in the system hardware, the tests in this level will try to stimulate those faults before the application is impacted by the fault. When the test stimulate the fault, the OS detects the fault and takes appropriate action.

The following are test characteristics in this mode:

System Exerciser

This mode provides system exercising capability. It will test the system with all its components. All tests are run in parallel. In this mode no other application (other than SunVTS) should be running on the system. The following are characteristics of the tests in this mode:

Component Stress

This mode performs targeted testing of system components and modules. In this mode the test puts the maximum stress on the component or module under test. The tests are not run simultaneously with other tests: all tests are run sequentially. No other user application should be running on the system. The following are characteristics of the tests in this mode:

Test Options

In addition to the test modes, SunVTS 7.0 provides intuitive options for running the tests. They can be generic options, that are applicable to all tests, as well as test-specific options that only apply to a particular test.

For example, a generic option is to run the tests as time-based or pass-based, which can be applied to all tests. Another example of a test-specific option would be the Target option in the Network test, where you can specify the IP address of the target system in the network.

There are also global-level options that apply to a testing session. For example, you can specify a time limit for a testing session.


User Interfaces

SunVTS 7.0 software provides four different user interfaces. These user interfaces cater to different usage needs of the tool. Testing session controls are available through all interfaces. The harness, which handles the commands that are coming from the user interfaces, does not distinguish between which interface is sending the command. Below are the different user interfaces and their usages.

Graphical User Interface

The SunVTS graphical user interface (GUI) is a Java-based standalone user interface. The Java GUI needs to be started on the same machine under test that has the SunVTS kernel is running. The GUI does not allow remote connection. See Using the Graphical User Interface.

Browser User Interface

SunVTS browser user interface (BUI) is Java-based and is a part of the Sun Java Web Console. The Java Web Console provides a common point for Sun web-based system management applications to be registered and accessed. The SunVTS BUI can manage multiple testing sessions running on multiple domains. The other two interfaces (CLI and TTY) do not have this capability. The BUI may not be supported in future releases of SunVTS. See Chapter 3, Using the SunVTS Browser User Interface.

Terminal User Interface

The terminal user interface is an ASCII-based screen oriented interface that does not need a graphical window environment. You can use this interface to run SunVTS from a serial terminal or a graphical window tool like shell tool or terminal window See Chapter 5, Using the SunVTS TTY User Interface.

Command-Line Interface

The command-line interface (CLI) is the most lightweight user interface. Its main advantage is that it can be used in scripts for tool automation. The CLI is provided through the interface called vts_cmd. It is a UNIX shell application that enables you to send a single command to the SunVTS kernel (vtsk), and receive a reply back. See Chapter 6, Using the SunVTS Command-Line Interface.


Harness and Middle Server Functions

Harness

The harness (vtsk) acts as the control tower for a testing session. The harness is the entity that controls and manages the complete working of a testing session. This includes functions like starting and stopping tests, message logging, handling commands coming from the user interfaces, scheduling and regular status updates. Like the test, the vtsk process needs to be run on the machine under test.

The Middle Server

The SunVTS middle server (vtsms) only comes into use when you use the BUI. The middle server acts as a single point of contact for any Web user interface to communicate with the harness. The middle server provides a uniform API that enables the SunVTS BUI, or any other application, to interact with it. The vtsms takes commands from the BUI, translates them, and sends them to the harness and receives replies. The middle server allows multiple user interfaces to be connected to it. The middle server sends commands to the harness one at a time, and sends a command only after the previous command has completed.