Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New test kernel_multipath_flakyserver #8539

Merged

Conversation

klwagner
Copy link

@klwagner klwagner commented Sep 25, 2019

A modification of two testcases from the standard qa_sw_multipath testsuite.

After importing one multipathed disk via iSCSI from the support server
the client runs modifications of the active_active and active_passive tests.
The difference is that it is the server rather than the client which will proceed to
(randomly) disable multipaths while the client is just doing heavy I/O.

Expected result is that the client is able to cope without any errors
(I/O or others).

Many extra comments and some debug statements and FIXMEs are left in.

@klwagner
Copy link
Author

What am I supposed to do about the Travis CI build fail? The reported details (an early perl version problem) don't look related to this PR.

@foursixnine
Copy link
Member

What am I supposed to do about the Travis CI build fail? The reported details (an early perl version problem) don't look related to this PR.

This is the perl version that's being used in production: => https://travis-ci.org/os-autoinst/os-autoinst-distri-opensuse/jobs/589432066#L414

Here's another failure in static checks: https://travis-ci.org/os-autoinst/os-autoinst-distri-opensuse/jobs/589432067#L570 (https://travis-ci.org/os-autoinst/os-autoinst-distri-opensuse/jobs/589432068#L453)

you should be able to run:

make prepare
make test

in your local box, to be able to reproduce most of the failures.

@klwagner klwagner force-pushed the 190731-multipathtest_flakyserver branch 2 times, most recently from e74cff9 to b87e6bb Compare September 30, 2019 11:47
@klwagner klwagner force-pushed the 190731-multipathtest_flakyserver branch from b87e6bb to 301cf8b Compare October 1, 2019 10:40
@klwagner
Copy link
Author

klwagner commented Oct 1, 2019

New verification runs:

@klwagner klwagner force-pushed the 190731-multipathtest_flakyserver branch from 301cf8b to a5b3796 Compare October 8, 2019 15:40
@klwagner
Copy link
Author

klwagner commented Oct 8, 2019

This commit manages to run both intended testcases rather than only one.
Updated the top comment accordingly including the verification runs.

@klwagner klwagner force-pushed the 190731-multipathtest_flakyserver branch from a5b3796 to 28cecf7 Compare October 8, 2019 16:12
@klwagner
Copy link
Author

klwagner commented Oct 9, 2019

28cecf7 differs from a5b3796 only by the removal of a stray space character which had slipped by my tidy check.

@klwagner klwagner force-pushed the 190731-multipathtest_flakyserver branch 3 times, most recently from 5d760d9 to 69429ab Compare October 15, 2019 16:18
@klwagner
Copy link
Author

5d760d9 is to ignore.

Difference of 69429ab vs. 28cecf7: Apart from some cosmetics (comments etc.) module kernel_multipath.pm was rewritten so as to extract the problematic qaset monitoring actions into two new subs qaset_waitdone() and qaset_waitstop() for clarity. The qaset framework itself should provide support for implementing these subs more cleanly (see the in-code comments).
This change is purely formal; the functionality remains the same.

New verification runs: client 563 server 562

@czerw czerw self-requested a review October 24, 2019 13:23
Copy link
Contributor

@czerw czerw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this PR. It looks fine.

Incorporate new test into existing client module qa_kernel_multipath.pm
and add associated new supportserver module flaky_mp_iscsi.pm.

If variable 'ISCSI_MULTIPATH_FLAKY' is set, qa_kernel_multipath.pm,
rather than running the standard "qa_sw_multipath" testsuite, will
run just variants of its two I/O-intensive testcases.

The difference is that it is the server rather than the client itself
which will proceed to (randomly) disturb the paths of the multipathed
block device under test while the client is just doing heavy I/O.

Expected result is that the client is able to cope without any errors
(I/O or others).

Many extra comments and some debug statements and FIXMEs are left in.

FIXME: as commented in-code, subs qaset_waitdone() and qaset_waitstop()
in kernel_multipath.pm are not really satisfactory.
Reference: qaset API request https://progress.opensuse.org/issues/58253
@klwagner klwagner force-pushed the 190731-multipathtest_flakyserver branch from 69429ab to 23a1d95 Compare November 5, 2019 14:05
@klwagner klwagner changed the title [WIP] New test kernel_multipath_flakyserver New test kernel_multipath_flakyserver Nov 5, 2019
@mimi1vx mimi1vx merged commit 716ac36 into os-autoinst:master Nov 7, 2019
@klwagner klwagner deleted the 190731-multipathtest_flakyserver branch November 7, 2019 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants