if name != app: continue
deploys.append(deploy)
# parallelization code would go here
+ errors = {}
for deploy in deploys:
sub_argv = base_args + [deploy.location]
logger.info("$ wizard migrate " + " ".join(sub_argv))
- migrate.migrate(sub_argv, global_options, logger)
+ try:
+ migrate.migrate(sub_argv, global_options, logger)
+ except UserException as e:
+ name = e.__class__.__name__
+ if name not in errors: errors[name] = []
+ errors[name].append(deploy)
+ logger.error("ERROR [%s] in %s" % (name, d.location))
+ for name, deploys in errors.items():
+ logger.warning("ERROR [%s] from %d installs" % (name, len(deploys)))