]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tests: drop buildpackages.py 13331/head
authorNathan Cutler <ncutler@suse.com>
Wed, 8 Feb 2017 20:23:54 +0000 (21:23 +0100)
committerNathan Cutler <ncutler@suse.com>
Thu, 9 Feb 2017 12:04:30 +0000 (13:04 +0100)
The buildpackages suite has been moved to teuthology. This cleans up a file
that was left behind by https://github.com/ceph/ceph/pull/13297

Fixes: http://tracker.ceph.com/issues/18846
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit 6b7443fb50c117ee7f20d53bbc7530bb0eb7ebd5)

qa/tasks/buildpackages.py [deleted file]

diff --git a/qa/tasks/buildpackages.py b/qa/tasks/buildpackages.py
deleted file mode 100644 (file)
index b7d6cee..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-"""
-Build ceph packages
-
-Unit tests:
-
-py.test -v -s tests/test_buildpackages.py
-
-Integration tests:
-
-teuthology-openstack --verbose --key-name myself --key-filename ~/Downloads/myself --ceph infernalis --suite teuthology/buildpackages
-
-"""
-import copy
-import logging
-import os
-import types
-from teuthology import packaging
-from teuthology import misc
-from teuthology.config import config as teuth_config
-from teuthology.openstack import OpenStack
-
-log = logging.getLogger(__name__)
-
-class LocalGitbuilderProject(packaging.GitbuilderProject):
-
-    def __init__(self):
-        pass
-
-
-def get_pkg_type(os_type):
-    if os_type in ('centos', 'fedora', 'opensuse', 'rhel', 'sles'):
-        return 'rpm'
-    else:
-        return 'deb'
-
-def apply_overrides(ctx, config):
-    if config is None:
-        config = {}
-    else:
-        config = copy.deepcopy(config)
-
-    assert isinstance(config, dict), \
-        "task install only supports a dictionary for configuration"
-
-    project, = config.get('project', 'ceph'),
-    log.debug('project %s' % project)
-    overrides = ctx.config.get('overrides')
-    if overrides:
-        install_overrides = overrides.get('install', {})
-        misc.deep_merge(config, install_overrides.get(project, {}))
-    return config
-
-def get_config_install(ctx, config):
-    config = apply_overrides(ctx, config)
-    log.debug('install config %s' % config)
-    return [(config.get('flavor', 'basic'),
-             config.get('tag', ''),
-             config.get('branch', ''),
-             config.get('sha1'))]
-
-def get_config_install_upgrade(ctx, config):
-    log.debug('install.upgrade config before override %s' % config)
-    configs = []
-    for (role, role_config) in config.iteritems():
-        if role_config is None:
-            role_config = {}
-        o = apply_overrides(ctx, role_config)
-
-        log.debug('install.upgrade config ' + str(role_config) +
-                  ' and with overrides ' + str(o))
-        # for install.upgrade overrides are actually defaults
-        configs.append((o.get('flavor', 'basic'),
-                        role_config.get('tag', o.get('tag', '')),
-                        role_config.get('branch', o.get('branch', '')),
-                        role_config.get('sha1', o.get('sha1'))))
-    return configs
-
-GET_CONFIG_FUNCTIONS = {
-    'install': get_config_install,
-    'install.upgrade': get_config_install_upgrade,
-}
-
-def lookup_configs(ctx, node):
-    configs = []
-    if type(node) is types.ListType:
-        for leaf in node:
-            configs.extend(lookup_configs(ctx, leaf))
-    elif type(node) is types.DictType:
-        for (key, value) in node.iteritems():
-            if key in ('install', 'install.upgrade'):
-                configs.extend(GET_CONFIG_FUNCTIONS[key](ctx, value))
-            elif key in ('overrides',):
-                pass
-            else:
-                configs.extend(lookup_configs(ctx, value))
-    return configs
-
-def get_sha1(ref):
-    url = teuth_config.get_ceph_git_url()
-    ls_remote = misc.sh("git ls-remote " + url + " " + ref)
-    return ls_remote.split()[0]
-
-def task(ctx, config):
-    """
-    Build Ceph packages. This task will automagically be run
-    before the task that need to install packages (this is taken
-    care of by the internal teuthology task).
-
-    The config should be as follows:
-
-    buildpackages:
-      good_machine:
-        disk: 40 # GB
-        ram: 48000 # MB
-        cpus: 16
-      min_machine:
-        disk: 40 # GB
-        ram: 8000 # MB
-        cpus: 1
-
-    example:
-
-    tasks:
-    - buildpackages:
-        good_machine:
-          disk: 40 # GB
-          ram: 15000 # MB
-          cpus: 16
-        min_machine:
-          disk: 40 # GB
-          ram: 8000 # MB
-          cpus: 1
-    - install:
-
-    When a buildpackages task is already included, the values it contains can be
-    overriden with:
-
-    overrides:
-      buildpackages:
-        good_machine:
-          disk: 20 # GB
-          ram: 2000 # MB
-          cpus: 2
-        min_machine:
-          disk: 10 # GB
-          ram: 1000 # MB
-          cpus: 1
-
-    """
-    log.info('Beginning buildpackages...')
-    if config is None:
-        config = {}
-    assert isinstance(config, dict), \
-        'task only accepts a dict for config not ' + str(config)
-    overrides = ctx.config.get('overrides', {})
-    misc.deep_merge(config, overrides.get('buildpackages', {}))
-    d = os.path.join(os.path.dirname(__file__), 'buildpackages')
-    os_type = misc.get_distro(ctx)
-    os_version = misc.get_distro_version(ctx)
-    arch = ctx.config.get('arch', OpenStack().get_default_arch())
-    dist = LocalGitbuilderProject()._get_distro(distro=os_type,
-                                                version=os_version)
-    pkg_type = get_pkg_type(os_type)
-    misc.sh(
-        "flock --close /tmp/buildpackages " +
-        "make -C " + d + " " + os.environ['HOME'] + "/.ssh_agent")
-    for (flavor, tag, branch, sha1) in lookup_configs(ctx, ctx.config):
-        if tag:
-            sha1 = get_sha1(tag)
-        elif branch:
-            sha1 = get_sha1(branch)
-        log.info("building flavor = " + flavor + "," +
-                 " tag = " + tag + "," +
-                 " branch = " + branch + "," +
-                 " sha1 = " + sha1)
-        target = ('ceph-' +
-                  pkg_type + '-' +
-                  dist + '-' +
-                  arch + '-' +
-                  flavor + '-' +
-                  sha1)
-        openstack = OpenStack()
-        openstack.set_provider()
-        if openstack.provider == 'ovh':
-            select = '^(vps|hg)-.*ssd'
-        else:
-            select = ''
-        network = openstack.net()
-        if network != "":
-            network = " OPENSTACK_NETWORK='" + network + "' "
-        openstack.image(os_type, os_version, arch) # create if it does not exist
-        build_flavor = openstack.flavor_range(
-            config['min_machine'], config['good_machine'], arch, select)
-        default_arch = openstack.get_default_arch()
-        http_flavor = openstack.flavor({
-            'disk': 30, # GB
-            'ram': 1024, # MB
-            'cpus': 1,
-        }, default_arch, select)
-        lock = "/tmp/buildpackages-" + sha1 + "-" + os_type + "-" + os_version
-        cmd = (". " + os.environ['HOME'] + "/.ssh_agent ; " +
-               " flock --close " + lock +
-               " make -C " + d +
-               network +
-               " CEPH_GIT_URL=" + teuth_config.get_ceph_git_url() +
-               " CEPH_PKG_TYPE=" + pkg_type +
-               " CEPH_OS_TYPE=" + os_type +
-               " CEPH_OS_VERSION=" + os_version +
-               " CEPH_DIST=" + dist +
-               " CEPH_ARCH=" + arch +
-               " CEPH_SHA1=" + sha1 +
-               " CEPH_TAG=" + tag +
-               " CEPH_BRANCH=" + branch +
-               " CEPH_FLAVOR=" + flavor +
-               " BUILD_FLAVOR=" + build_flavor +
-               " HTTP_FLAVOR=" + http_flavor +
-               " HTTP_ARCH=" + default_arch +
-               " " + target +
-               " ")
-        log.info("buildpackages: " + cmd)
-        misc.sh(cmd)
-    teuth_config.gitbuilder_host = openstack.get_ip('packages-repository', '')
-    log.info('Finished buildpackages')