Add LTP fsstress test for NFS mounted filesystem#3097
Add LTP fsstress test for NFS mounted filesystem#3097vaishnavibhat wants to merge 1 commit intoavocado-framework-tests:masterfrom
Conversation
|
@vaishnavibhat you forgot to add Asisted by AI tools |
629c6ff to
fb33fa5
Compare
|
@vaishnavibhat please add the runs logs and re-send with all checks passed |
| # p_val: "25" | ||
|
|
||
| # Made with AI Support | ||
|
|
There was a problem hiding this comment.
@vaishnavibhat I think all commenting lines should go in Readme.txt.
other wise it will be clumsy here
There was a problem hiding this comment.
@vaishnavibhat why new test, why can't we use the existing one and just add extra n/w mount point there.
There was a problem hiding this comment.
- Different Test Purposes and Infrastructure Requirements
Apart from having a different yaml file with network IP related parameters, the setUp() will be different for fsstress for network and for disk. - Validate NFS deployments - This is a new implementation that is taken care before running fsstress.
- Command for executions :
For fsstress over network , there is a slight change in the command as
timeout {fsstress_timeout} ./fsstress -d {nfs_mount_point} -p {p_val} -n {n_val} -l {fsstress_count} - Dependencies and services that needs to be managed for fsstress over network v/s disk are different. example: nfs-utils, firewalld, exportfs etc..
- teardown() will be different for network and disk considering the above.
Though the test (fsstress) is same for disk and network (nfs), the approach to setup test, configuring the environment and teardown is very different. Hence having separate .py files would be a better approach.
28df2fc to
e0d795f
Compare
|
avocado run ltp_fsstress_nfs.py -m ltp_fsstress_nfs.yaml |
| if self.err_mesg: | ||
| self.log.warning(f"Test completed with errors: {self.err_mesg}") | ||
|
|
||
| # Made with AI Support |
There was a problem hiding this comment.
@abdhaleegit I have added here, though not explicitly in the commit message.
| # p_val: "25" | ||
|
|
||
| # Made with AI Support | ||
|
|
There was a problem hiding this comment.
- Different Test Purposes and Infrastructure Requirements
Apart from having a different yaml file with network IP related parameters, the setUp() will be different for fsstress for network and for disk. - Validate NFS deployments - This is a new implementation that is taken care before running fsstress.
- Command for executions :
For fsstress over network , there is a slight change in the command as
timeout {fsstress_timeout} ./fsstress -d {nfs_mount_point} -p {p_val} -n {n_val} -l {fsstress_count} - Dependencies and services that needs to be managed for fsstress over network v/s disk are different. example: nfs-utils, firewalld, exportfs etc..
- teardown() will be different for network and disk considering the above.
Though the test (fsstress) is same for disk and network (nfs), the approach to setup test, configuring the environment and teardown is very different. Hence having separate .py files would be a better approach.
Add new test to validate filesystem operations over NFS using LTP fsstress. This test extends the existing io/disk/ltp_fsstress.py to support network filesystem testing. Test workflow: - Configures host and peer network interfaces with private IPs - Establishes SSH connection to peer via public/management IP - Sets up NFS server on peer (exportfs, rpcbind, firewalld) - Mounts NFS share on host from peer's private IP - Downloads and builds LTP from source - Runs fsstress with configurable parameters on NFS mount - Monitors dmesg and console logs for errors - Performs complete cleanup including session termination Made with AI Support Signed-off-by: Vaishnavi Bhat <vaishnavi@linux.vnet.ibm.com>
e0d795f to
0188adf
Compare
| @@ -0,0 +1,18 @@ | |||
| host_interface: "eth0" | |||
There was a problem hiding this comment.
@vaishnavibhat Please remove this hard coded value
| This test uses the following Avocado tags: | ||
| - `net`: Network-related test | ||
| - `fs`: Filesystem-related test | ||
| - `privileged`: Requires root/sudo access |
There was a problem hiding this comment.
@vaishnavibhat please squeeze this to shorter and keep only required info and this big file not required.
it should be little more crispy.
| "systemctl start nfs-server", | ||
| "systemctl enable nfs-server", | ||
| "systemctl start rpcbind", | ||
| "systemctl enable rpcbind" |
There was a problem hiding this comment.
@vaishnavibhat I think first enable and then start, please re-check on it
and do these all 4 services needed for all the setups
| firewall_cmds = [ | ||
| "systemctl stop firewalld", | ||
| "systemctl disable firewalld" | ||
| ] |
There was a problem hiding this comment.
I think this should be available in the util, please check
| result = process.system_output(verify_cmd, shell=True, | ||
| ignore_status=True) | ||
| self.log.info(f"NFS mount verification:\n" | ||
| f"{result.decode('utf-8')}") |
There was a problem hiding this comment.
I feel we have missed to validate the mount point here, please re-check, code just grep it and leaves
Add new test to validate filesystem operations over NFS using LTP fsstress. This test extends the existing io/disk/ltp_fsstress.py to support network filesystem testing.
Test workflow: