From 067bf4e837d78792e1b183c31acda90d36413e17 Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Thu, 17 Mar 2016 15:47:13 -0600 Subject: [PATCH] Move internal.vm_setup to its own module Signed-off-by: Zack Cerza --- teuthology/task/internal/__init__.py | 44 ----------------------- teuthology/task/internal/vm_setup.py | 54 ++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 44 deletions(-) create mode 100644 teuthology/task/internal/vm_setup.py diff --git a/teuthology/task/internal/__init__.py b/teuthology/task/internal/__init__.py index 89bcef9650..475d68e700 100644 --- a/teuthology/task/internal/__init__.py +++ b/teuthology/task/internal/__init__.py @@ -19,8 +19,6 @@ from teuthology.config import config as teuth_config from teuthology.exceptions import VersionNotFoundError from teuthology.job_status import get_status, set_status from teuthology.orchestra import cluster, remote, run -from teuthology.parallel import parallel -from teuthology.task import ansible log = logging.getLogger(__name__) @@ -632,45 +630,3 @@ def syslog(ctx, config): wait=False, ), ) - - -def vm_setup(ctx, config): - """ - Look for virtual machines and handle their initialization - """ - all_tasks = [x.keys()[0] for x in ctx.config['tasks']] - need_ansible = False - if 'kernel' in all_tasks and 'ansible.cephlab' not in all_tasks: - need_ansible = True - ansible_hosts = set() - with parallel(): - editinfo = os.path.join(os.path.dirname(__file__), 'edit_sudoers.sh') - for rem in ctx.cluster.remotes.iterkeys(): - if misc.is_vm(rem.shortname): - ansible_hosts.add(rem.shortname) - r = rem.run(args=['test', '-e', '/ceph-qa-ready'], - stdout=StringIO(), check_status=False) - if r.returncode != 0: - p1 = subprocess.Popen(['cat', editinfo], - stdout=subprocess.PIPE) - p2 = subprocess.Popen( - [ - 'ssh', - '-o', 'StrictHostKeyChecking=no', - '-t', '-t', - str(rem), - 'sudo', - 'sh' - ], - stdin=p1.stdout, stdout=subprocess.PIPE - ) - _, err = p2.communicate() - if err: - log.error("Edit of /etc/sudoers failed: %s", err) - if need_ansible and ansible_hosts: - log.info("Running ansible on %s", list(ansible_hosts)) - ansible_config = dict( - hosts=list(ansible_hosts), - ) - with ansible.CephLab(ctx, config=ansible_config): - pass diff --git a/teuthology/task/internal/vm_setup.py b/teuthology/task/internal/vm_setup.py new file mode 100644 index 0000000000..91eece3136 --- /dev/null +++ b/teuthology/task/internal/vm_setup.py @@ -0,0 +1,54 @@ +import logging +import os +import subprocess + +from cStringIO import StringIO + +from teuthology import misc + +from teuthology.parallel import parallel +from teuthology.task import ansible + +log = logging.getLogger(__name__) + + +def vm_setup(ctx, config): + """ + Look for virtual machines and handle their initialization + """ + all_tasks = [x.keys()[0] for x in ctx.config['tasks']] + need_ansible = False + if 'kernel' in all_tasks and 'ansible.cephlab' not in all_tasks: + need_ansible = True + ansible_hosts = set() + with parallel(): + editinfo = os.path.join(os.path.dirname(__file__), 'edit_sudoers.sh') + for rem in ctx.cluster.remotes.iterkeys(): + if misc.is_vm(rem.shortname): + ansible_hosts.add(rem.shortname) + r = rem.run(args=['test', '-e', '/ceph-qa-ready'], + stdout=StringIO(), check_status=False) + if r.returncode != 0: + p1 = subprocess.Popen(['cat', editinfo], + stdout=subprocess.PIPE) + p2 = subprocess.Popen( + [ + 'ssh', + '-o', 'StrictHostKeyChecking=no', + '-t', '-t', + str(rem), + 'sudo', + 'sh' + ], + stdin=p1.stdout, stdout=subprocess.PIPE + ) + _, err = p2.communicate() + if err: + log.error("Edit of /etc/sudoers failed: %s", err) + if need_ansible and ansible_hosts: + log.info("Running ansible on %s", list(ansible_hosts)) + ansible_config = dict( + hosts=list(ansible_hosts), + ) + with ansible.CephLab(ctx, config=ansible_config): + pass -- 2.39.5