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

kernel/will-it-scale: Add scalability test #2774

Merged
merged 1 commit into from
May 8, 2024

Conversation

sacsant
Copy link
Contributor

@sacsant sacsant commented Mar 15, 2024

This patch adds a test to validate scalability aspect of kernel. Will It Scale
takes a testcase and runs n parallel copies to see if the testcase will scale.
This test is based on https://github.com/antonblanchard/will-it-scale

The test includes yaml based input for each supported testcase.

Signed-off-by: Sachin Sant [email protected]

@sacsant
Copy link
Contributor Author

sacsant commented Mar 15, 2024

~ avocado run will-it-scale.py -m will-it-scale.py.data/mmap1.yaml
Fetching asset from will-it-scale.py:WillItScaleTest.test_scaleitall
JOB ID : 0d541b98bc4b404a9767107cab1c641d4c7aee30
JOB LOG : /home/results/job-2024-03-15T11.22-0d541b9/job.log
(1/1) will-it-scale.py:WillItScaleTest.test_scaleitall;run-72bf: STARTED
(1/1) will-it-scale.py:WillItScaleTest.test_scaleitall;run-72bf: PASS (1590.02 s)
RESULTS : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
~

After the test completion .csv and .html files are created in the logdir

[1-will-it-scale.py_WillItScaleTest.test_scaleitall_run-72bf]~ ls
data debug.log mmap1.csv mmap1.html sysinfo whiteboard
[1-will-it-scale.py_WillItScaleTest.test_scaleitall_run-72bf]~

@PraveenPenguin
Copy link
Member

@sacsant can see scope to merge all yaml in single YAML as it will reduce maintenance effort

@abdhaleegit
Copy link
Collaborator

@sacsant can see scope to merge all yaml in single YAML as it will reduce maintenance effort

single yaml with all test mux variants

@sacsant
Copy link
Contributor Author

sacsant commented Mar 21, 2024

Depending on resources available on system, each test takes anywhere between 40min to a couple of hours. I don't think we should run the test against all option available as it will take maybe more than 24 hours.

I can include a couple of sample YAML files and remove the remaining one. The README file has information about all possible tests. A user who wants to run a specific test can always create their own yaml's.

Would that work?

@sacsant
Copy link
Contributor Author

sacsant commented Mar 21, 2024

I have consolidated the YAML's into a single one using mux and have added a warning about long execution time.

@sacsant
Copy link
Contributor Author

sacsant commented Mar 21, 2024

Test result
(1/1) kernel/will-it-scale.py:WillItScaleTest.test_scaleitall;run-testcase-mmap1-f366: STARTED
(1/1) kernel/will-it-scale.py:WillItScaleTest.test_scaleitall;run-testcase-mmap1-f366: PASS (1590.29 s)
RESULTS : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0

kernel/will-it-scale.py Show resolved Hide resolved
./postprocess.py
"""
smm = SoftwareManager()
pkgs = ['gcc', 'make', 'hwloc-devel']
Copy link
Member

Choose a reason for hiding this comment

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

is hwloc-devel package available on all distro , as i am locate this only in RHEL9.*/centos9 onward ? Please double-check and consider test case in other distro if test not supported or we can have other alternative of this package ,

Copy link
Member

Choose a reason for hiding this comment

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

@sacsant thanks for addressing review comments, can you please look in this comment as well

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, thanks for the reminder. I missed this one. I checked RHEL & Ubuntu and the package is available. SLES does not seem to have this package. I can add a check for distro versions but was wondering since the test gets cancelled anyway if the package is not available, should we add this extra code?

kernel/will-it-scale.py Outdated Show resolved Hide resolved
kernel/will-it-scale.py Outdated Show resolved Hide resolved
kernel/will-it-scale.py Outdated Show resolved Hide resolved
kernel/will-it-scale.py Outdated Show resolved Hide resolved
kernel/will-it-scale.py.data/README Outdated Show resolved Hide resolved
kernel/will-it-scale.py.data/will-it-scale.yaml Outdated Show resolved Hide resolved
kernel/will-it-scale.py Outdated Show resolved Hide resolved
This patch adds a test to validate scalability aspect of
kernel. Will It Scale takes a testcase and runs n parallel
copies to see if the testcase will scale. This test is
based on https://github.com/antonblanchard/will-it-scale

The test includes yaml based input for each supported testcase.

Signed-off-by: Sachin Sant <[email protected]>
@sacsant
Copy link
Contributor Author

sacsant commented Apr 22, 2024

Test run after review comments have been incorporated.

(1/1) kernel/will-it-scale.py:WillItScaleTest.test_scaleitall: STARTED
(1/1) kernel/will-it-scale.py:WillItScaleTest.test_scaleitall: PASS (795.09 s)

@abdhaleegit abdhaleegit self-requested a review April 22, 2024 06:08
Copy link
Collaborator

@abdhaleegit abdhaleegit left a comment

Choose a reason for hiding this comment

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

LGTM

@PraveenPenguin PraveenPenguin merged commit 736d4f3 into avocado-framework-tests:master May 8, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants