-
Notifications
You must be signed in to change notification settings - Fork 1k
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
feat(loadtest): Rough cut of some gatling-based load tests for cloudd… #1666
Conversation
@robzienert My scala is super weak and I really don't have experience with gatling ... I was running from in-IDE w/
|
@@ -0,0 +1,27 @@ | |||
tasks.compileGroovy.enabled = false |
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.
Verbatim borrowed from orca-loadtest
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.
You may want to take a review at spinnaker/orca#1376 and roll these changes into clouddriver as well (if the PR I made looks right).
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.
Good call ... I've rolled these changes in (your PR seems reasonable)
@@ -0,0 +1,22 @@ | |||
{ |
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.
This can be overridden via
-Dsimulation.config=/path/to/your/clouddriver-simulation.json
(doesn't have to be json)
} | ||
|
||
if (config.fetchServerGroups.rampUsersTo > 0) { | ||
config.fetchServerGroups.applicationFiles.foreach(a => { |
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.
each application file gets it's own scenario ... (ie. I created a filtered set of applications for evcache
and ksrouter
).
|
||
object ClouddriverSimulationEngine extends App { | ||
val props = new GatlingPropertiesBuilder | ||
props.simulationClass(classOf[ClouddriverSimulation].getName) |
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.
@robzienert Do you know if you can have a gatling.conf
referenced outside of the project?
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 don't believe you can, not without getting into the internals. @jonsie - Can you shed some light for 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.
@ajordens @robzienert Gatling will read thegatling.conf
in the resources
or conf
directory. At runtime you can also pass in Gatling configuration via system properties.
.check(status is 200) | ||
|
||
val fetchServerGroupExpanded: HttpRequestBuilder = http(s"Fetch Server Group (expanded)") | ||
.get("/applications/${name}/serverGroups?expand=true") |
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.
name
comes from the session
👍 Minor comments. |
…river Largely based on `orca-loadtest`.
…river
Largely based on
orca-loadtest
.