-
Notifications
You must be signed in to change notification settings - Fork 2
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
executor: Add Oslat test run #46
Conversation
74ecb9c
to
c3f195d
Compare
passed on CNV 4.15 cluster, using my private vm image
logs:
|
example of failed test (using my private vm image
|
@orelmisan note that when I'm using the "official" vm image
logs:
Do you have an idea why the image is not the same as mine? I didn't do anything special AFAIK. |
@orelmisan it looks like it's working now. what has changed?
|
checked after rebased #47 - works! Thanks @orelmisan. The PR is ready for your review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR @RamLavi.
Please see the inline comments.
Change: @orelmisan 's review fixes |
Signed-off-by: Ram Lavi <[email protected]>
Change: Rebase |
Change: pass the oslatThreshold via the checkup object, as @orelmisan suggested here |
passed on CNV4.15:
logs:
|
|
||
func TestRunSuccess(t *testing.T) { | ||
expecter := &expecterStub{ | ||
injectedActualMaxResults: "27 56 (us)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please consider taking this value as a time.Duration
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should keep to the original string and not do another conversion.
It's just how the Oslat outputs the results, so it's better to just show it how it is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its meaning is not very clear IMO when reading the test.
change: Second round review |
Introducing a package that will handle the oslat test [0], and the run method used to run the test. The Run command runs the oslat test inside the VMI console. In order to make sure that the test duration does not exceed the checkup timeout, passing the checkup ctx and wrapping the run command. The output is checked for successful return value and then parsed for the maximum latency value out of the cores that are tested is returned. the oslat command is run under the taskset command that makes sure that it runs only on the specified cores under test. flags used on the oslat command [0]: - cpu-list: vCPUs under test. - rtprio: SCHED_FIFO priority (1-99). - duration: oslat test duration. - workload: kind of workload tested. - workload-mem: Size of the memory to use for the workload. [0] https://www.mankier.com/8/oslat Signed-off-by: Ram Lavi <[email protected]>
Signed-off-by: Ram Lavi <[email protected]>
The checkup will now fail if the oslat Maximum latency measured exceeded the oslatLatencyThreshold, and issue the appropriate failure reason. Signed-off-by: Ram Lavi <[email protected]>
@RamLavi does the E2E test passes? |
yes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you
This PR introduces the Oslat test run to the executor library.