From 45d7222d7114809526a33f7bd49254abc1ba6c8b Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Tue, 20 Sep 2016 10:03:46 -0600 Subject: [PATCH] Set ctx.cluster even when a job has no roles This is to allow for teuthology to run self-tests that don't use resources. Signed-off-by: Zack Cerza --- teuthology/run.py | 8 +++++--- teuthology/task/internal.py | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/teuthology/run.py b/teuthology/run.py index e1f79a1270..4f4646fd10 100644 --- a/teuthology/run.py +++ b/teuthology/run.py @@ -184,13 +184,15 @@ def get_initial_tasks(lock, config, machine_type): init_tasks.append({'internal.lock_machines': ( len(config['roles']), machine_type)}) - init_tasks.append({'internal.save_config': None}) + if 'roles' in config: + init_tasks.append({'internal.check_lock': None}) + + init_tasks.append({'internal.add_remotes': None}) + if 'roles' in config: init_tasks.extend([ - {'internal.check_lock': None}, - {'internal.add_remotes': None}, {'console_log': None}, {'internal.connect': None}, {'internal.push_inventory': None}, diff --git a/teuthology/task/internal.py b/teuthology/task/internal.py index 742f6fd078..3677961278 100644 --- a/teuthology/task/internal.py +++ b/teuthology/task/internal.py @@ -308,6 +308,10 @@ def add_remotes(ctx, config): """ Create a ctx.cluster object populated with remotes mapped to roles """ + ctx.cluster = cluster.Cluster() + # Allow jobs to run without using nodes, for self-testing + if 'roles' not in ctx.config and 'targets' not in ctx.config: + return remotes = [] machs = [] for name in ctx.config['targets'].iterkeys(): @@ -321,7 +325,6 @@ def add_remotes(ctx, config): pass rem = remote.Remote(name=t, host_key=key, keep_alive=True) remotes.append(rem) - ctx.cluster = cluster.Cluster() if 'roles' in ctx.config: for rem, roles in zip(remotes, ctx.config['roles']): assert all(isinstance(role, str) for role in roles), \ -- 2.39.5