90 lines
3.2 KiB
Markdown
90 lines
3.2 KiB
Markdown
|
|
# LTP Network Tests
|
|||
|
|
|
|||
|
|
## Single Host Configuration
|
|||
|
|
|
|||
|
|
It's the default configuration (if the `RHOST` environment variable is not
|
|||
|
|
defined). LTP adds `ltp_ns` network namespace and auto-configure `veth` pair
|
|||
|
|
according to LTP network environment variables.
|
|||
|
|
|
|||
|
|
## Two Host Configuration
|
|||
|
|
|
|||
|
|
This setup requires the `RHOST` environment variable to be set properly and
|
|||
|
|
configured SSH access to a remote host.
|
|||
|
|
|
|||
|
|
The `RHOST` variable must be set to the hostname of the server (test management
|
|||
|
|
link) and public key setup or login without password is required.
|
|||
|
|
|
|||
|
|
SSH server needs to be configured to allow root login and use Public Key
|
|||
|
|
Authentication (`PermitRootLogin yes` and `PubkeyAuthentication yes` in
|
|||
|
|
`/etc/ssh/sshd_config`).
|
|||
|
|
|
|||
|
|
Some of the network stress tests which hasn't been ported to network API were
|
|||
|
|
designed to be tested with `rsh` via `LTP_RSH` environment variable. Now it's
|
|||
|
|
by default used `ssh`, for details see `testcases/network/stress/README`.
|
|||
|
|
|
|||
|
|
## Server Services Configuration
|
|||
|
|
Tests have various external dependencies, exit with `TCONF` when not installed.
|
|||
|
|
Some tests require additional setup.
|
|||
|
|
|
|||
|
|
### FTP and telnet setup
|
|||
|
|
FTP stress tests and telnet server tests require environment variables `RHOST`
|
|||
|
|
(remote machine), `RUSER` (remote user) and `PASSWD` (remote password). NOTE:
|
|||
|
|
`RHOST` will imply two host configuration for other tests.
|
|||
|
|
|
|||
|
|
If `RUSER` is set to `root`, either of these steps is required:
|
|||
|
|
|
|||
|
|
* In `/etc/ftpusers` (or `/etc/vsftpd.ftpusers`), comment the line containing
|
|||
|
|
"root" string. This file lists all those users who are not given access to do ftp
|
|||
|
|
on the current system.
|
|||
|
|
|
|||
|
|
* If you don’t want to do the previous step, put following entry into `/root/.netrc`:
|
|||
|
|
```
|
|||
|
|
machine <remote_server_name>
|
|||
|
|
login root
|
|||
|
|
password <remote_root_password>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### HTTP setup
|
|||
|
|
HTTP stress tests require configured and running web server (Apache2, Nginx, etc.).
|
|||
|
|
|
|||
|
|
### NFS setup
|
|||
|
|
NFS tests require running NFS server, enable and start `nfs-server.service`
|
|||
|
|
(Debian/Ubuntu and openSUSE/SLES: `nfs-kernel-server` package, others:
|
|||
|
|
`nfs-server` package).
|
|||
|
|
|
|||
|
|
There is no detection whether service is running, test will simply fail without
|
|||
|
|
warning.
|
|||
|
|
|
|||
|
|
### TI-RPC / Sun RPC setup
|
|||
|
|
TI-RPC (or glibc legacy Sun RPC) tests require running rpcbind (or portmap on
|
|||
|
|
old distributions), enable and start `rpcbind.service`.
|
|||
|
|
|
|||
|
|
## LTP setup
|
|||
|
|
Install LTP testsuite (see INSTALL). In case of two hosts configuration, LTP
|
|||
|
|
needs to be installed the same exact location and `LTPROOT` and `PATH`
|
|||
|
|
environment variables set on *both* client and server machines. This is
|
|||
|
|
required because some tests expect to find server files in certain locations.
|
|||
|
|
|
|||
|
|
Example for the default prefix `/opt/ltp`:
|
|||
|
|
|
|||
|
|
```sh
|
|||
|
|
export LTPROOT="/opt/ltp"; export PATH="$LTPROOT/testcases/bin:$PATH"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Running the tests
|
|||
|
|
The network tests are executed by running the network.sh script:
|
|||
|
|
|
|||
|
|
```sh
|
|||
|
|
TEST_VARS ./network.sh OPTIONS
|
|||
|
|
```
|
|||
|
|
Where
|
|||
|
|
* `TEST_VARS` - non-default network parameters
|
|||
|
|
* `OPTIONS` - test group(s), use `-h` to see available ones.
|
|||
|
|
|
|||
|
|
Default values for all LTP network parameters are set in `testcases/lib/tst_net.sh`.
|
|||
|
|
Network stress parameters are documented in `testcases/network/stress/README`.
|
|||
|
|
|
|||
|
|
## Debugging
|
|||
|
|
Both single and two host configurations support debugging via
|
|||
|
|
`TST_NET_RHOST_RUN_DEBUG=1` environment variable.
|