in cstar/cstarparcli.py [0:0]
def main():
namespace = parse_job_mode()
if namespace.jmx_username and not namespace.jmx_passwordfile:
namespace.jmx_password = getpass.getpass(prompt="JMX Password ")
else:
namespace.jmx_password = None
if bool(namespace.seed_host) + bool(namespace.host) + bool(namespace.host_file) != 1:
error("Exactly one of --seed-host, --host and --host-file must be used", print_traceback=False)
hosts = None
if namespace.host_file:
with open(namespace.host_file) as f:
hosts = f.readlines()
if namespace.host:
hosts = namespace.host
cstar.output.configure(namespace.verbose)
hosts_variables = dict()
if namespace.hosts_variables:
with open(namespace.hosts_variables) as f:
hosts_variables = json.loads(f.read())
with cstar.job.Job() as job:
env = {}
job_id = str(uuid.uuid4())
msg("Job id is", emph(job_id))
cstar.signalhandler.print_message_and_save_on_sigint(job, job_id)
job.setup(
hosts=hosts,
seeds=namespace.seed_host,
command=namespace.command,
job_id=job_id,
strategy=cstar.strategy.parse(fallback(namespace.strategy, "topology")),
cluster_parallel=fallback(namespace.cluster_parallel, False),
dc_parallel=fallback(namespace.dc_parallel, False),
max_concurrency=namespace.max_concurrency,
timeout=namespace.timeout,
env=env,
stop_after=namespace.stop_after,
job_runner=cstar.jobrunner.LocalJobRunner,
key_space=namespace.key_space,
output_directory=namespace.output_directory,
ignore_down_nodes=False,
dc_filter=namespace.dc_filter,
sleep_on_new_runner=namespace.ssh_pause_time,
sleep_after_done=namespace.node_done_pause_time,
ssh_username = namespace.ssh_username,
ssh_password = namespace.ssh_password,
ssh_identity_file = namespace.ssh_identity_file,
ssh_lib=namespace.ssh_lib,
use_sudo=namespace.use_sudo,
sudo_args=namespace.sudo_args,
jmx_username=namespace.jmx_username,
jmx_password=namespace.jmx_password,
jmx_passwordfile=namespace.jmx_passwordfile,
resolve_hostnames=namespace.resolve_hostnames,
hosts_variables=hosts_variables)
job.run()