[LTP] [PATCH] nfs: Adapt the lib to allow to test in 2-host mode
Cyril Hrubis
chrubis@suse.cz
Tue Feb 24 13:20:03 CET 2026
Hi!
> > > > And with that we would need some kind of "master file" that would
> > > > explain which script should be executed on which host etc. But I guess
> > > > that it would be tricky to desing this properly.
>
> > > I'm not sure if separated file is worth of adding. There is tst_rhost_run()
> > > function which should be used for checking, which works well on both netns and 2
> > > host based setup (that's why v2).
>
> > This is just me thinking if we can actually desing something more proper
> > in the future now that runltp is gone. I think that the whole
> > tst_rhost_run() infrastructure is a bit of a hack and that the
> > multimachine test can be desingned differently. I would say that more
> > proper solution would be to have the test split into one script per
> > worker and having some master script/description to drive the testing.
> > The testrunner would read the information about which script to run on
> > which worker and would also have to handle synchronization.
>
> FYI tst_rhost_run() is used for testing itself as well, more than for setup and
> cleanup:
>
> $ git grep -l tst_rhost_run |wc -l
> 35
>
> Therefore we can rethink network test setup, but tst_rhost_run() will be needed
> anyway.
What I'm thinking about is to replace the tst_rhost_run() with a
synchronization between multiple tests scripts. With that a script can
wait for some kind of event instead of running the code itself.
It would be far more flexible approach than what we have now. With that
we could easily scale to tests with three or more machines that are
impossible to implement at the moment. But of course unless we actually
write a proof of a concept we will not be able fully understand if this
concept is going to be better or not.
> > In the case of the NFS tests the master script would say to run a script
> > that sets up NFS server and signal the testrunner once it's done and
> > wait. The script that would be doing the actuall test would be executed
> > once the the NFS server script to signaled it's completion and then
> > start the actual test. Once it's finished testing it would exit, which
> > would tell the testrunner to wake up the NFS server script in order to
> > cleanup. If we decided to write multimachine tests this way we would
> > need to add a way how to pass parameters such as IP addresses from kirk
> > to tests and also add a way how to propagate events between tests via
> > kirk so that we can have some kind of locking.
>
> Also, you call it a hack, but it works standalone, without any runner. I would
> be careful to add kirk as a hard dependency to run a single test without a
> strong reason (sure, using kirk to handle metadata to run tests in paralel or
> replace runtest files will be a great improvement, but I would like to still
> keep executing a test itself by just calling it with proper PATH setup).
It should be possible to design the system so that tests can be executed
with a simpler solution than kirk.
Also it's not as standalone as you may think. You need to 1) start two
machines and manually install LTP there 2) write the IP addresses into
the configuration and only once that is done you can execute tests on
two machines.
> FYI "multimachine tests": I know only about 1 test which needs more than a
> single machine: IPsec (implemented in openQA instead of LTP [1]).
I think that this is because our multimachine design is not as easy to
use as it should be.
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list