Saltstack module genesis 详解

genesis.mksls

Convert an installation file/script to an SLS file. Currently supports
``kickstart``, ``preseed``, and ``autoyast``.

CLI Examples:

    salt <minion> genesis.mksls kickstart /path/to/kickstart.cfg
    salt <minion> genesis.mksls kickstart /path/to/kickstart.cfg /path/to/dest.sls

New in version Beryllium

genesis.avail_platforms

Return which platforms are available

CLI Example:

    salt myminion genesis.avail_platforms

genesis.ldd_deps

Recurse through a set of dependencies reported by ``ldd``, to find
associated dependencies.

Please note that this does not necessarily resolve all (non-package)
dependencies for a file; but it does help.

CLI Example:

    salt myminion genesis.ldd_deps bash
    salt myminion genesis.ldd_deps /bin/bash

genesis.bootstrap

Create an image for a specific platform.

Please note that this function *MUST* be run as root, as images that are
created make files belonging to root.

platform
    Which platform to use to create the image. Currently supported platforms
    are rpm, deb and pacman.

root
    Local path to create the root of the image filesystem.

img_format
    Which format to create the image in. By default, just copies files into
    a directory on the local filesystem (``dir``). Future support will exist
    for ``sparse``.

fs_format
    When using a non-``dir`` ``img_format``, which filesystem to format the
    image to. By default, ``ext2``.

fs_opts
    When using a non-``dir`` ``img_format``, a dict of opts may be
    specified.

arch
    Architecture to install packages for, if supported by the underlying
    bootstrap tool. Currently only used for deb.

flavor
    Which flavor of operating system to install. This correlates to a
    specific directory on the distribution repositories. For instance,
    ``wheezy`` on Debian.

repo_url
    Mainly important for Debian-based repos. Base URL for the mirror to
    install from. (e.x.: http://ftp.debian.org/debian/)

static_qemu
    Local path to the static qemu binary required for this arch.
    (e.x.: /usr/bin/qemu-amd64-static)

pkg_confs
    The location of the conf files to copy into the image, to point the
    installer to the right repos and configuration.

img_size
    If img_format is not ``dir``, then the size of the image must be
    specified.

mount_dir
    If img_format is not ``dir``, then the image must be mounted somewhere.
    If the ``mount_dir`` is not specified, then it will be created at
    ``/opt/salt-genesis.<random_uuid>``. This directory will be unmounted
    and removed when the process is finished.

pkg_cache
    This points to a directory containing a cache of package files to be
    copied to the image. It does not need to be specified.

pkgs
    A list of packages to be installed on this image. For RedHat, this
    will include ``yum``, ``centos-release`` and ``iputils`` by default.

exclude_pkgs
    A list of packages to be excluded. If you do not want to install the
    defaults, you need to include them in this list.

epel_url
    The URL to download the EPEL release package from.

CLI Examples:

    salt myminion genesis.bootstrap pacman /root/arch
    salt myminion genesis.bootstrap rpm /root/redhat
    salt myminion genesis.bootstrap deb /root/wheezy arch=amd64             flavor=wheezy static_qemu=/usr/bin/qemu-x86_64-static

genesis.unpack

Unpack an image into a directory structure

CLI Example:

    salt myminion genesis.unpack centos /root/centos

genesis.pack

Pack up a directory structure, into a specific format

CLI Examples:

    salt myminion genesis.pack centos /root/centos
    salt myminion genesis.pack centos /root/centos pack_format=‘tar‘

相关推荐