print.getOpts().codeRemove(PrCodes.CREATE__GROUP_ID_PRINT);
print.getOpts().codeRemove(PrCodes.ENSMONITOR__SINGLE_REPORT_NAMES);
print.getOpts().codeRemove(PrCodes.CTXMONITOR__SINGLE_REPORT_NAMES);
for (int i = 0; i < clouds.length; i++) {
CloudDeployment cloud = clouds[i];
final File cloudDir = new File(newdir,
"cloud-" + cloud.getCloud().getName());
final String cloudDirPath = cloudDir.getAbsolutePath();
if (cloudDir.mkdir()) {
print.debugln("Created directory: " + cloudDirPath);
} else {
throw new ExecutionProblem(
"Could not create directory '" + cloudDirPath + "'");
}
final RunTask[] runTasks = cloud.generateRunTasks(brokerContact,
cloudDirPath, sshKeyPath, durationMinutes, print);
final FutureTask[] futureTasks = new FutureTask[runTasks.length];
for (int taskIndex = 0; taskIndex < futureTasks.length; taskIndex++) {
futureTasks[taskIndex] = new FutureTask(runTasks[taskIndex]);
}
final String ensembleEprPath = runTasks[0].getEnsembleEprPath();
final String identAuth = cloud.getCloud().getFactoryID();
final String handle = cloud.getCloud().getName();
print.infoln("\nLaunching "+handle+"...");
try {
startAllMembersWithBackout(futureTasks, ensembleEprPath,
identAuth, handle, print);
} catch (ExecutionProblem e) {
destroyMultiCloudCluster(clouds, ensembleEprPaths, print);
throw e;
} catch (ExitNow e) {
destroyMultiCloudCluster(clouds, ensembleEprPaths, print);
throw e;
}
ensembleEprPaths[i] = ensembleEprPath;
}
print.infoln("\nWaiting for launch updates.");
for (int i = 0; i < clouds.length; i++) {
CloudDeployment cloud = clouds[i];
final String ensembleEprPath = ensembleEprPaths[i];
final String identAuth = cloud.getCloud().getFactoryID();
final String handle = cloud.getCloud().getName();
try {
this.clusterMonitor(ensembleEprPath,
identAuth,
handle,