# Don't write pyc files
sys.dont_write_bytecode = True
-from .orchestra import monkey
+from teuthology.orchestra import monkey
monkey.patch_all()
import logging
import sys
from collections import OrderedDict
-from .config import config
-from . import report
+from teuthology.config import config
+from teuthology import report
log = logging.getLogger(__name__)
import time
import itertools
-from .config import config
-from .exceptions import MaxWhileTries
+from teuthology.config import config
+from teuthology.exceptions import MaxWhileTries
log = logging.getLogger(__name__)
# FIXME this needs to be more generic
if config.ctx and config.ctx.config.get('interactive-on-error'):
config.ctx.config['interactive-on-error'] = False
- from .task import interactive
+ from teuthology.task import interactive
log.warning('Saw failure, going into interactive mode...')
interactive.task(ctx=config.ctx, config=None)
finally:
import logging
import getpass
-from . import beanstalk
-from . import report
-from .config import config
-from . import misc
+from teuthology import beanstalk
+from teuthology import report
+from teuthology.config import config
+from teuthology import misc
log = logging.getLogger(__name__)
from teuthology import misc
-from . import ops, query
+from teuthology.lock import ops, query
log = logging.getLogger(__name__)
import errno
import re
-from .job_status import get_status
+from teuthology.job_status import get_status
def main(args):
from teuthology import safepath
from teuthology.exceptions import (CommandCrashedError, CommandFailedError,
ConnectionLostError)
-from .orchestra import run
-from .config import config
-from .contextutil import safe_while
-from .orchestra.opsys import DEFAULT_OS_VERSION
+from teuthology.orchestra import run
+from teuthology.config import config
+from teuthology.contextutil import safe_while
+from teuthology.orchestra.opsys import DEFAULT_OS_VERSION
log = logging.getLogger(__name__)
from teuthology.lock.query import is_vm, list_locks, \
find_stale_locks, get_status
from teuthology.lock.util import locked_since_seconds
-from .actions import (
+from teuthology.nuke.actions import (
check_console, clear_firewall, shutdown_daemons, remove_installed_packages,
reboot, remove_osd_mounts, remove_osd_tmpfs, kill_hadoop,
remove_ceph_packages, synch_clocks, unlock_firmware_repo,
remove_ceph_data, remove_testing_tree, remove_yum_timedhosts,
kill_valgrind,
)
-from ..config import config, FakeNamespace
-from ..misc import (
+from teuthology.config import config, FakeNamespace
+from teuthology.misc import (
canonicalize_hostname, config_file, decanonicalize_hostname, merge_configs,
get_user, sh
)
-from ..openstack import OpenStack, OpenStackInstance, enforce_json_dictionary
-from ..orchestra.remote import Remote
-from ..parallel import parallel
-from ..task.internal import check_lock, add_remotes, connect
+from teuthology.openstack import OpenStack, OpenStackInstance, enforce_json_dictionary
+from teuthology.orchestra.remote import Remote
+from teuthology.parallel import parallel
+from teuthology.task.internal import check_lock, add_remotes, connect
log = logging.getLogger(__name__)
import logging
import time
-from ..misc import get_testdir, reconnect
-from ..orchestra import run
-from ..orchestra.remote import Remote
-from ..task import install as install_task
+from teuthology.misc import get_testdir, reconnect
+from teuthology.orchestra import run
+from teuthology.orchestra.remote import Remote
+from teuthology.task import install as install_task
log = logging.getLogger(__name__)
import os
import logging
-from ..config import config
-from ..contextutil import safe_while
+from teuthology.config import config
+from teuthology.contextutil import safe_while
log = logging.getLogger(__name__)
import teuthology.lock.util
from teuthology.config import config
from teuthology.contextutil import safe_while
-
-from ..exceptions import ConsoleError
+from teuthology.exceptions import ConsoleError
import remote
"""
import teuthology.lock.query
import teuthology.lock.util
-from . import run
-from .opsys import OS
+from teuthology.orchestra import run
+from teuthology.orchestra.opsys import OS
import connection
from teuthology import misc
from teuthology.misc import host_shortname
import logging
import shutil
-from ..contextutil import safe_while
-from ..exceptions import (CommandCrashedError, CommandFailedError,
- ConnectionLostError)
+from teuthology.contextutil import safe_while
+from teuthology.exceptions import (CommandCrashedError, CommandFailedError,
+ ConnectionLostError)
log = logging.getLogger(__name__)
from mock import patch, Mock
-from .. import cluster, remote
+from teuthology.orchestra import cluster, remote
class TestCluster(object):
import fudge
from teuthology import config
-from .util import assert_raises
-from .. import connection
+from teuthology.orchestra import connection
+from teuthology.orchestra.test.util import assert_raises
class TestConnection(object):
from teuthology.config import config as teuth_config
-from .. import console
+from teuthology.orchestra import console
class TestConsole(object):
from textwrap import dedent
-from ..opsys import OS
+from teuthology.orchestra.opsys import OS
import pytest
from cStringIO import StringIO
-from .. import remote
-from .. import opsys
-from ..run import RemoteProcess
+from teuthology.orchestra import remote
+from teuthology.orchestra import opsys
+from teuthology.orchestra.run import RemoteProcess
class TestRemote(object):
from mock import MagicMock, patch
from pytest import raises
-from .. import run
+from teuthology.orchestra import run
from teuthology.exceptions import (CommandCrashedError, CommandFailedError,
ConnectionLostError)
from collections import OrderedDict
from cStringIO import StringIO
-from . import repo_utils
+from teuthology import repo_utils
-from .config import config
-from .contextutil import safe_while
-from .exceptions import (VersionNotFoundError, CommitNotFoundError,
+from teuthology.config import config
+from teuthology.contextutil import safe_while
+from teuthology.exceptions import (VersionNotFoundError, CommitNotFoundError,
NoRemoteError)
-from .misc import sudo_write_file
-from .orchestra.opsys import OS, DEFAULT_OS_VERSION
-from .orchestra.run import Raw
+from teuthology.misc import sudo_write_file
+from teuthology.orchestra.opsys import OS, DEFAULT_OS_VERSION
+from teuthology.orchestra.run import Raw
log = logging.getLogger(__name__)
import logging
import teuthology.lock.query
-from ..misc import decanonicalize_hostname, get_distro, get_distro_version
+from teuthology.misc import decanonicalize_hostname, get_distro, get_distro_version
import cloud
import downburst
import tempfile
import yaml
-from ..config import config
-from ..contextutil import safe_while
-from ..misc import decanonicalize_hostname
+from teuthology.config import config
+from teuthology.contextutil import safe_while
+from teuthology.misc import decanonicalize_hostname
from teuthology.lock import query
log = logging.getLogger(__name__)
import teuthology.orchestra
-from ..config import config
-from ..contextutil import safe_while
+from teuthology.config import config
+from teuthology.contextutil import safe_while
from teuthology.exceptions import MaxWhileTries
from teuthology import misc
from subprocess import CalledProcessError
-from .. import misc
+from teuthology import misc
-from ..openstack import OpenStack, OpenStackInstance
-from ..config import config
-from ..contextutil import safe_while
-from ..exceptions import QuotaExceededError
+from teuthology.openstack import OpenStack, OpenStackInstance
+from teuthology.config import config
+from teuthology.contextutil import safe_while
+from teuthology.exceptions import QuotaExceededError
log = logging.getLogger(__name__)
import time
from teuthology.util.flock import FileLock
-from .config import config
-from .contextutil import MaxWhileTries, safe_while
-from .exceptions import BootstrapError, BranchNotFoundError, GitError
+from teuthology.config import config
+from teuthology.contextutil import MaxWhileTries, safe_while
+from teuthology.exceptions import BootstrapError, BranchNotFoundError, GitError
log = logging.getLogger(__name__)
from datetime import datetime
import teuthology
-from .config import config
-from .job_status import get_status, set_status
+from teuthology.config import config
+from teuthology.job_status import get_status, set_status
report_exceptions = (requests.exceptions.RequestException, socket.error)
import teuthology
from teuthology.config import config
from teuthology import misc
-from .report import ResultsReporter
+from teuthology.report import ResultsReporter
log = logging.getLogger(__name__)
import teuthology
from teuthology import install_except_hook
-from . import report
-from .job_status import get_status
-from .misc import get_user, merge_configs
-from .nuke import nuke
-from .run_tasks import run_tasks
-from .repo_utils import fetch_qa_suite
-from .results import email_results
-from .config import FakeNamespace
-from .config import config as teuth_config
+from teuthology import report
+from teuthology.job_status import get_status
+from teuthology.misc import get_user, merge_configs
+from teuthology.nuke import nuke
+from teuthology.run_tasks import run_tasks
+from teuthology.repo_utils import fetch_qa_suite
+from teuthology.results import email_results
+from teuthology.config import FakeNamespace
+from teuthology.config import config as teuth_config
log = logging.getLogger(__name__)
from copy import deepcopy
-from .config import config as teuth_config
-from .exceptions import ConnectionLostError
-from .job_status import set_status
-from .misc import get_http_log_path
-from .sentry import get_client as get_sentry_client
-from .timer import Timer
+from teuthology.config import config as teuth_config
+from teuthology.exceptions import ConnectionLostError
+from teuthology.job_status import set_status
+from teuthology.misc import get_http_log_path
+from teuthology.sentry import get_client as get_sentry_client
+from teuthology.timer import Timer
log = logging.getLogger(__name__)
if ctx.config.get('interactive-on-error'):
ctx.config['interactive-on-error'] = False
- from .task import interactive
+ from teuthology.task import interactive
log.warning('Saw failure during task execution, going into interactive mode...')
interactive.task(ctx=ctx, config=None)
# Throughout teuthology, (x,) = y has been used to assign values
exc_info = sys.exc_info()
if ctx.config.get('interactive-on-error'):
- from .task import interactive
+ from tuethology.task import interactive
log.warning(
'Saw failure during task cleanup, going into interactive mode...')
interactive.task(ctx=ctx, config=None)
import logging
from raven import Client
-from .config import config
+from teuthology.config import config
log = logging.getLogger(__name__)
from distutils.util import strtobool
import teuthology
-from ..config import config, YamlConfig
-from ..report import ResultsReporter
-from ..results import UNFINISHED_STATUSES
+from teuthology.config import config, YamlConfig
+from teuthology.report import ResultsReporter
+from teuthology.results import UNFINISHED_STATUSES
-from .run import Run
-from .util import schedule_fail
+from teuthology.suite.run import Run
+from teuthology.suite.util import schedule_fail
log = logging.getLogger(__name__)
import os
import random
-from . import matrix
+from teuthology.suite import matrix
log = logging.getLogger(__name__)
from datetime import datetime
from tempfile import NamedTemporaryFile
-from ..config import config, JobConfig
-from ..exceptions import (
+from teuthology.config import config, JobConfig
+from teuthology.exceptions import (
BranchNotFoundError, CommitNotFoundError, VersionNotFoundError
)
-from ..misc import deep_merge, get_results_url
-from ..orchestra.opsys import OS
+from teuthology.misc import deep_merge, get_results_url
+from teuthology.orchestra.opsys import OS
-from . import util
-from .build_matrix import combine_path, build_matrix
-from .placeholder import substitute_placeholders, dict_templ
+from teuthology.suite import util
+from teuthology.suite.build_matrix import combine_path, build_matrix
+from teuthology.suite.placeholder import substitute_placeholders, dict_templ
log = logging.getLogger(__name__)
import teuthology.lock.query
import teuthology.lock.util
-from .. import repo_utils
-
-from ..config import config
-from ..exceptions import BranchNotFoundError, ScheduleFailError
-from ..misc import deep_merge
-from ..repo_utils import fetch_qa_suite, fetch_teuthology
-from ..orchestra.opsys import OS
-from ..packaging import get_builder_project
-from ..repo_utils import build_git_url
-from ..task.install import get_flavor
+from teuthology import repo_utils
+
+from teuthology.config import config
+from teuthology.exceptions import BranchNotFoundError, ScheduleFailError
+from teuthology.misc import deep_merge
+from teuthology.repo_utils import fetch_qa_suite, fetch_teuthology
+from teuthology.orchestra.opsys import OS
+from teuthology.packaging import get_builder_project
+from teuthology.repo_utils import build_git_url
+from teuthology.task.install import get_flavor
log = logging.getLogger(__name__)
from teuthology.job_status import set_status
from teuthology.repo_utils import fetch_repo
-from . import Task
+from teuthology.task import Task
log = logging.getLogger(__name__)
import logging
from teuthology import misc
-from ..orchestra import run
+from teuthology.orchestra import run
log = logging.getLogger(__name__)
from cStringIO import StringIO
-from . import Task
+from teuthology.task import Task
from tempfile import NamedTemporaryFile
-from ..config import config as teuth_config
-from ..misc import get_scratch_devices
+from teuthology.config import config as teuth_config
+from teuthology.misc import get_scratch_devices
from teuthology import contextutil
from teuthology.orchestra import run
from teuthology import misc
from teuthology.config import config as teuth_config
from teuthology.exceptions import CommandFailedError
-from .ansible import Ansible, LoggerFile
+from teuthology.ansible import Ansible, LoggerFile
log = logging.getLogger(__name__)
import contextlib
import os
-from ..orchestra import run
+from teuthology.orchestra import run
log = logging.getLogger(__name__)
from teuthology.orchestra.cluster import Cluster
from teuthology.exit import exiter
-
-from . import Task
+from teuthology.task import Task
log = logging.getLogger(__name__)
import logging
from teuthology import misc as teuthology
from teuthology import contextutil
-from ..orchestra import run
-from ..exceptions import UnsupportedPackageTypeError
+from teuthology.orchestra import run
+from teuthology.exceptions import UnsupportedPackageTypeError
log = logging.getLogger(__name__)
from teuthology.task import ansible
from distutils.version import LooseVersion
-from .util import (
+from teuthology.task.install.util import (
_get_builder_project, get_flavor, ship_utilities,
)
-from . import rpm, deb, redhat
+from teuthology.task.install import rpm, deb, redhat
log = logging.getLogger(__name__)
from teuthology.orchestra import run
-from .util import _get_builder_project, _get_local_dir
+from teuthology.task.install.util import _get_builder_project, _get_local_dir
log = logging.getLogger(__name__)
from teuthology.orchestra import run
from teuthology import packaging
-from .util import _get_builder_project, _get_local_dir
+from teuthology.task.install.util import _get_builder_project, _get_local_dir
log = logging.getLogger(__name__)
from teuthology.exceptions import VersionNotFoundError
from teuthology.job_status import get_status, set_status
from teuthology.orchestra import cluster, remote, run
-from .redhat import setup_cdn_repo, setup_base_repo, setup_additional_repo # noqa
log = logging.getLogger(__name__)
from teuthology import contextutil
from teuthology.task.common_fs_utils import generic_mkfs
from teuthology.task.common_fs_utils import generic_mount
-from ..orchestra import run
+from teuthology.orchestra import run
log = logging.getLogger(__name__)
from teuthology import misc as teuthology
from teuthology.parallel import parallel
from teuthology.config import config as teuth_config
-from ..orchestra import run
-from ..exceptions import (
+from teuthology.orchestra import run
+from teuthology.exceptions import (
UnsupportedPackageTypeError,
ConfigError,
VersionNotFoundError,
)
-from ..packaging import (
+from teuthology.packaging import (
install_package,
get_koji_build_info,
get_kojiroot_base_url,
import logging
import os
-from ..orchestra import run
+from teuthology.orchestra import run
from teuthology import misc as teuthology
import time
import gevent
from teuthology import misc as teuthology
from teuthology import contextutil
-from ..orchestra import run
+from teuthology.orchestra import run
log = logging.getLogger(__name__)
from teuthology import misc
-from . import Task
+from teuthology.task import Task
log = logging.getLogger(__name__)
import random
import time
-from ..orchestra import run
+from teuthology.orchestra import run
log = logging.getLogger(__name__)
from teuthology.orchestra.cluster import Cluster
from teuthology.orchestra import run
-from . import Task
+from teuthology.task import Task
log = logging.getLogger(__name__)
from cStringIO import StringIO
from teuthology import contextutil
import teuthology.misc as misc
-from ..orchestra import run
+from teuthology.orchestra import run
log = logging.getLogger(__name__)
ssh_keys_user = 'ssh-keys-user'
from teuthology.task import ansible
from teuthology.task.ansible import Ansible, CephLab
-from . import TestTask
-
+from teuthology.test.task import TestTask
class TestAnsibleTask(TestTask):
klass = Ansible
from teuthology.task import ceph_ansible
from teuthology.task.ceph_ansible import CephAnsible
-from . import TestTask
+from teuthology.test.task import TestTask
SKIP_IRRELEVANT = "Not relevant to this subclass"
from teuthology.orchestra.remote import Remote
from teuthology.task.console_log import ConsoleLog
-from . import TestTask
+from teuthology.test.task import TestTask
class TestConsoleLog(TestTask):
from teuthology.task.pcp import (PCPDataSource, PCPArchive, PCPGrapher,
GrafanaGrapher, GraphiteGrapher, PCP)
-from . import TestTask
+from teuthology.test.task import TestTask
pcp_host = 'http://pcp.front.sepia.ceph.com:44323/'
import pytest
-from .. import config
+from teuthology import config
class TestYamlConfig(object):
-from ..misc import get_distro
+from teuthology.misc import get_distro
class Mock:
-from ..misc import get_distro_version
+from teuthology.misc import get_distro_version
class Mock:
-from .. import misc as teuthology
+from teuthology import misc as teuthology
class Mock: pass
-from .. import job_status
+from teuthology import job_status
class TestJobStatus(object):
from datetime import datetime
from mock import Mock, patch
-from ..orchestra import cluster
-from .. import misc
-from ..config import config
+from teuthology.orchestra import cluster
+from teuthology.config import config
+from teuthology import misc
import subprocess
import pytest
-from ..parallel import parallel
+from teuthology.parallel import parallel
def identity(item, input_set=None, remove=False):
import subprocess
import tempfile
-from ..exceptions import BranchNotFoundError
-from .. import repo_utils
-from .. import parallel
+from teuthology.exceptions import BranchNotFoundError
+from teuthology import repo_utils
+from teuthology import parallel
repo_utils.log.setLevel(logging.WARNING)
import yaml
import json
import fake_archive
-from .. import report
+from teuthology import report
class TestSerializer(object):
import textwrap
-from ..config import config
-from .. import results
-
+from teuthology.config import config
+from teuthology import results
from teuthology import report
from mock import patch, DEFAULT
-from .. import safepath
+from teuthology import safepath
class TestSafepath(object):
def test_simple(self):
-from ..schedule import build_config
-from ..misc import get_user
+from teuthology.schedule import build_config
+from teuthology.misc import get_user
class TestSchedule(object):
from mock import patch, Mock
import teuthology.lock.util
-from .. import provision
+from teuthology import provision
class TestVpsOsVersionParamCheck(object):
from mock import patch, Mock, MagicMock
from datetime import datetime, timedelta
-from .. import worker
+from teuthology import worker
-from ..contextutil import MaxWhileTries
+from teuthology.contextutil import MaxWhileTries
class TestWorker(object):
from datetime import datetime
from teuthology import setup_log_file, install_except_hook
-from . import beanstalk
-from . import report
-from . import safepath
-from .config import config as teuth_config
-from .config import set_config_attr
-from .exceptions import BranchNotFoundError, SkipJob, MaxWhileTries
-from .kill import kill_job
-from .repo_utils import fetch_qa_suite, fetch_teuthology
+from teuthology import beanstalk
+from teuthology import report
+from teuthology import safepath
+from teuthology.config import config as teuth_config
+from teuthology.config import set_config_attr
+from teuthology.exceptions import BranchNotFoundError, SkipJob, MaxWhileTries
+from teuthology.kill import kill_job
+from teuthology.repo_utils import fetch_qa_suite, fetch_teuthology
log = logging.getLogger(__name__)
start_time = datetime.utcnow()