Flag parameter for management simulator to wait till scenario ends (#572)

* Add waitTillRolloutComplete parameter and setter for scenarios

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Change to stream form parallel stream because of auth problems and fix
delete rollout call

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Changed back to parallelStream

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Removed catch feign exception and added decode404 to feign client

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>
This commit is contained in:
Jonathan Knoblauch
2017-09-19 17:49:19 +02:00
committed by Kai Zimmermann
parent d78cfcd6ef
commit 68523cd8de
3 changed files with 18 additions and 2 deletions

View File

@@ -96,7 +96,7 @@ public class Application implements CommandLineRunner {
final ObjectMapper mapper = new ObjectMapper()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.registerModule(new Jackson2HalModule());
return Feign.builder().contract(new IgnoreMultipleConsumersProducersSpringMvcContract())
return Feign.builder().contract(new IgnoreMultipleConsumersProducersSpringMvcContract()).decode404()
.requestInterceptor(
new BasicAuthRequestInterceptor(configuration.getUsername(), configuration.getPassword()))
.logger(new Slf4jLogger()).encoder(new FeignMultipartEncoder())

View File

@@ -46,6 +46,7 @@ public class ClientConfigurationProperties {
*/
public static class Scenario {
private boolean cleanRepository;
private boolean waitTillRolloutComplete = true;
private int targets = 100;
private int distributionSets = 10;
private int appModulesPerDistributionSet = 2;
@@ -101,6 +102,14 @@ public class ClientConfigurationProperties {
this.cleanRepository = cleanRepository;
}
public boolean isWaitTillRolloutComplete() {
return waitTillRolloutComplete;
}
public void setWaitTillRolloutComplete(final boolean waitTillRolloutComplete) {
this.waitTillRolloutComplete = waitTillRolloutComplete;
}
public int getRolloutDeploymentGroups() {
return rolloutDeploymentGroups;
}
@@ -227,6 +236,10 @@ public class ClientConfigurationProperties {
return scenarios;
}
public void addScenarios(final Scenario scenario) {
scenarios.add(scenario);
}
public String getUrl() {
return url;
}

View File

@@ -278,11 +278,14 @@ public class ConfigurableScenario {
// start the created Rollout
rolloutResource.start(rolloutResponseBody.getRolloutId());
waitUntilRolloutIsComplete(rolloutResponseBody.getRolloutId());
if (scenario.isWaitTillRolloutComplete()) {
waitUntilRolloutIsComplete(rolloutResponseBody.getRolloutId());
}
LOGGER.info("Run rollout for set {} -> Done", set.getDsId());
}
private void waitUntilRolloutNoLongerExists(final Long id) {
do {
try {
TimeUnit.SECONDS.sleep(5);