diff --git a/esrally/rally.py b/esrally/rally.py index b7be24e93..7acc245e9 100644 --- a/esrally/rally.py +++ b/esrally/rally.py @@ -993,18 +993,21 @@ def dispatch_sub_command(arg_parser, args, cfg): cfg.add(config.Scope.applicationOverride, "generator", "output.path", args.output_path) generate(cfg) elif sub_command == "create-track": - if args.datastreams is not None and args.indices is None: + if args.datastreams is None and args.indices is None: + raise exceptions.SystemSetupError("Missing Arguments! Following arguments are required: --indices or specify --datastream ", sub_command) + if args.datastreams is not None: cfg.add(config.Scope.applicationOverride, "generator", "indices", "*") cfg.add(config.Scope.applicationOverride, "generator", "datastreams", args.datastreams) cfg.add(config.Scope.applicationOverride, "generator", "output.path", args.output_path) cfg.add(config.Scope.applicationOverride, "track", "track.name", args.track) - elif args.indices is not None: + elif args.indices is not None and args.datastreams is None: cfg.add(config.Scope.applicationOverride, "generator", "indices", args.indices) cfg.add(config.Scope.applicationOverride, "generator", "datastreams", args.datastreams) cfg.add(config.Scope.applicationOverride, "generator", "output.path", args.output_path) cfg.add(config.Scope.applicationOverride, "track", "track.name", args.track) else: - raise exceptions.SystemSetupError("Following arguments are required: --indices or specify --datastream ", sub_command) + logging.getLogger(__name__).exception("Cannot run subcommand [%s].", sub_command) + raise exceptions.SystemSetupError(f"Error for subcommand [{sub_command}]") configure_connection_params(arg_parser, args, cfg) tracker.create_track(cfg)