Fix flaky e2e tests because of no idle runners
at startup.
This commit is contained in:
@@ -94,6 +94,7 @@ func initNomad() {
|
||||
return
|
||||
}
|
||||
createDefaultEnvironment()
|
||||
waitForDefaultEnvironment()
|
||||
}
|
||||
|
||||
func createDefaultEnvironment() {
|
||||
@@ -123,6 +124,28 @@ func createDefaultEnvironment() {
|
||||
}
|
||||
}
|
||||
|
||||
func waitForDefaultEnvironment() {
|
||||
path := helpers.BuildURL(api.BasePath, api.RunnersPath)
|
||||
body := &dto.RunnerRequest{
|
||||
ExecutionEnvironmentID: tests.DefaultEnvironmentIDAsInteger,
|
||||
InactivityTimeout: 1,
|
||||
}
|
||||
var code int
|
||||
const maxRetries = 60
|
||||
for count := 0; count < maxRetries && code != http.StatusOK; count++ {
|
||||
<-time.After(time.Second)
|
||||
if resp, err := helpers.HTTPPostJSON(path, body); err == nil {
|
||||
code = resp.StatusCode
|
||||
log.WithField("count", count).WithField("statusCode", code).Info("Waiting for idle runners")
|
||||
} else {
|
||||
log.WithField("count", count).WithError(err).Warn("Waiting for idle runners")
|
||||
}
|
||||
}
|
||||
if code != http.StatusOK {
|
||||
log.Fatal("Failed to provide a runner")
|
||||
}
|
||||
}
|
||||
|
||||
func deleteE2EEnvironments() {
|
||||
for _, id := range environmentIDs {
|
||||
deleteEnvironment(&testing.T{}, id.ToString())
|
||||
|
Reference in New Issue
Block a user