-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
tests: Stop and Wait for workspace at the end of each tests #12572
Conversation
6c3a9de
to
35b08fa
Compare
35b08fa
to
5c4e0d7
Compare
5c4e0d7
to
f3d954e
Compare
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.
What is the total time it takes to run tests assuming no failures? I ask because with increased timeouts, we want to make sure the test run doesn't take too long.
FYI, @jenting shared a test run that had failed tests:
https://werft.gitpod-dev.com/job/gitpod-custom-to-stablization-test.18#integration%20test:test-workspace
Also, I just ran a separate test run in werft, but had trouble with the environment, and notified the platform team:
https://gitpod.slack.com/archives/C03E52788SU/p1662051454479299
I added some questions to the PR, thanks a lot for putting this together, @utam0k !
@@ -137,6 +137,8 @@ args=() | |||
args+=( "-kubeconfig=/home/gitpod/.kube/config" ) | |||
args+=( "-namespace=default" ) | |||
[[ "$USERNAME" != "" ]] && args+=( "-username=$USERNAME" ) | |||
args+=( "-timeout=60m" ) |
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.
Is this enough time? I ask because the werft job ran for 67 minutes.
https://werft.gitpod-dev.com/job/gitpod-custom-to-stablization-test.17
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.
Yes, it is, because these args pass each test component.
@@ -137,6 +137,8 @@ args=() | |||
args+=( "-kubeconfig=/home/gitpod/.kube/config" ) | |||
args+=( "-namespace=default" ) | |||
[[ "$USERNAME" != "" ]] && args+=( "-username=$USERNAME" ) | |||
args+=( "-timeout=60m" ) | |||
args+=( "-p=1" ) |
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.
Is this to run each test binary in parallel?
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.
No, opposite. this makes the test serial.
select { | ||
case err := <-execErrs: | ||
if err != nil { | ||
return nil, closer, err | ||
} | ||
return nil, closer, fmt.Errorf("agent stopped unexepectedly") | ||
case <-time.After(1 * time.Second): | ||
case <-time.After(30 * time.Second): |
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.
My understanding is, this is the wait time in-between test binaries. Yes? In other words, this is not the wait time each individual test that we run.
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 accused this time means waiting time for the start-up of the agent
@jenting @kylos101
|
@utam0k I add the port-forwarding issue link 😉 |
Oh, I missed it. But I'm trying to fix it on #12248 so that I will close your issue. Thanks |
Thanks for your effort @utam0k I thought all the integration test cases failed for the same reason #10671
|
Yes, I thought both were the same reason, lack of resources. Ideally, we can run all integration tests in parallel, but first I think we should focus on passing the integration; next, we can try it. |
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.
LGTM
Let's see how it improves the integration test robustness 💪
Indeed, @utam0k , great point. In other words, get tests to pass (so we have confidence), then make test runs faster (so we can have shorter feedback loops). Some related thoughts. |
Description
Stop and Wait for workspace at the end of each tests to be stabilization
Related Issue(s)
Relates #12248
How to test
Run the test
Release Notes
Documentation
Werft options: