|
3 | 3 | # Copyright SUSE LLC |
4 | 4 | # SPDX-License-Identifier: FSFAP |
5 | 5 |
|
6 | | -# Summary: NFS server |
7 | | -# This module provisions the NFS server and then runs some basic sanity tests |
8 | | -# NFS server - provisioned on SUSE/openSUSE - provides specific exports: |
9 | | -# - NFS v3 with sync and async flags |
10 | | -# - NFS v4 with sync and async flags |
11 | | -# NFS client (tests/kernel/nfs_client.pm) creates a file using dd tool and then copies |
12 | | -# that file to all exports mounted on the client side. |
13 | | -# Data integrity of the file is checked with the md5 checksum |
14 | | -# |
15 | | -# Extension to the NFS tests uses dd tool for copying created file using various flags, |
16 | | -# specifically: |
17 | | -# - direct |
18 | | -# - dsync |
19 | | -# - sync |
20 | | -# An earlier created file is copied with each flag to each mounted export and then md5 checksum is |
21 | | -# used again to check data integridty for each file copied with dd tool with all each flag |
22 | | - |
| 6 | +# Summary: NFS server setup and export verification |
23 | 7 | # Maintainer: Kernel QE <[email protected]> |
24 | 8 |
|
25 | 9 | use Mojo::Base "opensusebasetest"; |
@@ -229,3 +213,76 @@ sub post_fail_hook { |
229 | 213 | } |
230 | 214 |
|
231 | 215 | 1; |
| 216 | + |
| 217 | +=head1 Description |
| 218 | +
|
| 219 | +This module provisions the server side of the kernel multimachine NFS tests. |
| 220 | +It installs and starts the local NFS services, creates the configured exports, |
| 221 | +and waits for the client to mount and populate them. |
| 222 | +
|
| 223 | +The server provides up to four exports, depending on kernel support: |
| 224 | +
|
| 225 | +=over 4 |
| 226 | +
|
| 227 | +=item * NFSv3 synchronous export |
| 228 | +
|
| 229 | +=item * NFSv3 asynchronous export |
| 230 | +
|
| 231 | +=item * NFSv4 synchronous export |
| 232 | +
|
| 233 | +=item * NFSv4 asynchronous export |
| 234 | +
|
| 235 | +=back |
| 236 | +
|
| 237 | +After the client copies the reference file and checksum data to the mounted |
| 238 | +exports, the server verifies the checksum of the original file as well as the |
| 239 | +files copied via C<dd> with C<direct>, C<dsync>, and C<sync> output flags. |
| 240 | +
|
| 241 | +In IPMI baremetal jobs the module resolves the client peer by comparing |
| 242 | +C<IBTEST_IP1>/C<IBTEST_IP2> with locally detected IPv4 addresses. In regular |
| 243 | +VM-based multimachine jobs it falls back to C<CLIENT_NODE> or the default |
| 244 | +C<client-node00> hostname. |
| 245 | +
|
| 246 | +=head1 Configuration |
| 247 | +
|
| 248 | +=head2 CLIENT_NODE |
| 249 | +
|
| 250 | +Optional. Hostname or address of the NFS client in non-IPMI multimachine jobs. |
| 251 | +Defaults to C<client-node00>. |
| 252 | +
|
| 253 | +=head2 IBTEST_IP1, IBTEST_IP2 |
| 254 | +
|
| 255 | +Required for IPMI baremetal jobs. Used to determine which of the two configured |
| 256 | +addresses belongs to the local host and which one is the remote peer. |
| 257 | +
|
| 258 | +=head2 NFS_MOUNT_NFS3 |
| 259 | +
|
| 260 | +Optional. Export path for the synchronous NFSv3 export. |
| 261 | +Defaults to C</nfs/shared_nfs3>. |
| 262 | +
|
| 263 | +=head2 NFS_MOUNT_NFS3_ASYNC |
| 264 | +
|
| 265 | +Optional. Export path for the asynchronous NFSv3 export. |
| 266 | +Defaults to C</nfs/shared_nfs3_async>. |
| 267 | +
|
| 268 | +=head2 NFS_MOUNT_NFS4 |
| 269 | +
|
| 270 | +Optional. Export path for the synchronous NFSv4 export. |
| 271 | +Defaults to C</nfs/shared_nfs4>. |
| 272 | +
|
| 273 | +=head2 NFS_MOUNT_NFS4_ASYNC |
| 274 | +
|
| 275 | +Optional. Export path for the asynchronous NFSv4 export. |
| 276 | +Defaults to C</nfs/shared_nfs4_async>. |
| 277 | +
|
| 278 | +=head2 NFS_PERMISSIONS |
| 279 | +
|
| 280 | +Optional. Export options used for synchronous exports. |
| 281 | +Defaults to C<rw,sync,no_root_squash>. |
| 282 | +
|
| 283 | +=head2 NFS_PERMISSIONS_ASYNC |
| 284 | +
|
| 285 | +Optional. Export options used for asynchronous exports. |
| 286 | +Defaults to C<rw,async,no_root_squash>. |
| 287 | +
|
| 288 | +=cut |
0 commit comments