Test Design of `goconserver` Regression Testing - xcat2/xcat-core GitHub Wiki
Introduction
A new console server facility, goconserver was introduced in xCAT for quite a time. This goconserver is intend to replace the existing console server, conserver used as a part of xCAT for decade. This test design is intend to provide a plan for the regression testing against goconserver in xCAT 2.14 release. Since xCAT version 2.14 will be an important release in the near future.
Test Strategy
Basic Function Verification
Scenario 1 - Installation
Test package installation on the following Linux distro, and architecture combinations.
- Fresh installation
- Upgrade
goconserverpackage from previous version, say 2.1.0. Verify if the existing configuration can be preserved.
| Linux Distro | Architecture |
|---|---|
| RHEL 7.5 | x86-64 |
| RHEL 7.5 | ppc64le |
| RHEL 7.5 ALT | ppc64le |
| Ubuntu 16.04 | x86-64 |
| Ubuntu 16.04 | ppc64le |
Scenario 2 - Normal Console Functionality
Test if the console can work normally with the console of the following machine type, console, and architecture combinations.
| Machine Type | Console Type | Architecture |
|---|---|---|
| IBM OpenPOWER | OpenBMC | ppc64le |
| IBM OpenPOWER | IPMI | ppc64le |
| IBM OpenPOWER | KVM | ppc64le |
| IBM System x | IPMI | x86-64 |
| IBM PowerVM LPAR | HMC | ppc64 |
Scenario 3 - Recovery
Verify the console can continue work in the following conditions.
- Restart a compute node
- Restart the OpenBMC on a OpenPOWER machine with OpenBMC
- Restart the BMC on a OpenPOWER machine with IPMI
- Disconnect the network between the console server and the OpenBMC/BMC
Scenario 4 - Log Redirection
- Redirect console log of compute nodes to remote
rsyslogd, which is listen on UDP 514 port. - Redirect console log of compute nodes to remote
rsyslogd, which is listen on TCP 514 port.
Scenario 5 - Hierarchy Support
- Use
goconserverwith xCAT service node involved.
Scenario 99 - Documentation
- Verify the man page.
- Verify the documentations on Read the Docs.
In scenario 2 through 99, goconserver will be tested and run on a RHEL 7.5 ppc64le environment.
Bug Verification
Verify if the following bugs were fixed in the Release Candidate build.
- Need RETRY in
congosession, if something went wrong and disconnected the ssh session - Escape sequence is sent to the remote side, which should be avoid
- Send SIGSTOP and then SIGCONT to
congocause it crash - After /var file system filled up,
congo consolestop working - Consider log rotate
- When console is not created, the error message doesn't help user
- Output plugins
- File output timestamps are output before their content
- TCP output contains carriage returns at the end of message
- LineLogger NewLineBuf timestamp format
- RPM upgrade overwrites server.conf