Beispiel #1
0
def gen_host_files(cf, tmpldirs, workdir, force):
    """
    Generate files for libvirt host.

    :param cf: An instance of miniascape.config.ConfFiles
    :param tmpldirs: Template search paths
    :param workdir: Working dir to save generated XML files
    :param force: Existing ones may be overwritten if True
    """
    conf = cf.load_host_confs()
    gen_vnet_files(cf, tmpldirs, workdir, force)

    conf["timestamp"] = G.timestamp()
    T.compile_conf_templates(conf, tmpldirs, workdir, "host_templates")
Beispiel #2
0
def gen_host_files(cf, tmpldirs, workdir, force):
    """
    Generate files for libvirt host.

    :param cf: An instance of miniascape.config.ConfFiles
    :param tmpldirs: Template search paths
    :param workdir: Working dir to save generated XML files
    :param force: Existing ones may be overwritten if True
    """
    conf = cf.load_host_confs()
    gen_vnet_files(cf, tmpldirs, workdir, force)

    conf["timestamp"] = G.timestamp()
    miniascape.template.compile_conf_templates(conf, tmpldirs, workdir,
                                               "host_templates")
Beispiel #3
0
def _add_special_confs(conf):
    """
    :param conf: Configurations :: dict

    >>> conf = _add_special_confs(dict())

    >>> assert "miniascape" in conf, str(conf)
    >>> assert "build" in conf["miniascape"], str(conf)
    >>> assert "user" in conf["miniascape"]["build"], str(conf)
    >>> assert "host" in conf["miniascape"]["build"], str(conf)
    >>> assert "time" in conf["miniascape"]["build"], str(conf)
    >>> assert "builder" in conf["miniascape"], str(conf)
    """
    diff = dict(build=dict(user=U.get_username(),
                           host=U.get_hostname(fqdn=False),
                           time=G.timestamp("%Y%m%d_%H%M%S")))
    diff["builder"] = "{user}s@{host}".format(**diff["build"])
    conf["miniascape"] = diff

    return conf
Beispiel #4
0
def _add_special_confs(conf):
    """
    :param conf: Configurations :: dict

    >>> conf = _add_special_confs(dict())

    >>> assert "miniascape" in conf, str(conf)
    >>> assert "build" in conf["miniascape"], str(conf)
    >>> assert "user" in conf["miniascape"]["build"], str(conf)
    >>> assert "host" in conf["miniascape"]["build"], str(conf)
    >>> assert "time" in conf["miniascape"]["build"], str(conf)
    >>> assert "builder" in conf["miniascape"], str(conf)
    """
    diff = dict(build=dict(user=U.get_username(),
                           host=U.get_hostname(fqdn=False),
                           time=G.timestamp("%Y%m%d_%H%M%S")))
    diff["builder"] = "{user}s@{host}".format(**diff["build"])
    conf["miniascape"] = diff

    return conf
Beispiel #5
0
def gen_all(cf, tmpldirs, workdir):
    """
    Generate files to build VM for all VMs.

    :param conffiles: config.ConfFiles object
    :param tmpldirs: Template dirs :: [path]
    :param workdir: Working top dir
    """
    guests = cf.list_guest_names()

    for name in guests:
        gen_guest_files(name, cf, tmpldirs, _workdir(workdir, name))

    conf = cf.load_host_confs()
    conf["guests_build_datadir"] = G.M_GUESTS_BUILDDATA_TOPDIR
    conf["timestamp"] = G.timestamp()
    conf["distdata"] = list(mk_distdata_g(guests))

    logging.debug("Generating guests common build aux files...")
    T.compile_conf_templates(conf, tmpldirs,
                             _guests_workdir(workdir), "guests_templates")
Beispiel #6
0
def gen_all(cf, tmpldirs, workdir):
    """
    Generate files to build VM for all VMs.

    :param conffiles: config.ConfFiles object
    :param tmpldirs: Template dirs :: [path]
    :param workdir: Working top dir
    """
    guests = cf.list_guest_names()

    for name in guests:
        gen_guest_files(name, cf, tmpldirs, _workdir(workdir, name))

    conf = cf.load_host_confs()
    conf["guests_build_datadir"] = G.M_GUESTS_BUILDDATA_TOPDIR
    conf["timestamp"] = G.timestamp()
    conf["distdata"] = list(mk_distdata_g(guests))

    logging.debug("Generating common aux files...")
    miniascape.template.compile_conf_templates(conf, tmpldirs,
                                               _guests_workdir(workdir),
                                               "guests_templates")
Beispiel #7
0
import os
import subprocess
import sys

curdir = os.getcwd()
sys.path.append(curdir)

from miniascape.globals import PACKAGE, VERSION, M_CONF_TOPDIR
from miniascape.utils import concat


# For daily snapshot versioning mode:
if os.environ.get("_SNAPSHOT_BUILD", None) is not None:
    from miniascape.globals import timestamp
    VERSION = VERSION + timestamp(".%Y%m%d")


def list_files(tdir):
    return [f for f in glob(os.path.join(tdir, '*')) if os.path.isfile(f)]


def list_data_files_g(prefix, srcdir, offset=None):
    for root, dirs, _files in os.walk(srcdir):
        for d in dirs:
            reldir = os.path.join(root, d)
            files = list_files(reldir)

            if not files:
                continue